ホーム SSDフラッシュ

SSDフラッシュ

フラッシュコンポーネント

ソリッド ステート フラッシュ メモリは、NAND および NOR テクノロジーを使用して利用できます。 NOR テクノロジーにより、通常の RAM メモリ チップと同じように直接ランダム アドレス指定とデータ フローが可能になり、処理システム内でプログラムの保存と実行に使用できるようになります。 NOR フラッシュ チップは速度が遅く、密度が低く、再書き込み耐久性が限られているため、回転ディスクの代替として使用する場合は NAND ベースのソリューションよりも劣ります。   

ソリッド ステート フラッシュ メモリは、NAND および NOR テクノロジーを使用して利用できます。 NOR テクノロジーにより、通常の RAM メモリ チップと同じように直接ランダム アドレス指定とデータ フローが可能になり、処理システム内でプログラムの保存と実行に使用できるようになります。 NOR フラッシュ チップは速度が遅く、密度が低く、再書き込み耐久性が限られているため、回転ディスクの代替として使用する場合は NAND ベースのソリューションよりも劣ります。   

NAND フラッシュ テクノロジは、ディスク ドライブと同様のシリアル メモリです。データは、アドレス指定可能な個別のビットまたはバイトとしてではなく、ブロック単位でアドレス指定および保存されます。 NAND フラッシュ ベースのソリッド ステート ドライブは、システムの観点から回転磁気ディスクを模倣するように設計されており、より高速なアクセス時間と同等のデータ スループット レートを提供します。磁気ディスクと比較した SSD の主な欠点は、データ密度とメガバイトあたりのコストです。

フラッシュコンポーネント
 
このセクションでは、SSD 製品の大半を占める NAND コンポーネントに焦点を当てます。 NAND フラッシュ コンポーネントの密度は、チップあたり 1Gb (ギガビット) から 64Gb まであります。シングル レベル セル (SLC) 構成とマルチレベル セル (MLC) 構成もあり、SLC はセルあたり 1 ビットを格納でき、MLC はセルあたり XNUMX ビット以上を格納できます。  
 
磁気ドライブのセクターとトラックと同様に、NAND フラッシュ コンポーネントにはページとブロックと呼ばれる構造があります。ページはセクター、ブロックはトラックに似ており、ディスクと同様に、各セクターにエラー訂正コード (ECC) が関連付けられています。一般的な NAND フラッシュ コンポーネントの構成は、ブロック サイズ 128 KB で、それぞれ 4,096+128 バイトの 512 ページです。データはディスクと同様に、シーケンシャルに読み書きされます。
 
NAND フラッシュにも、ディスクの表面欠陥と同様に、固有のセル欠陥があります。このため、スペア データ ブロックがデバイスに提供され、再マッピング テーブルがデバイスに提供され、システム ソフトウェアが障害のあるデータ ブロックが発見されたときにマスクできるようになります。 
 
磁気ディスクとは異なり、NAND フラッシュの書き換え耐久性はブロックごとに約 1,000,000 回に制限されています。同じブロックに無限に書き込むことはできません。このため、ウェアレベリング スキームを使用して、ディレクトリなどのより頻繁にアクセスされる領域を定期的に移動します。ウェアレベリングはハードディスクのデフラグに似ていますが、NAND フラッシュの場合はこれを実行する必要があり、そうしないと最終的にデータが失われる可能性があります。
 
一部のフラッシュ チップにはウェアレベリングのサポートが組み込まれていますが、この機能は主にコントローラーまたはシステム ソフトウェア層によって実行されます。通常のデバイスのパフォーマンスを妨げないように、ウェアレベリング アクティビティを非表示にするために多大な努力が払われています。
 
Open NAND フラッシュ インターフェイス グループ (ONFI) は、業界で広く採用されている NAND フラッシュ コンポーネントの標準を開発しました。この標準は、共通の I/O およびコマンド セットを提供し、ONFI 準拠コンポーネントの共通アーキテクチャを効果的に標準化します。このアーキテクチャには、次の共通要素が含まれています。
 
  • データ インターフェース – 通常は 8 ビット、より高密度な部分では 16 ビットの場合もあります
  • I/O コントローラー – データ、コマンド、およびステータス ワード タイプを多重化します。コマンドをデコードします
  • 制御ロジック – フラッシュ コントローラーとの I/O トランザクション ハンドシェイクを管理します
  • アドレス レジスタ – 読み取りまたは書き込みのためにアクセスされるブロックを識別します
  • データ/キャッシュ レジスタ – I/O と配列の間でデータをバッファリングする単一ワードの静的レジスタ
  • ステータス レジスタ – トランザクションとデータ フローのエラーにフラグを立てます
  • 行/列デコード – アドレス値をページ値に分割します。
  • フラッシュ アレイ – 行と列に配置されたフラッシュ セル

 

フラッシュパーツ
一般的な SSD フラッシュ コンポーネントのブロック図
 
以下の表では、標準 ONFI NAND フラッシュ パーツの各 I/O および制御ラインを詳しく説明します。 
 
