Storage class memory (SCM) is physical memory space inserted as close to a computer‘s central processing unit as possible. Computers have used different forms of data storage and processing, including DRAM and NVMe, and storage class memory is one of the newer technologies for processing data in memory. Dynamic random access memory (DRAM) in a computer is extremely fast data processing, but it’s expensive to add and can require extra CPUs. Also, many applications need large amounts of memory to run effectively, particularly artificial intelligence platforms and Internet of Things devices.
Storage class memory provides more memory for the applications that require greater compute performance. Because the hardware is inserted as close as possible to the CPU, the data has less distance to travel, and it can be processed quickly. Unlike some forms of data storage, SCM can process data in bytes rather than only blocks. This makes it more flexible for processing certain applications.
Storage class memory is also persistent, meaning that the data remains in memory for a designated period of time, even if the server shuts down. For that reason, it’s sometimes referred to as persistent memory (PMEM).
SCM vs. DRAM
Latency: Dynamic random access memory is attractive because it’s very fast. Though storage class memory has slightly higher latency, it also has more bandwidth to process larger sets of data, such as applications that require more computing power.
Cost: Storage class memory is less expensive than DRAM, which can cost quite a lot to add to what the computer already has in its main memory.
Storage: SCM is persistent memory, so it keeps data in memory for a set length of time. It also isn’t volatile. DRAM, on the other hand, is volatile and typically only holds data for a short time.
Non-Volatile Memory Express (NVMe) technology provides rapid access to stored data for applications that require it. It accesses memory directly rather than making a request to the operating system. NVMe-oF (Over Fabrics) extends that data processing to an entire network of fibre or Ethernet. NVMe typically uses flash memory, while SCM does not use flash. But both technologies allow large amounts of data to be processed in memory.