第4回目の技術講座ですが、Solid State Drive(SSD)の基本的な動作の仕組みやHDDとの比較などをご説明いたします。
【前回までの技術講座】
~データ消去の重要性について~ ハードディスクドライブ(HDD)技術講座【第1回】
グリットアーツ技術顧問
鈴木 寿人
1980年 山形富士通株式会社入社、HDDの設計・開発・製造に従事。データ消去・データリカバリビジネス立ち上げ、日本初(世界2番目)米NSA認定データ消去装置の開発を行う。以降都築電気株式会社を経て、2021年にグリットアーツ技術顧問に就任。
HDDとSSDの仕様比較
まずは、HDDとSSDの仕様比較をご覧ください。
とあるメーカーの同一カテゴリー内のHDDとSSDの比較です。
【SATA】
SATA HDD | SATA SSD | |
---|---|---|
容量 (最大) | 20TB | 3.6TB |
サイズ | 3.5インチ | 2.5インチ |
インターフェース | SATA 6Gb/s | |
セクター長 | 512e | |
回転数 | 200rpm | N/A |
データ転送速度(最大) | 285MB/s | 545 MB/s |
電源要件 | +12Vおよび+5V | +5V |
アイドル時の平均消費電力 | 5.5W | 1.9W |
【SAS】
SAS HDD | SAS SSD | |
---|---|---|
容量 (最大) | 900GB | 30TB |
サイズ | 2.5インチ | 2.5インチ |
インターフェース | SAS 12Gb/s | SAS-4 22.5Gb/s |
セクター長 | 512e | |
回転数 | 15000rpm | N/A |
データ転送速度(最大) | 315MB/s | 4150 MB/s |
電源要件 | +12Vおよび+5V | +5V |
平均消費電力 | 7.6W | 18W |
容量については、SATAですとHDDがSASですとSSDが大容量になります。
インターフェースやセクター長については、HDD、SSDともに同一です。
回転数、この項目はHDDのみとなりSSDは駆動部分が御座いませんのでN/Aです。
次にデータ転送速度(最大)についてはやはりSSDの方が速く約1.9倍の転送速度となっております。
電源要件、消費電力については、モーターなどの部品がないSSDが消費電力が低くなる傾向は御座いますが、SSDの場合容量と共に消費電力は増えてきます。
性能が良いSSDを選択すれば、良いのではないか!となるところですが、本当にそうでしょうか。SSDの仕組みと固有のふるまいを見てみましょう。
SSDの基本的構造
【第3回】でご紹介いたしましたが改めて構造をご確認ください。
- インターフェースコネクタ=HDDと同様にコンピュータとの接続端子 SAS/SATA、mSATA、M.2、U.2などがあります。
- DRAMチップ=各種管理データの保持、キャッシュ用。
- コントローラチップ=SSDの最も重要な部分。コントローラの制御により書換寿命の長期化やパフォーマンス、信頼性の向上を実現しています。
- NANDフラッシュメモリ=データを蓄積。MLC,TLC,QLC技術により大容量化などを実現しています。
NANDのSLCとMLCについて
NANDフラッシュは、セルごとに保存できるビット数に応じてSLC、MLC、TLC、QLCなどが存在します。
SLC(Single-Level Cell)は、1セルに1ビット分のデータの格納が可能
MLC(Multi-Level Cell)は、1セルに2ビット分のデータの格納が可能
TLC(Triple-Level Cell)は、1セルに3ビットのデータの格納が可能
QLC(Quadruple-Level Cell)は1セルに4ビット分のデータの格納が可能
1Cell当たりの記憶容量 | 電荷量 | プログラム/消去(P/E)サイクル(*1) | パフォーマンス | 価格 | |
---|---|---|---|---|---|
SLC | bit | 2段階 | 30,000-100,000 | 高 | 高 |
MLC | 2bit | 4段階 | 3,000-10,000 | ⇧ | ⇩ |
TLC | 3bit | 8段階 | 1,000-3,000 | ⇧ | ⇩ |
QLC | 4bit | 6段階 | 500-1,000 | 低 | 低 |
NANDとSSDの論理構造について
NAND
- 読み書きの単位はページ:ページには上書きできない
- 消去の単位はブロック:ブロックにはページ単位で順番に追記
*ブロック内でのランダム記録は不可
SSD
- 高速化のため、論理的に複数チップを1つとして扱う場合がある。そのため、論理ページとブロックサイズは、さらに拡大。
- SSDは1セクター(512Byte)単位での読み書きが必要
SSDはNANDの論理ページ、ブロックサイズとセクターサイズの違いやランダムアクセスの問題を解決するために、データ管理システムが必要となります。
SSDのデータ管理システムとは
- NANDの制約を吸収
- LBA空間とNAND内データの対応管理する事でセクター単位のランダムアクセスを実現している。
- NAND・DRAMキャッシュを管理する事で、書き込み効率を向上させている。
- 消去回数の均一化を行い寿命の延命を図っている。
次にデータ更新方法の原理(リード・モデファイ・ライト)についてご説明いたします。
データ更新方法の原理
*管理サイズを仮に8KiBととします。
管理サイズの8KiB中の4KiBがホストからWrite要求があった場合
部分的な更新が出来ないため、NANDにあるBlock_AをDRAMへコピーを行います。
コピーのため、NAND内のデータは保存されております。
DRAM上のデータを更新します。
DRAM上のデータを更新します。
DRAMのデータを安全のためBlock_Bへ書き込みします。
最後にDRAM内のデータ及びBlock_Aのデータを開放し
データ管理システムの記録位置を更新し完了します。
上記のように処理工程が多いため、書き込み効率に影響を与えます。
管理サイズの8KiB中の4KiBの書き込みを行った場合は、実際の書き込み量は2倍です。
(WAF=2(書込み効率=2、仮にHOSTから2KiB書込みコマンドの場合は、WAF=4))
ガベージコレクション
データ更新方法の原理でご説明した内容では、ブロックすべてのデータの一部の更新を例にいたしましたが、データの一部を削除した場合等使用しないデータができた際は読み出し不可領域(無効)として登録されてしまいます。
*LBAとそのLBAの最新データが記録される物理的な記録領域は都度変化いたします。
そのため、あとでガベージコレクションを行い記録域の調整を行います。
Block_C、Block_DとBlock_Eがあると想定します。
Block_Dのグレイの部分は読み出し不可領域とします。ブルーはデータです。
Block_Dには、読み出し不可領域多く、書き込みもできません。
ガベージコレクションでBlock_DにあるデータをBlock_Eへ書き込みます。
Block_Dがすべて読み出し不可領域です。
その後Block_DをEraseを行い利用可能な領域として再生されます。
ガベージコレクションを行う際は、SSDコントローラは、データを読み出し書き込みを行うため、SSDの性能は落ちることになります。
ただ、現在の製品ではバックグラウンドガベージコレクションやTRIMなどを活用し性能の低下を少なくする機能を備えています。
TRIMコマンド
- TRIMコマンドは、SATA SSDのためのコマンドになります。
*SASやNVMeは別のコマンドが存在します。 - TRIMコマンドはSSDの対応とOSの対応が必要になります。
- TRIMコマンドを受け取ったSSDが、何をするかはSSDに依存されています。
- ページ管理部分にのみ効果があり、ブロック管理部分にはほとんど効果はありません。
- 残り容量の少ない場合は、デフラグやオーバープロビジョニングをしている方が有効な場合もあります。
TRIMコマンドの効果はSSDに依存しているため、注意が必要です
SSDの故障について
次にSSDの故障については下記のようなものが考えられます
- NANDのブロック故障が増加し動作不能になる。リードオンリーモードになるものもある
- エラー訂正に失敗しデータが失われる。ホスト側にUncollectable Errorの応答がある
- ATAコマンド処理ができない。NANDチップ、コントローラ、DRAMなどの故障
SSDの故障確率
では、SSDの故障確率についてお話しいたします。
SSDの故障確率は、以下の変数による関数で導き出されます。
① Drive全体の容量
② 累積書き込み量
③ 書き込み効率
NANDの書換え回数を求める
また、最近のSSDの仕様書にはTBWの記載があります。
上記故障確率やTBWもそうですが、ユーザー(使用方法)によって異なってきますので予めご承知ください。
- TBW=JEDECが定めたワークロードで算出されている
このような指標を基に故障確率を考えてみてはいかがでしょうか。
さて、SSDの故障や故障確率についてお話しましたが、SSDには寿命を延ばす技術もございます。
ウェア・レベリング
NANDには書換え回数の上限がございます。
書換え回数の上限を迎えると、書込みが出来なくなり書込みのできないブロックは代替領域から代替ブロックへ置き換わりますが、代替ブロックも有限ですので多くなると尽きてしまいます。そうすると、SSDは使用できなくなります。
これが書換えブロックの偏りにより起こると、寿命前に使用できなくなってしまいます。
そのようなことが起きないように、全領域の書き込みの平準化を行う技術がウェア・レベリングです。
ECC等によるデータエラー修復
ECCの訂正限界を超える前に書き直す(リフレッシュ)などがあります。
ECCやリフレッシュにはデメリットもあり、ECCでは訂正方法により応答速度の低下がみられたり、リフレッシュでは消去回数が増加します。
このような機能を搭載することにより、製品の寿命を向上させています。
最後に、SSDは劣化要因や書換回数の上限など様々な制限はありますが、記録性能の向上という効果もあります。使用環境などを考慮して最適なSSDをご選択いただければと思います。
SSD選択について、不明な点があればお問い合わせよりご連絡頂きます様よろしくお願い致します。
これからも、様々な最新技術を投入し大容量化に進んでいくHDD、容量が大きくなることは、それだけデータが多くなってきていることの証でもあります。
その為、データ消去の重要性について考えませんと、大変な事態を招く恐れがございます。
データ消去・処分でお困りの企業様、是非弊社のデータ消去サービス「Security Concerns Free」をご検討ください。
弊社には、累計22,000台のサーバ稼働をささえている熟練のエンジニアが多数在籍しております。
もしサーバ管理でお悩み事がございましら、弊社の無料相談窓口をご利用いただけたらと思います。
ぜひお気軽にご相談ください。