(57)【特許請求の範囲】
【請求項１】
ホストからのコマンドを識別してそのコマンドの識別情報をコマンド識別信号として出力するためのコマンド識別部、を含み、前記ホストとの間で前記コマンドとデータとを通信するためのホストインタフェース；
前記データを記憶するための、少なくとも二つ以上の記憶素子；
(a) 並列に動作する前記記憶素子の数を制御モード信号により指示される数に制御し、(b) 前記コマンドに応じて前記データを、動作中の前記記憶素子へ書き込み、及び、動作中の前記記憶素子から読み出す、ための記憶素子制御部；並びに、
前記並列に動作する記憶素子の数が前記コマンド識別信号に含まれる前記コマンドのパラメータにより指定されており、前記並列に動作する記憶素子の数を前記制御モード信号として前記記憶素子制御部へ与えるための制御モード決定部；
を有する記憶装置。
【請求項２】
ホストからの転送クロックの周波数を検出するための転送クロック検出部、を含み、前記ホストとの間でコマンドとデータとを通信するためのホストインタフェース；
前記データを記憶するための、少なくとも二つ以上の記憶素子；
(a) 並列に動作する前記記憶素子の数を制御モード信号により指示される数に制御し、(b) 前記コマンドに応じて前記データを、動作中の前記記憶素子へ書き込み、及び、動作中の前記記憶素子から読み出す、ための記憶素子制御部；並びに、
前記並列に動作する記憶素子の数を前記転送クロックの周波数に応じて決定し、その数を前記制御モード信号として前記記憶素子制御部へ与えるための制御モード決定部；
を有する記憶装置。
【請求項３】
ホストからのコマンドの入力の時間間隔を検出するためのコマンド間隔検出部、を含み、前記ホストとの間で前記コマンドとデータとを通信するためのホストインタフェース；
前記データを記憶するための、少なくとも二つ以上の記憶素子；
(a) 並列に動作する前記記憶素子の数を制御モード信号により指示される数に制御し、(b) 前記コマンドに応じて前記データを、動作中の前記記憶素子へ書き込み、及び、動作中の前記記憶素子から読み出す、ための動作モードを、前記コマンドの入力の時間間隔に応じて変更する記憶素子制御部；並びに、
前記並列に動作する記憶素子の数を前記コマンドの入力の時間間隔に応じて決定し、前記並列に動作する記憶素子の数を前記制御モード信号として前記記憶素子制御部へ与えるための制御モード決定部；
を有する記憶装置。
【請求項４】
前記記憶素子がフラッシュメモリであり、前記記憶素子制御部が前記記憶素子に記憶されたデータの消去を制御する、請求項１から３までのいずれか一項に記載の記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体記憶素子を二つ以上含む記憶装置に関し、特にそれぞれの半導体記憶素子の起動制御に関する。
【０００２】
【従来の技術】
ノートパソコン、携帯情報端末(ＰＤＡ)及びディジタルカメラ等の携帯型情報処理機器はディジタルデータを記録媒体に記録する。その記録媒体としては、画像データ等の多量のデータを単体で長時間安定に保持できるものが望ましい。
更に、携帯型情報処理機器は長時間、電池等の内部電源だけで使用される。従って、上記の記録媒体として、データの入出力及び保持に必要な電力を小さく抑えるものが望ましい。
その上、携帯型情報処理機器で扱われるデータは、他の様々な情報処理機器間で交換される。例えば、ディジタルカメラで撮影した画像データはプリンタで印刷され、パソコンでディジタル処理され、携帯電話で伝送され、又は、テレビ画面に映し出される。従って、上記の記録媒体として、様々な情報処理機器間で共用できるものが望ましい。
【０００３】
上記の要求に応える記録媒体として、従来のフレキシブルディスク、ハードディスク及び光ディスク等と共に、半導体記憶素子が多用されている。特に、ＰＣカードのようにフラッシュメモリ内蔵のカード型記録媒体(以下、フラッシュメモリカードという)が代表的である。
フラッシュメモリカードは、情報処理機器に設けられた専用のスロットに差し込まれ、その情報処理機器とデータを交換する。共通の規格によるスロットを持つ情報処理機器同士は、同一のフラッシュメモリカードでデータを共用できる。
【０００４】
従来のフラッシュメモリカードには特に、フラッシュメモリを二つ以上含むものがある。それにより、大きな記憶容量を確保すると共に、データ処理を後述のように高速に実行する。
図5は、二つのフラッシュメモリ3a及び3bを含む従来のフラッシュメモリカード100と情報処理機器(以下、ホストという)Hとによるデータ交換の一例を示すブロック図である。
フラッシュメモリカード100はホストHと、例えば、データラインDAT、クロックラインCLK、電源ラインVDD、グラウンドラインVSS及びコマンドラインCMDの5種類のラインで接続される。
【０００５】
ホストインタフェース101はコマンドラインCMDを通じてホストHからのコマンドを受信し、解読する。そのコマンドがデータの書き込み命令である時、ホストインタフェース101はデータラインDATからデータを読み出す。その時、データはクロックラインCLKからの転送クロックに同期して、バッファ1b内の第一領域A又は第二領域Bのいずれかに蓄積される。更に、ホストインタフェース101はバッファ1b内のデータを、メモリ部3内のフラッシュメモリへ書き込む。その時、フラッシュメモリ制御部20はバッファ1b内の第一領域A及び第二領域Bのデータを、メモリ部3内の第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bへ、以下のようにパラレルに転送する。それにより、フラッシュメモリを一つだけ含むフラッシュメモリカードに比べ、多くのデータを一定時間内に書き込み得る。その結果、データの書き込みが速い。
【０００６】
図6は、従来のフラッシュメモリカードにおいて、ホストからのデータをフラッシュメモリへ書き込む時、それぞれのデータのバッファへの蓄積、及び、バッファからフラッシュメモリへの転送についてのタイミングチャートである。図6の(a)はフラッシュメモリを一つだけ含むフラッシュメモリカードに相当する。図6の(b)及び(c)は、第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bを含む上記のフラッシュメモリカード100に相当する。
【０００７】
フラッシュメモリを一つだけ含むフラッシュメモリカードでは、ホストからのデータが一定量ずつバッファへ蓄積されるごとに、そのデータはバッファからフラッシュメモリへ転送される。ここで、一定量のデータがホストからバッファへ転送される時間Tsは一般に、同量のデータをフラッシュメモリへ書き込む時間Twに比べて十分短い。
図6の(a)では、一定量の第一のデータd1及び第二のデータd2がホストから転送される。第一のデータd1がまずバッファへ蓄積される。その蓄積終了と同時に、第一のデータd1がバッファからフラッシュメモリへ転送され始める。第一のデータd1のフラッシュメモリへの書き込み終了と同時に、第二のデータd2がバッファへ蓄積され始める。その蓄積終了と同時に、第二のデータd2がバッファからフラッシュメモリへ転送され始める。こうして、第一のデータd1のバッファへの蓄積開始から第二のデータd2のフラッシュメモリへの書き込み終了までの時間は、ほぼ2×(Ts＋Tw)に等しい。
【０００８】
第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bを含む上記のフラッシュメモリカード100では、図6の(b)又は(c)に示されているように、データが第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bの両方へパラレルに書き込まれる。
図6の(b)では、一定量の第一のデータd1及び第二のデータd2がホストから転送される。第一のデータd1がバッファ1bの第一領域Aへ、続いて第二のデータd2がバッファ1bの第二領域Bへ、それぞれ蓄積される。第一のデータd1の第一領域Aへの蓄積終了と同時に、第一のデータd1が第一のフラッシュメモリ3aへ転送され始める。一方、第二のデータd2の第二領域Bへの蓄積終了と同時に、第二のデータd2が第二のフラッシュメモリ3bへ転送され始める。こうして、第一のデータd1の第一のフラッシュメモリ3aへの転送と、第二のデータd2の第二のフラッシュメモリ3bへの転送と、がパラレルに実行される。その結果、第一のデータd1のバッファ1bへの蓄積開始から第二のデータd2の第二のフラッシュメモリ3bへの書き込み終了までの時間は、ほぼ2×Ts＋Twに等しい。つまり、フラッシュメモリを一つだけ含むフラッシュメモリカードでのデータの書き込み(図6の(a))に比べ、ΔTa≒Twだけ書き込み時間が短縮される。
【０００９】
図6の(c)では図6の(b)と同様に、一定量の第一のデータd1及び第二のデータd2がホストから転送され、第一のデータd1がバッファ1bの第一領域Aへ、続いて第二のデータd2がバッファ1bの第二領域Bへ、それぞれ蓄積される。図6の(c)では図6の(b)とは異なり、第一のデータd1の第一領域Aへの蓄積終了と同時に、第一のデータd1が第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bへ等量ずつ分配されながら、パラレルに転送され始める。更に、第一のデータd1の二つのフラッシュメモリ3a及び3bへの転送終了と同時に、第二のデータd2が第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bへ等量ずつ分配されながら、パラレルに転送され始める。こうして、第一のデータd1が二つの部分d1a及びd1bに、第二のデータd2が二つの部分d2a及びd2bに、それぞれ等量ずつ分配され、二つのフラッシュメモリ3a及び3bへ書き込まれる。その結果、第一のデータd1のバッファ1bへの蓄積開始から第二のデータd2の二つのフラッシュメモリ3a及び3bへの書き込み終了までの時間は、ほぼTs＋Twに等しい。つまり、フラッシュメモリを一つだけ含むフラッシュメモリカードでのデータの書き込み(図6の(a))に比べ、ΔTb≒Ts＋Twだけ書き込み時間が短縮される。
【００１０】
第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bを含む従来のフラッシュメモリカード100では、データの読み出しが以下のように実行される。
ホストからのコマンドがデータの読み出し命令である時、ホストインタフェース101は、そのコマンドから解読される読み出し先のアドレスをフラッシュメモリ制御部20へ伝達する。フラッシュメモリ制御部20は読み出し先のアドレスに応じて、メモリ部3内の第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bからデータをパラレルに読み出す。読み出されたデータはホストインタフェース101内のバッファ1bへ一時記憶される。ホストインタフェース101はバッファ1b内のデータをホストHへ、データラインDATを通して転送する。
こうして、上記のフラッシュメモリカード100では、二つのフラッシュメモリ3a及び3bからパラレルにデータが読み出される。それにより、フラッシュメモリを一つだけ含むフラッシュメモリカードに比べ、多くのデータを一定時間内に読み出し得る。その結果、データの読み出しが速い。
【００１１】
第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bを含む従来のフラッシュメモリカード100では、データの消去が以下のように実行される。
ホストからのコマンドがデータの消去命令である時、ホストインタフェース101は、そのコマンドから解読される消去対象のアドレスをフラッシュメモリ制御部20へ伝達する。フラッシュメモリ制御部20は、消去対象のアドレスを含む第一のフラッシュメモリ3aと第二のフラッシュメモリ3bとのそれぞれのブロックに対して、データの消去をパラレルに実行する。それにより、上記のフラッシュメモリカード100は、フラッシュメモリを一つだけ含むフラッシュメモリカードに比べ、多くのブロックを一定時間内に消去できる。その結果、データの消去が速い。
【００１２】
【発明が解決しようとする課題】
携帯型情報処理機器によるフラッシュメモリカードへのアクセスの頻度は、機種に依存して大きく異なる。従って、フラッシュメモリカードに対して要求されるデータ処理速度も、携帯型情報処理機器の機種に依存して大きく異なる。例えば、ディジタルビデオカメラ(ＤＶＣ)は動画データをフラッシュメモリカードへリアルタイムに書き込む。従って、フラッシュメモリカードによるデータの書き込みは速くなければならない。それに対して、ディジタルスチルカメラ(ＤＳＣ)は静止画データをフラッシュメモリカードへ、散発的に書き込む。従って、フラッシュメモリカードによるデータの書き込みは、ＤＶＣでの使用時に比べて遅くても良い。
【００１３】
しかし、上記のような従来のフラッシュメモリカードでは、データ処理速度がフラッシュメモリの数により実質上一定に設定される。従って、従来のフラッシュメモリカードは例えば、ＤＳＣでの使用時でもＤＶＣでの使用時と同じ書き込み速度でデータを書き込む。
【００１４】
上記のフラッシュメモリカードのように、複数のフラッシュメモリについてパラレルにデータを書き込み、読み出し、又は消去を実行する時、単一のフラッシュメモリについての実行時に比べ、消費電流が増大する。上記のフラッシュメモリカードは図5で示したように、ホストHから電源ラインVDDを通して電力を得ている。それ故、フラッシュメモリカードでの消費電流が増えると、ホストHの内部電源に対する負荷が増す。こうして、従来のフラッシュメモリカード100では、ホストH、すなわち、携帯型情報処理機器の内部電源に対する負荷の増大によりデータ処理速度を増大していた。
【００１５】
しかし、携帯型情報処理機器は更に小型かつ軽量であることを望まれている。それ故、内部電源の容量が更に制限される。その上、内部電源による使用時間を更に延長することを望まれている。これらの要望を満たすには、内部電源に対する負荷を減少しなければならない。
従って、携帯型情報処理機器の内部電源に対する負荷の増大は上記の要望に反するので、好ましくなかった。
【００１６】
本発明は、記憶素子を複数含む記憶装置であり、用途に応じてデータ処理時の消費電流を低減し、かつ、データ処理速度を向上できる記憶装置、の提供を目的とする。
【００１７】
【課題を解決するための手段】
本発明の一つの観点による記憶装置は、
(A) ホストからのコマンドを識別してそのコマンドの識別情報をコマンド識別信号として出力するためのコマンド識別部、を含み、前記ホストとの間で前記コマンドとデータとを通信するためのホストインタフェース；
(B) 前記データを記憶するための、少なくとも二つ以上の記憶素子；
(C) (a) 並列に動作する前記記憶素子の数を制御モード信号により指示される数に制御し、(b) 前記コマンドに応じて前記データを、動作中の前記記憶素子へ書き込み、及び、動作中の前記記憶素子から読み出す、ための記憶素子制御部；並びに、
(D) 前記並列に動作する記憶素子の数が前記コマンド識別信号に含まれる前記コマンドのパラメータにより指定されており、前記並列に動作する記憶素子の数を前記制御モード信号として前記記憶素子制御部へ与えるための制御モード決定部；
を有する。
【００１８】
上記の記憶装置はホストからのコマンドを識別し、そのコマンド識別情報に応じて、並列に動作する記憶素子の数を決定する。それにより、コマンドにより要求されるデータ処理速度を確保すると共に、過剰な消費電流を削減する。
【００１９】
その時、ホストが上記の記憶装置で並列に動作する記憶素子の数を、特定のコマンドにより指定しても良い。その特定のコマンドは例えば、ホストの種類等のホストについての情報、及び、データ転送速度等のホストとの間の通信についての情報、を示すものであっても良い。特定のコマンドはそのパラメータの中に、並列に動作する記憶素子の数の最適値を含んでも良い。
【００２０】
上記の記憶装置では、並列に動作する記憶素子の数がホストからのコマンドを通じて、例えばホストの種類に応じて次のように決定される：  ＤＶＣ等、高速なデータ処理を必要とするホストに対しては、並列に動作する記憶素子の数が多い。その時、上記の記憶装置では、データ処理速度が大きい。一方、ＤＳＣ等、データの処理速度より消費電流の低減を重視するホストに対しては、並列に動作する記憶素子の数が少ない。その時、上記の記憶装置では消費電流が小さい。こうして、上記の記憶装置では、並列に動作する記憶素子の数がホストの種類に応じて最適に決定される。その結果、上記の記憶装置ではホストの種類に応じて、データ処理速度と消費電流とが最適に調節される。
【００２１】
更に、ホストが、例えば上記の記憶装置との通信でデータ転送速度を設定する時、上記の記憶装置で並列に動作する記憶素子の数を、データ転送速度に合わせて最適値に指定できる。こうして、上記の記憶装置では、並列に動作する記憶素子の数がホストとのデータ転送速度に応じて最適値に決定される。その結果、ホストとの間でのデータ転送速度に応じて、データ処理速度と消費電流とが最適に調節される。
【００２２】
本発明の別な観点による記憶装置は、
(A)  ホストからの転送クロックの周波数を検出するための転送クロック検出部、を含み、前記ホストとの間でコマンドとデータとを通信するためのホストインタフェース；
(B)  前記データを記憶するための、少なくとも二つ以上の記憶素子；
(C)  (a)  並列に動作する前記記憶素子の数を制御モード信号により指示される数に制御し、(b)  前記コマンドに応じて前記データを、動作中の前記記憶素子へ書き込み、及び、動作中の前記記憶素子から読み出す、ための記憶素子制御部；並びに、
(D)  前記並列に動作する記憶素子の数を前記転送クロックの周波数に応じて決定し、その数を前記制御モード信号として前記記憶素子制御部へ与えるための制御モード決定部；
を有する。
【００２３】
ホストは周辺機器に対して高速のデータ処理を要求する時、転送クロックの周波数を高く設定する。上記の記憶装置は転送クロックの周波数を計測し、計測された転送クロックの周波数に合わせて、並列に動作する記憶素子の数を変化させる。それにより、転送クロックの周波数が高い時、並列に動作する記憶素子の数が多いので、記憶装置のデータ処理速度が大きい。逆に、転送クロックの周波数が低い時、並列に動作する記憶素子の数が少ないので、記憶装置の消費電流が小さい。こうして、上記の記憶装置は、ホストからの転送クロックの周波数に基づいて、データ処理速度と消費電流とを最適に調節できる。
【００２４】
本発明の更に別な観点による記憶装置は、
(A) ホストからのコマンドの入力の時間間隔を検出するためのコマンド間隔検出部、を含み、前記ホストとの間で前記コマンドとデータとを通信するためのホストインタフェース；
(B) 前記データを記憶するための、少なくとも二つ以上の記憶素子；
(C) (a) 並列に動作する前記記憶素子の数を制御モード信号により指示される数に制御し、(b) 前記コマンドに応じて前記データを、動作中の前記記憶素子へ書き込み、及び、動作中の前記記憶素子から読み出す、ための動作モードを、前記コマンドの入力の時間間隔に応じて変更する記憶素子制御部；並びに、
(D) 前記並列に動作する記憶素子の数を前記コマンドの入力の時間間隔に応じて決定し、前記並列に動作する記憶素子の数を前記制御モード信号として前記記憶素子制御部へ与えるための制御モード決定部；を有する。
【００２５】
上記の記憶装置はホストからのコマンド入力(アクセス)の時間間隔を計測し、その時間間隔に応じて並列に動作する記憶素子の数を、次のように決定する：
コマンド入力の時間間隔が長い時、並列に動作する記憶素子の数を少なく設定する。それにより、記憶装置の消費電力が削減される。逆に、コマンド入力の時間間隔が短い時、並列に動作する記憶素子の数を多く設定する。それにより、記憶装置のデータ処理速度が増加する。こうして、上記の記憶装置は、ホストからのコマンド入力の時間間隔に基づいて、データ処理速度と消費電流とを最適に調節できる。
【００２６】
上記の記憶装置では、前記記憶素子がフラッシュメモリであり、前記記憶素子制御部が、前記並列に動作する記憶素子に対してデータの消去を並列に実行しても良い。フラッシュメモリはデータを、実質的な電力消費なしで長時間安定に保持できる。従って、特に、携帯型情報処理機器用の記憶素子として好ましい。
記憶素子制御部はフラッシュメモリ内のデータをブロックごとに一括消去し、新たなデータを書き込み得る。従って、上記の記憶装置は記憶素子のデータを書き換え得る。特に、上記の記憶装置は、データの消去をパラレルに実行するフラッシュメモリの数を変化できる。従って、そのフラッシュメモリの数を多く設定すると、データの消去を高速に実行できる。逆に上記のフラッシュメモリの数を少なく設定すると、データの消去時の消費電流を低減できる。こうして、用途に応じて、データの消去速度と消費電流とを最適に調節できる。
【００２７】
【発明の実施の形態】
以下、本発明の最適な実施の形態について、その好ましい実施例を挙げて、図面を参照しつつ説明する。以下に述べる実施例はいずれも、複数の半導体記憶素子を含むフラッシュメモリカードについて本発明を実施した例である。
【００２８】
フラッシュメモリカードは内部に半導体記憶素子としてフラッシュＥＥＰＲＯＭ(一括消去型電気的消去及び書き込み可能な不揮発性メモリ：以下、フラッシュメモリという)を含み、それらにデータを書き換え可能に記録できる。フラッシュメモリカードは通常数十mm×数十mm×数mmのサイズの小型カードであり、主に、携帯電話、携帯型オーディオプレーヤ、ディジタルカメラ及びディジタルビデオカメラ等の携帯型情報処理機器で記録媒体として用いられる。
【００２９】
《実施例１》
図1は、本発明の実施例１によるフラッシュメモリカード10とホストHとによるデータ交換を示すブロック図である。
フラッシュメモリカード10はホストHと次の5種類のラインで接続される。それらのラインは、複数のデータラインDAT、クロックラインCLK、電源ラインVDD、グラウンドラインVSS、及び、コマンドラインCMD、を含む。
【００３０】
ホストインタフェース1は、上記のラインを通してホストHと直接通信を行うための回路である。ホストインタフェース1は、コマンドラインCMDを通じてホストHからのコマンドを受信し、解読する。その後、コマンドに応じて以下の応答処理を行う。
【００３１】
ホストHからのコマンドには、次のようなホストHによるフラッシュメモリカード10の認識に関するものがある。それらは例えば、(a)  フラッシュメモリカード10の動作電圧等の動作条件を出力させ、又は指定するためのもの、(b)  フラッシュメモリカード10の属性を出力させるためのもの、及び、(c)  フラッシュメモリカード10のアドレスを指定するためのもの、を含む。これらのコマンドに対する応答はフラッシュメモリ3へのデータの入出力を要さないので、ホストインタフェース1だけで処理される。その処理動作は、クロックラインCLKからの転送クロックに同期して行われる。
【００３２】
ホストHからのコマンドがデータの書き込み命令である時、ホストインタフェース1はデータラインからシリアル信号を1バイトずつ読み出してパラレル信号に変換し、そのパラレル信号をバッファ1bへ一時記憶する。それらの動作は、クロックラインCLKからの転送クロックに同期して行われる。更に、ホストインタフェース1はフラッシュメモリ制御部2へ、コマンドから解読された書き込み先のアドレスを伝達する。
【００３３】
ホストHからのコマンドがデータの読み出し命令である時、ホストインタフェース1はフラッシュメモリ制御部2へ、コマンドから解読されたメモリ部3内のアドレスを伝達する。その後、ホストインタフェース1は、メモリ部3からバッファ1bへ転送されたデータをシリアル信号に変換し、データラインを通してホストHへ転送する。その転送は、クロックラインCLKからの転送クロックに同期して行われる。
【００３４】
ホストHからのコマンドがデータの消去命令である時、ホストインタフェース1はフラッシュメモリ制御部2へ、コマンドから解読された消去対象のアドレスを伝達する。
【００３５】
ホストインタフェース1はコマンド識別部1a及びバッファ1bを含む。
コマンド識別部1aはコマンドラインCMDに接続され、ホストHからのコマンドを検出する。それにより、フラッシュメモリカード10の認識に関するコマンド、書き込み命令、読み出し命令及び消去命令等、コマンドの種類を識別し、コマンド識別情報を作成する。コマンド識別情報は例えば、コマンドの種類ごとに対応づけられた所定のデータ列である。コマンド識別部1aはコマンド識別情報を、コマンド識別信号IDによりクロック制御部5へ出力する。コマンド識別部1aによる上記の動作は、クロックラインCLKからの転送クロックに同期して行われる。
【００３６】
バッファ1bはデータを一時記憶するための半導体メモリであり、好ましくはＳＲＡＭである。バッファ1bは第一の領域A及び第二の領域Bに分割されている。それぞれの領域は互いに独立してフラッシュメモリ制御部2に接続されている。
【００３７】
メモリ部3は第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bを含む。第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bはいずれも、上記のフラッシュＥＥＰＲＯＭであり、記憶したデータを実質的な消費電力なしで長時間安定に保持する。それぞれのフラッシュメモリに対するデータの書き込み／読み出しは1バイトずつ実行される。一方、データの消去はブロックごとに一括して実行される。更に、それぞれのフラッシュメモリは互いに独立してフラッシュメモリ制御部2に接続されている。
【００３８】
フラッシュメモリ制御部2はホストインタフェース1とメモリ部3との間でのデータの入出力処理を、内部クロックに同期して次のように制御する：
フラッシュメモリ制御部2は、ホストインタフェース1から書き込み先のアドレスを伝達された時、そのアドレスに対応するメモリ部3内のフラッシュメモリのセルへ、バッファ1b内のデータを転送する。
【００３９】
フラッシュメモリ制御部2は、ホストインタフェース1から読み出し先のアドレスを伝達された時、そのアドレスに対応するメモリ部3内のフラッシュメモリのセルからデータを読み出し、バッファ1bへ転送する。
【００４０】
フラッシュメモリ制御部2は、ホストインタフェース1から消去対象のアドレスを伝達された時、そのアドレスに対応するメモリ部3内のフラッシュメモリのブロックに対して一括消去を実行する。
【００４１】
フラッシュメモリ制御部2の動作には、高速モードと省電力モードとの二つの制御モードがある。フラッシュメモリ制御部2は、メモリ部3内の二つのフラッシュメモリ3a及び3bに対して上記のデータの転送及び消去を、高速モードではパラレルに、省電力モードでは交互に、それぞれ実行する。その結果、高速モードではデータの転送及び消去が高速に実行される。一方、省電力モードでは、データの転送及び消去時の消費電流が低減する。
高速モード及び省電力モードの切り替えは制御モード信号Mに従って行われる。制御モード信号Mは例えば、データ処理時に並列に動作するフラッシュメモリの数を指定する。すなわち、制御モード信号Mが「2」の時は高速モードに、「1」の時は省電力モードに、それぞれ設定される。
【００４２】
制御モード決定部4はホストインタフェース1内のコマンド識別部1aからコマンド識別信号IDを入力し、そのコマンド識別信号IDからコマンド識別情報を解読する。更に、制御モード決定部4はコマンド識別情報に応じて制御モード信号Mを、例えば次のように決定する：  まず、コマンドと、その応答処理時に並列に動作するフラッシュメモリの数と、の対応表を、制御モード決定部4に予め記憶させておく。次に、制御モード決定部4はその対応表を参照し、コマンド識別情報により示されるコマンドに対応したフラッシュメモリの数を選択する。その時、選択された数が制御モード信号Mによりフラッシュメモリ制御部2へ伝達される。
【００４３】
上記の対応表では、例えばＤＶＣからの書き込み命令及び読み出し命令等、高速なデータ処理を必要とするコマンドについて、並列に動作するフラッシュメモリの数が「2」に設定される。その他のコマンドについては上記のフラッシュメモリの数が「1」に設定される。
【００４４】
実施例１では特に、ホストHがコマンドの種類により、並列に動作するフラッシュメモリの数を、次のように決定しても良い：  例えば、書き込み命令についてコマンドを複数種類用意する。更に、上記の対応表に書き込み命令のそれぞれの種類ごとに別の数を対応させた項目を追加しておく。ホストHは書き込み命令を出力する時、決定すべきフラッシュメモリの数に対応した種類のコマンドを選択する。制御モード決定部4は上記の対応表を参照し、書き込み命令を示すコマンドの種類に応じてフラッシュメモリの数を決定する。こうして、ホストHが、並列に動作するフラッシュメモリの数を決定できる。
【００４５】
その他に、ホストHがコマンドのパラメータにより、並列に動作するフラッシュメモリの数を直接指定しても良い。その時、コマンド識別部1aはそのコマンドのパラメータをコマンド識別情報IDとして制御モード決定部4へ出力する。制御モード決定部4はコマンド識別情報IDから、並列に動作するフラッシュメモリの数を解読する。こうしても、ホストHが並列に動作するフラッシュメモリの数を決定できる。
【００４６】
以下、データの書き込み、読み出し及び消去のそれぞれでの省電力モードと高速モードとの動作について説明する。
＜データの書き込み＞
図2は上記のフラッシュメモリカード10において、ホストHからのデータをメモリ部3の二つのフラッシュメモリ3a及び3bへ書き込む時、データのバッファ1bへの蓄積、及び、バッファ1bから二つのフラッシュメモリ3a及び3bへのデータの転送についてのタイミングチャートである。図2の(a)は省電力モードに相当する。図2の(b)及び(c)は二種類の高速モードに相当する。
【００４７】
図2では、一定量の第一のデータd1及び第二のデータd2が続いてホストHから転送される。第一のデータd1はバッファ1bの第一領域Aへ、続いて第二のデータd2はバッファ1bの第二領域Bへ、それぞれ蓄積される。ここで、一定量のデータd1及びd2のそれぞれがホストHからバッファ1bへ転送される時間をTs、同量のデータをフラッシュメモリ3a又は3bへ書き込む時に要する時間をTwとする。一定量のデータのホストHからバッファ1bへの転送時間Tsは一般に、同量のデータのフラッシュメモリへの書き込み時間Twに比べて十分短い。
【００４８】
省電力モードではホストHからのデータがバッファ1bから二つのフラッシュメモリ3a及び3bへ交互に転送される。従って、フラッシュメモリカード10の消費電流は一つのフラッシュメモリへのデータの書き込み時の大きさ程度に抑えられる。
【００４９】
図2の(a)では、第一のデータd1の第一領域Aへの蓄積終了と同時に、第一のデータd1が第一のフラッシュメモリ3aへ転送され始める。第一のデータd1が第一のフラッシュメモリ3aへ転送される間に、第二のデータd2の第二領域Bへの蓄積が終了する。更に、第一のデータd1の第一のフラッシュメモリ3aへの書き込みが終了すると同時に、第二のデータd2が第二のフラッシュメモリ3bへ転送され始める。こうして、第一のデータd1のバッファ1bの第一領域Aへの蓄積開始から、第二のデータd2の第二のフラッシュメモリ3bへの書き込み終了まで、の時間は、ほぼTs＋2×Twに等しい。
【００５０】
高速モードでは、データが第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bの両方へパラレルに書き込まれる。従って、フラッシュメモリカード10の消費電流は省電力モードでの大きさの2倍程度まで増大し得る。
【００５１】
高速モードには図2の(b)又は(c)で示されているような二種類のデータの書き込み方式があり得る。
図2の(b)に示されたデータの書き込み方式では、第一のデータd1の第一領域Aへの蓄積終了と同時に、第一のデータd1が第一のフラッシュメモリ3aへ転送され始める。一方、第二のデータd2の第二領域Bへの蓄積終了と同時に、第二のデータd2が第二のフラッシュメモリ3bへ転送され始める。こうして、第一のデータd1の第一のフラッシュメモリ3aへの転送と、第二のデータd2の第二のフラッシュメモリ3bへの転送と、がパラレルに実行される。その結果、第一のデータd1のバッファ1bへの蓄積開始から第二のデータd2の第二のフラッシュメモリ3bへの書き込み終了までの時間は、ほぼ2×Ts＋Twに等しい。つまり、省電力モードでのデータの書き込み(図2の(a))に比べ、ΔTa≒Tw−Tsだけ書き込み時間が短縮される。
【００５２】
図2の(c)に示されたデータの書き込み方式では、第一のデータd1の第一領域Aへの蓄積終了と同時に、第一のデータd1が第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bへ等量ずつ分配されながら、パラレルに転送され始める。更に第一のデータd1の二つのフラッシュメモリ3a及び3bへの転送終了と同時に、第二のデータd2が第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bへ等量ずつ分配されながら、パラレルに転送され始める。こうして、第一のデータd1が二つの部分d1a及びd1bに、第二のデータd2が二つの部分d2a及びd2bに、それぞれ等量ずつ分配され、二つのフラッシュメモリ3a及び3bへ書き込まれる。その結果、第一のデータd1のバッファ1bへの蓄積開始から第二のデータd2の二つのフラッシュメモリ3a及び3bへの書き込み終了までの時間は、ほぼTs＋Twに等しい。つまり省電力モードでのデータの書き込み(図2の(a))に比べ、ΔTb≒Twだけ書き込み時間が短縮される。
【００５３】
上記の通り、実施例１によるフラッシュメモリカード10は、省電力モードでは二つのフラッシュメモリ3a及び3bに、交互にデータを書き込む。それにより、一定時間内に書き込まれるデータ量は、一つのフラッシュメモリに書き込まれ得るデータ量までに限られる。それ故、データの書き込み速度は小さい。その反面、消費電流は一つのフラッシュメモリでのデータの書き込みに必要な程度に抑られる。一方、高速モードでは二つのフラッシュメモリ3a及び3bに、パラレルにデータを書き込む。それにより、一定時間内に書き込まれるデータ量は省電力モードに比べ2倍程度多い。それ故、データの書き込み速度は省電力モードに比べ2倍程度に大きい。その反面、消費電流は省電力モードに比べ2倍程度まで増大する。
【００５４】
＜データの読み出し＞
フラッシュメモリ制御部2は、ホストインタフェース1から伝達された読み出し先のアドレスを、第一のフラッシュメモリ3aのセルに対応するものと、第二のフラッシュメモリ3bのセルに対応するものと、に振り分ける。
その後、省電力モードでは、まず第一のフラッシュメモリ3aがアクセスされ、所定量のデータが読み出される。第一のフラッシュメモリ3aからの読み出しの終了に続いて、第二のフラッシュメモリ3bがアクセスされ、所定量のデータが読み出される。第二のフラッシュメモリ3bからの読み出しの終了に続いて、再び第一のフラッシュメモリ3aがアクセスされる。このように、省電力モードでは、第一のフラッシュメモリ3aと第二のフラッシュメモリ3bとから交互にデータが読み出される。それ故、一定時間内に読み出されるデータ量は一つのフラッシュメモリから読み出され得るデータ量までに限られる。その反面、消費電流は一つのフラッシュメモリからのデータの読み出しに必要な程度に抑えられる。
【００５５】
高速モードでは、第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bがパラレルにアクセスされ、データがパラレルに読み出される。
読み出し対象のデータが図2の(b)に示されている書き込み方式で書き込まれている時、第一のフラッシュメモリ3aから読み出されたデータはバッファ1bの第一領域Aへ、第二のフラッシュメモリ3bから読み出されたデータはバッファ1bの第二領域Bへ、それぞれパラレルに転送される。
読み出し対象のデータが図2の(c)に示されている書き込み方式で書き込まれている時、二つのフラッシュメモリ3a及び3bから読み出されたデータはリシャッフルされ、元の一連のデータずつに再構成される。その後、それぞれの一連のデータは、転送先をバッファ1bの第一領域A又は第二領域Bへ振り分けられて、二つずつパラレルに転送される。
こうして、高速モードでは、一定時間内に読み出されるデータ量が省電力モードに比べ2倍程度まで多くできる。その反面、消費電流は省電力モードに比べ2倍程度まで増大する。
【００５６】
＜データの消去＞
フラッシュメモリ制御部2は、ホストインタフェース1から伝達された消去対象のアドレスを、第一のフラッシュメモリ3aのブロックに対応するものと、第二のフラッシュメモリ3bのブロックに対応するものと、に振り分ける。
その後、省電力モードでは、まず第一のフラッシュメモリ3aがアクセスされ、所定数の消去対象のブロックでデータが一括消去される。第一のフラッシュメモリ3aでのデータの消去の終了に続いて、第二のフラッシュメモリ3bがアクセスされ、所定数の消去対象のブロックでデータが一括消去される。第二のフラッシュメモリ3bでのデータの消去の終了に続いて、再び第一のフラッシュメモリ3aがアクセスされる。このように、省電力モードでは、第一のフラッシュメモリ3aと第二のフラッシュメモリ3bとで交互にデータの消去が実行される。それ故、一定時間内に消去されるデータ量は一つのフラッシュメモリで消去され得るデータ量までに限られる。その反面、消費電流は一つのフラッシュメモリでのデータの消去に必要な程度に抑えられる。
【００５７】
高速モードでは、第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bがパラレルにアクセスされ、データの消去がパラレルに実行される。
こうして、高速モードでは、一定時間内に消去されるデータ量が省電力モードに比べ2倍程度まで多くできる。その反面、消費電流は省電力モードに比べ2倍程度まで増大する。
【００５８】
実施例１によるフラッシュメモリカード10のデータ処理は、上記の省電力モード又は高速モードのいずれかで実行される。それら二つのモードは上記の通り、並列に動作するフラッシュメモリの数をコマンドに応じて変更することにより切り換え得る。従って、実施例１によるフラッシュメモリカード10は、コマンドに応じてデータ処理速度と消費電流とをそれぞれ最適に調節できる。
【００５９】
実施例１ではフラッシュメモリカード10がフラッシュメモリを二つ含む。その他に、フラッシュメモリを三つ以上含むフラッシュメモリカードについて、コマンドに応じて並列に動作するフラッシュメモリの数を、実施例１と同様に変更する。その時、フラッシュメモリ制御部の動作モードの種類は、実施例１での省電力モードと高速モードとの二種類より多い。従って、フラッシュメモリを三つ以上含むフラッシュメモリカードは実施例１のフラッシュメモリカード10に比べ、データ処理速度と消費電流とをそれぞれ、より最適に調節できる。
【００６０】
《実施例２》
図3は、本発明の実施例２によるフラッシュメモリカード10AとホストHとによるデータ交換を示すブロック図である。実施例２によるフラッシュメモリカード10Aは、実施例１のもの10と比べ、ホストインタフェース1A及び制御モード決定部4Aについて異なる。それ以外の構成は実施例１と同様であるので、図3では同じ符号を付し、それらの同様な構成についての説明は実施例１のものを援用する。
【００６１】
ホストインタフェース1Aの転送クロック検出部1cはクロックラインCLKに接続され、ホストHからの転送クロックの周波数ftを検出する。更に、転送クロック検出部1cは検出した転送クロックの周波数ftについての情報を制御モード決定部4Aへ出力する。
【００６２】
制御モード決定部4Aは転送クロック検出部1cから転送クロックの周波数ftについての情報を入力する。それにより、並列に動作するフラッシュメモリの数を転送クロックの周波数ftに応じて決定する。その決定値は制御モード信号Mによりフラッシュメモリ制御部2へ伝達される。
【００６３】
ホストHは一般に、周辺機器に対して高速なデータ処理を要求する時、転送クロックの周波数ftを高く設定する。特に、フラッシュメモリカード10Aに対してデータの高速な書き込み／読み出しを要求する時、転送クロックの周波数ftは最高値(数十MHz程度)である。それ以外の時、転送クロックの周波数ftは最高値より低く、最低値0まで下がり得る。
【００６４】
制御モード決定部4Aは、検出された転送クロックの周波数ftと所定の閾値(0以上最高値未満の周波数)とを比較する。転送クロックの周波数ftがその閾値より低い時、並列に動作するフラッシュメモリの数を「1」に決定する。それ以外の時、並列に動作するフラッシュメモリの数を「2」に決定する。それにより、フラッシュメモリカード10Aは、上記の閾値より低い転送クロックの周波数ftについては省電力モードで、上記の閾値より高い転送クロックの周波数ftについては高速モードで、それぞれ動作する。こうして、実施例２によるフラッシュメモリカード10Aは、転送クロックの周波数ftに合わせて上記の二つのモードを切り換える。それにより、転送クロックの周波数ftに応じてデータ処理速度と消費電流とをそれぞれ最適に調節できる。
【００６５】
実施例２ではフラッシュメモリカード10Aがフラッシュメモリを二つ含む。その他に、フラッシュメモリを三つ以上含むフラッシュメモリカードについて、転送クロックの周波数に応じて並列に動作するフラッシュメモリの数を、実施例２と同様に変更する。その時、フラッシュメモリ制御部の動作モードの種類は、実施例２での省電力モードと高速モードとの二種類より多い。従って、フラッシュメモリを三つ以上含むフラッシュメモリカードは実施例２のフラッシュメモリカード10Aに比べ、データ処理速度と消費電流とをそれぞれ、より最適に調節できる。
【００６６】
《実施例３》
図4は、本発明の実施例３によるフラッシュメモリカード10BとホストHとによるデータ交換を示すブロック図である。実施例３によるフラッシュメモリカード10Bは実施例１のもの10と比べて、ホストインタフェース1B及び制御モード決定部4Bについて異なる。それ以外の構成は実施例１と同様であるので、図4では同じ符号を付し、それらの同様な構成についての説明は実施例１のものを援用する。
【００６７】
ホストインタフェース1Bのコマンド間隔検出部1dはコマンドラインCMDに接続され、ホストHからのコマンド入力のタイミングを検出する。それにより、コマンド間隔検出部1dは、一つのコマンド入力から次のコマンド入力までの時間間隔ΔTを計測する。コマンド間隔検出部1dは更に、上記の時間間隔ΔTをコマンド時間間隔情報Gとして制御モード決定部4Bへ出力する。
【００６８】
制御モード決定部4Bはコマンド時間間隔情報Gからコマンド入力の時間間隔ΔTを解読する。更に、コマンド入力の時間間隔ΔTと所定の閾値とを比較する。コマンド入力の時間間隔ΔTがその閾値より長い時、並列に動作するフラッシュメモリの数を「1」に決定する。それ以外の時は、並列に動作するフラッシュメモリの数を「2」に決定する。それにより、フラッシュメモリカード10Bは、上記の閾値より長い時間間隔ΔTについては省電力モードで、上記の閾値より短い時間間隔ΔTについては高速モードで、それぞれ動作する。こうして、実施例３によるフラッシュメモリカード10Bは、コマンド入力の時間間隔ΔTに合わせて上記の二つのモードを切り換える。それにより、コマンド入力の時間間隔ΔTに応じてデータ処理速度と消費電流とをそれぞれ最適に調節できる。
【００６９】
実施例３ではフラッシュメモリカード10Bがフラッシュメモリを二つ含む。その他に、フラッシュメモリを三つ以上含むフラッシュメモリカードについて、コマンドに応じて並列に動作するフラッシュメモリの数を、実施例３と同様に変更する。その時、フラッシュメモリ制御部の動作モードの種類は、実施例３での省電力モードと高速モードとの二種類より多い。従って、フラッシュメモリを三つ以上含むフラッシュメモリカードは実施例３のフラッシュメモリカード10Bに比べ、データ処理速度と消費電流とをそれぞれ、より最適に調節できる。
【００７０】
【発明の効果】
以上の説明のように、本発明の一つの観点による記憶装置は、ホストからのコマンドを識別し、高速なデータ処理を要求するコマンドに対して、並列に動作するフラッシュメモリの数を増やす。それにより、データ処理速度が増大する。それ以外のコマンドに対して、並列に動作するフラッシュメモリの数を減らす。それにより、消費電流が低減する。こうして、上記の記憶装置は、ホストからのコマンドに応じて、データ処理速度と消費電流とをそれぞれ最適に調節できる。
【００７１】
本発明の別な観点による記憶装置は、転送クロックの周波数を検出し、高い転送クロックの周波数に対して、並列に動作するフラッシュメモリの数を増やす。それにより、データ処理速度が増大する。逆に、低い転送クロックの周波数に対して、並列に動作するフラッシュメモリの数を減らす。それにより、消費電流が低減する。こうして、上記の記憶装置は、ホストからの転送クロックの周波数に応じて、データ処理速度と消費電流とをそれぞれ最適に調節できる。
【００７２】
本発明の更に別な観点による記憶装置は、ホストからのコマンド入力(アクセス)の時間間隔を計測し、短い時間間隔に対して、並列に動作するフラッシュメモリの数を増やす。それにより、データ処理速度が増大する。逆に、長い時間間隔に対して、並列に動作するフラッシュメモリの数を減らす。それにより、消費電流が低減する。こうして、上記の記憶装置は、ホストからのアクセスの時間間隔に応じて、データ処理速度と消費電流とをそれぞれ最適に調節できる。
【図面の簡単な説明】
【図１】本発明の実施例１によるフラッシュメモリカード10とホストHとによるデータ交換を示すブロック図である。
【図２】本発明の実施例１によるフラッシュメモリカード10において、ホストHからのデータをメモリ部3の二つのフラッシュメモリ3a及び3bへ書き込む時、データのバッファ1bへの蓄積、及び、バッファ1bから二つのフラッシュメモリ3a及び3bへのデータの転送についてのタイミングチャートである。(a)は省電力モードに、(b)及び(c)は二種類の高速モードに、それぞれ相当する。
【図３】本発明の実施例２によるフラッシュメモリカード10AとホストHとによるデータ交換を示すブロック図である。
【図４】本発明の実施例３によるフラッシュメモリカード10BとホストHとによるデータ交換を示すブロック図である。
【図５】二つのフラッシュメモリ3a及び3bを含む従来のフラッシュメモリカード100とホストHとによるデータ交換の一例を示すブロック図である。
【図６】従来のフラッシュメモリカードにおいて、ホストからのデータをフラッシュメモリへ書き込む時、それぞれのデータのバッファへの蓄積、及び、バッファからフラッシュメモリへの転送についてのタイミングチャートである。(a)はフラッシュメモリを一つだけ含むフラッシュメモリカードに、(b)及び(c)は、第一のフラッシュメモリ3a及び第二のフラッシュメモリ3bを含む従来のフラッシュメモリカード100に、それぞれ相当する。
【符号の説明】
10        フラッシュメモリカード
1        ホストインタフェース
ID        コマンド識別信号
A        バッファ1bの第一領域
B        バッファ1bの第二領域
3a        第一のフラッシュメモリ
3b        第二のフラッシュメモリ
DAT       データライン
CLK       クロックライン
VDD       電源ライン
VSS       グランドライン
CMD       コマンドライン
M        制御モード信号
【図１】
0004841070.tif 000002
【図２】
0004841070.tif 000003
【図３】
0004841070.tif 000004
【図４】
0004841070.tif 000005
【図５】
0004841070.tif 000006
【図６】
0004841070.tif 000007