(57)【要約】【課題】不揮発性メモリを制御するためのコントローラを提供する。【解決手段】ここに開示されるメモリコントローラは不揮発性メモリ(例えば、ＮＡＮＤフラッシュメモリ)および揮発性メモリ(例えば、ＤＲＡＭまたはＳＤＲＡＭ)に連結されている。メモリコントローラはメモリ要求に応答して不揮発性メモリおよび揮発性メモリのアクセスを制御し、揮発性メモリに貯蔵されたデータのアドレス情報を貯蔵するメモリを含む。メモリコントローラはメモリ要求時入力されたアドレス情報がメモリのアドレス情報と一致するか否かを判別し、判別結果にしたがって不揮発性メモリを選択的にアクセスする。【選択図】図２
2005235182.tif 000002
【特許請求の範囲】
【請求項１】
ＮＡＮＤフラッシュメモリと、
前記ＮＡＮＤフラッシュメモリのデータを貯蔵するＲＡＭと、
メモリ要求に応答して前記ＲＡＭと前記ＮＡＮＤフラッシュメモリのアクセスを制御するコントローラとを含み、
前記コントローラは前記ＲＡＭに貯蔵されたデータのアドレス情報を貯蔵するメモリを含み、前記メモリの要求時選択的にアクセスされるように前記メモリのアドレス情報を参照して前記ＮＡＮＤフラッシュメモリを制御することを特徴とするメモリシステム。
【請求項２】
前記コントローラは前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致するか否かを判別し、判別の結果にしたがって前記ＮＡＮＤフラッシュメモリを選択的にアクセスすることを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致するとき、前記コントローラは前記ＮＡＮＤフラッシュメモリのアクセスなく、前記ＲＡＭのデータを外部に出力することを特徴とする請求項２に記載のメモリシステム。
【請求項４】
前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致しないとき、前記コントローラは前記ＮＡＮＤフラッシュメモリのデータが前記ＲＡＭに、そして外部に出力されるように前記ＮＡＮＤフラッシュメモリを制御することを特徴とする請求項２に記載のメモリシステム。
【請求項５】
前記コントローラはブロック単位に代えてページ単位に前記ＮＡＮＤフラッシュメモリを管理し、前記ＮＡＮＤフラッシュメモリのページアドレス情報を前記メモリに貯蔵することを特徴とする請求項１に記載のメモリシステム。
【請求項６】
前記コントローラは外部から入力されたデータが前記ＲＡＭに貯蔵されるごとに前記貯蔵されたデータのアドレス情報を前記メモリに貯蔵することを特徴とする請求項１に記載のメモリシステム。
【請求項７】
前記コントローラは、
前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致するか否かにしたがって読み出し／書き込みアクセス命令を発生するメイン制御ユニットと、
前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致するとき、前記メイン制御ユニットからの読み出し／書き込みアクセス命令に応答して前記ＲＡＭのアクセス動作を制御するメモリ制御ユニットと、
前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致しないとき、前記メイン制御ユニットからの読み出し／書き込みアクセス命令に応答してＮＡＮＤフラッシュメモリのアクセスを制御するフラッシュメモリ管理および制御ユニットとを含むことを特徴とする請求項２に記載のメモリシステム。
【請求項８】
前記メイン制御ユニットは、前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致するとき、前記アドレスを前記ＲＡＭに適するＲＡＭアドレスに変換し、変換されたＲＡＭアドレスを前記ＲＡＭに出力することを特徴とする請求項７に記載のメモリシステム。
【請求項９】
前記フラッシュメモリ管理および制御ユニットは、前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致しないとき、前記アドレスを前記ＮＡＮＤフラッシュメモリに適するＮＡＮＤアドレスに変換することを特徴とする請求項７に記載のメモリシステム。
【請求項１０】
前記フラッシュメモリ管理および制御ユニットは前記ＮＡＮＤフラッシュメモリのアクセスされたページと関連した情報を前記メモリに貯蔵することを特徴とする請求項７に記載のメモリシステム。
【請求項１１】
前記ＮＡＮＤフラッシュメモリのアクセスされたページが欠陥ページであるとき、前記フラッシュメモリ管理および制御ユニットは欠陥ページ情報を前記メモリに貯蔵することを特徴とする請求項１０に記載のメモリシステム。
【請求項１２】
前記フラッシュメモリ管理および制御ユニットは前記ＮＡＮＤフラッシュメモリをアクセスするとき、前記欠陥ページに代えて他のページが選択されるように設定されたページアドレステーブルを含むことを特徴とする請求項１１に記載のメモリシステム。
【請求項１３】
前記ＲＡＭに新しいデータが書き込まれるとき、前記メイン制御ユニットは前記ＲＡＭに新しいデータが貯蔵されたか否かを示す有効アドレス情報を前記メモリに貯蔵することを特徴とする請求項７に記載のメモリシステム。
【請求項１４】
前記フラッシュメモリ管理および制御ユニットは、更新動作が要求されるとき、前記メモリの有効アドレス情報を参照してＮＡＮＤアドレスを発生することを特徴とする請求項１３に記載のメモリシステム。
【請求項１５】
前記コントローラは前記ＮＡＮＤフラッシュメモリで読み出されたデータを臨時貯蔵する臨時メモリをさらに含むことを特徴とする請求項７に記載のメモリシステム。
【請求項１６】
前記ＲＡＭのデータを前記ＮＡＮＤフラッシュメモリに貯蔵するとき、前記臨時メモリは前記メモリ制御ユニットの制御にしたがって、前記ＲＡＭからのデータを貯蔵し、そのように貯蔵されたデータは前記フラッシュメモリ管理および制御ユニットの制御にしたがって前記ＮＡＮＤフラッシュメモリに出力されることを特徴とする請求項１５に記載のメモリシステム。
【請求項１７】
前記ＮＡＮＤフラッシュメモリのデータを前記ＲＡＭに貯蔵するとき、前記臨時メモリは前記フラッシュメモリ管理および制御ユニットの制御にしたがって、前記ＮＡＮＤフラッシュメモリからのデータを貯蔵し、そのように貯蔵されたデータは前記メモリ制御ユニットの制御にしたがって前記ＲＡＭに、そして外部に出力されることを特徴とする請求項１５に記載のメモリシステム。
【請求項１８】
ＮＡＮＤフラッシュメモリと、
前記ＮＡＮＤフラッシュメモリのデータを貯蔵するＲＡＭと、
前記ＲＡＭと前記ＮＡＮＤフラッシュメモリのアクセスを制御するコントローラとを含み、
前記コントローラは、
前記ＲＡＭに貯蔵されたデータのメモリアドレス情報のうちのタッグアドレスを貯蔵するメモリと、
メモリ要求時入力されたアドレスのうちのタッグアドレスが前記メモリのタッグアドレスと一致するか否かにしたがって第１および第２アクセス命令のうちのいずれか一つを発生するメイン制御ユニットと、
前記第１アクセス命令に応答して前記ＲＡＭのアクセス動作を制御するメモリ制御ユニットと、
前記第２アクセス命令に応答して前記ＮＡＮＤフラッシュメモリのアクセスを制御するフラッシュメモリ管理および制御ユニットとを含むことを特徴とするメモリシステム。
【請求項１９】
前記メモリ要求時入力されたメモリアドレスのうちのタッグアドレスが前記メモリのタッグアドレスと一致するとき、前記コントローラは前記ＮＡＮＤフラッシュメモリのアクセスなしに、前記ＲＡＭのデータが外部に出力されるように、前記メモリ制御ユニットを制御することを特徴とする請求項１８に記載のメモリシステム。
【請求項２０】
前記メモリ要求時入力されたメモリアドレスのうちのタッグアドレスが前記メモリのタッグアドレスと一致しないとき、前記コントローラは前記ＮＡＮＤフラッシュメモリのデータが前記ＲＡＭに、そして外部に出力されるように前記フラッシュメモリ管理および制御ユニットおよび前記メモリ制御ユニットを制御することを特徴とする請求項１８に記載のメモリシステム。
【請求項２１】
前記フラッシュメモリ管理および制御ユニットはブロック単位に代えてページ単位に前記フラッシュメモリを管理し、前記ＮＡＮＤフラッシュメモリのページアドレス情報を前記メモリに貯蔵することを特徴とする請求項１８に記載のメモリシステム。
【請求項２２】
前記メイン制御ユニットは外部から入力されたデータが前記ＲＡＭに貯蔵されるときごとに前記貯蔵されたデータのタッグアドレスを前記メモリに貯蔵することを特徴とする請求項１８に記載のメモリシステム。
【請求項２３】
前記メイン制御ユニットは、前記メモリ要求時入力されたメモリアドレスのうちのタグアドレスが前記メモリアドレスと一致するとき、前記メモリアドレスを前記ＲＡＭに適するＲＡＭアドレスに変換し、変換されたＲＡＭアドレスを前記ＲＡＭに出力することを特徴とする請求項１８に記載のメモリシステム。
【請求項２４】
前記フラッシュメモリ管理および制御ユニットは、前記メモリ要求時入力されたメモリアドレスのうちのタッグアドレスが前記メモリのタッグアドレスと一致しないとき、前記メモリアドレスを前記ＮＡＮＤフラッシュメモリに適したＮＡＮＤアドレスに変換することを特徴とする請求項２３に記載のメモリシステム。
【請求項２５】
前記フラッシュメモリ管理および制御ユニットは前記ＮＡＮＤフラッシュメモリのアクセスされたページと関連した情報を前記メモリに貯蔵することを特徴とする請求項１８に記載のメモリシステム。
【請求項２６】
前記ＮＡＮＤフラッシュメモリのアクセスされたページが欠陥ページであるとき、前記フラッシュメモリ管理および制御ユニットは欠陥ページ情報を前記メモリに貯蔵することを特徴とする請求項２５に記載のメモリシステム。
【請求項２７】
前記フラッシュメモリ管理および制御ユニットは前記ＮＡＮＤフラッシュメモリをアクセスするとき、前記欠陥ページに代えて他のページが選択されるように設定されたページアドレステーブルを含むことを特徴とする請求項２５に記載のメモリシステム。
【請求項２８】
前記ＲＡＭに新しいデータが書き込まれるとき、前記メイン制御ユニットは前記ＲＡＭに新しいデータが貯蔵されたか否かを示す有効アドレス情報を前記メモリに貯蔵することを特徴とする請求項１８に記載のメモリシステム。
【請求項２９】
前記フラッシュメモリ管理および制御ユニットは、更新動作が要求されるとき、前記メモリの有効アドレス情報を参照してＮＡＮＤアドレスを発生することを特徴とする請求項２８に記載のメモリシステム。
【請求項３０】
前記コントローラは前記ＮＡＮＤフラッシュメモリで読み出されたデータを臨時貯蔵する臨時メモリをさらに含むことを特徴とする請求項１８に記載のメモリシステム。
【請求項３１】
前記ＲＡＭのデータを前記ＮＡＮＤフラッシュメモリに貯蔵するとき、前記臨時メモリは前記メモリ制御ユニットの制御にしたがって、前記ＲＡＭからのデータを貯蔵し、そのように貯蔵されたデータは前記フラッシュメモリ管理および制御ユニットの制御にしたがって前記ＮＡＮＤフラッシュメモリに出力されることを特徴とする請求項３０に記載のメモリシステム。
【請求項３２】
前記ＮＡＮＤフラッシュメモリのデータを前記ＲＡＭに貯蔵するとき、前記臨時メモリは前記フラッシュメモリ管理および制御ユニットの制御にしたがって前記ＮＡＮＤフラッシュメモリからのデータを貯蔵し、そのように貯蔵されたデータは前記メモリ制御ユニットの制御にしたがって前記ＲＡＭに、そして外部に出力されることを特徴とする請求項３０に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システムに関するものであり、さらに具体的には不揮発性メモリを含むメモリシステムに関するものである。
【背景技術】
【０００２】
モバイルシステムおよび各種アプリケーションの開発にしたがって不揮発性メモリであるフラッシュメモリとともにフラッシュメモリを制御するメモリシステムの要求が増加している。フラッシュメモリは大容量のデータ情報を貯蔵することができる能力を有する一方、データの読み出しおよび書き込み時間がＲＡＭに比べて多少長いという短所を有する。
【０００３】
このような短所はバッファメモリを利用することによって解決されることができる。例えば、ホストからのデータは直接フラッシュメモリに貯蔵されるのではなく、バッファメモリに先に貯蔵される。その次に、バッファメモリに貯蔵されたデータが読み出され、そのように読み出されたデータがフラッシュメモリに貯蔵される。同様に、フラッシュメモリで読み出されたデータは直接ホストに伝送されるのではなく、バッファメモリに先に貯蔵される。その次に、バッファメモリに貯蔵されたデータが読み出され、そのように読み出されたデータがホストに伝送される。このようなデータ伝送方式に従ってメモリシステムまたはそれを含む情報処理システム(またはモバイルアプリケーション)の性能を向上させることができる。
【０００４】
しかし、そのようなメモリシステムは、次のような問題点を有する。ブーティング時、フラッシュメモリに貯蔵されたデータをバッファメモリにコピーしておかなければならないので、メモリ運用が効率的ではない。また、バッファメモリにフラッシュメモリのデータをコピーするためには別途のモード(例えば、ｄｅｍａｎｄ ｐａｇｉｎｇ ｍｏｄｅ)が支援されなければならない。これはソフトウエア負担の増加原因になり、メモリシステムを含むシステムの全体的な効率を低下させる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的はソフトウエアの関与なしにフラッシュメモリを制御することができるメモリシステムを提供することである。
【０００６】
本発明の他の目的はページ単位でフラッシュメモリを管理することができるメモリシステムを提供することである。
【課題を解決するための手段】
【０００７】
以上の諸般の目的を達成するための本発明の特徴によれば、メモリシステムはＮＡＮＤフラッシュメモリと、前記ＮＡＮＤフラッシュメモリのデータを貯蔵するＲＡＭと、メモリ要求に応答して前記ＲＡＭと前記ＮＡＮＤフラッシュメモリのアクセスを制御するコントローラとを含む。前記コントローラは前記ＲＡＭに貯蔵されたデータのアドレス情報を貯蔵するメモリを含み、前記メモリの要求時、選択的にアクセスされるように前記メモリのアドレス情報を参照して前記ＮＡＮＤフラッシュメモリを制御する。
【０００８】
具体的に、前記コントローラは前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致するか否かを判別し、判別の結果にしたがって前記ＮＡＮＤフラッシュメモリを選択的にアクセスする。例えば、前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致するとき、前記コントローラは前記ＮＡＮＤフラッシュメモリのアクセスなしに前記ＲＡＭのデータを外部に出力する。前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致しないとき、前記コントローラは前記ＮＡＮＤフラッシュメモリのデータが前記ＲＡＭに、そして外部に出力されるように前記ＮＡＮＤフラッシュメモリを制御する。
【０００９】
例示的な実施形態において、前記コントローラはブロック単位に代えて、ページ単位に前記ＮＡＮＤフラッシュメモリを管理し、前記ＮＡＮＤフラッシュメモリのページアドレス情報を前記メモリに貯蔵する。また、前記コントローラは外部から入力されたデータが前記ＲＡＭに貯蔵されるごとに前記貯蔵されたデータのアドレス情報を前記メモリに貯蔵する。
【００１０】
例示的な実施形態において、前記コントローラは、前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致するか否かにしたがって読み出し／書き込みアクセス命令を発生するメイン制御ユニットと、前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致するとき、前記メイン制御ユニットからの読み出し／書き込みアクセス命令に応答して前記ＲＡＭのアクセス動作を制御するメモリ制御ユニットと、前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致しないとき、前記メイン制御ユニットからの読み出し／書き込みアクセス命令に応答してＮＡＮＤフラッシュメモリのアクセスを制御するフラッシュメモリ管理および制御ユニットとをさらに含む。
【００１１】
例示的な実施形態において、前記メイン制御ユニットは、前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致するとき、前記アドレスを前記ＲＡＭに適するＲＡＭアドレスに変換し、変換されたＲＡＭアドレスを前記ＲＡＭに出力する。
【００１２】
例示的な実施形態において、前記フラッシュメモリ管理および制御ユニットは、前記メモリ要求時入力されたアドレス情報が前記メモリのアドレス情報と一致しないとき、前記アドレスを前記ＮＡＮＤフラッシュメモリに適するＮＡＮＤアドレスに変換する。
【００１３】
例示的な実施形態において、前記フラッシュメモリ管理および制御ユニットは前記ＮＡＮＤフラッシュメモリのアクセスされたページと関連した情報を前記メモリに貯蔵する。前記ＮＡＮＤフラッシュメモリのアクセスされたページが欠陥ページであるとき、前記フラッシュメモリ管理および制御ユニットは欠陥ページ情報を前記メモリに貯蔵する。前記フラッシュメモリ管理および制御ユニットは前記ＮＡＮＤフラッシュメモリをアクセスするとき、前記欠陥ページに代えて他のページが選択されるように設定されたページアドレステーブルを含む。
【００１４】
例示的な実施形態において、前記ＲＡＭに新しいデータが書き込まれるとき、前記メイン制御ユニットは前記ＲＡＭに新しいデータが貯蔵されたか否かを示す有効アドレス情報を前記メモリに貯蔵する。前記フラッシュメモリ管理および制御ユニットは、更新動作が要求されるとき、前記メモリの有効アドレス情報を参照してＮＡＮＤアドレスを発生する。
【００１５】
例示的な実施形態において、前記コントローラは前記ＮＡＮＤフラッシュメモリで読み出されたデータを臨時貯蔵する臨時メモリをさらに含む。前記ＲＡＭのデータを前記ＮＡＮＤフラッシュメモリに貯蔵するとき、前記臨時メモリは前記メモリ制御ユニットの制御にしたがって、前記ＲＡＭからのデータを貯蔵し、そのように貯蔵されたデータは前記フラッシュメモリ管理および制御ユニットの制御にしたがって前記ＮＡＮＤフラッシュメモリに出力される。また、前記ＮＡＮＤフラッシュメモリのデータを前記ＲＡＭに貯蔵するとき、前記臨時メモリは前記フラッシュメモリ管理および制御ユニットの制御にしたがって、前記ＮＡＮＤフラッシュメモリからのデータを貯蔵し、そのように貯蔵されたデータは前記メモリ制御ユニットの制御にしたがって前記ＲＡＭに、そして外部に出力される。
【００１６】
本発明の他の特徴によれば、ＮＡＮＤフラッシュメモリと、前記ＮＡＮＤフラッシュメモリのデータを貯蔵するＲＡＭと、前記ＲＡＭと前記ＮＡＮＤフラッシュメモリのアクセスを制御するコントローラとを含み、前記コントローラは、前記ＲＡＭに貯蔵されたデータのメモリアドレス情報のうちのタッグアドレスを貯蔵するメモリと、メモリ要求時入力されたアドレスのうちのタッグアドレスが前記メモリのタッグアドレスと一致するか否かにしたがって第１および第２アクセス命令のうちのいずれか一つを発生するメイン制御ユニットと、前記第１アクセス命令に応答して前記ＲＡＭのアクセス動作を制御するメモリ制御ユニットと、前記第２アクセス命令に応答して前記ＮＡＮＤフラッシュメモリのアクセスを制御するフラッシュメモリ管理および制御ユニットとを含む。
【００１７】
例示的な実施形態において、前記メモリ要求時入力されたメモリアドレスのうちのタッグアドレスが前記メモリのタッグアドレスと一致するとき、前記コントローラは前記ＮＡＮＤフラッシュメモリのアクセスなしに、前記ＲＡＭのデータが外部に出力されるように前記メモリ制御ユニットを制御する。
【００１８】
例示的な実施形態において、前記メモリ要求時入力されたメモリアドレスのうちのタッグアドレスが前記メモリのタッグアドレスと一致しないとき、前記コントローラは前記ＮＡＮＤフラッシュメモリのデータが前記ＲＡＭに、そして外部に出力されるように前記フラッシュメモリ管理および制御ユニットおよび前記メモリ制御ユニットを制御する。
【００１９】
例示的な実施形態において、前記フラッシュメモリ管理および制御ユニットはブロック単位に代えてページ単位に前記フラッシュメモリを管理し、前記ＮＡＮＤフラッシュメモリのページアドレス情報を前記メモリに貯蔵する。
【００２０】
例示的な実施形態において、前記メイン制御ユニットは外部から入力されたデータが前記ＲＡＭに貯蔵されるときごとに前記貯蔵されたデータのタッグアドレスを前記メモリに貯蔵する。
【００２１】
例示的な実施形態において、前記メイン制御ユニットは、前記メモリ要求の時入力されたメモリアドレスのうちのタグアドレスが前記メモリアドレスと一致するとき、前記メモリアドレスを前記ＲＡＭに適するＲＡＭアドレスに変換し、変換されたＲＡＭアドレスを前記ＲＡＭに出力する。
【００２２】
例示的な実施形態において、前記フラッシュメモリ管理および制御ユニットは、前記メモリ要求時入力されたメモリアドレスのうちのタッグアドレスが前記メモリのタッグアドレスと一致しないとき、前記メモリアドレスを前記ＮＡＮＤフラッシュメモリに適したＮＡＮＤアドレスに変換する。
【００２３】
例示的な実施形態において、前記フラッシュメモリ管理および制御ユニットは前記ＮＡＮＤフラッシュメモリのアクセスされたページと関連した情報を前記メモリに貯蔵する。
【００２４】
例示的な実施形態において、前記ＮＡＮＤフラッシュメモリのアクセスされたページが欠陥ページであるとき、前記フラッシュメモリ管理および制御ユニットは欠陥ページ情報を前記メモリに貯蔵する。また、前記フラッシュメモリ管理および制御ユニットは前記ＮＡＮＤフラッシュメモリをアクセスするとき、前記欠陥ページに代えて他のページが選択されるように設定されたページアドレステーブルを含む。前記ＲＡＭに新しいデータが書き込まれるとき、前記メイン制御ユニットは前記ＲＡＭに新しいデータが貯蔵されたか否かを示す有効アドレス情報を前記メモリに貯蔵する。前記フラッシュメモリ管理および制御ユニットは、更新動作が要求されるとき、前記メモリの有効アドレス情報を参照してＮＡＮＤアドレスを発生する。
【００２５】
例示的な実施形態において、前記コントローラは前記ＮＡＮＤフラッシュメモリで読み出されたデータを臨時貯蔵する臨時メモリをさらに含む。前記ＲＡＭのデータを前記ＮＡＮＤフラッシュメモリに貯蔵するとき、前記臨時メモリは前記メモリ制御ユニットの制御にしたがって、前記ＲＡＭからのデータを貯蔵し、そのように貯蔵されたデータは前記フラッシュメモリ管理および制御ユニットの制御にしたがって前記ＮＡＮＤフラッシュメモリに出力される。また、前記ＮＡＮＤフラッシュメモリのデータを前記ＲＡＭに貯蔵するとき、前記臨時メモリは前記フラッシュメモリ管理および制御ユニットの制御にしたがって前記ＮＡＮＤフラッシュメモリからのデータを貯蔵し、そのように貯蔵されたデータは前記メモリ制御ユニットの制御にしたがって前記ＲＡＭに、そして外部に出力される。
【発明の効果】
【００２６】
メモリ要求がホストシステムから入ってくるとき、ＮＡＮＤフラッシュメモリが常にアクセスされるのではなく、ＲＡＭに要求されるデータが存在するか否かにしたがってアクセスされる。これはＮＡＮＤフラッシュメモリに貯蔵されたデータを読み出すための別途のモード(ｄｅｍａｎｄ ｐａｇｉｎｇ ｍｏｄｅ)が不要であることを意味する。すなわち、ホストシステムのソフトウェア負担が減る。また、不要にＲＡＭの全体にＮＡＮＤフラッシュメモリのデータを貯蔵しなくても良いので、効率的なメモリ管理が可能である。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の例示的な実施形態を参照図面に基づいて詳細に説明する。
【００２８】
本発明によるメモリシステムを概略的に示すブロック図が図１に示されている。図１において、本発明のメモリシステム１００は単一チップ(ａ ｓｉｎｇｌｅ ｃｈｉｐ)、マルチチップモジュール(ｍｕｌｔｉ−ｃｈｉｐ ｍｏｄｕｌｅ)、およびそのようなもののうちのいずれか一つで実現されることができる。例えば、本発明のメモリシステム１００はパーソナルコンピュータ(ｐｅｒｓｏｎａｌ ｃｏｍｐｕｔｅｒ)、移動電子装置(ｍｏｂｉｌｅ ｅｌｅｃｔｒｏｎｉｃ ｄｅｖｉｃｅ)、例えば、移動電話機(ｍｏｂｉｌｅ ｐｈｏｎｅ)、デジカメ(ｄｉｇｉｔａｌ ｃａｍｅｒａ)、またはゲームマシン(ｇａｔｅ ｍａｃｈｉｎｅ)のような電子装置(ホストシステム)で形成されたカードスロット(ｃａｒｄ ｓｌｏｔ)に挿入されることができるメモリカード(ｍｅｍｏｒｙ ｃａｒｄ)として使われることができる。しかし、本発明によるメモリシステム１００がこれらに限らないことはこの分野の通常の知識を習得した者などに自明である。図１に示したように、本発明によるメモリシステム１００はコントローラ(ｃｏｎｔｒｏｌｌｅｒ)１１０、ＲＡＭ１２０、不揮発性メモリ(ｎｏｎｖｏｌａｔｉｌｅ ｍｅｍｏｒｙ)１３０、およびバス１４０を含む。
【００２９】
コントローラ１１０はＲＡＭ１２０と不揮発性メモリ１３０とを制御する。コントローラ１１０はＲＡＭ１２０に貯蔵されたデータのタッグアドレス情報を貯蔵するのに必要なメモリ１１００を含む。メモリ１１００は、例えば、ＳＲＡＭ、内容住所化メモリ(ｃｏｎｔｅｎｔ ａｄｄｒｅｓｓ ｍｅｍｏｒｙ: ＣＡＭ)、またはこれと同一の種類のもので実現されることができる。不揮発性メモリ１３０はＮＡＮＤフラッシュメモリを含む。コントローラ１１０はホストシステムから供給される命令を解釈し、メモリ１１００に貯蔵されたアドレス情報および解釈された命令に従ってＲＡＭ１２０および／または不揮発性メモリ１３０を制御する。これは以後詳細に説明する。ホストシステムは、例えば、パーソナルコンピューターであり、図１のメモリシステム１００が挿入されるようにするカードスロットを含む。ＲＡＭ１２０はホストシステムによって少なくとも一回参照されたデータを貯蔵するのに使用され、参照されたデータのアドレス情報は先に言及されたように、コントローラ１１０内のメモリ１１００に貯蔵される。
【００３０】
本発明のメモリシステム１００によれば、ホストシステムからメモリ要求が入ってくるごとに不揮発性メモリ１３０がアクセスされない。すなわち、不揮発性メモリ１３０のデータは必要の状況でのみアクセスされる。例えば、もしホストシステムによって要求されたデータがＲＡＭ１２０に貯蔵されていれば、不揮発性メモリ１３０のアクセスなしにＲＡＭ１２０に貯蔵されたデータがホストシステムに伝送される。もしホストシステムによって要求されたデータがＲＡＭ１２０に貯蔵されていなければ、不揮発性メモリ１３０がコントローラ１１０の制御にしたがってアクセスされる。不揮発性メモリ１３０から出力されたデータはホストシステムに伝送されると同時にＲＡＭ１２０に貯蔵される。前に説明された動作はコントローラ１１０内のメモリ１１００に貯蔵されたアドレス情報に基づいて実行されるであろう。したがって、別途のモードおよび装置ドライバなしに不揮発性メモリ１３０をアクセスすることが可能である。
【００３１】
図２は本発明の例示的な実施形態による図１に示したコントローラを概略的に示すブロック図である。図２において、ＲＡＭ１２０はＤＲＡＭであり、不揮発性メモリ１３０はＮＡＮＤフラッシュメモリであると仮定すれば、図２を参照すれば、本発明によるコントローラ１１０はメモリ１１００、ホストインターフェースユニット(ｈｏｓｔ ｉｎｔｅｒｆａｃｅ ｕｎｉｔ)１２００、メイン制御ユニット(ｍａｉｎ ｃｏｎｔｒｏｌ ｕｎｉｔ)１３００、メモリ制御ユニット(ｍｅｍｏｒｙ ｃｏｎｔｒｏｌ ｕｎｉｔ)１４００、フラッシュメモリ管理および制御ユニット(ｆｌａｓｈ ｍｅｍｏｒｙ ｍａｎａｇｅｍｅｎｔ ａｎｄ ｃｏｎｔｒｏｌ ｕｎｉｔ)１５００、臨時メモリ(ｔｅｍｐｅｒａｒｙ ｍｅｍｏｒｙ)１６００、およびデータラッチ(ｄａｔａ ｌａｔｃｈ)１７００を含む。
【００３２】
メモリ１１００はＲＡＭ１２０に貯蔵されたデータのアドレス情報(例えば、タッグアドレス情報)を貯蔵する。さらに、メモリ１１００はＮＡＮＤフラッシュメモリ１３０のページアドレス情報(例えば、欠陥ページ情報)を貯蔵する。メモリ１１００はタッグアドレス情報およびページアドレス情報を貯蔵するための貯蔵領域１１０１とヒット／ミス検出器１１０２を含む。貯蔵領域１１０１には、また、有効ビット情報(ｖａｌｉｄ ｂｉｔ ｉｎｆｏｒｍａｔｉｏｎ)が貯蔵され、有効ビット情報はホストインターフェースユニット１２００を通じてホストシステムから伝送されたメモリアドレスＸＡＤＤによって指定されるＲＡＭ１２０の所定領域に新しいデータが貯蔵されたか否かを示す。ヒット／ミス検出器１１０２はメモリアドレスのうちタッグアドレスが貯蔵領域１１０１に貯蔵されたタッグアドレスと一致するか否かを検出し、その検出結果をメイン制御ユニット１３００に出力する。タッグアドレス情報および有効ビット情報はメイン制御ユニット１３００の制御にしたがって貯蔵領域１１０１に貯蔵されるであろう。
【００３３】
メイン制御ユニット１３００はホストインターフェースユニット１２００を通じてホストシステムから伝送されたメモリ要求が読み出し／書き込み／ライトバック動作(ｒｅａｄ／ｗｒｉｔｅ／ｗｒｉｔｅ−ｂａｃｋ ｏｐｅｒａｔｉｏｎ)を示すか否かを判別する。メイン制御ユニット１３００は判別結果およびメモリ１１００からのヒット／ミス検出結果にしたがってメモリ１１００、メモリ制御ユニット１４００、およびフラッシュメモリ管理および制御ユニット１５００を制御する。これは以後詳細に説明する。メイン制御ユニット１３００はホストインターフェースユニット１２００を通じてホストシステムから伝送されたメモリアドレスＸＡＤＤをＲＡＭ１２０に適するＲＡＭアドレスＲＡＤＤに変換する。そのように変換されたＲＡＭアドレスはメモリ制御ユニット１４００に供給される。
【００３４】
メモリ制御ユニット１４００はＲＡＭアドレスＲＡＤＤとともに読み出し命令がメイン制御ユニット１３００から入力されるとき、ＲＡＭ１２０の読み出し／書き込み動作を制御する。例えば、読み出し命令が入力されるとき、メモリ制御ユニット１４００は制御信号およびアドレスをＲＡＭ１２０に出力する。よく知られた方法にしたがって、ＲＡＭ１２０の読み出し動作が実行され、読み出し動作にしたがって書き込まれたデータはデータラッチ１７００に臨時貯蔵され、データラッチ１７００に貯蔵されたデータはメイン制御ユニット１３００の制御にしたがってホストインターフェースユニット１２００を通じてホストシステムに出力されるであろう。書き込み命令が入力されるとき、メモリ制御ユニット１４００は制御信号およびアドレスをＲＡＭ１２０に出力し、ＲＡＭ１２０に書き込まれるデータはデータラッチ１７００からＲＡＭ１２０に供給される。この分野の通常の知識を習得した者などによってよく理解されることができるように、ＲＡＭ１２０に貯蔵されるデータはホストシステムからデータラッチ１７００に伝送されるであろう。または、書き込み命令が入力されるとき、メモリ制御ユニット１４００は制御信号およびアドレスをＲＡＭ１２０に出力し、ＲＡＭ１２０に書き込まれるデータはメモリ制御ユニット１４００の制御にしたがって臨時メモリ１６００からＲＡＭ１２０に供給されるであろう。この時、臨時メモリ１６００のデータはＮＡＮＤフラッシュメモリ１３０から読み出されたデータである。
【００３５】
フラッシュメモリ管理および制御ユニット１５００は、メイン制御ユニット１３００からフラッシュアクセス情報が入力されれば、アクセス情報にしたがってＮＡＮＤフラッシュメモリ１３０のアクセス動作を制御する。例えば、フラッシュ読み出し情報がユニット１３００から入力されれば、フラッシュメモリ管理および制御ユニット１５００はホストシステムからのメモリアドレスをＮＡＮＤアドレスに変換し、読み出し命令とともに変換されたＮＡＮＤアドレスを決められたタイミングにしたがってＮＡＮＤフラッシュメモリ１３０に出力する。所定時間が経過した後(または、選択されたページからデータを感知するのに必要な時間が経過した後)、ＮＡＮＤフラッシュメモリ１３０から出力されるデータはフラッシュメモリ管理および制御ユニット１５００の制御にしたがって臨時メモリ１６００に貯蔵される。臨時メモリ１６００に貯蔵されたデータはメモリ制御ユニット１４００の制御にしたがってＲＡＭ１２０に貯蔵されるであろう。これと同時に、フラッシュメモリ管理および制御ユニット１５００はＮＡＮＤフラッシュメモリ１３０から出力されるデータにエラーがあるか否かを判別する。書き込まれたデータにエラーがある場合、フラッシュメモリ管理および制御ユニット１５００はエラーがあるデータのページ情報(これは“欠陥ページ情報”と呼ばれる)をメモリ１１００に貯蔵する。フラッシュメモリ管理および制御ユニット１５００は欠陥ページ情報にしたがってページアドレスを再調整し、その結果、欠陥ページは他のページ(例えば、欠陥ページの次のページ)に取り替えられるであろう。以後、欠陥ページに対するアクセス要求時、欠陥ページに代えて取り替えられたページが指定されるであろう。
【００３６】
図３は本発明の例示的な実施形態による図２に示したメモリシステムの読み出しおよび書き込み動作を説明するための動作タイミング図である。
【００３７】
図３を参照すれば、ホストシステムからメモリ要求が入ってくると(Ｓ１００)、メイン制御ユニット１３００はメモリ要求が読み出し動作であるか、書き込み動作であるかを判別する(Ｓ１１０)。もし読み出し動作が要求されれば、段階(Ｓ１２０)に進行する。段階(Ｓ１２０)において、ホストシステムから伝送されたメモリアドレスの一部がメモリ１１００の貯蔵領域内のタッグアドレスと一致するか否かが検出される。もし一致すれば、段階(Ｓ１４０)に進行し、段階(Ｓ１４０)ではＲＡＭ１２０に貯蔵されたデータがホストシステムに伝送されるであろう。さらに具体的に、メイン制御ユニット１３００はメモリアドレスをＲＡＭアドレスに変換し、メモリ制御ユニット１４００に読み出し命令とともにＲＡＭアドレスを出力する。メモリ制御ユニット１４００は入力された読み出し命令およびＲＡＭアドレスをＲＡＭ１２０に伝達する。したがって、ＲＡＭ１２０は入力された読み出し命令およびアドレスにしたがって読み出し動作を実行し、ＲＡＭ１２０で読み出されたデータはデータラッチ１７００およびインターフェースユニット１２００を通じてホストシステムに伝達されるであろう。
【００３８】
段階(Ｓ１２０)でミス情報がメイン制御ユニット１３００に入力されれば、段階(Ｓ１３０)に進行し、段階(Ｓ１３０)ではフラッシュメモリ管理および制御ユニット１５００の制御にしたがってＮＡＮＤフラッシュメモリからデータが読み出され、そのように読み出されたデータはＲＡＭ１２０に貯蔵されるであろう。さらに具体的に説明すれば、次のとおりである。フラッシュメモリ管理および制御ユニット１５００はメモリアドレスをＮＡＮＤアドレスに変換し、変換されたアドレスとともに読み出し命令を決められたタイミングにしたがってＮＡＮＤフラッシュメモリ１３０に出力する。ここで、フラッシュメモリ管理および制御ユニット１５００はページアドレステーブルを参照して(または、メモリ１１００に貯蔵されたページ情報を参照して)メモリアドレスをＮＡＮＤアドレスに変換する。所定時間が経過した後、ＮＡＮＤフラッシュメモリ１３０から出力されるデータはフラッシュメモリ管理および制御ユニット１５００の制御にしたがって臨時メモリ１６００に貯蔵される。臨時メモリ１６００に貯蔵されたデータはメモリ制御ユニット１４００の制御にしたがってＲＡＭ１２０に貯蔵されるであろう。これと同時に、ＮＡＮＤフラッシュメモリ１３０から読み出されたデータはデータラッチ１７００およびホストインターフェースユニット１２００を通じてホストシステムに出力される。以後、段階(Ｓ１４０)に進行する。
【００３９】
再び、段階(Ｓ１１０)に戻ると、もしメモリ要求が書き込み動作に判別されれば、段階(Ｓ１６０)に進行する。段階(Ｓ１６０)において、ホストシステムから伝送されたメモリアドレスの一部がメモリ１１００の貯蔵領域内のタッグアドレスと一致するか否かが検出される。もし一致すれば、段階(Ｓ１８０)に進行し、段階(Ｓ１８０)ではホストシステムから伝達されたデータがＲＡＭ１２０に貯蔵されるであろう。さらに具体的に、メイン制御ユニット１３００はメモリアドレスをＲＡＭアドレスに変換し、メモリ制御ユニット１４００に書き込み命令とともにＲＡＭアドレスを出力する。メモリ制御ユニット１４００は入力された書き込み命令およびＲＡＭアドレスをＲＡＭ１２０に伝達する。これと同時に、ホストシステムから伝達されたデータはホストインターフェースユニット１２００とデータラッチ１７００を通じてＲＡＭ１２０に伝達するであろう。入力された書き込み命令およびアドレスにしたがってデータがＲＡＭ１２０に貯蔵されるであろう。その次に、段階(Ｓ１５０)に進行する。
【００４０】
もし段階(Ｓ１６０)で、ミス情報がメイン制御ユニット１３００に入力されれば、段階(Ｓ１７０)に進行し、段階(Ｓ１７０)ではフラッシュメモリ管理および制御ユニット１５００の制御にしたがってＮＡＮＤフラッシュメモリからデータが読み出され、そのように読み出されたデータはＲＡＭ１２０に貯蔵されるであろう。さらに具体的に説明すれば、次のとおりである。フラッシュメモリ管理および制御ユニット１５００はメモリアドレスをＮＡＮＤアドレスに変換し、変換されたアドレスとともに読み出し命令を決められたタイミングにしたがってＮＡＮＤフラッシュメモリ１３０に出力する。所定時間が経過した後、ＮＡＮＤフラッシュメモリ１３０から出力されるデータはフラッシュメモリ管理および制御ユニット１５００の制御にしたがって臨時メモリ１６００に貯蔵される。臨時メモリ１６００に貯蔵されたデータはメモリ制御ユニット１４００の制御にしたがってＲＡＭ１２０に貯蔵されるであろう。その次に、段階Ｓ１８０ではホストシステムから伝達されたデータはホストインターフェースユニット１２００とデータラッチ１７００を通じてＲＡＭ１２０に伝達され、メモリ制御ユニット１４００の制御にしたがってＲＡＭ１２０に貯蔵されるであろう。
【００４１】
前の動作が完了した後、段階(Ｓ１５０)ではメモリ１１００を更新する動作が実行される。メモリ１１００の貯蔵領域１１０１にはタッグアドレス情報とともにタッグアドレスに対応するＲＡＭ１２０の所定領域に新しいデータが貯蔵されたことを示す有効ビット情報が貯蔵される。または、ページアドレステーブルのページアドレス情報がメモリ１１００に貯蔵されるであろう。
【００４２】
前の説明によれば、メモリ要求がホストシステムから入ってくるとき、ＮＡＮＤフラッシュメモリ１３０が常にアクセスされるのではなく、ＲＡＭ１２０に要求されるデータが存在するか否かにしたがってアクセスされる。これはＮＡＮＤフラッシュメモリ１３０に貯蔵されたデータを読み出すための別途のモード(ｄｅｍａｎｄ ｐａｇｉｎｇ ｍｏｄｅ)が不要であることを意味する。すなわち、ホストシステムのソフトウエア負担が減る。また、不要にＲＡＭ１２０の全体にＮＡＮＤフラッシュメモリ１３０のデータを貯蔵しなくても良いので、効率的なメモリ管理が可能である。
【００４３】
ＲＡＭ１２０にデータが新しく書き込まれる場合、ＮＡＮＤフラッシュメモリ１３０はＲＡＭ１２０に貯蔵された新しいデータに更新されなければならない。本発明によるメモリシステムの更新動作を説明するための流れ図が図４に示されている。本発明によるメモリシステムの更新動作が以下、参照図面に基づいて詳細に説明されるであろう。更新動作はホストシステムで要求されるごとに実行される。また、システムバスが使用されない間、メイン制御ユニット１３００の制御にしたがって更新動作が実行されることができる。本明細書ではホストシステムによって要求される更新動作が説明されるであろう。前の説明のように、ＲＡＭ１２０の所定領域(例えば、ＮＡＮＤフラッシュメモリのページデータが貯蔵される領域)に新しいデータが貯蔵されたか否かを示す有効ビット情報がメモリ１１００に貯蔵される。更新動作はメモリ１１００に貯蔵された有効ビット情報に基づいて実行される。
【００４４】
先に、更新要求が入ってくると、メイン制御ユニット１３００は更新命令をフラッシュメモリ管理および制御ユニット１５００に出力する。フラッシュメモリ管理および制御ユニット１５００はメモリ１１００に貯蔵されたページ情報および有効ビット情報を順次に参照してＮＡＮＤフラッシュメモリ１３０の選択されるページが更新されるページであるか否かを判別する。もし選択されるページが更新されるページであれば、選択されるページを含むＮＡＮＤフラッシュメモリ１３０のメモリブロックが消去される(Ｓ２２０)。メモリブロックが消去された後、消去されたメモリブロックに欠陥ページが存在するか否かが判別される(Ｓ２３０)。もし欠陥ページが存在すれば、フラッシュメモリ管理および制御ユニット１５００はページアドレスを再調整した後、図５に示したように、ページアドレステーブルを修正する(Ｓ２４０)。その次に、段階(Ｓ２５０)に進行する。もし段階(Ｓ２３０)で欠陥ページがなければ、段階(Ｓ２５０)に進行する。段階(Ｓ２５０)ではフラッシュメモリ管理および制御ユニット１５００はメモリ１１００の有効ビット情報を利用してＮＡＮＤアドレスを生成する。フラッシュメモリ管理および制御ユニット１５００はＮＡＮＤアドレス、プログラムＲＡＭ命令、および一連のデータをＮＡＮＤフラッシュメモリ１３０に出力し、ＮＡＮＤフラッシュメモリ１３０に提供されたデータはよく知られたプログラム方法にしたがって貯蔵されるであろう(Ｓ２６０)。ＮＡＮＤフラッシュメモリ１３０に伝達されるデータはページデータであり、前に説明されたような方法を通じてＲＡＭ１２０から提供される。フラッシュメモリ管理および制御ユニット１５００はページアドレステーブルに貯蔵されたページアドレス情報をメモリ１１００に貯蔵する(Ｓ１７０)。以後、前に説明された更新動作はすべての有効ビット情報が参照されるまで繰り返して実行されるであろう。
【００４５】
以上で、本発明による回路の構成および動作を上述の説明および図面にしたがって図示したが、これは例をあげて説明したに過ぎず、本発明の技術的思想および範囲を逸脱しない範囲内で多様な変化および変更が可能であることはもちろんである。
【図面の簡単な説明】
【００４６】
【図１】本発明によるメモリシステムを概略的に示すブロック図である。
【図２】本発明の例示的な実施形態による図１に示したコントローラを概略的に示すブロック図である。
【図３】本発明の例示的な実施形態による図２に示したメモリシステムの読み出しおよび書き込み動作を説明するための動作タイミング図である。
【図４】本発明によるメモリシステムの更新動作を説明するための流れ図である。
【図５】フラッシュメモリ管理および制御ユニットのページアドレステーブルとＮＡＮＤフラッシュメモリの物理的なページ番号との間の関係を示す図面である。
【符号の説明】
【００４７】
１００  メモリシステム
１１０  コントローラ
１２０  ＲＡＭ
１３０  不揮発性メモリ
【図１】
2005235182.tif 000003
【図２】
2005235182.tif 000004
【図３】
2005235182.tif 000005
【図４】
2005235182.tif 000006
【図５】
2005235182.tif 000007