(57)【要約】【課題】ホスト装置からの要求性能に応じて消費電力を変化させることができるメモリシステムを提供すること。【解決手段】ホスト装置２００からの書き込みデータを夫々記憶する、夫々個別にリード／ライトされる並列動作要素１ａ〜１ｄを備えるメモリ１と、複数の並列動作要素１ａ〜１ｄに対してリード／ライトを同時実行する制御部４と、ホスト装置２００からの要求性能を計測する要求性能計測部６と、を備え、制御部４は、要求性能計測部６が計測した要求性能に基づいて並列動作要素１ａ〜１ｄのリード／ライトの同時実行数を変化させる。【選択図】図１
2011203905.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置からの書き込みデータを夫々記憶する、夫々個別にリード／ライトされる並列動作要素を複数備えるメモリと、
前記複数の並列動作要素に対してリード／ライトを同時実行する制御部と、
前記ホスト装置からの要求性能を計測する要求性能計測部と、
を備え、
前記制御部は、前記要求性能計測部が計測した要求性能に基づいて前記並列動作要素のリード／ライトの同時実行数を変化させる、
ことを特徴とするメモリシステム。
【請求項２】
ホスト装置からの書き込みデータを記憶するメモリと、
前記不揮発性のメモリに対してリード／ライトを実行する制御部と、
前記ホスト装置からの要求性能を計測する要求性能計測部と、
周波数の異なる複数種類のクロックを生成するクロック生成系と、
前記複数種類のクロックのうちの１つを選択し、前記選択したクロックを前記メモリおよび前記制御部に供給するクロック選択部と、
を備え、
前記制御部は、前記要求性能計測部が計測した要求性能に基づいて前記複数種類のクロックのうちの１つを指定する選択信号を発行し、
前記クロック選択部は、前記制御部が発行した選択信号に基づいてクロックを選択する、
ことを特徴とするメモリシステム。
【請求項３】
ホスト装置からの書き込みデータを記憶する不揮発性の第１メモリと、
前記書き込みデータをキャッシュする記憶領域を備え、前記記憶領域のリフレッシュ動作を実行する揮発性の第２メモリと、
前記第１メモリと前記第２メモリとの間のデータ転送を制御する制御部と、
前記ホスト装置からの要求性能を計測する要求性能計測部と、
を備え、
前記制御部は、前記要求性能計測部が計測した要求性能に基づいて前記第２メモリに指令して前記記憶領域のうちのリフレッシュ動作対象の領域を変化させる、
ことを特徴とするメモリシステム。
【請求項４】
前記要求性能は、前記ホスト装置からの単位時間当たりの書き込み量および／または前記ホスト装置による単位時間当たりの読み出し量である、ことを特徴とする請求項１〜３のうちの何れか一項に記載のメモリシステム。
【請求項５】
前記要求性能は、前記ホスト装置からの単位時間当たりの書き込み処理のデューティー比および／または前記ホスト装置による単位時間当たりの読み出し処理のデューティー比である、ことを特徴とする請求項１〜３のうちの何れか一項に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリシステムに関する。
【背景技術】
【０００２】
コンピュータシステム（以降、コンピュータ）に用いられるメモリシステムとして、ＮＡＮＤ型フラッシュメモリ（以降、単にＮＡＮＤメモリという）などの不揮発性半導体メモリを搭載したＳＳＤ（Solid  State  Drive）が注目されている。ＳＳＤなどのメモリシステムは、磁気ディスク装置に比べ、高速、軽量などの利点を有している。
【０００３】
一般的に、コンピュータのリード／ライト処理にかかるメモリシステムに対する要求性能は、コンピュータ自身のスペック、ユーザ、ユーザの使用環境により大きく異なる。一方、メモリシステム側では、リード／ライト処理の速度は固定的に設定されている場合が多い。したがって、メモリシステムの仕様のリード／ライト処理の最大値を必要としないユーザにとってはそのメモリシステムはオーバースペックとなり、コンピュータは消費電力等で必ずしも最適な構成でない場合があった。
【０００４】
これに対し、例えば特許文献１には、コンピュータからのコマンドに基づいてリード／ライト処理の速度を変化させることによって所望の消費電流で動作するメモリシステムに関する技術が開示されている。この技術によれば、コンピュータが該コマンドを発行する仕様を備えている必要がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２５１８８８号公報
【特許文献２】特開２００４−２３４７１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、ホスト装置からの要求性能に応じて消費電力を変化させることができるメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願発明の一態様によれば、ホスト装置からの書き込みデータを夫々記憶する、夫々個別にリード／ライトされる並列動作要素を複数備えるメモリと、前記複数の並列動作要素に対してリード／ライトを同時実行する制御部と、前記ホスト装置からの要求性能を計測する要求性能計測部と、を備え、前記制御部は、前記要求性能計測部が計測した要求性能に基づいて前記並列動作要素のリード／ライトの同時実行数を変化させる、ことを特徴とするメモリシステムが提供される。
【０００８】
また、本願発明の一態様によれば、ホスト装置からの書き込みデータを記憶するメモリと、前記不揮発性のメモリに対してリード／ライトを実行する制御部と、前記ホスト装置からの要求性能を計測する要求性能計測部と、周波数の異なる複数種類のクロックを生成するクロック生成系と、前記複数種類のクロックのうちの１つを選択し、前記選択したクロックを前記メモリおよび前記制御部に供給するクロック選択部と、を備え、前記制御部は、前記要求性能計測部が計測した要求性能に基づいて前記複数種類のクロックのうちの１つを指定する選択信号を発行し、前記クロック選択部は、前記制御部が発行した選択信号に基づいてクロックを選択する、ことを特徴とするメモリシステムが提供される。
【０００９】
また、本願発明の一態様によれば、ホスト装置からの書き込みデータを記憶する不揮発性の第１メモリと、前記書き込みデータをキャッシュする記憶領域を備え、前記記憶領域のリフレッシュ動作を実行する揮発性の第２メモリと、前記第１メモリと前記第２メモリとの間のデータ転送を制御する制御部と、前記ホスト装置からの要求性能を計測する要求性能計測部と、を備え、前記制御部は、前記要求性能計測部が計測した要求性能に基づいて前記第２メモリに指令して前記記憶領域のうちのリフレッシュ動作対象の領域を変化させる、ことを特徴とするメモリシステムが提供される。
【発明の効果】
【００１０】
本発明によれば、ホスト装置からの要求性能に応じて消費電力を変化させることができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、第１の実施の形態のＳＳＤの構成を示すブロック図。
【図２】図２は、各モードでの動作タイミングを説明するタイミングチャート。
【図３】図３は、第１の実施の形態のＳＳＤによるモードを変化させる動作を説明するフローチャート。
【図４】図４は、第２の実施の形態のＳＳＤの構成を示すブロック図。
【図５】図５は、第２の実施の形態のＳＳＤによるモードを変化させる動作を説明するフローチャート。
【図６】図６は、第３の実施の形態のＳＳＤの構成を示すブロック図。
【図７】図７は、ＤＲＡＭの構成を説明する図。
【図８】図８は、第３の実施の形態のＳＳＤによるモードを変化させる動作を説明するフローチャート。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、本発明の実施の形態にかかるメモリシステムを詳細に説明する。なお、これらの実施の形態により本発明が限定されるものではない。
【００１３】
（第１の実施の形態）
図１は、本発明の第１の実施の形態にかかるメモリシステムの構成を示すブロック図である。なお、ここでは、メモリシステムの一例としてＳＳＤを取り上げるが、本実施の形態はＳＳＤ以外にも適用することができる。
【００１４】
図１に示すように、ＳＳＤ１００は、パーソナルコンピュータや携帯電話などのホスト装置２００とＳＡＴＡ（Serial  Advanced  Technology  Attachment）規格の通信インタフェース（ＳＡＴＡ  Ｉ／Ｆ）で接続され、ホスト装置２００の外部記憶装置として機能する。
【００１５】
ＳＳＤ１００は、ホスト装置２００からリード／ライトされるデータ（ホスト装置２００からの書き込みデータ）を記憶する不揮発性メモリであるＮＡＮＤメモリ１と、ライトキャッシュ２と、リードキャッシュ３と、ライトキャッシュ２およびリードキャッシュ３とＮＡＮＤメモリ１との間のデータ転送を制御する制御部４と、ホスト装置２００とライトキャッシュ２およびリードキャッシュ３との間のデータ転送を制御するＳＡＴＡインタフェースコントローラ（ＳＡＴＡコントローラ）５と、を備えている。
【００１６】
ライトキャッシュ２は、ホスト装置２００からライトされたデータをキャッシュする。また、リードキャッシュ３は、ＮＡＮＤメモリ１からリードされたデータをキャッシュする。ライトキャッシュ２およびリードキャッシュ３は、例えばＤＲＡＭ（Dynamic  Random  Access  Memory）、ＳＲＡＭ（Static  Random  Access  Memory）、ＦｅＲＡＭ（Ferroelectric  Random  Access  Memory）などによって構成される。
【００１７】
ホスト装置２００から書き込み要求された場合、ホスト装置２００から送られてきたデータはＳＡＴＡコントローラ５によっていったんライトキャッシュ２に書き込まれる。ライトキャッシュ２に書き込まれたこのデータは所定のタイミングで制御部４によってＮＡＮＤメモリ１へ書き込まれる。ホスト装置２００から読み出し要求された場合で、読み出し要求されたデータがリードキャッシュ３にキャッシュされていたとき、ＳＡＴＡコントローラ５によってこのデータがリードキャッシュ３から読み出されてホスト装置２００へ送信される。読み出し要求されたデータがリードキャッシュ３にキャッシュされていなかったとき、読み出し要求されたデータは、制御部４によってＮＡＮＤメモリ１から読み出され、いったんリードキャッシュ３に保持される。そして、リードキャッシュ３に保持された前記読み出し要求されたデータは、ＳＡＴＡコントローラ５によって読み出されてホスト装置２００へ送信される。
【００１８】
ＮＡＮＤメモリ１は、夫々並列に動作する複数（ここでは４つ）の並列動作要素１ａ〜１ｄを有している。また、制御部４は、ＭＰＵ４２と、ＮＡＮＤコントローラ４１ａ〜４１ｄとを備えている。ＮＡＮＤコントローラ４１ａ〜４１ｄは、夫々個別の信号線群（チャネルｃｈ０〜ｃｈ３）を介して並列動作要素１ａ〜１ｄに夫々接続されており、ＭＰＵ４２からのリードコマンド／ライトコマンドに基づいて並列動作要素１ａ〜１ｄに対して夫々独立にリード／ライトする。
【００１９】
例えば、ライトキャッシュ２に書き込まれているデータを並列動作要素１ａに書き込む場合、ＭＰＵ４２は、該データが書き込まれているライトキャッシュ２のアドレス（読み出しアドレス）と並列動作要素１ａの書き込み先のアドレス（書き込みアドレス）とを指定したライトコマンドをＮＡＮＤコントローラ４１ａに発行する。ＮＡＮＤコントローラ４１ａは、該ライトコマンドを受信すると、受信したライトコマンドに記述されているライトキャッシュ２の読み出しアドレスからデータを読み出して、読み出したデータを並列動作要素１ａの書き込みアドレスに書き込む。
【００２０】
また、並列動作要素１ａに書き込まれているデータをリードキャッシュ３に書き込む場合、ＭＰＵ４２は、該データが書き込まれている並列動作要素１ａのアドレスを読み出しアドレスとし、リードキャッシュ３の書き込み先のアドレスを書き込みアドレスとするリードコマンドをＮＡＮＤコントローラ４１ａに発行する。ＮＡＮＤコントローラ４１ａは、該リードコマンドを受信すると、受信したリードコマンドに記述されている並列動作要素１ａの読み出しアドレスからデータを読み出して、読み出したデータをリードキャッシュ３の書き込みアドレスに書き込む。
【００２１】
並列動作要素１ａにリード／ライトする場合と同様に、並列動作要素１ｂ〜１ｄにリード／ライトする場合、ＭＰＵ４２は、ＮＡＮＤコントローラ４１ｂ〜４１ｄの夫々に個別にリードコマンド／ライトコマンドを発行する。ＭＰＵ４２は、ＮＡＮＤコントローラ４１ａ〜４１ｄの夫々にライトコマンド／リードコマンドを送信するタイミングを制御することによって並列動作要素１ａ〜１ｄを並列動作させる。
【００２２】
ここで、並列動作要素１ａ〜１ｄの並列動作数が多いほどホスト装置２００から見たリード／ライト処理の速度が向上する反面、ＳＳＤ１００の消費電力（消費電流）が増加する。前述のように、ホスト装置２００のスペック、ユーザ、該ユーザの使用環境に応じてＳＳＤ１００に対するリード／ライト処理の要求性能が異なる。例えば、ホスト装置２００がサーバ用途で使用される場合、短時間でＳＳＤ１００に対して膨大な量のデータのリード／ライトを行うことが考えられる。この場合、ＳＳＤ１００には、高速なリード／ライト処理を実行できることが求められる。また、ホスト装置２００がネットブックに代表される前記サーバに比べて使用頻度が低くかつ高いポータビリティが要求されるコンピュータである場合、リード／ライト処理が高速に実行できることよりも低消費電力であることが求められる。そこで、本発明の第１の実施の形態では、ＳＳＤ１００は、ホスト装置２００からの要求性能を計測し、要求性能の計測結果に応じて適用的に並列動作数を変化させるようにした。
【００２３】
そのための構成として、ＳＳＤ１００は、ホスト装置２００のＳＳＤ１００に対する要求性能を計測する要求性能計測部６を備えている。要求性能計測部６は、ＳＡＴＡコントローラ５とライトキャッシュ２およびリードキャッシュ３との間に介在して設けられ、ＳＳＤ１００に対する要求性能として単位時間当たりのライトキャッシュ２への書き込み量およびリードキャッシュ３からの読み出し量を計測する。単位時間とは、一例として、ここでは１ｄａｙとする。計測された単位時間当たりの書き込み量および読み出し量（計測結果）は、ＭＰＵ４２へ送られる。ＭＰＵ４２は、要求性能計測部６から受信した単位時間当たりの書き込み量、読み出し量の夫々に応じてライト時の並列動作数とリード時の並列動作数とを夫々変化させる。並列動作数は最小値（ここでは１個）〜最大値（ここでは４個）の間でどのような値をとるようにしてもよい。ここでは、並列動作数は２個および４個とし、並列動作数が２個で動作するモードをライトユーザモード、並列動作数が４個で動作するモードをヘビーユーザモードと呼ぶこととする。
【００２４】
図２は、各モードでの動作タイミングを説明するタイミングチャートである。図２（ａ）はヘビーユーザモードでの書き込み動作、図２（ｂ）はライトユーザモードでの書き込み動作を示しており、各モードでの合計の書き込みデータ量は同一であるとしている。
【００２５】
図２（ａ）に示すように、ヘビーユーザモードでは、並列動作要素１ａ〜１ｄは夫々時間Ｔをかけて夫々全データ量の１／４の量のデータを同時に書き込み処理している。この場合、時間Ｔの期間、並列動作要素４個分の消費電力が消費される。一方、図２（ｂ）に示すように、ライトユーザモードでは、まず並列動作要素１ａおよび１ｂが夫々時間Ｔをかけて同時に夫々全データ量の１／４の量のデータの書き込み処理を行う。並列動作要素１ａおよび１ｂの書き込み処理が終了すると、並列動作要素１ｃおよび１ｄが夫々時間Ｔをかけて同時に夫々全データ量の１／４の量のデータの書き込み処理を行う。書き込みを行っている間、並列動作要素２個分の消費電力が消費される。このように、ライトユーザモードでは、ヘビーユーザモードの場合に比べて倍の時間をかけて半分の消費電力で書き込みを行う。
【００２６】
図３は、第１の実施の形態のＳＳＤ１００によるモードを変化させる動作を説明するフローチャートである。なお、ライト時のモードを変化させる動作とリード時のモードを変化させる動作は同じであるので、ここでは代表としてライト時のモードを変化させる動作について説明する。
【００２７】
図３に示すように、まず、ＳＳＤ１００は、ライトユーザモードで動作開始する（ステップＳ１）。要求性能計測部６は、１日当たりの書き込み量を計測する（ステップＳ２）。ＭＰＵ４２は、計測された一日当たりの書き込み量を所定のしきい値と比較し、該書き込み量が前記所定のしきい値を超えたか否かを判定する（ステップＳ３）。一日当たりの書き込み量がしきい値を超えた場合（ステップＳ３、Ｙｅｓ）、ＭＰＵ４２は、動作モードをヘビーユーザモードとする（ステップＳ４）。一日当たりの書き込み量がしきい値を超えなかった場合（ステップＳ３、Ｎｏ）、ＭＰＵ４２は、動作モードをライトユーザモードとする（ステップＳ５）。ステップＳ４、ステップＳ５の後、ステップＳ２へ移行する。
【００２８】
リード時の動作モードも、図３に示したライト時の動作モード変更動作と同じ手順で変更される。
【００２９】
なお、以上の説明においては、ライト時の並列動作数とリード時の並列動作数とを夫々独立に変化させるとして説明したが、ライト時の並列動作数とリード時の並列動作数とを同一の値とし、同時に変化させるようにしてもよい。その場合、ステップＳ３における比較に用いる要求性能として、１日当たりの書き込み量または一日当たりの読み出し量のうちのどちらを用いてもよいし、両方を用いるようにしてもよい。
【００３０】
また、要求性能として計測される単位時間は１ｄａｙに限定しない。例えば１ｗｅｅｋであってもよい。また、要求性能としては、単位時間当たりの書き込み／読み出しのデータ量以外の値を採用することができる。例えば、書き込み処理のデューティー比、読み出し処理のデューティー比などを採用することができる。
【００３１】
また、ヘビーユーザモードとライトユーザモードとで動作モードを変更するとして説明したが、並列動作数の異なる動作モードを３つ以上設定するようにしてもよい。動作モードを３つ以上にする場合、ステップＳ３で使用されるしきい値を２つ以上設定し、動作モード数分の場合分けを実行できるようにするとよい。
【００３２】
また、ライトユーザモードでは、並列動作要素１ａおよび１ｂに夫々全体のデータ量の
１／４の量のデータを書き込み、その後で並列動作要素１ｃおよび１ｄに夫々１／４の量のデータを書き込むとして説明したが、並列動作要素１ｃおよび１ｄは動作させないようにし、並列動作要素１ａおよび１ｂに全体のデータ量の１／２ずつ書き込むようにしてもよい。その後、次の書き込みデータを並列動作要素１ｃおよび１ｄへ書き込むようにしてもよいし、並列動作要素１ａおよび１ｂに続けて書き込み、並列動作要素１ａおよび１ｂの書き込み可能な領域がなくなったとき、並列動作要素１ｃおよび１ｄへの書き込みを開始するようにしてもよい。
【００３３】
また、動作開始時はライトユーザモードであるとして説明したが、ヘビーユーザモードで動作開始するようにしてもよい。
【００３４】
また、ステップＳ４、ステップＳ５を経た直後にステップＳ２において要求性能計測のステップを開始するのではなく、ステップＳ４、ステップＳ５を経た後、しばらく経ってからステップＳ２の動作を開始するようにしてもよい。
【００３５】
また、制御部４は、並列動作要素１ａ〜１ｄの数と同じ数のＮＡＮＤコントローラ４１ａ〜４１ｄを備えるように構成したが、並列動作要素１ａ〜１ｄの数よりも少ない数（例えば１個）のＮＡＮＤコントローラで並列動作要素１ａ〜１ｄを並列動作させることができるように構成することも可能である。
【００３６】
以上述べたように、本発明の第１の実施の形態によれば、ホスト装置２００からの要求性能を計測し、計測した要求性能に基づいてＮＡＮＤメモリ１が備える並列動作要素１ａ〜１ｄのリード／ライトの同時実行数を変化させるように構成したので、ホスト装置２００からの要求性能に応じて消費電力を変化させることができるようになる。
【００３７】
なお、特許文献１の技術によれば、メモリシステムは、ホスト装置からのコマンドに基づいて消費電流を変化させるが、本発明の第１の実施の形態は、ＳＳＤ１００は計測した要求性能に基づいて消費電力を変化させるので、ホスト装置２００による消費電力（あるいはリード／ライト処理の速度）を指定するコマンドの発行を必要としないという利点がある。
【００３８】
（第２の実施の形態）
第２の実施の形態では、動作モードに応じて動作クロックを変更することができるようにした。図４は、第２の実施の形態のＳＳＤの構成を示すブロック図である。なお、ここでは、第１の実施の形態と同一の構成要素には同一の符号を付し、詳細は説明を省略する。
【００３９】
図４に示すように、第２の実施の形態のＳＳＤ３００は、ＮＡＮＤメモリ１、ライトキャッシュ２、リードキャッシュ３、ＳＡＴＡコントローラ５、要求性能計測部６、制御部７、クロック生成部８、分周回路９、選択回路１０を備えている。ＮＡＮＤメモリ１は第１の実施の形態と同様に、４つの並列動作要素１ａ〜１ｄを備えている。また、制御部７は、並列動作要素１ａ〜１ｄと夫々個別に制御線で接続されているＮＡＮＤコントローラ４１ａ〜４１ｄと、ＭＰＵ７２とを備えている。
【００４０】
クロック生成部８は、ＳＳＤ３００を動作させるクロックを生成する。分周回路９は、クロック生成部８が生成したクロックを分周して各構成要素に供給するクロックを生成する。ここで、分周回路９は、制御部７およびＮＡＮＤメモリ１に供給するクロックとして、クロック周波数の異なる複数種類のクロック（ここではＣＬＫ１およびＣＬＫ２）を生成する。ＣＬＫ１はＣＬＫ２よりも高クロック（クロック周波数が高いこと）であるとする。選択回路１０にはＣＬＫ１およびＣＬＫ２が入力され、ＭＰＵ７２から入力されるクロック選択信号に基づいてＣＬＫ１またはＣＬＫ２のうちの１つを選択して出力する。選択回路１０が出力したクロックは制御部７およびＮＡＮＤメモリ１を駆動する。
【００４１】
なお、図４では、制御部７およびＮＡＮＤメモリ１の他の構成要素（ライトキャッシュ２、リードキャッシュ３、ＳＡＴＡコントローラ５、および要求性能計測部６）にはＣＬＫ１およびＣＬＫ２とは異なるクロックが分周回路９から共通入力されるものとしているが、夫々異なるクロックが入力されるようにしても構わない。
【００４２】
ＭＰＵ７２は、要求性能計測部６による計測結果に基づいてクロック選択信号を操作することによって、制御部７およびＮＡＮＤメモリ１を駆動するクロックを変更する。制御部７およびＮＡＮＤメモリ１は、高クロックで駆動されるほどリード／ライト処理が高速となり、消費電力が増加する。したがって、この場合、ＣＬＫ２で動作させるほうが、ＣＬＫ１で動作させるよりもリード／ライト処理の速度が低速となってしまう反面、消費電力を抑制することができる。なお、ＣＬＫ１で動作するモードをヘビーユーザモード、ＣＬＫ２で動作するモードをライトユーザモードということとする。
【００４３】
図５は、第２の実施の形態のＳＳＤ３００によるモードを変化させる動作を説明するフローチャートである。なお、ライト時のモードを変化させる動作とリード時のモードを変化させる動作は同じであるので、ここでは代表としてライト時のモードを変化させる動作について説明する。
【００４４】
図５に示すように、まず、ＳＳＤ３００は、ライトユーザモードで動作開始する（ステップＳ１１）。要求性能計測部６は、１日当たりの書き込み量を計測する（ステップＳ１２）。ＭＰＵ７２は、計測された一日当たりの書き込み量を所定のしきい値と比較し、該書き込み量が前記所定のしきい値を超えたか否かを判定する（ステップＳ１３）。一日当たりの書き込み量がしきい値を超えた場合（ステップＳ１３、Ｙｅｓ）、ＭＰＵ７２は、動作モードをヘビーユーザモードとする（ステップＳ１４）。一日当たりの書き込み量がしきい値を超えなかった場合（ステップＳ１３、Ｎｏ）、ＭＰＵ７２は、動作モードをライトユーザモードとする（ステップＳ１５）。ステップＳ１４、ステップＳ１５の後、ステップＳ１２へ移行する。
【００４５】
なお、リード時の動作モードも、図５に示したライト時の動作モード変更動作と同じ手順で変更される。
【００４６】
以上述べたように、本発明の第２の実施の形態によれば、周波数の異なるクロックを複数種類生成し、生成した複数種類のクロックのうちの１つを前記計測した要求性能に基づいて選択するように構成したので、ホスト装置２００からのコマンドを必要とすることなくホスト装置２００からの要求性能に応じて消費電力を変化させることができるようになる。
【００４７】
（第３の実施の形態）
ＤＲＡＭのメモリセルは、１個のトランジスタに１個のキャパシタが接続され、キャパシタに電荷を蓄えることでデータを保持する。この電荷は時間とともに減少するため、定期的に電荷の再補充（リフレッシュ）をしないと電荷が失われ、データエラーとなる。つまり、ＤＲＡＭは、データを保持する場合、定期的にリフレッシュを行わなくてはならないため、データを保持している期間中、リフレッシュにかかる電力が消費され続けることになる。
【００４８】
これに対し、ＤＲＡＭ全体をリフレッシュするのではなく、メモリセルアレイを部分的にリフレッシュするパーシャルリフレッシュ機能を備えたＤＲＡＭがある（例えば特許文献２）。すなわち、例えば４つのバンク０〜バンク３を有するメモリセルアレイにおいて、チップ全体のリフレッシュを行うフルリフレッシュは、４つのバンクを同時にリフレッシュする。これに対して、パーシャルリフレッシュの場合、リフレッシュするバンクを例えば１／２とする。すなわち、先ず、例えばバンク０とバンク１のみリフレッシュし、バンク２とバンク３をオフ状態とする。このような動作により、有効なデータを保持する領域の容量に応じて消費電流を削減することができる。
【００４９】
本発明の第３の実施の形態では、ライトキャッシュおよびリードキャッシュがパーシャルリフレッシュ機能を有するＤＲＡＭによって構成される。そして、要求性能に応じてライトキャッシュおよびリードキャッシュの容量を適用的に変化させ、ライトキャッシュおよびリードキャッシュとして使用されていない領域をオフ状態とする。
【００５０】
図６は、本発明の第３の実施の形態のＳＳＤの構成を説明する図である。なお、第１の実施の形態と同一の構成要素には同一の符号を付し、詳細は説明を省略する。
【００５１】
図６に示すように、第３の実施の形態のＳＳＤ４００は、ＮＡＮＤメモリ１と、ＳＡＴＡコントローラ５と、要求性能計測部６と、制御部１１と、ライトキャッシュ１２ａおよびリードキャッシュ１２ｂを構成するＤＲＡＭ１２とを備えている。ＮＡＮＤメモリ１は第１の実施の形態と同様に、４つの並列動作要素１ａ〜１ｄを備えている。また、制御部１１は、並列動作要素１ａ〜１ｄと夫々個別に制御線で接続されているＮＡＮＤコントローラ４１ａ〜４１ｄと、ＭＰＵ１１２とを備えている。
【００５２】
ＭＰＵ１１２は、要求性能計測部６による計測結果に基づいて、動作モードを１つ選択し、選択した動作モードを指定する通知（指定通知）をＤＲＡＭ１２に通知する。ＤＲＡＭ１２は、パーシャルリフレッシュ機能を備えており、ＭＰＵ１１２からの指定通知に基づいてリフレッシュする領域を増減させることができる。ここでは、第１の実施の形態と同じくＳＳＤ４００はライトユーザモードおよびヘビーユーザモードの２種類の動作モードで動作するものとし、指定通知はライトユーザモードおよびヘビーユーザモードのうちの１つを通知することとする。また、ＤＲＡＭ１２は、ヘビーユーザモードが通知された場合、ＤＲＡＭ１２の記憶領域全体をリフレッシュ対象とし、ライトユーザモードが通知された場合、ＤＲＡＭ１２の記憶領域のうちの半分をリフレッシュ対象とすることとする。
【００５３】
図７は、前記２種類の動作モードで動作するときのＤＲＡＭ１２の構成を説明する図である。ヘビーユーザモードで動作時、図７（ａ）に示すように、ＤＲＡＭ１２の全域がリフレッシュ対象となる。ライトキャッシュ１２ａ、リードキャッシュ１２ｂの記憶領域としてＤＲＡＭ１２の記憶領域の夫々１／２の領域が確保されている。ライトユーザモードで動作時、図７（ｂ）に示すように、ＤＲＡＭ１２の半分の領域のみがリフレッシュ対象となる。そして、ライトキャッシュ１２ａ、リードキャッシュ１２ｂの記憶領域として、リフレッシュ対象となっている記憶領域のうちの夫々１／２が確保されている。すなわち、ライトキャッシュ１２ａ、リードキャッシュ１２ｂの記憶領域は、ライトユーザモードで動作する場合、ヘビーユーザモードで動作する場合に比べて半分の容量に削減される。
【００５４】
図８は、第３の実施の形態のＳＳＤ４００によるモードを変化させる動作を説明するフローチャートである。ライト時のモードを変化させる動作とリード時のモードを変化させる動作は同じであるので、ここでは代表としてライト時のモードを変化させる動作について説明する。
【００５５】
図８に示すように、まず、ＳＳＤ４００は、ライトユーザモードで動作開始する（ステップＳ２１）。要求性能計測部６は、１日当たりの書き込み量を計測する（ステップＳ２２）。ＭＰＵ１１２は、計測された一日当たりの書き込み量を所定のしきい値と比較し、該書き込み量が前記所定のしきい値を超えたか否かを判定する（ステップＳ２３）。一日当たりの書き込み量がしきい値を超えた場合（ステップＳ２３、Ｙｅｓ）、ＭＰＵ１１２は、動作モードをヘビーユーザモードとする（ステップＳ２４）。一日当たりの書き込み量がしきい値を超えなかった場合（ステップＳ２３、Ｎｏ）、ＭＰＵ１１２は、動作モードをライトユーザモードとする（ステップＳ２５）。ステップＳ２４、ステップＳ２５の後、ステップＳ２２へ移行する。
【００５６】
なお、リード時の動作モードも、図８に示したライト時の動作モード変更動作と同じ手順で変更される。
【００５７】
ところで、ＮＡＮＤメモリ１の書き換え可能な回数には上限が存在する。キャッシュ（ライトキャッシュ１２ａ、リードキャッシュ１２ｂ）を設けると、書き換え回数がこの上限に至るまでの時間（寿命）を延ばす効果が得られる。すなわち、ホスト装置２００からの書き込みデータをすぐにＮＡＮＤメモリ１へ書き込むのではなく、キャッシュに一定量のデータを蓄積し、蓄積されたデータを一括してＮＡＮＤメモリ１へ書き込むことで、ＮＡＮＤメモリ１への書き込み頻度が低減され、ひいてはＮＡＮＤメモリ１の寿命を長くすることができるようになる。
【００５８】
ホスト装置２００からの単位書き込み量当たりのＮＡＮＤメモリ１の寿命の延長の効果は、キャッシュの容量が大きいほど大きくなる。したがって、本実施の形態では、キャッシュの記憶容量が少ないライトユーザモードで動作させると、ヘビーユーザモードで動作させる場合に比べて単位書き込み量当たりの寿命が長くなるが、単位時間当たりのアクセス量が少ないときにライトユーザモードで動作するようになっているので、ヘビーユーザモードで動作する場合とライトユーザモードで動作する場合ではＳＳＤ４００の製品寿命（耐用年数）には大きな差を生じないことになる。つまり、ライトユーザモードで動作させると、ヘビーユーザモードで動作される場合に比べて、製品寿命に差を生じることなく消費電力を低減することができるようになる。
【００５９】
なお、以上の説明においては、２つの動作モードでリフレッシュ対象領域の容量を切り替えるように構成したが、３つ以上の動作モードで切り替えるようにしてもよい。例えば、ＭＰＵ１１２はステップＳ２３において２つ以上のしきい値を用いて要求性能に応じて３つ以上の動作モードを選択できるようにし、夫々の動作モードでは、要求性能が高い場合の動作モードであるほど広い記憶領域がリフレッシュ対象なるようにするとよい。
【００６０】
以上述べたように、本発明の第３の実施の形態によれば、要求性能に基づいてＤＲＡＭ１２に指令してＤＲＡＭ１２が備える記憶領域のうちのリフレッシュ動作対象の領域を変化させるように構成したので、ホスト装置２００からのコマンドを必要とすることなくホスト装置２００からの要求性能に応じて消費電力を変化させることができるようになる。
【符号の説明】
【００６１】
１  ＮＡＮＤメモリ、１ａ〜１ｄ  並列動作要素、２  ライトキャッシュ、３  リードキャッシュ、４、７、１１  制御部、５  ＳＡＴＡコントローラ、６  要求性能計測部、８  クロック生成部、９  分周回路、１０  選択回路、１２ａ  ライトキャッシュ、１２ｂ  リードキャッシュ、４１ａ〜４１ｄ  ＮＡＮＤコントローラ、１００、３００、４００  ＳＳＤ、２００  ホスト装置。
【図１】
2011203905.tif 000003
【図２】
2011203905.tif 000004
【図３】
2011203905.tif 000005
【図４】
2011203905.tif 000006
【図５】
2011203905.tif 000007
【図６】
2011203905.tif 000008
【図７】
2011203905.tif 000009
【図８】
2011203905.tif 000010