説明

ストレージシステム及び記憶装置

【課題】ホストにより記憶装置のビジー時間を設定することが可能なメモリシステム及び記憶装置を提供する。
【解決手段】記憶装置は、複数のデータ記憶領域を有する不揮発性メモリと、不揮発性メモリの読み出し及び書き込みを制御するコントローラとを有する。ホストは、記憶装置の動作に先立って、記憶装置の動作に必要で、許容可能な最大ビジー時間を前記記憶装置に指示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば不揮発性メモリとしてのフラッシュメモリを有する記憶装置と、この記憶装置を用いたストレージシステムに関する。
【背景技術】
【0002】
近時、例えばNAND型フラッシュメモリを用いた半導体記憶装置が量産され、音楽録音再生装置等の記憶装置に利用されている。
【0003】
NAND型フラッシュメモリは、ブロック内に記憶されたデータを上書きすることができない。このため、例えば第1のブロックに既に書き込まれた論理ブロックアドレスと同じ論理ブロックアドレスのデータを書き込む場合、第1のブロックを一旦消去し、論理ブロックアドレスのデータを書き込む必要がある。この場合、特定の論理ブロックアドレスのデータの書き換えは、特定の物理ブロックアドレスの書き換えとなり、フラッシュメモリの書き換え回数を冗長させる。このため、先ず、空きブロックとしての第2のブロックが新たにアサインされる。この第2のブロックに、その論理ブロックアドレスのデータが書き込まれ、第1のブロックが消去されて空きブロックとなる。また、データの更新状況によっては、空きブロックとしての第3のブロックがアサインされ、第1のブロックに書き込まれたデータと第2のブロックに書き込まれたデータが第3のブロックに書き込まれてマージされ、この後、第1、第2のブロックが消去され、空きブロックとされる。
【0004】
このように、フラッシュメモリは、データの書き込み処理において、データのコピー動作や消去動作及び消去ブロック管理に伴う内部動作が間欠的に発生する。このフラッシュメモリの内部動作の実行中、フラッシュメモリを有する記憶装置からホストにビジー信号が送信される。このビジー信号が長時間続き、ホストが長時間待たされた結果、タイムアウトをおこし、書き込みを正常に終了できない場合がある。
【0005】
例えばホストが録音装置である場合を仮定すると、録音装置は、一定間隔で音響信号をサンプリングしてバッファに一時的に格納し、バッファ内のデータは、記憶装置に書き込まれる。このような動作が順次繰り返されるが、バッファの記憶容量には限りがあるため、記憶装置への書き込みが長時間待たされた場合、バッファに記憶されているデータが、次にサンプリングされたデータに上書きされて消失する。このため、記憶装置にはホストが期待したデータの全てが記憶できないことになる。
【0006】
一方、記憶装置からホストに対して長時間のビジー信号を出さないようにすることが考えられる。すなわち、例えば記憶装置の内部動作が発生した場合において、この内部動作のうち、例えば消去動作を省略することにより、ビジー時間を短縮することが考えられる。この場合、記憶されたデータの欠落を防止することができるが、未消去のブロックが残るため、利用可能な記憶領域が減少し、最終的には未消去ブロックをどこかでまとめて消去する時間が、ホストの期待しない時間帯で必要となる。
【0007】
このように、ビジー信号の送信時間は、記憶装置により設定されているため、ホストの仕様に適合しない場合、適正な書き込み処理ができないという問題を有している。
【0008】
尚、関連技術として、フラッシュメモリに対するデータ書き換え時におけるデータ消去中に、パラレルインターフェース制御部がホスト装置に通知するビジー信号の解除タイミングを所定時間遅延させる技術が開発されている(例えば特許文献1参照)。また、バッファメモリが、コピー処理後にフラッシュメモリに書き込むべきデータを受信した時点又はその直前に、カードコントローラからホストインターフェースにビジー延長設定信号を出力する技術が開発されている(例えば特許文献2参照)。
【特許文献1】特開平11−212862号公報
【特許文献2】特開2007−18219号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、ホストにより記憶装置のビジー時間を設定することが可能なメモリシステム及び記憶装置を提供しようとするものである。
【課題を解決するための手段】
【0010】
本発明のストレージシステムの態様は、複数のデータ記憶領域を有する不揮発性メモリと、前記不揮発性メモリの読み出し及び書き込みを制御するコントローラとを有する記憶装置と、前記記憶装置が接続されるホストとを有し、前記ホストは、前記記憶装置の動作に先立って、前記記憶装置の前記動作に必要で、許容可能な最大ビジー時間を前記記憶装置に指示することを特徴とする。
【0011】
本発明の記憶装置の態様は、複数のデータ記憶領域を有する不揮発性メモリと、前記不揮発性メモリの読み出し及び書き込みを制御するコントローラとを具備し、前記コントローラは、ホストから指示された許容可能な最大ビジー時間の間、ビジー信号を前記ホストに送ることを特徴とする。
【発明の効果】
【0012】
本発明によれば、ホストにより記憶装置のビジー時間を設定することが可能なメモリシステム及び記憶装置を提供できる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態について、図面を参照して説明する。
【0014】
図2は、本実施形態が適用される記憶装置、例えばメモリカードの一例を示している。図2において、記憶装置としての例えばメモリカード1はホスト機器(以下、ホストと称す)10に接続される。ホスト10は、接続されるメモリカード1をアクセスするためのハードウェア及びソフトウェア(システム)を備えている。このホスト10は、メモリカード1に対して、データの書き込み、読み出しのアクセスを行う。
【0015】
メモリカード1は、ホスト10に接続されたとき、電源が供給されて動作し、ホスト10からのアクセスに応じた処理を行う。このメモリカード1は、NAND型フラッシュメモリ2及びコントローラ3を有している。
【0016】
コントローラ3は、メモリインターフェース部4、ホストインターフェース部5、バッファ6、CPU7、ROM(Read Only Memory)8、及びRAM(Random Access Memory)9を有している。
【0017】
メモリインターフェース部4は、コントローラ3とNAND型フラッシュメモリ2との間のインターフェース処理を行う。メモリインターフェース部4は、エラー訂正処理回路(ECC)4aを有し、このECC4aにより、フラッシュメモリ2から読み出されたデータのエラーを訂正する。ホストインターフェース部5は、コントローラ3とホスト10との間のインターフェース処理を行う。
【0018】
バッファ6は、ホスト10から送られてくるデータをNAND型フラッシュメモリ2へ書き込む際に、一定量(例えば1ページ分)のデータを一時的に記憶したり、NAND型フラッシュメモリ2から読み出されるデータをホスト10へ送り出す際に、一定量のデータを一時的に記憶したりする。
【0019】
CPU7は、メモリカード1全体の動作を司るものである。このCPU7は、例えばメモリカード1に電源が供給された場合、ROM8に格納されているファームウェア(制御プログラム)に従って処理を開始する。即ち、CPU7は、処理に必要な各種テーブル(管理データ)をRAM9上に作成したり、ホスト10からの書き込みコマンド(命令)、読み出しコマンドを受けてNAND型フラッシュメモリ2上の該当領域をアクセスしたり、NAND型フラッシュメモリ2をアクセスするにあたってホストからの論理アドレスと物理アドレスとを変換したり、バッファ6を通じてデータ転送処理を制御したりする。さらに、CPU7は、コマンドの応答として、ホスト10に例えばレディ又はビジー(R/B)信号を出力する。
【0020】
ROM8は、CPU7により使用される制御プログラムなどを格納するメモリである。RAM9は、CPU7の作業エリアとして使用され、各種のテーブル等を記憶する揮発性メモリである。
【0021】
(第1の実施形態)
図2、図3、図4は、第1の実施形態を示すものであり、図2は、ホスト10とメモリカード1とのプロトコルの一例を示し、図3は、ビジー時間設定の一例を示し、図4は、書き込み処理の一例を示している。
【0022】
第1の実施形態において、ホスト10は、メモリカード1に対して書き込み行なう場合、書き込みコマンドの発行に先立って、ビジー時間を設定するための指示を行なう。すなわち、ホスト10は、図2に示すように、先ず、メモリカード1に対してビジー時間設定指示を行なう。
【0023】
図3(a)は、ビジー時間設定指示BTDの一例を示している。ビジー時間設定指示BTDは、コマンド“00h”(hは、16進を示す)、アドレスサイクル、及びコマンド“57h”により構成されている。コマンド“00h”“57h”は、汎用性の高いコマンドであり、コマンド“00h”に続くアドレスサイクルにおいて、コマンドの定義及びビジー時間BTが指定される。 “57h”は、アドレスサイクルの終了を示すとともに、BTDを実行するコマンドである。
【0024】
具体的には、図3(b)に示すように、アドレスサイクルにおいて、パラメータの定義及びパラメータが指定される。第1の実施形態の場合、パラメータの定義は、ビジー時間の指定を示し、パラメータは、ビジー時間を示している。本実施形態において、以下、コマンド“00h”に続くアドレスサイクルを単にビジー時間BTと記す。ビジー時間BTは、ホスト10が例えばこの書き込み処理に許容する最大の時間である。
【0025】
メモリカード1は、コマンド“00h”、ビジー時間BT、コマンド“57h”を順次受け、受けたコマンドを処理する。すなわち、CPU7は、コマンド“00h”を受信すると、コマンド“00h”の後に受信された信号からビジー時間BTを認識する。次いで、コマンド“57h”を受けた後、CPU7は必要な内部処理を終え、レディ信号をホスト10に出力する。
【0026】
ホスト10は、レディ信号を受けると、メモリカードに対して書き込み指示を行なう。この書き込み指示は、図4(a)に示すように、コマンド“80h”、スタートアドレス“STA”、データ“DT”、及びコマンド“10h”により構成されている。コマンド“80h”は書き込みコマンドであり、この書き込みコマンド“80h”に続くスタートアドレスは、書き込みアドレスを示し、データは、ホストからの書き込みデータを示している。コマンド“10h”は書き込み実行を示している。書き込みコマンド“80h”は、コマンド“10h”とセットで使用される。
【0027】
スタートアドレスは、図4(b)に示すように、セクタカウントとセクタアドレスとにより構成されている。ホストは、セクタアドレスを先頭に、セクタカウント分の書き込みを行うことを、ここで宣言している。メモリカード1のCPUは、書き込みコマンド“80h”が供給されると、続くスタートアドレスSTAを認識し、データDTをバッファとしてのRAM9に転送する。この後、書き込み実行を示すコマンド“10h”が供給されると、ホストにビジー信号を出力し、フラッシュメモリに対して、RAM9に保持されたデータを書き込む。このとき、ビジー時間設定指示BTDにおいて指定されたビジー時間BT以内のビジー信号が出力される。このビジー時間BTの間、CPU7は、書き込みコマンドにより指定されたアドレスにデータを書き込む。この書き込み処理の途中において、新たなブロックのアサインや、旧ブロックから新ブロックへのデータのコピーや旧ブロックの消去を伴う内部動作が発生した場合、CPU7は、指定されたビジー時間BTの範囲内において、これらの内部動作を実行する。指定されたビジー時間BTの内において内部動作を全て終了することができなかった場合、残りの内部動作は、次のビジー時間内に実行される。このように、内部動作は、ビジー時間毎に分散して実行される。すなわち、CPU7は、ビジー時間BT内の空き時間で、先行する書き込み処理において発生した未整理状態のデータの整理処理を行なう。
【0028】
尚、設定されたビジー時間内に書き込み処理が終了し、且つ内部動作の必要がない場合、CPU7は、指定されたビジー時間BTを待たずにレディ信号をホスト10に送信する。このため、書き込み処理の無用な時間を除去でき、書き込み処理の高速化を図ることができる。
【0029】
上記第1の実施形態によれば、書き込み処理を行なう場合、書き込みコマンドの発行に先立って、ホスト10からメモリカード1に対してビジー時間設定指示が行なわれる。このビジー時間設定指示により設定されるビジー時間は、ホスト10が書き込み処理に対して許容する最大のビジー時間である。このため、データの書き込み途中において、ホスト内のバッファがデータを消失することを回避でき、記憶されるデータの一部が欠落することを防止できる。
【0030】
また、ビジー時間設定指示により設定されるビジー時間は、ホスト10が書き込み処理に対して許容する最大のビジー時間であり、このビジー時間内における書き込み処理の余剰時間を用いて、CPU7は、ブロック消去等の内部動作を実行し、先行する書き込み処理で発生した未整理状態のデータを整理している。このため、メモリカード1は、NAND型フラッシュメモリ2に対し最適な書き込み処理を実行できる。したがって、信頼性の高いストレージシステムを得ることができる。
【0031】
(第2の実施形態)
図5、図6、図7を参照して第2の実施形態について説明する。
【0032】
第1の実施形態は、1回の書き込み処理に対して、ホストからビジー時間を指定する場合について説明した。これに対して、第2の実施形態は、1つ又は複数のタスクに対してビジー時間を設定する場合について説明する。
【0033】
第2の実施形態において、タスクとは、例えばセクタカウントに設定された数値の範囲内の書き込み処理である。前述したように、ホスト10から書き込みコマンド“80h”に続いてセクタカウントが出力される。このセクタカウントに数値“n”が設定された場合、この数値“n”が“1”となるまでの書き込み処理をタスクと呼ぶ。
【0034】
図5、図6、図7は、第2の実施形態を示すものであり、例えば複数のタスクを連続して実行する場合におけるコマンドシーケンスを示している。
【0035】
図5は、タスク毎に、その1つのタスクにのみ有効なビジー時間設定指示BTD1が行なわれる場合を示している。第1のタスクは、例えば8回の書き込み(セクタカウント8)の処理を行う場合を示している。第1のタスクにおいて、複数の書き込み処理に先行して各書き込み処理のビジー時間設定指示BTD1が行なわれる。このビジー時間設定指示BTD1において、ビジー時間BT1が指示されると、その後の8回の書き込み処理それぞれにビジー時間BT1が設定される。
【0036】
具体的には、ホスト10からコマンド“00h”に続くアドレスサイクルにおいて、例えばビジー時間BT1が指示される。次いで、アドレスサイクルの終了を示すコマンド“57h”が発行される。すると、メモリカード1からレディ信号(B2R)がホスト10に送信される。尚、(B2R)は、レディ/ビジー(R/B)信号が変化する期間を示している。
【0037】
この後、ホスト10から8個の書き込み処理を示すコマンドセットが順次メモリカード1に送信される。各コマンドセットは、書き込みコマンド“80h”、スタートアドレス、データDT、コマンド“10h”により構成されている。メモリカード1は、各コマンドセットのコマンド“10h”を受けると、ホストにビジー信号を送信する。このビジー信号の送信期間は、ビジー時間設定指示BTD1において指示された最大ビジー時間BT1である。この例の場合、第1のタスクの書き込み処理のビジー時間は、全てBT1以内で出力される。
【0038】
第1のタスクと同様に第2のタスクにおいて、複数の書き込み処理に先行して各書き込み処理のビジー時間設定指示BTD1が行なわれる。このビジー時間設定指示BTD1において、最大ビジー時間BT2が指示されると、その後の8回の書き込み処理のビジー時間は、全てBT2以内で出力される。
【0039】
図6は、複数のタスクに対して共通のビジー時間を設定する場合を示しており、図5と同一部分には同一符号を付している。この場合、第1のタスクに先行して書き込み処理のビジー時間設定指示BTD2が行なわれる。すなわち、ホスト10からコマンド“00h”に続くアドレスサイクルにおいて、例えばビジー時間BT2が指示される。次いで、アドレスサイクルの終了を示すコマンド“57h”が発行される。すると、メモリカード1からレディ信号(B2R)がホスト10に送信される。この後、ホスト10から8個の書き込み処理を示すコマンドセットが順次メモリカード1に送信される。各コマンドセットは、書き込みコマンド“80h”、スタートアドレス、データDT、コマンド“10h”により構成されている。メモリカード1は、各コマンドセットのコマンド“10h”を受けると、ホストにビジー信号を送信する。このビジー信号の送信期間は、ビジー時間設定指示において指示された時間BT2以内である。この例の場合、第1のタスクから第nのタスクの全ての最大ビジー時間はBT2以内で出力される。
【0040】
図7は、図5に示す例の変形例を示すものであり、あるタスク内の1つの書き込み処理に対してのみ有効なビジー時間を設定する場合を示している。図7において、図5と同一部分には同一符号を付している。
【0041】
この例において、第1のタスク乃至第nのタスクは、タスク毎にビジー時間を設定可能とされており、第1のタスクは、ビジー時間設定指示BTD1によりビジー時間がBT1に設定され、第nのタスクは、ビジー時間設定指示BTD1によりビジー時間がBT2に設定される。さらに、第1のタスクは、書き込み処理の途中にビジー時間設定指示BTD3が挿入されている。すなわち、1番目の書き込み処理(セクタカウント8)と2番目の書き込み処理(セクタカウント7)との間でビジー時間設定指示BTD3が行なわれる。この場合、1番目の書き込み処理(セクタカウント8)と3番目(セクタカウント6)から8番目(セクタカウント1)は、ビジー時間設定指示BTD1により指示されたビジー時間BT1に設定される。
【0042】
また、ビジー時間設定指示BTD3の次の2番目の書き込み処理(セクタカウント7)は、ビジー時間設定指示BTD3で指示された最大ビジー時間BT3が設定される。すなわち、ビジー時間設定指示BTD3において、ホスト10からコマンド“00h”に続くアドレスサイクルにおいて、例えばビジー時間BT3が指示される。次いで、アドレスサイクルの終了を示すコマンド“57h”が発行される。すると、メモリカード1からレディ信号(B2R)がホスト10に送信される。この後、ホスト10から書き込みコマンド“80h”、スタートアドレス、データDT、コマンド“10h”が順次メモリカード1に送信される。メモリカード1はコマンド“10h”を受けると、ホストにビジー信号を送信する。このビジー信号の送信期間は、直前のビジー時間設定指示BTD3において指示された時間BT3である。
【0043】
このように、書き込み処理の途中に挿入されたビジー時間設定指示BTD3が、タスクの先頭において実行されたビジー時間設定指示BTD1より優先される。1つのタスク内に発生されるビジー時間設定指示BTD3は、1つに限定されるものではなく、複数個発生させることも可能である。いずれの場合においても、1つのビジー時間設定指示BTD3は、次の書き込み処理についてのみ有効である。
【0044】
ここで、図5、図6、図7に示す例のビジー時間設定指示BTD1、BTD2、BTD3の優先順位は、次のようになる。
【0045】
BTD2<BTD1<BTD3
すなわち、書き込み処理の途中で実行されるビジー時間設定指示BTD3が最も優先順位が高く、次に、各タスクの先頭において実行されるビジー時間設定指示BTD1、次に複数のタスクの先頭において実行されるビジー時間設定指示BTD2の順となる。
【0046】
上記第2の実施形態によれば、タスク毎にビジー時間の設定を指示したり、複数のタスクに対して共通のビジー時間の設定を指示したりすることができる。このため、複数の書き込み処理毎にビジー時間を設定する必要がないため、書き込み処理の高速化を図ることができるとともに、ビジー時間設定指示に要するホスト10の負担を軽減することができる。
【0047】
また、複数のタスクに対して一旦設定された許容可能な最大ビジー時間設定が、後のビジー時間設定指示により更新されるまで有効とされる。このため、ビジー時間設定指示に要する手間を省くことができる。
【0048】
さらに、タスクに含まれる書き込み処理の途中において、ビジー時間設定指示を可能とし、1つの書き込み処理についてのみ特別のビジー時間を設定可能としている。このため、特定の書き込み処理について、必要なビジー時間を設定することができる。したがって、特定の書き込み処理に対して適正なビジー時間を設定することが可能である。
【0049】
また、ビジー時間設定指示に優先度を設けているため、ビジー時間を状況に応じて適切に設定することが可能である。
【0050】
(第3の実施形態)
図8は、第3の実施形態を示している。第1、第2の実施形態において、記憶装置としてのメモリカード1は、ホスト10によりビジー時間設定指定が行なわれると、指定されたビジー時間を無条件に設定していた。
【0051】
これに対して、第3の実施形態は、ホスト10によりビジー時間設定指定を行なった後、そのビジー時間が受け入れ可能か否かが確認される。
【0052】
すなわち、図8に示すように、ホスト10によりビジー時間設定指定BTDがメモリカード1に送信され、メモリカード1よりレディ信号がホスト10に送られると、ホスト10は、メモリカード1のステータスを読み出すステータスリードコマンド“70h”を発行する。メモリカード1は、コマンド“70h”を受けると、ステータスデータSTDを準備し、ホスト10はこれを読み出す。ステータスデータSTDは、例えばレディ/ビジーを示すビット、セクタ書き込みのパス/フェイルを示すビット、及びビジー時間の受け入れが可能か否かを示すビット等を含んでいる。ホスト10は、ステータスデータSTDの対応ビットが受け入れ可能を示す場合、例えば書き込みコマンドシーケンスを実行する。
【0053】
一方、ステータスデータSTDの対応ビットが受け入れ不可能を示す場合、データ出力要求のコマンドセットが発行する。このコマンドセットは、例えばコマンド“00h”、データ出力要求RQ、及びコマンド“57h”により構成されている。アドレスサイクルにおけるデータ出力要求RQは、データ出力要求を示すパラメータ定義と、パラメータとしての例えばデータ長により構成されている。
【0054】
上記コマンドセットを受信したメモリカード1のCPU7は、設定可能なビジー時間BT4を算出し、このビジー時間BT4をデータとしてホスト10に送信する。
【0055】
このビジー時間BT4としてのデータを受信したホスト10は、このビジー時間BT4に基づきビジー時間設定指示BTDを再度メモリカード1に送信する。すなわち、ホスト10からコマンド“00h”、メモリカード1から供給されたビジー時間BT4、コマンド“57h”がメモリカード1に送信される。この後、メモリカード1からレディ信号が送出されると、ホスト10からデータの書き込み処理を示すコマンドセットがメモリカード1に送信される。メモリカード1は、最大ビジー時間BT4の期間において、指定された書き込み処理を実行する。
【0056】
上記第3の実施形態によれば、ホスト10は、ビジー時間設定指示を行なった後、メモリカード1のステータスデータSTDを読み出し、このステータスデータSTDが受け入れ不可能を示す場合において、メモリカード1に対してデータ出力要求を行い、この要求に応じてメモリカード1から出力されたビジー時間に基づきビジー時間設定指示を行ない、ビジー時間を再設定している。このため、メモリカード1のビジー時間をホスト10により最適化することができる。したがって、一層適正な書き込み処理を行うことが可能である。
【0057】
図9は、上記第1乃至第3の実施形態が適用されるメモリカードの内部処理の一例を示している。
【0058】
前述したように、メモリカード1は、書き込み処理において、先行する書き込み処理で発生した未整理状態のデータを、ビジー時間の余剰時間の範囲において、整理処理している。この未整理状態のデータが多い場合、1つのビジー時間内で整理することは困難である。これを考慮して、ホスト10は、書き込み処理に対する許容可能な最大ビジー時間を設定して書き込み処理を実行する。
【0059】
例えば図9(a)に示す記憶領域(ブロック)において、先行する書き込み処理により、論理ブロックアドレス(1)〜(4)の書き込みが行なわれ、論理ブロックアドレス(A)〜(D)が未整理状態であるとする。この場合、図9(b)に示す新たにアサインされた記憶領域の論理ブロックアドレス(5)〜(8)の書き込み処理を行なうとき、ホスト10により、許容可能な最大ビジー時間BTmが設定される。このビジー時間の設定は、第1乃至第3の実施形態において説明したビジー時間設定指示を適用できる。
【0060】
図9(c)に示すように、論理ブロックアドレス(5)〜(8)の書き込み処理は、ビジー時間設定指示により設定されたビジー時間BTm内において実行され、論理ブロックアドレス(5)〜(8)の各書き込み処理の余剰時間において、未整理状態の論理ブロックアドレス(A)〜(D)をコピーや消去することにより、整理することができる。
【0061】
このように、未整理状態のブロックが複数存在する場合においても、各書き込み処理の余剰時間を用いて、分散して処理することにより、記憶領域の低減、及び書き込み処理の遅延を防止して、未整理状態のデータを整理することができる。
【0062】
尚、本発明は、上記各実施形態に限定されるものではなく、発明の要旨を変えない範囲において種々変形実施することが可能である。また、各実施形態を選択的に組み合わせて実施することも可能である。
【図面の簡単な説明】
【0063】
【図1】各実施形態が適用されるメモリシステムを概略的に示す構成図。
【図2】第1の実施形態を示すものであり、ビジー時間設定指示の動作を示す図。
【図3】図3(a)は、第1の実施形態に係るビジー時間設定指示の一例を示す図、図3(b)は、図3(a)に示すアドレスサイクルの一例を示す図。
【図4】図4(a)は、第1の実施形態に係る書き込み処理を示すコマンドセットの一例を示す図、図4(b)は、図4(a)に示すスタートアドレスサイクルの一例を示す図。
【図5】第2の実施形態を示すものであり、タスク毎にビジー時間を設定する例を示す図。
【図6】第2の実施形態を示すものであり、複数のタスクにビジー時間を一括して設定する例を示す図。
【図7】第2の実施形態を示すものであり、タスク内に最大の優先度を有するビジー時間を設定する例を示す図。
【図8】第3の実施形態を示すものであり、ホストとメモリカードとの間のコマンド応答に対応してビジー時間を設定する例を示す図。
【図9】第1乃至第3の実施形態を用いた書き込み処理と内部動作の一例を示す図。
【符号の説明】
【0064】
1…メモリカード、2…NAND型フラッシュメモリ、3…コントローラ、7…CPU、10…ホスト、BTD、BTD1〜BTD3…ビジー時間設定指示、BT1〜BT4…ビジー信号。

