(57)【要約】【課題】従来に比して消費電力を低減することができるメモリシステムを提供する。【解決手段】実施形態によれば、メモリシステムは、複数のメモリチップを有する不揮発性メモリと、それぞれのメモリチップに設けられるスイッチと、メモリコントローラと、を備える。メモリコントローラは、当該メモリシステムへの電源がオン状態に変わった場合に、すべてのスイッチをオンにする。また、メモリコントローラは、メモリチップに保存されたデータが最後にアクセスされてからの経過時間をメモリチップごとに示すアクセス状態情報を参照して、経過時間が判定閾値未満であるホットデータがないメモリチップがあるかを判定する。そして、メモリコントローラは、判定の結果、ホットデータがないとされた第１メモリチップに接続される第１スイッチをオフにし、第１スイッチ以外のスイッチをオンにしたままとする指示を与える。【選択図】図１
2020047001.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリチップを有する不揮発性メモリと、
それぞれの前記メモリチップに設けられ、前記メモリチップへの電源のオンとオフとを切り替える複数のスイッチと、
前記不揮発性メモリへのデータのアクセスを制御するメモリコントローラと、
を備え、
前記メモリコントローラは、
当該メモリシステムへの電源がオン状態に変わった場合に、すべての前記スイッチをオンにし、
前記メモリチップに保存されたデータが最後にアクセスされてからの経過時間を前記メモリチップごとに示すアクセス状態情報を参照して、前記経過時間が判定閾値未満であるホットデータがないメモリチップがあるかを判定し、
判定の結果、前記ホットデータがないとされた第１メモリチップに接続される第１スイッチをオフにし、前記第１スイッチ以外のスイッチをオンにしたままとする指示を与える
メモリシステム。
【請求項２】
前記アクセス状態情報は、前記経過時間を前記不揮発性メモリの管理単位の大きさの管理単位領域ごとに示す情報であり、
前記メモリコントローラは、前記アクセス状態情報中の前記経過時間を前記判定閾値と比較して前記ホットデータであるか否かを判定する処理を、前記管理単位領域ごとに実行し、判定の結果に基づいて、それぞれの前記メモリチップについて前記ホットデータの有無を判定する請求項１に記載のメモリシステム。
【請求項３】
前記メモリコントローラは、
前記アクセス状態情報におけるそれぞれの前記管理単位領域に保存されたデータの経過時間を更新し、
それぞれの前記管理単位領域に保存されたデータの前記経過時間が前記判定閾値よりも長いコールドデータであるかを判定し、
前記コールドデータを前記第１メモリチップに移動するとともに、移動前に前記コールドデータが保存されていた第２メモリチップでの前記コールドデータを無効化し、
前記コールドデータの移動後の位置を前記アクセス状態情報に反映する請求項２に記載のメモリシステム。
【請求項４】
前記メモリコントローラは、前記第１スイッチをオフにした後、前記第１スイッチを所定の期間だけオンにする処理を、所定の周期で実行する請求項１から３のいずれか１つに記載のメモリシステム。
【請求項５】
前記メモリコントローラは、
Ｎを２以上の整数とし、ｉを１以上Ｎ以下の整数とし、前記判定閾値以降の時間を前記判定閾値に近い順に第１期間から第Ｎ期間まで分類した時に、前記経過時間が第ｉ期間に属するデータを第ｉメモリチップに保存し、
第ｉスイッチをオフにした後、ｉが大きくなるほどオンにする期間を短くして前記第ｉスイッチをオンにする処理を、所定の周期で実行する請求項１から３のいずれか１つに記載のメモリシステム。
【請求項６】
前記不揮発性メモリ内にはデータの消去の単位である物理ブロックが複数存在し、
前記メモリコントローラは、１つの前記メモリチップに存在する複数の前記物理ブロックをまとめて論理ブロックとする請求項１から５のいずれか１つに記載のメモリシステム。
【請求項７】
前記スイッチは、前記メモリチップの外部に設けられる請求項１から６のいずれか１つに記載のメモリシステム。
【請求項８】
前記スイッチは、前記メモリチップの内部に設けられる請求項１から６のいずれか１つに記載のメモリシステム。
【請求項９】
複数のメモリチップを有する不揮発性メモリと、
それぞれの前記メモリチップに設けられ、前記メモリチップへの電源のオンとオフとを切り替える複数のスイッチと、
前記不揮発性メモリへのデータのアクセスを制御するメモリコントローラと、
を備え、
前記メモリコントローラは、
前記不揮発性メモリに保存されたデータが最後にアクセスされてからの経過時間が判定閾値より長いデータを第１メモリチップに保存し、
前記不揮発性メモリの管理単位の大きさの管理単位領域ごとに前記経過時間を登録したアクセス状態情報中の各レコードについて、前記経過時間を更新し、前記経過時間と前記判定閾値とを比較し、前記経過時間が前記判定閾値より長い場合にコールドデータと登録する処理を実行し、
前記データが前記コールドデータである場合に移動対象情報に登録し、
前記移動対象情報に登録されたデータを前記第１メモリチップに移動し、
移動した前記データについての前記アクセス状態情報を更新し、
当該メモリシステムへの電源がオン状態に変わった場合に、すべての前記スイッチをオンにし、
前記アクセス状態情報を参照して、前記第１メモリチップに接続される第１スイッチをオフにし、前記第１スイッチ以外のスイッチをオンのままとする指示を与える
メモリシステム。
【請求項１０】
前記メモリコントローラは、
前記経過時間と前記判定閾値との比較処理で、前記経過時間が前記判定閾値より短い場合に前記レコードにホットデータと登録し、
前記移動対象情報の登録では、前記第１メモリチップに保存されたデータが前記ホットデータである場合に前記移動対象情報に登録し、
前記データの移動では、前記移動対象情報に登録された前記コールドデータを前記第１メモリチップに移動し、前記ホットデータを前記第１メモリチップ以外のメモリチップに移動する請求項９に記載のメモリシステム。
【請求項１１】
前記メモリコントローラは、
前記データの移動では、移動元のメモリチップから前記移動対象情報に登録された前記データを読み出し、読み出した前記データを移動先のメモリチップに書き込み、その後に、前記移動元のメモリチップに保存された前記データを無効化する請求項１０に記載のメモリシステム。
【請求項１２】
前記メモリコントローラは、前記第１スイッチをオフにした後、前記第１スイッチを所定の期間だけオンにする処理を、所定の周期で実行する請求項９から１１のいずれか１つに記載のメモリシステム。
【請求項１３】
前記メモリコントローラは、
前記データの移動では、Ｎを２以上の整数とし、ｉを１以上Ｎ以下の整数とし、前記判定閾値以降の時間を前記判定閾値に近い順に第１期間から第Ｎ期間まで分類した時に、前記経過時間が第ｉ期間に属するデータを第ｉメモリチップに移動し、
前記スイッチへの指示では、第ｉスイッチをオフにした後、ｉが大きくなるほどオンにする期間を短くして前記第ｉスイッチをオンにする処理を、所定の周期で実行する請求項９から１１のいずれか１つに記載のメモリシステム。
【請求項１４】
前記メモリコントローラは、
前記アクセス状態情報中の前記各レコードについての登録処理で、前記経過時間が前記判定閾値より短い場合に、ホットデータであることを示す情報をさらに登録し、
前記スイッチへの指示では、前記アクセス状態情報に前記ホットデータがないメモリチップがあるかを判定し、前記ホットデータがないメモリチップを前記第１メモリチップとする請求項９から１３のいずれか１つに記載のメモリシステム。
【請求項１５】
前記メモリコントローラは、
前記スイッチへの指示では、前記アクセス状態情報中の前記経過時間を前記判定閾値と比較して、前記経過時間が前記判定閾値より短い場合にホットデータであると判定する処理を、前記管理単位領域ごとに実行し、判定の結果に基づいて、それぞれの前記メモリチップについて前記ホットデータの有無を判定し、前記ホットデータがないメモリチップを前記第１メモリチップとする請求項９から１３のいずれか１つに記載のメモリシステム。
【請求項１６】
前記不揮発性メモリ内にはデータの消去の単位である物理ブロックが複数存在し、
前記メモリコントローラは、１つの前記メモリチップに存在する複数の前記物理ブロックをまとめて論理ブロックとする請求項１０から１５のいずれか１つに記載のメモリシステム。
【請求項１７】
前記スイッチは、前記メモリチップの外部に設けられる請求項１０から１６のいずれか１つに記載のメモリシステム。
【請求項１８】
前記スイッチは、前記メモリチップの内部に設けられる請求項１０から１６のいずれか１つに記載のメモリシステム。
【請求項１９】
当該メモリシステムへの電源がオン状態に変わった場合に、不揮発性メモリ内に複数存在するメモリチップのそれぞれに設けられ、前記メモリチップへの電源のオンとオフとを切り替えるすべてのスイッチをオンにし、
前記メモリチップに保存されたデータが最後にアクセスされてからの経過時間が判定閾値未満であるホットデータの有無を前記メモリチップごとに示すアクセス状態情報を参照して、前記ホットデータがない第１メモリチップに接続される第１スイッチをオフにし、前記第１スイッチ以外のスイッチをオンにしたままとする指示を与える
メモリシステムの制御方法。
【請求項２０】
不揮発性メモリに保存されたデータが最後にアクセスされてからの経過時間が判定閾値より長いデータを第１メモリチップに保存し、
前記不揮発性メモリの管理単位の大きさの管理単位領域ごとに前記経過時間を登録したアクセス状態情報中の各レコードについて、前記経過時間を更新し、前記経過時間と前記判定閾値とを比較し、前記経過時間が前記判定閾値より長い場合にコールドデータと登録する処理を実行し、
前記データが前記コールドデータである場合に移動対象情報に登録し、
前記移動対象情報に登録されたデータを前記第１メモリチップに移動し、
移動した前記データについての前記アクセス状態情報を更新し、
当該メモリシステムへの電源がオン状態に変わった場合に、すべてのスイッチをオンにし、
前記アクセス状態情報を参照して、前記第１メモリチップに接続される第１スイッチをオフにし、前記第１スイッチ以外のスイッチをオンのままとする指示を与える
メモリシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリシステムおよびその制御方法に関する。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリ（以下、ＮＡＮＤメモリという）を記憶媒体に用いたメモリシステムでは、メモリ空間を無駄なく活用するために有効データを集め、不要データを消去するガベージコレクションが行われている。
【０００３】
メモリシステムでは、さらなる消費電力の低減が望まれている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−４９５２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の一つの実施形態は、従来に比して消費電力を低減することができるメモリシステムおよびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一つの実施形態によれば、メモリシステムは、複数のメモリチップを有する不揮発性メモリと、それぞれのメモリチップに設けられ、メモリチップへの電源のオンとオフとを切り替える複数のスイッチと、不揮発性メモリへのデータのアクセスを制御するメモリコントローラと、を備える。メモリコントローラは、当該メモリシステムへの電源がオン状態に変わった場合に、すべてのスイッチをオンにする。また、メモリコントローラは、メモリチップに保存されたデータが最後にアクセスされてからの経過時間をメモリチップごとに示すアクセス状態情報を参照して、経過時間が判定閾値未満であるホットデータがないメモリチップがあるかを判定する。そして、メモリコントローラは、判定の結果、ホットデータがないとされた第１メモリチップに接続される第１スイッチをオフにし、第１スイッチ以外のスイッチをオンにしたままとする指示を与える。
【図面の簡単な説明】
【０００７】
【図１】図１は、第１の実施形態によるメモリシステムの構成の一例を模式的に示す図である。
【図２】図２は、各ＮＡＮＤチップの構成の一例を模式的に示す図である。
【図３】図３は、各物理ブロックの構成の一例を模式的に示す図である。
【図４】図４は、第１の実施形態による物理ブロックと論理ブロックとの関係を模式的に示す図である。
【図５】図５は、アクセス状態情報の一例を示す図である。
【図６】図６は、移動対象情報の一例を示す図である。
【図７】図７は、第１の実施形態によるメモリシステムでのアクセス状態管理処理の手順の一例を示すフローチャートである。
【図８】図８は、第１の実施形態によるメモリシステムでのデータ移動処理の手順の一例を示すフローチャートである。
【図９】図９は、第１の実施形態によるデータ移動処理の一例を示す図である。
【図１０】図１０は、第１の実施形態によるデータ移動処理の一例を示す図である。
【図１１】図１１は、第１の実施形態による電源管理処理の手順の一例を示すフローチャートである。
【図１２】図１２は、第１の実施形態によるメモリシステムに電源が投入された時のＮＡＮＤチップのスイッチの制御の様子を示すタイミングチャートである。
【図１３】図１３は、第２の実施形態によるメモリシステムに電源が投入された時のＮＡＮＤチップのスイッチの制御の様子を示すタイミングチャートである。
【図１４】図１４は、第３の実施形態によるデータ移動処理の一例を模式的に示す図である。
【図１５】図１５は、第３の実施形態によるメモリシステムに電源が投入された時のＮＡＮＤチップのスイッチの制御の様子を示すタイミングチャートである。
【図１６】図１６は、第４の実施形態によるメモリシステムの構成の一例を示す図である。
【図１７】図１７は、第４の実施形態によるＮＡＮＤチップ内のスイッチ制御回路の構成の一例を模式的に示すブロック図である。
【図１８】図１８は、電源投入回数とチップイネーブル信号立下りエッジ回数との比較による電源制御の一例を示す図である。
【図１９】図１９は、比較回路に設定される電源制御の一例を示す図である。
【図２０】図２０は、スイッチ制御回路による処理の一例を示すタイミングチャートである。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、実施形態にかかるメモリシステムおよびその制御方法を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
【０００９】
（第１の実施形態）
図１は、第１の実施形態によるメモリシステムの構成の一例を模式的に示す図である。メモリシステム１は、通信路３を介してホスト２に接続される。ホスト２はコンピュータである。コンピュータは、例えば、パーソナルコンピュータ、ポータブルコンピュータ、または、携帯通信機器を含む。メモリシステム１は、ホスト２の外部記憶装置として機能する。通信路３のインタフェース規格としては任意の規格が採用可能である。
【００１０】
メモリシステム１は、メモリコントローラ１０と、記憶媒体として用いられるＮＡＮＤメモリ２０と、ＲＡＭ（Random  Access  Memory）３０と、を備える。
【００１１】
ＮＡＮＤメモリ２０は、２以上のＮＡＮＤメモリチップ（以下、ＮＡＮＤチップという）２１によって構成される。ここでは、ＮＡＮＤメモリ２０は、４つのＮＡＮＤチップ２１−１〜２１−４を備える。
【００１２】
図２は、各ＮＡＮＤチップの構成の一例を模式的に示す図である。各ＮＡＮＤチップ２１は、それぞれメモリセルアレイ２３を備える。メモリセルアレイ２３は、複数のメモリセルがマトリクス状に配列されることによって構成される。メモリセルアレイ２３は、複数の物理ブロック２５を含む。各ＮＡＮＤチップ２１には、図示しない周辺回路（例えば、ロウデコーダ、カラムデコーダ、ページバッファ、データキャッシュ等）が設けられる。
【００１３】
物理ブロック２５は、ＮＡＮＤチップ２１における消去の単位である。図３は、各物理ブロックの構成の一例を模式的に示す図である。各物理ブロック２５は、複数の物理ページ２７を備える。物理ページ２７は、ＮＡＮＤチップ２１における書き込みおよび読み出しの単位である。各物理ページ２７は、それぞれページ番号で識別される。
【００１４】
ＮＡＮＤメモリ２０を構成する４つのＮＡＮＤチップ２１−１〜２１−４は、それぞれ、４つのチャネルＣＨ１〜ＣＨ４の何れかを介してメモリコントローラ１０に接続されている。これによって、メモリコントローラ１０は、各チャネルＣＨ１〜ＣＨ４を個別に制御することができる。
【００１５】
各チャネルＣＨ１〜ＣＨ４は、Ｉ／Ｏ信号線および制御信号線を含む配線群によって構成される。制御信号線には、チップイネーブル信号線、チップセレクト信号線などが含まれる。また、第１の実施形態では、制御信号線には、ＮＡＮＤチップ２１−１〜２１−４への電源の供給のオン／オフを切り替えるスイッチ５２−１〜５２−４の制御を行うスイッチ制御線５１−１〜５１−４が設けられる。スイッチ制御線５１−１〜５１−４は、図１で他の信号線と区別して個別に示されている。スイッチ制御線５１−１〜５１−４は、それぞれのＮＡＮＤチップ２１−１〜２１−４に設けられるスイッチ５２−１〜５２−４に接続される。なお、スイッチ制御線５１−１〜５１−４は、ＮＡＮＤチップ２１−１〜２１−４でのコマンドを受け付け可能な状態の切り替えを行うチップイネーブル信号線、あるいはＮＡＮＤチップ２１−１〜２１−４の選択を行うチップセレクト信号線で構成されるようにしてもよい。
【００１６】
４つのＮＡＮＤチップ２１−１〜２１−４には、ホストＩ／Ｆ１２を介してホスト２と接続される電源線５５が接続される。それぞれの電源線５５には、ＮＡＮＤチップ２１−１〜２１−４への電源の供給のオン／オフを切り替えるスイッチ５２−１〜５２−４が設けられる。スイッチ５２−１〜５２−４は、例えばロードスイッチによって構成される。また、スイッチ５２−１〜５２−４は、上記したスイッチ制御線５１−１〜５１−４を介するメモリコントローラ１０からの指示に従って、オン／オフを切り替える。なお、第１の実施形態では、スイッチ５２−１〜５２−４は、ＮＡＮＤチップ２１−１〜２１−４の外部に設けられればよい。そのため、図１では、スイッチ５２−１〜５２−４は、ＮＡＮＤメモリ２０内に設けられている場合が示されているが、ＮＡＮＤメモリ２０の外部、すなわちメモリコントローラ１０とＮＡＮＤメモリ２０との間に配置されていてもよい。
【００１７】
ＲＡＭ３０は、メモリコントローラ１０がＮＡＮＤメモリ２０に対するアクセスを行うための管理情報を記憶する。また、ＲＡＭ３０は、ホスト２とＮＡＮＤメモリ２０との間のデータ転送のためのバッファとしてメモリコントローラ１０によって使用される。さらに、ＲＡＭ３０は、ファームウェアプログラムがロードされるバッファとしても使用される。
【００１８】
メモリコントローラ１０は、ホスト２からの書き込みコマンド（書き込みの要求）に基づいてＮＡＮＤメモリ２０を制御してデータを書き込ませる。また、メモリコントローラ１０は、ホスト２からの読み出しコマンド（読み出しの要求）に基づいてＮＡＮＤメモリ２０を制御してデータを読み出させる。メモリコントローラ１０は、ＣＰＵ（Central  Processing  Unit）１１、ホストインタフェース（以下、ホストＩ／Ｆという）１２、ＲＡＭコントローラ１３およびＮＡＮＤコントローラ１４を備える。ＣＰＵ１１、ホストＩ／Ｆ１２、ＲＡＭコントローラ１３およびＮＡＮＤコントローラ１４は、バスで互いに接続されている。
【００１９】
ホストＩ／Ｆ１２は、通信路３の制御を実行する。また、ホストＩ／Ｆ１２は、ホスト２からのコマンド（要求）を受け付ける。さらに、ホストＩ／Ｆ１２は、ホスト２とＲＡＭ３０との間のデータ転送を実行する。ＲＡＭコントローラ１３は、ＲＡＭ３０を制御する。ＮＡＮＤコントローラ１４は、ＲＡＭ３０とＮＡＮＤメモリ２０との間のデータ転送を実行する。ＣＰＵ１１は、ファームウェアプログラムに基づいてメモリコントローラ１０全体の制御を実行する処理部として機能する。
【００２０】
メモリコントローラ１０は、１つのＮＡＮＤチップ２１内の複数の物理ブロックをまとめて論理ブロックとして管理する。すなわち、本実施形態では、論理ブロックは、異なるＮＡＮＤチップ２１の物理ブロック２５が含まれないように構成される。図４は、第１の実施形態による物理ブロックと論理ブロックとの関係を模式的に示す図である。ここでは、説明の簡略化のために、各ＮＡＮＤチップ２１−１〜２１−４は、１２個の物理ページ２７で構成されるものとする。また、それぞれの物理ページ２７は、ページ番号で識別される。図４では、それぞれのＮＡＮＤチップ２１−１〜２１−４の物理ページ２７に「ページ番号１」、「ページ番号２」、・・・、「ページ番号１２」と付している。
【００２１】
各ＮＡＮＤチップ２１−１〜２１−４では、ページ番号１〜ページ番号３で示される物理ページ２７で物理ブロック２５−１１，２５−２１，２５−３１，２５−４１が構成される。同様に、ページ番号４〜ページ番号６で示される物理ページ２７で物理ブロック２５−１２，２５−２２，２５−３２，２５−４２が構成され、ページ番号７〜ページ番号９で示される物理ページ２７で物理ブロック２５−１３，２５−２３，２５−３３，２５−４３が構成され、ページ番号１０〜ページ番号１２で示される物理ページ２７で物理ブロック２５−１４，２５−２４，２５−３４，２５−４４が構成される。そして、各ＮＡＮＤチップ２１−１〜２１−４では、４つの物理ブロックで１つの論理ブロック７０−１〜７０−４が構成される。例えば、ＮＡＮＤチップ２１−１では、４つの物理ブロック２５−１１〜２５−１４で１つの論理ブロック７０−１が構成される。他のＮＡＮＤチップ２１−２〜２１−４でも同様である。
【００２２】
第１の実施形態では、複数のＮＡＮＤチップ２１−１〜２１−４のうち、低頻度にアクセスされるデータであるコールドデータを保存するＮＡＮＤチップが予め設定される。後に説明するように、このＮＡＮＤチップには、他のＮＡＮＤチップに存在するコールドデータが集められる。ここでは、ＮＡＮＤチップ２１−４がコールドデータを保存するＮＡＮＤチップであるとする。また、以下では、コールドデータを保存するＮＡＮＤチップ２１−４を、コールドデータ保存用ＮＡＮＤチップという。なお、以下では、ＮＡＮＤチップを特定しない場合には、ＮＡＮＤチップ２１と表記する。
【００２３】
第１の実施形態では、メモリコントローラ１０は、アクセス状態管理処理、データ移動処理、および電源管理処理を実行する。アクセス状態管理処理では、メモリコントローラ１０は、各ＮＡＮＤチップ２１の管理単位の大きさの管理単位領域ごとのアクセス状態をアクセス状態情報として管理する。管理単位は、物理ページ単位、物理ブロック単位、論理ブロック単位あるいはＮＡＮＤチップ単位など、任意の大きさとすることができる。以下の説明では、管理単位が物理ページ単位である場合を例に挙げる。
【００２４】
具体的には、アクセス状態管理処理では、メモリコントローラ１０は、定期的にまたはメモリシステム１の電源がオフにされる前に、ＮＡＮＤメモリ２０内の物理ページごとに、最後にアクセスされた時刻からの経過時間を更新する。また、メモリコントローラ１０は、この時、物理ページごとに保存されたデータがコールドデータかを、判定閾値を用いて判定し、コールドデータである場合には、データ移動処理の対象であるデータ移動対象情報にコールドデータを含む物理ページの位置を示す識別情報を登録する。識別情報として、例えばＮＡＮＤチップ２１の識別番号と物理ページ２７のページ番号との組み合わせを用いることができる。
【００２５】
図５は、アクセス状態情報の一例を示す図である。アクセス状態情報は、ＮＡＮＤメモリ２０内での各物理ページ２７について、最後にアクセス要求のあったタイミングから経過した経過時間を記録した情報である。アクセス要求は、たとえばリード要求である。図５の例では、アクセス状態情報は、識別情報と、識別情報で識別されるページ番号に最後にアクセスされた時刻と、最後にアクセスされた時刻からの経過時間と、を含む。識別情報は、例えばＮＡＮＤチップ２１の識別情報と、物理ページを識別するページ番号と、の組み合わせを用いることができる。また、アクセス状態情報は、このほかに、高頻度にアクセスされるデータであるホットデータを示すホットデータフラグ、コールドデータを示すコールドデータフラグ、および空きページを示す空きページフラグを含んでいてもよい。なお、データがホットデータであるかまたはコールドデータであるかを判定する判定閾値は、任意に設定することができる。図５では、コールドデータであると判定する判定閾値が２５００時間である場合を例に挙げている。なお、アクセス状態情報中での１つの識別情報、最後にアクセスされた時刻、経過時間、ホットデータフラグ、コールドデータフラグおよび空きページフラグのデータの組を、以下ではレコードという。
【００２６】
図６は、移動対象情報の一例を示す図である。移動対象情報は、アクセス状態管理処理で、コールドデータと判定されたデータまたはコールドデータだったデータがホットデータとなったデータを移動対象として管理する情報である。移動対象情報は、コールドデータ保存用ＮＡＮＤチップへの移動対象となったコールドデータ、またはコールドデータ保存用ＮＡＮＤチップに保存されたデータでアクセスされて移動対象となったホットデータが含まれる物理ページの位置を示す識別情報を含む。識別情報として、ＮＡＮＤチップ２１の識別情報と、物理ページを識別するページ番号と、の組み合わせを用いることができる。また、移動対象情報は、識別情報で示される物理ページに保存されるデータがコールドデータであるのか、ホットデータであるのかを示す情報も含む。図６の例では、移動対象のデータがコールドデータである場合にフラグが立てられるコールドデータフラグと、移動対象のデータがホットデータである場合にフラグが立てられるホットデータフラグと、を含む。アクセス状態情報と移動対象情報とは、メモリコントローラ１０によって使用される場合にＲＡＭ３０に記憶され、メモリシステム１の電源がオフにされる場合に、ＮＡＮＤメモリ２０へと保存される。
【００２７】
データ移動処理では、メモリシステム１がアイドル状態のとき、あるいはメモリシステム１の電源がオフにされる時に、メモリコントローラ１０は、移動対象情報に登録されたデータを移動する。移動対象情報で、コールドデータフラグが立てられたデータについては、メモリコントローラ１０は、移動対象情報中の識別情報で特定されるＮＡＮＤチップの物理ページからデータを読み出し、コールドデータ保存用ＮＡＮＤチップ２１−４に読み出したデータを書き込むとともに、異動元のデータを無効化する。また、移動対象情報でホットデータフラグが立てられたデータについては、メモリコントローラ１０は、移動対象情報中の識別情報で特定されるコールドデータ保存用ＮＡＮＤチップ２１−４の物理ページからデータを読み出し、コールドデータ保存用ＮＡＮＤチップ２１−４以外のＮＡＮＤチップに読み出したデータを書き込むとともに、異動元のデータを無効化する。このデータ移動処理によって、コールドデータ保存用ＮＡＮＤチップ２１−４には、コールドデータのみが含まれることになる。
【００２８】
電源管理処理では、メモリシステム１の起動時に、メモリコントローラ１０は、アクセス状態情報を参照して、ホットデータのないＮＡＮＤチップが存在する場合に、ホットデータのないＮＡＮＤチップに設けられるスイッチをオフにする。データ移動処理が一度以上行われている場合には、ホットデータのないＮＡＮＤチップがコールドデータ保存用ＮＡＮＤチップ２１−４となる。なお、メモリシステム１の起動後にコールドデータ保存用ＮＡＮＤチップ２１−４に対するアクセスが生じた場合には、メモリコントローラ１０は、コールドデータ保存用ＮＡＮＤチップ２１−４に設けられるスイッチをオンにする。
【００２９】
これによって、メモリシステム１の起動後に、読み出し頻度が低いコールドデータがまとめられたＮＡＮＤチップ２１−４には電源の供給が行われないので、メモリシステム１の消費電力を抑えることができる。
【００３０】
つぎに、このようなメモリシステム１における処理について説明する。以下では、（１）アクセス状態管理処理、（２）データ移動処理、および（３）電源管理処理について説明する。
【００３１】
（１）アクセス状態管理処理
図７は、第１の実施形態によるメモリシステムでのアクセス状態管理処理の手順の一例を示すフローチャートである。まず、メモリコントローラ１０は、メモリシステム１の電源がオフにされるかまたは所定の時間になったかを判定する（ステップＳ１１）。メモリシステム１の電源は、例えばホスト２からの要求によってオフにされる。そのため、ホスト２からの電源をオフにする要求を受信したかを判定することによって、メモリコントローラ１０は、メモリシステム１の電源がオフにされるかを判定することができる。なお、メモリシステム１の電源がオフにされる場合として、完全にメモリシステム１の電源がオフにされる場合、あるいはメモリシステム１がスリープ状態に移行する場合を含む。また、所定の時間は、予め定められた日時でもよいし、あるいは前回のアクセス状態管理処理から予め定められた時間が経過した日時でもよい。
【００３２】
電源がオフにされないかまたは所定の時間ではない場合（ステップＳ１１でＮｏの場合）には、処理が終了する。また、電源がオフにされる場合または所定の時間になった場合（ステップＳ１１でＹｅｓの場合）には、メモリコントローラ１０は、ＮＡＮＤメモリ２０から１つの物理ページを選択する（ステップＳ１２）。メモリコントローラ１０は、選択した物理ページが空きページであるかを判定する（ステップＳ１３）。
【００３３】
選択した物理ページが空きページではない場合（ステップＳ１３でＮｏの場合）には、メモリコントローラ１０は、物理ページに保存されるデータについて、アクセス状態情報中の対応するレコードの経過時間を更新する（ステップＳ１４）。また、メモリコントローラ１０は、更新した経過時間から、選択した物理ページに保存されたデータはコールドデータであるかを判定する（ステップＳ１５）。具体的には、メモリコントローラ１０は、更新した経過時間を、コールドデータであるかを判定する判定閾値と比較する。メモリコントローラ１０は、更新した経過時間が判定閾値よりも大きい場合には、判定対象のデータはコールドデータであると判定し、逆に更新した経過時間が判定閾値よりも短い場合には、判定対象のデータはホットデータであると判定する。
【００３４】
判定対象のデータがコールドデータである場合（ステップＳ１５でＹｅｓの場合）には、メモリコントローラ１０は、さらにその判定対象のデータはコールドデータ保存用ＮＡＮＤチップ２１−４内のデータであるかを判定する（ステップＳ１６）。判定対象のデータがコールドデータ保存用ＮＡＮＤチップ２１−４内のデータではない場合（ステップＳ１６でＮｏの場合）には、判定対象のデータは移動対象のデータとなる。その結果、メモリコントローラ１０は、アクセス状態情報中の対応するレコードにコールドデータフラグを立てるとともに（ステップＳ１７）、移動対象情報に登録する（ステップＳ１８）。移動対象情報には、例えば図６に示されるようにＮＡＮＤチップ２１および物理ページ２７のページ番号を含む識別情報と、移動対象のデータがコールドデータであることを示す情報と、が登録される。
【００３５】
また、ステップＳ１５で、判定対象のデータがコールドデータではない場合（ステップＳ１５でＮｏの場合）、すなわちホットデータである場合には、メモリコントローラ１０は、さらにその判定対象のデータはコールドデータ保存用ＮＡＮＤチップ２１−４内のデータであるかを判定する（ステップＳ１９）。判定対象のデータがコールドデータ保存用ＮＡＮＤチップ２１−４内のデータである場合（ステップＳ１９でＹｅｓの場合）には、判定対象のデータは移動対象のデータとなる。その結果、メモリコントローラ１０は、アクセス状態情報中の対応するレコードにホットデータフラグを立てるとともに（ステップＳ２０）、移動対象情報に登録する（ステップＳ２１）。移動対象情報には、例えば図６に示されるようにＮＡＮＤチップ２１および物理ページ２７のページ番号を含む識別情報と、移動対象のデータがホットデータであることを示す情報と、が登録される。
【００３６】
また、ステップＳ１３で選択した物理ページが空きページである場合（ステップＳ１３でＹｅｓの場合）には、アクセス状態情報中の対応するレコードに空きページフラグを立てる（ステップＳ２２）。
【００３７】
その後、ステップＳ１８の後、ステップＳ２１の後、ステップＳ１６で判定対象のデータはコールドデータ保存用ＮＡＮＤチップ２１−４内である場合（ステップＳ１６でＹｅｓの場合）、あるいはステップＳ１９で判定対象のデータはコールドデータ保存用ＮＡＮＤチップ２−１４内ではない場合（ステップＳ１９でＮｏの場合）には、メモリコントローラ１０は、ＮＡＮＤメモリ２０内のすべての物理ページを処理したかを判定する（ステップＳ２３）。すべての物理ページを処理していない場合（ステップＳ２３でＮｏの場合）には、ステップＳ１２へと戻る。すべての物理ページを処理した場合（ステップＳ２３でＹｅｓの場合）には、アクセス状態管理処理が終了する。
【００３８】
（２）データ移動処理
図８は、第１の実施形態によるメモリシステムでのデータ移動処理の手順の一例を示すフローチャートである。まず、データ移動処理は、例えば図７のアクセス状態管理処理で移動対象情報に移動対象が登録された場合、あるいはメモリシステム１の電源がオフにされる前に実行される。メモリコントローラ１０は、データ移動処理のタイミングになると、移動対象情報から１つの移動対象を取得する（ステップＳ３１）。ついで、メモリコントローラ１０は、移動対象のデータが保存ざれている識別情報、すなわちＮＡＮＤチップ２１と物理ページ２７のページ番号とを取得する（ステップＳ３２）。
【００３９】
その後、メモリコントローラ１０は、取得したＮＡＮＤチップ２１と物理ページ２７のページ番号とを用いて、ＮＡＮＤメモリ２０から移動対象のデータを読み込む（ステップＳ３３）。また、メモリコントローラ１０は、移動対象情報から移動対象のデータがコールドデータであるかを判定する（ステップＳ３４）。コールドデータである場合（ステップＳ３４でＹｅｓの場合）には、メモリコントローラ１０は、読み込んだデータをコールドデータ保存用ＮＡＮＤチップ２１−４に書き込む（ステップＳ３５）。また、コールドデータではない場合（ステップＳ３４でＮｏの場合）、すなわちホットデータである場合には、メモリコントローラ１０は、コールドデータ保存用ＮＡＮＤチップ２１−４ではないＮＡＮＤチップ２１にデータを書き込む（ステップＳ３６）。
【００４０】
その後またはステップＳ３５の後、メモリコントローラ１０は、ステップＳ３３で取得したＮＡＮＤチップ２１と物理ページ２７のページ番号に保存されていたデータを無効化する（ステップＳ３７）。また、メモリコントローラ１０は、移動したデータについてアクセス状態情報を更新する（ステップＳ３８）。メモリコントローラ１０は、アクセス状態情報中で、移動後のデータが保存された物理ページを識別する識別情報に対応するレコードには、経過時間が登録される。コールドデータの移動の場合には、経過時間は移動後のレコードに引き継がれる。一方、ホットデータの移動の場合には、経過時間はリセットされる。
【００４１】
ついで、メモリコントローラ１０は、移動対象情報に他の移動対象があるかを判定する（ステップＳ３９）。他の移動対象がある場合（ステップＳ３９でＮｏの場合）には、ステップＳ３１に戻り、他の移動対象がない場合（ステップＳ３９でＹｅｓの場合）には、データ移動処理が終了する。
【００４２】
図９と図１０は、第１の実施形態によるデータ移動処理の一例を示す図である。アクセス状態管理処理の結果、図９の例に示される結果が得られたものとする。すなわち、ＮＡＮＤチップ２１−１の物理ブロック２５−１２，２５−１３、ＮＡＮＤチップ２１−２の物理ブロック２５−２２、ＮＡＮＤチップ２１−３の物理ブロック２５−３１，２５−３３の物理ページは、すべてホットデータが保存されている物理ページ（以下、ホットデータページともいう）となっている。また、ＮＡＮＤチップ２１−１のページ番号２，１１の物理ページ、ＮＡＮＤチップ２１−２のページ番号８，１１の物理ページ、ＮＡＮＤチップ２１−３のページ番号１０，１２の物理ページは、すべてコールドデータ２７１ａ〜２７１ｆが保存されている物理ページ（以下、コールドデータページともいう）となっている。その他の物理ページは空きページとなっている。
【００４３】
ＮＡＮＤチップ２１−４がコールドデータ保存用ＮＡＮＤチップとされるので、コールドデータ２７１ａ〜２７１ｆは、ＮＡＮＤチップ２１−４へと移動される。すなわち、メモリコントローラ１０は、ＮＡＮＤチップ２１−１のページ番号２の物理ページからデータ２７１ａを読み出し、ＮＡＮＤチップ２１−４のページ番号１の物理ページに書き込み、その後、ＮＡＮＤチップ２１−１のページ番号２の物理ページを無効化する。データ２７１ｂ〜２７１ｆについても同様にＮＡＮＤチップ２１−４への書き込みが行われた後、それぞれの移動元の物理ページが無効化される。この結果が図１０に示されている。これによって、ＮＡＮＤチップ２１−４には、コールドデータページと空きページのみが含まれることになる。
【００４４】
（３）電源管理処理
図１１は、第１の実施形態による電源管理処理の手順の一例を示すフローチャートである。まず、メモリコントローラ１０は、メモリシステム１の電源がオン状態に切り替わったかを判定する（ステップＳ５１）。メモリシステム１の電源がオン状態に切り替わっていない場合（ステップＳ５１でＮｏの場合）には、処理が終了する。また、メモリシステム１の電源がオン状態に切り替わった場合（ステップＳ５１でＹｅｓの場合）には、メモリコントローラ１０は、すべてのＮＡＮＤチップ２１−１〜２１−４に接続されるスイッチ５２−１〜５２−４をオンにする（ステップＳ５２）。
【００４５】
ついで、メモリコントローラ１０は、ＮＡＮＤメモリ２０からアクセス状態情報をＲＡＭ３０に読み出す（ステップＳ５３）。メモリコントローラ１０は、アクセス状態情報を参照して、ホットデータページがないＮＡＮＤチップ２１があるかを判定する（ステップＳ５４）。図５のアクセス状態情報はホットデータフラグを含むので、メモリコントローラ１０は、ホットデータフラグが立っていないＮＡＮＤチップ２１があるかを判定する。また、ホットデータフラグを含まないアクセス状態情報の場合には、アクセス状態情報中の各レコードについて、経過時間と判定閾値とを比較してホットデータページであるか否かを判定し、その結果、ホットデータページがないＮＡＮＤチップ２１があるかを判定する。
【００４６】
ホットデータページがないＮＡＮＤチップ２１がある場合（ステップＳ５４でＹｅｓの場合）には、メモリコントローラ１０は、ホットデータページがないＮＡＮＤチップ２１に接続されるスイッチ５２をオフにし、他のＮＡＮＤチップ２１に接続されるスイッチ５２をオンのままとする（ステップＳ５５）。一方、ホットデータページがないＮＡＮＤチップ２１がない場合（ステップＳ５４でＮｏの場合）には、メモリコントローラ１０は、すべてのＮＡＮＤチップ２１に接続されるスイッチ５２をオンのままとする（ステップＳ５６）。その後、またはステップＳ５５の後、電源管理処理が終了する。
【００４７】
図１２は、第１の実施形態によるメモリシステムに電源が投入された時のＮＡＮＤチップのスイッチの制御の様子を示すタイミングチャートである。この図で横軸は、時間を示している。メモリシステム１の電源が時刻ｔ１でオンにされ、時刻ｔ２で、メモリコントローラ１０は、スイッチ制御線５１−１〜５１−４を介して、スイッチ５２−１〜５２−４をオンにする。その後、時刻ｔ３で、メモリコントローラ１０は、アクセス状態情報の参照を完了し、スイッチ制御線５１−４を介して、ホットデータページがないＮＡＮＤチップ２１−４に接続されるスイッチ５２−４をオフにする。これによって、ホットデータページがないＮＡＮＤチップ２１−４は、その後、オフとされる。なお、ホットデータページがないＮＡＮＤチップ２１−４へのアクセスがあると、ＮＡＮＤチップ２１−４に電源が投入される。
【００４８】
第１の実施形態では、ＮＡＮＤチップ２１−１〜２１−４に、電源のオンとオフとを切り替えるスイッチ５２−１〜５２−４が設けられ、論理ブロック７０−１〜７０−４が１つのＮＡＮＤチップ２１−１〜２１−４内の物理ブロック２５を用いて構成される。各ＮＡＮＤチップ２１−１〜２１−４の物理ページの最後にアクセスされてからの経過時間がアクセス状態情報として管理され、経過時間が判定閾値を超えたものがコールドデータとして、移動対象情報に登録される。所定のタイミングで、移動対象情報に登録されたコールドデータがコールドデータ保存用ＮＡＮＤチップ２１−４に集められ、保存される。そして、メモリシステム１の電源がオンにされた時に、メモリコントローラ１０は、アクセス状態情報を参照して、ホットデータページがないＮＡＮＤチップ２１がある場合には、このＮＡＮＤチップ２１に接続されるスイッチ５２をオフにして、このＮＡＮＤチップ２１への電源の供給を止めるようにした。これによって、すべてのＮＡＮＤチップ２１が常時オンの状態にされる場合に比して、１個分のＮＡＮＤチップ２１の消費電力をオフにする時間が得られる。その結果、従来に比して消費電力の低減を実現することができる。
【００４９】
（第２の実施形態）
第１の実施形態では、ホットデータページがないＮＡＮＤチップの電源をオフにしていた。ホットデータページがないＮＡＮＤチップへのアクセス要求は非常に低いと考えられるが、アクセス要求が来る可能性はゼロではない。第１の実施形態では、ホットデータページがないＮＡＮＤチップへのアクセス要求を受けてからスイッチをオンにすることになるため、実際にアクセスできるまで、遅延が生じてしまう。
【００５０】
第２の実施形態では、メモリコントローラ１０は、電源管理処理時に、ホットデータページがないＮＡＮＤチップのスイッチ５２−４のオンとオフとを所定のタイミングで繰り返すように制御する。なお、ＮＡＮＤチップ２１へのデータの保存の仕方は第１の実施形態の場合と同じである。
【００５１】
図１３は、第２の実施形態によるメモリシステムに電源が投入された時のＮＡＮＤチップのスイッチの制御の様子を示すタイミングチャートである。この図で横軸は、時間を示している。時刻ｔ３までの処理は、図１２と同様である。その後、メモリコントローラ１０は、所定の周期Ｔ１で、スイッチ制御線５１−４を介して、期間ａだけスイッチ５２−４をオンにする。所定の周期Ｔ１内でのスイッチ５２−４をオンにする期間ａを以下では、オンデューティという。メモリコントローラ１０は、このスイッチ５２−４のオンとオフとの切り替えを繰り返し行う。これによって、スイッチ５２−４がオンになっている間にホットデータページがないＮＡＮＤチップ２１−４へのアクセス要求を受けた場合は、アクセス要求に対する処理を遅延なく処理することができる。また、アクセス要求を受けるのは、スイッチ５２−４がオンになっている期間とオフになっている期間とのうちのいずれかであるが、平均すると第１の実施形態の場合に比して、アクセス要求を受けてから実際にアクセスできるまでの遅延を減少させることができる。
【００５２】
第２の実施形態では、メモリシステム１の電源をオンにした場合に、ホットデータページがないＮＡＮＤチップ２１−４に接続されるスイッチ５２−４をオフにした後、メモリコントローラ１０が、所定の周期で電源のオンとオフとが繰り返されるようにスイッチ５２−４を制御する。これによって、ホットデータページがないＮＡＮＤチップ２１−４へのアクセス要求を、電源がオンの時にまたは電源がオフの時に受けることになるが、アクセス要求を受けてから実際にアクセスできるまでの平均した時間を、第１の実施形態の場合に比して短くすることができるという効果を有する。
【００５３】
（第３の実施形態）
第１および第２の実施形態では、複数のＮＡＮＤチップのうち、最後にアクセスされてからの経過時間が判定閾値を超えるコールドデータを１つのＮＡＮＤチップに集めて保存していた。すなわち、コールドデータであるか否かの判定を１つの判定閾値を用いて行っていた。第３の実施形態では、判定閾値を２つ以上に細分化し、最後にアクセスされてからの経過時間を判定閾値を基に分類し、コールドデータの経過時間の長さに応じて保存先のＮＡＮＤチップを異ならせる場合を説明する。第３の実施形態のメモリシステムも、第１の実施形態で説明したものと同様の構成を有する。
【００５４】
第３の実施形態では、メモリコントローラ１０は、２つの判定閾値Ｍ，Ｎ（Ｍ＜Ｎ）を用いて、コールドデータの分類を行う。図１４は、第３の実施形態によるデータ移動処理の一例を模式的に示す図である。メモリコントローラ１０は、データ移動処理の際に、最後にアクセスされてからの経過時間がＮ以上の場合のコールドデータ２７１ａ〜２７１ｃをＮＡＮＤチップ２１−４に集め、最後にアクセスされてからの経過時間がＭ以上Ｎ未満の場合のコールドデータ２７１ｄ〜２７１ｆをＮＡＮＤチップ２１−３に集める。ＮＡＮＤチップ２１−１，２１−２には、ホットデータが保存される。すなわち、第３の実施形態では、ＮＡＮＤチップ２１−３，２１−４がコールドデータ保存用ＮＡＮＤチップとなる。
【００５５】
また、メモリコントローラ１０は、電源管理処理の場合には、コールドデータの種類に応じて、スイッチ５２−１〜５２−４の制御を変えることができる。図１５は、第３の実施形態によるメモリシステムに電源が投入された時のＮＡＮＤチップのスイッチの制御の様子を示すタイミングチャートである。この図で横軸は、時間を示している。時刻ｔ３までの処理は、図１２と同様である。ＮＡＮＤチップ２１−３に保存されるコールドデータは、ＮＡＮＤチップ２１−４に保存されるコールドデータに比して、アクセスされる確率は高いと考えられる。そのため、メモリコントローラ１０は、ＮＡＮＤチップ２１−４に対しては第１の実施形態と同様に、時刻ｔ３の後、ＮＡＮＤチップ２１−４に接続されるスイッチ制御線５１−４を介して、スイッチ５２−４をオフのままとする。一方、メモリコントローラ１０は、ＮＡＮＤチップ２１−３に対しては第２の実施形態のスイッチ制御線５１−４の場合と同様に、時刻ｔ３の後、所定の周期Ｔ１で、スイッチ制御線５１−４を介して、所定の期間だけスイッチ５２−４をオンにする。
【００５６】
このように、よりアクセス要求を受ける可能性が高いＮＡＮＤチップ２１−３への電源の供給については、所定の周期でオンとオフとを繰り返すことによって、アクセス要求を受ける可能性が低いＮＡＮＤチップ２１−４に比して、アクセス要求を受けた時の遅延が少なくなるようにしている。
【００５７】
また、この例では、コールドデータを２種類に細分化する場合を説明したが、３種類以上に細分化してもよい。この場合には、最後にアクセスされてからの経過時間が短いコールドデータが格納されるＮＡＮＤチップ２１ほど、所定の周期Ｔ１でのオンデューティを長くすればよい。
【００５８】
第３の実施形態では、最後にアクセスされてからの経過時間の長さによって、コールドデータを保存するＮＡＮＤチップ２１を分けた。また、最後にアクセスされてからの経過時間が短いコールドデータほど、電源をオフにした後に所定の周期Ｔ１で電源をオンにする際のオンデューティが長くなるようにした。これによって、アクセス要求を受ける可能性がより高いコールドデータについては、アクセス要求を受けた時のレイテンシを短くするとともに、メモリシステム１全体の消費電力を低減することができるという効果を有する。
【００５９】
（第４の実施形態）
図１６は、第４の実施形態によるメモリシステムの構成の一例を示す図である。メモリシステム１は、第１の実施形態の図１と同様の構成を有するが、スイッチ５２−１〜５２−４が、それぞれＮＡＮＤチップ２１−１〜２１−４内に設けられている。メモリコントローラ１０によるスイッチ５２−１〜５２−４の制御は、第１〜第３の実施形態で説明したものと同じである。なお、第１の実施形態の図１と同一の構成要素には同一の符号を付して、その説明を省略している。
【００６０】
図１６では、メモリコントローラ１０によって、ＮＡＮＤチップ２１−１〜２１−４への電源供給の制御が行われるが、メモリコントローラ１０を介さずにスイッチでＮＡＮＤチップ２１−１〜２１−４への電源供給の制御が行われるようにしてもよい。
【００６１】
図１７は、第４の実施形態によるＮＡＮＤチップ内のスイッチ制御回路の構成の一例を模式的に示すブロック図である。スイッチ制御回路９０は、電源投入検出回路９１と、電源投入回数カウンタ９２と、チップイネーブル信号立下りエッジカウンタ（以下、ＣＥ立下りエッジカウンタという）９３と、比較回路９４と、ＯＲゲート回路９５と、スイッチ９６と、を有する。
【００６２】
電源投入検出回路９１は、ＮＡＮＤチップ２１へ供給される電源線５５に接続され、ＮＡＮＤチップ２１への電源の投入を検出する回路である。電源投入検出回路９１は、電源の投入を検出すると電源投入検出信号を電源投入回数カウンタ９２に出力する。
【００６３】
電源投入回数カウンタ９２は、電源投入検出回路９１からの電源投入検出信号を受信する毎に、カウント値を１増加させる。ＣＥ立下りエッジカウンタ９３は、各ＮＡＮＤチップ２１がメモリコントローラ１０からのチップイネーブル信号の立下りを検出すると、カウント値を１増加させる。チップイネーブル信号の立下りは、ＮＡＮＤチップ２１がコマンドを受け付け可能な状態に切り替えられることを示している。
【００６４】
比較回路９４は、電源投入回数カウンタ９２のカウント値と、ＣＥ立下りエッジカウンタ９３のカウント値と、を比較し、比較結果に応じたスイッチ９６の制御を指示するスイッチ制御信号ＣＴＲ＿ＳＷを出力する。図１８は、電源投入回数とチップイネーブル信号立下りエッジ回数との比較による電源制御の一例を示す図である。ここで、電源投入回数をＱとし、チップイネーブル信号立下りエッジ回数をＲとしている。
【００６５】
Ｑ＞Ｒの時には、チップイネーブル信号立下りエッジ回数Ｒは、電源投入回数Ｑよりも少なく、アクセス頻度は少ない。そのため、この場合には、ホスト２からアクセス要求が来るまでオフとする電源制御が行われる。
【００６６】
Ｑ＝Ｒの時には、チップイネーブル信号立下りエッジ回数Ｒは、電源投入回数Ｑと同じであり、この場合もアクセス頻度は少ない。しかし、Ｑ＞Ｒの場合に比して、アクセス頻度は多い。そこで、この場合には、ホスト２からアクセス要求が来るまでオフとするか、あるいは低頻度でオンにする電源制御が行われる。
【００６７】
Ｑ＜Ｒのときは、チップイネーブル信号立下りエッジ回数Ｒは、電源投入回数Ｑよりも多く、通常のアクセス頻度である。そこで、この場合には、ホスト２からアクセス要求が来るまでオフとするか、中頻度でオンにするか、あるいは高頻度でオンにする電源制御が行われる。この場合、Ｒ−Ｑの値によって中頻度と高頻度とが分類される。例えば、Ｒ−Ｑの値が０以上Ａ未満の場合には、中頻度でオンにし、Ｒ−Ｑの値がＡ以上の場合には、高頻度でオンにする。
【００６８】
なお、ここで、例えば図１３でオンとオフの切り替えを行う際のオンデューティａを変えることによって、低頻度、中頻度、高頻度が実現される。すなわち、所定の周期Ｔ１の長さに対して、オンデューティａが短いほど低頻度となり、オンデューティａが長いほど高頻度となる。
【００６９】
図１９は、比較回路に設定される電源制御の一例を示す図である。この例では、回数比較によって４つの電源制御が行えるように設定されている。チップイネーブル信号立下りエッジ回数Ｒが電源投入回数Ｑよりも小さいとき（Ｑ＞Ｒのとき）には、ホスト２からアクセス要求が来るまでオフにする電源制御を行うスイッチ制御信号ＣＴＲ＿ＳＷが出力される。チップイネーブル信号立下りエッジ回数Ｒが電源投入回数Ｑと同じとき（Ｑ＝Ｒのとき）には、低頻度でオンにする電源制御を行うスイッチ制御信号ＣＴＲ＿ＳＷが出力される。チップイネーブル信号立下りエッジ回数Ｒは電源投入回数Ｑよりも多い場合であり、Ｒ−Ｑが０より大きくＡ未満の場合（０＜Ｒ−Ｑ＜Ａのとき）には、中頻度でオンにする電源制御を行うスイッチ制御信号ＣＴＲ＿ＳＷが出力され、Ｒ−ＱがＡより大きい場合（Ｒ−Ｑ＞Ａのとき）には、高頻度でオンにする電源制御を行うスイッチ制御信号ＣＴＲ＿ＳＷが出力される。
【００７０】
ＯＲゲート回路９５は、チップイネーブル信号線からの入力と、比較回路９４からの入力（スイッチ制御信号ＣＴＲ＿ＳＷ）とを用いてスイッチ９６を制御する回路である。ＯＲゲート回路９５は、チップイネーブル信号の立下りエッジを検出すると、比較回路９４からのスイッチ制御信号ＣＴＲ＿ＳＷに関わらず、スイッチ９６をオンにする。一方、チップイネーブル信号の立下りエッジを検出していない場合には、ＯＲゲート回路９５は、比較回路９４からのスイッチ制御信号ＣＴＲ＿ＳＷに応じてスイッチ９６のオンとオフとの制御を行う。
【００７１】
スイッチ９６は、ＮＡＮＤチップ２１に接続される電源線５５に設けられる。スイッチ９６は、ＯＲゲート回路９５の出力にしたがって、ＮＡＮＤチップ２１への電源のオンとオフとを切り替える。
【００７２】
図２０は、スイッチ制御回路による処理の一例を示すタイミングチャートである。ここでは、電源線への電源投入の有無、電源投入検出回路９１で出力される電源投入検出信号、電源投入回数カウンタ９２のカウント値、チップイネーブル信号（／ＣＥ）、ＣＥ立下りエッジカウンタ９３のカウント値、比較回路９４から出力されるスイッチ制御信号ＣＴＲ＿ＳＷの時間による変化の様子を示している。
【００７３】
時刻ｔ１１の時点で、電源投入回数カウンタ９２のカウント値は、ｑ−１回であり、ＣＥ立下りエッジカウンタ９３のカウント値はｒ−２回である。時刻ｔ１１で電源が投入されると、電源投入検出回路９１は時刻ｔ１２で電源の投入を検出したことを示すパルス状の電源投入検出信号を出力する。電源投入回数カウンタ９２は、電源投入検出回路９１からの電源投入検出信号を検知すると、カウント値を１増加させる。これによって、電源投入回数カウンタ９２のカウント値はＱとなる。
【００７４】
その後、時刻ｔ１３でのチップイネーブル信号のエッジの立下りが、ＣＥ立下りエッジカウンタ９３で検出され、チップイネーブル信号立下りエッジ回数がｒ−１となる。比較回路９４には、電源投入回数ｑとチップイネーブル信号立下りエッジ回数ｒ−１とが入力され、チップイネーブル信号立下りエッジ回数ｒ−１と電源投入回数ｑとの差が計算される。ここでは、ｑ≧ｒ−１であるとする。この場合には、図１９より、ホスト２からアクセス要求が来るまでオフになるので、比較回路９４は、スイッチ９６をオフにするスイッチ制御信号ＣＴＲ＿ＳＷを出力する。
【００７５】
その後、時刻ｔ１４で再びチップイネーブル信号のエッジの立下りが、ＣＥ立下りエッジカウンタ９３で検出され、チップイネーブル信号立下りエッジ回数がｒとなる。比較回路９４には、電源投入回数ｑとチップイネーブル信号立下りエッジ回数ｒとが入力され、チップイネーブル信号立下りエッジ回数ｒと電源投入回数ｑとの差が計算される。ここでは、ｒ−ｑ≧０であったとすると、時刻ｔ１５でｒ−ｑの値に応じたスイッチ制御信号ＣＴＲ＿ＳＷが出力される。この場合には、図１９より、例えばｒ−ｑが０の場合には、比較回路９４は低頻度でオンにするスイッチ制御信号ＣＴＲ＿ＳＷを出力する。また、例えば０＜ｒ−ｑ＜Ａの場合には、比較回路９４は中頻度でオンにするスイッチ制御信号ＣＴＲ＿ＳＷを出力する。あるいは、例えばｒ−ｑ≧Ａの場合には、比較回路９４は高頻度でオンにするスイッチ制御信号ＣＴＲ＿ＳＷを出力する。このように、ｒ−ｑの値に応じて予め定められたスイッチ制御信号ＣＴＲ＿ＳＷに基づいて、スイッチ制御回路９０は、スイッチ９６のオンとオフとを切り替える。
【００７６】
第４の実施形態によっても、第１〜第３の実施形態と同様の効果を得ることができる。また、第４の実施形態では、電源投入回数とチップイネーブル信号立下りエッジ回数とを比較し、その比較結果にしたがってスイッチ９６のオンとオフとを切り替えるようにした。これによって、メモリコントローラ１０を介さずに、ＮＡＮＤチップ２１−１〜２１−４への電源の供給を制御することができる。
【００７７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７８】
１  メモリシステム、２  ホスト、３  通信路、１０  メモリコントローラ、１１  ＣＰＵ、１２  ホストＩ／Ｆ、１３  ＲＡＭコントローラ、１４  ＮＡＮＤコントローラ、２０  ＮＡＮＤメモリ、２１，２１−１〜２１−４  ＮＡＮＤチップ、５１，５１−１〜５１−４  スイッチ制御線、５２，５２−１〜５２−４，９６  スイッチ、５５  電源線、９０  スイッチ制御回路、９１  電源投入検出回路、９２  電源投入回数カウンタ、９３  ＣＥ立下りエッジカウンタ、９４  比較回路、９５  ＯＲゲート回路。
【図１】
2020047001.tif 000003
【図２】
2020047001.tif 000004
【図３】
2020047001.tif 000005
【図４】
2020047001.tif 000006
【図５】
2020047001.tif 000007
【図６】
2020047001.tif 000008
【図７】
2020047001.tif 000009
【図８】
2020047001.tif 000010
【図９】
2020047001.tif 000011
【図１０】
2020047001.tif 000012
【図１１】
2020047001.tif 000013
【図１２】
2020047001.tif 000014
【図１３】
2020047001.tif 000015
【図１４】
2020047001.tif 000016
【図１５】
2020047001.tif 000017
【図１６】
2020047001.tif 000018
【図１７】
2020047001.tif 000019
【図１８】
2020047001.tif 000020
【図１９】
2020047001.tif 000021
【図２０】
2020047001.tif 000022