IzumoFS with SSD Part 1

When To Use SSD With SDS - Part 1

The biggest advantage of SDS (Software-Defined Storage), such as IzumoFS, is that there are no specific dependencies with hardwares (SDS is still a buzz word so some SDS vendors has only appliance products). Because you have freedom to choose different hardware with different specs, SDS can be used for pretty much anything from HPC to archiving.

On the other hand, because it has too much of freedom, sometime it's actually hard to choose the right hardware for your needs. In this blog post series I'll introduce when to use SSD with IzumoFS.

Difference between HDD and SSD.

Let me start with some basics. HDD has its nature that it's very good at writing data by sequential access. But with random accessed IO, it has to wait disc to spin so performance will drop down significantly. Also if you have lots of threads going on that will increase the waiting time even in sequential access.

Difference between sequential access and random access

The minimum data store unit in SSD is called “cell” and it saves data by putting electron into the cell. Read and write will be performed from “pages” which is a raw of many cells. Data deletion will be performed to something called “block” which is wrapper for many pages.

Since SSD has its limitation not possible to overwrite existing data, when new data needs to be saved it first write those into unused block and then delete the old block. SSD has multiple IO channel so it'll perform very fast when you have parallel IO.

How SSD stored data

Matching IO type

So to make little more clearer it'll be as below.

HDD
Low multiplicity sequential IO
SDD
Parallel operation / small size IO / random IO

Limitation of write handling in SSD

So now you know the difference of HDD and SSD a little. There are also some other things we must be aware of write handling on SSD.

  • If IO is bigger than the page size, it will be split and handled sequentially. So it will loose the advantage of parallel IO handling.
  • Even if IO is smaller than page size, it can't write into unused cell if other cells in the page is already used. Plus other existing data at target page will be written to unused page with new data. This means unnecessary data transfer will increase (Write Amplification).

So the best situation for SSD to work is when there is right size of data and IO.

Limitation of write handling in SSD

When SSD faces these kind of limitation, not only write performance decreases but in situation where R/W both exist the read performance also goes down.

Common enterprise NAS has fixed file cluster size unlike IzumoFS. For example, xfs file system, the default file system for CentOS 7, can choose cluster size from 512B to 64KB. In next blog post, I'll discuss about cluster size of file system and how to optimize IzumoFS configuration.

  1. If cell holds 1bit of data it's called Single Level Cell (SLC). If it's 2bit, Multi Level Cell (MLC) and if 3bit, that's Tri Level Cell (TLC). In big picture SLC has greater performance or durability, and MLC and TLC is easier to create huge capacity storage.

Series

  1. When To Use SSD With SDS - Part 1
  2. When To Use SSD With SDS - Part 2
  3. When To Use SSD With SDS - Part 3

Share this article