SLC and MLC NAND Chips for Fusion IO Cards

On Wednesday I attended a training put on by Fusion IO. The training is a pre-cursor to a future certification program for Fusion Cards. It was the first time the training was being given so in a way we were beta testing the training program. I have been testing the cards for about a year now and have had them running in Production servers for about 6 months. So I had a good working knowledge for the cards and how to use them but I was eager to learn some more of the internals of how the cards worked and some of the things I should look for when working with them.

The training did not disappoint. As I mentioned this was the first time anyone was going through the training so we had minor speed bumps but our Instructor Thom did an excellent job presenting and really showed that he knew his stuff and was passionate about the product. I love to see presenters that really enjoy what they are talking about because it makes for a great presentation. I don’t have all my notes from the event yet summarized but I did want to get some information out that I learned at the session.

Fusion Cards come in 2 flavors. SLC and MLC, the NAND chips specifically come in SLC and MLC flavors.

SLC = Single Level Cell – 2 states per memory cell

MLC = Multi Level Cell — 4 states per memory cell

The primary differences between the chips are speed, storage and Life of the card. The SLC memory cell has only 2 states Empty and full. This means that it has a better performance than MLC because it can conserve energy when managing the electrical charge during operations on the memory cell. MLC has 4 states empty, 1/3, 2/3 and full. MLC must expand more energy to maintain the states of the data causing it to have slower performance.

MLC does have the advantage when it comes to Storage. Being a Multi-level cell it means they can have more storage capacity. For the Fusion line this usually means the 320 and 640 cards are the MLC cards.

The MLC card will wear out quicker than an SLC card will because it is expending more of its energy to get the state of the data.

So let’s look at the pro/con here

SLC –Pros

  • Better performance/lower Latency
  • Longer Card life

SLC – Cons

  • Smaller size

MLC – Pros

  • Large size

MLC – Cons

  • Slower performance more latency
  • Less Card life

Now let’s put some things in perspective. When I say lower latency I’m talking about microseconds. We didn’t get quoted a number on the difference but I do have plans to re-run my original fusion tests with an MLC card compared to the SLC card I originally used (in these tests) . Basically if you want the max performance your best bet Is the SLC cards.

For storage you’re talking about Double or triple the size for MLC cards. Again if you need the extra storage you need to look for the MLC cards to cover your needs.

For the life of the cards it will really depend on how much they are used and how frequently they are written to. Both SLC and MLC are rated in the 5+ years range before they even start to degrade in most normal applications. I know I have hard drives that have gone over 5 years of use but I know many more hard drives that haven’t made it over 3 years of use.

An MLC card is still going to squash any conventional spinning media you have in performance numbers. The question you should ask when you’re looking to buy is the same question you have for hard drives. What ratio of performance to storage do I need and I can afford for the project? When someone asks me what to buy with standard disks I always suggest to buy the smallest fastest disks and as many of them as you can if you have performance needs for the disks. If you need space and can suffer some performance then buy the larger disks and get fewer of them. That still holds true here. The difference when you look at the Fusion drive is that an MLC card can do much more than what a normal set of drives can do. So even at its worst performance it’s better than the standard drives. Another important thing I learned at the training was keeping up to date on the drivers.  The new 2.0 driver from FusionIO increases the speed of the cards .  I need to get upgrading and re-running my tests.

Advertisements

2 responses to “SLC and MLC NAND Chips for Fusion IO Cards

  1. I’m glad that the training was helpful. A couple of comments related to your post:

    The performance differences between SLC and MLC are less to do with energy per se; rather MLC requires more precise programming (to fit more levels of charge into a cell) than SLC. Think of this like hammering a nail. A smaller hammer is more precise, but it takes more whacks. More whacks means more time.

    Historically “MLC” means 2-bits per cell. There is some discussion concerning what 3-bits per cell should be called. TLC (Triple Level Cell) is sometimes used, but it’s a bit misleading, as it takes 8 levels (2^3) to represent 3 bits. I tend to use 3BPC. So, MLC as it has been used really only doubles capacity (vis-a-vis SLC). 3BPC would triple capacity and 4BPC would quadruple, …, etc.

    MLC has less inherent endurance because we are packing twice as much information into the same cell as we do with SLC, but with roughly the same dynamic range of charge. This means that there is less guard band between the 4 states associated with MLC as there is between the two states in SLC. NAND Flash media is “lossy” in nature, which means that due to a variety of mechanisms, the charge representing a state may drift over time. With a smaller guard band in MLC, the same drift has a larger impact. Impact in this sense is Raw Bit Error Rate (RBER). RBER is in many ways the measure of endurance; when RBER is too high, the device is pretty well used up.

    I’m over-simplifying the vast body of knowledge related to NAND Flash semiconductor physics, but I hope this helps a bit.

    Oh yeah – this technology really smokes! The performance is simply awesome.

    • Bob thank you for the detailed explanation of the MLC and SLC flash. I was trying not to over simplify to much and still get the main idea across. The training really showed me i still have lots to learn but would love to hear about more details like you describe. 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s