Slashdot Mirror


NAND Flash Better Than DRAM For PC Performance

Lucas123 writes "Adding NAND flash memory to a PC does more for performance than DRAM and costs less, according to a new study. As the price difference between the two memory types widens, NAND flash will become the memory of choice in the PC. The effects of NAND flash adoption are already being felt in the DRAM market, as revenue in 2011 is expected to decline 11.8%."

9 of 205 comments (clear)

  1. One Problem by rhook · · Score: 4, Informative

    NAND flash degrades over time and has a limited amount of program/erase cycles.

    1. Re:One Problem by hairyfeet · · Score: 4, Informative

      Not to mention what TFA neglects is the simple fact that one doesn't need as much memory as they do storage space so comparing the two? More than a little pointless.

      When DDR 2 was so cheap I bought 8Gb for my PC, which thanks to Superfetch means ALL of the programs that I use frequently? Instant load, poof, faster than even an SSD could possibly load them because they are already in RAM waiting for me and as we know RAM is several orders of magnitude faster than the fastest SSD. I won't build a PC anymore with less than 3Gb and I usually try to talk the customer into 4Gb, why? Again thanks to intelligent prefetching by the OS the programs they use most often will be preloaded into RAM waiting on them, thus not only making the PC crazy fast but also cutting down on drive spinning which lets the drive park the heads and thus lowers heat and power usage.

      Meanwhile the tech they are pushing is so damned unreliable Jeff Atwood at Coding Horror says they should be judged on a hot/crazy scale as they go tits up quite often in return for the crazy speed. Atwood still loves them but I would point out he is the same guy that recommends spending over $400 on a pair of headphones like he does. If you have the money to blow a couple of grand a year on big fast SSDs? I'm happy for you, you are doing better in a dead economy than most. But RAM almost never wears out and can easily last a decade, is still relatively cheap for maxing out a PC, and the performance one gets nowadays for giving the OS plenty of RAM for fetching is really quite stunning. By having plenty of RAM and hybrid sleep my customers have an instant on PC that loads every program they use as fast as they can click the button. What more can you ask for?

      --
      ACs don't waste your time replying, your posts are never seen by me.
    2. Re:One Problem by daid303 · · Score: 5, Insightful

      I work with flash daily, we make products that last 15 years with flash. Without large failure rates. The problem is not with flash. It's with the SSD implementation. It's the "let's replace harddisks with flash! and don't change anything else!" that causes problems. Because of this normal filesystems are used, that assume to be on spinning harddrives, which have no issue in writing the same sector twice, or just writing 1 sector at once. On flash on the other hand you need to do wear-leveling, and have large erase blocks. Both are handled on the SSD right now, and that's where it fucks up. It needs to maintain an internal mapping of all the flash, accounting for wear-level and shifting blocks around. One error in this internal management and your disk is junk. Even with your fancy journaling filesystem (ntfs/ext3,4/...) you are just 1 power failure away from losing your data.

      Compact flash cards, SD cards, SSD, USB sticks all see this problem. So far we've only found a few suppliers of Compact flash cards which guarantee the internal management is safe, and we tested it and found it to be true. SD cards, I've a few broken "industrial grade" SD cards on my desk as proof that this is not the case. SSD is to large for our product, so I have no tests for these, but I expect the problem to be the same.

      We use raw flash, with linux and JFFS2 or UBIFS. Which is a filesystem designed to run on flash, raw flash. Wake me when "SSD" offers that solution.
      (TRIM is not a sollution, it's a workaround)

    3. Re:One Problem by Anonymous Coward · · Score: 5, Interesting

      Compact flash cards, SD cards, SSD, USB sticks all see this problem. So far we've only found a few suppliers of Compact flash cards which guarantee the internal management is safe, and we tested it and found it to be true. SD cards, I've a few broken "industrial grade" SD cards on my desk as proof that this is not the case. SSD is to large for our product, so I have no tests for these, but I expect the problem to be the same.

      If you expect SSDs to have exactly the same problems as SD cards, you're a total moron with at best shallow expertise in the field. Go look up the specs of controller ICs used in SSDs and try to tell me with a straight face that they're exactly the same thing you'd get in a SD card, or even a very good CF card.

      To pick just one example, do you know of any CF cards which compress all data on the fly in order to increase effective flash lifespan by reducing the total amount of data written? (Since the SSD controllers in question use hardware compression engines which can handle hundreds of megabytes per second throughput, this also has the nice side effect of increasing effective performance, unless you're storing incompressible data.)

      We use raw flash, with linux and JFFS2 or UBIFS. Which is a filesystem designed to run on flash, raw flash. Wake me when "SSD" offers that solution.

      Whatever makes you think the FTL (flash translation layer) firmware inside SSDs isn't designed to run on flash, raw flash? Whatever makes you think that a generic one-size-fits-all software solution like JFFS2 applied to whatever random flash memory you put in your embedded system is better than a SSD whose firmware has been tuned for the specific flash chips it was built with? (One of the fun things about NAND flash is that it's far from generic, especially MLC, and even more especially sub-30nm MLC NAND.)

      More broadly, JFFS2 is one way to skin the cat, having a "drive" abstract flash into a generic block device is another. If you want low cost, low-to-medium performance, and probably not the best possible reliability, especially for heavy write loads, JFFS2 and friends will do just fine. If you want a real HDD replacement for non-embedded-systems, it's not even close to being the right solution. Which is why you don't see anybody trying to deploy flash-managing filesystems as HDD replacements.

      The controllers used in real SSDs are expensive enough that it would be a huge win if you could toss them and just use a flash FS. There are lots of very good reasons why this has not happened and will not happen. Take your head out of your butt and get some perspective, right now you're a classic example of how a little knowledge is a dangerous thing.

      (TRIM is not a sollution, it's a workaround)

      No, TRIM is an attempt to improve performance which has been oversold a bit in the popular computer press.

    4. Re:One Problem by Anonymous Coward · · Score: 5, Informative

      NAND flash degrades over time and has a limited amount of program/erase cycles.

      Spinning rust degrades over time and has a limited amount of write/erase cycles.

      Total bullshit. Please try to have a clue when you try to be clever. There is no wearout mechanism which eventually makes it impossible to alter magnetic domain orientations in spinning rust. You can keep doing that forever. In practice, the lifespan of a HDD is limited by mechanical failure or the death of the controller electronics.

      The difference between NAND flash and spinning rust is that it's faster. Early evolutions of NAND flash reached the limits of their write cycles therefore. Modern evolutions of NAND flash make it more durable and reliable than spinning rust in every instance - and the speed and storage density is just a bonus.

      Good god, you're clueless. Every evolution of NAND flash makes its durability and reliability worse, not better, due to some fundamental physics problems with NAND technology. The only thing keeping NAND viable is throwing ever-stronger ECC codes at the problem (decreasing the effective density gain from each process shrink by consuming more bits in error correction overhead). Write/erase cycles also keep going down, not up.

      And then there's the fun phenomenon called "read disturbance". If you haven't guessed just by reading the phrase, this means you can alter the state of a bit cell in the latest and greatest generation of NAND flash by reading it (or its neighbors) too many times. Whee!

      Don't confuse the application of stronger and higher overhead techniques for managing the problems with NAND with it being a super-memory with no flaws. It has a lot of issues.

    5. Re:One Problem by xouumalperxe · · Score: 3, Informative

      Not to mention what TFA neglects is the simple fact that one doesn't need as much memory as they do storage space so comparing the two? More than a little pointless.

      My interpretation of the article is as follows: In any given workload, you're likely to have a mixture of memory operations and disk operations. If, instead of putting all your money on RAM that will speed up your memory operations, you put part of it into an SSD that will speed up your disk operations, the overall performance for that workload will be better. Prefetching programs doesn't do nearly enough if the workload involves more disk activity than just loading the code.

      Not sure I agree with the article, but the point is a lot better than you were making out to be.

    6. Re:One Problem by Yvan256 · · Score: 3, Interesting

      Care to tell us which flash storage cards (brand, capacity, name, etc) you tested which have safe internal management?

  2. A bit confusing by m.dillon · · Score: 3, Insightful

    I think all they mean is that dram isn't really all that cost effective as a data cache. For data that one intends to export out the network. Storing that data on a SSD, assuming it's a relatively static data set (which most is), uses far less power and costs less than purchasing an equivalent amount of DRAM (and the much larger mobo required to hold that DRAM). The access times are plenty fast enough to still saturate the network. That's all. Not rocket science.

    This has been known for several years. Replicate a small server with 8-16G of ram + a 160G SSD + a 2TB HDD sits right on the sweet spot. In fact, even 4G of ram would probably be fine. The idea is not to replace your hard drive but instead to insert another layer of cheap caching to avoid having to maintain a complex, expensive, power hungry HDD storage system just to get better throughput.

    -Matt

  3. No kidding by Sycraft-fu · · Score: 3, Interesting

    It is far, FAR more important for your computer to have enough RAM than to replace a HDD with an SSD. At this point (and probably for a long time) flash is not replacing DRAM. You need to have RAM in your system for it to work. Flash replaces hard disks.

    Well cool, HDDs are by far the slowest component these days. SSDs are have somewhere in the range of 2-5x the transfer rate they do and more importantly are an order of magnitude or more faster on access.

    Well that still is no comparison to DRAM. DDR3 is 40x the transfer rate of even fast SSDs and about 4-5 orders of magnitude less access time. So you can't just have flash, at least not if you want a nice n' fast CPU.

    Now in terms of practical usage I find RAM is way, WAY more important. If you don't have enough, some programs will just flat out not run. If your system is starved, paging kills the performance, even with an SSD handling the paging. Knocking in a good amount of RAM is the #1 thing you can do to keep your system running well and it is damn cheap.

    SSDs improve responsiveness, don't get me wrong. I love mine and I'm happy to have them (though to be fair I wasn't willing to get them until I saw some on sale for $200 for 256GB). However it is a more minor improvement than having a system with plenty of RAM or a good CPU. I do notice some slowness to my non-SSD work system, but not much.

    The other problem is even though flash is cheaper per GB ($2ish per GB as opposed to more like $9ish for DRAM) you need more disk space than memory. My laptop has what I consider a reasonable amount of both, that is 4GB of RAM and 256GB of SSD. My desktop has a ton of RAM, 16GB, and a moderate amount of SSD, 512GB. So the SSDs cost me a hell of a lot more, despite their lower per unit cost. I could easily recommend a 4GB or more RAM upgrade to anyone, I couldn't recommend an SSD big enough to hold a good amount of stuff.

    Pretty much I only recommend SSDs if you've already maxed out your RAM. Spend your money on that first, then if you are still willing to bear the cost of an SSD, go ahead.

    In that vein, I noticed more improvement on my laptop than on my desktop. No small part of that is likely the RAM. The desktop has RAM to spare, it can cache a ton of stuff. The laptop is not starved for RAM, but not does it have a massive surplus. The base usage on the system is about 1.5GB for OS and background services. Gives it maybe 2.5GB for caching when nothing else is running. Hence the SSD helps more.