現代の NAND フラッシュデバイスにおいて、主な制約はプログラム/イレース寿命(P/E サイクル数)です。この制約の主要な解決策は、各ブロックが均等に分布されるように、NAND フラッシュ デバイス全体の消耗率を管理することです。 したがって、NAND フラッシュ デバイスの寿命を最大限に延ばすためには、ブロック全体の摩耗を効率的に管理する必要があります。これを達成するための一つの方法は、各ブロックの P/E サイクルを個別に管理することです。これにより、ブロックを定期的に分散させ、一部のブロックの重複を避けるのに役立ちます。この方法はウェアレベリングと呼ばれます。フラッシュトランスレーションレイヤー(FTL)には、静的および動的の2つの主要なウェアレベリングメカニズムが組み込まれています。
ウェアレベリングはフラッシュトランスレーションレイヤー(FTL)に実装されており、これはファイルシステムと NAND フラッシュデバイスの間の中間メカニズムです。FTL は論理から物理アドレッシングへのマッピングルールを提供します。ウェアレベリングは、マッピングルールに沿ったブロックの摩耗を軽減するのに役立ちます。図1に示す。
Wear Leveling in the FTL
NAND フラッシュデバイスは3つの部分に分かれます。データブロックは論理容量に予約され、空きブロックはウェアレベリングおよびバッドブロックプールの管理に割り当てられ、システムブロックはマッピングテーブル、キャッシュブロックなどに割り当てられます。図2に示す。
Flash Block Management
4-1 ダイナミックウェアレベリング
NANDフラッシュデバイスには2つのデータサブセットがあります:静的データと動的データ。静的データは物理ブロックでめったに使用されず、ほとんど変更されない情報です。一方、動的データは頻繁に変更され、常に再プログラムされます。ダイナミックウェアレベリングは、最も少ないP/Eサイクルを持つ空きブロックに動的データを割り当てます。この方法は実装が容易ですが、全体のフラッシュデバイスを完全に最適化するためには包括的な技術ではありません。図3に示す。
Dynamic Wear Leveling
4-2 スタティックウェアレベリング
スタティックウェアレベリングは、空白の領域および既に書き込まれたブロックを含むNANDフラッシュダイ全体を考慮します。スタティックウェアレベリングは静的データを空きブロックに割り当てます。したがって、フラッシュデバイスに流動性をもたらします。これにより、全体のウェアレベリングのボトルネックを修正し、メモリアレイのより効果的な使用を実現し、フラッシュデバイスの寿命を最大化できます。図4に示す。
Static Wear Leveling
4-3 グローバルウェアレベリング
単一のNANDフラッシュダイでのみ機能するスタティックウェアレベリングとは対照的に、グローバルウェアレベリングの範囲はデバイス全体をカバーします。これにより、デバイス全体でより頻繁に書き込まれていないブロックでの書き込み動作が保証されます。これはフラッシュデバイスを複数のゾーンに分割することによってバランスを取ります。ホストが同じゾーンに繰り返しアクセスし続ける場合、そのゾーンはより速く消耗する可能性があります。グローバルウェアレベリングはこれを防ぐために介入し、そのアクセスを再割り当てし、均等に消耗するようにします。図5に示す。
Global Wear Leveling
Comparison of Different Wear Leveling Mechanisms
SP IndustrialのSDカードシリーズSDI730/530/330およびmicroSDカードシリーズSDT730/530/330は、グローバルウェアレベリング、スタティックウェアレベリング、ダイナミックウェアレベリングのすべてのメカニズムを包括的に備えています。これらの異なるフラッシュの使用状態を管理するための多角的なカバレッジにより、NANDフラッシュの最適な耐久性と最高の信頼性が実現され、最適な性能が確保されます。SP IndustrialのmicroSDカードシリーズSDT550/350には、スタティックおよびダイナミックウェアレベリングメカニズムが搭載されています。これにより、3D TLCを使用して容量を向上させるオプションが提供されていますが、P/Eサイクルの耐久性を損なうことなく実現されています。これらのシリーズは、ダッシュカメラの監視ビデオ記録やTier-1自動車ベンダー向けのテレマティクスシステム、テレコムの4G/5G基地局向けのデータログシステム、医療用ベンチレーター機器の患者データ記録など、重要なアプリケーションで広く採用されています。