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?"
Last time I checked, most of the software crashes aren't caused by memory randomly disappearing.
How long before nonvolatile memory becomes the solution to crash-prone software rather than better programming?
Probably very long......
There are very little volatile-memory related software bugs.....
HINT: You don't want your ram back in the same corrupt state it was in before the reboot.
Jeroen
Secure messaging: http://quickmsg.vreeken.net/
Looks cool for applications such as hibernate.
How is nonvolatile RAM supposed to prevent crashes? Crashes are the result of unexpected program interaction, hardware incompatibilty, or poorly-anticipated user input.
"How long before nonvolatile memory becomes the solution to crash-prone software rather than better programming?"
Never. Having the same bits in memory after a reboot doesn't help if you wrote the wrong bits in the first place.
"On two occasions I have been asked, 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."
~Lake
Non-volatile main memory is unlikely to be a solution against crash-prone software. If the software crashed because there was a bug in how it handled the data in memory, if the data is still there and the application reads it again, it'll just crash in exactly the same place.
In any case, an application crashing very seldom causes the machine to actually power down, and an application crashing and being restarted never gets to use the same memory the same way anyway, so the point is entirely moot. If your main memory is nonvolatile RAM, the advantage is you can design a system that can be powered down and suspended without having all that lengthy write of the entire machine's state to disk (and read when it comes back up again), which would be extremely useful on a laptop. If you can do this, you can have essentially uptime of years, so the incentive would be to write MORE stable operating systems and applications if the expectation is that even a laptop may go years between reboots.
Oolite: Elite-like game. For Mac, Linux and Windows
How long before nonvolatile memory becomes the solution to crash-prone software rather than better programming?
Good, now I'll be able to preserve memory corruption even after a power-cycle! Last time I checked, software crashes weren't due to the fact that DRAM loses its contents when powered down.
For main memory on a pc, not much, unless of course it's a tiny chip and you put at least 16 on a card the size of current ram dimms.
However it seems to me somthing like this on a hard-drive with a journaling file system properly built to use it, could have some use.
Heck most hard drives today only have 8MB for cache as it is.
Mycroft
https://signup.leagueoflegends.com/?ref=4c3ed6600b6ea
If your operating system has crashed, it has crashed. You need to reboot it. MRAM cannot change that. The point is that with MRAM you should be able to switch off your computer and switch it on again later without reboot and without need to save RAM contents to disk at power-down and to retore them from disk after the system is switched on again.
Hence if anything, this technology will increase pressure on operating system vendors to produce OSes which don't crash badly enough to require a reboot.
Under construction: swpat politics overview article
Exactly.. MRAM will actually encourage better programming, since users will have no reason to reboot other than because of crashes; rebooting will be even more of an onus.
Nonetheless, I don't know whether that particular aspect of MRAM will make any difference. I can't remember the last time I had to reboot Linux due to a software crash! Virtual/protected memory systems are very good about isolating applications from each other already.
The real benefits of MRAM are far more exciting. Unlike conventional DRAM, MRAM does not need to be refreshed (it's nonvolatile), yet its fast enough and could be cheap enough to replace DRAM. The result is a huge POWER SAVINGS since you wouldn't have to use power to run the DRAM refresh cycles. Moreover, MRAM is simpler, so it could have higher integration densities, and thus would be cheaper.
MRAM falls into the general domain of "spintronics" (which is the name given to technologies which exploit the spin of electrons in addition to their charge). One of the most exciting applications of spintronics is in reconfigurable computing. We could make "real" reconfigurable logic -- cheap nonvolatile FPGA's. Your processor could quite literally rewire itself on the fly, adapting to the task at hand. Very exciting.
... to the "immediately on" computer. Boot times reduced to next to nothing will be prove to be a giant leap in the usability of computers, I think.
"It usualy starts with some screaming. Afterwards there is much running around."
Hmm...fast and low power - I like it. I don't exactly know how it might be a substitue for my PC's RAM, but I can certainly imagine it being a great way to replace Flash and SRAM.
Programs don't crash because the memory is cleared during reboots. They crash because they refer to memory that never existed in the first place.
Perhaps nonvolatile memory will improve startup times (think super-fast hibernate) but crashes? Not a chance.
For main memory or video memory, yeah, not so much at first glimpse. The "nonvolatile" portion is where it gets sexy. The primary reason static RAM isn't widely implemented for ALL memory right now is simply cost. Dynamic RAM's volatile nature forces the CPU or a memory controller to take time to read and write the contents of each portion of memory repeatedly thousands of time per second, else the contents of the memory are lost. Not having to do that would be a huge work saver for future hardware, allowing it to focus on any problems at hand. Very cool stuff.
"It is a solemn thought: dead, the noblest man's meat is inferior to pork."
At least now, when your Windows crashes, you can reboot your machine, and in extreme cases powercycle it.
However, with such non-volatile RAM, this is a thing of the past: even leaving the machine unpowered for an hour won't erase the crashed program state...
obviously, by moving he meant mechanical (gears, discs, heads).. subatomic movement happens fast enough that we don't need to worry about it becoming the slowest process by thousands of orders of magnitude like the current situation with HDDs. I would love it if everybody would just stop worrying about making cpus, gpus and ram faster and just focus on a new form of permanent storage that wasn't a million times slower than anything else in the system.
bite my glorious golden ass.
I think OS dealing with programmer stupidity is a good thing. You can't get the whole world to be excellent (far from that) so you might want to help the less qualified work too, so you can get faster movement in the computer world.
Besides, you must know that componentisation and division of work allow everyone to be more productive. This does not necessarily mean bad programming.
If the big advantage of non-volatile RAM is the reduction in how many times you have to wait for your PC to perform a full startup and shutdown the last thing you want to have is your software being so crap that you have to reboot it all the time anyway.
You see, there are perfectly good reasons to tunr a computer off, regardless of whether it's running Linux or Windows or Solaris or MacOS X. And then you'll want it to start as quickly as possible when you want it back on.
Laptops are the prime example. You don't want it on all the time, when you don't need it. You want to still have some juice in the battery when you do need it. You'll also want it up and running as fast as possible when you do need it.
Dunno about you, but I'd rather just start using it, instead of sitting and watching through 5 minutes of Linux loading everything _and_ the kitchen sink at startup, then loading KDE, then taking ages to start Open Office, etc. If MRAM lets me have it up and ready in 1 second, I'm all for it.
E.g., there are computers in a lot of gadgets. Take my CD-based MP3 player, for example. Whenever I power it up, it takes a couple of seconds to basically boot and read the track list. If all that could stay in MRAM, and have it start playing the millisecond I hit that button, it would be a much more convenient gadget.
And even with regular PCs, you have to understand that some people actually _use_ their PC. They don't just keep them for a retarded "my uptime can beat yours" contest. And, like any other tool, there are perfectly good reasons to turn it off when you're not using it any more.
If nothing else, for the noise. Now this computer is a lot more silent since I replaced the fans with 12 dBA ones, and got Seagate drives. But all else being equal, I'd still _not_ have an extra source of noise near my bed when I'm trying to sleep.
For a lot of people the electricity bill is a factor too. Yes, it's not a small fortune, but for a lot of people it matters. And it's still paying money for something they don't need. They're getting exactly zero use out of that computer running all night, so why would that be on their electricity bill?
Basically all I'm saying is: next time make sure brains are engaged, before jumping in with the standard knee-jerk "Microsoft sucks" post. Yes, I know. It gives retards the impression of belonging to some big sad community. Makes you sooo cool if you're whining about Microsoft too.
But sometimes it still can't hurt to pull your head out of your ass. There _are_ uses for some stuff (e.g., the MRAM we're talking about here) that aren't a Windows-vs-Linux thing at all. They're just as useful for either.
Of course, that would mean actually thinking and actually doing a real analysis, instead of just reaching for the fashionable dogma. But I'm sure you'll get the hang of that, eventually.
A polar bear is a cartesian bear after a coordinate transform.
You upgrade hardware with the power on?
Your hardware upgrade is a daily ritual?
Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
I'd want non-volatile ram for instant on-off like my Palm does without fear of loosing memory when battery goes dead. Instant power-on/power-off != reboot.
There are very little volatile-memory related software bugs.....
Oh, are you SURE about that? You should research such statements first, my friend, rather than assuming.
Take a look at this review from last year of power supplies by Anandtech.
They ran a six-hour memory test 54 times--and found that with 512MB of RAM, after each six hour test there were an average of four bits that had flipped! That means there is a memory error on a 512MB PC--on average--every 90 minutes!
If that error occurs in a code segment in a driver, you may get a system crash. In a Windows DLL, perhaps some system instability. In an application, perhaps an application crash. If it's in a data segment, your important manuscript may suddenly lose a paragraph or skip a couple pages as a linked list pointer jumps to the wrong spot, or you may find a bunch of junk replacing normal text.
Memory errors are a serious problem that very few people acknowledge. Why people still buy non-ECC RAM is beyond me. (Of course, even with ECC RAM, there are still various places inside the PC where failure can occur--along the various buses for exmaple, which don't all have ECC. So this is only part of the solution.)
More reliable RAM would definitely be a step in the right direction.
(soooo offtopic, but I couldn't resist)
::jafomatic
Perhaps I'm being too paranoid, but I see some potential for abuse here. Imagine a program that deals with passwords or credit card numbers... They could be still lying around in your non-volatile memory after the machine is switched off.
An intelligent program should then zero out those passwords before freeing memory. Even so, would this kind of storage suffer from the security issue already discussed here and here (ability to retrieve data from many previous writes)?
Score: i, Imaginary
So according to you when I trip over the power cord and all software disappears from RAM its a software bug?
The HARDWARE failed and thus its a hardware bug.
(In the power cord example its an operator bug)
Jeroen
Secure messaging: http://quickmsg.vreeken.net/
Will this stuff be here before Bubble Memory? I have been waiting for bubble memory for a long time now.
They whose government reduces their essential liberties for temporary security, receive neither liberty nor security.
While it's possible, RAM is a hardware failure and can rarely be connected with software.
On the other hand, our handy ability to shut down and clear out bad programming is a luxury that might become more difficult with the new RAM technology.
This could mean that viruses and other malware could remain even more resistant to removal than before!
Without the refresh cycle, there's no place for errors to be introduced except during the actual reads and writes by the processor.
What about external influences (heat, cosmic radiation, etc)?
What's in a sig?
back in the day of magnetic core, you could boot and choose whether you wanted to execute a little routine that would shuffle zeros from one location to the next to clear out the machine, or continue running with what you had (any other slashdotters out there ever work on IBM 1620 or 1720 or magcore models in the 360/370 line?) I think it's funny that this is once again may be an option.
The ones who aren't lazy are too busy reading slash dot.
/. when we should be working.
Umm... I'm not sure in what world you live, but Slashdot isn't the meeting place for the world's best and most ambitious programmers. *We* are the lazy ones, reading
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
How would it be a security loss? Any program concerned about security today is already aware that any of its memory may be swapped out at any time... and that swap files can, on many architectures, survive between boots. The only safe way to ensure that stuff you write in memory is not persisted, today, is to clear it by hand. How is this different with MRAM?
How would it be a stability loss? I just don't see it... all this talk about 'but when you reboot, you'll be in the same state.' No, when you reboot, your memory will be in the same state, and your processor will be in the reset state. Does ANY software on ANY platform using DRAM assume that memory is initialized to a known state at startup?
I've had this sig for three days.