PR

ECCにも限界

 読み出し妨害への対策として一般的なのが、誤り訂正符号(ECC)の利用である。読み出し妨害とは、データを読み出さないページにも負荷が掛かり、しきい値電圧が低下する現象を指す。読み出し妨害がビット誤り率を増大させ、書き込んだデータを正確に読み出しにくくなる。そこで、読み出したデータ内のビット誤りをECCで訂正してホスト側に送信する。

 だが、ECCにも限界があり、例えば「20bit/512Byte(20ビット・パー・512バイト)」と記載されている場合、512バイトのデータに対して、20ビットまでは間違っていても修正できることを意味する。つまり破損箇所が、21ビット以上だと修正できなくなる。

 NANDのように、時間経過とともに電子リークが進行し、破損するビット量が増加する可能性が高いメモリの場合は、ECCだけでは十分とはいえない。しかも、微細化と共に、搭載すべきECCのビット数は増加傾向にある。50nm世代では8ビット、20nm世代では40ビット、10nm世代では60ビットになる。

 そのため、SSDの中には、データの破損箇所が一定のビット以上になったら、強制的にデータを別のブロックに書き換える機能を備えた製品がある。これを「リフレッシュ処理」と呼ぶ(図3)。この処理の機能を備えたSSDを利用し、かつ定期的に読み出し処理を実行するファイルであれば、起動時にデータが読み出せないという問題はほとんど起こらない。

図3 修正後に別領域にデータを保存
SSDのリフレッシュ処理では、読み出し処理の対象になるファイルを作業用メモリに読み込み、ECC処理を施してデータ破損部分を修正する。この修正したファイルを別の領域に保存し、元のファイルを消去して、リフレッシュ処理が終わる。
[画像のクリックで拡大表示]

 ただし、リフレッシュ処理機能を備えたSSDであっても、ほとんど読み出し処理を実行しないファイルの場合、読み出さない間に誤りビット数がECCで訂正できる値を超えてしまい、データを読み出せない恐れがある注2)

注2)なお、Windowsの「Autoexec.bat」といった起動時だけ読み込まれるファイルは、起動時以外はリフレッシュ処理の対象にならない。

本記事は、2012年11月27日に本誌が主催したNEアカデミー「HDDとSSDを使いこなす」における浅野氏の講演を基に、編集・加筆したものである。
浅野 浩延(あさの ひろのぶ)
1987年、関西大学卒業、米Digital Equipment社(現Hewlett-Packard社)の日本法人に入社。その後、米SMART社や米Microsoft社の日本法人、松下コンピュータシステム(現パナソニックソリューションテクノロジー)などに勤めた後、2008年にソルナックに入社し、現職。HDDに関する技術支援や、信頼性を高めたSSDの販促などに従事する。