ウェアレベリング

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

ウェアレベリング(ウェアレベリングとも呼ばれます)は、ソリッドステートドライブ(SSD)やUSBフラッシュドライブ使用されるフラッシュメモリなど、ある種の消去可能なコンピュータストレージメディアの寿命を延ばすための手法です[1] 。および相変化メモリこのようなメモリシステムでさまざまなレベルの寿命を延ばすウェアレベリングメカニズムがいくつかあります。[2] [3]

プリエンプティブウェアレベリング(PWL)という用語は、オーディオおよびビデオデータを保存するために設計されたハードディスクドライブ(HDD)で使用される保存技術を説明するためにWesternDigitalによって使用されています。[4]ただし、この記事のコンテキストでは、HDDは一般的にウェアレベリングデバイスではありません。

理論的根拠

EEPROMとフラッシュメモリメディアには個別に消去可能なセグメントがあり、それぞれが信頼性が低くなる前に限られた数の消去サイクルを経ることができます。これは通常約3,000 / 5,000サイクルです[5] [6]が、多くのフラッシュデバイスには100,000サイクル以上の特別に延長された寿命を持つ1つのブロックがあり、フラッシュメモリコントローラーがセグメント間のデータの摩耗と移動を追跡するために使用できます。CD-RWDVD- RWなどの消去可能な光メディアの定格は最大1,000サイクル(DVD-RAMメディアの場合は100,000サイクル)です。

ウェアレベリングは、消去と再書き込みがメディア全体に均等に分散されるようにデータを配置することで、これらの制限を回避しようとします。このように、書き込みサイクルが集中しているために、単一の消去ブロックが早期に失敗することはありません。[7]フラッシュメモリでは、チップ上の1つのブロックが他のブロックよりも長寿命になるように設計されているため、メモリコントローラは、破損の可能性を抑えて運用データを保存できます。[3] [8]

FATUFSHFSext2NTFSなどの従来のファイルシステムは、もともと磁気ディスク用に設計されていたため、データ構造(ディレクトリなど)の多くを同じ領域に繰り返し書き換えます。これらのシステムをフラッシュメモリメディアで使用する場合、これが問題になります。この問題は、一部のファイルシステムが最終アクセス時間を追跡するという事実によって悪化します。これにより、ファイルメタデータが常にインプレースで書き換えられる可能性があります。[9]

タイプ

フラッシュメモリストレージデバイスで使用されるウェアレベリングメカニズムには、次の3つの基本的なタイプがあります。[2]

ウェアレベリングなし

データがフラッシュに書き込まれる場合、ウェアレベリングのないフラッシュメモリストレージシステムはそれほど長くは続かないでしょう。ウェアレベリングがない場合、基盤となるフラッシュコントローラは、オペレーティングシステム(OS)からフラッシュメモリの物理アドレスに論理アドレスを永続的に割り当てる必要があります。つまり、以前に書き込まれたブロックへのすべての書き込みは、最初に読み取り、消去、変更、および同じ場所への再書き込みが必要です。このアプローチは非常に時間がかかり、頻繁に書き込まれる場所はすぐに使い果たされますが、他の場所はまったく使用されません。数ブロックが寿命に達すると、そのようなデバイスは動作不能になります。[2]

動的ウェアレベリング

最初のタイプのウェアレベリングは動的ウェアレベリングと呼ばれ、マップを使用してOSから物理フラッシュメモリに論理ブロックアドレス(LBA)をリンクします。OSが置換データを書き込むたびに、マップが更新され、元の物理ブロックが無効なデータとしてマークされ、新しいブロックがそのマップエントリにリンクされます。データのブロックがフラッシュメモリに再書き込みされるたびに、新しい場所に書き込まれます。ただし、交換データを取得しないフラッシュメモリブロックは追加の摩耗に耐えられないため、名前はリサイクルされる動的データにのみ由来します。このようなデバイスは、ウェアレベリングがない場合よりも長持ちする可能性がありますが、デバイスが動作しなくなった場合でも、ブロックはアクティブなままです。[2] [3]

静的ウェアレベリング

もう1つのタイプのウェアレベリングは静的ウェアレベリングと呼ばれ、マップを使用してLBAを物理メモリアドレスにリンクします。静的ウェアレベリングは動的ウェアレベリングと同じように機能しますが、変化しない静的ブロックが定期的に移動されるため、これらの使用率の低いセルを他のデータで使用できます。この回転効果により、SSDは、ほとんどのブロックが寿命に近づくまで動作し続けることができます。[2] [3]

グローバルウェアレベリング

