If you ask any two people in the computing industry to define the term “Storage Class Memory” you’re likely to get three or more answers. That’s because the term isn’t well defined anywhere.
Some people use it for emerging memory technologies like MRAM, ReRAM, FRAM, and PCM/XPoint. Others include NAND flash, even in the form of high-performance SSDs. Is either of these definitions correct? In fact, they are not incorrect, because the term has never been precisely defined. In fact, that could be the reason that Intel steers away from using the term, and calls its 3D XPoint/Optane products “Persistent Memory” instead.
IBM did produce the following definition, which I have used in a few of my conference presentations.:
Storage-class memory (SCM) combines the benefits of a solid-state memory, such as high performance and robustness, with the archival capabilities and low cost of conventional hard-disk magnetic storage.
This definition spells out four attributes: Performance, Robustness, Persistence, and Low Cost. It doesn’t really say how low the cost is, nor how high the speed, so this definition could be a lot more specific.
Different folks’ interpretations lead to the current state of confusion. The Memory Guy has to admit some guilt in this direction. I have been explaining SCM as memory-speed storage for quite some time. I mistakenly thought that IBM, who coined the term, was paving a path for the day when eventually DRAM was replaced by MRAM or some other nonvolatile (persistent) technology. I thought that the company had a vision that would gently guide its internal software developers in a direction that would ultimately cause IBM’s code to perform better in the systems of tomorrow.
I thought wrong.
The fact that all kinds of people claim to be shipping “Storage Class Memory”, and the fact that each product is something different, led me to do a little more digging to find an “Official” definition that was perhaps more precise than IBM’s definition above. Why not start with the source? I asked a colleague at IBM, who pointed me to the person he believed to have coined the term, Dr. Robert Morris, who was the lab director at IBM’s Almaden Research Labs in San Jose at the time. Morris has since retired from IBM and is now a professor at the National University of Singapore.
Dr. Morris was more than cooperative. He sent me a message explaining that:
I think I coined the term in a meeting in Almaden in early 2000s. But not long afterwards we were in a meeting with Stuart Parkin, and he said “we really should be calling it memory class storage!!” I think Stuart was right, because we were envisioning memory kinds of devices to replace the then-current storage devices which were hard drives.
Stuart Parkin, who is now also retired from IBM, was the researcher behind the Racetrack Memory, an exotic form of MRAM which some readers may remember from a decade ago. Before that he invented the giant magnetoresistive (GMR) recording head, a breakthrough that pushed magnetic recording, and HDD capacities, several generations beyond what had been thought possible. He is now the director of the Max Planck Institute of Microstructure Physics in Halle and professor at the Institute of Physics of the Martin-Luther-University Halle-Wittenberg. His “Memory Class Storage” term is currently being used by Bill Gervasi of Nantero to promote that company’s carbon nanotube NRAM.
In a subsequent message Dr. Morris explained the motivation for creating the term:
We at IBM had invented the HDD and it was more that we saw that the density curves of HDDs were turning over after nearly 50 years and we realized that much of storage would become solid state. That helped us to decide to divest HDDs, which turned out to be a good business decision. We in IBM Research were exploring many forms of low cost solid state storage, all “memory technologies” rather than spinning disks or other mechanical technologies (although we still saw a great future for tape). There was a need for them to be low cost and might not need to be as fast as DRAM.
I was saying in our GTOs [Global Technology Outlook] that storage would, for a very long time, be just solid state + tape, that HDDs would be squeezed out. Many of us had great fondness for HDDs and we expected (and it has so turned out) that there would be an ongoing but declining role for them in servers. So I started calling solid state storage “Storage Class Memory”, which some people in the lab and industry picked up on.
Stuart as always had a wonderfully irreverent way of looking at things, and he had already started racetrack. I moved on to other pursuits in IBM in 2005, but I kept hearing from colleagues about SCM, and we all agreed that it would require changes in software, OSs and DBs, although those were slow to happen.
In a nutshell, it was a term coined at IBM Almaden to name what would happen as chips replaced HDDs in computing systems. A NAND flash SSD, in fact, any NAND flash SSD, certainly satisfies that definition! The term was created to help refocus the IBM researchers whose HDD projects were halted when IBM sold its HDD business to Hitachi.
So now we know!
And, it seems, that the term covers almost anything that uses nonvolatile chips for storage instead of an HDD.
I should explain that the chart at the top of this post is from an SCM presentation that IBM’s Rich Freitas shared at the 2009 Flash Memory Summit. If you look carefully (click the picture to enlarge it) you will notice that it is the basis for the Memory/Storage Hierarchy chart that I frequently use in my own presentations! A couple of the Rich Freitas slides even detail Dr. Parkin’s Racetrack Memory.
One thought on “What Exactly IS “Storage Class Memory”?”
Comments are closed.