A Quick Flash Refresher

DRAM is very fast. Writes happen in nanoseconds as do CPU clock cycles, those two get along very well. The problem with DRAM is that it's volatile storage; if the charge stored in each DRAM cell isn't refreshed, it's lost. Pull the plug and whatever you stored in DRAM will eventually disappear (and unlike most other changes, eventually happens in fractions of a second).

Magnetic storage, on the other hand, is not very fast. It's faster than writing trillions of numbers down on paper, but compared to DRAM it plain sucks. For starters, magnetic disk storage is mechanical - things have to physically move to read and write. Now it's impressive how fast these things can move and how accurate and relatively reliable they are given their complexity, but to a CPU, they are slow.

The fastest consumer hard drives take 7 milliseconds to read data off of a platter. The fastest consumer CPUs can do something with that data in one hundred thousandth that time.

The only reason we put up with mechanical storage (HDDs) is because they are cheap, store tons of data and are non-volatile: the data is still there even when you turn em off.

NAND flash gives us the best of both worlds. They are effectively non-volatile (flash cells can lose their charge but after about a decade) and relatively fast (data accesses take microseconds, not milliseconds). Through electron tunneling a charge is inserted into an N-channel MOSFET. Once the charge is in there, it's there for good - no refreshing necessary.


N-Channel MOSFET. One per bit in a NAND flash chip.

One MOSFET is good for one bit. Group billions of these MOSFETs together, in silicon, and you've got a multi-gigabyte NAND flash chip.

The MOSFETs are organized into lines, and the lines into groups called pages. These days a page is usually 4KB in size. NAND flash can't be written to one bit at a time, it's written at the page level - so 4KB at a time. Once you write the data though, it's there for good. Erasing is a bit more complicated.

To coax the charge out of the MOSFETs requires a bit more effort and the way NAND flash works is that you can't discharge a single MOSFET, you have to erase in larger groups called blocks. NAND blocks are commonly 128 pages, that means if you want to re-write a page in flash you have to first erase it and all 127 adjacent pages first. And allow me to repeat myself: if you want to overwrite 4KB of data from a full block, you need to erase and re-write 512KB of data.

To make matters worse, every time you write to a flash page you reduce its lifespan. The JEDEC spec for MLC (multi-level cell) flash is 10,000 writes before the flash can start to fail.

Dealing with all of these issues requires that controllers get very crafty with how they manage writes. A good controller must split writes up among as many flash channels as possible, while avoiding writing to the same pages over and over again. It must also deal with the fact that some data is going to get frequently updated while others will remain stagnant for days, weeks, months or even years. It has to detect all of this and organize the drive in real time without knowing anything about how it is you're using your computer.

It's a tough job.

But not impossible.

Index Live Long and Prosper: The Logical Page
POST A COMMENT

296 Comments

