説明

フラッシュメモリシステムにおける段階的ガーベッジコレクションおよびハウスキーピング操作

不揮発性メモリストレージシステムの一実施形態は、メモリコントローラとフラッシュメモリモジュールとを備える。メモリコントローラはフラッシュメモリモジュールの蓄積操作を管理する。メモリコントローラは、ストレージシステムへ結合されたホストから受信される1種類以上のコマンドの優先度より高い優先度を、1種類以上のハウスキーピング操作に割り当て、かつフラッシュメモリモジュールに求められる全操作を優先順位に従い処理するように構成される。

【発明の詳細な説明】
【技術分野】
【0001】
本願は、一般的にはフラッシュメモリの操作に関し、より具体的には内部操作とホストから受信されるコマンドで調整を図ることに関する。
【背景技術】
【0002】
ホストはフラッシュメモリカードまたはドライブ等の不揮発性メモリシステムに情報を蓄積する。このため、ホストから受信されるコマンドは速やかに処理するべきであり、通常ならばシステム内で発生する他の操作より優先する。
不揮発性メモリストレージシステムは、メモリでデータを管理するための操作または命令を受信、送信、もしくは発行する。不揮発性メモリストレージシステムによって受信もしくは発行されるメモリ操作のほとんどは直ちに実行される。しかし、種々のタイミング制限のため(例えば、初期化タイムアウト、書き込みコマンドタイムアウト制限、およびその他のタイミング制限)、メモリ操作を完全に実行するにあたって十分な時間を確保できないことがある。その結果、メモリ操作の実行は次の使用可能なタイムスロットまで延期されたり、メモリ操作が次回トリガされるまで無視されたりすることがある。ガーベッジコレクション操作は、メモリシステムのデータを管理し、その信頼性を保証するため、(ホストによって起動されるのではなく)内部で起動される操作である。このような操作は、コントローラおよび/またはシステムファームウェアによって起動される。
【0003】
現在、メモリ操作は不揮発性メモリストレージシステムのランダムアクセスメモリ(RAM)に一時的に蓄積される。しかし、RAMは、延期される各種メモリ操作を1種類ずつしか蓄積しないように構成されている。例えば、不揮発性メモリストレージシステムで1つのブロックを再生する必要があって、その結果、ガーベッジコレクション操作をトリガする場合には、そのガーベッジコレクション操作をRAMに蓄積し、後ほど実行するように延期できる。その一方で、不揮発性メモリストレージシステムで2つのブロックを再生する必要がある場合には、それら再生に関連するガーベッジコレクション操作が両方ともRAMに蓄積されるわけではない。さらに、停電が発生するとRAMに蓄積された情報が失われ、メモリ操作は次回のトリガまで実行されない。そのような情報損失はアクセスエラーを招き、不揮発性メモリストレージシステムの信頼性を損なうおそれがある。このため、不揮発性メモリストレージシステムにおける蓄積とメモリ操作処理の改善に向けて継続的な取り組みがなされている。
【発明の概要】
【0004】
本発明の各種実施形態は、ホストコマンドとメモリシステム内部操作の包括的かつ一元的管理を通じてメモリシステムの使用効率を向上させる。
一態様は、内部操作とホストコマンドを一元化する優先順位方式を含む。タスクは優先順位に従って処理されるが、これは、場合によってはホストコマンドが直ちに処理されないことを意味する。ホストコマンドを受信するときに既に進行中の操作があって、これを続行することが効率的ならば、続行する。状況次第ではホストコマンドをいくぶん遅延することもある。システムは、一実施形態において、操作の実行中であってもホストに対してアイドル状態を示す可能性がある。
他の態様は、リソースがメモリの利用率に基づいて割り当てられる、適応型スケジューリングシステムに関する。
【図面の簡単な説明】
【0005】
【図1A】不揮発性メモリストレージシステム102の一実施形態のブロック図である。
【図1B】システムのバックエンドのフラッシュメモリアレイによる処理を要する種々のエンティティのブロック図である。
【図2】システムの操作管理のフローチャートである。
【図3A】一般的な操作タイプとその優先順位の表である。
【図3B】操作の説明とその優先順位の表である。
【図4】ホストコマンド処理の一態様を示すフローチャートである。
【図5】適応型操作スケジューリングを示すフローチャートである。
【図6】ホスト遅延対書き込みキャッシュ利用率の一実施形態のグラフである。
【発明を実施するための形態】
【0006】
図1Aは、本発明の一実施形態による不揮発性メモリストレージシステムの一例の簡略ブロック図である。ホストシステム(例えば、デスクトップコンピュータ、オーディオプレイヤ、デジタルカメラ、携帯電話機、およびその他の計算装置)は、不揮発性メモリストレージシステム102でデータを読み書きできる。不揮発性メモリストレージシステム102はホストに内蔵されることもあれば、取り外し可能にホストに接続されることもある。図1Aに見られるように、不揮発性メモリストレージシステム102はメモリ118と通信するメモリコントローラ110を含む。通常はメモリコントローラ110がメモリ118の動作を制御する。
【0007】
メモリコントローラ110は、ホストインターフェイス104を通じてシステムバス126に接続するバス124を含む。メモリコントローラ110はさらに、メモリインターフェイス108を通じてメモリ118に接続する。ホストインターフェイス104と、プロセッサ106(例えば、マイクロプロセッサ、マイクロコントローラ、およびその他のプロセッサ)と、メモリインターフェイス108と、ランダムアクセスメモリ(RAM)112と、誤り訂正符号(ECC)回路114と、読み出し専用メモリ(ROM)116とは、バス124経由で通信する。ROM116にはストレージシステムファームウェアを蓄積でき、このストレージシステムファームウェアはメモリ118の動作を制御するプログラム命令を含む。プロセッサ106は、ROM116か不揮発性メモリセルアレイ122からロードされたプログラム命令を実行するように構成される。RAM112にはストレージシステムファームウェアを一時的にロードできるほか、ホストとメモリ118との間で転送されるデータをバッファするために使用することもできる。RAM112はさらに、メモリ操作のキュー130を蓄積するように構成できる。ECC回路114は、ホストおよびメモリ118間でメモリコントローラ110を通過するエラーをチェックできる。ECC回路114は、エラーが見つかる場合に多くのエラービットを訂正できるが、訂正されるエラービット数は使用するECCアルゴリズムによって異なる。
【0008】
メモリ118は、アレイロジック120と不揮発性メモリセルアレイ122とを含み得る。不揮発性メモリセルアレイ122は様々な不揮発性メモリ構造・技術を含んでもよい。不揮発性メモリ技術の例として、フラッシュメモリ(例えば、NAND、NOR、シングルレベルセル(SLC/BIN)、マルチレベルセル(MLC)、分割ビット線型NOR(DINOR)、AND、高容量結合比(HiCR)、非対称非接触型トランジスタ(ACT)、およびその他のフラッシュメモリ)、消去可能でプログラム可能な読み出し専用メモリ(EPROM)、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)、読み出し専用メモリ(ROM)、一度だけプログラム可能なメモリ(OTP)、およびその他のメモリ技術が挙げられる。メモリ操作のキュー130は、RAM112のほかに不揮発性メモリセルアレイ122に蓄積することもできる。
【0009】
さらに、アレイロジック120はメモリコントローラ110を不揮発性メモリセルアレイ122に接続し、例えばアドレシングやデータ転送・感知等のサポートを不揮発性メモリセルアレイに提供できる。不揮発性メモリセルアレイ122をサポートするため、アレイロジック120は、行デコーダ、列デコーダ、電荷ポンプ、ワード線電圧生成器、ページバッファ、入出力バッファ、アドレスバッファ、およびその他の回路を含んでもよい。
【0010】
図1Bは、システムによる操作処理を示す。このようなシステムは一般的に、電力・クロック設定や対ホスト通信等、ホストの詳細を処理する「フロントエンド」と、フラッシュメモリモジュール自体をなす「バックエンド(「BE」)」とを有するとしばしば言われている。
メモリコントローラはしばしば、バックエンドとは無関係の作業に追われてビジー状態になる。フラッシュメモリはそのような場合にアイドル状態ではなく、操作を実行できる。例えば、メモリコントローラはMP3の歌を再生したり、他の何らかのアプリケーションを実行したりできる。この場合、コントローラはホストへの応対に追われるが(歌のストリーミングや、そうでなければアプリケーションの実行)、BEはアイドル状態である。この場合は、バックエンドがアイドル状態のときに、ハウスキーピング操作を実行するのが好ましい。そうすれば応答時間が短縮し、それによってシステム性能が向上する。
【0011】
概して、BEのアイドル時間は本発明の実施形態により有効利用される。ホストコマンドの合間もアイドル時間に含まれてもよい。アイドル時間は一般的に、フラッシュメモリモジュールがホストコマンドの処理に使われていない時間を指す。
例えば書き込みコマンドのときには、ホストがメモリコントローラへデータを送信している間に、システムはバックグラウンド(BEフラッシュメモリ)でハウスキーピング操作を実行し続けることができる。読み出しコマンドのときには、ホストが内部バッファ(例えば、メモリコントローラ内のバッファ)からデータを読み出している間に、システムはフラッシュメモリでハウスキーピング操作を開始もしくは再開できる。
【0012】
メモリコントローラは、フラッシュメモリモジュールが関与しないフロントエンド関係の操作を実行することもあれば、バックエンドのフラッシュメモリモジュールに関係する操作を実行することもある。これは「バックエンド」および/または「フロントエンド」の一部とみなすことができる。バックエンドマネージャ(「BEM」)150は、バックエンドインターフェイス146とBEグローバルスケジューラ144とを備える。BEインターフェイス146がメモリ122の詳細に適合することにより、BEグローバルスケジューラ(「BES」)144は構成/タイプが異なる様々なメモリ122を扱うことができる。BES144は、メモリコントローラによって実行されるファームウェアとして、および/または状態マシン内のハードロジック等として、実装できる。
一般的にはBEM150が、より具体的にはBES144が、メモリ122の操作のスケジューリングと処理を制御する。制御線142ではBES144によって制御信号が送受される。データバス148ではバックエンドインターフェイス146によってデータが送受信される。データバス148は、図1Aおよび図1Bのバス124および126と制御線142の全部または一部をなすことがある。
【0013】
ホストコマンド134と、内部アプリケーション操作136と、ハウスキーピング操作138と、書き込みキャッシュバッファ(「WCB」)内の保留項目140はどれもBES144によって管理される。WCBは一実施形態においてフラッシュメモリアレイの一部であり、例えばキャッシュとして使用されるブロックであり、書き込みバッファブロック(「WBB」)と呼ぶこともある。WCBは別の実施形態において、通常のランダムアクセスメモリキャッシュであってもよい。内部アプリケーション操作136は、アプリケーションがメモリシステムの基本的機能を増強するための操作であり、随時システムにロードされ得る。このようなアプリケーションファームウェアは、システムのオペレーティングファームウェアとは別のファームウェアである。例えばパスワード管理アプリケーションやホームバンキングソフトウェアアプリケーションをメモリカードに加えることができ、そのような内部アプリケーション(ホストアプリケーションと対照的)はバックエンドによる処理を要する。
【0014】
図2は、コマンド処理の一実施形態を示すフローチャートである。メモリシステムは様々な形態をとり得るが、簡潔さを図るため、これ以降はメモリカードと呼ぶ場合がある。本発明によるメモリカードは、ホストコマンドの合間を利用して別の操作を実行する。従来のシステムでは、操作が発生すると、カードがビジー状態を示す。しかし、この実施形態のカードは、ステップ204に示すように、バックグラウンドで操作を実行していてもアイドル状態を示す。ステップ208で受信されるホストコマンドは、ステップ212でバックエンドスケジューラ144へ送信される。ステップ216では、既にバックグラウンドでコマンドまたは操作が実行されている場合に、BES144がステップ208で受信したホストコマンドの優先順位を実行中のコマンドまたは操作と比較する。
【0015】
ステップ216の比較が行われている間に、ステップ220に示すようにビジー信号がアサートされる。これと同時に、BEスケジューラはステップ228に示すように目下のコマンドまたは操作の実行が完了するまで時間を測定する。あるいはBEスケジューラは実行が完了するまで待つのではなく、時間の上限もしくは時間枠を設ける。この場合、時間枠の中で経過時間を測定するか、あるいは上限に達するまで経過時間を測定する。
ステップ224に見られるように、カードはここで優先順位が最も高い活動を実行するが、これがホストコマンドになるとは限らない。例えばハウスキーピングコマンドの優先順位が受信したコマンドより高ければ、ハウスキーピングコマンドが続行し得る。
【0016】
前述したように、一部の実施形態ではBEM150が操作の優先順位に従って操作を処理する。図3Aおよび図3Bにそれぞれ複製された以下の表Aおよび表Bには、操作の優先順位が線引きされている。表Aは、一般的な操作タイプに対応する優先順位を概括的に示している。従来のシステムでは通常、ホストコマンド(ホストコマンドを正常に処理するにあたって必要とされるハウスキーピング操作を含む)が直ちに処理されるが、このシステムでは、ホストコマンドに先立ち既に実行中のハウスキーピング操作を完了させ、ホストコマンドとは無関係かホストコマンドに必要のないハウスキーピングコマンド等、特定のハウスキーピングコマンドを処理したほうがしばしば効率的であると判断する。これ以外のハウスキーピングコマンドの優先順位は低く、ホストコマンドの優先順位は、このようなハウスキーピングコマンドまたは操作より高い。
【表A】

