Slashdot Mirror


MRAM Inches Towards Prime Time

levin writes "According to an article over at EETimes, magnetoresistive RAM chips are getting a little more practical. Infineon Technologies released info on a new 16M MRAM component on Tuesday and the read and write cycle times of this chip make it 'competitive with established DRAM.' How long before nonvolatile memory becomes the solution to crash-prone software rather than better programming?"

21 of 261 comments (clear)

  1. Hopefully never. by Tokerat · · Score: 4, Interesting

    How long before nonvolatile memory becomes the solution to crash-prone software rather than better programming?
    Advanced hardware is no excuse for coders to get lazy. We have enough of that already, let's not make it worse by taking things for granted.

    That being said, imagine the power savings and lightning fast startup times! I'd love an "instant on" PC! ( or, erm...Mac :-D )
    --
    CAn'T CompreHend SARcaSm?
    1. Re:Hopefully never. by robvangelder · · Score: 3, Interesting

      I don't know about you, but the startup times for PCs just don't annoy me.

      It's a daily ritual for me:
      Turn on Computer
      Walk to kitchen
      Make Coffee!
      Walk to desk
      Log on

      I never even see the machine boot up.

  2. I don't follow this statement by wankledot · · Score: 4, Interesting
    "...How long before nonvolatile memory becomes the solution to crash-prone software rather than better programming?"

    Someone explain to me how MRAM will help with stability if it is simply replacing the same type of functionality that good old fashioned RAM has.

    --
    My sig is blank, I typed this by hand.
  3. Moving parts are soooo 2000 by robvangelder · · Score: 5, Interesting

    Once step closer to replacing HDD, CDROM, DVD and all those other "moving parts" storage devices.

    In 20 years, we'll all be looking back at DVD and CDROM like we do at Tape Cassette.

    Moving parts and things that go whirr make me cringe.

    I just want to plug it in and get instant access.

    1. Re:Moving parts are soooo 2000 by Anonymous Coward · · Score: 4, Interesting

      You can already have a solid state PC if you want. I've replaced a broken HD in an older laptop with Compactflash through a 2.5" CF-IDE adapter. I run Linux, with the root fs mounted ro and I only use small apps, so I don't need swap with 192MB Ram. My main workspace is in Ram on a tmpfs (the laptop battery acts as a UPS); when I'm done I save the essentials on a USB pen drive. For backing up bigger archives, I plug in a 2.5" USB HD. That's my only "moving parts" storage device, but I don't use it day-to-day.

      If you can live without bloatware like Windows, OS X or KDE/Gnome, it's easy enough to go solid state today. My CF card is bigger than the HD that I used to run Linux 2.0 with X and Fvwm 1.2 ...

  4. What an asinine question. by torpor · · Score: 4, Interesting


    "How long before nonvolatile memory becomes the solution to crash-prone software rather than better programming?"

    Hello. What do you think -hard disks- are?

    I'll give you 5 seconds to come up with a list of operating system 'features' that have been 'standardized' which really resulted from this 'ideology' about how to not write 'safe' code and just let other parts of the system 'deal with it' ...

    Give up? Okay, I'll give you a few:

    1. Swap. Yup, if the program has no idea how much RAM it has or needs, and no idea how to manage it, and the programmer just wants it all ... there's swap. Otherwise known as 'virtual memory', or, as they used to say in the good ol' days "fail-safe swap-over".

    2. "Protected Memory". Yup. Same deal. Let the OS deal with 'bad programming'.

    Non-volatile memory has nothing to do with 'protecting from bad programming' and everything to do with writing 'true' persistent state machines... just like these two 'features'.

    In summary: If it wasn't for 'bad programming', operating systems wouldn't have anything to do ...

    Flame on.

    --
    ; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
    1. Re:What an asinine question. by JiffyJeff · · Score: 2, Interesting

      Perhaps I'm speaking in the wrong forum, but in coding I often across events in which I have no idea how much data I'll be reading until I'm done.

      Shit, this is problem shared by kids' lemonade stands and database developers worldwide.

      The world is construed with constantly changing amounts of units. Ask just about any software engineer how many users use his system and he'll say "Ummm, I don't know."
      Is he "stupid" because he doesn't know? No, it's no real working model can predict the future of something whose uncertainly of use is based on the number of users who use it.

      As I proceed to digress, I have to admit that there are surely situations in which models fit very well, but think about the big picture. If you had to write a "simple" program to calculate 'pi' given any input.... could you do it? If you had to record transactions for a given bank for a given day -- could you magnify that for a million users for a year?... Or for a second?

      Expect the unexpected... And deal with it.

  5. Crash savedty by ooze · · Score: 3, Interesting

    Is not the main point of non-volatile memory. The two main advantages are significatly less power consumption (only put energy into it, when you want to change the sate, not on every single cycle) and having permanent storage at the speed of System Memory (may I see the time coming, when there will be no seperate permanent storage devices, like hds and all this periphery, with all the bus technology and other error prone parts?...It's a long shot, but this is an important first step)

    --
    Just because I can imagine doing a hippopotamus, doesn't mean I'd like to do it.
  6. Re:16M? by Mycroft_VIII · · Score: 3, Interesting

    Gak, didn't read close enough, it's only 18Mb(2MB). Still as aid for aware journaling filesystems it could be good, it's 30-40ns speed is fast enough for hard drive caching.
    What I'd really like to see is memory fast enough to not need clock multipliers on the cpu's, or perhaps a memory controller that spans enough modules to achieve the same effect. Unfortunately the added complexity would probably be a major pita, or require serious re-design of memory sub-systems.

    Mycroft

    --
    https://signup.leagueoflegends.com/?ref=4c3ed6600b6ea
  7. Why would it make a programmer lazy by mcrbids · · Score: 4, Interesting

    Wouldn't non-volatile RAM actually make programmers more attentive?

    One of the most common programming errors is a memory-leak. Can you imagine what would happen if you couln't reboot the Windows machine to clear the memory for another few days?

    Non-volatile RAM may be the best excuse yet to switch to something more, ah... tightly coded!

    That said, I think that the current memory/disk model of computing is antiquated. Why distinguish memory from disk? Why not treat it all the same?

    A HDD is the base storage medium. RAM is a cache of that. L2 cache is a cache of RAM. L1 cache caches L2 cache.

    Why the distinction from HDD to memory? Instead of allocating RAM directly, why not follow the *nix philosophy of "everything is a file" and if you want a storage space for some temp values, open a file and write them in.

    The memory allocated for a particular process would then appear as a file (perhaps buried somewhere in /proc ?) like any other file. Then, determining which program was leaking ram could be done with a simple `ls -la`.

    Instead of flushing to special swap partitions, the memory files would simply be committed to disk when you run out of RAM. (moved down the cache chain from RAM to disk)

    Switching to a fundamentally different type of memory may be the right time to reconsider system architectures and challenge our conventional assumptions of computing, especially since memory leaks can be so severe, even in commercial software!

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
  8. Re:instant on? by OutRigged · · Score: 2, Interesting

    Isn't the whole idea of a reboot to unload and reload all operating system components? Thus resetting the system state from a crash or updating configuration or executable files that were in use. If magnetic RAM saves the state when it's off, how will that help Windows users or any computer user with a reboot? The only real benefit I can see here is power saving. If a program crashes the entire operating system, you'll most likely need to reload all the operating system components. Reloading a copy of the memory that's already crashed would be pointless.

    Then again, I'm probably missing something. I didn't rtfa, of course.

    --
    RaGe
    We're all just noise on the wires..
  9. Somewhat stupid argument by burbilog · · Score: 2, Interesting
    One of the most common programming errors is a memory-leak. Can you imagine what would happen if you couln't reboot the Windows machine to clear the memory for another few days?

    Why everyone automatically assumed that memory can't be cleared upon reboot?! WTF???!! What you were smoking today? It's fucking RAM guys! BIOS could clean it for you during reboot. Or operating system could do it before loading itself.

  10. Re:Wouldn't this actually make the problem much wo by cpghost · · Score: 2, Interesting

    Exactly. The kernel's crashed state will be preserved, so you won't be able to reboot cleanly. Some kind of checkpointing (like in database servers) would be useful here: just reboot to the last valid checkpoint. Of course, this requires a lot more WRAM though...

    --
    cpghost at Cordula's Web.
  11. Re:16M? by crbowman · · Score: 3, Interesting

    Read the whole article my friend. While 2 MBytes may not be much it is plenty for many embedded applications, plus its fabed in .18 Micron CMOS which means the .13 Micron versions probably have 8 Mbytes, and it only uses 3 metal layers, which in an age of 8 metal layer chips should mean good yeilds which means low costs. It seems to use a fairly standard CMOS process which means it will be able to leverage all the general CMOS improvements. It uses less operating power than DRAM, has faster cycle times than FLASH and being magnetic, I am guessing is non-volatile. Plus this isn't a commerical product yet, they said clearly they still have a long way to go in reducing size before then. All in all it actually sounds pretty good. I look forward to the day when all memory is non-volatile, I think we will find that it will change the way we design and look at products.

  12. It is much more disrruptive technology then that by salec · · Score: 5, Interesting

    The magnetoresistive cell can change the way ANY sequential logic circuit operates. It can make much denser CPUs, ASICs and FPGAs, because now you can make the clock input be THE power supply line.

    It can also make your timepiece battery last ... well, longer.

    You just need to look at it in a different view then Yet Another Non-PowerCycle-Erasable Storage.

  13. EROS by nacturation · · Score: 5, Interesting
    The EROS project (Extremely Reliable Operating System) is an attempt to achieve this -- continual persistence with fine grained capability-based security. Essentially, *everything* is serializable to disk and is done so periodically (eg: every 30 seconds). This has the benefit that you can have the power go out unexpectedly, reboot the system, and only lose half a minute worth of work as all your apps will be restored to their last state. An amusing anecdote about the predecessor to EROS, KeyKOS, from this page... true story:
    • At the 1990 uniforum vendor exhibition, key logic, inc. found that their booth was next to the novell booth. Novell, it seems, had been bragging in their advertisements about their recovery speed. Being basically neighborly folks, the key logic team suggested the following friendly challenge to the novell exhibitionists: let's both pull the plugs, and see who is up and running first.


    • Now one thing Novell is not is stupid. They refused.

      Somehow, the story of the challenge got around the exhibition floor, and a crowd assembled. Perhaps it was gremlins. Never eager to pass up an opportunity, the keykos staff happily spent the next hour kicking their plug out of the wall. Each time, the system would come back within 30 seconds (15 of which were spent in the bios prom, which was embarassing, but not really key logic's fault). Each time key logic did this, more of the audience would give novell a dubious look.

      Eventually, the novell folks couldn't take it anymore, and gritting their teeth they carefully turned the power off on their machine, hoping that nothing would go wrong. As you might expect, the machine successfully stopped running. Very reliable.

      Having successfully stopped their machine, novell crossed their fingers and turned the machine back on. 40 minutes later, they were still checking their file systems. Not a single useful program had been started.

      Figuring they probably had made their point, and not wanting to cause undeserved embarassment, the keykos folks stopped pulling the plug after five or six recoveries.
    --
    Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
  14. How 'bout core? by Octorian · · Score: 3, Interesting

    You know, the core memory of "way back when" was also magnetic, and nonvolitile. Actually, it was destructive-on-read, so you only had to refresh a bit it when reading it. Otherwise, you could turn the machine off and it would keep its contents.

    (No, I'm not that old. But I had some friends in college who played around with an old PDP-11/45 we found, which used core.)

  15. Re:Memory errors are RAMPANT--one every 90 minutes by rugger · · Score: 4, Interesting

    Err, then the PC and ram Anandtech have been using are dodgy.

    Due to the design of Dynamic RAM chips, memory bit flip errors are not influenced by how long the memory sits "idle". I emphise idle here because Dynamic ram is never really idle. Each cell in a DRAM chip contains a capacitor and a transistor. If a DRAM cell is left to its own devices, the capacitor soon discarges and the cell looses its state. To stop this from happening, in the background, the RAM controller on the chip is constantly recharging the capacitors. Each cell is read and rewritten about every few milliseconds.

    Because DRAM chips are never idle, the whole methodolgy of the anandtech test is WRONG, and the most obvious conclusion is that anandtech is using dodgy ram, or is simply pushing the RAM beyond their specs to forcibly generate errors.

  16. Re:Memory errors are RAMPANT--one every 90 minutes by NigritudeUltramarine · · Score: 5, Interesting

    And how exactly is one expected to code against this?

    It's not difficult.

    Just add ECC in software.

    I've done this before in some of the software I've written for hospitals and banks; it's been a design requirement for the software to detect when there is a failure, and to correct if possible.

    And, yes, failures ARE detected, AND corrected.

    The way it works is you divide memory up into blocks (for example, 512 bytes of 1KB). You do this for both your data and code. For each memory block, store the ECC data (usually, in a separate area of memory, so it's non-intrusive to the program design).

    A thread runs in the background, often on a second CPU, continuously checking the program's data and code to ensure that the ECC data is valid. When an error is detected, it is logged and corrected if possible.

    When modifying data, a flag is set for that memory block that it has been altered; a new ECC value is calculated as soon thereafter as possible. (This is done automatically by setting the CPU to generate an exception when writing to a particular segment. It's a feature built into Intel processors and available through high-level calls in both Windows and Linux.)

    I'm sure you remember the Java exploit from a couple of years back, where the security model was bypassed completely by blowing a hairdryer on the RAM until a byte code error was induced in very-carefully-constructed code. Software ECC is the kind of thing you need to do to mitigate those types of attacks.

  17. There'll be uses for this stuff... by Julian+Morrison · · Score: 3, Interesting

    ...but they won't be the same as uses for RAM or for hard disk.

    Using it for RAM would be silly - RAM is supposed to be transient, keeping it around would be a security and stability loss.

    Using it for hard disk would be silly - the price per megabyte would be ridiculous unless you're doing stock-market data crunching or some such.

    Some uses I can immediately see for it:

    - boot the OS, and save a snapshot for an instant reboot

    - use it to store persistent caches of binaries, libraries, etc

    - use it for filesystem and database journals

    - do RAID4 and use it to hold the parity volume

  18. hrmm by athlon02 · · Score: 2, Interesting

    From the article: "Before we go to commercial production there remains a lot of work to do."

    Man I wish they'd just release some anyways. I don't care if the 1st generation is 1.42 microns^2 per cell, I'd just like to have the stuff. I've been waiting on the stuff ever since I first heard about it ages ago. But it's good to see they are still moving forward.