SSDは寿命が近づくとどうやって故障しますか?


9

MLC SSDが非常に長く持続し、最初のセルが最後の消去サイクルに達して消去を拒否したとしましょう。

その後はどうなりますか?コントローラはそれを不良ブロックとして検出し、次のブロックに移動して、代わりにそれを消去しようとしますか?ドライブの総容量は、時間の経過とともにゆっくりと減少しますか?

編集

そしてもちろん、ウェアレベリングは忘れることができます。はい、それはドライブの寿命を延ばしますが、私はそれについて話していません。最終的に、セルは最後の消去サイクルに達します。

回答:


8

NANDフラッシュチップには、書き込み操作と消去操作の失敗を検出するメカニズムが組み込まれており、失敗した場合はコントローラーに警告します。この場合、コントローラーは再試行するか、そのブロックを不良として扱い、ウェアレベリングアルゴリズムからマッピングします。NANDデバイスの各ページには、メインデータエリアの横にスペアエリアがあり、ECCなどのメタデータやその他の形式のフォールト検出とフォールトトレランスを目的としています。コントローラは、スペア領域を使用して独自のフォールトトレランススキームを決定できます。 単純なパリティビットリードソロモンコードなど、いくつかありますが、ハミングコードは1つの一般的なスキームです。。読み取り操作が一致しない場合も、コントローラーは自由に実行できます。理想的には、ウェアレベリングアルゴリズムからこれらのブロックもマッピングし、「多すぎる」ブロックが失敗するまで少しずつ容量を失うだけです。「多すぎる」は、コントローラー内のアルゴリズムとハードウェア構造のサイズに依存します。多くのファーストカットコントローラーデザインは、オペレーティングシステムにエラーを宣言するだけです。

これはMLC固有の問題ではないことに注意してください。MLCセルは読み取りエラーが発生しやすくなりますが、エラーのマージンは必然的に小さいため、SLCセルはほとんど同じメカニズムで失敗し、コントローラーによって同じ方法で処理できます。


2

ハードディスクと同様に、オペレーティングシステムでの実装次第です。コントローラーは書き込み(消去は実際には書き込み操作です)が失敗したことを報告するだけで、オペレーティングシステムカーネルのdevideドライバーが何をするかを決定します。これまで見てきたように、MicrosoftとLinuxの実装は、呼び出し元のアプリケーションにエラーコードを返すだけなので、I / Oエラーが発生します。

つまり、ある時点で単に「壊れた」デバイスを取得します。


まあ、それは最低だ。あまり良い抽象化ではありません...
Pyrolistical 2009年

1
そして間違っています。主にこれはデバイスドライバーではなくSSD自体で処理されます。これは通常の操作であるためです。ウェアレベリングはセクターを失敗として記録し、セクターを再マッピングします。
TomTom、2014年

1

SSDは「ウェアレベリング」と呼ばれるものを使用します。ドライブはセクターの使用状況に関する統計を保持し、ある時点で、または問題を検出すると、通常のハードドライブで発生するように、セクターを予約セクターに移動します。


はい。ただし、予約済みセクターが不足する前に、メカニカルHDが機械的に失敗します。ただし、SSDはそうではない場合があります。ドライブが予約済みセクターを使い果たすとどうなりますか?
Pyrolistical 2009年

エラーを書き込みます。他に何を期待していますか?
TomTom、2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.