【0017】
表Bに示す例示的な優先度「00」から「05」で、「00」は最も高い優先順位であり、「05」は最も低い優先順位である。表Aおよび表Bとは別の優先順位設定法を使用することもでき、カードの耐用年数にわたって優先順位を変えることもできることを理解するべきである。WBBから項目を片づけるクリーニング操作はよくある操作で、多数の優先順位が割り当てられる。例えば、WBBクリーニング等のハウスキーピング操作の優先度は「02」から「05」におよぶ。これとはタイプの異なるハウスキーピング操作にも様々な優先度を割り当てることができる。加えて、ホストコマンドにも異なる優先順位を割り当てることができる。これらの操作に割り当てられる優先順位も、書き込みバッファブロック140の利用率に応じて「02」から「05」の範囲で変化し得る。WBBの利用率を判断するには数多くの方法があるが、好ましくはWBB内の(有効)項目数をWBBで保持できる総項目数に比較することによって判断する。換言すると、この方法による利用率は実際の項目数/項目容量となる。
【表B】

【0018】
図4は、操作処理を示すもうひとつのフローチャートである。ステップ404ではホストコマンドを受信する。システムは次のステップ408で、ステップ404で受信したホストコマンドがガーベッジコレクションやハウスキーピング操作を要するかあるいは作成するか否かを判断する。当該技術分野ではガーベッジコレクションとハウスキーピング操作が同じ意味で使われることもあるが、ガーベッジコレクションはハウスキーピング操作の一部と考えることができる。しかし、本願明細書では、当該技術分野において一般的であるように、これらの用語を互換的に使用する。ホストコマンドがガーベッジコレクションを要するかあるいは作成すると判断した場合には、ステップ416に見られるように、ホストコマンド(関連するガーベッジコレクション操作を含む)を直ちに処理する。しかし、必要なければ、ステップ412で優先順位に従い操作を処理する。例えば、表Aおよび表Bの優先順位に従って操作を処理してもよい。
【0019】
オーディオ/ビデオ等の高帯域アプリケーションの性能を高めることができる。ある種のアプリケーションは正常に作動するにあたって最低限の帯域幅を必要とする。例えばオーディオ/ビデオアプリケーションには最低限の帯域幅が必要であり、これに応じて通常ならばタイムアウトを予め設定しておく必要がある。したがって、長い操作は与えられた時間内に遂行できないことがある。そこで一実施形態では、システムによって実行されるアプリケーションに応じて操作のスケジューリングを変えられるようにする。これを適応型スケジューリングと呼ぶ。一実施形態では所定のタイムアウトに適合するため、長い操作、例えばFAT/DIR更新により発生するガーベッジコレクションは、いくつかの短い操作に分割できる。こうすることでSD AV性能等級等、所与の製品の性能等級が向上し、ホスト側に要求されるバッファのサイズは抑えられる。
別の実施形態において、BEM150がメモリの利用率に従い操作を処理する。こうすることで書き込みキャッシュが一杯になることはなく、必要なときに常に使用できる。
【0020】
図5は、特定の適応型スケジューリングの実施形態またはプロセスのフローチャートを示す。ステップ504では、システムが書き込みキャッシュすなわちWBBの利用率を評価する。前に述べたように、WBBはフラッシュメモリを利用する書き込みバッファの一種であり、WBBと記すが、どんなキャッシュメモリであれ利用率を見積もることができ、キャッシュメモリの一部分でも利用率を見積もることができる。ステップ508に見られるように、利用率が第1のしきい値を下回る場合には、ステップ510に見られるように着信ホストコマンドを遅延しない。しかし、ステップ512で利用率が第1のしきい値を上回り第2のしきい値を下回ると判断する場合には、ステップ516で着信ホストコマンドを遅延し、ステップ520では遅延されるホストコマンドにあてられた時間の中でハウスキーピングコマンドを実行する。しかし、ステップ512で利用率が第2のしきい値を上回ると判断する場合には、ハウスキーピング操作の実行に最大限の時間を配分する。
【0021】
図6は、遅延もWBBの利用率に従って変化し得ることを示している。図6に見られるように、WBBが満杯の50%に満たなければ性能に支障はなく、WBBのクリーニングにあたってホストがストールすることはない。あらゆる作業はバックグラウンドで行われる(低優先順位)。WWBの利用率が50%を超えるとホストコマンド処理は利用率に応じて上限に達するまで遅延され、その後には使用可能な時間枠の中でホストコマンドを片づける。図6は直線的な増加を示しているが、図は一例にすぎず、変化は直線的であるとは限らず、50%以外のパーセンテージでも起こり得る。

