Direct Write

Direct Write

Direct Write

本文ではSSDにおけるDWPD(Drive Writes Per Day)の意味と正確な計算方法を説明し、DWPDに影響するさまざまな要因とDWPDを増やす方法を分析するとともに、どのようなアプリケーション領域がより大きなDWPDを必要とするかについて述べています。

SSDが適切であるかどうかは、容量と性能のほかに寿命も重要な指標のひとつとなります。SSDの寿命は通常書き込みデータの総量に関係し、書き込み頻度が高いほど、SSDは早く消耗します。SSDの寿命を知るためには主に2つの指標があります。ひとつはTBW(Total Bytes Written)で、SSDの破損前に書き込み可能な総バイト数を表します。一般的にSSDには数十から数百テラバイトの書き込みが可能で、そのためTBWはTera Bytes Writtenとも呼ばれ、SSDに書き込み可能な総バイト数を表します。もうひとつの指標がDWPDで、保証期間内においてユーザーが1日にドライブに書き込むことのできる回数を表します。SSDの容量を256G、DWPDを1.5と仮定すると、ユーザーの1日当たりの書き込みデータ量が256GB × 1.5 = 384GBを超えない限り、保証期間内にSSDが破損することはありません。

異なるSSDのTBWとDWPDは、通常SSDのファームウェアアルゴリズム、NANDフラッシュの種類、SSDの予備領域に関連しています。一般的に計算公式は以下のようになります:

NANDサイズ(TB)は、SSDに接続されたNANDフラッシュの総容量(単位:テラバイト)、P/Eサイクルは、NANDの書き込み消去回数、WAF(Write Amplification Factor)は書き込みデータの増幅率、Wear Level Factorは、消去平均化のパラメータを指します。WAFとWear Level Factorは主にSSDのファームウェアアルゴリズムに関係し、SSD Capacity (TB)はSSDの容量、Warranty Dayは保証日数を指します。上記の公式によると、SSDのDWPDを増やすには、ファームウェアアルゴリズムの改善以外に2つの方法しかありません。ひとつはP/Eサイクルの高いNANDフラッシュを使用することで、例を挙げると、通常SLC NANDのP/Eサイクルは20K~60Kであるのに対して、TLC NANDではわずか1K~2Kとなっています。ただし、SLCの価格はTLCに比べて非常に高くなっています。もうひとつの方法は、SSDの予備領域の増加、つまりOP(Over Provisioning)を増加させることです。この2つの方法はいずれもSSDのコストを増加させるため、一般的にはDWPDが高いSSDほど価格が高くなります。

現在のSSDは性能と安定性を向上させるために、TLC NANDのあるブロックを疑似SLCとしてSLCキャッシュに使用しており、また、SLCキャッシュはスタティック SLCとダイナミック SLCの2つに分けることができます。上図のようにスタティックSLCではこれらのブロックを常に疑似SLCとし、ダイナミック SLCでは動的にTLCに切り替えて使用します。この方法を用いることで、上記のDWPDの計算方法にはいくつかの問題が生じます。疑似SLCとTLCのP/Eサイクルが大きく異なっていること、また、WAFの計算時にSLCキャッシュの影響を考慮するかについて各コントローラメーカーの計算方法が異なっているためです。そのためこれらの問題を回避するには、以下の公式を用いてDWPDを求める必要があります:

上記の公式ではスタティックSLCとTLCの2つの領域を別々に計算します。この2つの領域は互いにウェアレベリングを行わないため、いずれかの領域がP/Eサイクルに達した時点でSSDの寿命が終了します。そのため2つの領域のTBWの最小値を用いて最終的なDWPDを求めます。ここで注意しなければならないのは、ダイナミックSLC領域のP/EサイクルはTLCと同じであり、TLCブロックとウェアレベリングを行うため、合算してTBWを求める必要があります。あるSLCキャッシュの方法は、round robin(ラウンドロビン)であり、各ブロックの消去回数は同じであるため、Wear Level Factorは1となります。上記の公式が1つの領域のみである場合、前ページの公式と同様であることに注意してください。

DWPD計算時の書き込みモードには、JEDECで定義された2つのworkload(作業負荷)があり、ひとつは消費者向けに用いられるclient workloadで、もうひとつは主に企業レベルのSSDに用いられるenterprise workloadとなります。これら2つのworkloadのランダム書き込みの範囲は、SSD WAFに大きく影響します。

DWPDの算出後、このデータの正確性を検証するには、以下のような方法があります:

  1. SSDが破損するまで直接書き込みを行います。ただし、テスト時間が非常に長くなるという欠点があります。
  2. NANDのプロトコルアナライザを使用してNANDの消去回数を確認し、SSDコントローラによって提供される消去回数が正しいことを検証します。
  3. SSDのウェアレベリング機能を一時的に停止し、小さな範囲に書き込みを集中させます。ただし、この方法の精度はSSDのアルゴリズムに関連します。

 

通常、クラウドとこれらのアプリケーション領域におけるモニタリングは、頻繁に書き込みが行われるため、DWPDの高いSSDを使用する必要があり、DWPDに必要な値は通常1~3となります。一般ユーザーや読み取りを主とするアプリケーション領域では、1日に大量のデータを書き込む可能性が低いため、DWPDは0.2から0.5程度のSSDで十分に対応することができます。

 

その他の技術

お問い合わせ