説明

動的ECC符号化率調節方法、装置、およびシステム

【課題】誤り制御符号化(ECC)の符号化率の動的調節方法、装置、およびシステムを提供する。
【解決手段】ビット誤り率モニタ106は、ECCエンジン104から受信した訂正不能コードワード信号に少なくとも部分的に基づいて、ビット誤り率を動的に決定する。ビット誤り率に基づいて、符号化率変更トリガがECCエンジン104へ送られ、所定の所望の範囲内に出力誤り率を維持するには符号化率を増減させる。ビット誤り率の変更に呼応して、誤り制御符号化の符号化率(ECC符号化率)を、第1の符号化率から第2の符号化率へ変更する段階を備える。

【発明の詳細な説明】
【背景技術】
【0001】
メモリデバイスがデータを記憶および正確に保持する能力は重要である。プロセス技術の縮小化(scaling)によりメモリデバイスの小型化が進むにつれて、記憶データのインテグリティを危険に曝すビット誤りが益々問題になってきている。1を超えるビットが単一のメモリセルに記憶されるマルチレベルセル(MLC)メモリにおいても、ビット誤りは問題を呈することがある。
【0002】
メモリデバイスのビット誤り率(BER)は静的ではなく、メモリが利用されていくうちにメモリセルの電荷保持機能が低下するにつれ、経時的に変化しうる。
【図面の簡単な説明】
【0003】
本発明の実施形態は、以下の詳細な記載を、以下の図面とともに読むことでよりよく理解される。
【図1】幾らかの実施形態による、誤り訂正装置を示すブロック図である。
【図2】メモリデバイスの出力誤り率対符号化率を表すグラフである。
【図3】幾らかの実施形態による、訂正不能なコードワード信号の生成を示すフロー図である。
【図4】幾らかの実施形態による、符号化率調節を示すフロー図である。
【図5】幾らかの実施形態による、符号化率調節を示すフロー図である。
【図6】幾らかの実施形態によるシステムを示す。
【発明を実施するための形態】
【0004】
以下の記載においては、多数の特定の詳細を述べる。しかし、本発明の実施形態は、これら特定の詳細なく実施可能であることを理解されたい。他の場合には、公知の回路および技術は詳細には示さないことで記載の理解を曖昧にしないよう努めている。
【0005】
「1実施形態」「1つの実施形態」「例示的実施形態」「様々な実施形態」等の用語は、本発明の記載される実施形態(1以上)が特定のフィーチャ、構造、または特性を含みうるが、全ての実施形態がこれら特定のフィーチャ、構造、または特性を含む必要はないことを示す。さらに、幾らかの実施形態は、他の実施形態で記載したフィーチャの幾らか、または全てを含んでもよく、または1つも含まなくてもよい。
【0006】
以下の記載および請求項では、「連結」、「接続」、およびその派生語を利用している場合がある。これら用語は、互いに同義語であることを意図していない。特定の実施形態においては、「接続」とは、2以上の部材が互いに直接物理的または電気的接触関係にあることを示している。「連結」とは、2つ以上の部材が、互いに協働、または相互作用するが、必ずしも直接的な物理的または電気的接触関係になくてもよい。
【0007】
請求項では、そうではないと明記していない限り、共通の部材を示す「第1」「第2」「第3」といった序数形容詞の利用は、単に、同様の部材の異なるインスタンスであることを示しており、これら記載される部材が、時間的、空間的、順位付け、または他の如何なる様態でもこの順序になければならないことを示しているわけではない。
【0008】
本発明の様々な実施形態は、ハードウェア、ファームウェア、およびソフトウェアのうち1つ、またはこれらの任意の組み合わせにより実装可能である。本発明はさらに、1以上のプロセッサにより読み取りおよび実行されることでここで記載する動作を実行することのできる、機械読み取り可能な媒体に含まれる命令として実装されてよい。機械読み取り可能な媒体は、機械(例えばコンピュータ)読み取り可能な形式で情報を記憶、送信、および/または受信する任意の機構を含みうる。例えば、機械読み取り可能な媒体は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス等を含むがそれらに限定されない記憶媒体を含みうる。機械読み取り可能な媒体はさらに、電磁、光学、または音響搬送波信号等であるが、それらに限定されない、命令を符号化すべく変調された伝播信号も含む。
【0009】
「無線」およびその派生語を利用して、非固体媒体による変調電磁放射を利用してデータを通信する回路、デバイス、システム、方法、技術、通信チャネル等を表している場合がある。しかしこの用語は、関連デバイスがワイヤを全く含まないことを示唆しているわけではないが、幾らかの実施形態では全く含まない場合もあってもよい。「携帯無線デバイス」という用語は、通信中に動いている可能性のある無線デバイスのことを表すのに利用される。
【0010】
図1は、幾らかの実施形態による、誤り訂正装置を示すブロック図である。誤り訂正装置は、メモリアレイ(102)、メモリアレイ(102)に連結された誤り制御符号化(ECC)エンジン(104)、および、ECCエンジン(104)に連結されたビット誤り率モニタ(106)を含む。幾らかの実施形態においては、メモリアレイ(102)、ECCエンジン(104)、およびビット誤り率モニタ(106)は、例えばメモリデバイス上などの、単一のダイ上に配置されてもよい。他の実施形態においては、これらコンポーネントが、単一のパッケージ内の異なるダイ上に配置されてよい。また他の実施形態においては、メモリアレイがメモリデバイスの一部であり、ECCエンジンおよびビット誤り率モニタが、メモリデバイスとは別個のメモリコントローラデバイスの一部であってもよい。他の構成もまた可能であってよい。
【0011】
メモリアレイ(102)は、例えば不揮発性フラッシュメモリセルのようなメモリセルアレイであってよい。幾らかの実施形態においては、不揮発性メモリセルは、セル毎に1を超える数のビットを記憶することができてよい。例えば、メモリセルは、セル毎に2以上のビットを記憶することのできるマルチレベルフラッシュメモリセル(MLC)であってよい。幾らかの実施形態においては、アレイは、NANDフラッシュメモリセルのアレイであってよい。しかし、実施形態は、NORフラッシュメモリ、相変化メモリ、またはECCを利用して誤り訂正を行うのに適した任意の他の種類のメモリを含むがそれらに限定されない、他の種類のメモリに対しても適用可能であることを理解されたい。
【0012】
メモリアレイは、情報データとECCパリティデータとを記憶する。このデータは、情報およびパリティデータ両方を含むコードワード形式で記憶されていてよい。ここでは、メモリアレイ(102)から読み取られるデータは、出力データ(110)と称することにする。メモリアレイ(102)に書き込まれるデータは、プログラミングされたデータ(112)と称することにする。
【0013】
データがメモリアレイに書き込まれるとき、ECCエンジン(104)は、メモリアレイにデータをコードワードとして書き込む前に、パリティデータを計算して、情報およびパリティデータ両方を含むコードワードを形成する。ECCエンジンはさらに、前にコードワードとしてプログラミングされた出力データに、誤り訂正を施す。
【0014】
ECCエンジン(104)は、多数の誤り制御符号のうちいずれかを利用して、コードワードを形成し、誤り訂正を行う。例えば、ECCエンジンは、BCH符号またはリード・ソロモン符号を利用してよく、または、別の誤り制御符号を利用してよい。
【0015】
概して一クラスのブロック符号については、一定範囲の符号化率については(つまり、コードワード内における、情報ビットの数kの全ビット数nに対する割合)、ECCエンジン(104)は、所定の数の誤りtまでの訂正が可能である。t以下の誤りを含むコードワードについては、誤りはECCエンジン(104)による訂正が可能であり、ポストECCデータ(114)を生成する。ポストECCデータ(114)は、情報とパリティビットと、誤り情報とを含みうる。訂正可能なコードワードについては、ポストECC情報およびパリティビットには誤りがなく、誤り訂正数に関する情報は、もしあれば、ECCエンジン(104)により生成される。例えば、BCH符号においては、誤り訂正数の決定は、誤り位置多項式の次数と等価である。各コードワードの誤り訂正数は、ビット誤り率モニタ(106)がビット誤り率を推定するのに利用されてよい。
【0016】
1つのコードワードがt個を超える数の誤りを含むとき、コードワードは訂正不能であり、ECCエンジン(104)は、訂正不能コードワード信号(116)をビット誤り率モニタ(106)へ送る。訂正不能なコードワードについては、情報およびパリティビットは、少なくとも1つの誤りを含む。ECCエンジンは、正確な誤り訂正数は提供できないが、この数はtより大きいと仮定される。
【0017】
幾らかの実施形態においては、ECCエンジン(104)の符号化率を、コードワード長を増減することで変更することができる。例えば、コードワードが、(n)から(n−l)に短くされてよい(ここでlは、コードワード毎の低減ビット数である)。コードワードをlビット分短くすることで、符号化率は、(k/n)から(k−l)/(n−l)に変更される。故に、ECCエンジンの符号化率を、ECCエンジンの符号化復号化機能を修正することなく変更することができる。
【0018】
ビット誤り率モニタ(106)は、ECCエンジン(104)から受信した訂正不能コードワード信号に少なくとも部分的に基づいて、ビット誤り率を動的に決定する。ビット誤り率が所望のビット誤り率から所定の閾値分ずれている場合、ビット誤りモニタ(106)は、信号(120)をECCエンジンに送り、符号化率を調節する必要があることを示す。所望のビット誤り率および所定の閾値は両方とも、ユーザ設定可能な値であってよい。
【0019】
ビット誤り率モニタが決定したビット誤り率が、所望のビット誤り率よりも所定の閾値分大きい場合、符号化率変更信号(120)は、ECCエンジンの符号化率を低減すべきであることを示す。ビット誤り率モニタが決定したビット誤り率が、所望のビット誤り率よりも所定の閾値分小さい場合、符号化率変更信号(120)は、ECCエンジンの符号化率を増加すべきであることを示す。
【0020】
符号化率は、ECCエンジンの様々なパラメータの変更(コードワード長の変更または最大訂正数の変更を含むが、それらに限定されない)により変更されてよい。幾らかの実施形態においては、ECCエンジンの符号化率は、ビット誤りモニタが決定したビット誤り率の変更に呼応してコードワード長を変更することにより、第1の符号化率から第2の符号化率への動的な変更が可能である。
【0021】
幾らかの実施形態においては、ビット誤り率モニタ(106)は、出力誤り率を決定する。出力誤り率は、訂正不能なコードワードに遭遇する前に読み取られた平均ビット数の逆数として定義される。訂正不能なコードワードに遭遇する前に読み取られた平均ビット数は、所定のパラメータで計算することができる。例えば、出力誤り率(ER)は、以下の計算により推定可能であるが、この式においてBは次の訂正不能コードワードに遭遇する前に読み取られるビット数である。
【数1】

