SSD (ソリッド ステート ドライブ) には、速度、低消費電力、耐久性、軽量などの利点があります。 SSD は HDD (ハードディスク ドライブ) と同じくらい広く使用されています。 HDD と SSD の違いは、データの管理方法です。このタスクは、SSD では HDD よりも複雑です。適切に管理すれば、SSD は高速であり、ドライブの寿命全体にわたって耐久性が長くなります。
NAND(NOT-ANDゲート)の基本動作
単一の NAND フラッシュ セルを個別に読み書きすることはできません。データはグループ化され、非常に具体的なプロパティを使用してアクセスされる必要があります。 SSD の読み取り、書き込み、および消去のプロパティは次のとおりです。
1. ページ 1 にアライメントされた読み取りは、オペレーティング システムから 1 バイトのみを要求できますが、ページ全体が SSD で取得されるため、必要以上に多くのデータが読み取られます。
2. 書き込みはページ上で整列します。 SSD にデータを書き込む場合、書き込みはページ サイズの増分で行われます。書き込み操作が 1 バイトのみに影響する場合でも、ページ全体をフラッシュに書き込む必要があります。
ページにデータを書き込む方法:
a.青色のデータはデータの書き込みを示します。
b.黄色の新しいデータがブロックに追加されます。青色のデータも更新する必要があります。上書きできないため、再度書き込む必要があり、元のデータは無効としてマークされます。
c.このプロセスは、青色のデータが更新を受け取るたびに繰り返されます。
3. 消去はブロック サイズに合わせて行われます。ページは読み取り/書き込みを行いますが、ページごとに消去することはできず、ブロック全体を一度に消去することしかできません。
読み取りと書き込みはページ レベルで実行できますが、消去 (削除) はブロック レベルでのみ実行できます。ユーザーは、ブロックから、またはブロックに任意の数のページを読み書きできますが、ユーザーがそのブロックの一部を消去したい場合は、ドライブがブロックを消去する必要があります。
SSD での消去操作のプロパティ
a.すべてのページが空です
b.データが書き込まれます
c.ブロックがいっぱいです
d.データは無効としてマークされています。削除対象としてマークされていない有効なデータは、新しいデータと結合されます。新結合グループが“動く”。ここでは、無効としてマークされていない「良好なデータ」が、青色のブロックと緑色のブロックから、使用可能なページのある空のブロックに書き換えられます。
e.有効なデータは別のブロックに書き込まれます。ブロック内のすべてのデータを無効としてマークできます
f.ブロック内のすべてのデータがクリアされ、再利用できます
フラッシュ変換層 (FTL)
SSD は、SATA (シリアル ATA) インターフェイスと同じホスト インターフェイスを使用します。 NAND フラッシュ メモリの内部特性を隠し、LBA (論理ブロック アドレス) の配列のみをホストに公開するには、追加のコンポーネントが必要です。このコンポーネントは FTL であり、SSD コントローラー内に常駐します。 FTL は重要であり、論理ブロック マッピングとガベージ コレクションという 2 つの主な目的があります。
論理マッピング
論理ブロック マッピングは、ホスト空間の LBA を物理 NAND フラッシュ メモリ空間の PBA (物理ブロック アドレス) に変換します。このマッピングはテーブルの形式をとり、任意の LBA に対応する PBA を示します。このマッピング テーブルは、より高速なアクセスのために SSD のキャッシュに保存されます。停電時にもフラッシュメモリに保存されます。
ガベージコレクション
SSD コントローラーのガベージ コレクション プロセスにより、「無効な」ページが確実に消去され、「空き」状態に復元されます。ページは部分的に書き込むことができないため、これにより、受信書き込みコマンド用のスペースが確保されます。ページ内のデータを更新する必要がある場合、新しいデータは空きページに書き込まれ、前のデータを含むページは無効としてマークされます。ブロックに無効なページが含まれている場合、再書き込みする前にそのページを消去する必要があります。
まとめ
SSD の動作は、NAND フラッシュの機能によって制限されます。
1. 書き込み操作はページ単位で行う必要があり、ページの元のコンテンツを上書きすることはできません。
2. 物理的な制限により、データの消去はブロック レベルで行う必要があります。