Slashdot Mirror


Phase Change Memory vs. Storage As We Know It

storagedude writes "Access to data isn't keeping pace with advances in CPU and memory, creating an I/O bottleneck that threatens to make data storage irrelevant. The author sees phase change memory as a technology that could unseat storage networks. From the article: 'While years away, PCM has the potential to move data storage and storage networks from the center of data centers to the periphery. I/O would only have to be conducted at the start and end of the day, with data parked in memory while applications are running. In short, disk becomes the new tape."

30 of 130 comments (clear)

  1. Re:CD-R? by QuoteMstr · · Score: 4, Insightful

    Phase change memory is nothing like A CD-R. This stuff has the density of a hard drive, and the speed is very close to DRAM. It's non-volatile to boot. It's a serious contender to become universal memory.

    Imagine how different operating systems and programs would be if we could make RAM non-volatile.

  2. Re:CD-R? by ceoyoyo · · Score: 2, Insightful

    "Imagine how different operating systems and programs would be if we could make RAM non-volatile."

    Pretty much like they are now? Does anyone actually cold boot their machines anymore?

    Now, if RAM were as cheap as hard disks....

  3. Re:CD-R? by NeuralAbyss · · Score: 3, Interesting

    Non-volatile? Like all the other "non-volatile RAM, instant-on" technologies that have gone before? MRAM, SRAM, Holographic storage... and now phase-change memory.

    I've heard this marketing bullshit before. Call me when it's not vapourware.

  4. Re:We're almost there already by mangobrain · · Score: 2, Informative

    You may be able to "load the whole OS into memory", but that's missing the point, which is the data people work with once the OS is up and running. If that 4GB was enough to store all the data for the entirety of any conceivable session, on servers as well as desktops, why would anyone ever buy a hard drive larger than that? Hard drives would probably already be obsolete. I bet you own at least one hard drive larger than 4GB - and as the type of person who comments on slashdot, I bet more than 4GB of that hard drive is currently in use.

    TFA is talking about replacing mass storage with PCM. The summary's usage of the phrase "storage networks" should also have been a hint.

  5. Why the vapourware tag? by Areyoukiddingme · · Score: 4, Insightful

    How soon we forget. The article is speculative, sure, but the hardware is not only real, it's in mass production by Samsung: http://hardware.slashdot.org/article.pl?sid=09/09/28/1959212

    Just looking at the numbers, the article is a bit overblown. Phase change memory will first be a good replacement for flash memory, not DRAM. It's still considerably slower than DRAM. But it eliminates the erasable-by-page-only problem that has plagued SSDs, especially Intel SSDs, and the article does mention SSDs as a bright spot in the storage landscape. PCM should make serious inroads into SSDs very quickly because manufacturers can eliminate a whole blob of difficult code. With Samsung's manufacturing muscle behind it, prices per megabyte should be reasonable right out of the gate and as Samsung gets better at it, prices should plummet even faster than flash memory did.

    The I/O path between storage and the CPU will get an upgrade, and it could very well be driven by PCM. Flash memory SSDs are already very fast and PCM is claimed to be 4X faster. That saturates the existing I/O paths (barring 16-lane PCIe cards sitting next to the video card in an identical slot). Magnetic hard drives haven't come anywhere close to saturation. Development concentrated for a decade (or two?) on increasing capacity, for which we are thankful, but the successes in capacity development have outrun improvements in I/O speed. In turn, that meant that video cards were the driver behind I/O development, not storage. Now that there's a storage tech in the same throughput class as a video card, I expect there to be a great deal of I/O standards development to deal with it.

    But hard drives == tape? Not for a long long time. The development concentration on increasing capacity will pay off for many years to come. PCM arrays with capacities matching modern hard drives (2 TB in a 3.5" half height case. Unreal!) are undoubtedly a long ways off.

    Hopefully there are no lurking patent trolls under the PCM bridge...

    1. Re:Why the vapourware tag? by maxume · · Score: 2, Insightful

      The only thing plaguing Intel SSDs is price. And I don't think that particular aspect makes Intel real sad.

      --
      Nerd rage is the funniest rage.
    2. Re:Why the vapourware tag? by drinkypoo · · Score: 2, Interesting

      It probably got tagged vaporware because where the fuck is my system with MRAM for main memory? MRAM is a shipping product, too, but it was "supposed" to be in consumer devices before now, as main System RAM.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    3. Re:Why the vapourware tag? by Ropati · · Score: 2, Insightful

      Kevin has this right, what an obtuse article.

      Henry Newman is talking about PC storage not enterprise storage. He discusses all disk IO performance in MBs/sec, meaning sequential. When in reality, very little (disk level) IO for the enterprise is sequential. The numbers here are flawed as is the characterization of storage.

      Storage is where we keep our data. Keeping data is a central requirement of information technology. It will never be a peripheral feature.

      Presently the real IO bottleneck is the spinning platter and the requirements of getting a read/write head to the right place quickly. Newer solid state storage devices will alleviate this bottleneck in the very near future. Perhaps PCM is the solution, but I for one will wait for a GB/$ threshold at which time the winning solid state storage will be available to everyone.

      Mr. Newman talks about inter-computer bus speeds as not keeping up with CPUs and memory, when in fact they keeping up. The place where data transport still can't keep up, is serially on a single transport, (wire or optical). Networked (switchable) data needs to be serial single transport for a number of obvious reasons. Like the platter, this is a physical limitation and not easily surmounted.

      If and when we get +10GB/sec consumer networks, storage networks (transporting SCSI blocks) will become a thing of the past as we pass and store all our data in an application aware protocol.

      --
      machinator omnis sine licentia
  6. Re:CD-R? by mangobrain · · Score: 3, Insightful

    The speed of PCM would need to closely match - or exceed - the speed of DRAM for people to adopt it as a replacement, so I doubt the model would quite be one of non-volatile RAM. I imagine it would be more like having a ridiculously fast SSD.

    Given the propensity of programs to corrupt and/or leak memory, I'm not sure I'd want my system memory to be non-volatile. The dividing line between system memory and mass storage allows for robustness against errors which, without the ability to reboot, wipe the slate clean and load up the last saved data, might end up being catastrophic. It'd be nice if no program ever had such errors, but this is reality. ;)

    If nothing else, programs will always need the ability to serialise data into platform-agnostic formats, unless you expect the world to standardise on one platform or stop sharing data.

  7. The 70's called. They want their I/O methods back. by fahrbot-bot · · Score: 4, Informative
    From TFA:

    There is no method to provide hints about file usage; for example, you might want to have a hint that says the file will be read sequentially, or a hint that a file might be over written. There are lots of possible hints, but there is no standard way of providing file hints...

    Ya, we had that back in the stone-age and Multics would have been poster-child for this type of thinking, but it was a *bitch* and made portability problematic. I think VMS has some of this type of capability with their Files 11 support - any VMS people care to comment. Unix (and most current OS) sees everything as a stream of bytes, in most cases, and this is much simpler.

    An OS cannot be everything to all people all the time...

    --
    It must have been something you assimilated. . . .
  8. Numonyx will probably make it happen by AllynM · · Score: 4, Informative

    Numonyx announced some good advances in PCM a few months back:

    http://www.pcper.com/comments.php?nid=7930

    Allyn Malventano
    Storage Editor, PC Perspective

    --
    this sig was brought to you by the letter /.
  9. This "author' is pretty much irrelevant by Zero__Kelvin · · Score: 4, Insightful

    "I will assume that this translates to performance (which it does not) ..."

    I was tempted to stop reading right there, but I kept reading. While his point about POSIX improvements is not bad, the rest of the article is ridiculous. It essentially amounts to: Imagine if we had pretty much exactly what we have today, but we used different words to describe the components of the system! We already have slower external storage (Networked drives / SANs, local hard disk), and incremental means of making data available locally more quickly by degrees (Local Memory, L2 Cache, L1 Cache, etc.) We already get that at the expense of its ability to be accessed by other CPUs a further distance away. It turns out I probably should have stopped reading when I first got the feeling I should when reading the first sentence in the article: "Data storage has become the weak link in enterprise applications, and without a concerted effort on the part of storage vendors, the technology is in danger of becoming irrelevant." I can't wait to answer with that one next time and watch jaws drop:

    Boss: Where and how are we storing our database, how are do we ensure database availability, and how are we handling backups?
    me: You're behind the times Boss. That is now irrelevant!

    Yeah. That's the ticket ...

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  10. fadvise by Anonymous Coward · · Score: 2, Informative

    fadvise and FADV_SEQUENTIAL exist in posix. Not sure how well different oses like Linux or bsd use the hints -- I know that some of it's been broken because of bad past implementations.

  11. Re:We're almost there already by Paradigm_Complex · · Score: 4, Interesting

    When you can pick up 4GB of RAM memory for a song, why not load the whole OS into memory?

    For what it's worth, you can do this with most Linux distros if you know what you're doing. Linux is pretty well designed to act from a ramdisk - you can set it up to copy the system files into RAM on boot and continue from there all in RAM. I've been doing this on my Debian (stable) boxes when I realized I couldn't afford a decent SSD and wanted a super-responsive system. Firefox (well, Iceweasel) starts cold in about two seconds on an eeepc when set up this way, and it starts cold virtually instantly on my C2D box. In fact, everything seems instant on my C2D box. It's really snazzy.

    As long as you don't suffer a system crash, you can unload it back to disk when you're done.

    Depending on what you're doing, even that may not be an issue. If you're doing massive database stuff, then yes. However, if your disk I/O isn't all heavy you can set a daemon up to automatically mirror changes made in the RAMdisk to the "hard" copy. From your POV everything is instant, but any crash will only result in the loss of data from however far behind the harddrive copy is lagging. Personally, what little I do need saved is simply text files - my notes in class, my homework, etc, and so I can just write to a partition on the harddrive that isn't loaded to RAM. It doesn't suffer at all from the harddrive I/O - I can't really type faster then a harddrive can write.

    tl;dr: It's perfectly feasible for (some) people to do as you've described, and it works quite nicely. It's not really necessary to wait for this perpetually will-be-released-in-5-to-10-years technology, it's available today.

    --
    "A witty saying proves nothing." - Voltaire
  12. Re:Names by Nikker · · Score: 3, Funny

    You are a god amongst men but you waste all your knowledge upon this tribe.

    --
    A loop, by its nature, continues. If that didn't make sense, start reading this sentence again.
  13. Re:The 70's called. They want their I/O methods ba by Guy+Harris · · Score: 4, Informative

    From TFA:

    There is no method to provide hints about file usage; for example, you might want to have a hint that says the file will be read sequentially, or a hint that a file might be over written. There are lots of possible hints, but there is no standard way of providing file hints...

    Ya, we had that back in the stone-age and Multics would have been poster-child for this type of thinking, but it was a *bitch* and made portability problematic.

    No, Multics would have been the poster child for "there's no I/O, there's just paging" - file system I/O was done in Multics by mapping the file into your address space and referring to it as if it were memory. ("Multi-segment files" were just directories with a bunch of real files in them, each no larger than the maximum size of a segment. I/O was done through read/write calls, but those were implemented by mapping the file, or the segments of a multi-segment file, into the address space and copying to/from the mapped segment.)

    I think VMS has some of this type of capability with their Files 11 support - any VMS people care to comment. Unix (and most current OS) sees everything as a stream of bytes, in most cases, and this is much simpler.

    "Seeing everything as a stream of bytes" is orthogonal to "a hint that the file will be read sequentially". See, for example, fadvise() in Linux, or some of the FILE_FLAG_ options in CreateFile() in Windows (Windows being another OS that shows a file as a seekable stream of bytes).

  14. Re:CD-R? by _merlin · · Score: 2, Informative

    IBM AS/400 worked like that - the TIMI virtual machine maps all storage into a flat 128-bit address space.

  15. Re:We're almost there already by mysidia · · Score: 3, Interesting

    Power failure happens.

    That's what journaling is for.

    Load the system image into RAM at boot from the "image source".

    Journal changes to user datafiles.

    When a certain number of transactions have occured, commit them back to the main disk.

    If the system crashes... load the "boot volume" back up, replay the journal.

    No need to journal changes to the "system files" file system (that isn't supposed to change anyways). If a system update is to be applied, the signed update package gets loaded into the journalling area, and rolled into the main image at system boot.

    Another possibility would be to borrow a technology from RAID controller manufacturers... and have a battery backup for the RAM in the form of a NiMH battery pack. If power is lost, upon system boot, the RAM image will be restored to the same state it was in as of the unexpected shutdown/crash.

    Avoid clearing the RAM region used for file storage at boot also .

  16. Not really by oGMo · · Score: 4, Insightful

    Are you retarded? You really think nothing would be different with non volatile RAM? EVERYTHING would be so much faster.

    First off most non-volatile RAM isn't nearly as fast as DRAM. So let's assume you mean "what if everything were in DRAM, and that was non-volatile, it would be so much faster". Well, again not really. Faster, but there are far more bottlenecks than just disk I/O. You can go buy ramdisks now, or you could make them in your current RAM, copy the OS there, and run off that after you boot. Go try it. Firefox isn't going to render quicker, your mail isn't going to load any faster, and youtube isn't going to lag any less. If you work with large photos, most software is already going to exhaust your RAM, so (given you have sufficient quantities) you're already not losing anything.

    In short, because of modern hard disk and OS caching, the ridiculous quantities of RAM these days, and a current reliance on the network for most tasks, a pure ramdisk system isn't likely to be that much better for most people. If you put a large database or maybe compile there, you would see improvement. But that's not common for most people.

    --

    Don't think of it as a flame---it's more like an argument that does 3d6 fire damage

    1. Re:Not really by StarsAreAlsoFire · · Score: 5, Interesting

      "Faster, but there are far more bottlenecks than just disk I/O."

      Generally, I disagree with the statement as written. I would say that there are other LIMITS. Not bottlenecks. Although for something like video encoding you could easily turn things around and say 'Look! Your hard-drive is bottlenecked by your encoder!'. Yeah yeah. So I guess I agree more than I want to admit.

      Almost by definition, there's always going to be a bottleneck somewhere in your system: the chances of ALL of your PC's components working at *exactly* 100% of their capacity is pretty close to zero. And that's for a particular task. Randomize the task and it all goes to hell. So the question we are discussing is really 'If I remove bottleneck n, how many seconds does it shave of the time to run task x?', averaged over a set of 'common' tasks. But if we made our external drives all as fast as DRAM (or whatever. as above), there would be no other single bottleneck left in the system that you could remove which would give you even a handful of percentage points of improvement. Except maybe un-installing Outlook. Or banning Subversion repositories from your enterprise environment -_-.

      For most components in a PC, you have to square the performance to see a significant performance difference, all else being held equal. Tasks that lag noticeably, and that are not dramatically improved by a simple doubling of disk performance, ( 3.5ms seek, 150MB sustained transfer ) are pretty rare. Video encoding, for instance. Certainly getting more common. But with a good video card and a cheap harddrive, you're getting pretty close if not exceeding maximum write speeds on the drive while doing a CUDA rip.

      I think that if Microsoft had released a little monitor that displayed the cumulative time spent blocked on [Disk|CPU|Graphics|Memory|Network] (a column in Task Manager, for instance. Hint, hint) back in Windows 95, spinning disks would be considered quaint anachronisms by now. Look at how much gamers spend on video cards, for almost no benefit.

      Minute 2 of the Samsung SSD advert: http://www.youtube.com/watch?v=96dWOEa4Djs is pretty interesting, if you haven't seen it yet.

    2. Re:Not really by johncandale · · Score: 2, Informative

      You can go buy ramdisks now, or you could make them in your current RAM, copy the OS there, and run off that after you boot. Go try it. Firefox isn't going to render quicker, ....

      I have a virtual ramdisk now in XP, with a iso that loads onto it at boot. Firefox with all it's extensions and plug-ins are on it. I can tell you with certainly it loads much faster, pretty much instantly, maybe a half second. I don't really have any delays in rendering so I don't know what you are referring to there. Sure most programs are not going to run much faster (most), but they will load a hell of a lot faster. Very helpful if you close and load different stuff. it is so nice to be able to load firefire with speeddial and see 9 differnt websites loaded 10x faster then you can start word.

    3. Re:Not really by mindstrm · · Score: 3, Informative

      Nonsense.

      Certainly "everything" won't be much faster - but we're always after faster storage. I/O is a very common bottleneck. Sticking everything in RAM will make a big difference to a multi-use computer.

      IT really depends on the use-case - given enough ram, and a good caching algorithm, and a simple use-case, maybe it won't help once the cache is primed (say serving static content from a fast webserver). Everything ends up in RAM anyway.

      But running a system from a fast SSD, or even from a ramdisk, as you say, leads to significant improvements in usability for general-purpose-ADHD-computer use. Apps load instantly.

      To go back to the SSD example - more and more people are finding an SSD for a system drive makes things significantly faster, and ram-backed drives DO make databases much faster.

      Sure, it won't make the network faster - and if everyone actually bought *enough* ram for the task at hand, caching would take care of it, but for some reason, you know, most poeple don't.

  17. Re:Plastique explosives plus hard drive by v1 · · Score: 3, Funny

    or just toss your HD in a forge furnace. You should get two phase changes.

    --
    I work for the Department of Redundancy Department.
  18. Re:We're almost there already by davecb · · Score: 2, Informative

    Interestingly, this closely resembles the discussion of the system image used in Xerox PARC Smalltalk....

    --dave

    --
    davecb@spamcop.net
  19. Re:We've heard this forever... by IndigoDarkwolf · · Score: 2, Funny

    Long-term data storage is dead! All hail long-term data storage!

  20. Forgetting the lessons of SANs? by HockeyPuck · · Score: 4, Interesting

    Maybe these guys ought to ask someone that was around in the days BEFORE there were SANs. Managing storage back then absolutely sucked. Every server had it's own internal storage with it's own raid controller OR had to be within 9m (the max distance of LVD SCSI) of a storage array.

    There was no standardization, every OS has it's own volume managers, firmware updates, patches etc etc etc. Plus compare the number of management points when using a SAN vs internal storage. An enterprise would have thousands of servers connecting through a handful of SAN switches to a handful of arrays. Server admins have more important things to do than replace dead hard drives.

    Want to replace a hot spare on a server, what a pain. As you had to understand the volume manager or unique raid controller in that specific server. I personally like how my arrays 'call home' and an HDS/EMC engineer shows up with a new drive, replaces the failed one and walks out the door, without me having to do anything about it.

    Two words: Low Utilization. You'd buy an HP server with two 36GB drives and the OS+APP+data would only require 10GB of space. So you'd have this land locked storage all over the place.

    Moving the storage to the edge? Even if you replace spinning platters with solid state, putting all the data on the edge is a 'bad thing.'

    "But Google does it!"

    Maybe so, but then again they don't run their enterprise based upon Oracle, Exchange, SAP, CIFS/NFS based home directories etc like almost all other enterprises do.

  21. Re:We're almost there already by puto · · Score: 2, Insightful

    You were able to to buy a 10 meg ram drive in the late 1980s and do this, so this is nothing new. You just are.

    --
    The Revolution Will Not Be Televised
  22. Re:We've heard this forever... by TheLink · · Score: 2, Insightful

    Yes, seriously.

    Despite what the article writer thinks, if PCM is that great, the storage manufacturers will just create storage devices that use PCM technology. The other option is to go out of business ;).

    I see lots of "normal" people using external storage drives. These people are far less likely to open up their computer and swap chips on their motherboard.

    Transferring 1TB from my house to my office by hand is faster and more reliable than using my crappy ISP. If the writer thinks storage IO speeds are bad, he should look at the internet speeds in many parts of the world.

    Having your storage on a "drive" makes it easier to upgrade (or even hot-swap), than having it on the motherboard.

    Motherboards that allow you to hot swap memory or CPUs tend to be expensive.

    Also, stuff that plugs into one motherboard can't always be plugged into next year's new technology motherboard.

    Trust me, being able to read the same drive on a totally different computer is something very important.

    By the time you've designed a suitable interface, storage format, protocols and physical connectors for all of that, the stuff that plugs into it might as well be called a drive.

    And whatever you call it, the storage companies will be building it.

    FWIW, I do hope that storage I/O speeds increase dramatically, and very soon. It's already 2010, progress has been rather slow IMO ;).

    --
  23. The SAN argument by symbolset · · Score: 4, Interesting

    The SAN argument is that your storage is so precious it must not be stranded. If you're paying $50K/TB with drives, controllers, FC switches, service, software, support, installation and all that jazz then that's absolutely true. If you're doing something like OpenFiler clusters on BackBlaze 90TB 5U Storage Pods for $90/TB and 720 TB/rack you have a different point of view. As for somebody showing up to replace a drive, I think I could ask Jimmy to put his jacket on and shuffle down to the server room to swap out a few failed drives every couple months - that's what hot and cold spares are for and he's just geeking on MyFace anyway. Low utilization? Use as much or as little as you like - at $90/TB we can afford to buy more. We can afford to overbuy our storage. We can afford to mirror our storage and back it up too. In practice the storage costs less than the meeting where we talk about where to put it or the guy that fills it. If you want to pay for the first tier OEM, it's available but costs 10x as much because first tier OEMs also sell SANs.

    Openfiler does CIFS/NFS and offers iSCSI shared storage for Oracle, Exchange and SAP. If you need support, they offer it. OpenFiler is nowhere near the only option for this. If you want to pay license fees you could also just run Windows Server clustered. There are BSD options and others as well. Solaris and Open Solaris are well spoken of, and ZFS is popular, though there are some tradeoffs there. Nexenta is gaining ground. There's also Lustre, which HP uses in its large capacity filers. Since you're building your own solution you can use as much RAM for cache as you like - modern dual socket servers go up to 192GB per node but 48GB is the sweet spot.

    Now that we've moved redundancy into the software and performance into the local storage architecture, moving storage to the edge is exactly what we want to do: put it where you need it and if you need a copy for data mining then mirror it to the mining storage cluster. We still need some good dedicated fiber links to do multisite synchronous replication for HA, but that's true of SAN solutions also. We're about 20 years past when we should have ubiquitous metro fiber connections, and that's annoying. Right now without the metro fiber the best solution is to use application redundancy: putting a database cluster member server in the DR site with local shared storage.

    Oh, and if you need a lot of IOPS then you choose the right motherboard and splurge on the 6TB of PCIe attached solid state storage per BackBlaze pod for over a million IOPs over 10Gig E. If you need high IOPS and big storage you can use adaptor brackets and 2.5" SSDs or mix in an array of The Collossus, though you're reaching for a $6K/TB price point there and cutting density in half but then the SSD performance SAN has an equal multiple and some serious capacity problems. If you go with the SSD drives you would want to cut down the SAS expanders to five drives per 4x SAS link because those bad boys can almost saturate a 3Gbps link while normal consumer SATA drives you can multiply 3:1.

    If you're more compute focused then a BackBlaze node with fewer drives and a dual-quad motherboard with 4 GPGPUs is a better answer. At the high end you're paying almost as much for the network switches as you are for the media. If you're into the multipath SAS thing then buy 2x the controllers and buy the right backplanes for that - but

    --
    Help stamp out iliturcy.
  24. Re:CD-R? by TheRaven64 · · Score: 2, Interesting

    It isn't faster than DRAM, it's faster than Flash and hard disks. It is also much more expensive per MB than either: about 4 times as expensive as DRAM at the moment, and very few people are thinking of replacing their persistent storage with battery-backed DRAM.

    You seem to be confusing PCRAM with SRAM. Static RAM uses six transistors, while dynamic RAM uses one transistor and one capacitor. This makes it much faster, because you don't have to wait for refresh cycles, but it is a lot less dense and so much more expensive.

    Phase change RAM is much more complicated to make, but can be quite dense. The latest versions use four states so you can store two bits per cell, rather than two. Eventually you may be able to store an entire byte in a cell, which would get the density well above DRAM, but the physical phase change is likely to be slower than an electronic switch for a long time, so I expect to see phase change RAM as part of a three tier cache hierarchy (under DRAM and SRAM), at least initially.

    --
    I am TheRaven on Soylent News