【0022】
この計算において、jは採られたサンプル数であり、これは符号化率に対する反応レベルを変更するべく調節が可能である。符号化率を頻繁に変更しすぎることが望ましくない場合、jを大きくしておくことが考えられる。同様に、符号化率を迅速に調節して所望の出力誤り率に迅速に達することが望ましい場合には、jを小さくしておいてよい。幾らかの実施形態においては、Bの値をカウンタを利用して保存してよい。例えば、出力誤り率10−12においては、Bは40ビットカウンタに収まる。他の実施形態においては、出力誤り率の逆数を計算して、これを符号化率変更のトリガとして利用することができる。この場合には、計算は、jを2の累乗として選択する場合、右にシフトしたBiの値の合計として実装されてよい。
【0023】
他の実施形態においては、ビット誤り率モニタ(106)は、入力ビット誤り率を決定してよい。入力ビット誤り率は以下のように計算できる。
【数2】

【0024】
この数式においては、Tはt個未満のビット誤りを有する全てのコードワードについての全ビット誤り数であり、Tは、j個の読み取られたコードワード内の訂正不能なコードワードの総数であり、tは、ECCを利用して訂正可能な、コードワード内のビット誤りの最大数であり、(n−l)は、1コードワード内の全ビット数である。短くされていないコードワードの場合、lはゼロである。
【0025】
入力ビット誤り率を利用して、符号化率の変更をトリガすることができる(120)。入力ビット誤り率に基づいて、出力誤り率を、ランダムビット誤り率の二項分布に基づいて推定することができる。または、入力ビット誤り率の出力誤り率に対するマッピングを、ルックアップテーブルを用いて実装することができる。実際に利用される符号化率の数は小さい場合もあり(例えば10未満)、ルックアップテーブルのサイズも小さい。
【0026】
符号化率変更信号(120)をビット誤りモニタ(106)から受信すると、ECCエンジン(104)は、メモリアレイ(102)にプログラミングされているコードワードをプログラミングしなおす必要がある場合がある。この処理は、コードワードをメモリアレイにプログラミングしなおす前に読み出して、新たな符号化率を利用して符号化しなおすことを必要とする場合がある。この処理は、1以上のアイドル期間中に行われてよい。この処理の中断は、ステートマシンにより、およびメモリアレイ内のプログラミングしなおされたブロックをシステマチックに追跡することにより行われてよい。
【0027】
以下に示す表1は、メモリアレイが、メモリデバイスの誤り率に応じて、様々なコードワードサイズについて再構成される様子を示す。メモリデバイスの総容量は、許容範囲の原ビット誤り率が増加している間低減しうる。
【表1】