【特許請求の範囲】
【請求項1】
フラッシュメモリストレージシステムの利用率を向上させる方法であって、
前記システムのフラッシュメモリモジュールに求められる操作をキューに入れるステップと、
前記操作の優先順位に従い操作のスケジュールを組み、前記スケジュールが組まれた操作を前記キューから取り出すステップであって、ホストコマンドに必要のない少なくとも1つのハウスキーピング操作は、少なくとも1つのホストコマンドより高い優先順位に設定され、前記ホストコマンドより前に処理されるようにスケジュールが組まれる、ステップと、
を含む方法。
【請求項2】
請求項1記載の方法において、
前記フラッシュメモリの1つ以上ブロックの中で書き込みバッファを実装するステップをさらに含む方法。
【請求項3】
請求項2記載の方法において、
前記操作キューを蓄積するために前記書き込みバッファブロックを利用するステップをさらに含む方法。
【請求項4】
フラッシュメモリストレージ装置を操作する方法であって、
ホスト装置からホストコマンドを受信するステップと、
前記受信ホストコマンドを正常に実行するため、予め前記受信ホストコマンドにガーベッジコレクションが必要であるか否かをチェックするステップと、
前記受信ホストコマンドを正常に実行するにあたってガーベッジコレクションが必要である場合に、処理スケジュールが組まれた他のコマンドより前に前記受信ホストコマンドを処理するステップと、前記受信ホストコマンドを正常に実行するにあたってガーベッジコレクションが必要でない場合に、前記ホストコマンドより優先順位が高い別の操作を前記ホストコマンドより前に処理するようにスケジュールを組むステップと、
を含む方法。
【請求項5】
請求項4記載の方法において、
前記受信ホストコマンドを処理するステップは、前記所要のガーベッジコレクションを実行するステップと、その後に前記ホストコマンドを遂行するステップとを含む方法。
【請求項6】
請求項4記載の方法において、
前記受信ホストコマンドを正常に実行するにあたってガーベッジコレクションが必要でない場合に、保留になっている他の操作がそれぞれの優先順位に従い処理される方法。
【請求項7】
メモリコントローラとフラッシュメモリモジュールとを備えるフラッシュメモリストレージシステムの性能を向上させる方法であって、
統一優先順位方式にてホストコマンドと前記ストレージシステムの内部操作とを含む1群の操作に優先順位を設定するステップを含み、
少なくとも1つのホストコマンドの優先順位は、少なくとも1つのガーベッジコレクションコマンドより低く設定される方法。
【請求項8】
請求項7記載の方法において、
既存ハウスキーピング操作を完了するために少なくとも1つのホストコマンドの実行を遅延するステップをさらに含む方法。
【請求項9】
請求項7記載の方法において、
前記内部操作は、ハウスキーピング操作と、アプリケーションファームウェアによって生成される操作と、前記システムのキャッシュメモリにある保留項目とを含む方法。
【請求項10】
請求項9記載の方法において、
前記保留項目は、前記キャッシュメモリ内の書き込みバッファブロックに蓄積される方法。
【請求項11】
請求項9記載の方法において、
前記ハウスキーピング操作は、ガーベッジコレクション操作を含む方法。
【請求項12】
請求項7記載の方法において、
優先順位が設定された操作のスケジューリングは、前記システムのメモリコントローラによって実行されるファームウェアによって制御される方法。
【請求項13】
請求項7記載の方法において、
優先順位が設定された操作のスケジューリングは、前記システムのハードウェアに実装された状態マシンによって制御される方法。
【請求項14】
フラッシュメモリストレージシステムを操作する方法であって、
ホストコマンドの正常処理にあたって必要とされるハウスキーピングコマンドに第1の優先度を割り当てるステップと、
ホストコマンドに第2の優先度を割り当てるステップと、
前記第1の優先度が割り当てられていない1つ以上のハウスキーピングコマンドに第3の優先度を割り当てるステップと、
優先度の順に前記コマンドを処理するステップと、
を含む方法。
【請求項15】
請求項14記載の方法において、
内部アプリケーションコマンドに前記第2の優先度を割り当てるステップをさらに含む方法。
【請求項16】
ホストコンピュータへ結合されたフラッシュメモリストレージシステムを操作する方法であって、
前記ホストコンピュータに対して前記ストレージシステムがアイドル状態にあることを示しながら、前記ストレージシステムの操作を実行するステップと、
前記ストレージシステムにてホストコマンドを受信するステップと、
前記受信ホストコマンドの優先順位を実行中の前記操作の優先順位と比較するステップと、
前記比較するステップの最中にビジー信号をアサートするステップと、
を含む方法。
【請求項17】
請求項16記載の方法において、
前記比較するステップの後に、前記受信コマンドの優先順位が実行中の前記操作の優先順位より高いことが前記比較するステップから判明する場合に、前記受信コマンドを実行するステップと、そうでなければ、既に進行中の前記操作の実行を継続するステップと、をさらに含む方法。
【請求項18】
メモリコントローラとフラッシュメモリモジュールとを備えるフラッシュメモリストレージシステムの利用率を極大化する方法であって、
前記ストレージシステムへ結合されたホストから受信される1種類以上のコマンドの優先度より高い優先度を、1種類以上のハウスキーピング操作に割り当てるステップと、
ホストコマンドを受信するステップと、
前記コマンドの優先度をハウスキーピング操作の優先度と比較するステップと、
前記受信コマンドを処理する前に、前記受信コマンドより優先度が高いと判断された1つのハウスキーピング操作の少なくとも一部分を実行するステップと、
を含む方法。
【請求項19】
メモリコントローラとフラッシュメモリモジュールとを備えるフラッシュメモリストレージシステムの利用率を極大化する方法であって、
前記システムの書き込みバッファブロックを前記システムの操作キューとして利用するステップと、
前記書き込みバッファブロックの利用度を評価するステップと、
前記評価済み利用度に基づき前記フラッシュメモリモジュールを利用する操作のスケジュールを組むステップと、
を含む方法。
【請求項20】
請求項19記載の方法において、
前記評価済み利用度がしきい値を上回ると判断される場合に、ハウスキーピング操作の処理に使用可能な時間が配分される方法。
【請求項21】
請求項19記載の方法において、
前記評価済み利用度がしきい値を下回ると判断される場合に、
使用可能な時間がまずホストコマンドに配分され、かつ
前記ホストコマンドに要する時間枠の直後に、1つ以上のハウスキーピング操作に短い時間が配分される方法。
【請求項22】
請求項21記載の方法において、
前記評価済み利用度が前記しきい値を下回ると判断される場合に、1つ以上のハウスキーピング操作のバックグラウンド実行スケジュールが組まれる方法。
【請求項23】
請求項19記載の方法において、
前記評価済み利用度が第1のしきい値を下回ると判断される場合に、着信ホストコマンドは遅延されない方法。
【請求項24】
請求項23記載の方法において、
前記評価済み利用度が前記第1のしきい値を上回るが、第2のしきい値を下回ると判断される場合に、
着信ホストコマンドは遅延され、かつ
使用可能な時間がまず前記着信ホストコマンド遅延中のハウスキーピング操作に配分される方法。
【請求項25】
請求項24記載の方法において、
前記評価済み利用度が前記第2のしきい値を上回ると判断される場合に、ホストコマンド前後の配分可能・使用可能最大時間がハウスキーピング操作に配分される方法。
【請求項26】
フラッシュメモリストレージシステムであって、
メモリコントローラと、
フラッシュメモリモジュールと、
前記フラッシュメモリモジュールのデータ蓄積操作に優先順位を設定するバックエンドマネージャと、を備え、
前記バックエンドマネージャは、前記フラッシュメモリモジュールに求められる1群の前記データ蓄積操作を解析するように構成され、かつ
ホストコマンドの優先順位が前記フラッシュメモリストレージシステムの内部操作より低いか否かを判断し、かつ低いと判断した場合に、前記内部操作の少なくとも一部分を前記ホストコマンドより前に実行するように構成されるフラッシュメモリストレージシステム。
【請求項27】
請求項26記載のシステムにおいて、
前記バックエンドマネージャは、前記システムのファームウェアを備えるシステム。
【請求項28】
請求項26記載のシステムにおいて、
前記バックエンドマネージャは、状態マシンを備えるシステム。
【請求項29】
フラッシュメモリストレージシステムであって、
メモリコントローラと、
フラッシュメモリモジュールと、を備え、
前記メモリコントローラは、
前記ストレージシステムへ結合されたホストから受信される1種類以上のコマンドの優先度より高い優先度を、1種類以上のハウスキーピング操作に割り当て、
ホストコマンドを受信し、
前記ホストコマンドの優先度をハウスキーピング操作の優先度と比較し、かつ
前記フラッシュメモリモジュールにより前記受信コマンドを処理する前に、前記受信コマンドより優先度が高いと判断された1つのハウスキーピング操作の少なくとも一部分を前記フラッシュメモリモジュールにより処理するように構成されるフラッシュメモリストレージシステム。

【図1A】
image rotate

【図1B】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2010−532061(P2010−532061A)
【公表日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願番号】特願2010−515079(P2010−515079)
【出願日】平成20年6月25日(2008.6.25)
【国際出願番号】PCT/US2008/068187
【国際公開番号】WO2009/003038
【国際公開日】平成20年12月31日(2008.12.31)
【出願人】(506197901)サンディスク コーポレイション (175)
【Fターム(参考)】