【特許請求の範囲】
【請求項1】
複数のデータ記憶領域を有する不揮発性メモリと、前記不揮発性メモリの読み出し及び書き込みを制御するコントローラとを有する記憶装置と、
前記記憶装置が接続されるホストとを有し、
前記ホストは、前記記憶装置の動作に先立って、前記記憶装置の前記動作に必要で、許容可能な最大ビジー時間を前記記憶装置に指示することを特徴とするストレージシステム。
【請求項2】
複数のデータ記憶領域を有する不揮発性メモリと、
前記不揮発性メモリの読み出し及び書き込みを制御するコントローラとを具備し、
前記コントローラは、ホストから指示された許容可能な最大ビジー時間の範囲内で、ビジー信号を前記ホストに示すことを特徴とする記憶装置。
【請求項3】
前記許容可能な最大ビジー時間内で、前記ホストからの書き込み命令に対応する書き込み処理を行い、先行する書き込み処理で発生した未整理状態のデータの整理処理を行うことを特徴とする請求項2記載の記憶装置。
【請求項4】
複数の書き込みタスクに対して一旦設定された許容可能な最大ビジー時間は、更新されるまで有効であることを特徴とする請求項1記載のストレージシステム又は請求項2記載の記憶装置。
【請求項5】
複数の書き込みタスクの冒頭で設定された許容可能な最大ビジー時間が、各書き込みタスクに有効であることを特徴とする請求項1記載のストレージシステム又は請求項2記載の記憶装置。
【請求項6】
書き込みタスクにおいて、個々の書き込み処理の発生前に設定された許容可能な最大ビジー時間が続く書き込み処理に有効であることを特徴とする請求項1記載のストレージシステム又は請求項2記載の記憶装置。
【請求項7】
前記許容可能な最大ビジー時間は、第1の優先度、第2の優先度、及び第3の優先度を有し、
前記第1の優先度は、前記タスク内の1つの書き込み処理に対応して設定される1回限り有効な許容可能な最大ビジー時間であり、
前記第2の優先度は、前記書き込みタスクの前で設定される1つの書き込みタスクに限り有効な許容可能な最大ビジー時間であり、
前記第3の優先度は、複数の前記書き込みタスクに対して共通に設定される許容可能な最大ビジー時間であることを特徴とする請求項1記載のストレージシステム又は請求項2記載の記憶装置。
【請求項8】
前記ホストが記憶装置に許容可能な最大ビジー時間を指示したとき、記憶装置がそれを受け入れ可能かどうかを応答するプロトコルを有することを特徴とする請求項1記載のストレージシステム又は請求項2記載の記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−44570(P2010−44570A)
【公開日】平成22年2月25日(2010.2.25)
【国際特許分類】
【出願番号】特願2008−207960(P2008−207960)
【出願日】平成20年8月12日(2008.8.12)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】