【0028】
最初にデータは、ビット誤り率レベル1で読み書きが行われていてよい。検知された誤り率が3.4e−5に近づくと、デバイスは、コードワードサイズを変更してビット誤り率レベル2で動作しようと試みてよい。新たなデータはより小さなコードワードを利用して書き込まれ、より強い誤り訂正が行われる。メモリに先に記憶された古いデータを更新して、より小さなコードワードを利用する。この更新は、バックグラウンドのタスクとして実行されうる。データと共に、そのデータがどのレベルに符号化されたかを示す指標を記憶させてもよい。デバイスの所定のパーセンテージに達すると(例えば97.7%以上)空き容量がなくなるので、ビット誤り率レベルは変更されない。検知された誤り率が6.3e−5に近くなったら、上述の方法同様にビット誤りレベル3で動作するようデバイスが切り替わってよい。
【0029】
図2は、出力誤り率を、n=32767、k=32692、およびt=5の場合の、様々な入力ビット誤り率(202、204、206、208、210)における、符号化率の関数として示すグラフ(200)である。グラフからは、符号化率が低くなると出力誤り率も低くなることが分かる。これは、入力ビット誤り率が固定されている場合には、コードワードサイズが小さくなると、t個を超える数の誤りを有するコードワードがある確率が低くなるからである。故に、固定符号化復号化回路においては、図1を参照して上述したように符号化率を動的に変更することで、入力ビット誤り率が固定されているときの出力誤り率を調節することができる。
【0030】
グラフ(200)からは、さらに、入力ビット誤り率が変化しても、符号化率を変更することで出力誤り率が維持される場合があることが分かる。例えば、入力ビット誤り率が5E−06(208)から1E−05(206)へと増加した場合でも、符号化率を0.995から0.990へ低減させることで、出力誤り率は1E−13に維持することができる。
【0031】
図3は、幾らかの実施形態による、訂正不能なコードワード信号の生成を示すフロー図である。読み取りコマンドがプロセッサまたはメモリコントローラから発行されると、1以上のコードワードがメモリセルアレイから読み出されてよい。アレイから読み出された各コードワードについて、ECCエンジンは、該コードワードがECCを利用して訂正可能であるか否かを判断する(ブロック302)。訂正可能である場合、該コードワードに対して誤り訂正を行う(ブロック304)。訂正不能である場合、つまり、ECC方式で訂正可能な誤り数tを超える誤りを含む場合、訂正不能コードワード信号をビット誤り率モニタに送る(ブロック306)。この処理は、メモリアレイから読み出される全てのコードワードについて繰り返される(ブロック308)。訂正不能コードワード信号は、後にビット誤り率モニタがビット誤り率を決定する際に利用されうる。
【0032】
図4は、幾らかの実施形態による、出力誤り率を利用した符号化率調節を示すフロー図である。出力誤り率は、少なくとも1以上の受信された訂正不能コードワード信号に基づいて決定される(ブロック402)。幾らかの実施形態においては、出力誤り率は、図1に関して上述した方法でビット誤り率モニタにより計算されてよい。出力誤り率が所定の閾値を超える場合、または、所望の率よりも所定値ずれている場合(ブロック404)、ECCエンジンの符号化率を調節する(ブロック406)。幾らかの実施形態においては、ECCエンジンに符号化率変更信号を送ることでECCエンジンの符号化率を上下に調節してよい。出力誤り率が閾値を超えない場合、または、所定の率からずれていない場合、ECCエンジンの符号化率は修正されない。この場合、信号もECCエンジンに送らなくてよい。全ての出力データが処理されるまで、引き続き出力誤り率を算出してビット誤り率を調節する(ブロック408)。
【0033】
図5は、幾らかの実施形態による、入力ビット誤り率を利用した符号化率調節を示すフロー図である。入力ビット誤り率は、各コードワードの訂正ビット数に少なくとも基づいて決定される(ブロック502)。幾らかの実施形態においては、入力ビット誤り率は、図1に関して上述した方法でビット誤り率モニタブロックにより計算されてよい。その後、この入力ビット誤り率に基づいて出力誤り率を決定してよい(ブロック504)。幾らかの実施形態においては、出力誤り率は、ビット誤り率の二項分布に基づいて推定することができる。他の実施形態においては、出力誤り率は、ルックアップテーブルを用いて入力ビット誤り率にマッピングすることができる。決定された出力誤り率が所定の閾値を超える場合、または、所望の率よりも所定値ずれている場合(ブロック506)、ECCエンジンの符号化率を調節する(ブロック508)。幾らかの実施形態においては、ECCエンジンに符号化率変更信号を送ることでECCエンジンの符号化率を上下に調節してよい。出力誤り率が閾値を超えない場合、または、所定の率からずれていない場合、ECCエンジンの符号化率は修正されない。この場合、信号もECCエンジンに送らなくてよい。全ての出力データが処理されるまで、引き続き出力誤り率を算出してビット誤り率を調節する(ブロック510)。
【0034】
別の実施形態においては(不図示)、ECCエンジンの符号化率の調節は、入力ビット誤り率のみに基づいて行われてよい。この場合、出力誤り率の決定は必要なくなろう。
【0035】
図6は、1実施形態によるシステムのブロック図である。幾らかの実施形態においては、システムは携帯無線デバイスであってよい。
【0036】
システムは、インターコネクト(606)経由で通信するコントローラ(602)を含みうる。コントローラ(602)は、マイクロコントローラ、1以上のマイクロプロセッサであってよく、これら各々が1以上のコア、デジタル信号プロセッサ(DSP)、または別の種類のコントローラを含みうる。システムはバッテリ(604)により電力供給されてよく、または、AC電源のような別の電源により電力供給されてもよい。
【0037】
様々な入出力(I/O)デバイス(614)を、インターコネクト(606)に連結してよい。I/Oデバイスは、ディスプレイ、キーボード、マウス、タッチスクリーン、または他のI/Oデバイスなどのアイテムを含みうる。さらにアンテナ(610)を含む無線ネットワークインタフェース(608)が、インターコネクト(606)に連結されてよい。無線インタフェース(608)は、セルラー式または他の無線通信を、システムと他のデバイスとの間で可能としてよい。1実施形態においては、アンテナ(610)はダイポールアンテナ(dipole antenna)であってよい。
【0038】
システムはさらに、ECCをサポートする機能を有する不揮発性メモリデバイス(640)も含む(NANDフラッシュメモリデバイス等であるがそれに限られない)。メモリデバイスはシステムに組み込まれていてもよいし、または、オプションのフラッシュカードインタフェース(612)または他の種類のインタフェースに挿入されうる取り外し可能な記憶媒体(例えばカード形式の部材(card form factor))の一部であってもよい。
【0039】
メモリデバイス(640)は、メモリアレイ(102)、アレイに連結されたECCエンジン(104)、および、ECCエンジンに連結されたビット誤り率モニタ(106)を含む、図1を参照して上述した各ブロックを含みうる。メモリデバイス(640)は他の部材も含んでよいが、それらは理解を促進する観点からここでは示さない。
【0040】
幾らかの実施形態においては、ECCエンジン(104)およびビット誤り率モニタ(106)は、例えばシステムのメモリデバイス(640)に連結されたメモリコントローラデバイス内のメモリデバイスとは分離されていてよい。
【0041】
ECCエンジン(104)は、パリティデータを計算して、メモリアレイ(112)にプログラミングされるデータのコードワードを形成してよい。出力データがメモリアレイ(110)から読み出されるとき、ECCエンジンは誤り訂正を行ってよい。ECC訂正されたデータ(114)は、ビット誤り率モニタ(106)へ送られてよい。ECCエンジンがコードワードを訂正できない場合、訂正不能コードワード信号(116)をビット誤り率モニタ(106)へ送る。
【0042】
図1を参照して上述したように、ビット誤り率モニタ(106)は、ECCエンジン(104)から受信した訂正不能コードワード信号に少なくとも部分的に基づいて、ビット誤り率を動的に決定する。ビット誤り率に基づいて、符号化率変更トリガがECCエンジン(104)へ送られ、所定の所望の範囲内に出力誤り率を維持するには符号化率を増減させる必要があることを示してよい。
【0043】
符号化率の動的調節方法、装置、およびシステムが様々な実施形態で開示された。上述の記載において、多数の特定の詳細が述べられた。しかし、本発明の実施形態は、これら特定の詳細なく実施可能であることを理解されたい。他の場合には、公知の回路および技術は詳細には示さないことで記載の理解を曖昧にしないよう努めている。実施形態は、特定の例示的実施形態に関して記載されてきた。しかし、本開示を読んだ当業者には明らかなように、ここに記載された実施形態の幅広い精神および範囲から逸脱することなく、これら実施形態に様々な変形例および変更例を加えることが可能である。故に、明細書および図面は、限定的ではなく例示的に捉えられるべきである。