コントロールライン
説明
使用法
THE
入力
アドレスラッチイネーブル:ALEがHIGHの間、アドレス情報は
I/O[7:0]からオンチップアドレスレジスタに転送されます。 LOWからHIGHへ
WE# での遷移 — アドレス情報がロードされていないとき — ALE 信号
LOW で駆動する必要があります。
CE#
入力
チップイネーブル: ホストシステムと NAND フラッシュデバイス間の転送をゲートします。
デバイスがビジーになった後、または PROGRAM または ERASE 操作を開始した後、CE# は
アサート解除されました。動作の詳細については、16 ページの「バスの動作」を参照してください。
CLE
入力
コマンドラッチイネーブル: CLE が HIGH の場合、情報は次から転送されます。
WE# の立ち上がりエッジでオンチップ コマンド レジスタへの I/O [7:0]。いつ
コマンド情報がロードされていない場合は、CLE 信号を LOW に駆動する必要があります。
LOCK
入力
電源投入時に LOCK が HIGH の場合、BLOCK LOCK 機能が有効になります。
BLOCK LOCK を無効にするには、電源投入時に LOCK を VSS に接続するか、そのままにしておきます。
未接続 (内部プルダウン)。
キング#
入力
読み取り有効化: NAND フラッシュ デバイスからホスト システムへの転送をゲートします。
私たちは#
入力
書き込みイネーブル: ホスト システムから NAND フラッシュ デバイスへの転送をゲートします。
WP#
入力
書き込み保護: 不注意な PROGRAM および ERASE 操作から保護します。全て
WP# が LOW の場合、PROGRAM および ERASE 操作は無効になります。
I/O[7:0] (x8)
I/O[15:0] (x16)
I / O
データ入力/出力: 双方向 I/O 信号はアドレス、データ、命令を転送します。
情報。データは READ 操作中にのみ出力されます。またある時は I/O
信号は入力です。
R/B#
出力
レディ/ビジー: レディ/ビジー信号は、オープンドレイン、アクティブ LOW 出力であり、
外部プルアップ抵抗。この信号は、チップがいつ処理しているかを示すために使用されます。
PROGRAM または ERASE 操作。この信号は、READ 操作中にも使用され、
データがアレイからシリアル データ レジスタに転送されるときを示します。
これらの動作が完了すると、レディ/ビジー信号はハイ インピーダンスに戻ります。
でのみ停止させることができます。
VCC
供給
VCC: VCC ボールは電源です。
VSSの
供給
VSS: VSS ボールはグランド接続です。
 
この規格の機能には次のようなものがあります。
 
  • 検出 - フラッシュ コントローラーがフラッシュ コンポーネントの特性を判断できるようにします。
  • LUN アドレッシング – コントローラーがフラッシュ コンポーネントでの操作を個別にアクティブ化できるようにします。
  • インターリーブ – コントローラーが一連のフラッシュ コンポーネントに対する操作を同期できるようにします。
  • キャッシュ – フラッシュ アレイの操作とは関係なく、コントローラーとの間でデータをやり取りできるようになります。
  • コピーバック – コントローラーが直接関与することなく、Flash コンポーネントがデータをあるブロックから別のブロックに移動できるようにします。
 
2010 年初頭の時点で市場に出ている主要な SSD フラッシュ コンポーネントのサプライヤーは次のとおりです。
 
  • ハイニックス
  • インテル
  • ミクロン
  • サンディスク
  • 東芝
  • ニューモニクス (ST マイクロ)
  • サムスン
 
各サプライヤーは、競合他社との差別化を図るために、さまざまな容量、速度、機能を提供しています。
システム設計者は、ターゲット SSD 製品およびターゲット市場に合わせてサプライヤーと特定のフラッシュ コンポーネントを選択する際に、一連のトレードオフを実行します。  
 
トレードオフには次のようなものがあります。
 
  • プログラマティック – コスト、スケジュール、サポート、保証、および可用性。
  • 技術的 – パフォーマンス、電力、パッケージ オプション、機能、拡張性、および柔軟性。
  • その他 – 共通性、互換性、ドキュメント、開発サポート、テスト、評判。
 
フラッシュ コンポーネントを選択するプロセスで、システム設計者は、フラッシュ コントローラーや SSD 設計に必要なその他の部品についても同じ分析を行います。特定の製品の要件を最もよく満たすサプライヤーとコンポーネントの適切な組み合わせを見つけるのは、反復的なプロセスです。   
 
テクノロジーの進化
 
次世代のフラッシュ コンポーネントは、基本コンポーネントにさらに多くの機能を統合し、今日の SSD で使用されている ONFI タイプの標準フラッシュ メモリ バスではなく、インテリジェントなインターフェイスを提供します。
 
当初、このアプローチにより、NAND フラッシュ コンポーネントをモバイル デバイスなどの製品のホスト プロセッサ バスに近づけることができ、大容量のストレージ容量と高解像度データのストリーミングおよび記録のサポートが提供されます。 
 
PC の場合、現在 PC には NAND フラッシュ用の「DIMM」規格がありません。それは必要です。これには、モジュール サイズ、コネクタ、バス タイプ、エラー管理、ドライバーが含まれます。 
 
関連ガイド