(57)【要約】【課題】  信頼性を向上させることが可能なメモリシステム及びバススプリッタを提供する。【解決手段】  第１データを記憶する第１ＮＡＮＤ型フラッシュメモリ（第１不揮発性記憶手段）９と、第１データと同一内容の第２データを記憶する第２ＮＡＮＤ型フラッシュメモリ（第２不揮発性記憶手段）１０と、第１及び第２不揮発性記憶手段９，１０から読み出された第１及び第２データを互いに比較してデータ不一致を検出する比較回路８１と、第１不揮発性記憶手段９におけるデータ読み出し位置を検知する読み出し位置検知回路８２とを備える。【選択図】    図１
2007257547.tif 000002
【特許請求の範囲】
【請求項１】
第１データを記憶する第１不揮発性記憶手段と、
前記第１データと同一内容の第２データを記憶する第２不揮発性記憶手段と、
前記第１及び第２不揮発性記憶手段から読み出された前記第１及び第２データを互いに比較してデータ不一致を検出する比較回路と、
前記第１不揮発性記憶手段におけるデータ読み出し位置を検知する読み出し位置検知回路
とを備えることを特徴とするメモリシステム。
【請求項２】
前記データ不一致の検出された際の前記データ読み出し位置及び前記第２データを保持する保持回路を更に備えることを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記保持回路が保持した前記データ読み出し位置及び前記第２データを使用して前記読み出された第１データを誤り訂正する誤り訂正回路を更に備えることを特徴とする請求項２に記載のメモリシステム。
【請求項４】
前記保持回路が、前記誤り訂正の実行単位分の前記第２データを保持することを特徴とする請求項３に記載のメモリシステム。
【請求項５】
第１データを記憶する第１不揮発性記憶手段及び前記第１データと同一内容の第２データを記憶する第２不揮発性記憶手段にアクセス可能なバススプリッタであって、
前記第１及び第２不揮発性記憶手段から読み出された前記第１及び第２データを互いに比較してデータ不一致を検出する比較回路と、
前記第１不揮発性記憶手段におけるデータ読み出し位置を検知する読み出し位置検知回路
とを備えることを特徴とするバススプリッタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体メモリを搭載したメモリシステム及びこのメモリシステムに使用されるバススプリッタに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）、パーソナル・デジタル・アシスタンス（ＰＤＡ）、カメラ、及び携帯電話等の様々な携帯用電子機器においては、リムーバブル記憶デバイスの１つであるメモリカード等のメモリシステムが多く用いられている。メモリシステムは、一般的に、データを保持するＮＡＮＤ型フラッシュメモリ等の不揮発性半導体メモリと、所定のプロトコルでホスト機器とやり取りするコントローラで構成されている。ＮＡＮＤ型フラッシュメモリは、構造上、書き込みを行っても誤ったデータが保持される特定のビット（以下、「フェイルビット」という）、及び書き込みも読み出しもできない特定のブロック(以下、「バッドブロック」という)等の不良箇所が存在する場合がある。
【０００３】
現状、コントローラは、書き込みデータと共にデータ修正用の誤り訂正符号（ＥＣＣ）をＮＡＮＤ型フラッシュメモリに書き込むことで、読み出し時においてデータの整合性を確認している。しかし、１ページ内のフェイルビットの数が多くなれば、読み出しデータの修正が不可能になる。この結果、データの損失が生じるため、信頼性に欠けることとなる。このため、信頼性の向上を目的として、メインメモリ及びサブメモリに対してデータの多重書き込みを行い、読み出し時において各読み出しデータに誤り検出及び誤り訂正を行うことで、誤りのない方のメモリからデータを読み出す手法が提案されている（例えば、特許文献１及び２参照。）。
【０００４】
しかしながら、誤りのない方のメモリからデータを読み出す上記の背景技術においては、誤り検出回路及び誤り訂正回路を備える必要があるために回路規模が増大する。更に、メモリシステムのテストにおける不良解析（デバッグ）時においては、信頼性向上のため、ＮＡＮＤ型フラッシュメモリにおける不良箇所を特定することが重要であるが、上記の背景技術においては不良箇所を特定できない。
【特許文献１】特開平１０−１８７５５０号公報
【特許文献２】特開２００４−５６２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、信頼性を向上させることが可能なメモリシステム及びバススプリッタを提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様によれば、第１データを記憶する第１不揮発性記憶手段と、第１データと同一内容の第２データを記憶する第２不揮発性記憶手段と、第１及び第２不揮発性記憶手段から読み出された第１及び第２データを互いに比較してデータ不一致を検出する比較回路と、第１不揮発性記憶手段におけるデータ読み出し位置を検知する読み出し位置検知回路とを備えるメモリシステムが提供される。
【０００７】
本発明の他の態様によれば、第１データを記憶する第１不揮発性記憶手段及び第１データと同一内容の第２データを記憶する第２不揮発性記憶手段にアクセス可能なバススプリッタであって、第１及び第２不揮発性記憶手段から読み出された第１及び第２データを互いに比較してデータ不一致を検出する比較回路と、第１不揮発性記憶手段におけるデータ読み出し位置を検知する読み出し位置検知回路とを備えるバススプリッタが提供される。
【発明の効果】
【０００８】
本発明によれば、信頼性を向上させることが可能なメモリシステム及びバススプリッタを提供できる。
【発明を実施するための最良の形態】
【０００９】
次に、図面を参照して、本発明の第１及び第２実施形態を説明する。以下の第１及び第２実施形態における図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【００１０】
（第１実施形態）
本発明の第１実施形態に係るメモリシステム１ａは、不良解析時において図１に示すようにホスト機器２及び解析装置１００と電気的に接続される。解析装置１００としては例えばロジックアナライザが使用できる。メモリシステム１ａは、第１及び第２ＮＡＮＤ型フラッシュメモリ（第１及び第２不揮発性記憶手段）９，１０を具備する。また、メモリシステム１ａは、ホスト機器２とホストバス３を介してデータ等をやり取りするコントローラ４と、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０に対してコントローラ４がアクセス可能とするバススプリッタ８ａとを備える。具体的には、バススプリッタ８ａは、コントローラ４及びバススプリッタ８ａ間のメモリバス５を、バススプリッタ８ａ及び第１ＮＡＮＤ型フラッシュメモリ９間のメモリバス６と、バススプリッタ８ａ及び第２ＮＡＮＤ型フラッシュメモリ１０間のメモリバス７とに分離するように構成されている。コントローラ４の詳細については後述する。
【００１１】
データ書き込み動作時において、第１ＮＡＮＤ型フラッシュメモリ９はコントローラ４からバススプリッタ８ａを介して入力される第１データを記憶する。第２ＮＡＮＤ型フラッシュメモリ１０は第１データと同一内容の第２データを記憶する。ここで、「第１データと同一内容の第２データ」とは、第２データの論理が第１データと逆論理である場合、又は第１データの重要な部分のみを第２データとする場合を含む。第１実施形態においては、第２ＮＡＮＤ型フラッシュメモリ１０は不良箇所を含まないことを前提とし、第１ＮＡＮＤ型フラッシュメモリ９はフェイルビット又はバッドブロックが存在する可能性のある不良解析対象のＮＡＮＤ型フラッシュメモリであるとして説明する。
【００１２】
なお、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０は、例えば、消去単位である消去ブロックのサイズが２５６Ｋバイトに定められ、データの書き込み及び読み出し動作が１６Ｋバイト単位で行われる。第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０及びコントローラ４は、ハイブリッド集積回路としてプリント回路基板（ＰＣＢ）上に実装されていても良いし、モノリシック集積回路として同一の半導体チップ上に集積化されていても良い。更に、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０は、１つのメモリセルに１ビットの情報を記憶する２値メモリであっても良いし、１つのメモリセルに１ビットより多い情報（例えば２ビット）を記憶する多値メモリであっても良い。
【００１３】
バススプリッタ８ａは、比較回路８１、読み出し位置検知回路８２、ＡＮＤ回路８４、及び選択回路８５ａを備える。比較回路８１は、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０の各出力に入力が接続され、解析装置１００の入力に出力が接続される。読み出し位置検知回路８２は、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０の各出力及び比較回路８１の出力に入力が接続され、解析装置１００の入力に出力が接続される。ＡＮＤ回路８４は、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０の各出力に入力が接続され、コントローラ４の入力に出力が接続される。選択回路８５ａは、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０の各出力に入力が接続され、コントローラ４の入力に出力が接続される。なお、図１においては、メモリシステム１ａにおけるホスト機器２及び解析装置１００との接続端子（ピン）の図示を省略している。
【００１４】
比較回路８１は、データ読み出し時において第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０から読み出された第１及び第２データを互いに比較してデータ不一致を検出する。読み出し位置検知回路８２は、データ不一致が検出された際の第１ＮＡＮＤ型フラッシュメモリ９におけるデータ読み出し位置を検知する。データ不一致が検出された場合、比較回路８１は読み出し位置検知回路８２及び解析装置１００にデータ不一致の発生を通知する。読み出し位置検知回路８２は、例えばデータ不一致の発生の通知をトリガとして、データ読み出し位置を解析装置１００に報告する。あるいは、読み出し位置検知回路８２がデータ読み出し位置を解析装置１００に常時報告する構成であっても構わない。この結果、解析装置１００は、データ不一致の発生、及びデータ不一致の発生時におけるデータ読み出し位置を検出可能となる。
【００１５】
次に、データ書き込み動作の詳細について説明する。ホスト機器２がメモリシステム１ａに対して行う書き込みアクセス時には、例えば、書き込みコマンド、ページアドレス（ロウアドレス）、カラムアドレス、書き込みデータ、及びプログラム確認コマンドの順で情報の授受が行われる。コントローラ４は、書き込みコマンド、ページアドレス（ロウアドレス）、及びカラムアドレス等を制御信号ＣＳとしてメモリバス５を介してバススプリッタ８ａに供給する。バススプリッタ８ａは制御信号ＣＳを分岐させて第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０に供給する。
【００１６】
また、コントローラ４が出力する書き込みデータＷＤは、メモリバス５を介してバススプリッタ８ａに入力される。バススプリッタ８ａは書き込みデータＷＤを分岐させて、分岐した一方の書き込みデータを第１データとして第１ＮＡＮＤ型フラッシュメモリ９に供給し、分岐した他方の書き込みデータを第２データとして第２ＮＡＮＤ型フラッシュメモリ１０に供給する。
【００１７】
次に、データ読み出し動作の詳細について説明する。ホスト機器２がメモリシステム１ａに対して行う読み出しアクセス時には、例えば書き込みアクセス時と同様の手順で情報の授受が行われる。コントローラ４は読み出しコマンド、ページアドレス（ロウアドレス）、及びカラムアドレス等を制御信号ＣＳとしてメモリバス５を介してバススプリッタ８ａに供給する。
【００１８】
第１ＮＡＮＤ型フラッシュメモリ９は、制御信号ＣＳに応じて読み出しデータ（第１データ）ＲＤ１をバススプリッタ８ａへ出力する。第２ＮＡＮＤ型フラッシュメモリ１０は、制御信号ＣＳに応じて読み出しデータ（第２データ）ＲＤ２をバススプリッタ８ａへ出力する。バススプリッタ８ａの選択回路８５ａは、コントローラ４の制御下で、第１及び第２データＲＤ１，ＲＤ２のいずれか一方をコントローラ４へ出力する。上述したように不良解析時おいては第１ＮＡＮＤ型フラッシュメモリ９が解析対象であるため、第１データＲＤ１がコントローラ４に出力される。
【００１９】
比較回路８１は、第１及び第２データＲＤ１，ＲＤ２を例えば１ビット単位で比較し、第１及び第２データＲＤ１，ＲＤ２が一致するかを判定する。データ不一致が発生した場合、解析装置１００は、第１ＮＡＮＤ型フラッシュメモリ９にフェイルビット又はバッドブロックが存在すると判定する。読み出し位置検知回路８２は、制御信号ＣＳを監視し、第１ＮＡＮＤ型フラッシュメモリ９のデータ読み出し位置をカラム単位（又はビット単位）でカウントする。読み出し位置検知回路８２がカウントするカラム数は、例えば各ページ毎にリセットされる。
【００２０】
なお、書き込み、読み出し、及び消去時等、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０内部にて動作実行中はビジー信号Ｂ１，Ｂ２が出力される。バススプリッタ８ａ内のＡＮＤ回路８４は、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０が出力するビジー信号Ｂ１，Ｂ２をＡＮＤ演算し、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０の少なくとも一方がビジー中のときにはコントローラ４側にビジー信号を出力する。
【００２１】
次に、図２に示すフローチャートを参照して、第１実施形態に係るメモリシステム１ａの不良解析時の動作例を説明する。
【００２２】
ステップＳ１０１において、コントローラ４が、ホスト機器２からの書き込みデータをバススプリッタ８ａを介して第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０に同時に書き込む。
【００２３】
ステップＳ１０２において、コントローラ４が、ホスト機器２から読み出しコマンドを受信し、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０から第１及び第２データＲＤ１，ＲＤ２を同時に読み出す。また、読み出し位置検知回路８２は、制御信号ＣＳを監視して、カラム数をカウントする。
【００２４】
ステップＳ１０３において、比較回路８１が、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０から読み出された第１及び第２データＲＤ１，ＲＤ２を互いに比較する。
【００２５】
ステップＳ１０４において、比較回路８１が、第１及び第２データＲＤ１，ＲＤ２間でデータ不一致が発生したかを判定する。データ不一致が発生した場合、第１ＮＡＮＤ型フラッシュメモリ９にフェイルビット又はバッドブロックが存在すると判定され、ステップＳ１０５ａに移行する。データ不一致が発生していないと判定された場合、ステップＳ１０２に戻る。
【００２６】
ステップＳ１０５ａにおいて、読み出し位置検知回路８２が、解析装置１００に対し、データ不一致の発生時における第１ＮＡＮＤ型フラッシュメモリ９のデータ読み出し位置を通知する。
【００２７】
ステップＳ１０６ａにおいて、ホスト機器２が、第１及び第２データＲＤ１，ＲＤ２の読み出しが完了したかを判定する。第１及び第２データＲＤ１，ＲＤ２の読み出しが完了したと判定された場合、不良解析動作が一旦終了する。第１及び第２データＲＤ１，ＲＤ２の読み出しが完了していないと判定された場合、ステップＳ１０２に処理が戻る。
【００２８】
以上詳細に説明したように、第１実施形態によれば、簡単な回路構成で、不良解析時にて第１ＮＡＮＤ型フラッシュメモリ９にフェイルビット又はバッドブロックが存在することを判定できる。更に、第１ＮＡＮＤ型フラッシュメモリ９における不良箇所を特定できるので、信頼性を向上させることができる。
【００２９】
（第１実施形態の第１変形例）
本発明の第１実施形態の第１変形例においては、図３に示すように、バススプリッタ８ｂが、ホスト機器２及びバススプリッタ８ｂ間のホストバス３１を、バススプリッタ８ｂ及び第１メモリシステム（第１不揮発性記憶手段）１０１間のホストバス６１と、バススプリッタ８ｂ及び第２メモリシステム（第２不揮発性記憶手段）１０２間のホストバス７１とに分離するように構成されている点で、図１とは異なっている。第１及び第２メモリシステム１０１，１０２は互いに互換性を有するメモリシステムである。また、第２メモリシステム１０２はいわゆる良品であり、第１メモリシステム１０１はフェイルビット又はバッドブロックが存在する可能性のある不良解析対象のメモリシステムである。
【００３０】
データ書き込み動作時において、第１メモリシステム１０１はホスト機器２からバススプリッタ８ｂを介して入力される第１データを記憶する。第２メモリシステム１０２は第１データと同一内容の第２データを記憶する。
【００３１】
更に、データ読み出し時において、比較回路８１は、第１及び第２メモリシステム１０１，１０２から読み出された第１及び第２データＲＤ１，ＲＤ２を互いに比較してデータ不一致を検出する。データ不一致が発生した場合、第１メモリシステム１０１にフェイルビット又はバッドブロックが存在すると判定される。
【００３２】
読み出し位置検知回路８２は、データ不一致が検出された際の第１メモリシステム１０１におけるデータ読み出し位置を検知する。この結果、解析装置１００は、データ不一致の発生、及びデータ不一致の発生時における第１メモリシステム１０１のデータ読み出し位置を検出可能となる。
【００３３】
このように、第１実施形態の第１変形例によれば、ＮＡＮＤ型フラッシュメモリ単位ではなく、メモリシステム単位で不良解析を実行可能となる。
【００３４】
（第１実施形態の第２変形例）
本発明の第１実施形態の第２変形例においては、図４に示すように、第１メモリシステム１ｂに搭載されたバススプリッタ８ｃのアクセス対象となる第１不揮発性記憶手段が第１メモリシステム１ｂ内部のＮＡＮＤ型フラッシュメモリ９であり、第２不揮発性記憶手段が第１メモリシステム１ｂ外部の第２メモリシステム１０２である場合について説明する。また、バススプリッタ８ｃは、コントローラ４を介してＮＡＮＤ型フラッシュメモリ９にアクセスする。なお、バススプリッタ８ｃが、コントローラ４の内部に設けられるように構成されていてもかまわない。
【００３５】
第２メモリシステム１０２はいわゆる良品であり、ＮＡＮＤ型フラッシュメモリ９はフェイルビット又はバッドブロックが存在する可能性のある不良解析対象のＮＡＮＤ型フラッシュメモリである。
【００３６】
データ書き込み動作時において、ＮＡＮＤ型フラッシュメモリ９は、ホスト機器２から、バススプリッタ８ｃ及びコントローラ４を介して入力される第１データを記憶する。第２メモリシステム１０２は第１データと同一内容の第２データを記憶する。
【００３７】
データ読み出し時において、比較回路８１は、ＮＡＮＤ型フラッシュメモリ９及び第２メモリシステム１０２から読み出された第１及び第２データＲＤ１，ＲＤ２を互いに比較してデータ不一致を検出する。データ不一致が発生した場合、ＮＡＮＤ型フラッシュメモリ９にフェイルビット又はバッドブロックが存在すると判定される。
【００３８】
読み出し位置検知回路８２は、データ不一致が検出された際のＮＡＮＤ型フラッシュメモリ９におけるデータ読み出し位置を検知する。この結果、解析装置１００は、データ不一致の発生、及びデータ不一致の発生時におけるＮＡＮＤ型フラッシュメモリ９のデータ読み出し位置を検出可能となる。
【００３９】
図１に示すメモリシステム１ａでは２つのＮＡＮＤ型フラッシュメモリ９，１０を搭載するために各ＮＡＮＤ型フラッシュメモリの記憶容量が制限されるが、図４に示すメモリシステム１ｂでは１つのＮＡＮＤ型フラッシュメモリ９を搭載するので記憶容量が制限されることがない。更に、コントローラ４の出力と第２メモリシステム１０２の出力とをバススプリッタ８ｃで比較することにより、デバッグが容易となり、コントローラ４の品質向上及び開発期間短縮が可能になる。
【００４０】
なお、コントローラ４をホスト機器２とバススプリッタ８ｃの間に接続し、第２メモリシステム１０２に代えて良品のＮＡＮＤ型フラッシュメモリを用いることにより、メモリカード１ｂ内のＮＡＮＤ型フラッシュメモリ９を解析できる。
【００４１】
（第２実施形態）
本発明の第２実施形態では、不良解析時に限らず、製品出荷後の実使用時における信頼性を向上させる実施形態を説明する。第２実施形態に係るメモリシステム１ｃは、図５に示すように、バススプリッタ８ｄが、比較回路８１及び読み出し位置検知回路８２の各出力に入力が接続され、選択回路８５ｂの入力に出力が接続された保持回路８３を更に備える点で、図１のメモリシステム１ａとは異なっている。選択回路８５ｂは、第１データＲＤ１、第２データＲＤ２、及び保持回路８５ｂからの出力データのいずれか１つを選択し、選択したデータをコントローラ４へ出力する。なお、第２実施形態においては、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０のいずれもフェイルビット又はバッドブロックが存在する可能性を有しているものとして説明する。データ書き込み動作については、第１実施形態と同様であるため、重複する説明を省略する。
【００４２】
次に、第２実施形態に係るメモリシステム１ｃのデータ読み出し動作について、第１実施形態と異なる動作を中心に説明する。第１ＮＡＮＤ型フラッシュメモリ９は、制御信号ＣＳに応じて読み出しデータ（第１データ）ＲＤ１を選択回路８５ｂ及び比較回路８１へ出力する。第２ＮＡＮＤ型フラッシュメモリ１０は、制御信号ＣＳに応じて読み出しデータ（第２データ）ＲＤ２を選択回路８５ｂ及び比較回路８１へ出力する。選択回路８５ｂは、第１及び第２データＲＤ１，ＲＤ２のいずれか一方をコントローラ４へ出力する。
【００４３】
読み出し位置検知回路８２は、選択回路８５ｂで選択されている読み出しデータのデータ読み出し位置を検出する。すなわち、選択回路８５ｂが第１データＲＤ１を選択している場合、読み出し位置検知回路８２は、第１ＮＡＮＤ型フラッシュメモリ９におけるデータ読み出し位置を検知する。これに対して、選択回路８５ｂが第２データＲＤ２を選択している場合、読み出し位置検知回路８２は、第２ＮＡＮＤ型フラッシュメモリ１０におけるデータ読み出し位置を検知する。
【００４４】
また、比較回路８１は、第１及び第２データＲＤ１，ＲＤ２を例えば１ビット単位で比較し、第１及び第２データＲＤ１，ＲＤ２が一致するかを判定する。データ不一致が発生した場合、比較回路８１はデータ不一致の発生を保持回路８３に通知する。
【００４５】
更に、保持回路８３は、比較回路８１からデータ不一致の発生が通知された場合、読み出し位置検知回路８２が検知したデータ読み出し位置と、比較回路８１で選択されていない方の読み出しデータを保持する。すなわち、選択回路８５ｂが第１データＲＤ１を選択している場合、保持回路８３は、データ不一致が発生した際の第２データＲＤ２を保持する。これに対して、選択回路８５ｂが第２データＲＤ２を選択している場合、保持回路８３は、データ不一致が発生した際の第１データＲＤ１を保持する。
【００４６】
読み出し位置検知回路８２が所定のカラム数（又はビット数）をカウントすると、コントローラ４は、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０へのアクセスを中断し、保持回路８３が保持したデータ読み出し位置及び読み出しデータを、選択回路８５ｂを介して取り込む。
【００４７】
コントローラ４は、図６に示すように、誤り訂正回路４７、ＣＰＵ４３、バッファメモリ４６、ＲＯＭ４４、及びＲＡＭ４５を備える。誤り訂正回路４７は、複数ビット単位で誤り訂正を実行可能なリードソロモン符号、又は１ビット単位で誤り訂正を実行可能な巡回ハミング符号等の誤り訂正符号（ＥＣＣ）を使用する。よって、図５の保持回路８３は、記憶容量を削減するため、必要最小限の読み出しデータ、すなわち誤り訂正の実行単位分の読み出しデータを保持することが好ましい。
【００４８】
更に、誤り訂正回路４７は、修正不可能なＥＣＣエラーを検出した場合（誤り訂正回路４７が検出したエラービット数が、誤り訂正回路４７が訂正できるエラービット数（誤り訂正回路４７のエラー訂正能力）を超える場合）でも、読み出し動作を続けることで、第１ＮＡＮＤ型フラッシュメモリ９又は第２ＮＡＮＤ型フラッシュメモリ１０のデータ読み出し位置と読み出しデータを受け取り、それらのデータを元に、再度ＥＣＣを計算する。例えば、第１データＲＤ１の読み出し時において、第１データＲＤ１に検出されたエラービット数が誤り訂正回路４７のエラー訂正能力を超える場合は、誤り訂正回路４７は、第１データＲＤ１のうち保持回路８３に保持されたデータ読み出し位置に対応するデータを、保持回路８３に保持された第２データＲＤ２に置き換える。比較回路８１で不一致が検出されたデータは、エラービットを含んでいる可能性が高い。このため、不一致が検出されたデータを、比較回路８１で選択されていないもう一方の読み出しデータに置き換えることで、読み出されたデータのエラービット数を訂正回路４７のエラー訂正能力以下とすることができる。
【００４９】
ＲＯＭ４４は、ＣＰＵ４３により実行される制御プログラム（ファームウェア）等を格納する。ＣＰＵ４３は、ＲＯＭ４４に格納された制御プログラムを実行することで各種の処理を実行する。ＲＡＭ４５は、ＣＰＵ４３の作業領域として使用され、制御プログラムや各種のテーブルを一時的に記憶する。
【００５０】
ＣＰＵ４３は、ＲＯＭ４４の中に格納されている制御プログラムをＲＡＭ４５上にロードして所定の処理を実行する。この結果、ＣＰＵ４３は、各種のテーブルをＲＡＭ４５上で作成したり、ホスト機器２から書き込みコマンド、読み出しコマンド、及び消去コマンド等を受けて第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０に対するアクセスを実行したり、バッファメモリ４６を通じたデータ転送処理を制御したりする。
【００５１】
バッファメモリ４６は、ホスト機器２から送られてくる書き込みデータを第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０へ書き込む際に、一定量（例えば１ページ分）のデータを一時的に記憶したり、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０から読み出されたデータをホスト機器２へ送り出す際に、一定量のデータを一時的に記憶したりする。
【００５２】
次に、図７に示すフローチャートを参照して、第２実施形態に係るメモリシステム１ｃの動作例を説明する。ただし、データ読み出し時において、選択回路８５ｂが、第１ＮＡＮＤ型フラッシュメモリ９からの第１データＲＤ１をコントローラ４へ出力する。
【００５３】
ステップＳ１０１において、コントローラ４が、ホスト機器２からの書き込みデータをバススプリッタ８ｄを介して第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０に同時に書き込む。
【００５４】
ステップＳ１０２において、コントローラ４が、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０から第１及び第２データＲＤ１，ＲＤ２を同時に読み出す。また、読み出し位置検知回路８２は、制御信号ＣＳを監視して、カラム数をカウントする。
【００５５】
ステップＳ１０３において、比較回路８１が、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０から読み出された第１及び第２データＲＤ１，ＲＤ２を互いに比較する。また、ステップＳ２０１において、誤り訂正回路４７は、第１ＮＡＮＤ型フラッシュメモリ９から読み出された第１データＲＤ１を誤り訂正する。
【００５６】
ステップＳ１０４において、比較回路８１が、第１及び第２データＲＤ１，ＲＤ２間でデータ不一致が発生したかを判定する。データ不一致が発生した場合、ステップＳ１０５ｂに移行する。データ不一致が発生していないと判定された場合、ステップＳ１０６ｂに移行する。
【００５７】
ステップＳ１０５ｂにおいて、保持回路８３が、データ不一致が発生した際の第２データＲＤ２及び第１ＮＡＮＤ型フラッシュメモリ９のデータ読み出し位置を保持する。
【００５８】
ステップＳ１０６ｂにおいて、読み出し位置検知回路８２が、一定のカラム数（又はビット数）の読み出しが完了したか否か判定する。一定のカラム数（又はビット数）の読み出しが完了したと判定された場合、ステップＳ２０２に移行する。一定のカラム数（又はビット数）の読み出しが完了していないと判定された場合、ステップＳ１０２に処理が戻る。
【００５９】
ステップＳ２０２において、コントローラ４は、第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０へのアクセスを中断し、保持回路８３が保持した第２データＲＤ２及び第１ＮＡＮＤ型フラッシュメモリ９のデータ読み出し位置を、選択回路８５ｂを介して取り込む。
【００６０】
ステップＳ２０３において、誤り訂正回路４７は、保持回路８３から読み出された第２データ及びデータ読み出し位置を用いて再度誤り訂正を実行する。
【００６１】
したがって、第２実施形態によれば、読み出し動作時にコントローラ４側で修正不可能なＥＣＣエラーを検出した場合であっても、データの修正が可能となる。
【００６２】
（その他の実施形態）
上記のように、本発明は第１及び第２実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
【００６３】
上述した第１実施形態においては、第２ＮＡＮＤ型フラッシュメモリ１０が、第１ＮＡＮＤ型フラッシュメモリ９と等しい記憶容量を有することを前提として説明した。しかし、第２ＮＡＮＤ型フラッシュメモリ１０が管理データ等を記憶しないことで、第２ＮＡＮＤ型フラッシュメモリ１０の記憶容量を第１ＮＡＮＤ型フラッシュメモリ９の記憶容量よりも小さくすることができる。
【００６４】
更に、第１実施形態においては、メモリシステム１ａが第１及び第２ＮＡＮＤ型フラッシュメモリ９，１０の２つのＮＡＮＤ型フラッシュメモリを搭載する一例を説明したが、１つのＮＡＮＤ型フラッシュメモリ内に２つの独立した記憶領域を設ける構成としても構わない。この場合、一方の記憶領域が上述した第１不揮発性記憶手段に相当し、他方の記憶領域が第２不揮発性記憶手段に相当する。
【００６５】
また、第１及び第２実施形態においては、２つの不揮発性記憶手段を設ける一例を説明したが、３つ以上の不揮発性記憶手段を備える構成としても構わない。
【００６６】
なお、上述した第１及び第２実施形態においては、不揮発性半導体メモリとしてＮＡＮＤ型フラッシュメモリを用いる一例を説明したが、ＮＯＲ型メモリ等の他の不揮発性半導体メモリにも適用できる。
【００６７】
このように本発明は、ここでは記載していない様々な実施形態等を包含するということを理解すべきである。したがって、本発明はこの開示から妥当な特許請求の範囲の発明特定事項によってのみ限定されるものである。
【図面の簡単な説明】
【００６８】
【図１】本発明の第１実施形態に係るメモリシステムの構成例を示すブロック図である。
【図２】本発明の第１実施形態に係るメモリシステムの動作例を示すフローチャートである。
【図３】本発明の第１実施形態の第１変形例に係るメモリシステムの構成例を示すブロック図である。
【図４】本発明の第１実施形態の第２変形例に係るメモリシステムの構成例を示すブロック図である。
【図５】本発明の第１実施形態に係るコントローラの構成例を示すブロック図である。
【図６】本発明の第２実施形態に係るメモリシステムの構成例を示すブロック図である。
【図７】本発明の第２実施形態に係るメモリシステムの動作例を示すフローチャートである。
【符号の説明】
【００６９】
１ａ〜１ｃ，１０１，１０２…メモリシステム
８ａ〜８ｄ…バススプリッタ
９…第１ＮＡＮＤ型フラッシュメモリ
１０…第２ＮＡＮＤ型フラッシュメモリ
４７…誤り訂正回路
８１…比較回路
８２…位置検知回路
８３…保持回路
【図１】
2007257547.tif 000003
【図２】
2007257547.tif 000004
【図３】
2007257547.tif 000005
【図４】
2007257547.tif 000006
【図５】
2007257547.tif 000007
【図６】
2007257547.tif 000008
【図７】
2007257547.tif 000009