JP4994112B2 - 半導体集積回路装置およびメモリ制御方法 - Google Patents

半導体集積回路装置およびメモリ制御方法 Download PDF

Info

Publication number
JP4994112B2
JP4994112B2 JP2007135791A JP2007135791A JP4994112B2 JP 4994112 B2 JP4994112 B2 JP 4994112B2 JP 2007135791 A JP2007135791 A JP 2007135791A JP 2007135791 A JP2007135791 A JP 2007135791A JP 4994112 B2 JP4994112 B2 JP 4994112B2
Authority
JP
Japan
Prior art keywords
data
flash memory
verify
flash
writing
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.)
Expired - Fee Related
Application number
JP2007135791A
Other languages
English (en)
Other versions
JP2008293555A (ja
Inventor
隆生 近藤
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2007135791A priority Critical patent/JP4994112B2/ja
Priority to US12/149,915 priority patent/US8055957B2/en
Publication of JP2008293555A publication Critical patent/JP2008293555A/ja
Application granted granted Critical
Publication of JP4994112B2 publication Critical patent/JP4994112B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test

Description

本発明は、フラッシュメモリを内蔵する半導体集積回路装置およびそのフラッシュメモリのアクセスを制御するメモリ制御方法に関する。
近年、フラッシュ内蔵マイコンでは、外付けEEPROMの代替として、フラッシュメモリに小容量データを追記していくEEPROMエミュレーションの要求があり、この用途では、非常に多くの書き換え回数が要求されることから、書き換え回数に関する信頼性が必要とされている。
特開2006−48893号公報によれば、受信した管理アドレスと不良ブロックマッピング情報とにより、予備ブロックアドレスが物理アドレスとしてハードウェアで選択される技術が記載されている。フラッシュメモリは、メモリセルアレイ部と、不良ブロックマッピングレジスタ部と、アドレス選択部と、不良ブロック状態制御部とを含む。メモリセルアレイ部は、受信される物理的アドレスによってデータを貯蔵して、不良ブロックマッピング情報を貯蔵する。不良ブロックマッピングレジスタ部は、不良ブロックマッピング情報を貯蔵する。アドレス選択部は、外部から印加される論理的アドレス又は論理的アドレスに相応する予備ブロックアドレスを物理的アドレスとして選択して、不良ブロックアドレスを発生する。不良ブロック状態制御部は、アドレス選択部から不良ブロックアドレスを受信して、不良ブロックマッピングレジスタの不良ブロックマッピング情報を更新する。不良ブロック状態制御部は、不良ブロックマッピングレジスタ部に貯蔵された不良ブロックアドレスの数を計数して、アドレス選択部の選択動作を制御する。不良ブロック状態制御部は、不良ブロックマッピングレジスタに貯蔵された不良ブロックマッピング情報をメモリセルアレイ部に貯蔵する。
すなわち、フラッシュメモリのマッピング情報貯蔵ブロックから読み出された不良ブロック情報は、不良ブロックマッピングレジスタ部に格納される。アドレス選択部は、外部から受信された論理的アドレスおよび、不良ブロックマッピングテーブルの比較を行う。比較の結果、不良ブロックに対するアクセスであった場合、予備ブロックアドレスが、メモリセルアレイへと出力される。
このフラッシュメモリでは、1本のワード線及びビット線に複数のメモリセルが接続されている。フラッシュメモリの場合、ビット線は全ブロックで共有されていることが多いため、ある特定のビット線に関して固着などの不良が発生した場合、その不良は全ブロックに対する不良となる。
特開2006−48893号公報
メモリセルのワード線/ビット線が故障した場合に、メモリ全体にその影響が波及する場合があり、単純なブロック入れ替えでは不良を救済しきれない。
本発明は、フラッシュメモリに不良が発生しても機能を縮退させながら確実に動作を継続する半導体集積回路装置およびメモリ制御方法を提供する。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の観点では、半導体集積回路装置は、フラッシュメモリ(12)と、フラッシュ制御部(14)と、プロセッサ部(20)とを具備する。フラッシュ制御部(14)は、フラッシュメモリ(12)に対する書き換え制御と、読み出し制御とを行う。プロセッサ部(20)は、フラッシュメモリ(12)の書き換え動作の後にベリファイ動作をフラッシュ制御部(14)に指示する。この書き換え動作は、フラッシュメモリ(12)の所定の領域を未書き込み状態にする消去動作を含む。プロセッサ部(14)は、動作状態として、ノーマルモードと、フェイルセーフモードとを備える。ノーマルモードでは、フラッシュメモリ(12)にデータを書き込んだ後のベリファイ動作において不良を検出すると、以降のフラッシュメモリ(12)の使用は停止される。フェイルセーフモードでは、フラッシュメモリ(12)にデータを書き込んだ後のベリファイ動作において不良を検出すると、エラー訂正してフラッシュメモリ(12)の使用は継続される。動作状態は、通常ノーマルモードであり、ノーマルモードの消去動作後のベリファイ動作において不良が検出されると、フェイルセーフモードに移行する。
本発明の他の観点では、メモリ制御方法は、フラッシュメモリ(12)と、フラッシュメモリ(12)に対する書き換え制御と、読み出し制御とを行うフラッシュ制御部(14)と、フラッシュメモリの書き換え動作の後にベリファイ動作をフラッシュ制御部(14)に指示するプロセッサ部(20)とを具備する半導体集積回路装置のメモリ制御方法である。ここで、書き換え動作は、フラッシュメモリ(12)の所定の領域を未書き込み状態にする消去動作を含んでいる。メモリ制御方法は、ノーマルモード動作ステップと、フェイルセーフモード動作ステップと、移行ステップとを具備する。
ノーマルモード動作ステップでは、フラッシュメモリ(12)にデータを書き込んだ後のベリファイ動作において不良を検出すると、以降のフラッシュメモリ(12)の使用が停止される。フェイルセーフモード動作ステップでは、フラッシュメモリにデータを書き込んだ後のベリファイ動作において不良が検出されても、エラー訂正してフラッシュメモリの使用が継続される。移行ステップでは、ノーマルモード動作ステップの消去動作後のベリファイ動作において不良を検出すると、ノーマルモードからフェイルセーフモードに移行する。
また、本発明の他の観点では、メモリ制御プログラムは、フラッシュメモリ(12)と、フラッシュメモリ(12)に対する書き換え制御と、読み出し制御とを行うフラッシュ制御部(14)と、フラッシュメモリ(12)の書き換え動作の後にベリファイ動作をフラッシュ制御部(14)に指示するプロセッサ部(20)とを具備する半導体集積回路装置のプロセッサ部(20)にフラッシュメモリ(12)の制御を実行させるプログラムである。メモリ制御プログラムは、ノーマルモード動作手順と、フェイルセーフモード手順とを具備する。
ノーマルモード動作手順は、第1データ書き込み手順と、第1データベリファイ手順と、第1データ消去手順と、第1消去ベリファイ手順とを備え、第1データベリファイ手順で不良を検出すると以降のフラッシュメモリの使用を停止する。第1データ書き込み手順では、フラッシュメモリ(12)にデータが書き込まれる。第1データベリファイ手順では、フラッシュメモリ(12)に書き込まれたデータがベリファイされる。第1データ消去手順では、フラッシュメモリ(12)の所定の領域が未書き込み状態にされる。第1消去ベリファイ手順では、未書き込み状態になったか否かをベリファイされる。フェイルセーフモード手順は、第2データ書き込み手順と、第2データベリファイ手順と、第2データ消去手順と、第2消去ベリファイ手順とを備え、第2データベリファイ手順で不良を検出するとエラー訂正してフラッシュメモリ(12)の使用が継続される。第2データ書き込み手順では、フラッシュメモリ(12)にデータを書き込まれる。第2データベリファイ手順では、フラッシュメモリ(12)に書き込まれたデータがベリファイされる。第2データ消去手順では、フラッシュメモリの所定の領域が未書き込み状態にされる。第2消去ベリファイ手順では、未書き込み状態になったか否かベリファイされる。第1消去ベリファイ手順において不良が検出されると、フェイルセーフモード手順に移行する手順がプロセッサ部(20)により実行される。
本発明によれば、フラッシュメモリに不良が発生しても機能を縮退させながら動作を継続する半導体集積回路装置およびメモリ制御方法を提供することができる。
図を参照して、本発明を実施するための最良の形態が説明される。図1に、本発明の実施の形態に係るマイクロプロセッサの構成を示す。マイクロプロセッサは、CPU(central processing unit)20、RAM(random access memory)30、フラッシュ部10とを具備する。CPU20は、バス24を介してフラッシュ部10から命令を読み出し、バス22を介してRAM30に格納されるデータを読み出したり処理したデータ等をRAM30に書き込んだりする。また、フラッシュ部10には、電源供給が停止されても保持すべきデータが格納されており、このデータを読み出して処理する。フラッシュ部10は、データを保持するフラッシュメモリ12と、フラッシュメモリ12の書き換え制御、読み出し制御を行うフラッシュ制御部14とを備える。フラッシュ部10に格納されるデータは、周辺バス26を介して書き込み、読み出しが可能である。
図2に、本発明の第1の実施の形態に係るフラッシュ部10の構成が示される。第1の実施の形態では、ソフトウェアによるメモリ制御方法が示される。CPU20のフラッシュ部10の制御は、通常の動作モードであるノーマルモードと、フラッシュ部10に障害を検出したときのフェイルセーフモードとがある。フラッシュ部10は、データを格納するフラッシュメモリ12とそれを制御するフラッシュ制御部14とを備える。フラッシュメモリ12は、データを格納するメモリセルアレイ120とメモリセルアレイ120のアドレスをデコードするアドレスデコーダ126とを含む。
フラッシュ制御部14は、書き換え制御シーケンサ40、アドレスポインタ52、ライトバッファ54、リードバッファ56、ECCエンコーダ64、ECCデコーダ66を備える。書き換え制御シーケンサ40は、制御レジスタ42を備え、CPU20から指示された制御情報を制御レジスタ42に設定し、その制御情報に基づいてフラッシュ部10の各部の動作を制御する。また、書き換え制御シーケンサ40は、フラッシュメモリ12に書き換えモードを指示し、フラッシュメモリ12のメモリセルから読み出した信号の論理レベルを判定するための判定閾値を設定する。アドレスポインタ52は、CPU20から指示されるフラッシュメモリ12のアドレスを格納し、フラッシュメモリ12に供給する。ライトバッファ54は、フラッシュメモリ12に書き込むデータを保持し、ECCエンコーダ64を介してフラッシュメモリ12に書き込みデータを供給する。リードバッファ56は、フラッシュメモリ12からECCデコーダ66を介して読み出しデータを取り込んで保持し、CPU20に供給する。
ECCエンコーダ64は、ライトバッファ54に格納されるデータに対するECC(error correcting code)を付加する。例えば、ライトバッファ54に格納されるデータが32ビットであるとすると、ECCエンコーダ64は6ビットのECCを付加し、38ビットのデータとしてフラッシュメモリ12に供給する。ECCデコーダ66は、フラッシュメモリ12から読み出したECCを含むデータに基づいて、エラー訂正したデータをリードバッファ56に供給する。また、ECCデコーダ66は、エラー訂正の機能を停止して読み出したデータをそのままリードバッファ56に供給することも可能である。エラー訂正機能のオン・オフは、書き換え制御シーケンサ40により行われる。
さらに、フラッシュ制御部14は、ライトバッファ54に格納されているデータと、ECCデコーダ66から出力されるフラッシュメモリ12から読み出したままのデータとを比較して、比較結果をCPUに通知する機能を有してもよい。
フラッシュメモリ12のメモリセルアレイ120は、ここでは全領域がユーザ領域122として使用される。メモリセルアレイ120は、例えば、32キロバイトの容量を有する場合、図3に示されるように、ワード線を128本、ビット線を2432本有する。メモリセルアレイ120は、16ブロックに分割されて管理されている。したがって、各ブロックは8本のワード線を有する。このブロック単位にメモリ内容の消去が行われる。32ビットのデータに対して6ビットのECCが付加され、38ビット単位に書き込み/読み出しが行われる。図3に示されるメモリセルアレイの場合、この38ビットのグループが64グループあり、同一ワード線に対して64ワード分のデータが格納されることになる。通常この64ワードのアドレスは、連続している。図からも分かるように、ワード線に関する障害があった場合、連続しているアドレスのデータが不良となる。ビット線に関する障害があった場合、64ワードおきのデータが不良となる。
メモリセルアレイ120は、図4に示されるように、4セクションに分割されて論理的に管理される。各セクションは、4ブロックを含み、セクションの状態を示す情報が格納されるヘッダ部とユーザデータが格納されるデータ部とを備える。ヘッダ部は、そのセクションがどのような状態にあるかを示す3ワードのフラグ情報を備える。各フラグ情報は、1ワードで構成され、同一ワード線上にない3アドレスにそれぞれ設定される。
第1のフラグ情報は、該当セクション内のデータが消去されていることを示す消去状態(erased)、該当セクションが使用可能であることを示す有効状態(activated)、該当セクションの使用を停止する無効状態(consumed)、該当セクションが使用できないことを示す不良状態(damaged)の各状態を示す。フラッシュメモリセルは、データを消去されると“1”となるため、消去状態は、16進数表記すると0xffffffffで示される。有効状態は、同じく0x5555ffffで示され、無効状態は0x55555555で示される。また、不良状態は、0x00000000で示される。
第2のフラグ情報は、16ビットのカウント値であり、そのセクションの消去回数を示す。このカウント値は、その1/0を反転させた値が付加され、32ビットで格納される。したがって、カウント値とカウントの反転値とにより示される消去回数が一致しない場合、カウント値の書き込みに失敗したことが分かる。
第3のフラグ情報は、第1のフラグ情報の予備として使用され、第1のフラグ情報が書き込めない場合等に、不良状態を示す0x00000000が書き込まれる。したがって、第1または第3のフラグ情報のどちらか一方が不良状態(0x00000000)を示すとき、そのセクションは使用不可であることが分かる。
セクションは、図5に示されるように、(a)未書き込み状態、(b)フォーマット済み状態、(c)使用中状態、(d)使用完了状態、(e)(f)使用禁止状態であることが各フラグ情報によって示される。まず、セクションは、格納されているデータが消去されて(a)未書き込み状態になる。消去回数が第2のフラグ情報として書き込まれると、そのセクションは(b)フォーマット済み状態となる。第1のフラグ情報の上位16ビットに0x5555が書き込まれ、セクションは(c)使用中状態となる。そのセクションのデータ部にデータが書き込まれ、使用される。データ部に新しいデータが書き込まれていき、データを書き込む領域がなくなると、セクションは(d)使用完了状態となり、第1のフラグ情報の下位16ビットに0x5555が書き込まれる。通常使用時、その状態は、(a)から(d)までを繰り返す。
そのセクションに障害が検出されると、(e)使用禁止状態になる。第1のフラグ情報を書き込むことができなくなることもあり、その場合は、第3のフラグ情報に不良状態(0x00000000)を書き込み、(f)使用禁止状態とする。これらのフラグ情報は、同一ワード線のアドレスに割り付けられていないため、いずれかのフラグ情報から異常状態であることを判定することができる。
したがって、ノーマルモードにおいては各セクションに対して、図6に示されるように、通常の書き込み、消去が順に行われる。すなわち、このフラッシュメモリを搭載するマイクロプロセッサの使用開始時は、図6(1)に示されるように、各セクションは(a)未書き込み状態になっている。CPU20は、各セクションのヘッダ部のフラグ情報に消去回数を設定し、(b)フォーマット済み状態にする。CPU20は、セクション0のフラグ情報に有効状態を設定し、図6(2)に示されるように、(c)使用中状態にしてセクション0の使用を開始する。(c)使用中状態のセクション0にデータが追記される。また、データの書き換えは、新たな領域に書き込むことによって行われるため、図6(3)に示されるように、セクション0には書き込む領域がなくなる。
CPU20は、図6(4)に示されるように、セクション1を(c)使用中状態にし、セクション0に格納されているデータのうちの有効なデータをセクション1にコピー(書き込み)する。コピーが完了したら、図6(5)に示されるように、セクション0のフラグ情報に(d)使用完了状態が設定される。ユーザデータは、セクション1に書き込まれている間に、セクション0のデータは消去される。ヘッダ部も消去されるため、図6(6)に示されるように、セクション0は(a)未書き込み状態になる。セクション0のフラグ情報に消去回数が設定され、図6(7)に示されるように、セクション0は(b)フォーマット済みになる。このように、各セクションが順に使用されていく。
図6(8)に示されるように、セクション3に書き込み領域がなくなると、次の使用セクションはセクション0となり、図6(9)に示されるように、セクション3の有効データがセクション0にコピーされる。コピーが完了すると、セクション3は、図6(10)に示されるように、(d)使用完了状態になる。その後、図6(11)に示されるように、セクション0を使用中にセクション3は、消去されて(a)未書き込み状態になり、1回加算された消去回数がヘッダ部に設定され、図6(12)に示されるように、(b)フォーマット済み状態になる。
次に、セクション0において格納されているデータを消去するときに障害を検出してフェイルセーフモードに移行する場合について、図7を参照して説明する。図7(1)から図7(5)までの各セクションの状態は、図6(1)から図6(5)までと同じであり、セクション0の使用が進み、セクション0は(d)使用完了状態になる。セクション0に格納されるデータを消去しようとした時、障害が検出される。セクション0のデータのうちの有効なデータは、すでにセクション1にコピーされているため、セクション0に残っているデータは無効であり、マイクロプロセッサの動作に悪影響を与えることはない。しかし、このセクション0は使用できないため、図7(6)に示されるように、(e)使用禁止状態にされ、メモリ制御はフェイルセーフモードに切り替わる。セクション0が使用できないだけであり、セクション1には図7(7)に示されるように、通常と同じように使用される。順にセクションが使用され、図7(8)に示されるように、セクション3が満杯になると、図7(9)に示されるように、セクション1が次に使用される。セクション3の有効データは、セクション1にコピーされ(図7(9))、セクション3は(d)使用完了状態になる(図7(10))。その後、セクション3は、データが消去されて(a)未書き込み状態になり(図7(11))、消去回数が設定されて(b)フォーマット済み状態になる(図7(12))。以降、セクション0を除いてセクション1〜3が使用され、マイクロプロセッサの動作は継続される。
図8にメモリ制御における状態遷移が示される。通常、ノーマルモードにおいてフラッシュメモリ12にデータが書き込まれる。正常にデータが書き込まれたか書き込みベリファイ1において確認される。書き込みベリファイ1において書き込みデータが確認されると、正常終了して待機状態に戻る。書き込みが不良であればリトライが行われ、それでも書き込みが不良であれば致命的障害状態となる。
ノーマルモードでデータを書き込むうちに、書き込みセクションに書き込む領域がなくなると書き込みセクションは次のセクションに移行し、元の書き込みセクションは消去される。データ消去が消去ベリファイ1において確認される。消去が不十分であれば、消去のリトライが行われる。消去ベリファイ1において消去が確認されると、ノーマルモード1に戻る。リトライしても消去が不十分である場合、フェイルセーフモードに移行する。このとき、消去が不十分であったセクションは、使用禁止状態に設定される。
フェイルセーフモードでは、消去に関しては、ノーマルモードの場合と同じように、不十分であれば消去のリトライが行われ、正常に終了すると継続して動作する。リトライしても消去が不十分であれば、そのセクションも使用禁止状態に設定されるが、このとき不良セクションが2セクションとなるため、この状態は致命的障害状態とする。
フェイルセーフモードにおけるデータ書き込みは、ノーマルモードの場合と同じように、正常にデータが書き込まれたか書き込みベリファイ2において確認される。書き込みベリファイ2において書き込みデータが確認されると、フェイルセーフモードに戻る。書き込みが不良であればリトライを行い、それでも書き込みが不良であれば、ECC機能を有効にしてベリファイが行われる(ECCベリファイ)。すなわち、メモリ上の1ワード38ビットのうち、1ビットのエラーであれば32ビットのユーザデータをエラー訂正して復元することができるため、ビット線に関する不良などを救済することが可能となる。ECC機能を有効にした書き込みベリファイにおいても書き込みデータの一致が確認できない場合、致命的障害状態になる。
次に、図を参照してマイクロプロセッサのフラッシュメモリアクセス動作が説明される。図9は、ノーマルモードにおけるデータ書き込み処理の動作を示すフローチャートである。
フラッシュメモリ12にデータを書き込むとき、CPU20は、初期設定として、リトライ回数をリセットし、書き込み開始アドレスをアドレスポインタ52に設定し、書き込みデータをライトバッファ54に設定する(ステップS110)。
続いて、CPU20は、書き換え制御シーケンサ40の制御レジスタ42に書き込み動作を指示する制御情報を設定し、書き換え制御シーケンサ40にデータ書き込みを指示する(ステップS112)。書き換え制御シーケンサ40は、ライトバッファ54に設定されたデータをアドレスポインタ52に設定されたアドレスに書き込み、CPU20は、データ書き込み終了を待つ(ステップS114)。このとき、ECCエンコーダは、ライトバッファ54に設定されたデータにECC付加情報を付けてメモリセルアレイ120に出力する。
データ書き込みが終了すると、CPU20は、制御レジスタ42に書き込みベリファイ動作を指示する制御情報を設定し、書き換え制御シーケンサ40に書き込みベリファイを指示する(ステップS116)。書き換え制御シーケンサ40は、データを読み出してリードバッファ56に設定し、書き込んだデータをベリファイする(ステップS118)。リードバッファ56には、読み出したデータがエラー訂正されることなく設定される。このとき、書き換え制御シーケンサ40は、メモリセルアレイ120から出力される読み出し信号の論理レベルを判定する閾値をベリファイ用の値に設定する。この閾値は、通常のデータ読み出しの閾値より厳しい値になっている。
CPU20は、ベリファイ結果を判定する(ステップS120)。ECC付加情報を含めて比較する場合、フラッシュ制御部14内で比較することが好ましい。CPU20が比較してもよい。このとき、ECCによるエラー訂正をせずに、単純に全ビットの比較が行われる。一致していれば(ステップS120−Yes)、CPU20は、書き込むデータが全て書き込まれたか判定する(ステップS134)。書き込むデータがあれば(ステップS134−No)、リトライ回数をリセットし、書き込みアドレスを更新してアドレスポインタ52に設定し、書き込みデータをライトバッファ54に設定して(ステップS136)、ステップS112から繰り返す。全てデータを書き込むと(ステップS134−Yes)、書き込み処理は正常に終了する。
ベリファイの結果、書き込みデータと読み出しデータが不一致の場合(ステップS120−No)、リトライ回数を更新し(ステップS122)、許容回数以下であれば(ステップS124−Yes)、再度ステップS112から繰り返す。リトライ回数が許容回数を超えると(ステップS124−No)、書き込みエラーとして異常終了する。書き込みエラーに対する処理の説明は、本発明に直接関係しないので省略される。
次にノーマルモードにおける消去処理が、図10を参照して説明される。フラッシュメモリ12のデータ消去は、セクション単位で行われる。CPU20は、リトライ回数をリセットし、消去すべき領域のアドレスをアドレスポインタ52に設定する(ステップS140)。
続いて、CPU20は、制御レジスタ42に消去動作を指示する制御情報を設定し、書き換え制御シーケンサ40にデータ消去を指示する(ステップS142)。書き換え制御シーケンサ40は、アドレスポインタ52に設定されたアドレスに基づいてデータを消去し、CPU20は、データ消去終了を待つ(ステップS144)。
データ消去が終了すると、CPU20は制御レジスタ42に消去ベリファイ動作を指示する制御情報を設定し、書き換え制御シーケンサ40に消去ベリファイを指示する(ステップS146)。このとき、書き換え制御シーケンサ40は、メモリセルアレイ120から出力される読み出し信号の論理レベルを判定する閾値を消去状態判定用の値に設定する。この閾値は、確実に消去状態になっていることを確認するために通常の読み出し時の閾値より厳しい値になっている。書き換え制御シーケンサ40は、この閾値により読み出し信号のレベルを判定し、読み出したデータをリードバッファ56に設定する。このリードバッファ56に設定されたデータと、オール“1”データとを比較する(ステップS148)。なお、データは“1”の状態が消去状態である。ここでは、ECC付加情報を含めて38ビットの比較が行われる。
CPU20は、消去状態になっているか否かを判定する(ステップS150)。全てのビットが、消去状態のオール“1”になっていれば(ステップS150−Yes)、正常終了とする。1ビットでも完全な消去状態になっていなければ(ステップS150−No)、リトライ回数が更新される(ステップS152)。リトライ回数が許容回数以下であれば(ステップS154−Yes)、消去処理が繰り返される。リトライ回数が許容回数を超えると(ステップS154−No)、消去エラーとして異常終了する。この消去エラーとなった領域を含むセクションは、使用禁止状態が設定される。このとき、ノーマルモードからフェイルセーフモードに移行することになる。
図11に、フェイルセーフモードにおける書き込み処理のフローチャートが示される。フェイルセーフモードにおける書き込み処理は、ノーマルモードにおける書き込み処理に比べると、ECCによるエラーの救済が行われることが異なる。
フェイルセーフモードにおいてフラッシュメモリ12にデータを書き込むとき、CPU20は、リトライ回数をリセットし、書き込み開始アドレスをアドレスポインタ52に設定し、書き込みデータをライトバッファ54に設定する(ステップS210)。
続いて、CPU20は、書き換え制御シーケンサ40の制御レジスタ42に書き込み動作を指示する制御情報を設定し、書き換え制御シーケンサ40にデータ書き込みを指示する(ステップS212)。書き換え制御シーケンサ40は、ライトバッファ54に設定されたデータをアドレスポインタ52に設定されたアドレスに書き込み、CPU20は、データ書き込み終了を待つ(ステップS214)。このとき、ECCエンコーダは、ライトバッファ54に設定されたデータにECC付加情報を付けてメモリセルアレイ120に出力する。
データ書き込みが終了すると、CPU20は、制御レジスタ42に書き込みベリファイ動作を指示する制御情報を設定し、書き換え制御シーケンサ40に書き込みベリファイを指示する(ステップS216)。書き換え制御シーケンサ40は、データを読み出してリードバッファ56に設定し、書き込んだデータと比較する(ステップS218)。リードバッファ56には、読み出したデータがエラー訂正されることなく設定される。このとき、書き換え制御シーケンサ40は、メモリセルアレイ120から出力される読み出し信号の論理レベルを判定する閾値をベリファイ用の値に設定する。この閾値は、通常のデータ読み出しの閾値より厳しい値になっている。
CPU20は、書き込みデータと読み出しデータが一致しているか否かを判定する(ステップS220)。ECC付加情報を含めて比較する場合、フラッシュ制御部14内で比較することが好ましい。CPU20が比較してもよい。このとき、ECCによるエラー訂正をせずに、単純に全ビットの比較が行われる。一致していれば(ステップS220−Yes)、CPU20は、書き込むデータが全て書き込まれたか判定する(ステップS234)。書き込むデータがあれば(ステップS234−No)、リトライ回数をリセットし、書き込みアドレスを更新してアドレスポインタ52に設定し、書き込みデータをライトバッファ54に設定して(ステップS236)、ステップS212から繰り返す。全てデータを書き込むと(ステップS234−Yes)、書き込み処理は正常に終了する。
ベリファイの結果、書き込みデータと読み出しデータが不一致の場合(ステップS220−No)、リトライ回数を更新し(ステップS222)、許容回数以下であれば(ステップS224−Yes)、再度ステップS212から繰り返す。リトライ回数が許容回数を超えると(ステップS224−No)、該当アドレスのメモリセルの書き込みエラーを救済するように、ECC機能を有効にする(ステップS226)。ECC機能により、読み出されたデータ(38ビット)は、付加情報に基づいて、データの本体部分(32ビット)が復元される。このECC機能で復元できるエラーは、1ビットのエラーであり、2ビット以上のエラーでは復元できない。1ビットのビット線に関連するエラーであれば、このECC機能により救済することができることになる。このECC機能を有効にした状態で再度書き込みデータのベリファイが行われる(ステップS228)。
ここで、書き込みデータ(32ビット)と読み出しデータ(32ビット)とが一致すると(ステップS230−Yes)、正常終了とする。不一致の場合(ステップS230−No)、ECC機能を有効にしても救済ができないため、書き込みエラーとして異常終了する。
書き込み動作において、常時ECC機能を有効にすると、書き込み特性のよくないメモリセルをECC機能により救済することになって好ましくない。したがって、ECC機能を無効にして書き込みリトライを行い、リトライが許容回数を超えたときにECC機能を有効にしてエラー救済が行われる。なお、ファイルセーフモードにおける消去処理は、異常終了したときに、フェイルセーフモードではなく致命的障害状態になることが異なるだけで、ノーマルモードにおける消去処理の同じである。
図12に、本発明の第2の実施の形態に係るフラッシュ部10の構成が示される。第2の実施の形態では、ハードウェアによるメモリ制御方法が示される。CPU20のフラッシュ部10の制御は、通常の動作モードであるノーマルモードと、フラッシュ部10に障害を検出したときのフェイルセーフモードとがある。フラッシュ部10は、データを格納するフラッシュメモリ12とそれを制御するフラッシュ制御部14とリセット時の動作を制御するリセットシーケンス制御部11とを備える。
フラッシュメモリ12は、データを格納するメモリセルアレイ120とメモリセルアレイ120のアドレスをデコードするアドレスデコーダ126とセレクタ128とを含む。メモリセルアレイ120は、ユーザデータが格納されるユーザ領域122と、リダンダンシ用ブロック123と、リダンダンシ情報を格納するエクストラ領域とを備える。セレクタ128は、リセット時にリダンダンシ情報を取り出すために、アドレスデコーダ126に供給するアドレスを切り替える。
フラッシュ制御部14は、書き換え制御シーケンサ40、アドレスポインタ52、ライトバッファ54、リードバッファ56、ECCエンコーダ64、ECCデコーダ66、レジスタ62を備える。書き換え制御シーケンサ40は、制御レジスタ42を備え、CPU20から指示された制御情報を制御レジスタ42に設定し、その制御情報に基づいてフラッシュ部10の各部の動作を制御する。また、書き換え制御シーケンサ40は、フラッシュメモリ12に書き換えモードを指示し、フラッシュメモリ12のメモリセルから読み出した信号の論理レベルを判定するための判定閾値を設定する。アドレスポインタ52は、CPU20から指示されるフラッシュメモリ12のアドレスを格納し、フラッシュメモリ12に供給する。ライトバッファ54は、フラッシュメモリ12に書き込むデータを保持し、ECCエンコーダ64を介してフラッシュメモリ12に書き込みデータを供給する。リードバッファ56は、フラッシュメモリ12からECCデコーダ66を介して読み出しデータを取り込んで保持し、CPU20に供給する。
ECCエンコーダ64は、ライトバッファ54に格納されるデータにECCを付加する。例えば、ライトバッファ54に格納されるデータが32ビットであるとすると、6ビットのECCを付加し、38ビットのデータとしてフラッシュメモリ12に供給する。ECCデコーダ66は、フラッシュメモリ12から読み出したECCを含むデータに基づいて、エラー訂正したデータをリードバッファ56に供給する。また、ECCデコーダ66は、エラー訂正の機能を停止して読み出したデータをそのままリードバッファ56に供給することも可能である。
レジスタ62は、リセット時にメモリセルアレイ120のエクストラ領域124から読み出されたリダンダンシ情報を保持する。レジスタ62は、そのリダンダンシ情報に基づいて、メモリセルアレイ122の領域を管理する。さらに、フラッシュ制御部14は、ライトバッファ54に格納されているデータと、ECCデコーダ66から出力されるフラッシュメモリ12から読み出したままのデータとを比較して、比較結果をCPUに通知する機能を有してもよい。
リセットシーケンス制御部11は、CPU20のリセット解除前に起動され、セレクタ128を制御してアドレスデコーダ126にエクストラ領域124のアドレスを供給する。リセットシーケンス制御部11は、エクストラ領域124に格納されているリダンダンシ情報を読み出し、レジスタ62に保持させる。
フラッシュメモリ12のメモリセルアレイ120は、ユーザ領域122とリダンダンシ用ブロック123とエクストラ領域124とを備える。ユーザ領域122は、図3に示されるように、16ブロックに分割されて管理される。このブロックが消去処理によってデータが1度に消去される単位であるが、ここでは説明を簡単にするために、4ブロックで構成される1セクション単位に消去されるものとする。リダンダンシ用ブロック123は、この1セクション分と同容量であり、4セクションのいずれかと置き換えが可能なように制御される。なお、リダンダンシ用ブロック123を本来の1ブロックと同容量とすると、セクション内の1ブロックをだけが置き換えられることになる。その場合、リダンダンシ用ブロック123として確保しなければならない領域が少なくてよく、効果的である。また、複数のリダンダンシ用ブロックを備えてもよい。
また、エクストラ領域124は、リダンダンシ用ブロック123とユーザ領域122の不良発生ブロックとを置き換えるための、不良発生アドレス等のリダンダンシ情報が格納される。不良が発生すると、リダンダンシ情報が生成されて、エクストラ領域に格納されるとともに、レジスタ62に設定される。アドレスデコーダ126は、不良発生ブロックの代わりにリダンダンシ用ブロック123をアクセスするようにユーザ領域122のアドレスデコードを変更する。
ユーザ領域のセクション管理におけるフラグ情報は、第1の実施の形態において説明されているため、説明は省略される。また、ノーマルモードにおけるメモリセルアレイ120の運用は、第1の実施の形態において、図6を参照して説明されたように、書き込み、消去が順に行われ、ここではその詳細な説明は省略される。
本実施の形態において、セクション0において格納されているデータを消去するときに障害を検出してフェイルセーフモードに移行する場合について、図13を参照して説明する。図13(1)から図13(5)までの各セクションの状態は、図6(1)から図6(5)までと同じであり、セクション0の使用が進み、セクション0は(d)使用完了状態になる。セクション0に格納されるデータを消去しようとした時、障害が検出される。セクション0のデータのうちの有効なデータは、すでにセクション1にコピーされているため、セクション0に残っているデータは無効であり、マイクロプロセッサの動作に悪影響を与えることはない。しかし、このセクション0は使用できないため、図13(6)に示されるように、セクション0は(e)使用禁止状態にされ、メモリ制御はフェイルセーフモードに移行する。アドレスデコーダ126に対して不良発生アドレスが通知され、以降そのアドレスが指定されるとアドレスデコーダ126はリダンダンシ用ブロック123をアクセスするようにアドレスを変換する(図13(7))。したがって、ユーザからは、このセクション0に代えてリダンダンシ用ブロック123が使用されていることは意識されず、セクション0をそのまま継続して使用しているようにみえる。図13(8)以降は、リダンダンシ用ブロック123はセクション0として使用されるため、セクション3が満杯になると、図13(9)に示されるように、セクション0(リダンダンシ用ブロック123)が次に使用され、セクション3の有効データは、セクション0(リダンダンシ用ブロック123)にコピーされる。セクション3は、図13(10)に示されるように、(d)使用完了状態になり、その後、データが消去されて(a)未書き込み状態になり(図13(11))、消去回数が設定されて(b)フォーマット済み状態になる(図13(12))。以降、リダンダンシ用ブロック123はセクション0として使用され、マイクロプロセッサの動作は継続される。
図14にメモリ制御における状態遷移が示される。通常、ノーマルモードにおいてフラッシュメモリ12にデータが書き込まれる。正常にデータが書き込まれたか書き込みベリファイ1において確認される。書き込みベリファイ1において書き込みデータが確認されると、正常終了して待機状態に戻る。書き込みが不良であればリトライが行われ、それでも書き込みが不良であれば致命的障害状態となる。
ノーマルモードでデータを書き込むうちに、書き込みセクションに書き込む領域がなくなると書き込みセクションは次のセクションに移行する。元の書き込みセクションは消去され、データ消去が消去ベリファイ1において確認される。消去が不十分であれば、消去のリトライが行われる。消去ベリファイ1において消去が確認されると、ノーマルモード1に戻る。リトライしても消去が不十分である場合、その不良アドレスなどの情報はリダンダンシ情報としてエクストラ領域124に書き込まれる。そのリダンダンシ情報の書き込みのベリファイを示す情報書き込みベリファイにおいて、リダンダンシ情報の書き込みをリトライしても正常に書き込まれたことが確認できなかった場合は、致命的障害状態となる。正常に書き込みができたときは、フェイルセーフモードに移行する。データ消去が不良であったためにフェイルセーフモードに移行したのであるから、フェイルセーフモードに移行した後は、リダンダンシ用ブロック123が、消去不良となったセクションの代わりに使用される。
フェイルセーフモードでは、消去に関しては、ノーマルモードの場合と同じように、不十分であれば消去のリトライが行われ、正常に終了すると継続して動作する。リトライしても消去が不十分であれば、そのセクションも使用禁止状態に設定されるが、このとき不良セクションが2セクションとなるため、この状態は致命的障害状態とする。
フェイルセーフモードにおけるデータ書き込みは、ノーマルモードの場合と同じように、正常にデータが書き込まれたか書き込みベリファイ2において確認される。書き込みベリファイ2において書き込みデータが確認されると、フェイルセーフモードに戻る。書き込みが不良であればリトライを行い、それでも書き込みが不良であれば、ECC機能を有効にしてベリファイが行われる(ECCベリファイ)。すなわち、メモリ上の1ワード38ビットのうち、1ビットのエラーであれば32ビットのユーザデータをエラー訂正して復元することができるため、ビット線に関する不良などを救済することが可能となる。ECC機能を有効にした書き込みベリファイにおいても書き込みデータの一致が確認できない場合、致命的障害状態になる。ECCベリファイにおいてエラー訂正してベリファイOKであれば、フェイルセーフモードに戻り、そのメモリの使用を継続する。
次に、図を参照してマイクロプロセッサのフラッシュメモリアクセス動作が説明される。ノーマルモードにおけるデータ書き込み処理、フェイルセーフモードにおけるデータ書き込み処理は、第1の実施の形態と同じであり、説明は省略される。
図15は、ノーマルモードにおける消去処理の動作を示すフローチャートである。フラッシュメモリ12のデータ消去は、所定の単位毎に行われる。CPU20は、リトライ回数をリセットし、消去すべき領域のアドレスをアドレスポインタ52に設定する(ステップS140)。
続いて、CPU20は、制御レジスタ42に消去動作を指示する制御情報を設定し、書き換え制御シーケンサ40にデータ消去を指示する(ステップS142)。書き換え制御シーケンサ40は、アドレスポインタ52に設定されたアドレスに基づいてデータを消去し、CPU20は、データ消去終了を待つ(ステップS144)。
データ消去が終了すると、CPU20は制御レジスタ42に消去ベリファイ動作を指示する制御情報を設定し、書き換え制御シーケンサ40に消去ベリファイを指示する(ステップS146)。このとき、書き換え制御シーケンサ40は、メモリセルアレイ120から出力される読み出し信号の論理レベルを判定する閾値を消去状態判定用の値に設定する。この閾値は、確実に消去状態になっていることを確認するために通常の読み出し時の閾値より厳しい値になっている。書き換え制御シーケンサ40は、この閾値により読み出し信号のレベルを判定し、読み出したデータをリードバッファ56に設定する。このリードバッファ56に設定されたデータと、オール“1”データとを比較する(ステップS148)。なお、データは“1”の状態が消去状態である。ここでは、ECC付加情報を含めて38ビットの比較が行われる。
CPU20は、消去状態になっているか否かを判定する(ステップS150)。全てのビットが、消去状態のオール“1”になっていれば(ステップS150−Yes)、正常終了とする。1ビットでも完全な消去状態になっていなければ(ステップS150−No)、リトライ回数が更新される(ステップS152)。リトライ回数が許容回数以下であれば(ステップS154−Yes)、消去処理が繰り返される。リトライ回数が許容回数を超えると(ステップS154−No)、消去エラーを起こしたアドレス等のリダンダンシ情報を収集し、リダンダンシ情報書き込み処理を行い(ステップS300)、フェイルセーフモードに移行する。
図16に、リダンダンシ情報書き込み処理300のフローチャートが示される。リダンダンシ情報書き込み処理300では、リダンダンシ情報がエクストラ領域124に書き込まれる。CPU20は、リトライ回数をリセットし、書き込み開始アドレスをアドレスポインタ52に設定し、書き込みデータをライトバッファ54に設定する(ステップS310)。
続いて、CPU20は、書き換え制御シーケンサ40の制御レジスタ42に書き込み動作を指示する制御情報を設定し、書き換え制御シーケンサ40にデータ書き込みを指示する(ステップS312)。書き換え制御シーケンサ40は、ライトバッファ54に設定されたデータをアドレスポインタ52に設定されたアドレスに書き込み、CPU20は、データ書き込み終了を待つ(ステップS314)。このとき、ECCエンコーダは、ライトバッファ54に設定されたデータにECC付加情報を付けてメモリセルアレイ120に出力する。
データ書き込みが終了すると、CPU20は、制御レジスタ42に書き込みベリファイ動作を指示する制御情報を設定し、書き換え制御シーケンサ40に書き込みベリファイを指示する(ステップS316)。書き換え制御シーケンサ40は、データを読み出してリードバッファ56に設定し、書き込んだデータと比較する(ステップS318)。リードバッファ56には、読み出したデータがエラー訂正されることなく設定される。このとき、書き換え制御シーケンサ40は、メモリセルアレイ120から出力される読み出し信号の論理レベルを判定する閾値をベリファイ用の値に設定する。この閾値は、通常のデータ読み出しの閾値より厳しい値になっている。
CPU20は、書き込みデータと読み出しデータが一致しているか否かを判定する(ステップS320)。ECC付加情報を含めて比較する場合、フラッシュ制御部14内で比較することが好ましい。CPU20が比較してもよい。このとき、ECCによるエラー訂正をせずに、単純に全ビットの比較が行われる。一致していれば(ステップS320−Yes)、リダンダンシ情報の書き込み処理は正常に終了し、フェイルセーフモードに移行する。
ベリファイの結果、書き込みデータと読み出しデータが不一致の場合(ステップS320−No)、リトライ回数を更新し(ステップS322)、許容回数以下であれば(ステップS324−Yes)、再度ステップS312から繰り返す。リトライ回数が許容回数を超えると(ステップS324−No)、該当アドレスのメモリセルの書き込みエラーを救済するように、ECC機能を有効にする(ステップS326)。ECC機能により、読み出されたデータ(38ビット)は、付加情報に基づいて、データの本体部分(32ビット)が復元される。このECC機能で復元できるエラーは、1ビットのエラーであり、2ビット以上のエラーでは復元できない。1ビットのビット線に関連するエラーであれば、このECC機能により救済することができることになる。このECC機能を有効にした状態で再度書き込みデータのベリファイが行われる(ステップS328)。
ここで、書き込みデータ(32ビット)と読み出しデータ(32ビット)とが一致すると(ステップS330−Yes)、正常終了としてフェイルセーフモードへ移行する。不一致の場合(ステップS330−No)、ECC機能を有効にしても救済ができないため、書き込みエラーとして異常終了し、エラーが確定する。
書き込み動作において、常時ECC機能を有効にすると、書き込み特性のよくないメモリセルをECC機能により救済することになって好ましくない。したがって、ECC機能を無効にして書き込みリトライを行い、リトライ回数が許容回数を超えたときにECC機能を有効にしてエラー救済が行われる。なお、ECC機能を有効にした書き込みデータのベリファイは、ノーマルモードの書き込み動作においてリトライ回数が許容回数を超えたときに行われてもよい。
本発明の実施の形態に係る半導体集積回路装置の構成を示すブロック図である。 本発明の第1の実施の形態に係るフラッシュ部の構成を示すブロック図である。 メモリセルアレイの構成を説明する図である。 メモリセルアレイのセクションを説明する図である。 各セクションの状態を説明する図である。 セクションの運用を説明する図である(正常時)。 セクションの運用を説明する図である(エラー時)。 プロセッサ部の動作の状態遷移を示す図である。 ノーマルモードにおける書き込み処理の動作を示すフロー図である。 ノーマルモードにおける消去処理の動作を示すフロー図である。 フェイルセーフモードにおける書き込み処理の動作を示すフロー図である。 本発明の第2の実施の形態に係るフラッシュ部の構成を示すブロック図である。 セクションの運用を説明する図である(エラー時)。 プロセッサ部の動作の状態遷移を示す図である。 ノーマルモードにおける消去処理の動作を示すフロー図である。 リダンダンシ情報書き込み処理の動作を示すフロー図である。
符号の説明
10 フラッシュ部
11 リセットシーケンス制御部
12 フラッシュメモリ
120 メモリセルアレイ
122 ユーザ領域
123 リダンダンシ用ブロック
124 エクストラ領域
126 アドレスデコーダ
128 セレクタ
14 フラッシュ制御部
20 CPU
22、24 バス
26 周辺バス
30 RAM
40 書き換え制御シーケンサ
42 制御レジスタ
52 アドレスポインタ
54 ライトバッファ
56 リードバッファ
62 レジスタ
64 ECCエンコーダ
66 ECCデコーダ

Claims (17)

  1. フラッシュメモリと、
    前記フラッシュメモリに対する書き換え制御と、読み出し制御とを行うフラッシュ制御部と、
    前記フラッシュメモリの書き換え動作の後にベリファイ動作を前記フラッシュ制御部に指示するプロセッサ部と
    を具備し、
    前記書き換え動作は前記フラッシュメモリの所定の領域を未書き込み状態にする消去動作を含み、
    前記プロセッサ部は、動作状態として、
    前記フラッシュメモリにデータを書き込んだ後の前記ベリファイ動作において不良を検出すると以降の前記フラッシュメモリの使用を停止するノーマルモードと、
    前記フラッシュメモリにデータを書き込んだ後の前記ベリファイ動作において不良を検出するとエラー訂正して前記フラッシュメモリの使用を継続するフェイルセーフモードと
    を備え、
    前記ノーマルモードの前記消去動作後の前記ベリファイ動作において不良を検出すると、前記フェイルセーフモードに移行する
    半導体集積回路装置。
  2. 前記フラッシュ制御部は、
    前記フラッシュメモリに書き込むデータに対する誤り訂正符号を生成するECCエンコーダと、
    前記フラッシュメモリから読み出された読み出しデータに基づいてエラー訂正するECCデコーダと
    を備え、
    前記書き込むデータは、前記誤り訂正符号とともに前記フラッシュメモリに書き込まれ、前記ECCデコーダの機能を停止して前記ベリファイ動作を行ない、
    前記ノーマルモードにおいて前記書き換え動作が所定の回数を超えてリトライされたとき、書き込み不良として以降の前記フラッシュメモリの使用を停止し、
    前記フェイルセーフモードにおいて前記書き換え動作が所定の回数を超えてリトライされたとき、前記ECCデコーダの機能を有効にして前記ベリファイ動作が行われる
    請求項1に記載の半導体集積回路装置。
  3. 前記フラッシュメモリは、代替用ブロックを備え、
    前記フラッシュ制御部は、前記消去動作後の前記ベリファイ動作において不良を検出すると、前記不良が検出された前記フラッシュメモリのブロックに代えて前記代替用ブロックを自動的にアクセスするように、前記フラッシュメモリのアクセスアドレスを変換する
    請求項1または請求項2に記載の半導体集積回路装置。
  4. 前記フラッシュメモリは、
    前記不良が検出された前記フラッシュメモリのブロックを示すリダンダンシ情報を格納するエクストラ領域と、
    前記リダンダンシ情報に基づいて前記アクセスアドレスを変更するアドレスレジスタと
    を備える
    請求項3に記載の半導体集積回路装置。
  5. 前記フラッシュ制御部は、
    前記リダンダンシ情報を格納するレジスタと、
    前記プロセッサ部の初期設定が終了する前に前記エクストラ領域に格納されている前記リダンダンシ情報を読み出して前記レジスタに格納するリセットシーケンス制御部と
    を備える
    請求項4に記載の半導体集積回路装置。
  6. 前記フラッシュメモリは、複数のセクションに分割されて管理され、
    前記複数のセクションのうちの第1セクション内にデータを書き込める領域が所定の閾値以下になると、前記第1セクション内の有効データを第2セクションにコピーし、前記第1セクションのデータを消去して未書き込み状態にして循環的に使用される
    請求項1から請求項5のいずれかに記載の半導体集積装置。
  7. 前記複数のセクションの各々は、ヘッダ情報を備え、
    ヘッダ情報に含まれる複数のフラグは、それぞれ異なるワード線で指示されるアドレス位置に格納される
    請求項6に記載の半導体集積回路装置。
  8. フラッシュメモリと、前記フラッシュメモリに対する書き換え制御と、読み出し制御とを行うフラッシュ制御部と、前記フラッシュメモリの書き換え動作の後にベリファイ動作を前記フラッシュ制御部に指示するプロセッサ部とを具備する半導体集積回路装置のメモリ制御方法であって、
    前記書き換え動作は前記フラッシュメモリの所定の領域を未書き込み状態にする消去動作を含み、
    前記フラッシュメモリにデータを書き込んだ後の前記ベリファイ動作において不良を検出すると以降の前記フラッシュメモリの使用を停止するノーマルモード動作ステップと、
    前記フラッシュメモリにデータを書き込んだ後の前記ベリファイ動作において不良を検出するとエラー訂正して前記フラッシュメモリの使用を継続するフェイルセーフモード動作ステップと、
    前記ノーマルモード動作ステップの前記消去動作後の前記ベリファイ動作において不良を検出すると、前記フェイルセーフモードに移行する移行ステップと
    を具備する
    メモリ制御方法。
  9. 前記書き換え動作は、
    書き込むデータとともに前記書き込むデータに基づいて生成される誤り訂正符号とを前記フラッシュメモリに書き込むデータ書き込みステップと、
    前記フラッシュメモリの所定の領域のデータを消去して未書き込みの状態にする消去ステップと
    を備え、
    前記ベリファイ動作は、
    前記データ書き込みステップにより書き込まれたデータを前記誤り訂正符号に基づく誤り訂正を行わずにベリファイするデータ書き込みベリファイステップと、
    前記データ書き込みステップにより書き込まれたデータを前記誤り訂正符号に基づいて誤り訂正を行ってベリファイするECCベリファイステップと、
    前記消去ステップにより消去された領域の消去状態を確認する消去ベリファイステップと
    を備え、
    前記ノーマルモード動作ステップは、前記データ書き込みステップにより書き込まれたデータを前記データ書き込みベリファイステップによりベリファイするデータ書き込みを所定の回数まで再試行可能とし、前記データ書き込みの再試行が所定の回数を超えると、書き込み不良として以降の前記フラッシュメモリの使用を停止する書き込み再試行ステップを備え、
    前記フェイルセーフモード動作ステップは、前記データ書き込みステップにより書き込まれたデータを前記データ書き込みベリファイステップによりベリファイするデータ書き込みを所定の回数まで再試行可能とし、前記データ書き込みの再試行が所定の回数を超えると、前記データ書き込みステップにより書き込まれたデータを前記ECCベリファイステップによりベリファイするデータ書き込みを所定の回数まで再試行可能とするECC再試行ステップを備える
    請求項8に記載のメモリ制御方法。
  10. 前記フラッシュメモリは、代替用ブロックを備え、
    前記消去動作後の前記ベリファイ動作において不良を検出すると、前記不良が検出された前記フラッシュメモリのブロックに代えて前記代替用ブロックを自動的にアクセスするように、アクセスアドレスを変換するアドレス変換ステップを具備する
    請求項8または請求項9に記載のメモリ制御方法。
  11. 前記フラッシュメモリは、所定の領域がエクストラ領域として確保され、
    前記不良が検出されたときに前記フラッシュメモリのブロックを示すリダンダンシ情報を前記エクストラ領域に格納するリダンダンシ情報格納ステップと、
    前記エクストラ領域から読み出した前記リダンダンシ情報に基づいて、前記アクセスアドレスを変換するステップと
    をさらに具備する
    請求項10に記載のメモリ制御方法。
  12. 前記プロセッサ部の初期設定が終了する前に前記エクストラ領域に格納されている前記リダンダンシ情報を読み出してレジスタに格納するリセット制御ステップを備える
    請求項11に記載のメモリ制御方法。
  13. 前記フラッシュメモリに含まれる複数のセクションのうちの第1セクション内にデータを書き込める領域が所定の閾値以下になると、前記第1セクション内の有効データを前記複数のセクションのうちの第2セクションにコピーする有効データコピーステップと、
    前記第1セクションのデータを消去して未書き込み状態にするセクション消去ステップと
    を具備し、前記フラッシュメモリを循環的に使用する
    請求項8から請求項12のいずれかに記載のメモリ制御方法。
  14. 前記複数のセクションの各々は、ヘッダ情報を備え、
    ヘッダ情報に含まれる複数のフラグは、それぞれ異なるワード線で指示されるアドレス位置に格納される
    請求項13に記載のメモリ制御方法。
  15. フラッシュメモリと、前記フラッシュメモリに対する書き換え制御と、読み出し制御とを行うフラッシュ制御部と、前記フラッシュメモリの書き換え動作の後にベリファイ動作を前記フラッシュ制御部に指示するプロセッサ部とを具備する半導体集積回路装置のプロセッサ部に前記フラッシュメモリの制御を実行させるプログラムであって、
    前記フラッシュメモリにデータを書き込む第1データ書き込み手順と、
    前記フラッシュメモリに書き込まれたデータをベリファイする第1データベリファイ手順と、
    前記フラッシュメモリの所定の領域を未書き込み状態にする第1データ消去手順と、
    前記未書き込み状態をベリファイする第1消去ベリファイ手順と
    を備え、
    前記第1データベリファイ手順で不良を検出すると以降の前記フラッシュメモリの使用を停止するノーマルモード動作手順と、
    前記フラッシュメモリにデータを書き込む第2データ書き込み手順と、
    前記フラッシュメモリに書き込まれたデータをベリファイする第2データベリファイ手順と、
    前記フラッシュメモリの所定の領域を未書き込み状態にする第2データ消去手順と、
    前記未書き込み状態をベリファイする第2消去ベリファイ手順と
    を備え、
    前記第2データベリファイ手順で不良を検出するとエラー訂正して前記フラッシュメモリの使用を継続するフェイルセーフモード手順と
    を具備し、
    前記第1消去ベリファイ手順において不良を検出すると、前記フェイルセーフモード手順に移行する手順をプロセッサ部に実行させるためのメモリ制御プログラム。
  16. 前記第2データベリファイ手順は、誤り訂正符号に基づいて誤り訂正されたデータをベリファイする手順を備える
    請求項15に記載のメモリ制御プログラム。
  17. 前記フラッシュメモリは、代替用ブロックを備え、
    前記第1および第2消去ベリファイ手順において不良を検出すると、前記不良が検出された前記フラッシュメモリのブロックに代えて前記代替用ブロックを自動的にアクセスするように、アクセスアドレスの変換を前記フラッシュ制御部に指示する手順をさらに具備する
    請求項15または請求項16に記載のメモリ制御プログラム。
JP2007135791A 2007-05-22 2007-05-22 半導体集積回路装置およびメモリ制御方法 Expired - Fee Related JP4994112B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007135791A JP4994112B2 (ja) 2007-05-22 2007-05-22 半導体集積回路装置およびメモリ制御方法
US12/149,915 US8055957B2 (en) 2007-05-22 2008-05-09 Semiconductor integrated circuit device having fail-safe mode and memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007135791A JP4994112B2 (ja) 2007-05-22 2007-05-22 半導体集積回路装置およびメモリ制御方法

Publications (2)

Publication Number Publication Date
JP2008293555A JP2008293555A (ja) 2008-12-04
JP4994112B2 true JP4994112B2 (ja) 2012-08-08

Family

ID=40073513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007135791A Expired - Fee Related JP4994112B2 (ja) 2007-05-22 2007-05-22 半導体集積回路装置およびメモリ制御方法

Country Status (2)

Country Link
US (1) US8055957B2 (ja)
JP (1) JP4994112B2 (ja)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706950B2 (en) 2008-03-01 2014-04-22 Kabushiki Kaisha Toshiba Memory system
JP2010026896A (ja) * 2008-07-23 2010-02-04 Nec Electronics Corp メモリシステム、及び、メモリエラー要因特定方法
US7925939B2 (en) * 2008-09-26 2011-04-12 Macronix International Co., Ltd Pre-code device, and pre-code system and pre-coding method thererof
JP2011002945A (ja) * 2009-06-17 2011-01-06 Renesas Electronics Corp 半導体装置
JP2011070346A (ja) * 2009-09-25 2011-04-07 Toshiba Corp メモリシステム
JP2011198433A (ja) * 2010-03-23 2011-10-06 Toshiba Corp メモリシステム
JP5815212B2 (ja) 2010-04-19 2015-11-17 スパンション エルエルシー データ書き込み方法およびシステム
KR101254875B1 (ko) * 2011-05-18 2013-04-15 삼성에스디아이 주식회사 배터리 팩 관리시스템
JP2013068105A (ja) * 2011-09-21 2013-04-18 Hitachi Automotive Systems Ltd 自動車用電子制御装置
US9063851B2 (en) * 2012-11-07 2015-06-23 Infineon Technologies Ag Fail safe code functionality
JP2015038796A (ja) * 2013-08-19 2015-02-26 株式会社東芝 メモリシステムおよび制御方法
US9417957B2 (en) * 2013-10-04 2016-08-16 Infineon Technologies Ag Method of detecting bit errors, an electronic circuit for detecting bit errors, and a data storage device
KR20160109207A (ko) 2015-03-10 2016-09-21 삼성전자주식회사 메모리의 초기화 및 펌 웨어의 업데이트를 위한 방법 및 전자 장치
US10163479B2 (en) 2015-08-14 2018-12-25 Spin Transfer Technologies, Inc. Method and apparatus for bipolar memory write-verify
JP6527054B2 (ja) * 2015-08-28 2019-06-05 東芝メモリ株式会社 メモリシステム
JP6115740B1 (ja) * 2015-12-17 2017-04-19 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US9904595B1 (en) * 2016-08-23 2018-02-27 Texas Instruments Incorporated Error correction hardware with fault detection
US10192602B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Smart cache design to prevent overflow for a memory device with a dynamic redundancy register
US10446210B2 (en) 2016-09-27 2019-10-15 Spin Memory, Inc. Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers
US10460781B2 (en) 2016-09-27 2019-10-29 Spin Memory, Inc. Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank
US11119936B2 (en) 2016-09-27 2021-09-14 Spin Memory, Inc. Error cache system with coarse and fine segments for power optimization
US10628316B2 (en) * 2016-09-27 2020-04-21 Spin Memory, Inc. Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register
US10360964B2 (en) * 2016-09-27 2019-07-23 Spin Memory, Inc. Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device
US11048633B2 (en) * 2016-09-27 2021-06-29 Spin Memory, Inc. Determining an inactive memory bank during an idle memory cycle to prevent error cache overflow
US10366774B2 (en) * 2016-09-27 2019-07-30 Spin Memory, Inc. Device with dynamic redundancy registers
US10546625B2 (en) 2016-09-27 2020-01-28 Spin Memory, Inc. Method of optimizing write voltage based on error buffer occupancy
US10437723B2 (en) * 2016-09-27 2019-10-08 Spin Memory, Inc. Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device
US11151042B2 (en) 2016-09-27 2021-10-19 Integrated Silicon Solution, (Cayman) Inc. Error cache segmentation for power reduction
US10192601B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers
US10818331B2 (en) 2016-09-27 2020-10-27 Spin Memory, Inc. Multi-chip module for MRAM devices with levels of dynamic redundancy registers
US10437491B2 (en) 2016-09-27 2019-10-08 Spin Memory, Inc. Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register
US11386010B2 (en) 2016-09-27 2022-07-12 Integrated Silicon Solution, (Cayman) Inc. Circuit engine for managing memory meta-stability
US11119910B2 (en) 2016-09-27 2021-09-14 Spin Memory, Inc. Heuristics for selecting subsegments for entry in and entry out operations in an error cache system with coarse and fine grain segments
US10489245B2 (en) 2017-10-24 2019-11-26 Spin Memory, Inc. Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them
US10529439B2 (en) 2017-10-24 2020-01-07 Spin Memory, Inc. On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects
US10481976B2 (en) 2017-10-24 2019-11-19 Spin Memory, Inc. Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers
US10656994B2 (en) 2017-10-24 2020-05-19 Spin Memory, Inc. Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques
WO2019133223A1 (en) * 2017-12-27 2019-07-04 Spin Transfer Technologies, Inc. A method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device
WO2019133293A1 (en) * 2017-12-27 2019-07-04 Spin Transfer Technologies, Inc. A memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register
US10360962B1 (en) 2017-12-28 2019-07-23 Spin Memory, Inc. Memory array with individually trimmable sense amplifiers
US10811594B2 (en) 2017-12-28 2020-10-20 Spin Memory, Inc. Process for hard mask development for MRAM pillar formation using photolithography
US10424726B2 (en) 2017-12-28 2019-09-24 Spin Memory, Inc. Process for improving photoresist pillar adhesion during MRAM fabrication
US10395711B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Perpendicular source and bit lines for an MRAM array
US10395712B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Memory array with horizontal source line and sacrificial bitline per virtual source
US10891997B2 (en) 2017-12-28 2021-01-12 Spin Memory, Inc. Memory array with horizontal source line and a virtual source line
US10840439B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Magnetic tunnel junction (MTJ) fabrication methods and systems
US10367139B2 (en) 2017-12-29 2019-07-30 Spin Memory, Inc. Methods of manufacturing magnetic tunnel junction devices
US10840436B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture
US10886330B2 (en) 2017-12-29 2021-01-05 Spin Memory, Inc. Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch
US10424723B2 (en) 2017-12-29 2019-09-24 Spin Memory, Inc. Magnetic tunnel junction devices including an optimization layer
US10784439B2 (en) 2017-12-29 2020-09-22 Spin Memory, Inc. Precessional spin current magnetic tunnel junction devices and methods of manufacture
US10546624B2 (en) 2017-12-29 2020-01-28 Spin Memory, Inc. Multi-port random access memory
US10438996B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Methods of fabricating magnetic tunnel junctions integrated with selectors
US10438995B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Devices including magnetic tunnel junctions integrated with selectors
US10446744B2 (en) 2018-03-08 2019-10-15 Spin Memory, Inc. Magnetic tunnel junction wafer adaptor used in magnetic annealing furnace and method of using the same
US11107978B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Methods of manufacturing three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US11107974B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Magnetic tunnel junction devices including a free magnetic trench layer and a planar reference magnetic layer
US10784437B2 (en) 2018-03-23 2020-09-22 Spin Memory, Inc. Three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US20190296223A1 (en) 2018-03-23 2019-09-26 Spin Memory, Inc. Methods of Manufacturing Three-Dimensional Arrays with Magnetic Tunnel Junction Devices Including an Annular Free Magnetic Layer and a Planar Reference Magnetic Layer
US10411185B1 (en) 2018-05-30 2019-09-10 Spin Memory, Inc. Process for creating a high density magnetic tunnel junction array test platform
US10593396B2 (en) 2018-07-06 2020-03-17 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10692569B2 (en) 2018-07-06 2020-06-23 Spin Memory, Inc. Read-out techniques for multi-bit cells
US10559338B2 (en) 2018-07-06 2020-02-11 Spin Memory, Inc. Multi-bit cell read-out techniques
US10600478B2 (en) 2018-07-06 2020-03-24 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10650875B2 (en) 2018-08-21 2020-05-12 Spin Memory, Inc. System for a wide temperature range nonvolatile memory
US10699761B2 (en) 2018-09-18 2020-06-30 Spin Memory, Inc. Word line decoder memory architecture
US10971680B2 (en) 2018-10-01 2021-04-06 Spin Memory, Inc. Multi terminal device stack formation methods
US11621293B2 (en) 2018-10-01 2023-04-04 Integrated Silicon Solution, (Cayman) Inc. Multi terminal device stack systems and methods
US11107979B2 (en) 2018-12-28 2021-08-31 Spin Memory, Inc. Patterned silicide structures and methods of manufacture
WO2021072370A1 (en) * 2019-10-10 2021-04-15 Spin Memory, Inc. Error cache system with coarse and fine segments for power optimization
JP7161583B1 (ja) 2021-06-29 2022-10-26 ウィンボンド エレクトロニクス コーポレーション 半導体装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3941149B2 (ja) * 1996-12-03 2007-07-04 ソニー株式会社 半導体不揮発性記憶装置
JPH09204367A (ja) * 1996-01-25 1997-08-05 Mitsubishi Electric Corp フラッシュディスクカードにおけるフラッシュメモリデータのリフレッシュ方法
US5978952A (en) * 1996-12-31 1999-11-02 Intel Corporation Time-distributed ECC scrubbing to correct memory errors
JP2000173289A (ja) * 1998-12-10 2000-06-23 Toshiba Corp エラー訂正可能なフラッシュメモリシステム
US6407944B1 (en) * 1998-12-29 2002-06-18 Samsung Electronics Co., Ltd. Method for protecting an over-erasure of redundant memory cells during test for high-density nonvolatile memory semiconductor devices
US6587384B2 (en) * 2001-04-21 2003-07-01 Hewlett-Packard Development Company, L.P. Multi-function serial I/O circuit
JP4059472B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
JP2005332436A (ja) * 2004-05-18 2005-12-02 Toshiba Corp 半導体装置及びそのテスト方法
US7009889B2 (en) * 2004-05-28 2006-03-07 Sandisk Corporation Comprehensive erase verification for non-volatile memory
JP2006048783A (ja) * 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
KR100622349B1 (ko) 2004-08-04 2006-09-14 삼성전자주식회사 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
JP4261461B2 (ja) * 2004-11-05 2009-04-30 株式会社東芝 半導体集積回路装置、及びそれを用いた不揮発性メモリシステム
US7158416B2 (en) * 2005-03-15 2007-01-02 Infineon Technologies Flash Gmbh & Co. Kg Method for operating a flash memory device
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8245087B2 (en) * 2007-03-26 2012-08-14 Cray Inc. Multi-bit memory error management
US8065573B2 (en) * 2007-03-26 2011-11-22 Cray Inc. Method and apparatus for tracking, reporting and correcting single-bit memory errors
US7573773B2 (en) * 2007-03-28 2009-08-11 Sandisk Corporation Flash memory with data refresh triggered by controlled scrub data reads

Also Published As

Publication number Publication date
US20080294938A1 (en) 2008-11-27
JP2008293555A (ja) 2008-12-04
US8055957B2 (en) 2011-11-08

Similar Documents

Publication Publication Date Title
JP4994112B2 (ja) 半導体集積回路装置およびメモリ制御方法
JP4059472B2 (ja) メモリカード及びメモリコントローラ
JP4722839B2 (ja) メモリ制御回路、不揮発性記憶装置及びメモリ制御方法
US7290097B2 (en) Nonvolatile memory
TWI408688B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
TWI396202B (zh) 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法
WO2007023674A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
US20130262747A1 (en) Data writing method, and memory controller and memory storage device using the same
JP2000173289A (ja) エラー訂正可能なフラッシュメモリシステム
EP1607865B1 (en) Data control unit capable of correcting boot errors, and corresponding method
US20080104361A1 (en) Storage Device, Memory Managing Apparatus, Memory Managing Method, and Program
JPH06274409A (ja) 一括消去型不揮発性メモリ
TWI394170B (zh) 連結表的回復方法
JP2000105694A (ja) フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法
TW202008171A (zh) 資料寫入方法以及儲存控制器
TWI591482B (zh) 資料保護方法、記憶體控制電路單元及記憶體儲存裝置
JP4775969B2 (ja) 不揮発性記憶装置
TW200828330A (en) Allowable bit errors per sector in memory devices
JPH09198884A (ja) フラッシュメモリ管理方法
US8607123B2 (en) Control circuit capable of identifying error data in flash memory and storage system and method thereof
JP4158526B2 (ja) メモリカード及びメモリへのデータ書き込み方法
JP5099342B2 (ja) Plc用の部品実装基板
JP2006221334A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2005196658A (ja) 外部記憶装置
JP2012252557A (ja) メモリコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100415

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120418

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: 20120508

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120508

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4994112

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees