Linked by Thom Holwerda on Sun 14th Apr 2013 20:30 UTC
Hardware, Embedded Systems "In the past five years, flash memory has progressed from a promising accelerator, whose place in the data center was still uncertain, to an established enterprise component for storing performance-critical data. It's rise to prominence followed its proliferation in the consumer world and the volume economics that followed. With SSDs, flash arrived in a form optimized for compatibility - just replace a hard drive with an SSD for radically better performance. But the properties of the NAND flash memory used by SSDs differ significantly from those of the magnetic media in the hard drives they often displace. While SSDs have become more pervasive in a variety of uses, the industry has only just started to design storage systems that embrace the nuances of flash memory. As it escapes the confines of compatibility, significant improvements in performance, reliability, and cost are possible."
Thread beginning with comment 558486
To read all comments associated with this story, please click here.
Comment by TempleOS
by TempleOS on Mon 15th Apr 2013 01:02 UTC
TempleOS
Member since:
2013-04-03

When the fundamental storage changes from volitile to nonvolitile, a new reality exists and everything changes. The old operating systems can obviously treat it conventionally, but the potential for a big improvement will be there until a new operating system is designed.

Reply Score: -1

RE: Comment by TempleOS
by ssokolow on Mon 15th Apr 2013 01:36 in reply to "Comment by TempleOS"
ssokolow Member since:
2010-01-21

When the fundamental storage changes from volitile to nonvolitile, a new reality exists and everything changes. The old operating systems can obviously treat it conventionally, but the potential for a big improvement will be there until a new operating system is designed.


Why would we go from volatile to non-volatile?

Flash memory can't be used as RAM. It can only be erased a limited number of times before wearing out and there's no quicker way to accidentally wear out flash memory than to put a swap partition on it.

Even if that weren't the case and we could use Flash memory as RAM, we've already got functionality along the lines you're thinking of in the Linux kernel.

(For example, the ext2 filesystem driver has had "execute in place" support for memory-constrained, flash-based mobile devices for years and there's also mmap() for userspace apps. There's a smooth migration path to be made when we're ready for it.)

Edited 2013-04-15 01:40 UTC

Reply Parent Score: 5

RE[2]: Comment by TempleOS
by Neolander on Mon 15th Apr 2013 06:05 in reply to "RE: Comment by TempleOS"
Neolander Member since:
2010-03-08

Also, even if Flash memory is faster than hard drives, it's nowhere near DDR RAM speeds. Swapping on an SSD or SD card remains pretty much as painful as swapping on an HDD, and I can't believe it's all the SSD interface's fault.

There is some cool research going on regarding NVRAM, such as STT MRAM* or memristors, but I don't think Flash memory will be able to go there.


* STT = Spin Transfer Torque. In short, the main issue regarding MRAM today is that we don't know how to flip the magnetization of a small magnet without affecting that of neighboring magnets, which limits storage density. STT research is about using spin-polarized ("magnetized") electrical currents flowing directly into the magnet in order to do that.

Edited 2013-04-15 06:13 UTC

Reply Parent Score: 3

RE[2]: Comment by TempleOS
by Lennie on Mon 15th Apr 2013 15:57 in reply to "RE: Comment by TempleOS"
Lennie Member since:
2007-09-22

Why would we go from volatile to non-volatile?


It could happen if it become cheap enough the first mass-market products will ship this year:

http://hardware.slashdot.org/story/13/04/04/016221/non-volatile-dim...

Reply Parent Score: 2

RE[2]: Comment by TempleOS
by Neolander on Mon 15th Apr 2013 16:08 in reply to "RE: Comment by TempleOS"
Neolander Member since:
2010-03-08

Oh, there's something I missed this morning too...

Why would we go from volatile to non-volatile?


I'd say the main reason for doing that would be increased reliability and simplified abstractions.

Reliability would be increased because machines could be smoothly powered off and back without losing any state, and without a need for hackish "save RAM data to disk periodically" mechanisms. Suspend and hibernate could well cease to exist in less than a decade, replaced by the superior alternative of simply turning hardware on and off by flipping an hardware switch.

Abstractions would be simplified because there wouldn't be a need to maintain two separate mechanisms to handle application states and data storage and interchange through file. A well-designed filesystem could instead address the use cases of both malloc() and today's filesystem calls, much to the delight of "everything is a file" freaks from the UNIX world ;)

(As an aside, the latter could actually already be done today, by allocating all free RAM into a giant ramdisk, mounting it alongside mass storage, and treating process address spaces as a bunch of memory mapped files. It simply doesn't make sense at this point, since both memories have such different characteristics...)

Edited 2013-04-15 16:21 UTC

Reply Parent Score: 3

RE: Comment by TempleOS
by gilboa on Mon 15th Apr 2013 06:09 in reply to "Comment by TempleOS"
gilboa Member since:
2005-07-06

When the fundamental storage changes from volitile to nonvolitile, a new reality exists and everything changes. The old operating systems can obviously treat it conventionally, but the potential for a big improvement will be there until a new operating system is designed.


I'm not sure I follow you: You mean using flash memory instead of RAM, or RAM instead of flash memory (NAND, NOR, etc)?
I assume you understand what are the implications of using flash memory to store volatile information right? (Suggestion: Wikipedia, "write amplification").

- Gilboa

Reply Parent Score: 4