【特許請求の範囲】
【請求項1】
ビット誤り率の変更に呼応して、誤り制御符号化の符号化率(ECC符号化率)を、第1の符号化率から第2の符号化率へ変更する段階
を備える、方法。
【請求項2】
前記ECC符号化率を前記第1の符号化率から前記第2の符号化率へ変更する段階は、
コードワードを短くする段階
を有する、請求項1に記載の方法。
【請求項3】
前記ビット誤り率は、出力誤り率である、請求項1に記載の方法。
【請求項4】
1から所定の整定数についての訂正不能コードワード信号が受信される前に読み取られたビットの数の合計で、前記所定の整定数を除算することにより、前記出力誤り率を決定する段階
をさらに備える、請求項3に記載の方法。
【請求項5】
前記ビット誤り率は、入力ビット誤り率である、請求項1に記載の方法。
【請求項6】
前記ECC符号化率を変更する段階は、
前記ビット誤り率が所定値より大きい場合に前記ECC符号化率を低減する段階
を有する、請求項1に記載の方法。
【請求項7】
前記ECC符号化率を変更する段階は、
前記ビット誤り率が所定値より小さい場合に前記ECC符号化率を増加する段階
を有する、請求項1に記載の方法。
【請求項8】
メモリアレイ内に既に存在する複数のコードワードを前記第2の符号化率を利用してプログラミングしなおす段階
をさらに備える、請求項1に記載の方法。
【請求項9】
プログラミングしなおす段階は、
前記メモリアレイから前記複数のコードワードを読み取る段階と、
前記第2の符号化率を利用して前記複数のコードワードを符号化する段階と、
前記複数のコードワードを前記メモリアレイに書き戻す段階と
を有する、請求項8に記載の方法。
【請求項10】
プログラミングしなおす段階は、少なくとも1つのアイドル期間に行われる、請求項9に記載の方法。
【請求項11】
メモリアレイと、
前記メモリアレイに連結された誤り制御符号化エンジン(ECCエンジン)と、
前記ECCエンジンに連結されたビット誤りモニタと
を備え、
前記ECCエンジンは、各訂正不能なコードワードについて前記ビット誤りモニタに対して信号を提供し、
前記ビット誤りモニタは、ビット誤り率に基づいて前記ECCエンジンに対する符号化率変更をトリガする、装置。
【請求項12】
前記ECCエンジンは、さらに、訂正可能なコードワードのビット誤りを訂正し、各訂正可能なコードワードの訂正ビット数を決定し、各訂正可能なコードワードの前記訂正ビット数を前記ビット誤りモニタに提供する、請求項11に記載の装置。
【請求項13】
前記ビット誤り率は、出力誤り率である、請求項11に記載の装置。
【請求項14】
前記ビット誤り率は、入力ビット誤り率である、請求項11に記載の装置。
【請求項15】
前記メモリアレイ、前記ECCエンジン、および前記ビット誤りモニタは、メモリデバイスの一部である、請求項11に記載の装置。
【請求項16】
前記メモリデバイスは、NANDフラッシュメモリデバイスである、請求項15に記載の装置。
【請求項17】
前記ECCエンジンおよび前記ビット誤りモニタは、メモリコントローラデバイスの一部であり、
前記メモリアレイは、フラッシュメモリデバイスの一部である、請求項11に記載の装置。
【請求項18】
インターコネクトと、
前記インターコネクトに連結されたコントローラと、
前記インターコネクトに連結された無線インタフェースと、
前記インターコネクトに連結されたメモリデバイスと
を備え、
前記メモリデバイスは、メモリアレイ、前記メモリアレイに連結された誤り制御符号化エンジン(ECCエンジン)、および前記ECCエンジンに連結されたビット誤りモニタを有し、
前記ECCエンジンは、各訂正不能なコードワードについて前記ビット誤りモニタに対して信号を提供し、
前記ビット誤りモニタは、ビット誤り率に基づいて前記ECCエンジンに対する符号化率変更をトリガする、システム。
【請求項19】
前記メモリデバイスはNANDフラッシュメモリデバイスである、請求項18に記載のシステム。
【請求項20】
前記メモリアレイは、複数のメモリセルを含み、
各メモリセルは、セル毎に少なくとも2ビットを記憶する機能を有する、請求項19に記載のシステム。
【請求項21】
前記ビット誤り率は、出力誤り率である、請求項18に記載のシステム。
【請求項22】
メモリアレイから読み取ったコードワードを誤り制御符号化(ECC)を利用して第1の符号化率で訂正可能であるか否かを判断して、前記コードワードが訂正可能である場合に誤り訂正を行う段階と、
前記コードワードが訂正不能である場合、訂正不能コードワード信号を提供する段階と、
前記訂正不能コードワード信号を利用して出力誤り率を決定する段階と、
前記出力誤り率が所定の閾値を超える場合、前記第1の符号化率を第2の符号化率に変更する段階と
を備える、方法。
【請求項23】
前記メモリアレイから、前記第1の符号化率で符号化された複数のコードワードを読み取る段階と、
前記第2の符号化率を利用して前記複数のコードワードを符号化する段階と、
前記第2の符号化率で符号化された前記複数のコードワードを前記メモリアレイに書き戻す段階と
をさらに備える、請求項22に記載の方法。
【請求項24】
前記メモリアレイは、NANDフラッシュメモリセルのアレイである、請求項22に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−155737(P2012−155737A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−84226(P2012−84226)
【出願日】平成24年4月2日(2012.4.2)
【分割の表示】特願2009−549309(P2009−549309)の分割
【原出願日】平成20年3月4日(2008.3.4)
【出願人】(591003943)インテル・コーポレーション (1,101)
【Fターム(参考)】