View All Comments

  • tachi1247 - Friday, September 18, 2009 - link

    Does anyone know what the difference is between the 7mm thick and 9.5mm thick drives?

    http://download.intel.com/design/flash/nand/mainst...">http://download.intel.com/design/flash/nand/mainst...

    They seem to be identical except for the drive thickness.
    Reply
  • dszc - Saturday, September 12, 2009 - link

    FANTASTIC series of articles. Kudos! They go a long way toward satisfying my intellectual curiosity.

    But now it is time to reap the rewards of this technology and earn a living.
    So I need some real-world HELP.

    How do I clone my 320GB (80GB used) Hitachi OS drive (Vista 32 SP2) over to a 128GB Indilinx Torqx?

    All I really care about is Photoshop and Bridge CS4 performance. I am a pro and work 4-16 hours per day in Bridge and Photoshop, with tens of thousands of images, including 500MB - 2GB layered TIFFs. The Photoshop Scratch Disk and Bridge and CameraRaw Cache performance are killing me. Solid State Storage seems to be the perfect solution to my problem

    I really want to simply clone my 320 over to the Torqx, because it would take me a week to re-install and configure all of my software and settings that are now on the 320GB Hitachi.

    Do I just bring the Torqx up in the Vista Storage Disk Management, initialize it with one big partition, and then format it?
    What size allocation unit should I use? :
    Default? 4096? 64k? ???
    Will these settings be wiped out when I clone over the stuff from the old hard drive?
    What about "alignment"?
    What is the best software for a SIMPLE & painless clone procedure?

    I'm not a techie or geek, but have a fair working knowledge of computers.

    Any help would be hugely appreciated. Thanks.
    Reply
  • userwhat - Thursday, September 17, 2009 - link

    I use Drive Snapshot for all these purposes. It works 100%, it´s a very small and fast program. After having issues with Norton Ghost and some other similar programs which were absolutely unable to restore an imaged partition stored on a DVD this is THE one to use.

    Get it here: http://www.drivesnapshot.de/en/">http://www.drivesnapshot.de/en/
    Reply
  • dszc - Saturday, September 26, 2009 - link

    Thank you very much for your help and recommendations.
    To get my Patriot (SolidStateStorage) up and running, I used Seagate DiskWizard (an Acronis subset), as I have lots of Seagate drives already on my system and this free software seems to work.
    When I get a window of time in my schedule, I'll try DriveSnapShot and/or DriveImage to see if they do a better job in helping my Torqx SSS run at its full potential.
    Thanks again for your help.
    Dave
    Reply
  • JakFrost - Tuesday, September 15, 2009 - link

    If you want to image out your current drive and migrate over to an SSD you can use the free software below that works with Windows Volume Shadow Copies to do a online live migration to another drive without losing or corrupting your data. This means that you can do this from the same OS that you are running.

    This software will allow you to image out to an already created partition that is already aligned at the 1MB boundry that is standard for Microsoft Vista/7 operating systems.

    DriveImage XML V2.11
    English (1.78MB)

    Image and Backup logical Drives and Partitions

    Price: Private Edition Free - Commercial Edition - Buy Now Go!
    System Requirements: Pentium Processor - 256 MB RAM
    Windows XP, 2003, Vista, or Windows 7

    An alternative is to use an offline migration system such as Acronis TrueImage, Norton Ghost, etc. to do the migration offline from a bootable CD or USB drive. Search around for Hiren's BootCD to check out these and other tools to do the migration.
    Reply
  • dszc - Saturday, September 26, 2009 - link

    Thank you very much for your help and recommendations.
    To get my Patriot (SolidStateStorage) up and running, I used Seagate DiskWizard (an Acronis subset), as I have lots of Seagate drives already on my system and this free software seems to work.
    When I get a window of time in my schedule, I'll try DriveImage and/or DriveSnapShot to see if they do a better job in helping my Torqx SSS run at its full potential.
    Thanks again for your help.
    Dave
    Reply
  • jgehrcke - Friday, September 11, 2009 - link

    Be careful when buying a Super Talent UltraDrive GX 128 GB with "XXXX" in serial number (unfortunately you cannot check this before ordering the drive). These drives are much slower than measured in the benchmark here and in other benchmarks.

    For more information and related links see

    http://gehrcke.de/2009/09/performance-issue-with-n...">http://gehrcke.de/2009/09/performance-i...est-supe...
    Reply
  • Kitohru - Thursday, September 10, 2009 - link

    Does OS X Snow Leopard have trim support, and if not any word from apple about that or the like? Reply
  • Zool - Thursday, September 10, 2009 - link

    I still dont think that with this price ssd-s will be more mainstream in the next years. And honestly the performance is not even that extra if everything would work like it should. The mechanical drives can reach now 100 MB reads when things are optimal. The small files performance is still only software problem. U should never ever reach point when u need to randomly find 4 KB files in a long row. With todays ram capacity and cpus-s programs should never read such small files or group things in larger files and read whole to memmory. A solid today programed aplication (let it be game or programs) should never let your disk spam with 30k files (like catia or other plenty of aged so called "profesional" programs). With today ram and disk capacity it should read things to memmory and let only grouped larger files on disk and never ever touch the hdd again until users isnt comunicating with the software (u can tell it to windows).Saves can be made to memmory and than write to disk without even seeing a fps drop in games(not just games) becouse of disk comunication latenci
    I dont even think the IO performance would be a problem with the RIGHT software and OS. With 100MB reads it could run perfectly fine with few seconds loading times. Even the latencies of ssd-s are no match to ram latencies so everithing that should activly comunicate with disks (which is just stupid with curent ram prices and 64bit) would just level your latencies down to disks.
    Why should worry about latencies and read speeds when u could copy it to ram and keep the files on disk in shape where the mechanical drive
    should never find itself to read files smaller than few MB.(even your
    small txt documents u can hide in archive).
    Just my toughs. (sorry for my english)
    Reply
  • AlExAkE - Wednesday, September 09, 2009 - link

    Hey, I'm a web & multimedia designer. I spend lots of my time using most of the Adobe CS4 products including Photoshop, Flash, Dreamweaver, Illustrator, After Effects & Premiere Pro.

    The Intel 80GB G2 looks amazing, but the Photoshop test is awful because of his write speed. The Intel 25-Extreme series seem to be the best but is to pricey. The OCZ Vertex has good write speed but is slower than Intel G2 in most of the test. What would be the recommended SSD for my purpose. Thanks
    Reply

Log in

Don't have an account? Sign up now