(57)【要約】【課題】不揮発性メモリからデータが繰り返し読み出されることにより、データが意図せず書き換えられる可能性を回避または低減する技術を提供することを目的とする。【解決手段】ホストシステム１が今回出力する読み出しアドレスと、ホストシステム１が前回出力した読み出しアドレスが一致する場合には、オペレーション切替要求信号をアドレス比較部３３から入力したアクセスコントローラ部３４は、通常読み出しアクセスからランダム読み出しアクセスにオペレーションを切り替える。すなわち、アクセスコントローラ部３４は、メモリセルアレイ４３に読み出しアクセスすることなく、メモリバッファ部４４に読み出しアクセスする。すると、メモリセルアレイ４３が格納するデータが繰り返し読み出されることにより、意図せず書き換えられる可能性を回避または低減することができる。【選択図】図１
2008217472.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステムが処理するデータを格納するメモリと、
前記メモリに対する読み出しアクセスを制御するメモリコントローラと、
を備えるメモリシステムであって、
前記メモリは、
前記ホストシステムが処理できるデータを格納するメモリセルアレイと、
前記ホストシステムが読み出すデータを前記メモリセルアレイから入力して格納するメモリバッファ部と、
を含み、
前記メモリコントローラは、
前記ホストシステムから入力する読み出しアドレス（第１アドレス）と、前記ホストシステムから前記第１アドレスを入力する前に、前記ホストシステムから入力した読み出しアドレス（第２アドレス）と、を比較するアドレス比較手段と、
前記第１アドレスが前記第２アドレスに含まれている場合には、前記メモリバッファ部に対する読み出しアクセスを制御して、前記メモリバッファ部が格納している前記第１アドレスに係る読み出しデータを前記ホストシステムに出力するメモリバッファ部制御手段と、
前記第１アドレスが前記第２アドレスに含まれていない場合には、前記メモリセルアレイに対する読み出しアクセスを制御して、前記メモリセルアレイが格納している前記第１アドレスに係る読み出しデータを前記ホストシステムに出力するメモリセルアレイ制御手段と、
を含むことを特徴とするメモリシステム。
【請求項２】
ホストシステムが処理できるデータを格納するメモリセルアレイと、
前記メモリセルアレイと接続され、前記ホストシステムが読み出すデータを前記メモリセルアレイから入力して格納するメモリバッファ部と、
前記ホストシステムから入力する読み出しアドレス（第１アドレス）と、前記ホストシステムから前記第１アドレスを入力する前に、前記ホストシステムから入力した読み出しアドレス（第２アドレス）と、を比較するアドレス比較手段と、
前記第１アドレスが前記第２アドレスに含まれている場合には、前記メモリバッファ部に対する読み出しアクセスを制御して、前記メモリバッファ部が格納している前記第１アドレスに係る読み出しデータを前記ホストシステムに出力するメモリバッファ部制御手段と、
前記第１アドレスが前記第２アドレスに含まれていない場合には、前記メモリセルアレイに対する読み出しアクセスを制御して、前記メモリセルアレイが格納している前記第１アドレスに係る読み出しデータを前記ホストシステムに出力するメモリセルアレイ制御手段と、
を備えることを特徴とするメモリシステム。
【請求項３】
請求項１または請求項２に記載のメモリシステムにおいて、
前記第２アドレスは、
前記ホストシステムから前記第１アドレスを入力する直前の入力に係る読み出しアドレス、
を含むことを特徴とするメモリシステム。
【請求項４】
請求項１または請求項２に記載のメモリシステムにおいて、
前記第２アドレスは、
前記ホストシステムから前記第１アドレスを入力する直前の所定回の入力に係る読み出しアドレス、
を含むことを特徴とするメモリシステム。
【請求項５】
請求項１または請求項２に記載のメモリシステムにおいて、
前記第２アドレスは、
前記ホストシステムから前記第１アドレスを入力する直前の所定回の入力に係る読み出しアドレスのうち、入力回数が所定条件を満たす読み出しアドレス、
を含むことを特徴とするメモリシステム。
【請求項６】
請求項１または請求項２に記載のメモリシステムにおいて、
前記第２アドレスは、
前記ホストシステムが処理したときにエラーが発生した読み出しデータに係る読み出しアドレス、
を含むことを特徴とするメモリシステム。
【請求項７】
請求項１ないし請求項６のいずれかに記載のメモリシステムにおいて、
前記第２アドレスは、
前記ホストシステムの電源がオンにされる直前にオフにされたときにおける前記第２アドレスであって、前記ホストシステムの電源がオンにされるときに、前記ホストシステムから前記第１アドレスを入力する前に入力したものとして処理される前記第２アドレス、
を含むことを特徴とするメモリシステム。
【請求項８】
請求項１ないし請求項５のいずれかに記載のメモリシステムにおいて、
前記第２アドレスは、
前記ホストシステムの電源がオンにされるときに、前記ホストシステムから前記第１アドレスを入力する前に入力したものとして処理される固定アドレス、
を含むことを特徴とするメモリシステム。
【請求項９】
ホストシステムが処理するデータを格納するメモリと、
前記メモリに対する読み出しアクセスを制御するメモリコントローラと、
を備えるメモリシステムであって、
前記メモリは、
前記ホストシステムが処理できるデータを格納するメモリセルアレイと、
前記ホストシステムが読み出すデータを前記メモリセルアレイから入力して格納するメモリバッファ部と、
を含み、
前記メモリコントローラは、
前記ホストシステムから入力する読み出しアドレスと、あらかじめ設定された所定アドレスと、を比較するアドレス比較手段と、
前記読み出しアドレスが前記所定アドレスに含まれている場合には、前記メモリバッファ部に対する読み出しアクセスを制御して、前記メモリバッファ部があらかじめ格納している前記読み出しアドレスに係る読み出しデータを前記ホストシステムに出力するメモリバッファ部制御手段と、
前記読み出しアドレスが前記所定アドレスに含まれていない場合には、前記メモリセルアレイに対する読み出しアクセスを制御して、前記メモリセルアレイが格納している前記読み出しアドレスに係る読み出しデータを前記ホストシステムに出力するメモリセルアレイ制御手段と、
を含むことを特徴とするメモリシステム。
【請求項１０】
ホストシステムが処理できるデータを格納するメモリセルアレイと、
前記メモリセルアレイと接続され、前記ホストシステムが読み出すデータを前記メモリセルアレイから入力して格納するメモリバッファ部と、
前記ホストシステムから入力する読み出しアドレスと、あらかじめ設定された所定アドレスと、を比較するアドレス比較手段と、
前記読み出しアドレスが前記所定アドレスに含まれている場合には、前記メモリバッファ部に対する読み出しアクセスを制御して、前記メモリバッファ部があらかじめ格納している前記読み出しアドレスに係る読み出しデータを前記ホストシステムに出力するメモリバッファ部制御手段と、
前記読み出しアドレスが前記所定アドレスに含まれていない場合には、前記メモリセルアレイに対する読み出しアクセスを制御して、前記メモリセルアレイが格納している前記読み出しアドレスに係る読み出しデータを前記ホストシステムに出力するメモリセルアレイ制御手段と、
を備えることを特徴とするメモリシステム。
【請求項１１】
請求項９または請求項１０に記載のメモリシステムにおいて、
前記所定アドレスは、
前記ホストシステムから繰り返し入力する可能性が高いと想定される読み出しアドレス、
を含むことを特徴とするメモリシステム。
【請求項１２】
請求項９または請求項１０に記載のメモリシステムにおいて、
前記所定アドレスは、
前記ホストシステムが処理するときにエラーが発生する可能性が高いと想定される読み出しデータに係る読み出しアドレス、
を含むことを特徴とするメモリシステム。
【請求項１３】
請求項１ないし請求項１２のいずれかに記載のメモリシステムにおいて、
前記メモリバッファ部制御手段は、
前記メモリセルアレイに対する読み出しアクセスから、前記メモリバッファ部に対する読み出しアクセスにオペレーションを切り替える手段、
を含み、
前記メモリセルアレイ制御手段は、
前記メモリセルアレイに対する読み出しアクセスにオペレーションを維持する手段、
を含むことを特徴とするメモリシステム。
【請求項１４】
請求項１ないし請求項１３のいずれかに記載のメモリシステムにおいて、
前記メモリバッファ部制御手段は、
前記メモリバッファ部が格納しているデータを、前記ホストシステムに出力する準備が完了したことを、前記ホストシステムに通知する手段、
を含み、
前記メモリセルアレイ制御手段は、
前記メモリセルアレイが格納しているデータを、前記ホストシステムに出力する準備が完了したことを、前記ホストシステムに通知する手段、
を含むことを特徴とするメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリからデータが繰り返し読み出されることにより、データが意図せず書き換えられる可能性を回避または低減する技術に関する。
【背景技術】
【０００２】
不揮発性メモリの中でも、ＮＡＮＤフラッシュメモリは、単純な回路構成による高集積化や製造コスト減、ユーザによる書き込みの容易化を図ることを可能とするため、ＳＤメモリカードなどに大量に採用されている。
【０００３】
最近では、ＮＡＮＤフラッシュメモリは、ゲーム機などにも採用されている。ＮＡＮＤフラッシュメモリがゲーム機などで使用される際には、書き込みは発生せず、連続的な読み出しが発生する。すなわち、ＮＡＮＤフラッシュメモリがＲＯＭとして採用されることが多くなりつつある。
【０００４】
しかし、ゲーム機などでは、特定のプログラムが繰り返し読み出されることが多いため、プログラムが意図せず書き換えられる可能性が指摘され始めている。このような現象は“Ｒｅａｄ  Ｄｉｓｔｕｒｂ”現象と呼ばれており、本現象が発生するメカニズムについて、以下に簡単に説明する。
【０００５】
図８は、ＮＡＮＤフラッシュメモリの模式図である。ＮＡＮＤフラッシュメモリは、格子状に配線されたビット線５１とワード線５２、５３、５４、メモリセル６２、６３、選択トランジスタ６４などから構成されている。
【０００６】
メモリセル６２が格納する二値データ（“０”または“１”）を読み出す場合を考える。この場合、メモリセル６２は選択セル６２、メモリセル６３は非選択セル６３と呼ばれている。まず、選択トランジスタ６４により、選択セル６２が属するビット線５１が指定される。次に、選択セル６２が属するワード線５２に対して、低ゲート電圧Ｖ（Ｌｏｗ）＝０Ｖが印加される。そして、非選択セル６３が属するワード線５３に対して、高ゲート電圧Ｖ（Ｈｉｇｈ）〜５Ｖが印加される。このとき、非選択セル６３は微弱な書き込み状態にあるため、非選択セル６３のフローティングゲートに、電子がトラップされ、蓄積される。すなわち、選択セル６２が格納する二値データが繰り返し読み出されると、非選択セル６３の閾値電圧がシフトして、非選択セル６３が格納している二値データが、“１”から“０”に意図せず書き換えられる可能性がある。
【０００７】
もっとも、非選択セル６３が格納している二値データが意図せず書き換えられたとしても、データが新たに書き込まれる前に一括して消去される際に、非選択セル６３の機能を回復させることができる。しかし、書き込みは発生せず、連続的な読み出しが発生する場合には、非選択セル６３の機能を回復させることができなくなる。
【０００８】
以上に説明した“Ｒｅａｄ  Ｄｉｓｔｕｒｂ”現象を回避する手段を提供する文献として、以下の特許文献が挙げられる。
【０００９】
【特許文献１】米国特許出願公開第２００５／０２１０１８４号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述の特許文献は、メモリセル内部の制御方法により、“Ｒｅａｄ  Ｄｉｓｔｕｒｂ”現象を回避する手段を提供するものである。しかし、ここで開示されている方法は、特定のセル構造を有するメモリに対して適用可能な方法であり、他のセル構造に適用可能なものではない。つまり、メモリのセル構造に依存することなく、“Ｒｅａｄ  Ｄｉｓｔｕｒｂ”現象を回避できる方策ではない。
【００１１】
そこで、本発明は前記問題点に鑑み、メモリのセル構造に制約を受けることなく、様々なタイプの不揮発性メモリにおいても、“Ｒｅａｄ  Ｄｉｓｔｕｒｂ”現象を回避または低減することができる手段を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、請求項１記載の発明は、ホストシステムが処理するデータを格納するメモリと、前記メモリに対する読み出しアクセスを制御するメモリコントローラと、を備えるメモリシステムであって、前記メモリは、前記ホストシステムが処理できるデータを格納するメモリセルアレイと、前記ホストシステムが読み出すデータを前記メモリセルアレイから入力して格納するメモリバッファ部と、を含み、前記メモリコントローラは、前記ホストシステムから入力する読み出しアドレス（第１アドレス）と、前記ホストシステムから前記第１アドレスを入力する前に、前記ホストシステムから入力した読み出しアドレス（第２アドレス）と、を比較するアドレス比較手段と、前記第１アドレスが前記第２アドレスに含まれている場合には、前記メモリバッファ部に対する読み出しアクセスを制御して、前記メモリバッファ部が格納している前記第１アドレスに係る読み出しデータを前記ホストシステムに出力するメモリバッファ部制御手段と、前記第１アドレスが前記第２アドレスに含まれていない場合には、前記メモリセルアレイに対する読み出しアクセスを制御して、前記メモリセルアレイが格納している前記第１アドレスに係る読み出しデータを前記ホストシステムに出力するメモリセルアレイ制御手段と、を含むことを特徴とする。
【００１３】
請求項２記載の発明は、ホストシステムが処理できるデータを格納するメモリセルアレイと、前記メモリセルアレイと接続され、前記ホストシステムが読み出すデータを前記メモリセルアレイから入力して格納するメモリバッファ部と、前記ホストシステムから入力する読み出しアドレス（第１アドレス）と、前記ホストシステムから前記第１アドレスを入力する前に、前記ホストシステムから入力した読み出しアドレス（第２アドレス）と、を比較するアドレス比較手段と、前記第１アドレスが前記第２アドレスに含まれている場合には、前記メモリバッファ部に対する読み出しアクセスを制御して、前記メモリバッファ部が格納している前記第１アドレスに係る読み出しデータを前記ホストシステムに出力するメモリバッファ部制御手段と、前記第１アドレスが前記第２アドレスに含まれていない場合には、前記メモリセルアレイに対する読み出しアクセスを制御して、前記メモリセルアレイが格納している前記第１アドレスに係る読み出しデータを前記ホストシステムに出力するメモリセルアレイ制御手段と、を備えることを特徴とする。
【００１４】
請求項３記載の発明は、請求項１または請求項２に記載のメモリシステムにおいて、前記第２アドレスは、前記ホストシステムから前記第１アドレスを入力する直前の入力に係る読み出しアドレス、を含むことを特徴とする。
【００１５】
請求項４記載の発明は、請求項１または請求項２に記載のメモリシステムにおいて、前記第２アドレスは、前記ホストシステムから前記第１アドレスを入力する直前の所定回の入力に係る読み出しアドレス、を含むことを特徴とする。
【００１６】
請求項５記載の発明は、請求項１または請求項２に記載のメモリシステムにおいて、前記第２アドレスは、前記ホストシステムから前記第１アドレスを入力する直前の所定回の入力に係る読み出しアドレスのうち、入力回数が所定条件を満たす読み出しアドレス、を含むことを特徴とする。
【００１７】
請求項６記載の発明は、請求項１または請求項２に記載のメモリシステムにおいて、前記第２アドレスは、前記ホストシステムが処理したときにエラーが発生した読み出しデータに係る読み出しアドレス、を含むことを特徴とする。
【００１８】
請求項７記載の発明は、請求項１ないし請求項６のいずれかに記載のメモリシステムにおいて、前記第２アドレスは、前記ホストシステムの電源がオンにされる直前にオフにされたときにおける前記第２アドレスであって、前記ホストシステムの電源がオンにされるときに、前記ホストシステムから前記第１アドレスを入力する前に入力したものとして処理される前記第２アドレス、を含むことを特徴とする。
【００１９】
請求項８記載の発明は、請求項１ないし請求項５のいずれかに記載のメモリシステムにおいて、前記第２アドレスは、前記ホストシステムの電源がオンにされるときに、前記ホストシステムから前記第１アドレスを入力する前に入力したものとして処理される固定アドレス、を含むことを特徴とする。
【００２０】
請求項９記載の発明は、ホストシステムが処理するデータを格納するメモリと、前記メモリに対する読み出しアクセスを制御するメモリコントローラと、を備えるメモリシステムであって、前記メモリは、前記ホストシステムが処理できるデータを格納するメモリセルアレイと、前記ホストシステムが読み出すデータを前記メモリセルアレイから入力して格納するメモリバッファ部と、を含み、前記メモリコントローラは、前記ホストシステムから入力する読み出しアドレスと、あらかじめ設定された所定アドレスと、を比較するアドレス比較手段と、前記読み出しアドレスが前記所定アドレスに含まれている場合には、前記メモリバッファ部に対する読み出しアクセスを制御して、前記メモリバッファ部があらかじめ格納している前記読み出しアドレスに係る読み出しデータを前記ホストシステムに出力するメモリバッファ部制御手段と、前記読み出しアドレスが前記所定アドレスに含まれていない場合には、前記メモリセルアレイに対する読み出しアクセスを制御して、前記メモリセルアレイが格納している前記読み出しアドレスに係る読み出しデータを前記ホストシステムに出力するメモリセルアレイ制御手段と、を含むことを特徴とする。
【００２１】
請求項１０記載の発明は、ホストシステムが処理できるデータを格納するメモリセルアレイと、前記メモリセルアレイと接続され、前記ホストシステムが読み出すデータを前記メモリセルアレイから入力して格納するメモリバッファ部と、前記ホストシステムから入力する読み出しアドレスと、あらかじめ設定された所定アドレスと、を比較するアドレス比較手段と、前記読み出しアドレスが前記所定アドレスに含まれている場合には、前記メモリバッファ部に対する読み出しアクセスを制御して、前記メモリバッファ部があらかじめ格納している前記読み出しアドレスに係る読み出しデータを前記ホストシステムに出力するメモリバッファ部制御手段と、前記読み出しアドレスが前記所定アドレスに含まれていない場合には、前記メモリセルアレイに対する読み出しアクセスを制御して、前記メモリセルアレイが格納している前記読み出しアドレスに係る読み出しデータを前記ホストシステムに出力するメモリセルアレイ制御手段と、を備えることを特徴とする。
【００２２】
請求項１１記載の発明は、請求項９または請求項１０に記載のメモリシステムにおいて、前記所定アドレスは、前記ホストシステムから繰り返し入力する可能性が高いと想定される読み出しアドレス、を含むことを特徴とする。
【００２３】
請求項１２記載の発明は、請求項９または請求項１０に記載のメモリシステムにおいて、前記所定アドレスは、前記ホストシステムが処理するときにエラーが発生する可能性が高いと想定される読み出しデータに係る読み出しアドレス、を含むことを特徴とする。
【００２４】
請求項１３記載の発明は、請求項１ないし請求項１２のいずれかに記載のメモリシステムにおいて、前記メモリバッファ部制御手段は、前記メモリセルアレイに対する読み出しアクセスから、前記メモリバッファ部に対する読み出しアクセスにオペレーションを切り替える手段、を含み、前記メモリセルアレイ制御手段は、前記メモリセルアレイに対する読み出しアクセスにオペレーションを維持する手段、を含むことを特徴とする。
【００２５】
請求項１４記載の発明は、請求項１ないし請求項１３のいずれかに記載のメモリシステムにおいて、前記メモリバッファ部制御手段は、前記メモリバッファ部が格納しているデータを、前記ホストシステムに出力する準備が完了したことを、前記ホストシステムに通知する手段、を含み、前記メモリセルアレイ制御手段は、前記メモリセルアレイが格納しているデータを、前記ホストシステムに出力する準備が完了したことを、前記ホストシステムに通知する手段、を含むことを特徴とする。
【発明の効果】
【００２６】
ホストシステムが繰り返し読み出すデータを新たに読み出すときには、メモリセルアレイからメモリバッファ部に新たに転送されるデータを読み出すことなく、メモリバッファ部にすでに格納されているデータを読み出すことができる。ここで、メモリバッファ部とは、メモリセルアレイから転送される読み出しデータを格納する、メモリが備えるバッファ部である。
【００２７】
具体的には、ホストシステムが新たに出力する読み出しアドレスが、ホストシステムが以前に出力した読み出しアドレスと一致する場合には、アクセスコントローラ部はメモリセルアレイに対してではなく、メモリバッファ部に対して読み出しアクセスを制御することができる。
【００２８】
すると、ホストシステムが繰り返し読み出すデータを新たに読み出すために、メモリセルアレイからメモリバッファ部に新たに転送されるデータを読み出すことはなくなるため、“Ｒｅａｄ  Ｄｉｓｔｕｒｂ”現象を回避または低減することができる。また、メモリセルアレイ内部での読み出し操作に時間を必要とすることはなくなるため、高速な読み出しアクセスを実現することができる。
【発明を実施するための最良の形態】
【００２９】
{第１の実施の形態}
＜本発明に係る情報処理装置の構成要素＞
以下、図面を参照しつつ、第１の実施の形態について説明する。図１は、本発明に係る情報処理装置のブロック図である。図１で示した情報処理装置は、たとえばゲーム機などであり、ホストシステム１とメモリシステム２などから構成されている。
【００３０】
ホストシステム１は、メモリシステム２が備えるメモリ４が格納するデータを処理する。そのため、ホストシステム１は、読み出しコマンドをメモリシステム２に出力して、データをメモリシステム２から読み出す。本発明においては、ホストシステム１は、メモリ４の１ページ分のデータを、１回の読み出しで読み出すことができる。図１で示した情報処理装置がゲーム機である場合には、ホストシステム１はゲーム機本体である。
【００３１】
ホストシステム１がメモリシステム２に出力する読み出しコマンドを、後で説明するランダム読み出しコマンドと区別するため、通常読み出しコマンドと定義する。本発明に係るホストシステム１は、ランダム読み出しコマンドをメモリシステム２に出力していない。ホストシステム１がランダム読み出しコマンドをメモリシステム２に出力していない理由を以下に説明する。
【００３２】
メモリ４は、競合製品との差別化のため、様々な読み出しコマンドに対応できるようになってきている。すると、ホストシステム１は、様々な競合製品に対応できるためには、様々な競合製品が対応できる様々な読み出しコマンドに対応できるようになることが望ましい。しかし、ホストシステム１が様々な読み出しコマンドの切り替えを行うことは、ホストシステム１が読み出しデータを高速に処理することの妨げとなる。そこで、本発明に係るホストシステム１は、様々な競合製品が共通して対応できる通常読み出しコマンドのみに対応しているのである。
【００３３】
メモリシステム２は、ホストシステム１が処理するデータを、メモリ４において格納する。そして、メモリシステム２は、通常読み出しコマンドをホストシステム１から入力すると、メモリ４において読み出したデータをホストシステム１に出力する。図１で示した情報処理装置がゲーム機である場合には、メモリシステム２はゲームカートリッジである。メモリシステム２は、メモリコントローラ３、メモリ４などから構成されている。
【００３４】
メモリコントローラ３は、メモリ４に対する読み出しアクセスを制御する。具体的には、メモリコントローラ３は、ホストシステム１から今回入力した読み出しアドレスと、ホストシステム１から前回入力した読み出しアドレスを、メモリコントローラ３が備えるアドレス比較部３３において比較する。
【００３５】
そして、今回の読み出しアドレスと前回の読み出しアドレスが一致する場合には、メモリコントローラ３は、メモリ４が備えるメモリセルアレイ４３に対して読み出しアクセスすることなく、メモリ４が備えるメモリバッファ部４４に対して読み出しアクセスする。すると、メモリセルアレイ４３内部で読み出し操作が行われることはなくなるため、“Ｒｅａｄ  Ｄｉｓｔｕｒｂ”現象を回避または低減することができる。さらに、高速な読み出しアクセスを実現することができる。また、今回の読み出しアドレスと前回の読み出しアドレスが一致しない場合には、メモリコントローラ３は、メモリセルアレイ４３に対して読み出しアクセスする。
【００３６】
メモリ４は、ホストシステム１が処理するデータを格納する。そして、メモリ４は、メモリバッファ部４４に対する読み出しアクセスを、メモリコントローラ３から受けると、メモリバッファ部４４においてすでに格納しているデータを、メモリコントローラ３に出力する。また、メモリ４は、メモリセルアレイ４３に対する読み出しアクセスを、メモリコントローラ３から受けると、メモリセルアレイ４３において格納しているデータを、メモリバッファ部４４への新たな転送を介して、メモリコントローラ３に出力する。
【００３７】
メモリコントローラ３は、インターフェース部３１、アドレスデコーダ部３２、アドレス比較部３３、アクセスコントローラ部３４、第１ＲＤＹ／ＢＳＹセレクタ部３５、第２ＲＤＹ／ＢＳＹセレクタ部３６などから構成されている。
【００３８】
インターフェース部３１は、ホストシステム１とメモリシステム２の間で、通常読み出しコマンドおよび読み出しデータなどのやりとりを行うためのインターフェースである。
【００３９】
アドレスデコーダ部３２は、通常読み出しコマンドをホストシステム１から入力して、通常読み出しコマンドから読み出しアドレスを抽出する。そして、アドレスデコーダ部３２は、読み出しアドレスをアドレス比較部３３およびアクセスコントローラ部３４に出力する。
【００４０】
アドレス比較部３３は、今回の読み出しアドレスと前回の読み出しアドレスを比較する。そして、今回の読み出しアドレスと前回の読み出しアドレスが一致する場合には、アドレス比較部３３は、オペレーション切替要求信号をアクセスコントローラ部３４に出力する。すると、メモリコントローラ３は、メモリセルアレイ４３に対する読み出しアクセスから、メモリバッファ部４４に対する読み出しアクセスに、オペレーションを切り替えることができる。
【００４１】
また、今回の読み出しアドレスと前回の読み出しアドレスが一致しない場合には、アドレス比較部３３は、オペレーション切替不要信号をアクセスコントローラ部３４に出力する。すると、メモリコントローラ３は、メモリセルアレイ４３に対する読み出しアクセスから、オペレーションを切り替えないことができる。
【００４２】
アクセスコントローラ部３４は、メモリ４に対する読み出しアクセスを制御する。具体的には、アクセスコントローラ部３４は、オペレーション切替要求信号をアドレス比較部３３から入力すると、ランダム読み出しコマンドおよびランダム読み出し制御信号を、メモリ４に出力する。ランダム読み出しコマンドとは、メモリバッファ部４４に対する読み出しアクセスを実現するための読み出しコマンドである。
【００４３】
また、アクセスコントローラ部３４は、オペレーション切替不要信号をアドレス比較部３３から入力すると、通常読み出しコマンドおよび通常読み出し制御信号を、メモリ４に出力する。通常読み出しコマンドとは、メモリセルアレイ４３に対する読み出しアクセスを実現するための読み出しコマンドである。
【００４４】
第１ＲＤＹ／ＢＳＹセレクタ部３５および第２ＲＤＹ／ＢＳＹセレクタ部３６は、メモリ４の動作状態を示すＲＤＹ／ＢＳＹ信号を、ホストシステム１に通知するためのセレクタである。具体的には、ホストシステム１がメモリバッファ部４４にすでに格納されているデータを読み出す場合には、アクセスコントローラ部３４がランダム読み出しコマンドをメモリ４に出力した後に、ホストシステム１がデータを読み出す準備が整う。
【００４５】
また、ホストシステム１がメモリセルアレイ４３からメモリバッファ部４４に新たに転送されるデータを読み出す場合には、メモリセルアレイ４３がデータをメモリバッファ部４４に新たに転送した後に、ホストシステム１がデータを読み出す準備が整う。
【００４６】
メモリ４は、メモリ入出力部４１、ロジックコントローラ部４２、メモリセルアレイ４３、メモリバッファ部４４などから構成されている。
【００４７】
メモリ入出力部４１は、メモリコントローラ３とメモリ４の間で、通常読み出しコマンド、ランダム読み出しコマンド、読み出しデータなどのやりとりを行うための入出力部である。
【００４８】
ロジックコントローラ部４２は、メモリセルアレイ４３またはメモリバッファ部４４に対する読み出しアクセスを制御する。具体的には、ロジックコントローラ部４２は、ランダム読み出しコマンドおよびランダム読み出し制御信号を入力すると、メモリバッファ部４４に対する読み出しアクセスを制御する。また、ロジックコントローラ部４２は、通常読み出しコマンドおよび通常読み出し制御信号を入力すると、メモリセルアレイ４３に対する読み出しアクセスを制御する。
【００４９】
メモリセルアレイ４３は、ホストシステム１が処理するデータを格納する。そして、メモリセルアレイ４３は、読み出しアクセスをロジックコントローラ部４２から受けると、格納しているデータを、メモリバッファ部４４への新たな転送を介して、メモリコントローラ３に出力する。
【００５０】
本発明においては、メモリセルアレイ４３として、Ｓｉｎｇｌｅ−Ｌｅｖｅｌ  Ｃｅｌｌ（ＳＬＣ）方式のＮＡＮＤフラッシュメモリセルアレイを使用している。しかし、Ｍｕｌｔｉ−Ｌｅｖｅｌ  Ｃｅｌｌ（ＭＬＣ）方式のＮＡＮＤフラッシュメモリセルアレイなどの不揮発性メモリセルアレイを使用することもできる。もっとも、本発明を実施するためには、不揮発性メモリセルアレイに係る不揮発性メモリは、メモリバッファ部４４を備えていることが必要である。
【００５１】
メモリバッファ部４４は、メモリセルアレイ４３から転送された読み出しデータを格納する。第１の実施の形態においては、メモリバッファ部４４は、メモリセルアレイ４３の１ページ分のデータを格納することができる。そして、メモリバッファ部４４は、読み出しアクセスをロジックコントローラ部４２から受けると、すでに格納しているデータをメモリコントローラ３に出力する。
【００５２】
今回の読み出しアドレスと前回の読み出しアドレスが一致する場合には、メモリバッファ部４４は、すでに格納している前回の読み出しデータをそのまま保持する。また、今回の読み出しアドレスと前回の読み出しアドレスが一致しない場合には、メモリバッファ部４４は、すでに格納している前回の読み出しデータを、メモリセルアレイ４３から新たに転送される今回の読み出しデータに更新する。
【００５３】
本発明においては、アドレス比較部３３、アクセスコントローラ部３４などの構成要素は、メモリコントローラ３に配置されている。しかし、メモリ４の高機能化を図るために、これらの構成要素をメモリ４に配置してもよい。すなわち、これらの構成要素をメモリシステム２のいずれの場所に配置してもよいのである。
【００５４】
もっとも、本発明を実施するためには、メモリバッファ部４４は、メモリセルアレイ４３から読み出しデータを直接に入力して、アクセスコントローラ部３４からランダム読み出しアクセスを受けることが必要である。すなわち、メモリバッファ部４４およびメモリセルアレイ４３は、メモリ入出力部４１を介さずに、直接に接続されている必要があるのである。
【００５５】
＜メモリシステムが読み出しデータを出力する処理の流れ＞
次に、メモリシステム２がホストシステム１に読み出しデータを出力する処理の流れについて、図２を用いて説明する。図２は、メモリシステム２がホストシステム１に読み出しデータを出力する処理の流れを示すフローチャートである。図２で示したステップＳは、図１で示したステップＳに対応している。
【００５６】
アドレスデコーダ部３２は、インターフェース部３１を介して、通常読み出しコマンドをホストシステム１から入力する(ステップＳ１)。アドレスデコーダ部３２は、ランダム読み出しコマンドをホストシステム１から入力することはなく、通常読み出しコマンドのみをホストシステム１から入力する。このことは、ホストシステム１が今回出力する読み出しアドレスが、ホストシステム１が前回出力した読み出しアドレスと一致するかどうかによらない。
【００５７】
アドレスデコーダ部３２は、通常読み出しコマンドから読み出しアドレスを抽出する(ステップＳ２)。本発明においては、ホストシステム１は、メモリセル４３の１ページ分のデータを、１回の読み出しで読み出すことができる。そのため、アドレスデコーダ部３２が抽出した読み出しアドレスは、メモリセルアレイ４３の１ページ分のページアドレスである。そして、アドレスデコーダ部３２は、読み出しアドレスをアドレス比較部３３およびアクセスコントローラ部３４に出力する。
【００５８】
アドレス比較部３３は、読み出しアドレスをアドレスデコーダ部３２から入力して格納する。そして、アドレス比較部３３は、今回入力して格納する読み出しアドレスと、前回入力して格納した読み出しアドレスを比較する(ステップＳ３)。
【００５９】
まず、今回の読み出しアドレスと前回の読み出しアドレスが一致する場合について説明する。アドレス比較部３３は、前回の読み出しアドレスを、今回の読み出しアドレスに更新する(ステップＳ４)。そして、アドレス比較部３３は、オペレーション切替要求信号をアクセスコントローラ部３４に出力する。さらに、アドレス比較部３３は、二値信号“１”を第１ＲＤＹ／ＢＳＹセレクタ部３５に出力する。
【００６０】
アクセスコントローラ部３４は、読み出しアドレスをアドレスデコーダ部３２から入力する。また、アクセスコントローラ部３４は、オペレーション切替要求信号をアドレス比較部３３から入力する。すると、アクセスコントローラ部３４は、通常読み出しアクセスからランダム読み出しアクセスに、オペレーションを切り替える(ステップＳ５)。アクセスコントローラ部３４がオペレーションを切り替える方法について、図３を用いて説明する。図３は、アクセスコントローラ部３４がオペレーションを切り替える処理の流れを示すブロック図である。
【００６１】
アクセスコントローラ部３４は、アドレス比較部３３から入力したオペレーション切替要求信号に基づいて、通常読み出しコマンドをメモリ入出力部４１に出力することなく、ランダム読み出しコマンドをメモリ入出力部４１に出力する。ここで、ランダム読み出しコマンドは、ランダム読み出しコマンドＩＤ、読み出しカラムアドレス、ランダム読み出し開始コマンドＩＤから構成されている。
【００６２】
ランダム読み出しコマンドＩＤは、ランダム読み出しコマンドを、通常読み出しコマンドなどの他の読み出しコマンドから区別するための識別番号である。また、ランダム読み出し開始コマンドＩＤは、ランダム読み出し開始コマンドを、通常読み出し開始コマンドなどの他の読み出し開始コマンドから区別するための識別番号である。本発明においては、識別番号として１６進数を使用している。
【００６３】
読み出しカラムアドレスは、メモリセルアレイ４３内部のカラムアドレスではなく、メモリバッファ部４４内部のカラムアドレスである。本発明においては、ホストシステム１は、メモリセルアレイ４３の１ページ分のデータすべてを、１回の読み出しで読み出すことができる。そのため、読み出しカラムアドレスは、メモリバッファ部４４内部の先頭カラム０に設定される。
【００６４】
読み出しページアドレスは、ランダム読み出しコマンドに包含されていない。メモリバッファ部４４は、メモリセルアレイ４３の１ページ分のデータのみを格納することができるためである。すると、メモリバッファ部４４がすでに格納しているデータが、先頭カラム０、カラム１、カラム２の順序で、最終カラムまで読み出されるのである。
【００６５】
また、アクセスコントローラ部３４は、アドレス比較部３３から入力したオペレーション切替要求信号に基づいて、ランダム読み出し制御信号をロジックコントローラ部４２に出力する。ここで、ランダム読み出し制御信号は、メモリ４がランダム読み出しコマンドをメモリコントローラ３から取り込み、メモリ４がランダム読み出しコマンドに係る読み出しデータをメモリコントローラ３に出力するための制御信号である。
【００６６】
アクセスコントローラ部３４は、ランダム読み出しコマンドをメモリ入出力部４１に出力する前には、二値信号“０”を第２ＲＤＹ／ＢＳＹセレクタ部３６に出力する。また、アドレス比較部３３は、二値信号“１”を第１ＲＤＹ／ＢＳＹセレクタ部３５にすでに出力している。すると、第２ＲＤＹ／ＢＳＹセレクタ部３６は、二値信号“０”（Ｌｏｗ信号）を、第１ＲＤＹ／ＢＳＹセレクタ部３５を介して、ホストシステム１に出力することができる。
【００６７】
すなわち、アクセスコントローラ部３４がランダム読み出しコマンドをメモリ入出力部４１に出力する前には、ホストシステム１は、メモリバッファ部４４がすでに格納しているデータを取得することができないのである。
【００６８】
アクセスコントローラ部３４は、ランダム読み出しコマンドをメモリ入出力部４１に出力した後には、二値信号“１”を第２ＲＤＹ／ＢＳＹセレクタ部３６に出力する。すると、第２ＲＤＹ／ＢＳＹセレクタ部３６は、二値信号“１”（Ｈｉｇｈ信号）を、第１ＲＤＹ／ＢＳＹセレクタ部３５を介して、ホストシステム１に出力することができる。
【００６９】
すなわち、アクセスコントローラ部３４がランダム読み出しコマンドをメモリ入出力部４１に出力した後には、ホストシステム１は、メモリバッファ部４４がすでに格納しているデータを取得することができるのである（ステップＳ６）。ホストシステム１がメモリバッファ部４４がすでに格納しているデータを取得する方法について、以下に説明する。
【００７０】
メモリ入出力部４１は、ランダム読み出しコマンドをアクセスコントローラ部３４から入力して、メモリ入出力部４１が備えるＩ／Ｏ端子を介して、ロジックコントローラ部４２に出力する。ロジックコントローラ部４２は、ランダム読み出し制御信号をアクセスコントローラ部３４から入力する。また、ロジックコントローラ部４２は、ランダム読み出しコマンドをメモリ入出力部４１から入力する。そして、ロジックコントローラ部４２は、メモリ入出力部４１から入力したランダム読み出しコマンドに基づいて、メモリバッファ部４４に対して読み出しアクセスを制御する。
【００７１】
メモリバッファ部４４は、前回の読み出しデータをすでに格納している。そして、メモリバッファ部４４は、ロジックコントローラ部４２から読み出しアクセスを受けると、前回の読み出しデータを、今回の読み出しデータとして、メモリ入出力部４１に出力する。
【００７２】
メモリ入出力部４１は、今回の読み出しデータをメモリバッファ部４４から入力して、メモリ入出力部４１が備えるＩ／Ｏ端子を介して、メモリコントローラ３に出力する。すると、ホストシステム１は、インターフェース部３１を介して、今回の読み出しデータを取得することができるのである。
【００７３】
今回の読み出しアドレスと前回の読み出しアドレスが一致する場合についてまとめる。アクセスコントローラ部３４は、アドレス比較部３３から入力したオペレーション切替要求信号に基づいて、通常読み出し制御をメモリ４に対して行うことなく、ランダム読み出し制御をメモリ４に対して行うことができる。
【００７４】
すると、ホストシステム１は、メモリセルアレイ４３からメモリバッファ部４４に新たに転送されるデータを読み出すことなく、メモリバッファ部４４にすでに格納されているデータを読み出すことができる。そのため、“Ｒｅａｄ  Ｄｉｓｔｕｒｂ”現象を回避または低減することができるのである。また、メモリセルアレイ４３内部での読み出し操作に時間を必要とすることはなくなるため、高速な読み出しアクセスを実現することができるのである。
【００７５】
次に、今回の読み出しアドレスと前回の読み出しアドレスが一致しない場合について説明する。アドレス比較部３３は、前回の読み出しアドレスを、今回の読み出しアドレスに更新する(ステップＳ７)。そして、アドレス比較部３３は、オペレーション切替不要信号をアクセスコントローラ部３４に出力する。さらに、アドレス比較部３３は、二値信号“０”を第１ＲＤＹ／ＢＳＹセレクタ部３５に出力する。
【００７６】
アクセスコントローラ部３４は、読み出しアドレスをアドレスデコーダ部３２から入力する。また、アクセスコントローラ部３４は、オペレーション切替不要信号をアドレス比較部３３から入力する。すると、アクセスコントローラ部３４は、通常読み出しアクセスにオペレーションを維持する(ステップＳ８)。アクセスコントローラ部３４がオペレーションを維持する方法について、図３を用いて説明する。
【００７７】
アクセスコントローラ部３４は、アドレス比較部３３から入力したオペレーション切替不要信号に基づいて、通常読み出しコマンドをメモリ入出力部４１に出力する。ここで、通常読み出しコマンドは、通常読み出しコマンドＩＤ、読み出しカラムアドレス、読み出しページアドレス、通常読み出し開始コマンドＩＤから構成されている。
【００７８】
通常読み出しコマンドＩＤは、通常読み出しコマンドを他の読み出しコマンドから区別するための識別番号である。また、通常読み出し開始コマンドＩＤは、通常読み出し開始コマンドを他の読み出し開始コマンドから区別するための識別番号である。
【００７９】
読み出しカラムアドレスは、メモリセルアレイ４３の読み出し対象ページ内のカラムアドレスである。本発明においては、ホストシステム１は、メモリセルアレイ４３の１ページ分のデータすべてを、１回の読み出しで読み出すことができる。そのため、読み出しカラムアドレスは、メモリセルアレイ４３の読み出し対象ページ内の先頭カラム０に設定される。
【００８０】
読み出しページアドレスは、メモリセルアレイ４３の読み出し対象ページのページアドレスである。図３においては、アクセスコントローラ部３４は、読み出しアドレスとしてメモリセルアレイ４３のページＰ１を、アドレスデコーダ部３２から入力している。そのため、読み出しページアドレスは、メモリセルアレイ４３のページＰ１に設定される。すると、メモリセルアレイ４３のページＰ１が格納するデータが、先頭カラム０、カラム１、カラム２の順序で、最終カラムまで読み出されるのである。
【００８１】
また、アクセスコントローラ部３４は、アドレス比較部３３から入力したオペレーション切替不要信号に基づいて、通常読み出し制御信号をロジックコントローラ部４２に出力する。ここで、通常読み出し制御信号は、メモリ４が通常読み出しコマンドをメモリコントローラ３から取り込み、メモリ４が通常読み出しコマンドに係る読み出しデータをメモリコントローラ３に出力するための制御信号である。
【００８２】
アクセスコントローラ部３４は、二値信号“０”または“１”を、第２ＲＤＹ／ＢＳＹセレクタ部３６に出力していない。しかし、アドレス比較部３３は、二値信号“０”を第１ＲＤＹ／ＢＳＹセレクタ部３５にすでに出力している。すると、ロジックコントローラ部４２は、メモリ４の動作状態を示すＲＤＹ／ＢＳＹ信号を、第１ＲＤＹ／ＢＳＹセレクタ部３５を介して、ホストシステム１に出力することができる。
【００８３】
すなわち、ホストシステム１は、メモリ４の動作状態を示すＲＤＹ／ＢＳＹ信号を入力して、メモリ４の動作状態がＲＥＡＤＹ状態であることを確認したうえで、メモリセルアレイ４３からメモリバッファ部４４に新たに転送されたデータを取得することができるのである（ステップＳ９）。ホストシステム１がメモリセルアレイ４３からメモリバッファ部４４に新たに転送されたデータを取得する方法について、以下に説明する。
【００８４】
メモリ入出力部４１は、通常読み出しコマンドをアクセスコントローラ部３４から入力して、メモリ入出力部４１が備えるＩ／Ｏ端子を介して、ロジックコントローラ部４２に出力する。ロジックコントローラ部４２は、通常読み出し制御信号をアクセスコントローラ部３４から入力する。また、ロジックコントローラ部４２は、通常読み出しコマンドをメモリ入出力部４１から入力する。そして、ロジックコントローラ部４２は、メモリ入出力部４１から入力した通常読み出しコマンドに基づいて、メモリセルアレイ４３に対して読み出しアクセスを制御する。
【００８５】
メモリセルアレイ４３は、ロジックコントローラ部４２から読み出しアクセスを受けると、今回の読み出しデータを読み出す操作を行う。そして、メモリセルアレイ４３は、今回の読み出しデータをメモリバッファ部４４に転送する。
【００８６】
メモリバッファ部４４は、今回の読み出しデータをメモリセルアレイ４３から入力する。すると、メモリバッファ部４４は、メモリセルアレイ４３の１ページ分の読み出しデータのみを格納することができるため、前回の読み出しデータを今回の読み出しデータに更新する。そして、メモリバッファ部４４は、今回の読み出しデータをメモリ入出力部４１に出力する。
【００８７】
メモリ入出力部４１は、今回の読み出しデータをメモリバッファ部４４から入力して、メモリ入出力部４１が備えるＩ／Ｏ端子を介して、メモリコントローラ３に出力する。すると、ホストシステム１は、メモリ４の動作状態がＲＥＡＤＹ状態であることを確認したうえで、インターフェース部３１を介して、今回の読み出しデータを取得することができるのである。
【００８８】
次に、ホストシステム１がメモリシステム２に次々と読み出しコマンドを出力するときに、メモリシステム２がホストシステム１に読み出しデータを出力する処理の流れについて、図４を用いて説明する。図４は、第１の実施の形態に係る読み出しアドレス比較結果および読み出し操作場所の時系列変化を示す図である。上段から下段まで移動するに従って、ホストシステム１がメモリシステム２に次々と読み出しコマンドを出力していることを示している。
【００８９】
図４の二重線直下の点線は、ホストシステム１がメモリシステム２に次々と読み出しコマンドを出力してきたことを示している。図４の二重線以下の１行目において、ホストシステム１がメモリシステム２に出力した前回の読み出しアドレスは、ページＰ１である。そして、メモリバッファ部４４は、ページＰ１の読み出しデータをすでに格納している。
【００９０】
図４の二重線以下の１行目において、ホストシステム１がメモリシステム２に出力する今回の読み出しアドレスは、ページＰ１である。今回の読み出しアドレスと前回の読み出しアドレスは一致している（ステップＳ３）。そのため、アクセスコントローラ部３４は、通常読み出しアクセスからランダム読み出しアクセスに、オペレーションを切り替える（ステップＳ５）。そして、ホストシステム１は、メモリバッファ部４４がすでに格納しているページＰ１の読み出しデータを、今回の読み出しデータとして読み出すのである（ステップＳ６）。
【００９１】
アドレス比較部３３は、前回の読み出しアドレスを今回の読み出しアドレスに更新する（ステップＳ４）。もっとも、今回の読み出しアドレスと前回の読み出しアドレスは一致しているため、アドレス比較部３３は、読み出しアドレスを更新しなくてもよい。メモリバッファ部４４は、すでに格納しているページＰ１の読み出しデータをそのまま保持する。
【００９２】
図４の二重線以下の３行目において、ホストシステム１がメモリシステム２に出力する今回の読み出しアドレスは、ページＰ２である。今回の読み出しアドレスと前回の読み出しアドレスは一致していない（ステップＳ３）。そのため、アクセスコントローラ部３４は、通常読み出しアクセスにオペレーションを維持する（ステップＳ８）。そして、ホストシステム１は、メモリセルアレイ４３からメモリバッファ部４４に新たに転送されるページＰ２の読み出しデータを、今回の読み出しデータとして読み出すのである（ステップＳ９）。
【００９３】
アドレス比較部３３は、前回の読み出しアドレスを今回の読み出しアドレスに更新する（ステップＳ７）。メモリバッファ部４４は、メモリセルアレイ４３から新たに転送されたページＰ２の読み出しデータを格納する。
【００９４】
図４の二重線以下の５行目において、今回の読み出しアドレスと前回の読み出しアドレスは一致している（ステップＳ３）。そのため、図４の二重線以下の１行目において説明したと同様な処理の流れが実行される。また、図４の二重線以下の７行目において、今回の読み出しアドレスと前回の読み出しアドレスは一致していない（ステップＳ３）。そのため、図４の二重線以下の３行目において説明したと同様な処理の流れが実行される。
【００９５】
図４の二重線直下の点線において、ホストシステム１の電源をオンにするときに、前回の読み出しアドレスを設定する方法として、以下に説明する方法などがあげられる。まず、ホストシステム１の電源を以前にオフにしたときに、ホストシステム１がメモリシステム２に出力した最後の読み出しアドレスを、ホストシステム１の電源を再びオンにするときに、前回の読み出しアドレスとして設定する方法があげられる。次に、ホストシステム１の電源をオンにするたびに、特定の読み出しアドレスを前回の読み出しアドレスとして設定する方法があげられる。
【００９６】
{第２の実施の形態}
第１の実施の形態において、今回の読み出しアドレスと前回の読み出しアドレスが一致する場合には、アクセスコントローラ部３４はメモリセルアレイ４３に対してではなく、メモリバッファ部４４に対して読み出しアクセスすることができる。そのため、“Ｒｅａｄ  Ｄｉｓｔｕｒｂ”現象を回避または低減することができる。ここで、ホストシステム１が、ページＰ１およびページＰ２の読み出しアドレスを交互に出力するような場合であっても、“Ｒｅａｄ  Ｄｉｓｔｕｒｂ”現象を回避または低減することができる手段について、第２ないし第４の実施の形態において説明する。
【００９７】
図５は、第２の実施の形態に係る読み出しアドレス比較結果および読み出し操作場所の時系列変化を示す図である。アドレス比較部３３が格納する読み出しアドレスは、ホストシステム１が最近３回の出力で出力した読み出しアドレスである。図５では、最近３回の読み出しアドレスを、ホストシステム１が出力した順序で、左端から右端に向けて記載している。たとえば、「ページＰ１、Ｐ２、Ｐ３」とは、ホストシステム１が、Ｐ１、Ｐ２、Ｐ３の順序で読み出しアドレスを出力したことを示している。また、メモリバッファ部４４は、最近３回の読み出しデータを格納することができる。
【００９８】
今回の読み出しアドレスが最近３回の読み出しアドレスに含まれている場合には、アクセスコントローラ部３４はメモリバッファ部４４に対して読み出しアクセスする。メモリバッファ部４４はすでに格納している読み出しデータをそのまま保持する。また、今回の読み出しアドレスが最近３回の読み出しアドレスに含まれていない場合には、アクセスコントローラ部３４はメモリセルアレイ４３に対して読み出しアクセスする。メモリバッファ部４４はすでに格納している読み出しデータのうち、最先の読み出しデータを今回の読み出しデータに更新する。
【００９９】
第２の実施の形態においては、メモリバッファ部４４は最近３回の読み出しデータを格納することができる。すると、図３で示したランダム読み出しコマンドは、メモリバッファ部４４の読み出しページアドレスを包含する必要がある。たとえば、図５の二重線以下の１行目において、今回の読み出しアドレス（ページＰ１）は、最近３回の読み出しアドレスのうち、最先の読み出しアドレス（ページＰ１）と一致している。そこで、読み出しページアドレスとして、メモリバッファ部４４がページＰ１の読み出しデータを格納する領域に設定すればよい。
【０１００】
今回の読み出しアドレスが最近３回の読み出しアドレスに含まれている場合と含まれていない場合に関わらず、アドレス比較部３３は格納する読み出しアドレスを更新する。すなわち、最近３回の読み出しアドレスのうち、最先の読み出しアドレスを削除して、今回の読み出しアドレスを追加する更新をする。
【０１０１】
{第３の実施の形態}
図６は、第３の実施の形態に係る読み出しアドレス比較結果および読み出し操作場所の時系列変化を示す図である。アドレス比較部３３が格納する読み出しアドレスは、ホストシステム１が最近５回の出力で出力した読み出しアドレスである。また、メモリバッファ部４４は、最近５回の読み出しデータのうち、読み出し回数が多い上位２位の読み出しデータを格納することができる。
【０１０２】
今回の読み出しアドレスが出力回数の多い上位２位の読み出しアドレスに含まれている場合には、アクセスコントローラ部３４はメモリバッファ部４４に対して読み出しアクセスする。また、今回の読み出しアドレスが出力回数の多い上位２位の読み出しアドレスに含まれていない場合には、アクセスコントローラ部３４はメモリセルアレイ４３に対して読み出しアクセスする。
【０１０３】
今回の読み出しアドレスが出力回数の多い上位２位の読み出しアドレスに含まれていない場合には、今回の読み出しデータがメモリセルアレイ４３からメモリバッファ部４４に新たに転送される。すると、メモリバッファ部４４は、読み出し回数が多い上位２位の読み出しデータを格納する領域のみならず、今回の読み出しデータをメモリセルアレイ４３から新たに入力する領域をも備える必要がある。
【０１０４】
第３の実施の形態を応用する実施例として、アドレス比較部３３は、ホストシステム１が出力した読み出しアドレスについて、出力回数のヒストグラムを格納する。そして、アドレス比較部３３は、格納するヒストグラムを参照して、出力回数の多い読み出しアドレスを選択して、ホストシステム１が今回出力する読み出しアドレスと比較するのである。
【０１０５】
アドレス比較部３３が出力回数のヒストグラムを格納する実施例として、まず、ホストシステム１の電源をオンにしてからオフにするまでの間に、ホストシステム１が出力した読み出しアドレスについて、アドレス比較部３３は出力回数のヒストグラムを格納する。そして、出力回数の多い読み出しアドレスを、次回にホストシステム１の電源をオンにするときに、ホストシステム１が新たに出力する読み出しアドレスと比較される読み出しアドレスとして設定することができる。
【０１０６】
アドレス比較部３３が出力回数のヒストグラムを格納する実施例として、次に、ホストシステム１が所定回数の出力において出力した読み出しアドレスについて、アドレス比較部３３は出力回数のヒストグラムを格納する。出力回数の多い所定条件を満たす読み出しアドレスを比較アドレスとして設定して、比較アドレスに係る読み出しデータをメモリバッファ部４４に格納する。
【０１０７】
比較アドレスに係る読み出しデータをメモリバッファ部４４に格納した後に、アドレス比較部３３はすでに格納している出力回数のヒストグラムを消去する。ホストシステム１が次の所定回数の出力において出力する読み出しアドレスが、すでに設定されている比較アドレスと一致する場合には、アクセスコントローラ部３４はメモリバッファ部４４に対して読み出しアクセスする。
【０１０８】
ホストシステム１が次の所定回数の出力において出力した読み出しアドレスについて、アドレス比較部３３は出力回数のヒストグラムを新たに格納する。出力回数の多い所定条件を満たす読み出しアドレスを新たな比較アドレスとして設定して、新たな比較アドレスに係る読み出しデータをメモリバッファ部４４に格納する。ここで、新たな比較アドレスに係る読み出しデータがすでにメモリバッファ部４４に格納されていれば、新たな比較アドレスに係る読み出しデータをメモリセルアレイ４３からメモリバッファ部４４に新たに転送しなくてもよい。以後は同様な処理の流れが続行されることになる。
【０１０９】
{第４の実施の形態}
図７は、第４の実施の形態に係る読み出しアドレス比較結果および読み出し操作場所の時系列変化を示す図である。アドレス比較部３３が格納する読み出しアドレスは、あらかじめ設定されたメモリセルアレイ４３の３ページ分の所定アドレスである。ホストシステム１がメモリシステム２に次々と読み出しコマンドを出力するときにも、アドレス比較部３３は所定アドレスを更新しない。また、メモリバッファ部４４は、所定アドレスに係る読み出しデータを格納することができる。
【０１１０】
あらかじめ設定された所定アドレスとして、まず、ホストシステム１が繰り返し出力する可能性が高いと想定される読み出しアドレスがあげられる。メモリセルアレイ４３が格納するデータを設計するときに、ホストシステム１が特定データを繰り返し読み出す可能性が高いと想定される場合に便利である。
【０１１１】
あらかじめ設定された所定アドレスとして、次に、ホストシステム１が処理するときにエラーが発生する可能性が高いと想定される読み出しデータに係る読み出しアドレスがあげられる。ホストシステム１が読み出しデータを処理するときにエラーが発生する場合として、たとえば、メモリセルアレイ４３からメモリバッファ部４４にデータが転送されるときに、そのデータにエラーが発生する場合と、他のデータにエラーが発生する場合などが考えられる。他のデータにエラーが発生する場合においては、読み出し対象でないメモリセルが格納するデータが意図せず書き換えられる場合を考慮している。メモリセルアレイ４３の構造上、ホストシステム１が処理するときにエラーが発生する可能性が高いと想定される読み出しデータが特定されている場合に便利である。
【０１１２】
｛第５の実施の形態｝
第１ないし第４の実施の形態において、ホストシステム１が繰り返し読み出すデータについて、“Ｒｅａｄ  Ｄｉｓｔｕｒｂ”現象を回避または低減することができる。ここで、ホストシステム１が繰り返し読み出すデータについて、実際にエラーが発生した場合にも、本発明を実施することができる。
【０１１３】
ホストシステム１が読み出しデータを処理してエラーが発生するたびに、アドレス比較部３３は、エラーが発生した読み出しデータに係る読み出しアドレスを格納する。また、メモリバッファ部４４は、誤り訂正を施された読み出しデータを格納する。ホストシステム１の電源をオフにしたときに、アドレス比較部３３が格納していたエラーが発生した読み出しデータに係る読み出しアドレスを、ホストシステム１の電源をオンにするときに、アドレス比較部３３はそのまま格納する。
【０１１４】
ホストシステム１が誤り訂正を施されたデータを今後も繰り返し読み出すときには、アクセスコントローラ部３４はメモリセルアレイ４３に対してではなく、メモリバッファ部４４に対して読み出しアクセスすることができる。そのため、更なる“Ｒｅａｄ  Ｄｉｓｔｕｒｂ”現象を回避または低減することができる。
【図面の簡単な説明】
【０１１５】
【図１】本発明に係る情報処理装置のブロック図である。
【図２】メモリシステムがホストシステムに読み出しデータを出力する処理の流れを示すフローチャートである。
【図３】アクセスコントローラ部がオペレーションを切り替える処理の流れを示すブロック図である。
【図４】第１の実施の形態に係る読み出しアドレス比較結果および読み出し操作場所の時系列変化を示す図である。
【図５】第２の実施の形態に係る読み出しアドレス比較結果および読み出し操作場所の時系列変化を示す図である。
【図６】第３の実施の形態に係る読み出しアドレス比較結果および読み出し操作場所の時系列変化を示す図である。
【図７】第４の実施の形態に係る読み出しアドレス比較結果および読み出し操作場所の時系列変化を示す図である。
【図８】ＮＡＮＤフラッシュメモリの模式図である。
【符号の説明】
【０１１６】
１  ホストシステム
２  メモリシステム
３  メモリコントローラ
４  メモリ
３１  インターフェース部
３２  アドレスデコーダ部
３３  アドレス比較部
３４  アクセスコントローラ部
３５  第１ＲＤＹ／ＢＳＹセレクタ部
３６  第２ＲＤＹ／ＢＳＹセレクタ部
４１  メモリ入出力部
４２  ロジックコントローラ部
４３  メモリセルアレイ
４４  メモリバッファ部
５１  ビット線
５２、５３、５４  ワード線
６２  選択セル
６３  非選択セル
６４  選択トランジスタ
【図１】
2008217472.tif 000003
【図２】
2008217472.tif 000004
【図３】
2008217472.tif 000005
【図４】
2008217472.tif 000006
【図５】
2008217472.tif 000007
【図６】
2008217472.tif 000008
【図７】
2008217472.tif 000009
【図８】
2008217472.tif 000010