JP2013125303A - 半導体メモリ制御装置及び制御方法 - Google Patents

半導体メモリ制御装置及び制御方法 Download PDF

Info

Publication number
JP2013125303A
JP2013125303A JP2011272152A JP2011272152A JP2013125303A JP 2013125303 A JP2013125303 A JP 2013125303A JP 2011272152 A JP2011272152 A JP 2011272152A JP 2011272152 A JP2011272152 A JP 2011272152A JP 2013125303 A JP2013125303 A JP 2013125303A
Authority
JP
Japan
Prior art keywords
error
semiconductor memory
block
read
memory control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011272152A
Other languages
English (en)
Other versions
JP5883284B2 (ja
Inventor
Yasuhiro Matsunaga
安弘 松永
Shinya Okazaki
真也 岡崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lapis Semiconductor Co Ltd
Original Assignee
Lapis Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lapis Semiconductor Co Ltd filed Critical Lapis Semiconductor Co Ltd
Priority to JP2011272152A priority Critical patent/JP5883284B2/ja
Publication of JP2013125303A publication Critical patent/JP2013125303A/ja
Application granted granted Critical
Publication of JP5883284B2 publication Critical patent/JP5883284B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【目的】半導体メモリの動作を阻害することなく、メモリに保持されていデータの誤り監視を行うことが可能な半導体メモリ制御装置及び制御方法を提供することを目的とする。
【構成】メモリ内のブロック各々の内で誤り監視対象とするブロックを監視対象ブロックとして指定しておき、このメモリからデータを読み出すべく供給される読出指令に応答して、このメモリ内の上記監視対象ブロックに対して誤り検出処理を施して誤りビット数を示す情報を取得するという誤り監視処理を実行する。
【選択図】図1

Description

本発明は、半導体メモリの制御装置、特に半導体メモリに対してデータのアクセスを行う半導体メモリの制御装置及びその制御方法に関する。
近年、メモリ容量の増大化に伴い、ビット単価で優れているNAND型フラッシュメモリが普及している。かかるNAND型フラッシュメモリでは、大容量化、高集積化に伴い、書き込んだデータが経年変化してしまう、或いは集中した読み出し動作によりデータが正しく読み出せなくなるという問題が顕著化している。この問題は、データ保持を担う電荷が年数経過に伴い低下してしまう、或いは読み出し動作に伴う隣接メモリセルへの微量な電荷蓄積によって保存データが破壊されてしまう為に生じるものである。
そこで、このような不具合を回避すべく、データの誤りを訂正する誤り訂正符号(ECC:Error Correcting Code)をデータに付加したものを書き込み、これを読み出すことによりデータの誤り箇所を訂正するようにした半導体記憶装置が提案されている(特許文献1参照)。ところで、誤り訂正符号には訂正可能なビット数に限界があり、限界以上のビット数に亘ってエラーが発生した場合には、これを訂正することが出来ない。そこで、かかる半導体記憶装置では、通常の読み出し処理の段階で誤りが生じているデータ片が検出された場合には、そのデータ片での誤りビット数が閾値ビット数(訂正可能な最大ビット数より小さい値)を超えたか否かを判定し、超えていた場合には、そのデータ片を監視対象として登録する。そして、この監視対象として登録されているデータ片に対して定期的に誤り検出処理を施し、その誤りビット数が訂正可能な最大ビット数に到る前に、誤りを訂正処理を施して再書込(リフレッシュ処理)を行うのである。かかる誤りビット数の監視処理を、定期的に実施することにより、保存したデータの保存期間の延長が図られる。
しかしながら、上記の如き方法では、誤り監視処理の実行中に、データ読み出し指令が発せられた場合には、データ読み出し動作を一時的に待避させる等の重複回避処理を実施しなければならないので、データ読み出し時間が増加してしまうという問題が生じた。
特開2009−205578号
本発明は、かかる問題を解決すべく為されたものであり、半導体メモリの動作を阻害することなく、メモリに保持されているデータの誤り監視を行うことが可能な半導体メモリ制御装置及び制御方法を提供することを目的とする。
本発明に係る半導体メモリ制御装置は、書込指令又は読出指令に応じて半導体メモリに対してデータの書込又は読出制御を施す半導体メモリ制御装置であって、前記読出指令に応答して前記半導体メモリから読み出されたデータに対して、誤り検出処理を施して誤りビット数を示す情報を生成する誤り検出手段と、前記誤りビット数を示す情報を記憶する第1レジスタと、前記半導体メモリ内のブロック各々の内で誤り監視対象とするブロックを監視対象ブロックとして指定する情報が記憶されている第2レジスタと、前記読出指令に応答して、前記半導体メモリ内の前記監視対象ブロックに対して誤り検出処理を施して誤りビット数を示す情報を前記第1レジスタに記憶せしめる誤り監視手段と、を含む。
また、本発明に係る半導体メモリの制御方法は、書込指令又は読出指令に応じて半導体メモリに対してデータの書込又は読出制御を施す半導体メモリの制御方法であって、前記読出指令に応答して前記半導体メモリから読み出されたデータに対して誤り検出処理を施して誤りビット数を示す情報を得るステップと、前記半導体メモリ内のブロック各々の内で誤り監視対象とするブロックを監視対象ブロックとして指定する情報を生成するステップと、前記読出指令に応答して、前記半導体メモリ内の前記監視対象ブロックに対して誤り検出処理を施して誤りビット数を示す情報を取得するステップと、前記誤りビット数が所定の誤り閾値を超えている場合に前記データに誤り訂正処理を施したものを前記半導体メモリに上書きするステップと、を有する。
本発明においては、メモリ内のブロック各々の内で誤り監視対象とするブロックを監視対象ブロックとして指定しておき、このメモリからデータを読み出すべく供給される読出指令に応答して、このメモリ内の上記監視対象ブロックに対して誤り検出処理を施して誤りビット数を示す情報を取得するという誤り監視処理を実行するようにしている。
これにより、周期的に誤り監視処理を実行する場合に生じ得る、読出動作と誤り監視処理との重複が防止されるので、このような重複を回避する為の処理が不要となる。よって、本発明によれば、読出時間を増加させることなく、メモリに対する誤り監視を行うことが可能となる。
本発明に係る半導体メモリ制御装置を含む情報処理システムを示すブロック図である。 データ読出ルーチンの一例を示すフローチャートである。 RAM4、ステータスレジスタ22、及び誤り監視領域指定レジスタ23各々の記憶内容を示す図である。 優先誤り監視情報更新ルーチンを示すフローチャートである。 通常誤り監視情報更新ルーチンを示すフローチャートである。 誤り発生確認処理ルーチンを示すフローチャートである。 イレース回数に対応した読出回数閾値TRの変換特性を示す図である。 本発明に係る半導体メモリ制御装置の変形例を示す情報処理システムのブロック図である。 データ読出ルーチンの他の一例を示すフローチャートである。
本発明に係る半導体メモリ制御装置は、読出指令に応答して半導体メモリ(3)から読み出されたデータに対して、誤り検出処理を施して誤りビット数(ERA)を示す情報を生成する誤り検出手段(21)と、誤りビット数(ERA)を示す情報を記憶する第1レジスタ(22)と、半導体メモリ(3)内のブロック各々の内で誤り監視対象とするブロックを監視対象ブロックとして指定する情報が記憶されている第2レジスタ(23)と、読出指令に応答して、半導体メモリ(3)内の監視対象ブロックに対して誤り検出処理を施して誤りビット数(ERA)を示す情報を第1レジスタ(22)に記憶せしめる誤り監視手段(24)と、を含む。
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
図1は、本発明に係る半導体メモリ制御装置(メモリ制御部2)を含む情報処理システムを示すブロック図である。
図1に示すように、かかる情報処理システムは、CPU(Central Processing Unit)1、メモリ制御部2、NAND型のフラッシュメモリ3、RAM(Random Access Memory)4、CPUバス5、及び当該情報処理システムの動作を担うプログラムが予め記憶されているプログラムメモリ6を含む。
CPU1は、プログラムメモリ6に記憶されているプログラムに従って、CPUバス5を介してメモリ制御部2又はRAM4に対してメモリアクセス(データ読出、データ書込)を行う。尚、メモリ制御部2には、誤り符号化部20、誤り検出訂正部21、第1レジスタとしてのステータスレジスタ22、第2レジスタとしての誤り監視領域指定レジスタ23、及びハードウェアからなる誤り監視処理回路24が内蔵されている。
ここで、フラッシュメモリ3にデータを書き込ませる場合、CPU1は、その書き込み対象となるデータと共に書込指令をメモリ制御部2に供給する。この際、メモリ制御部2の誤り符号化部20は、書き込み対象となるデータに対して所定ブロック長毎に誤り訂正符号を付加したものを符号化データ片として得る。メモリ制御部2は、この符号化データ片をフラッシュメモリ3に書き込ませるべき書込駆動信号をフラッシュメモリ3に供給する。尚、フラッシュメモリ3の全領域は、アクセス単位を1ページ2000ビットとし、例えば1ブロックが64ページからなる、4000ブロック分のアクセス領域に区分けされている。ブロック数は、メモリ容量により変動する。
一方、フラッシュメモリ3からデータを読み出す場合、CPU1は、その読み出し対象となるデータのアドレスと共に読出指令をメモリ制御部2に供給する。
かかる読出指令に応じてメモリ制御部2は、図2に示す如きデータ読出ルーチンに従った処理を実行する。
図2において、先ず、メモリ制御部2は、CPU1から供給された読出指令が電源ON後、第1回目に発令された読出指令であるか否かの判定を行う(ステップS1)。ステップS1において最初の読出指令であると判定された場合、メモリ制御部2は、乱数を発生させ、当該乱数に基づき、フラッシュメモリ3内で誤り監視対象とするブロック(以下、通常誤り監視対象ブロックと称する)及びそのブロック内の代表監視ページ(以下、オフセットページと称する)を示す番号を生成し、図3(a)に示す如くRAM4に記憶させる(ステップS2)。尚、ここで示す乱数は、一例であって、必ずしも電源ON毎に異なる必要は無く、電源ON毎にブロックやページが固定されなければ何らかのアルゴリズムを持ってブロックやページが選択されても良い。
かかるステップS2の終了後、又は上記ステップS1において電源ON後の最初の読出指令ではないと判定された場合、メモリ制御部2は、図3(a)に示す如くRAM4に記憶されている優先誤り監視実行フラグが、優先誤り監視処理(後述する)の実行を示す論理レベル1であるか否かを判定する(ステップS3)。ステップS3において優先誤り監視実行フラグが優先誤り監視処理の実行を示すと判定された場合、メモリ制御部2は、図3(a)に示す如くRAM4に記憶されている優先誤り監視対象ブロックを示す番号を、図3(b)に示す如く誤り監視領域指定レジスタ23に上書き記憶する(ステップS4)。ステップS4の実行後、メモリ制御部2は、優先誤り監視情報更新ルーチンの実行に移る(ステップS5)。
図4は、かかる優先誤り監視情報更新ルーチンを示すフローチャートである。
図4において、先ず、メモリ制御部2は、図3(a)に示す如くRAM4に記憶されている優先オフセットページを示す番号を1だけインクリメントしたものを新たな優先オフセットページを示す番号としてRAM4に上書き記憶する(ステップS41)。尚、優先オフセットページの初期値は先頭の第1ページである。次に、メモリ制御部2は、インクリメントされた優先オフセットページを示す番号が最終ページの番号を超えたか否かの判定を行う(ステップS42)。かかるステップS42において最終ページ番号を超えたと判定された場合、つまり優先誤り監視対象ブロック内での優先誤り監視処理(後述する)が全て終了している場合には、メモリ制御部2は、図3(a)に示す如くRAM4に記憶されている優先誤り監視実行フラグを、優先誤り監視の実行ではないことを示す論理レベル0に書き換える(ステップS43)。かかるステップS43の実行後、又は上記ステップS42においてインクリメントしたページ番号が最終ページの番号を超えていないと判定された場合、メモリ制御部2は、図4に示す優先誤り監視情報更新ルーチンを終了する。
かかる優先誤り監視情報更新ルーチンによれば、読出指令に応じてフラッシュメモリ3からデータ読出が為される度に、優先誤り監視対象ブロック内において1ページ分の更新(S41)が為され、その更新されたページに対して優先誤り監視処理が実施されることになる。この際、全ページに対する優先誤り監視処理が終了した場合には、優先誤り監視の実行を示すフラグが、通常誤り監視処理(後述する)の実行を示すフラグ0にクリアされる(S43)。つまり、優先誤り監視対象ブロック内の全ページに対して誤り検出処理が終了した場合には、このブロックを優先誤り監視対象ブロックから通常誤り監視対象ブロックに設定変更するのである。
ここで、図2に示すステップS3において、RAM4に記憶されている優先誤り監視実行フラグが優先誤り監視の実行を示していないと判定された場合、メモリ制御部2は、図3(a)に示す如くRAM4に記憶されている通常誤り監視対象ブロックを示す番号を、図3(b)に示すように誤り監視領域指定レジスタ23に記憶させる(ステップS6)。次に、メモリ制御部2は、通常誤り監視情報更新ルーチンの実行に移る(ステップS7)。
図5は、かかる通常誤り監視情報更新ルーチンを示すフローチャートである。
図5において、先ず、メモリ制御部2は、図3(a)に示す如くRAM4に記憶されている通常誤り監視対象ブロックを示す番号を1だけインクリメントしたものを新たな通常誤り監視対象ブロックを示す番号としてRAM4に上書き記憶する(ステップS51)。次に、メモリ制御部2は、インクリメントされた通常誤り監視対象ブロックを示す番号が最終ブロックの番号を超えたか否かの判定を行う(ステップS52)。かかるステップS52において最終ブロック番号を超えたと判定された場合、つまり通常誤り監視対象ブロックでの通常誤り監視動作が完了している場合には、メモリ制御部2は、図3(a)に示す如くRAM4に記憶されている通常誤り監視対象ブロックの番号を初期番号0に書き換える(ステップS53)。次に、メモリ制御部2は、図3(a)に示す如くRAM4に記憶されている通常オフセットページを示す番号を1だけインクリメントしたものを新たな通常オフセットページを示す番号としてRAM4に上書き記憶する(ステップS54)。尚、通常オフセットページとは、上記ステップS2において乱数に基づいて生成されたオフセットページを初期値とするものである。次に、メモリ制御部2は、インクリメントされた通常オフセットページを示す番号が最終ページの番号を超えたか否かの判定を行う(ステップS55)。かかるステップS55において最終ページ番号を超えたと判定された場合、つまり通常誤り監視対象ブロック内での通常誤り監視動作が完了している場合には、メモリ制御部2は、図3(a)に示す如くRAM4に記憶されている通常オフセットページの番号を初期番号0に書き換える(ステップS56)。かかるステップS56の実行後、又は上記ステップS52において通常誤り監視対象ブロックが最終ブロックを超えたと判定された場合、或いは上記ステップS55において通常オフセットページが最終ページを超えたと判定された場合、メモリ制御部2は、図5に示す通常誤り監視情報更新ルーチンを終了する。
図4に示す優先誤り監視情報更新ルーチン(S5)、又は図5に示す通常誤り監視情報更新ルーチン(S7)の実行後、メモリ制御部2は、フラッシュメモリ3に対するデータ読出処理を実行する(ステップS8)。
すなわち、先ず、メモリ制御部2は、CPU1によって指定されたアドレスに対応したデータを読み出すべき読出駆動信号をフラッシュメモリ3に供給する。かかる読出駆動信号に応じてフラッシュメモリ3は、指定されたアドレスに対応したページに記憶されている符号化データ片を読み出すべき読出処理を行う。ここで、フラッシュメモリ3から符号化データ片が読み出されたら、メモリ制御部2の誤り検出訂正部21は、この符号化データ片に対して誤り検出処理を施して誤り検出結果情報を生成する。かかる誤り検出結果情報に基づき、メモリ制御部2の誤り監視処理回路24は、その誤りビット数を示す誤りビット数ERS及びビット誤りが有るか否かを示す誤り検出フラグを生成し、これらを読出対象となった符号化データ片が保持されているブロック番号に対応づけして、図3(c)に示す如くステータスレジスタ22に記憶させる。更に、誤り監視処理回路24は、誤りが生じている符号化データ片が記憶されているブロックを示す番号を優先誤り監視対象ブロックの番号として、図3(a)に示す如くRAM4に記憶する(誤り監視処理)。ここで、誤り検出結果情報に基づき誤りの存在が確認された場合には、誤り検出訂正部21は、引き続きこの読み出された符号化データ片に対して誤り訂正を施す。この際、メモリ制御部2は、フラッシュメモリ3から読み出された符号化データ片、又は上記の如き誤り訂正処理の施された符号化データ片から誤り訂正符号化に伴う冗長ビットを省いたものを読出データとしてCPUバス5に送出する。
尚、メモリ制御部2は、上記した如きフラッシュメモリ3による読出処理中に、図6に示す如き誤り発生確認処理ルーチンを実行する。
図6において、先ず、メモリ制御部2は、ステータスレジスタ22に記憶されている誤り検出フラグに基づき、ビット誤りが生じているか否かを判定する(ステップS61)。ステップS61においてビット誤りが生じていないと判定された場合、処理を終了する。
一方、ステップS61においてビット誤りが生じていると判定された場合、メモリ制御部2は、図3(c)に示す如くステータスレジスタ22に記憶されている誤りビット数ERSが所定の第1誤り閾値TE1よりも大であるか否かを判定する(ステップS63)。かかるステップS63において誤りビット数ERSが第1誤り閾値TE1よりも大であると判定された場合、メモリ制御部2は、優先誤り監視の実行を促す論理レベル1の優先誤り監視実行フラグを図3(a)に示す如くRAM4に記憶する(ステップS64)。次に、メモリ制御部2は、上記ステップS61においてビット誤りが生じていると判定されたブロックの番号を、優先誤り監視対象ブロックの番号として、図3(a)に示す如くRAM4に記憶する(ステップS65)。ステップS65の実行後、又は上記ステップS63において誤りビット数ERSが第1誤り閾値TE1以下であると判定された場合、メモリ制御部2は、誤りビット数ERSが所定の第2誤り閾値TE2(TES>TE1)よりも大であるか否かを判定する(ステップS66)。かかるステップS66において誤りビット数ERSが第2誤り閾値TE2よりも大であると判定された場合、メモリ制御部2は、上記ステップS61においてビット誤りが生じていると判定されたブロックの番号を、リフレッシュ処理(後述する)の対象とするリフレッシュ対象ブロックの番号として、図3(a)に示す如くRAM4に記憶する(ステップS67)。
ステップS67の実行後、或いは上記ステップS66において誤りビット数ERSが第2誤り閾値TE2以下であると判定された場合、メモリ制御部2は、この誤り発生確認処理ルーチンを抜けて、誤り監視を開始させるべき誤り監視開始指令を誤り監視処理回路24に供給する(ステップS9)。
かかる誤り監視開始指令に応じて誤り監視処理回路24は、図3(b)に示す如く誤り監視領域指定レジスタ23に記憶されているブロック番号にて示される、フラッシュメモリ3内のブロックに対して以下の如き誤り監視処理を実行する。
すなわち、誤り監視処理回路24は、上記した如く乱数によって指定された通常誤り監視対象ブロック(第1のブロック)の番号が誤り監視領域指定レジスタ23に記憶されていた場合には通常誤り監視処理を実行する。
通常誤り監視処理では、誤り監視処理回路24は、フラッシュメモリ3の全ブロックの内でこの通常誤り監視対象ブロック内の所定の1ページ、つまりRAM4に記憶されている通常オフセットページから符号化データ片を読み出す。ここで、誤り監視処理回路24は、誤り検出訂正部21にてこの読み出された符号化データ片に対して誤り検出処理を施して得られた誤り検出結果情報に基づき、その誤りビット数を示す誤りビット数ERS及びビット誤りが有るか否かを示す誤り検出フラグをその符号化データ片が保持されているブロック番号に対応づけしてステータスレジスタ22に記憶させる。
また、誤り監視処理回路24は、フラッシュメモリ3からの前回のデータ読み出しによって誤りが検出された符号化データ片が記憶されている優先誤り監視対象ブロック(第2のブロック)の番号が、誤り監視領域指定レジスタ23に記憶されていた場合には優先誤り監視処理を実行する。
優先誤り監視処理では、誤り監視処理回路24は、フラッシュメモリ3の全ブロックの内でこの優先誤り監視対象ブロック内の所定の1ページ、つまり図3(a)に示す如くRAM4に記憶されている優先オフセットページから符号化データ片を読み出す。ここで、誤り監視処理回路24は、誤り検出訂正部21にてこの読み出された符号化データ片に対して誤り検出処理を施して得られた誤り検出結果情報に基づき、その誤りビット数を示す誤りビット数ERS及びビット誤りが有るか否かを示す誤り検出フラグをその符号化データ片が保持されているブロック番号に対応づけしてステータスレジスタ22に記憶させる。
要するに、メモリ制御部2は優先誤り監視実行フラグを参照することにより、前回のフラッシュメモリ3からの読み出しで誤りが検出されたか否かを判定し(S3)、誤りが検出されなかった場合には、第1のブロックとしての通常誤り監視対象ブロックを示す情報を、第2レジスタである誤り監視領域指定レジスタ23に記憶する(S6)。一方、誤りが検出された場合には、メモリ制御部2は第2のブロックとしての優先誤り監視対象ブロックを示す情報を、第2レジスタである誤り監視領域指定レジスタ23に記憶する(S4)。そして、メモリ制御部2は、この第2レジスタ(23)に記憶されているブロックが、乱数によって指定された通常誤り監視対象ブロックである場合には、この通常誤り監視対象ブロックに対して上記の如き通常誤り監視処理を施す。一方、この第2レジスタ(23)に記憶されているブロックが、誤りの発生が確認されている優先誤り監視対象ブロックである場合には、メモリ制御部2は、この優先誤り監視対象ブロックに対して上記の如き優先誤り監視処理を施すのである。
上記した通常誤り監視処理又は優先誤り監視処理の実行後、メモリ制御部2は、図6に示す誤り発生確認処理ルーチンを再度実行する。
この誤り発生確認処理ルーチンの終了後、メモリ制御部2は、図3(a)に示す如くRAM4に記憶されているリフレッシュ対象ブロックを読み出し、フラッシュメモリ3がレディ状態、つまり空き時間帯にある間に、フラッシュメモリ3内の上記したリフレッシュ対象ブロックに対して以下の如きリフレッシュ処理を実行する。
すなわち、メモリ制御部2は、先ず、このリフレッシュ対象ブロック内の各ページから符号化データ片の読み出しを行う。この際、誤り検出訂正部21は、この読み出された符号化データ片に対して誤り検出処理を施し、ビット誤りが存在する場合には、かかる符号化データ片に対して誤り訂正処理を施す。メモリ制御部2は、この誤り訂正処理の施された符号化データ片を、元々この符号化データ片が保持されていたページに上書きする(リフレッシュ処理)。かかるリフレッシュ処理によれば、年数の経過に伴い増加するビット誤りの数が一旦、ゼロになるので、データの保存期間の延長が図られるようになる。
以上の如く、本発明に係る半導体メモリ制御装置(2)では、読出指令に応じてデータ読出処理(S8)が為される度に、読出指令に応じたアドレスとは別に半導体メモリ(3)内の誤り監視対象ブロックに対して誤りビット数(ERS)の検出を行うという誤り監視処理(S9)を実行するようにしている。
よって、本発明によれば、周期的に誤り監視処理を実行する場合に為される、データ読出処理と誤り監視処理との重複を回避する重複回避処理が不要となるので、この重複回避処理の実行に伴う遅延が生じない。従って、誤り監視処理を実施することによる読出アクセス時間の増加を防止することが可能となる。
更に、本発明によれば、周期的に誤り監視処理を実行する場合に用いられるタイマが不要となるので、装置規模を縮小化することが可能となる。
また、本発明に係る半導体メモリ制御装置では、CPU(1)からの読出指令に応じて為されるデータ読出処理(S8)の実行後、ハードウェアからなる誤り監視処理部(24)によって、半導体メモリ(3)内の1ブロック(優先誤り監視対象ブロック、又は通常誤り監視対象ブロック)に対して誤り監視処理を実施するようにしている。よって、半導体メモリ(3)から読み出されたデータをCPU(1)で取得する為の取得処理期間内に、かかる誤り監視処理を終了させれば、メモリアクセスの妨げにならない効率的な誤り監視を実現することが可能となる。
また、この半導体メモリ制御装置では、CPU1からの読出指令に応じて為されるデータ読出処理(S8)毎に、読出対象となったデータが保持されているブロックと、前回までの読出によってビット誤りが検出された優先誤り監視対象ブロック又は乱数によって指定した通常誤り監視対象ブロックと、の2箇所の領域に対して誤り監視処理を実施している。よって、データ読出処理(S8)毎に誤り監視処理を実施するにあたり、比較的、広い領域に対して誤りビット数の監視を行うことが可能となる。
また、本半導体メモリ制御装置では、1回分の読出動作が終了する度に、優先誤り監視対象ブロックを誤り監視するにあたり、この優先誤り監視対象ブロック内においてランダムに選出した1ページ分(優先オフセットページ)を誤り監視することにより、誤り監視処理の簡略化を図るようにしている。ここで、読出指令に応じてフラッシュメモリ3から読み出されたデータに誤りが検出されたが故に、このデータが保持されているブロックを優先的に誤り監視させたい場合、メモリ制御部2は、そのブロック番号を優先パイロット対象ブロック番号として誤り監視領域指定レジスタ24に上書きするようにしても良い。
尚、上記実施例では、データ読出処理(S8)の直後に、ハードウェア(24)で誤り監視処理(S9)を実行するようにしているが、このデータ読出処理(S8)の直前、或いは同時に誤り監視処理(S9)を実行するようにしても良い。
要するに、1つの読出指令をトリガとして、この読出指令に応答して、誤り監視処理(S9)を実行すれば良いのである。
ここで、一般的にフラッシュメモリは、図7の破線に示すように、1ブロックに対するイレース処理の回数が増加するほど、そのブロックに保持されているデータに誤りが生じ易くなり、正常な読み出しを行うことが可能な読出回数の限度(TR)が低下する。
そこで、通常パイロット処理を実行するにあたり、現時点までに実施されたイレース回数及び読出回数を考慮して、この通常パイロット処理を実施するか否かを制御するようにしても良い。
図8は、かかる点に鑑みて為された、本発明に係る半導体メモリ制御装置の変形例を示す情報処理システムのブロック図である。
図8に示すように、かかる情報処理システムは、図1に示すメモリ制御部2に代えてメモリ制御部2A、フラッシュメモリ3に代えてフラッシュメモリ3Aを採用した点を除く他の構成は、図1に示されるものと同一である。
尚、フラッシュメモリ3Aには、各ブロック毎に、現時点までに実施された読出回数及びイレース回数が夫々個別に更新されつつ保存されるイレース回数テーブル領域30が設けられている。
図9は、メモリ制御部2Aにおいて実施される、図2に示す如きデータ読出ルーチンの変形例を示すフローチャートである。
尚、図9に示すデータ読出ルーチンでは、図2に示されるデータ読出ルーチンにステップS31及びS32を追加した点を除く他のステップ及びその実行順序は図2に示されるものと同一である。よって、以下にステップS31及びS32を中心にその動作を説明する。
すなわち、ステップS3において優先誤り監視実行フラグが通常誤り監視処理の実行を示すと判定された場合、メモリ制御部2Aは、フラッシュメモリ3Aのイレース回数テーブル領域30から、通常誤り監視対象ブロックに対応したイレース回数を読み出し、そのイレース回数に対応した読出回数閾値TRを、図7の破線にて示す変換特性から求める(ステップS31)。尚、図7に示す変換特性は、フラッシュメモリ3Aに対して現時点までに実施されたイレース回数と、正常にデータ読み出しが可能、つまり例えビット誤りが生じていてもこれを訂正することが可能となる読出動作の限度回数と、の対応関係に基づいて得られたものである。
かかるステップS31の実行後、メモリ制御部2Aは、フラッシュメモリ3Aのイレース回数テーブル領域30から、上記の通常誤り監視対象ブロックに対応した読出回数情報を読み出し、その読出回数が上記読出回数閾値TRよりも大であるか否かを判定する(ステップS32)。メモリ制御部2Aは、このステップS32において読出回数が上記読出回数閾値TRよりも大であると判定された場合には前述した如きステップS6及びS7なる一連の処理を実行する一方、その読出回数が読出回数閾値TR以下であると判定された場合には、このステップS6をスキップして次のステップS7の実行に移る。
要するに、前回までのフラッシュメモリ3Aからのデータ読み出しによって誤りが検出されず(ステップS3でNOの判定)、且つ通常誤り監視対象ブロックに対する現時点までの読出回数が、図7に示す如き、そのブロックに対して施されたイレース回数(延べ数)に対応した読出回数閾値TRを超えた場合にだけ、通常誤り監視対象ブロックを示す番号が誤り監視領域指定レジスタ23に記憶される(S6)。一方、前回までのフラッシュメモリ3Aからのデータ読み出しによって誤りが検出されず(ステップS3でNOの判定)、且つ現時点までの読出回数が、そのブロックに対して施されたイレース回数(延べ数)に対応した読出回数閾値TR以下の場合には、通常誤り監視対象ブロックに対する誤り監視処理は実施されない。
このように、図7に示される半導体メモリ制御装置においては、読出可能な限度回数に対応した読出回数閾値(TR)を、図7に示す如くイレース回数の増加に伴い低下させつつ、現時点までの読出回数(延べ数)と、読出回数閾値(TR)とを比較することにより通常誤り監視処理を実行するか否かを制御するようにしている。
これにより、イレース回数の増加に伴って正常にデータを読出すことが可能な読出回数が低下しても、不必要に通常誤り監視処理を実行することなく、且つ、訂正可能な誤りビット数の状態にある間に必ず通常誤り監視処理が実施されるようになる。よって、無駄のない効率的な誤り監視処理を実施することが可能となる。
尚、かかる実施例では、図7に示す如く、フラッシュメモリ3に対するイレース回数の増加に追従して低下する読出回数閾値TRに基づき、通常誤り監視処理を実行するか否かを制御しているが、フラッシュメモリ3に対する現時点までの総書き込み回数に追従して低下する読出回数閾値TRを用いるようにしても良い。
又、上記実施例では、フラッシュメモリ3から1回分のデータ読み出しが為される度に、誤り監視処理(S9)を実行するようにしているが、N回分(Nは2以上の整数)のデータ読み出し毎に1回分の誤り監視処理(S9)を実行するようにしても良い。
1 CPU
2 メモリ制御部
3 フラッシュメモリ
4 RAM

Claims (7)

  1. 書込指令又は読出指令に応じて半導体メモリに対してデータの書込又は読出制御を施す半導体メモリ制御装置であって、
    前記読出指令に応答して前記半導体メモリから読み出されたデータに対して、誤り検出処理を施して誤りビット数を示す情報を生成する誤り検出手段と、
    前記誤りビット数を示す情報を記憶する第1レジスタと、
    前記半導体メモリ内のブロック各々の内で誤り監視対象とするブロックを監視対象ブロックとして指定する情報が記憶されている第2レジスタと、
    前記読出指令に応答して、前記半導体メモリ内の前記監視対象ブロックに対して誤り検出処理を施して誤りビット数を示す情報を前記第1レジスタに記憶せしめる誤り監視手段と、を含むことを特徴とする半導体メモリ制御装置。
  2. 前記監視対象ブロックは、乱数によって指定された第1のブロック、又は前回の前記半導体メモリからの読み出し時に前記誤り検出手段によって誤りが検出されたデータが記憶されている第2のブロックであり、
    前記半導体メモリ制御部は、前回の前記半導体メモリからの読み出しによって誤りが検出されなかった場合には前記第1のブロックを前記監視対象ブロックとして前記第2レジスタに記憶せしめる一方、前回の前記半導体メモリからの読み出しによって誤りが検出された場合には前記第2のブロックを前記監視対象ブロックとして前記第2レジスタに記憶せしめることを特徴とする請求項1記載の半導体メモリ制御装置。
  3. 前記半導体メモリは、各ブロック毎にそのブロックに対して実施されたイレース処理の延べ回数を示すイレース回数及び読出回数を保持するイレース回数テーブル領域を有し、
    前記半導体メモリ制御部は、前記イレース処理の延べ回数の増加に伴って低下する読出の限度回数を示す読出回数閾値を前記イレース回数テーブル領域に保持されている前記イレース回数に基づいて求め、前回の前記半導体メモリからの読み出しによって誤りが検出されず且つ前記読出回数が前記読出回数閾値を超えた場合にだけ、前記第1のブロックを前記第2レジスタに記憶せしめることを特徴とする請求項2記載の半導体メモリ制御装置。
  4. 前記半導体メモリ制御部は、前記誤り監視手段によって前記第2のブロック内の全ページに対して前記誤り検出処理が終了した場合にこの第2のブロックを前記第1のブロックとして設定変更することを特徴とする請求項2又は3記載の半導体メモリ制御装置。
  5. 前記半導体メモリ制御部は、前記読出指令に応じて前記半導体メモリから読み出されたデータが記憶されているブロックを前記監視対象ブロックとして前記第2レジスタに記憶せしめる機能を有することを特徴とする請求項1ないし4のいずれか1に記載の半導体メモリ制御装置。
  6. 前記第1レジスタに記憶されている前記誤りビット数が所定の誤り閾値を超えている場合に前記データに誤り訂正処理を施したものを前記半導体メモリに上書きするリフレッシュ手段を更に備えたことを特徴とする請求項1ないし5のいずれか1に記載の半導体メモリ制御装置。
  7. 書込指令又は読出指令に応じて半導体メモリに対してデータの書込又は読出制御を施す半導体メモリの制御方法であって、
    前記読出指令に応答して前記半導体メモリから読み出されたデータに対して誤り検出処理を施して誤りビット数を示す情報を得るステップと、
    前記半導体メモリ内のブロック各々の内で誤り監視対象とするブロックを監視対象ブロックとして指定する情報を生成するステップと、
    前記読出指令に応答して、前記半導体メモリ内の前記監視対象ブロックに対して誤り検出処理を施して誤りビット数を示す情報を取得するステップと、
    前記誤りビット数が所定の誤り閾値を超えている場合に前記データに誤り訂正処理を施したものを前記半導体メモリに上書きするステップと、を有することを特徴とする半導体メモリの制御方法。
JP2011272152A 2011-12-13 2011-12-13 半導体メモリ制御装置及び制御方法 Active JP5883284B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011272152A JP5883284B2 (ja) 2011-12-13 2011-12-13 半導体メモリ制御装置及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011272152A JP5883284B2 (ja) 2011-12-13 2011-12-13 半導体メモリ制御装置及び制御方法

Publications (2)

Publication Number Publication Date
JP2013125303A true JP2013125303A (ja) 2013-06-24
JP5883284B2 JP5883284B2 (ja) 2016-03-09

Family

ID=48776526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011272152A Active JP5883284B2 (ja) 2011-12-13 2011-12-13 半導体メモリ制御装置及び制御方法

Country Status (1)

Country Link
JP (1) JP5883284B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045523A (ja) * 2014-08-19 2016-04-04 ラピスセミコンダクタ株式会社 メモリ制御装置及びメモリ制御方法
JP2016118815A (ja) * 2014-12-18 2016-06-30 パナソニックIpマネジメント株式会社 不揮発性メモリ装置
JP6076524B1 (ja) * 2016-02-26 2017-02-08 株式会社Pfu メモリ制御装置、制御方法及び制御プログラム
JP2017062774A (ja) * 2015-08-12 2017-03-30 インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag メモリデバイス、および記憶されているビットシーケンスを訂正するための方法
JP2017219945A (ja) * 2016-06-06 2017-12-14 オムロン株式会社 制御装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320342A1 (en) * 2007-06-21 2008-12-25 Megachips Corporation Memory controller
JP2009026285A (ja) * 2007-06-21 2009-02-05 Mega Chips Corp メモリコントローラ
JP2009037317A (ja) * 2007-07-31 2009-02-19 Panasonic Corp メモリーコントローラ、及びこれを用いた不揮発性記憶装置並びに不揮発性記憶システム
WO2009107268A1 (en) * 2008-02-29 2009-09-03 Kabushiki Kaisha Toshiba Semiconductor storage device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320342A1 (en) * 2007-06-21 2008-12-25 Megachips Corporation Memory controller
JP2009026285A (ja) * 2007-06-21 2009-02-05 Mega Chips Corp メモリコントローラ
JP2009037317A (ja) * 2007-07-31 2009-02-19 Panasonic Corp メモリーコントローラ、及びこれを用いた不揮発性記憶装置並びに不揮発性記憶システム
WO2009107268A1 (en) * 2008-02-29 2009-09-03 Kabushiki Kaisha Toshiba Semiconductor storage device
JP2009205578A (ja) * 2008-02-29 2009-09-10 Toshiba Corp 半導体記憶装置
US20100313084A1 (en) * 2008-02-29 2010-12-09 Kabushiki Kaisha Toshiba Semiconductor storage device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045523A (ja) * 2014-08-19 2016-04-04 ラピスセミコンダクタ株式会社 メモリ制御装置及びメモリ制御方法
JP2016118815A (ja) * 2014-12-18 2016-06-30 パナソニックIpマネジメント株式会社 不揮発性メモリ装置
US9804921B2 (en) 2014-12-18 2017-10-31 Panasonic Intellectual Property Management Co., Ltd. Nonvolatile memory apparatus and control method of nonvolatile memory apparatus
JP2017062774A (ja) * 2015-08-12 2017-03-30 インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag メモリデバイス、および記憶されているビットシーケンスを訂正するための方法
US10109372B2 (en) 2015-08-12 2018-10-23 Infineon Technologies Ag Memory device and method for correcting a stored bit sequence
JP6076524B1 (ja) * 2016-02-26 2017-02-08 株式会社Pfu メモリ制御装置、制御方法及び制御プログラム
JP2017219945A (ja) * 2016-06-06 2017-12-14 オムロン株式会社 制御装置

Also Published As

Publication number Publication date
JP5883284B2 (ja) 2016-03-09

Similar Documents

Publication Publication Date Title
JP5283845B2 (ja) ビットエラーの予防方法、情報処理装置
US9449684B2 (en) Storage control device, storage device, information processing system, and storage control method
US20100199020A1 (en) Non-volatile memory subsystem and a memory controller therefor
US8161346B2 (en) Data refresh apparatus and data refresh method
US9804921B2 (en) Nonvolatile memory apparatus and control method of nonvolatile memory apparatus
JP2008198310A (ja) ビットエラーの修復方法および情報処理装置
US8856614B2 (en) Semiconductor memory device detecting error
JP5883284B2 (ja) 半導体メモリ制御装置及び制御方法
JP2009042911A (ja) メモリアクセスシステム
US20180101303A1 (en) Data Storage Device and Data Writing Method Thereof
JP5521087B2 (ja) メモリコントローラ
US20150220394A1 (en) Memory system and method of controlling memory system
JP2019192316A (ja) 不揮発性記憶装置、メモリ制御装置、及びメモリ制御方法
JP2007094921A (ja) メモリカードとその制御方法
US20160011937A1 (en) Semiconductor memory device, memory controller, and control method of memory controller
JP2009230475A (ja) 不揮発性半導体記憶部を含む記憶システム
KR20180076605A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20080114208A (ko) 에러 정정 기능을 갖는 불휘발성 메모리 장치의 카피투프로그램방법
JP4950214B2 (ja) データ記憶装置における停電を検出する方法、およびデータ記憶装置を復旧する方法
JP6423282B2 (ja) メモリ制御装置及びメモリ制御方法
US20230004293A1 (en) Controller, memory system, and method of controlling memory
JP6438763B2 (ja) エラー訂正装置
US10019186B2 (en) Data maintenance method for error control and data storage device using the same
JP2012033222A (ja) 半導体記憶装置およびその制御方法
JP2010015477A (ja) フラッシュメモリ制御装置及びフラッシュメモリ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141017

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150709

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151022

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20151029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160205

R150 Certificate of patent or registration of utility model

Ref document number: 5883284

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150