動的および静的ウェアレベリングの両方がローカルレベルで実装されます。これは単に、マルチチップ製品では、すべてのチップが単一のリソースとして管理されることを意味します。NANDフラッシュメモリ内のさまざまなチップの欠陥ブロックの数はさまざまです。特定のチップでは、すべてのデータブロックが使い果たされている可能性がありますが、別のチップでは、すべてのブロックがアクティブなままである可​​能性があります。この状況を救うために、グローバルなウェアレベリングが導入されています。グローバルウェアレベリングでは、フラッシュメモリ内のすべてのフラッシュチップ内のすべてのブロックが単一のプールで一緒に管理されます。これにより、製品内のすべてのチップのすべてのセルが均等に摩耗します。[10] [11]

比較

次の表では、静的ウェアレベリングと動的ウェアレベリングを比較しています。[3]

アイテム 静的 動的
耐久 より長い平均余命 平均余命が短い
パフォーマンス もっとゆっくり もっと早く
設計の複雑さ より複雑 それほど複雑ではない
典型的な使用法 SSD、[2]
産業用フラッシュドライブ[12]
民生用フラッシュドライブ

テクニック

メディアの寿命を延ばすためのいくつかのテクニックがあります:

  • エラーを検出したりエラーを訂正したりするために、ブロックまたはセクターごとにチェックサムまたはエラー訂正コードを保持できます。
  • 予備スペースのプールも維持できます。ブロックまたはセクターに障害が発生した場合、ブロックまたはセクターへの将来の読み取りおよび書き込みは、そのプール内の代替にリダイレクトできます。
  • メディア上のブロックまたはセクターは、最も使用頻度の低い(LFU)キューで追跡できます。キュー自体のデータ構造は、デバイス外に保存するか、使用するスペース自体がウェアレベリングされるように、またはフラッシュメモリの場合は特別に寿命の長いブロックに保存する必要があります。ただし、通常のキャッシュアルゴリズムは、 RAMベースのキャッシュに出入りするデータフローを管理するように設計されており、非対称性があるため、フラッシュベースのストレージデバイスには直接適していません。通常、読み取りは書き込みや消去操作よりもはるかに高速です。一度に実行できる「ブロック」は1つだけです。[13]

一部のスペシャリストのセキュアデジタルカードでは、[12]技術は、組み込みのマイクロコントローラーによってハードウェアに実装されています。このようなデバイスでは、ウェアレベリングは透過的であり、ほとんどの従来のファイルシステムをそのまま使用できます。

ウェアレベリングは、フラッシュメディア上のJFFS2YAFFS 、または光メディア上のUDFなどの専用ファイルシステムによってソフトウェアに実装することもできます。3つはすべてログ構造化ファイルシステムであり、メディアを循環ログとして扱い、シーケンシャルパスで書き込みます。ZFSなどのコピーオンライト戦略を実装するファイルシステムも、ウェアレベリングの形式を実装します。

も参照してください

参考文献

  1. ^ 米国特許6,850,443フラッシュEEPROMシステムのウェアレベリング技術。
  2. ^ a b c d e f Perdue、Ken(2010-04-30)。「ウェアレベリングアプリケーションノート」 (PDF)スパンション2011年6月7日にオリジナル (PDF)からアーカイブされました2010年8月12日取得
  3. ^ a b c d e 「USBフラッシュのウェアレベリングと寿命」(PDF)Corsair2007年6月。2007年10月13日のオリジナル(PDF)からアーカイブ2013年7月27日取得
  4. ^ 「WesternDigitalAVハードドライブ製品情報」WesternDigital。2010-01-02にオリジナルからアーカイブされました2010年6月1日取得
  5. ^ 「SSDを購入したいですか?最初にこれを読んでください」ハードウェアCanucks
  6. ^ 「25nmNANDに移行するSSD-知っておくべきこと| StorageReview.com-ストレージレビュー」www.storagereview.com2011年2月12日。
  7. ^ 「フラッシュメモリのアルゴリズムとデータ構造」、E。Gal、およびS. Toledo、ACM Computing Surveys、2005年
  8. ^ Arnd Bergmann(2011-02-18)。「安価なフラッシュドライブでLinuxを最適化する」LWN.net 2013年10月3日取得
  9. ^ Jonathan Corbet(2007-08-08)。「昔々」LWN.net 2014年1月21日取得
  10. ^ 「ウェアレベリング」トランセンドトランセンド2019年11月20日取得
  11. ^ 「ウェアレベリング–静的、動的、グローバル」(PDF)サボテン:5 2019年11月20日取得
  12. ^ a b "スイスビット産業用SDメモリーカード"マウザーエレクトロニクス2017年4月21日取得
  13. ^ 清陽(2012-02-25)。「標準キャッシュアルゴリズムがSSDで機能しない理由」velobit.com 2013年11月26日取得

外部リンク