(57)【要約】      （修正有）【課題】動的粒状体に基づく中間記憶領域を利用するデータ記憶システムを提供する。【解決手段】データ記憶装置３１０およびランダムアクセスメモリ３０４を含む。ソートモジュールは、ランダムアクセスメモリと通信可能に接続され、かつデータ記憶装置のランダムアクセスメモリに受信された書き込みデータのデータブロックをソートする。記憶コントローラ３０２は、ランダムアクセスメモリおよびデータ記憶装置と通信可能に接続され、かつソートされたデータブロックをデータ記憶装置の粒状記憶領域３０８内の１つ以上の個別にソートされた粒状体に書き込むように構成され、各粒状体は、論理ブロックアドレスのサブセットに動的に制約される。【選択図】図３
2014182823.tif 000002
【特許請求の範囲】
【請求項１】
論理ブロックアドレスのサブセットにグループ化されたデータブロックを、データ記憶装置の粒状記憶領域（ｇｒａｎｕｌｅ  ｓｔｏｒａｇｅ  ａｒｅａ）内の１つ以上の個別の粒状体に書き込むことを含み、各粒状体が、前記論理ブロックアドレスのサブセットに動的に制約される、方法。
【請求項２】
前記書き込まれたデータブロックの論理ブロックアドレスを、前記データ記憶装置の前記粒状記憶領域内の新しい物理ブロックアドレスに動的にマッピングすることをさらに含む、請求項１に記載の方法。
【請求項３】
論理ブロックアドレスのサブセットに従って、前記データブロックをソートすることをさらに含む、請求項１に記載の方法。
【請求項４】
前記粒状記憶領域内の少なくとも１つの粒状体が、別の粒状体と同一の論理ブロックアドレスのサブセットに動的に制約される、請求項１に記載の方法。
【請求項５】
前記データ記憶装置の前記粒状記憶領域に記録された複数の個別の粒状体を前記ランダムアクセスメモリに読み込むことと、
別の論理ブロックアドレスのサブセットに従って、前記ランダムアクセスメモリに受信された前記複数の個別の粒状体から読み込まれた前記データブロックを再ソートすることと、
前記再ソートされたデータブロックを前記粒状記憶領域の新しい粒状体に書き込むことと、をさらに含み、前記新しい粒状体が、他の論理ブロックアドレスのサブセットに制約される、請求項１に記載の方法。
【請求項６】
前記データ記憶装置の前記粒状記憶領域に記録された複数の個別の粒状体を前記ランダムアクセスメモリに読み込むことと、
前記複数の個別の粒状体の複数のデータブロックを、前記ランダムアクセスメモリからホストデバイスに書き込むことと、をさらに含む、請求項１に記載の方法。
【請求項７】
前記データ記憶装置の前記粒状記憶領域に記録された複数の個別の粒状体を前記ランダムアクセスメモリに読み込むことと、
ＬＢＡ−ＢＡ間のマッピングに従って、前記ランダムアクセスメモリに受信された前記複数の個別の粒状体から読み込まれた前記データブロックを再ソートすることと、
前記再ソートされたデータブロックを、宛先記憶領域のＬＢＡ−ＰＢＡ間にマッピングされた領域に書き込むことと、をさらに含む、請求項１に記載の方法。
【請求項８】
データ記憶装置と、
ランダムアクセスメモリと、
前記ランダムアクセスメモリおよび前記データ記憶装置と通信可能に接続され、かつ論理ブロックアドレスのサブセットにグループ化された前記データブロックを前記データ記憶装置の粒状記憶領域内の１つ以上の個別の粒状体に書き込むように構成される、記憶コントローラと、を備え、各粒状体が、前記論理ブロックアドレスのサブセットに動的に制約される、データ記憶システム。
【請求項９】
前記記憶コントローラが、前記書き込まれたデータブロックの論理ブロックアドレスを、前記データ記憶装置の前記粒状記憶領域内の新しい物理ブロックアドレスに動的にマッピングするようにさらに構成される、請求項８に記載のデータ記憶システム。
【請求項１０】
論理ブロックアドレスのサブセットに従って、前記データブロックをソートするようにさらに構成されるソートモジュールをさらに備える、請求項８に記載のデータ記憶システム。
【請求項１１】
前記粒状記憶領域内の２つ以上の個別にソートされた粒状体が、別の個別にソートされた粒状体と同一の論理ブロックアドレスのサブセットに動的に制約される、請求項８に記載のデータ記憶システム。
【請求項１２】
前記記憶コントローラが、前記データ記憶装置の前記粒状記憶領域に記録された複数の個別の粒状体を前記ランダムアクセスメモリに読み込むようにさらに構成され、
前記粒状記憶領域内の新しい粒状体に書き込まれるように、別の論理ブロックアドレスのサブセットに従って、前記ランダムアクセスメモリに受信された前記個別にソートされた粒状体から読み込まれた前記データブロックを再ソートするように構成されるソートモジュールをさらに備え、前記新しい粒状体が、他の論理ブロックアドレスのサブセットに制約される、請求項８に記載のデータ記憶システム。
【請求項１３】
前記記憶コントローラが、前記データ記憶装置の前記粒状記憶領域に記録された複数の個別の粒状体を前記ランダムアクセスメモリに読み込むようにさらに構成され、
宛先記憶領域の静的にマッピングされた領域に書き込まれるように、ＬＢＡ−ＰＢＡ間のマッピングに従って、前記ランダムアクセスメモリに受信された前記個別にソートされた粒状体から読み込まれた前記データブロックを再ソートするように構成されるソートモジュールをさらに備える、請求項８に記載のデータ記憶システム。
【請求項１４】
データ記憶システム内でシステム実装プロセスを実行するためにプロセッサ読み取り可能命令を記憶する１つ以上のプロセッサ読み取り可能記憶媒体であって、前記プロセスが、
論理ブロックアドレスのサブセットにグループ化された前記データブロックを前記データ記憶装置の粒状記憶領域内の１つ以上の個別の粒状体に書き込むことを含み、各粒状体が、前記論理ブロックアドレスのサブセットに動的に制約される、１つ以上のプロセッサ読み取り可能記憶媒体。
【請求項１５】
前記プロセスが、前記書き込まれたデータブロックの論理ブロックアドレスを前記データ記憶装置の前記粒状記憶領域内の新しい物理ブロックアドレスに動的にマッピングすることをさらに含む、請求項１４に記載の１つ以上のプロセッサ読み取り可能記憶媒体。
【請求項１６】
前記ソート動作が、論理ブロックアドレスのサブセットに従って、前記データブロックをソートすることをさらに含む、請求項１４に記載の１つ以上のプロセッサ読み取り可能記憶媒体。
【請求項１７】
前記粒状記憶領域内の少なくとも１つの粒状体が、別の粒状体と同一の論理ブロックアドレスのサブセットに動的に制約される、請求項１４に記載の１つ以上のプロセッサ読み取り可能記憶媒体。
【請求項１８】
前記プロセスが、
前記データ記憶装置の前記粒状記憶領域に記録された複数の個別にソートされた粒状体を前記ランダムアクセスメモリに読み込むことと、
別の論理ブロックアドレスのサブセットに従って、前記ランダムアクセスメモリ内のの前記個別にソートされた粒状体から読み込まれた前記データブロックを再ソートすることと、
前記個別に再ソートされたデータブロックを前記粒状記憶領域の新しい粒状体に書き込むことと、をさらに含み、前記新しい粒状体が、他の論理ブロックアドレスのサブセットに制約される、請求項１４に記載の１つ以上のプロセッサ読み取り可能記憶媒体。
【請求項１９】
前記プロセスが、
前記データ記憶装置の前記粒状記憶領域に記録された複数の個別にソートされた粒状体を前記ランダムアクセスメモリに読み込むことと、
前記個別に再ソートされたデータブロックをホストデバイスに書き込むことと、をさらに含む、請求項１４に記載の１つ以上のプロセッサ読み取り可能記憶媒体。
【請求項２０】
前記プロセスが、
前記データ記憶装置の前記粒状記憶領域に記録された複数の個別の粒状体を前記ランダムアクセスメモリに読み込むことと、
ＬＢＡ−ＰＢＡ間のマッピングに従って、前記ランダムアクセスメモリに受信された前記複数の個別の粒状体から読み込まれた前記データブロックを再ソートすることと、
前記再ソートされたデータブロックを宛先記憶領域のＬＢＡ−ＰＢＡ間でマッピングされた領域に書き込むことと、をさらに含む、請求項１４に記載の１つ以上のプロセッサ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、「Ｓｔａｇｉｎｇ  Ｓｏｒｔｅｄ  Ｄａｔａ  ｉｎ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｓｔｏｒａｇｅ」と題され、本出願と同時に出願された米国出願第１３／８３９，１３２号［整理番号第ＳＴＬ１７７２８号］に関するものであり、これは、開示および教示するすべてを参照することにより明確に組み込まれる。
【背景技術】
【０００２】
回転磁気記憶、磁気テープ、および／または回転光学式記憶を含むシステム等のいくつかのデータ記憶システムは、物理記憶内のランダムに目標とされる位置に到達するまでの比較的長いレイテンシ時間（例えば、ミリ秒範囲以上）に悩まされる。いったん目標とされる位置に到達すると（例えば、シーク動作を介して）、データは、適度に速い速度で物理記憶から比較的連続的に転送され（読み込まれるか、または書き込まれ）得る。データ転送速度の改善に関する多くの課題のうちの１つは、物理的位置の制約内におけるホストの転送要求およびデータ記憶システム内の要求されたデータの論理順序を管理することである。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書において説明および特許請求される実施形態は、データ記憶システム内の物理記憶の複数のレベル全体にわたって動的にマッピングされたデータを効率的に分離することによって、前述の問題に対処する。そのような効率的なデータ分離は、特に瓦書き磁気記録領域（ｓｈｉｎｇｌｅｄ  ｍａｇｎｅｔｉｃ  ｒｅｃｏｒｄｉｎｇ  ｒｅｇｉｏｎ）の存在下で、物理記憶媒体への論理的シーケンシャルデータアクセスの挙動における偏差を低減し得る。
【０００４】
データ記憶システムは、データ記憶装置およびランダムアクセスメモリを含む。ソートモジュールは、ランダムアクセスメモリと通信可能に接続され、かつデータ記憶装置のランダムアクセスメモリに受信された書き込みデータのデータブロックをソートする。記憶コントローラは、ランダムアクセスメモリおよびデータ記憶装置と通信可能に接続され、かつソートされたデータブロックをデータ記憶装置の粒状記憶領域の１つ以上の個別にソートされた粒状体に書き込むように構成され、各粒状体は、論理ブロックアドレスのサブセットに動的に制約される。
【０００５】
方法およびプロセッサ実装プロセスは、データ記憶装置のランダムアクセスメモリに受信された書き込みデータのデータブロックをソートすることを提供する。方法およびプロセッサ実装プロセスは、ソートされたデータブロックをデータ記憶装置の粒状記憶領域の１つ以上の個別にソートされた粒状体に書き込み、各粒状体は、論理ブロックアドレスのサブセットに動的に制約される。
【０００６】
他の実施形態も本明細書において説明および記載される。
【図面の簡単な説明】
【０００７】
【図１】図１は、中間レイテンシ記憶装置のステージング領域でソートされたデータをステージするためのデータ記憶システムの例を図解する。
【図２】図２は、ソートされたデータのチャンクに対する１つ以上のステージング領域を有する記憶媒体の例を図解する。
【図３】図３は、一般に増加するデータ編成の様々なレベルに基づく階層記憶を有するデータ記憶システムの例を図解する。
【図４】図４は、古いデータが識別され、かつ古いものとしてマーキングされるステージング領域の例を図解する。
【図５】図５は、ステージング領域内のソートされたデータのチャンクの発生の例を図解する。
【図６】図６は、ステージング領域の外部での使用のために一組のチャンクからのデータのサブセットをソートする例を図解する。
【図７】図７は、ステージング領域内のデータブロックをチャンクする動作の例を図解する。
【図８】図８は、ステージング領域からの他の中間記憶領域にデータブロックを再ソートする動作の例を図解する。
【図９】図９は、ソートされたデータブロックが個別の粒状体に記録される粒状記憶領域の例を図解する。
【図１０】図１０は、ソートされたデータブロックが個別の粒状体に圧縮される粒状記憶領域の例を図解する。
【図１１】図１１は、ソートされたデータブロックが個別の粒状体に記録される瓦書き磁気記録帯域内の粒状記憶領域の例を図解する。
【図１２】図１２は、ソートされたデータブロックが個別の粒状体にソートされる瓦書き磁気記録帯域内の粒状記憶領域の例を図解する。
【図１３】図１３は、ランダムアクセスメモリ、ステージング領域、粒状記憶領域、および宛先記憶領域を含む記憶装置の段階の例を図解する。
【図１４】図１４は、ランダムアクセスメモリ、ステージング領域、粒状記憶領域、および宛先記憶領域を含む記憶装置の段階の例を図解する。
【図１５】図１５は、データブロックを粒状記憶領域に記憶する動作の例を図解する。
【図１６】図１６は、データブロックを宛先記憶領域に記憶する動作の例を図解する。
【発明を実施するための形態】
【０００８】
図１は、中間レイテンシ記憶のステージング領域１０２でソートされたデータをステージするためのデータ記憶システムの例１００を図解する。図解される実施例において、データ記憶システム１００は、１つ以上の磁気記憶ディスク１０４を有するハードディスクドライブを表すが、他の実施形態のそのような記憶媒体は、光ディスク読み取り装置（例えば、ＣＤ読み取り／書き込み装置またはＤＶＤ読み取り／書き込み装置）、テープドライブ、ソリッドステートドライブ（ＳＳＤ）等の形態であってもよい。データ記憶システム１００は、データ記憶システム１００に書き込みデータを送信し、かつデータ記憶システム１００から読み込みデータを受信するホストデバイス１０６と通信する。
【０００９】
例えば、ホストデバイス１０６は、磁気記憶ディスク１０４上にデータファイルを記録するデータ記憶システム１００にデータファイルを書き込むことができ、後にデータ記憶システム１００からデータファイルを読み込むことができる。ホストレベルにおいて、ユーザデータは、多くの場合、１つ以上の固定長データブロックから構成され得る可変長ファイル単位で構造化される。データブロックは、論理ブロックアドレス（ＬＢＡ）を用いてホストデバイス１０６によってアドレス可能である。データ記憶システム１００は、データ記憶システム１００によって使用される符号化スキームに従って、データブロックを符号化するデータ書き込み回路１０８を有する書き込みチャネルを含む。１つ以上のデータブロックを冗長情報と組み合わせて、エラー検出および／または訂正のための自己完結型コードワードを形成することができる。
【００１０】
データ書き込み回路１０８は、書き込みコントローラ１１０によって書き込まれるデータブロックの物理的位置および順序付けを判定する書き込みコントローラ１１０を通して、データブロックをデータ記憶システム１００内のデータ記憶装置の１つ以上のレベルに書き込む。データブロックが記憶ディスク１０４に書き込まれるとき、データブロックは、記憶ディスク１０４上の物理ブロックアドレス（ＰＢＡ）に書き込まれる。ＬＢＡとＰＢＡとの間のマッピングは、経時的に変化することができ、「動的マッピング」として称される。書き込みコントローラ１１０は、そのマッピングが経時的に変化するにもかかわらず、ＬＢＡとＰＢＡとの間の動的マッピングを管理する。メモリ１１６は、動的マッピング、ソート、再配置、オーバープロビジョニング、および書き込みコントローラ１１０によって実行される他の機能を実装するように書き込みコントローラ１１０によって処理されるファームウェア命令を記憶し得る。
【００１１】
データ記憶システム１００において、連続した論理アドレスを有するデータブロック群は、ある一組のデータに対するシーク動作の後、継続的なデータアクセスに対するより低いレイテンシを達成するために、記憶ディスク１０４上のおおよそ連続した物理的位置に記録され得る。加えて、動的マッピングは、そこで物理記憶の異なるレベルが、異なる平均アクセスレイテンシを提供することができるデータ記憶システム１００内の物理記憶の複数のレベルを支持するために、高度処理的に拡張され得る。
【００１２】
前述のように、書き込みコントローラ１１０は、データブロックをデータ記憶システム１００内のデータ記憶装置の１つ以上のレベルに書き込むことができる。例えば、「宛先記憶」と称される記憶ディスク１０４のデータ記憶領域１１２は、概して長期記憶として意図される物理記憶領域を表す。宛先記憶内のデータは長期記憶として意図されているが、そのようなデータは、宛先記憶位置から他の宛先記憶位置に経時的に移動され得る。加えて、「粒状記憶装置（ｇｒａｎｕｌｅ  ｓｔｏｒａｇｅ）」と称される記憶ディスク１０４のデータ記憶領域１１４は、中間物理記憶を表し、そこで、それぞれの動的に寸法決定可能な粒状体に記憶されたデータが、物理ブロックアドレス（ＬＢＡ）のある特定のサブセットに制約される。粒状体の大きさの例は、約１ＭＢであり得るが、他の大きさが用いられてもよい。実際、粒状体は、同一のディスク表面上または同一の瓦書き媒体記録帯域内でさえ、多くの異なる大きさのものであり得る。
【００１３】
さらに、「ステージング領域」と称される記憶ディスク１０４のデータ記憶領域１０２は、そこで、論理ブロック群が漸次書き込まれ、ならびにＬＢＡ順序に次第に隣接して再度書き込まれ得る物理記憶領域を表す。例えば、データブロックは、任意のまたはランダムなＬＢＡ順序で、ホストデバイス１０６からデータ記憶システム１００によって最初に受信され得る（例えば、データブロックは、論理空間の多様な領域から受信される）。そのようなデータブロックは、物理的に隣接する様式でステージング領域に書き込まれてもよい。
【００１４】
ランダムアクセスメモリ１１８はまた、データ記憶システム１００の記憶領域を表す。そのランダムアクセス特性および低アクセスレイテンシは、ある制約（例えば、ＬＢＡ順序付け、ＰＢＡ順序付け、最も頻繁にアクセスされる順序、優先データ順序等）に従って、データブロックをソートするのに適切な記憶領域を提供する。一実施形態において、ＬＢＡ順序に従ってソートされたデータは、ランダムアクセスメモリ１１８内に受信され、ランダムアクセスメモリ１１８の利用可能な量との関係によって大きさが決めされる「チャンク」と呼ばれるデータ群でステージング領域に書き込まれる。チャンクの大きさの一例は、６４ＭＢであり得るが、他の大きさが用いられてもよい。
【００１５】
データ読み込みおよび復旧回路１２０は、磁気記憶ディスク１０４から（またはランダムアクセスメモリ１１８から）データ（適切なエラー訂正コーディングを有する）を読み込み、エラー（磁気記憶ディスク１０４のスクラッチ損傷によって生じるデータエラー等）を検出するおよび／または訂正するためのエラー訂正コーディングを使用することができる。次いで、データ読み込みおよび復旧回路１２０は、読み込みデータ（それは訂正された読み込みデータであり得る）をホストデバイス１０６に転送する。
【００１６】
ランダムアクセスメモリ１１８に受信されたデータブロックのソートは、様々な方法によって達成され得る。一実施形態において、ソートは、データブロックがランダムアクセスメモリ１１８に存在する間に、プロセッサまたは他の制御回路によって達成され得る。代替の実施形態において、ソートは、分散−収集ＤＭＡ（直接メモリアクセス）転送スキームを使用して等、データブロックのランダムアクセスメモリ１１８への転送、および／またはランダムアクセスメモリ１１８からの転送の間に達成され得る。他のソート技術および構成が、用いられてもよい。
【００１７】
図１のデータ記憶システム１００等のデータ記憶システムにおいて、ステージング領域は、非瓦書きまたは瓦書き磁気記録領域であり得る。非瓦書き磁気媒体において、磁化媒体上のセルのそれぞれは、任意の囲んでいるセルにデータを上書きすることなく書き込み磁極がデータをセルに書き込むことを可能にするように、書き込み磁極の大きさに対して十分に大きいサイズのものである。その結果、データは、磁気媒体上のどこかの利用可能なセルにランダムに書き込まれ得る。しかしながら、データ記憶密度の必要性が磁気媒体に対して増加するにつれて、セルの大きさは縮小する。書き込み磁極の大きさの同等の縮小は、より大きい書き込み磁極によって提供される強い書き込み磁場勾配が、磁化媒体上のセルの極性をシフトさせるためにしばしば必要とされるため、困難である。その結果、比較的大きい書き込み磁極を使用する磁化媒体上のより小さいセルへのデータの書き込みは、隣接セルの極性化に影響し得る（すなわち、隣接セルに上書きする）。書き込み動作中に隣接したデータが上書きされることを防ぎながら、より小さいセルを利用するように磁気媒体を適応するための一技術が、瓦書き磁気記録（ＳＭＲ）である。
【００１８】
ＳＭＲは、書き込み磁極によって生成される強く大きい書き込み磁場を利用する。瓦書き磁気記録の１つの制約は、データが磁気媒体に書き込まれるとき、増加または減少する半径トラックで連続的に書き込まれることである。強い書き込み磁場は、そこに書き込まれるトラックおよび１つ以上の書き込み済みトラックを含む２つ以上の隣接するトラックに影響する。その結果、瓦書きデータ内の任意のデータセルを変更するために、瓦書きデータのすべてが選択された連続した書き込み順序で再度書き込まれる。
【００１９】
そのようなシステムのランダム書き込み機能の欠乏を補完しながら、ＳＭＲから生成され得る増加したセル密度を達成するために、１つ以上の分離領域が瓦書きデータ内に作成され得る。ガードトラックとも称される分離領域は、記録することができない瓦書きデータ内の１つ以上の隣接するデータトラックのグループである。動作中、分離領域は、瓦書きデータの独立したデータ帯域（すなわち、ガードトラックによって境界された論理セクタ群）を画定する。典型的に、各ガードトラックは、ガードトラックを横切る任意の上書きを防ぐのに十分広い。その結果、ガードトラックは、他の帯域から分離された１つ以上の隣接するトラックを含む瓦書きデータの帯域を作成する。その結果として、帯域内の１つ以上のセルが変更されるとき、（ディスク上の瓦書きデータのすべてよりもむしろ）瓦書きデータの単一の帯域が再度書き込まれる。
【００２０】
しかしながら、データ帯域内のデータの１つ以上のセルを書き込むことは、なお典型的に、すべてのデータ帯域を読み込むことと、データ帯域のデータをディクス上の媒体のスクラッチパッド（例えば、一時キャッシュ）に書き込むことと、媒体のスクラッチパッドからデータを読み込むことと、データを１つ以上の偏向されたセルを有する元のデータ帯域に再度書き込むことと、を含む、複数のステップを必要とする。その結果として、瓦書きデータ書き込む動作は、典型的には、非瓦書きデータ書き込み動作よりもより時間を要し、電力効率が悪い。
【００２１】
冗長情報は、複数の論理ブロックサイズのコードワードを作成するために書き込まれたデータと組み合わされ得る。冗長情報が存在する予測可能な位置に達するのに十分な追加データを受信する前にステージング領域が数回追加される場合、増分冗長度が維持され得るように、冗長情報は、ステージング領域に書き込まれた各時間データに含まれ得る、あるいは冗長情報は、予測可能な間隔で記録され得る。さらに、データの図１のステージング領域（または他のステージング領域）への書き込みは、ステージング領域空間を消費するプロセスの前にステージング領域空間を空けるプロセスを実行するように速度調整される。このようにして、ステージング領域空間は、新しい書き込みデータブロックを利用可能にする傾向が強い。
【００２２】
図２は、ソートされたデータのチャンクに対する１つ以上のステージング領域（ステージング領域２０２等）を有する記憶媒体の例２００を図解する。一実施形態において、データ記憶装置ディスク２０４の表面は、いくつかの同心円トラック２０６を含む。トラック２０６は、記憶装置２０４の表面上に分散され、限定することなく、従来の瓦書き以前の連続記録、離散トラック記録、および瓦書き磁気記録を含む、いくつもの異なる形態をとってもよい。一部の実施形態において、単一の記憶ディスク表面は、例えば、従来の瓦書き以前の連続記録および瓦書き磁気記録の両方を支持し得る。さらに、単一のディスク表面の同一の領域は、異なる時間で従来の瓦書き以前の連続記録および瓦書き磁気記録の両方に使用され得る。他の実施形態において、異なる記憶ディスク表面は、異なる記録種類に割り当てられ得る（例えば、一記憶ディスクの表面が、一種類の記録に使用され得、同一の記憶ディスクまたは別の記憶ディスクの表面が、異なる種類の記録に使用され得る）。
【００２３】
異なる種類の記録は、異なるレベルのアクセスレイテンシの一因となる。従来の連続記録パターンは、書き込みヘッドが、放射状サーボバーストセクタ（サーボバーストセクタ２０８等）に記憶されたサーボ情報によって指定されたトラックに沿ってデータを書き込むことによって形成される。書き込みヘッドは、それがデータを記憶媒体に書き込むように、トラックの部分を再度書き込み、経時的に個別のトラックの限界内に僅かな変更をもたらす可能性がある。対照的に、離散トラック記録パターンは、非磁気トラック間分離を有する同心円離散トラックを含み、データは、各分離されたトラックに沿って連続的に記録される。そのように、書き込みヘッドは、書き込み動作中にデータを一貫した一組の離散標的トラックに書き込む。これら種類の記録領域への読み込みおよび書き込みアクセスは、それらの間で異なり、さらに、トラックに沿ったデータブロックの分離および順序付けもまた、アクセスレイテンシに影響を与え得る。
【００２４】
瓦書き磁気記録は、読み込みセンサに必要とされるものよりも広いトラックを記録する書き込み磁極を用いる。しかしながら、瓦書き磁気記録において、書き込み動作は、典型的に、所与の方向で隣接するトラックの上書きをもたらす。したがって、書き込みトラックは、所与の方向で互いに重複して書き込まれ、読み込みヘッドによって正しく読み込まれ得るデータの狭いトラックを残す。そのように、重複したトラックは、他のトラックから分離される、またはさもなければ、独立するトラックのグループまたは帯域で書き込まれる。
【００２５】
放射状サーボバーストセクタ２０８を伴って構成されるとき、各トラック２０６は、サーボバーストセクタ２０８の間のデータウェッジまたはセクタ２１０と称される断片に分割される。サーボバーストセクタは、標的トラック上に読み込み／書き込みヘッドの正確な位置付けを維持するためのデータを含み、記憶ディスク２０４の周りの既定の間隔で配置される位置に位置付けられる。
【００２６】
記憶ディスク２０４が回転するにつれて、読み込み／書き込みヘッドは、サーボバーストセクタ２０８内のアドレスを含むサーボ情報を読み込み、サーボ情報をサーボ制御システムに返送する。サーボ制御システムは、標的トラック位置に対応するサーボバーストセクタ２０８からサーボ情報内のアドレスが読み込まれたかどうかを確認する。アドレスが標的トラック位置に対応しない場合、サーボ制御システムは、シーク動作の一部として、読み込み／書き込みヘッドの位置を正しいトラック位置に調整する。
【００２７】
上記で示されるように、各トラック２０６は、記憶されたユーザ情報を含む離散データセクタ２１０を含む。特定のトラック上に含まれるいくつかのデータセクタ２１０は、ある程度、トラックの長さ（例えば、外周）に左右される。ユーザ情報を含むことに加えて、各データセクタはまた、ユーザ情報の識別および処理（例えば、エラー検出および訂正コーディング）を補助する他のデータを含み得る。
【００２８】
一実施形態に従って、一部分以上の記憶ディスク２０４は、中間記憶装置の一種であるステージング領域２０２としての使用のために確保される。ステージング領域２０２は、記憶ディスク２０４の外径の２１２に近接して位置するトラック２０６の円周のグループ化として、図２に示される。ステージング領域２０２は、一実施例として図２に示され、ステージング領域２０２は、記憶ディスク２０４の任意の他の領域（放射状または円周状）上に書き込まれ得ることを理解されたい。外径２１２に近接するトラックの一特性は、記憶ディスク２０４の内径２１４に近接するトラックよりも速いシーケンシャルデータ速度で読み込まれることができることである。
【００２９】
１つ以上のステージング領域２０２に加えて、記憶ディスク２０４は、一種の中間記憶装置である１つ以上の粒状記憶領域２１６も含み、そこで、それぞれの動的に寸法決定可能な粒状体が、論理ブロックアドレス（ＬＢＡ）のある特定のサブセットに制約される。記憶ディスク２０４はまた、データブロックが、典型的に、記憶ディスク２０４の他の領域より長期の記憶のために記録される宛先記憶領域２１８を含む。他の実施形態では、動的マッピングの一部の使用を伴う宛先記憶領域を含み得るが、一実施形態において、宛先記憶領域２１８は、少なくともある限られたアドレス範囲に対する非動的なＬＢＡ−ＰＢＡ間のマッピングを特徴とする。種々の中間および宛先記憶領域の図解される配置が単なる例であり、そのような領域が記憶ディスク２０４上の任意の位置にあり得ることを理解されたい。さらに、ステージング領域２０２、粒状記憶領域２１６、および宛先記憶領域２１８のうちの１つ以上は、瓦書き磁気記録領域、非瓦書き磁気記録領域、または他の記録形態の領域であってもよい。
【００３０】
最初に、一般的な意見として、書き込みデータは、種々の記憶領域へ（例えば、ランダムアクセスメモリへ、ステージング領域へ、粒状記憶領域へ、宛先記憶領域へ等）の様々なパスを取ってもよいことを理解されたい。一実施形態において、ホストデバイスは、書き込みデータブロックを、データブロックが最初にソートされてもよく、あるいはソートされなくてもよいランダムアクセスメモリに書き込む。ランダムアクセスメモリが非揮発性の場合、データブロックは、他の非揮発性記憶媒体に書き込まれることなく、ホストデバイスに読み込み要求を提供するためのランダムアクセスメモリに蓄積し得る。代替として、データブロックは、ランダムアクセスメモリからステージング領域（個別のソートされたセット内に、またはソートされていないデータブロックとして）または他の記憶に書き込まれ得る。データブロックがステージング領域または他の記憶に書き込まれるときでさえ、同一のデータブロックはまた、将来、可能性のある媒体読み取り動作を避け得るランダムアクセスメモリに保持され得る。さらに、電力損失の可能性があるため、非揮発性記憶装置（例えば、ＮＶＲＡＭまたは別の非揮発性記憶媒体）に少なくとも書き込みデータのコピーを保持することが典型的に望ましい。
【００３１】
図３は、一般に増加するデータ編成の様々なレベルに基づく階層記憶を有するデータ記憶システム３００の例を図解する。記憶コントローラ３０２は、データブロックの種々の記憶領域、ランダムアクセスメモリ３０４、データ記憶装置３１０の中間記憶装置（例えば、ステージング領域３０６または粒状記憶領域３０８）、またはデータ記憶装置３１０の宛先記憶（例えば、宛先記憶領域３１２）への読み込みおよび書き込みを管理する。単一の記憶ディスク上に複数のステージング領域、複数の粒状記憶領域、および複数の宛先記憶領域が存在してもよいことを理解されたい。さらに、記憶コントローラ３０２は、経時的に所与の記憶領域の役割を動的に調整する。例えば、ステージング領域は、種々の動作時間で宛先記憶領域として使用され得る。
【００３２】
一実施形態において、記憶コントローラ３０２は、ホストデバイスからの１つ以上の書き込みコマンドに応答して、新しい書き込みデータのデータブロックを受信する。受信されたデータブロックは、ランダムなＬＢＡ順序で受信され得、他の書き込みコマンドがよりＬＢＡ順序ではない一方、一部の書き込みコマンドは、よりＬＢＡの順序であり、ならびに一部の書き込みコマンドの組み合わせは、論理アドレス空間の実質的に異なる領域で標的とされ得る。それでもなお、この実施形態において、記憶コントローラ３０２は、データブロックをランダムアクセスメモリ３０４内で受信し、データブロックをソートし、ならびにソートされたデータブロックを、ステージング領域３０６の比較的連続した物理的空間でステージング領域３０６に書き込む。用語「比較的連続する」は、そこで、単一のシーク動作（または数回のシーク動作）が、読み込み／書き込み動作を完了するために使用され、およびデータブロックが１つ以上のトラック上で連続するＰＢＡから読み込まれる／１つ以上のトラック上で連続するＰＢＡに書き込まれる物理記憶領域からの／物理記憶領域への複数の読み込み／書き込みコマンドに関連する可能性のある読み込み／書き込み動作を指す。データ記憶装置３１０中の損傷のある、古い、またはさもなければ「不良な」ＰＢＡをスキップすること、またはデータ記憶装置３１０の複数のトラックのすぐ近くを横切るデータの読み込み／書き込みは、「比較的連続する」ことを考慮して、読み込み／書き込み動作を除外しないことを理解されたい。
【００３３】
いかなるときでも、しかし典型的には低記憶活動の期間中、記憶コントローラ３０２は、比較的連続する読み込み動作を使用して、ステージング領域３０６に記憶されたデータを読み込むことができる。読み込みデータは、ランダムアクセスメモリ３０４に転送され、所定の順序で（例えば、ＬＢＡ順序において、最も頻繁にアクセスされる順序において等）ランダムアクセスメモリ３０４でソートされ、次いで、ステージング領域３０６または別の記憶領域またはホストデバイスに書き込まれる。一実施形態において、読み込まれる、ソートされる、およびステージング領域３０６に書き込まれるデータの量は、「チャンク」と称され、ランダムアクセスメモリ３０４の大きさと同一のであるが、他の大きさが使用されてもよい（例えば、ランダムアクセスメモリ３０４の異なる部分は、異なる目的のために、または異なる「チャンク」のために使用され得る）。別の実施形態において、読み込まれた、およびソートされたデータは、代替として、読み込みコマンドに応じてホストデバイスに転送され得るか、あるいは、別の記憶領域（例えば、フラッシュメモリ、粒状記憶領域３０８、または宛先記憶領域３１２）に転送され得る。
【００３４】
記憶コントローラ３０２がソートされたデータをステージング領域３０６に書き込むとき、記憶コントローラ３０２は、以前に読み込まれたデータの物理記憶を新たにソートされたデータのコピーで上書きするのではなく、典型的に、ソートされたデータをステージング領域３０６の新しい位置に書き込む。いったん新たにソートされたデータがステージング領域３０６に（または別の記憶領域に）書き込まれると、以前に読み込まれたデータを含む物理記憶は、古いものとしてマーキングされ、新しい書き込みデータとの使用のために再生され得る。再生動作は、「ガベージコレクション」と称されることがあり、複数のソートされた、およびソートされていない同一のデータのバージョンが、データ記憶装置３１０のステージング領域３０６または他の記憶領域内に、同時に存在することを可能にし得る。代替の実施形態において、先の読み込まれたＰＢＡは、新たにソートされたデータのコピーで上書きされ得る。ステージング領域３０６（または他の記憶領域）に記録されたデータの読み込み、ソート、および書き込みは、（例えば、特定のデータのチャンクに対する論理的および物理的順序付けの間の相関関係を上昇するために）複数回繰り返されてもよいことも理解されたい。
【００３５】
記憶コントローラ３０２による書き込み動作の処理は、新しい書き込みデータを受信するために、ステージング領域内により空間を作成するのに都合のよい順序で実行され得ることも理解されたい。例えば、ステージング領域内により古いＰＢＡを生成するか、あるいは、ステージング領域内の古いＰＢＡに比較的連続する領域をより生成するホストコマンドまたはデータ記憶システム動作は、ステージング領域内のＰＢＡを消費するホストコマンドまたはデータ記憶システム動作の前に、実行され得る。例えば、データブロックを消去するためのホストコマンドは、新しいデータ書き込みコマンドよりも優先され得る。同様に、ステージング領域から粒状記憶領域または宛先記憶領域へデータブロックを転送するデータ記憶システム動作は、新しいデータ書き込みコマンドよりも優先され得る。このように、データ記憶システムは、ステージング領域が新しい書き込みデータを受け入れられない程に満ちる可能性を防ぐ、または低減することができる。
【００３６】
図４は、古いデータが識別され、かつ古いものとしてマーキングされるステージング領域の例４００を図解する。一実施形態において、古いデータは、もはやＬＢＡではないため、古いものとして「マーキングされ」、それは古いデータを記憶する対応するＰＢＡを変換する。図４は、図解目的のために古いデータをマーキングするモジュール４０６を示す。しかしながら、古いデータをマーキングするモジュール４０６は、典型的には、ＬＢＡを新しいデータを含むＰＢＡに再度マッピングし、同一のＬＢＡの古いＰＢＡへのマッピングを消去する動的マッピングサブシステムの機能要素である。古いデータをマーキングするモジュール４０６の他の態様は、物理的細分化におけるいくつかの古い位置を記録するカウンタを含み得る。
【００３７】
ステージング領域４００は、記憶コントローラからデータブロックを受信し、それは比較的連続する様式でブロックを記録する。図４において、データは、書き込み動作１〜書き込み動作１０の１０個の継続的な書き込み動作４０２における、ステージング領域４００への書き込みとして示される。書き込み動作４０２は、個別のデータブロック４０４（図４の各印は、ＬＢＡに対応する）の記録をもたらす独立した媒体アクセスを指定する。例えば、書き込み動作１は、比較的連続する（例えば、物理的に連続する）様式で、ＬＢＡ７３、２１、および９４に関連するデータブロックをステージング領域４００に書き込み、書き込み動作２は、比較的連続する（例えば、物理的に連続する）様式で、ＬＢＡ２４および９２に関連するデータブロックをステージング領域４００に書き込む。各書き込み動作に応答して、記憶コントローラは、各データブロックに対するＬＢＡ−ＰＢＡ間のマッピングを記録する。このように、記憶コントローラは、その対応するＬＢＡに従うそのＰＢＡから、ホストデバイスによって要求されたデータブロックを検索することができる。関連する動的マッピング情報は、記憶コントローラ−アクセス可能動的マッピングテーブル（図示せず）に記憶され得る。
【００３８】
書き込み動作４および５に関して示されるように、ＬＢＡ４６に関連するデータブロックは、書き込み動作４において一度、および書き込み動作５において再度、二度書き込まれる。したがって、書き込み動作４に書き込まれたデータを記憶するデータブロックは、より最新のデータブロックが書き込み動作５によって書き込まれたため、現在古いものである。さらに、記憶コントローラは、ＬＢＡ４６と書き込み動作５に関連する新しいＰＢＡとの間の動的マッピングを更新する。
【００３９】
古いデータをマーキングするモジュール４０６は、ＬＢＡ４６の新しい書き込みを検出し、したがって、書き込み動作４からのデータブロックを古いものとしてマーキングする（例えば、ＬＢＡ４６は、もはや古いデータブロックを記憶するＰＢＡをマッピングしない）。書き込み動作７および８はまた、同一のＬＢＡ１７の書き込みとして示される。したがって、古いデータをマーキングするモジュール４０６は、書き込み動作７によって書き込まれたＬＢＡ１７に対するデータブロックを古いものとしてマーキングし、ＬＢＡ１７と書き込み動作８に関連する新しいＰＢＡとの間の動的マッピングを更新する。
【００４０】
記憶コントローラがステージング領域４００から比較的連続したデータを読み取るため、ソート、および続いてホストデバイスまたは記憶媒体に再度書き込むためのそれらのランダムアクセスメモリへの転送を除外するために、古いデータブロックは、無視されるか、またはさもなければ管理される。物理データブロックが古いものとしてマーキングされると、物理データブロックは、新たにソートされたチャンクのためのものを含む新しいデータブロックに対して再生および再利用され得る。
【００４１】
ステージング領域４００に示される書き込みデータのすべて、もしくは書き込みデータの１つ以上の部分はまた、ランダムアクセスメモリ（図４には図示せず）に保持され得ることを理解されたい。そのように、ホストデバイスから直前に書き込まれたデータのコピーは、ステージング領域と同様にランダムアクセスメモリに保持され得る。このように、ランダムアクセスメモリに直前に書き込まれたデータへのアクセスを得るための、ステージング領域からの読み込みは記憶コントローラに必要ではない。
【００４２】
図５は、ステージング領域５０２内のソートされたデータのチャンクの発生５００の例を図解する。一実施形態において、ホストデバイスがデータブロックを記憶コントローラに書き込むとき、記憶コントローラは、５０５に示されるように、データブロックをランダムアクセスメモリ５０４に直接書き込み、そこで、ランダムアクセスメモリにソートされたコピーを引き続き保持しながら、ソートされ、かつステージング領域５０２にコピーされ得る。代替の実施形態において、記憶コントローラは、５０６にデータブロックとして示されるように、データブロックのソートされていないシーケンスをステージング領域５０２からランダムアクセスメモリ５０４に読み込むことができる。
【００４３】
ソートモジュール５０８は、５１０のデータブロックに示されるように、ＬＢＡ順序に従って、データをソートするが、ソートモジュール５０８は、最も頻繁にアクセスされる、直前にアクセスされた等を含む他の順序付けの優先に従ってデータブロックをソートし得ることを理解されたい。種々のソート方法が、データブロックをソートするためにランダムアクセスメモリ５０４内で使用され得る。次いで、ソートされたデータ（「チャンク」）は、ステージング領域５０２内の別の位置、ホストデバイス、または記憶媒体の他の中間領域もしくは宛先記憶領域に比較的連続する様式で書き込まれる。先で考察されたように、代替の実施形態において、図５は、同一のステージング領域５０２の独立した位置に書き込まれるようにチャンク５００を示すが、ソートされたチャンクは、以前に読み込まれたデータの上に再度書き込まれ得る。
【００４４】
新しいチャンク５００のステージング領域５０２への書き込みに応答して、記憶コントローラは、ステージング領域５０２内のＬＢＡ（２１、２４、７３、および９４）とそれらの新しいＰＢＡとの間の新しい関係を反映するように、動的マッピング情報を更新する。加えて、古いデータをマーキングするモジュールは、同一のＬＢＡに対する以前のデータブロックを記憶した以前のＰＢＡを古いものとしてマーキングする。このように、それらのＰＢＡは、新しい書き込みデータのために再利用されるように再生され得る。典型的には、一組のデータブロックが、ソートされる、および「チャンクされる」度に、この場合のＬＢＡ順序付けにおいて、後続の読み込み動作は、より良好なＬＢＡ−ＰＢＡ間のマッピングを有するデータにアクセスするため、それらのデータブロックの平均アクセスレイテンシは減少される。一つの見方として、ステージング領域への／ステージング領域からの媒体アクセス毎の複数のソートされたデータブロックの転送は、より大きいいくつかのデータブロックにわたって比較的連続する物理的媒体アクセス間のレイテンシを償却する。
【００４５】
図６は、ステージング領域６０４の外部での使用のために一組のチャンク６０２からのデータのサブセットをソートするの例６００を図解する。記憶コントローラは、複数のソートされた一組のデータブロック（例えば、複数の読み込みアクセスを介する複数のチャンク）を、ステージング領域６０４からランダムアクセスメモリ６０６（例えば、すべてのメモリ６０６またはそれらの一部分）に読み込む。注記：複数のデータの範囲は、媒体アクセス毎に、複数の範囲にわたって媒体アクセス間のレイテンシを償却するように読み込まれ得る。
【００４６】
ソートモジュール６０８は、所定の順序（例えば、図６のＬＢＡ順序）に従ってランダムアクセスメモリ６０６に受信された読み込みデータブロックをソートする。各ソートされたチャンクのヘッドから読み込むＮ進マージソートといった種々のソート方法が、ランダムアクセスメモリ６０６に受信されたデータブロックをソートするために使用され得る。６１０で新たにソートされたチャンクは、他の記憶装置（例えば、別のステージング領域もしくは粒状記憶領域等の他の中間記憶装置、または宛先記憶領域）に、あるいはホストデバイスに書き込まれる。新しいチャンク６１２の他の記憶への書き込みに応答して、記憶コントローラは、他の記憶内のＬＢＡ（１、２、１１、および１６）とそれらの新しいＰＢＡとの間の新しい関係を反映するように、動的マッピング情報を更新する。６１４のデータブロックは、ステージング領域６０４にまだ記憶されている、ソートされていない、チャンクされていないデータブロックを表す。
【００４７】
加えて、一実施形態において、古いデータをマーキングするモジュールは、同一のＬＢＡに対する以前のデータブロックを記憶した以前のＰＢＡを古いものとしてマーキングする。このように、それらのＰＢＡは、新しい書き込みデータのために再利用されるように再生され得る。しかしながら、代替の実施形態において、他の記憶に書き込まれたデータブロックに対応するステージング領域６０４のデータブロックは、古いものとしてマーキングされることを必要としない。そのような実装において、データブロックの複数のコピーは、データ記憶システム内に（例えば、ステージング領域内に、フラッシュメモリキャッシュ内に、ランダムアクセスメモリ内に、粒状記憶領域内に、宛先記憶領域内に）複数の物理的位置で記録され得、記憶コントローラは、読み込み動作か書き込み動作にかかわらず、ホストに要求された一組のデータブロックへのアクセスに対する最低のレイテンシを表す物理的位置を判定し得る。データブロックの動的マッピングは、同一のデータブロックに対する複数の物理的位置を、データブロックに対する所与の読み込みまたは書き込みコマンドの平均アクセスレイテンシを減少するように、各物理的位置におけるアクセスに関連する予期されるレイテンシとの組み合わせて、管理することができる。
【００４８】
一実施形態において、データは、ディスクスケジューリングロジックの適用によって、ステージング領域６０４から読み込まれる。例えば、読み込み要求は、シーク時間、レイテンシ時間等に基づいて実行のために待ち行列に入れられ、予定される。一部の実施形態において、ディスクスケジューリングロジックはまた、粒状記憶領域または宛先記憶領域への書き込みといった書き込み動作に使用され得る。
【００４９】
図７は、ステージング領域にデータブロックをチャンクする動作の例７００を図解する。受信動作７０２は、論理ブロックアドレスデータブロックをホストデバイスまたは他の記憶からランダムアクセスメモリに受信する。ソート動作７０４は、受信されたデータブロックを所定の順序にソートする。例示的な順序付けは、限定することなく、ＬＢＡ順序、最も頻繁にアクセスされる順序、直前にアクセスされた順序等を含み得る。
【００５０】
書き込み動作７０６は、ソートされたデータブロックをステージング領域に一組のソートされたデータブロック（例えば、ソートされたチャンクと称される）として書き込む。動的マッピング動作７０８は、データブロックのＬＢＡをデータ記憶装置のステージング領域内の対応するＰＢＡに動的にマッピングする。
【００５１】
図８は、ステージング領域から他の中間記憶装置にデータブロックを再ソートする動作８００の例を図解する。読み込み動作８０２は、比較的連続する一組のデータブロックを、データ記憶装置のステージング領域の異なる一組のソートされたデータブロック（例えば、チャンク）から読み込む。転送動作８０４は、読み込みデータブロックをランダムアクセスメモリに転送する。ソート動作８０６は、転送されたデータブロックを所定の順序にソートする。例示的な順序付けは、限定することなく、ＬＢＡ順序、最も頻繁にアクセスされる順序、直前にアクセスされた順序等を含み得る。
【００５２】
書き込み動作８０８は、ソートされたデータブロックを別の中間記憶領域に、宛先記憶領域に、またはホストデバイスに書き込む。例えば、ソートされたデータブロックは、チャンクの異なるステージング領域に、または粒状記憶領域に書き込まれ得る。別の実施例において、ソートされたデータブロックは、長期記憶のためのデータ記憶装置の宛先記憶領域に書き込まれ得る。さらに別の実施例において、ソートされたデータブロックは、読み込みコマンドに応じてホストデバイスに転送され得る。データブロックが、データ記憶装置に再度書き込まれる場合、動的な再マッピング動作８１０は、データブロックのＬＢＡを、データ記憶装置のステージング領域内の新しい対応する物理ブロックアドレスに動的に再度マッピングする。マーキング動作８１２は、読み込み動作８０２においてデータブロックが読み込まれた所からのＰＢＡを古いものとしてマーキングする。再生動作８１４は、ステージング領域の古いＰＢＡを、例えば、ステージング領域の古いＰＢＡを他のデータブロックを記録するために再利用することによって、再生する。例えば、データブロックが宛先記憶領域に移動される場合、それらのデータブロックを以前に記憶するステージング領域のＰＢＡは、古くなったものとしてマーキングされ、新しいデータブロックとの使用のために再生され得る。しかしながら、オーバープロビジョニング環境において、記憶コントローラは、記憶領域の、他の中間記憶領域の、および／または宛先記憶領域の同一のデータブロックのコピーを保持し得る。このように、記憶コントローラは、最低平均アクセスレイテンシを提供する記憶から要求されるデータブロックを読み込むことができる。動的マッピングは、それぞれのＬＢＡ−ＰＢＡ間の関係のためにマッピングを維持し、ある特定の読み込みコマンドに対する各関係の最低平均アクセスレイテンシの決定を支援する情報を提供し得る。
【００５３】
図９は、ソートされたデータブロックが個別の粒状体９０２、９０３、および９０４に記憶される粒状記憶領域９００の例を図解する。（粒状記憶領域９００’は、粒状記憶領域９００への新しいデータブロックの書き込みの前の粒状記憶領域９００の状態を表す。Ａ−Ｂ−Ｃおよび０〜１５は、粒状記憶領域９００／９００’内の個別のデータブロックの座標を表す。）例示的な粒状記憶領域９００は、他の粒状体も含むが、それらは、マッピングされたデータを含むか、または含まず、かつ粒状体９０３、９０６、９０８、９１０、および９１２を含むようには示されていない。各粒状体は、太線によって指定され、ＬＢＡのある特定のサブセット（例えば、特定のＬＢＡ範囲、直前にアクセスされたＬＢＡ範囲、最も頻繁にアクセスされたＬＢＡ範囲）に動的に制約されたデータブロックを含む。この制約は、粒状記憶領域に書き込まれる書き込みデータを記憶するために、データ記憶システムによって各粒状体について経時的に動的に定義および再定義され得る。加えて、粒状体または粒状体の任意の部分は、その粒状体、別の粒状体、または任意の他の記録されたデータ領域内の任意の他の意図されないデータを直ちに変動、消去、または上書きしない場合、別々に書き込まれ得る。粒状体内のデータブロックのＬＢＡ−ＰＢＡ間の関係は、動的にマッピングされて、粒状記憶領域９００内のデータブロックの再編成を可能にする。
【００５４】
一実施形態において、各粒状体は一定の大きさであるが、粒状体によって大きさが異なり得る。このような方法で、データブロックの個別のより小さい粒状体がソートされ、粒状記憶領域内のより大きい粒状体に再度書き込まれ得る。複数の組の粒状体はまた、その組の粒状体が同一のＬＢＡサブセットを満たすデータブロックを含み得るように「付加される」か、または集められ得る。例えば、複数の粒状体はそれぞれ、同一のＬＢＡ範囲からのデータブロックを記憶するように構成され得る。将来のある時点で、これらの複数の粒状体内のデータブロックは、他の粒状体（典型的には、データ編成の改善を提供するために１つ以上のより大きい粒状体）にソートおよび／または圧縮され得る。粒状記憶領域９００は、非瓦書き磁気記録領域として示されるが、粒状記憶装置は、瓦書き磁気記録領域（例えば、図１１および１２を参照のこと）に記憶され得る。
【００５５】
粒状記憶モジュール９１４は、ホストデバイスから直接、ステージング領域（図示せず）から、ランダムアクセスメモリ９１６から等、様々なソースから書き込みデータブロックを受信し得る。そのようなデータブロックは、粒状記憶領域９００’の異なる組の粒状体からも読み込まれ、その後、粒状記憶領域９００内の新しい組の粒状体に書き込まれ得る。
【００５６】
一例において、一組のデータブロック９１８は、ランダムアクセスメモリ９１６に受信され、粒状体ソートモジュール９２０によってソートされ、粒状記憶領域９００内の１つ以上の個別の粒状体に転送される。データブロック９１８がランダムアクセスメモリ９１６内でソートされ得るか、または（例えば、分散−収集ＤＭＡ技術を用いて）ランダムアクセスメモリに／から転送されるときにソートされ得ることを理解されたい。
【００５７】
粒状体９０２に示されるように、データブロックは、個別の粒状体内で完全にソートされる必要はないが、それらは、所与の媒体アクセスにソートされた様式（例えば、書き込み動作）で書き込まれる。他のデータブロックは、粒状体９０２内のＬＢＡ４０（すなわち、ＰＢＡ  Ａ４）ならびに粒状体９０４内のＬＢＡ５０、５５、および５６（すなわち、Ｂ１０、Ｂ１１、およびＢ１２）に関して示されるように、粒状体内の空のＰＢＡ内でソートされ、書き込まれ得る。
【００５８】
図１０は、ソートされたデータブロックが個別の粒状体１００８および１０１２に圧縮される粒状記憶領域１０００の例を図解する。（粒状記憶領域１０００’は、粒状記憶領域１０００への新しいデータブロックの書き込みの前の粒状記憶領域１０００の状態を表す。Ａ−Ｂ−Ｃおよび０〜１５は、粒状記憶領域１０００内の個別のデータブロックの座標を表す。）例示的な粒状記憶領域１０００は、他の粒状体も含むが、マッピングされたデータを含むか、または含まず、かつ粒状体１００２、１００３、１００４、１００６、および１０１０を含むようには示されていない。各粒状体は、太線によって指定され、ＬＢＡのある特定のサブセット（例えば、特定のＬＢＡ範囲、直前にアクセスされたＬＢＡ範囲、最も頻繁にアクセスされたＬＢＡ範囲）に制約されたデータブロックを含む。加えて、粒状体または粒状体の任意の部分は、その粒状体、別の粒状体、または任意の他の記録されたデータ領域内の任意の他の意図されないデータを直ちに変動、消去、または上書きしない場合、別々に書き込まれ得る。粒状体内のデータブロックのＬＢＡ−ＰＢＡ間の関係は、動的にマッピングされて、粒状記憶領域１０００内のデータブロックの再編成を可能にする。
【００５９】
粒状記憶モジュール１０１４は、粒状記憶領域１０００’の粒状体からデータブロックを読み込んでランダムアクセスメモリ１０１６に書き込み、粒状体ソートモジュール１０２０を用いてそれらをソートし、それらを粒状記憶領域１０００／１０００’内の新しい粒状体または複数の組の粒状体（この場合、粒状体１００８および１０１２）に書き込む。結果として、粒状体１００８および１０１２は、各粒状体のシーケンシャルＰＢＡ内に高度にＬＢＡで順序付けされたデータブロックを含む。さらに、粒状体１００２、１００３、１０１０、１００６、および１００４の記憶空間は、粒状記憶領域１０００への新しい書き込みデータによる使用のために空けられる。このように、粒状記憶領域１０００内のデータブロックは、圧縮および高度に編成される（例えば、ＬＢＡ−ＰＢＡ間の順序付けにおいて動的にマッピングされる）と考えられる。また、データが適所で圧縮され、異なる粒状体、粒状体のサブセット、または一組の粒状体に圧縮／書き込まれるのではなく、同一の粒状体に戻って再度書き込まれ得ることを理解されたい。
【００６０】
図１１は、ソートされたデータブロックが個別の粒状体１１０２および１１０４に記録される瓦書き磁気記録帯域１１０８内の粒状記憶領域１１００の例を図解する。（粒状記憶領域１１００’は、粒状記憶領域１１００への新しいデータブロックの書き込みの前の粒状記憶領域１１００の状態を表す。Ａ−Ｂ−Ｃおよび０〜１５は、粒状記憶領域１１００／１１００’内の個別のデータブロックの座標を表す。）例示的な粒状記憶領域１１００は、マッピングされたデータを含まないように示される同一の瓦書き磁気記録帯域内に別の粒状体１１０６も含む。各粒状体は、太線によって指定され、ＬＢＡのある特定のサブセット（例えば、特定のＬＢＡ範囲、直前にアクセスされたＬＢＡ範囲、最も頻繁にアクセスされたＬＢＡ範囲）に制約されたデータブロックを含む。この制約は、粒状記憶領域に書き込まれる書き込みデータを記憶するために、データ記憶システムによって各粒状体について経時的に動的に定義および再定義され得る。加えて、粒状体または粒状体の任意の部分は、その粒状体、別の粒状体、または任意の他の記録されたデータ領域内の任意の他の意図されないデータを直ちに変動、消去、または上書きしない場合、別々に書き込まれ得る。粒状体内のデータブロックのＬＢＡ−ＰＢＡ間の関係は、動的にマッピングされて、粒状記憶領域１１００内のデータブロックの再編成を可能にする。
【００６１】
一実施形態において、各粒状体は一定の大きさであるが、粒状体によって大きさが異なり得る。このように、データブロックの個別のより小さい粒状体がソートされ、粒状記憶領域内のより大きい粒状体に再度書き込まれ得る。さらに、図１１に示されるように、単一の帯域１１０８は、２つ以上の粒状体を含み得る。複数の組の粒状体はまた、その組の粒状体が同一のＬＢＡサブセット制約を満たすデータブロックを含み得るように「付加される」か、または集められ得る。例えば、複数の粒状体はそれぞれ、同一のＬＢＡ範囲からのデータブロックを記憶するように構成され得る。将来のある時点で、これらの複数の粒状体内のデータブロックは、他の粒状体（典型的には、データ編成の改善を提供するために１つ以上のより大きい粒状体）にソートおよび／または圧縮され得る。
【００６２】
粒状記憶モジュール１１１４は、ホストデバイスから直接、ステージング領域（図示せず）から、ランダムアクセスメモリ１１１６から等、様々なソースから書き込みデータブロックを受信し得る。そのようなデータブロックは、粒状記憶領域１１００’の異なる組の粒状体からも読み込まれ、その後、粒状記憶領域１１００内の新しい組の粒状体に書き込まれ得る。
【００６３】
一例において、一組のデータブロック１１１８は、ランダムアクセスメモリ１１１６に受信され、粒状体ソートモジュール１１２０によってソートされ、粒状記憶領域１１００内の１つ以上の個別の粒状体に転送される。データブロック１１１８がランダムアクセスメモリ１１１６内でソートされ得るか、または（例えば、分散−収集ＤＭＡ技術を用いて）ランダムアクセスメモリに／から転送されるときにソートされ得ることを理解されたい。
【００６４】
粒状体１１０２に示されるように、データブロックは、個別の粒状体内で完全にソートされる必要はないが、それらは、所与の媒体アクセスにソートされた様式（例えば、書き込み動作）で書き込まれる。他のデータブロックは、粒状体１１０２内のＬＢＡ４０（すなわち、ＰＢＡ  Ａ１）ならびに粒状体１１０４内のＬＢＡ５０、５５、および５６（すなわち、Ｂ８、Ｂ９、およびＡ７）に関して示されるように、粒状体内の空のＰＢＡ内でソートされ、書き込まれ得る。
【００６５】
図１２は、ソートされたデータブロックが個別の粒状体１２０６にソートされる瓦書き磁気記録帯域１２０８内の粒状記憶領域１２００の例を図解する。（粒状記憶領域１２００’は、粒状記憶領域１２００への新しいデータブロックの書き込みの前の粒状記憶領域１２００の状態を表す。Ａ−Ｂ−Ｃおよび０〜１５は、粒状記憶領域１２００／１２００’内の個別のデータブロックの座標を表す。）例示的な粒状記憶領域１２００は、他の粒状体も含むが、それらは、マッピングされたデータを含むか、または含まず、かつ粒状体１２０２および１２０６を含むようには示されていない。各粒状体は、太線によって指定され、ＬＢＡのある特定のサブセット（例えば、特定のＬＢＡ範囲、直前にアクセスされたＬＢＡ範囲、最も頻繁にアクセスされたＬＢＡ範囲）に制約されたデータブロックを含む。加えて、粒状体または粒状体の任意の部分は、その粒状体、別の粒状体、または任意の他の記録されたデータ領域内の任意の他の意図されないデータを直ちに変動、消去、または上書きしない場合、別々に書き込まれ得る。粒状体内のデータブロックのＬＢＡ−ＰＢＡ間の関係は、動的にマッピングされて、粒状記憶領域１２００内のデータブロックの再編成を可能にする。
【００６６】
粒状記憶モジュール１２１４は、粒状記憶領域１２００’の粒状体からデータブロックを読み込んでランダムアクセスメモリ１２１６に書き込み、粒状体ソートモジュール１２２０を用いてそれらをソートし、それらを粒状記憶領域１２００内の新しい粒状体または複数の組の粒状体（この場合、粒状体１２０６）に書き込む。結果として、粒状体１２０６は、各粒状体のシーケンシャルＰＢＡ内または各粒状体のシーケンシャルＰＢＡ付近（例えば、粒状体内の欠陥のあるＰＢＡの存在下等）に高度にＬＢＡで順序付けされたデータブロックを含む。さらに、粒状体１２０４の記憶空間は、粒状記憶領域１２００への新しい書き込みデータによる使用のために空けられる。このように、粒状記憶領域１２００内のデータブロックは、圧縮および高度に編成される（例えば、ＬＢＡ−ＰＢＡ間の順序付けにおいて動的にマッピングされる）と考えられる。
【００６７】
その後の動作において、粒状記憶モジュール１２１４は、適切なＬＢＡ関連制約を満たす他のデータブロックを粒状体１２０２および１２０４に書き込み得る。例えば、動的マッピングを用いて、以前にＬＢＡ５０〜５９のデータブロックを記憶することになっていた粒状体１２０４の制約は、ＬＢＡ４０〜４９を記憶するように変更され得る。したがって、粒状記憶モジュール１２１４は、ＬＢＡ４０〜４９範囲内の新しい組のデータブロックを粒状体１２０４に書き込み得る。粒状体１２０４を粒状体１２０２と同一のＬＢＡに基づく制約に付加することによって、一組の粒状体１２０２および１２０４は、データブロックの同一のＬＢＡグループ化を支援し得る。すなわち、ＬＢＡ４０〜４９内の古くないデータブロックは、粒状体１２０２および１２０４の両方にまたがり得る。
【００６８】
同様の動作が、図１０に関して記載される粒状記憶領域等の粒状記憶領域１２００内にデータブロック圧縮も提供し得る。加えて、動的マッピングは、圧縮アルゴリズムが粒状記憶領域１２００内のデータに適用されることを可能にし、ＬＢＡよりも少ないＰＢＡを要求するオプションを生み出して、粒状体内にデータを記憶し得る。
【００６９】
さらに、ステージング領域と同様に、データブロックが部分的に埋められた粒状体に書き込まれるように、部分コードワードおよび／または増分コードワードが用いられ得る。このように、データブロックがデータ記憶装置書き込まれる際に、さらなるエラー訂正コード（ＥＣＣ）も粒状記憶領域１２００に書き込まれる。新しいデータブロックと新しいエラーコードとの組み合わせは、「コードワード」と称される。粒状記憶領域１２００への書き込みの際に、可変量のデータ（例えば、可変数のデータブロック）。さらなるＥＣＣを保持するために、コードワードサイズが変化し得るか、またはさらなるＥＣＣが増加する様式で計算され、一定の境界で（例えば、可変ではなく一定のワードサイズに適切な位置で）書き込まれる。
【００７０】
図１３は、データ記憶システム内にランダムアクセスメモリ１３００、ステージング領域１３０２、粒状記憶領域１３０４、および宛先記憶領域１３０６を含む記憶装置の段階の例を図解する。データブロックは、ステージング領域１３０２内の個別にソートされた組（「チャンク」）に記録される。これらのデータブロックは、ランダムアクセスメモリ１３００のステージング領域１３０２に書き込まれている。一実施形態において、以前にソートされていないデータブロックは、所与のソート順序（例えば、図１３に示される場合、ＬＢＡ順序）に従ってソートされる。他の実装例では、データブロックは、（例えば、分散−収集ＤＭＡプロセスを用いた）ランダムアクセスメモリ１３００への／からの転送中にソートされた。
【００７１】
ステージング領域が複数の組の個別にソートされたデータで埋まると、データ記憶システムは、新しい書き込みデータが使用できる空間を作成するプロセスを実行する。ある場合には、ステージング領域１３０２内のデータブロックは、同一のＬＢＡに対応する新しいデータがステージング領域１３０２に書き込まれるため古くなり得る。したがって、データ記憶システムは、ガベージコレクションまたは圧縮を実行して、古いデータを記憶するＰＢＡから記憶空間を再生し得る。他の場合では、ステージング領域１３０２内のデータブロックは、ランダムアクセスメモリ１３００に読み込まれ、記憶用の記憶モジュール１３０８によってソートされて、粒状記憶領域１３０４に書き込まれ得る。
【００７２】
図１３に示される粒状記憶領域１３０４は、３つの粒状体１３１２、１３１４、および１３１６を含む瓦書き磁気記録帯域１３１０の形態である。Ａ−Ｂ−Ｃおよび０〜１５は、粒状記憶領域１３００内の個別のデータブロックの座標を表す。一実装例において、ステージング領域１３０２内のデータブロックは、ランダムアクセスメモリ１３００に読み込まれ、ソートモジュール１３０８によってソートされ、各粒状体の動的にマッピングされた制約に従って粒状体に書き込まれる。例えば、図１３において、粒状体１３１２は、ＬＢＡ４０〜４９に割り当てられ、粒状体１３１４は、ＬＢＡ５０〜５９に割り当てられ、粒状体１３１６は、ＬＢＡ６０〜６９に割り当てられる。
【００７３】
図１３に示される動的にマッピングされた制約が単なる例であることを理解されたい。加えて、個別の粒状体は、同一の制約と動的にマッピングされて、同一の制約内に２つの粒状体（効果的に増大する粒状体）を付加し得る。例えば、粒状体１３１２および１３１４のＬＢＡ制約は、動的にマッピングされて、ＬＢＡ３０〜６１を含む一組の粒状体を形成し得る。したがって、ＬＢＡ６０は、ＰＢＡ  Ａ９に書き込まれ、ＬＢＡ６１は、ＰＢＡ  Ａ２に書き込まれ得る。したがって、粒状体のＬＢＡの内容が変化し得るだけでなく、複数の粒状体が集められてソートされた組の粒状体も形成し得、これは、圧縮および過剰提供を支援する。いくつかの実施形態において、データブロックは、最初に粒状記憶領域１３０４に記憶されることなく、ステージング領域１３０２からランダムアクセスメモリ１３００を介して宛先記憶領域１３０６に書き込まれ得る。
【００７４】
図１３において、ステージング領域１３０２内のデータブロックは、それらが粒状記憶領域１３０４に書き込まれた後に、古いものとしてマーキングされ（例えば、データ記憶システムの動的マッピングは、論理ブロックアドレス指定データブロックをステージング領域１３０２内のＰＢＡにマッピングしなくなる）、したがって、ステージング領域１３０２内のＰＢＡは、新しい書き込みデータのために使用され得る。加えて、宛先記憶領域１３０６は、現時点でそれに書き込まれた任意のデータブロックを有しない。同一のデータブロックがステージング領域１３０２、粒状記憶領域１３０４、または宛先記憶領域１３０６に書き込まれた場合であっても、ランダムアクセスメモリ１３００がホストデバイスによるアクセスのために１つ以上のデータブロックを保持し得ることにも留意されたい。ＬＢＡをＰＢＡに動的にマッピングする能力によって可能にされるデータブロックの余分なコピーを保持するこの能力は、データ記憶システムが、ホストデバイスによって要求される任意の読み込みデータのためにそれが利用できる最低レイテンシアクセスオプションを決定することを可能にする。（例えば、動的マッピングは、データ記憶システムが記憶媒体またはランダムアクセスメモリから要求されたデータを読み込むかを決定することを可能にする。）
図１４は、ランダムアクセスメモリ１４００、ステージング領域１４０２、粒状記憶領域１４０４、および宛先記憶領域１４０６を含む記憶装置の段階の他の例を図解する。ステージング領域１４０２は、新しい個別にソートされたチャンクを含む。粒状記憶領域１４０４は、新しい書き込みデータのために再生および再使用され得る古いデータブロックを有する粒状体１４１２および１４１４、ならびに宛先記憶領域１４０６に書き込まれる間古くないデータを含む粒状体１４１６を含む。したがって、粒状体１４１６は、実データのさらなるコピーを含み、それは、記憶コントローラによって読み込まれ得る。そのようなデータコピーは、ある期間（例えば、粒状体が圧縮されるまで）保持され得る。
【００７５】
宛先記憶領域１４０６は、非瓦書き形式（図示されるもの）または瓦書き形式であり得る。粒状記憶領域１４０４からソートされたデータブロックは、高度に順序付けられた構成でランダムアクセスメモリを介して宛先記憶領域１４０６に書き込まれて、比較的低い平均アクセスレイテンシを提供している。
【００７６】
図１５は、データブロックを粒状記憶領域に記憶する動作１５００の例を図解する。図１５の動作１５００は、ステージング領域からランダムアクセスメモリを介した粒状記憶領域への書き込み動作を示す。それでもなお、データブロックが、ステージング領域内で中間記憶装置を用いることなく、ランダムアクセスメモリを介してホストデバイスから粒状記憶装置にも書き込まれ得ることを理解されたい。
【００７７】
読み込み動作１５０２は、ステージング領域内の個別のソートされたチャンクからデータブロックを読み込む。転送動作１５０４は、読み込みデータブロックをランダムアクセスメモリに転送する。ソート動作１５０６は、動的に定義された粒状体制約に従って転送されたデータをソートする。書き込み動作１５０８は、定義された粒状体制約に従ってソートされたデータブロックを粒状記憶領域１５０８内の１つ以上の粒状体に書き込む。
【００７８】
マッピング動作１５１０は、データブロックのＬＢＡを粒状記憶領域１５０８内の１つ以上の粒状体の書き込まれたＰＢＡに動的に再マッピングする。マーキング動作１５１２は、ステージング領域内に書き込まれたデータを古いものとして以前に記憶しているＰＢＡをマーキングする。注記：マッピング動作１５１０およびマーキング動作１５１２は、同一の動作に組み込まれ得、ＬＢＡの再マッピングは、以前のＰＢＡを古いものとして本質的にマーキングする。再生動作１５１４は、新しい書き込みデータとともに使用するためにステージング領域内の古いＰＢＡを再生する。
【００７９】
図１６は、データブロックを宛先記憶領域に記憶する動作１６００の例を図解する。読み込み動作１６０２は、粒状記憶領域内の個別のソートされた粒状体の組からデータブロックを読み込む。転送動作１６０４は、読み込みデータブロックをランダムアクセスメモリに転送する。ソート動作１６０６は、定義された順序付けに従って転送されたデータをソートする。書き込み動作１６０８は、比較的静的なＬＢＡ−ＰＢＡ間のマッピングに従ってソートされたデータブロックを宛先記憶領域に書き込む。別個の大きい領域（例えば、２５６ＭＢ）のＬＢＡ−ＰＢＡ間のマッピングが、（例えば、デフラグ中、損傷したＰＢＡが検出されたとき等）引き続き経時的に変化し得ることに留意されたい。
【００８０】
宛先記憶領域に書き込まれたデータブロックは、データのさらなる実コピーとしてランダムアクセスメモリまたは粒状記憶領域内に保持され得る。あるいは、対応する粒状体および／またはランダムアクセスメモリは、新しい書き込みデータのために再使用され得る。
【００８１】
本明細書で説明される技術の実施形態は、１つ以上のコンピュータシステムにおける論理的ステップとして実装される。本技術の論理的動作は、（１）１つ以上のコンピュータシステムにおいて実行されるプロセッサ実装ステップのシーケンスとして、かつ（２）１つ以上のコンピュータシステム内の相互接続機械または回路モジュールとして実装される。この実施形態は、本技術を実装するコンピュータシステムの性能要件に応じて選択可能である。したがって、本明細書で説明される技術の実施形態を成す論理的動作は、動作、ステップ、物体、またはモジュールとして様々に称される。さらに、論理的動作は、他で明確に特許請求されない限り、任意の順序で実行されてもよく、または特定の順序が、特許請求の範囲の言い回しによって本質的に必要とされることを理解されたい。
【００８２】
データ記憶装置および／またはメモリは、ハードディスク媒体、複数の記憶デバイスを含む記憶アレイ、光媒体、ソリッドステートドライブ技術、ＲＯＭ、ＲＡＭ、および他の技術といった記憶の種々の種類によって具体化され得る。動作は、マイクロプロセッサ、マイクロプロセッサコア、マイクロコントローラ、専用回路、または他の処理技術によって実行される、または補助されるかを問わず、ファームウェア、ソフトウェア、ハードワイヤード回路、ゲートアレイ技術、および他の技術によって実装され得る。書き込みコントローラ、記憶コントローラ、データ書き込み回路、データ読み込みおよび復旧回路、古いデータをマーキングするモジュール、ソートモジュール、ならびにデータ記憶システムの他の機能モジュールは、システム実装プロセスを実行するためのプロセッサ読み取り可能命令を処理するために、プロセッサと接続して備えられ得る、または動作し得ることを理解されたい。
【００８３】
上記の明細書、実施例、およびデータは、本技術の例示的な実施形態の構造および使用の完全な説明を提供する。本技術の多くの実施形態が、本技術の趣旨と範囲から逸脱することなく作成され得るため、本発明は、以下に添付される特許請求の範囲に属する。さらに、異なる実施形態の構造的特徴は、記載される特許請求の範囲から逸脱することなく、さらに別の実施形態と組み合わされてもよい。
【図１】
2014182823.tif 000003
【図２】
2014182823.tif 000004
【図３】
2014182823.tif 000005
【図４】
2014182823.tif 000006
【図５】
2014182823.tif 000007
【図６】
2014182823.tif 000008
【図７】
2014182823.tif 000009
【図８】
2014182823.tif 000010
【図９】
2014182823.tif 000011
【図１０】
2014182823.tif 000012
【図１１】
2014182823.tif 000013
【図１２】
2014182823.tif 000014
【図１３】
2014182823.tif 000015
【図１４】
2014182823.tif 000016
【図１５】
2014182823.tif 000017
【図１６】
2014182823.tif 000018
【手続補正書】
【提出日】平成26年6月10日(2014.6.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
論理ブロックアドレスのサブセットにグループ化されたデータブロックを、データ記憶装置の粒状記憶領域（ｇｒａｎｕｌｅ  ｓｔｏｒａｇｅ  ａｒｅａ）内の１つ以上の個別の粒状体に書き込むことを含み、各粒状体が、前記論理ブロックアドレスのサブセットに動的に制約される、方法。
【請求項２】
前記書き込まれたデータブロックの論理ブロックアドレスを、前記データ記憶装置の前記粒状記憶領域内の新しい物理ブロックアドレスに動的にマッピングすることをさらに含む、請求項１に記載の方法。
【請求項３】
論理ブロックアドレスのサブセットに従って、前記データブロックをソートすることをさらに含む、請求項１または請求項２に記載の方法。
【請求項４】
前記粒状記憶領域内の少なくとも１つの粒状体が、別の粒状体と同一の論理ブロックアドレスのサブセットに動的に制約される、請求項１から請求項３のいずれか１項に記載の方法。
【請求項５】
前記データ記憶装置の前記粒状記憶領域に記録された複数の個別の粒状体をランダムアクセスメモリに読み込むことと、
別の論理ブロックアドレスのサブセットに従って、前記ランダムアクセスメモリに受信された前記複数の個別の粒状体から読み込まれた前記データブロックを再ソートすることと、
前記再ソートされたデータブロックを前記粒状記憶領域の新しい粒状体に書き込むことと、をさらに含み、前記新しい粒状体が、他の論理ブロックアドレスのサブセットに制約される、請求項１に記載の方法。
【請求項６】
前記データ記憶装置の前記粒状記憶領域に記録された複数の個別の粒状体をランダムアクセスメモリに読み込むことと、
前記複数の個別の粒状体の複数のデータブロックを、前記ランダムアクセスメモリからホストデバイスに書き込むことと、をさらに含む、請求項１に記載の方法。
【請求項７】
前記データ記憶装置の前記粒状記憶領域に記録された複数の個別の粒状体をランダムアクセスメモリに読み込むことと、
ＬＢＡ−ＢＡ間のマッピングに従って、前記ランダムアクセスメモリに受信された前記複数の個別の粒状体から読み込まれた前記データブロックを再ソートすることと、
前記再ソートされたデータブロックを、宛先記憶領域のＬＢＡ−ＰＢＡ間にマッピングされた領域に書き込むことと、をさらに含む、請求項１に記載の方法。
【請求項８】
データ記憶装置と、
ランダムアクセスメモリと、
前記ランダムアクセスメモリおよび前記データ記憶装置と通信可能に接続され、かつ論理ブロックアドレスのサブセットにグループ化されたデータブロックを前記データ記憶装置の粒状記憶領域内の１つ以上の個別の粒状体に書き込むように構成される、記憶コントローラと、を備え、各粒状体が、前記論理ブロックアドレスのサブセットに動的に制約される、データ記憶システム。
【請求項９】
前記記憶コントローラが、前記書き込まれたデータブロックの論理ブロックアドレスを、前記データ記憶装置の前記粒状記憶領域内の新しい物理ブロックアドレスに動的にマッピングするようにさらに構成される、請求項８に記載のデータ記憶システム。
【請求項１０】
論理ブロックアドレスのサブセットに従って、前記データブロックをソートするようにさらに構成されるソートモジュールをさらに備える、請求項８または請求項９に記載のデータ記憶システム。
【請求項１１】
前記粒状記憶領域内の２つ以上の個別にソートされた粒状体が、別の個別にソートされた粒状体と同一の論理ブロックアドレスのサブセットに動的に制約される、請求項８から請求項１０のいずれか１項に記載のデータ記憶システム。
【請求項１２】
前記記憶コントローラが、前記データ記憶装置の前記粒状記憶領域に記録された複数の個別の粒状体を前記ランダムアクセスメモリに読み込むようにさらに構成され、
前記粒状記憶領域内の新しい粒状体に書き込まれるように、別の論理ブロックアドレスのサブセットに従って、前記ランダムアクセスメモリに受信された前記個別にソートされた粒状体から読み込まれた前記データブロックを再ソートするように構成されるソートモジュールをさらに備え、前記新しい粒状体が、他の論理ブロックアドレスのサブセットに制約される、請求項８に記載のデータ記憶システム。
【請求項１３】
前記記憶コントローラが、前記データ記憶装置の前記粒状記憶領域に記録された複数の個別の粒状体を前記ランダムアクセスメモリに読み込むようにさらに構成され、
宛先記憶領域の静的にマッピングされた領域に書き込まれるように、ＬＢＡ−ＰＢＡ間のマッピングに従って、前記ランダムアクセスメモリに受信された前記個別にソートされた粒状体から読み込まれた前記データブロックを再ソートするように構成されるソートモジュールをさらに備える、請求項８に記載のデータ記憶システム。
【請求項１４】
データ記憶システム内でシステム実装プロセスを実行するためにプロセッサ読み取り可能命令を記憶する１つ以上のプロセッサ読み取り可能記憶媒体であって、前記プロセスが、
論理ブロックアドレスのサブセットにグループ化されたデータブロックをデータ記憶装置の粒状記憶領域内の１つ以上の個別の粒状体に書き込むことを含み、各粒状体が、前記論理ブロックアドレスのサブセットに動的に制約される、１つ以上のプロセッサ読み取り可能記憶媒体。
【請求項１５】
前記プロセスが、前記書き込まれたデータブロックの論理ブロックアドレスを前記データ記憶装置の前記粒状記憶領域内の新しい物理ブロックアドレスに動的にマッピングすることをさらに含む、請求項１４に記載の１つ以上のプロセッサ読み取り可能記憶媒体。
【請求項１６】
前記ソート動作が、論理ブロックアドレスのサブセットに従って、前記データブロックをソートすることをさらに含む、請求項１４または請求項１５に記載の１つ以上のプロセッサ読み取り可能記憶媒体。
【請求項１７】
前記粒状記憶領域内の少なくとも１つの粒状体が、別の粒状体と同一の論理ブロックアドレスのサブセットに動的に制約される、請求項１４から請求項１６のいずれか１項に記載の１つ以上のプロセッサ読み取り可能記憶媒体。
【請求項１８】
前記プロセスが、
前記データ記憶装置の前記粒状記憶領域に記録された複数の個別にソートされた粒状体をランダムアクセスメモリに読み込むことと、
別の論理ブロックアドレスのサブセットに従って、前記ランダムアクセスメモリ内のの前記個別にソートされた粒状体から読み込まれた前記データブロックを再ソートすることと、
前記個別に再ソートされたデータブロックを前記粒状記憶領域の新しい粒状体に書き込むことと、をさらに含み、前記新しい粒状体が、他の論理ブロックアドレスのサブセットに制約される、請求項１４に記載の１つ以上のプロセッサ読み取り可能記憶媒体。
【請求項１９】
前記プロセスが、
前記データ記憶装置の前記粒状記憶領域に記録された複数の個別にソートされた粒状体をランダムアクセスメモリに読み込むことと、
前記個別に再ソートされたデータブロックをホストデバイスに書き込むことと、をさらに含む、請求項１４に記載の１つ以上のプロセッサ読み取り可能記憶媒体。
【請求項２０】
前記プロセスが、
前記データ記憶装置の前記粒状記憶領域に記録された複数の個別の粒状体をランダムアクセスメモリに読み込むことと、
ＬＢＡ−ＰＢＡ間のマッピングに従って、前記ランダムアクセスメモリに受信された前記複数の個別の粒状体から読み込まれた前記データブロックを再ソートすることと、
前記再ソートされたデータブロックを宛先記憶領域のＬＢＡ−ＰＢＡ間でマッピングされた領域に書き込むことと、をさらに含む、請求項１４に記載の１つ以上のプロセッサ読み取り可能記憶媒体。