(57)【要約】【課題】区分された読み出し‐修正‐書き込み操作のための装置および方法を提供する。【解決手段】区分された読み出し‐修正‐書き込み操作のためのシステム、デバイス、装置、および方法が開示される。提供される例は、システムが、利用可能なバッファ内に格納されることができるものよりも大きなデータサイズを有する主格納部内に格納されたデータのための読み出し‐修正‐書き込み（ＲＭＷ）操作を行うことを可能にし得る。そのようなシステムの例は、瓦トラックのバンドを有するディスクを含む。そのような例では、各バンドは、１つ以上のトラックを包含する区分に分割され得、読み出し‐修正‐書き込み‐書き込み（ＲＭＷＷ）操作は、各区分のために行われ得る。更に、論理的ガードバンドは、瓦バンド内の次のトラックを上書きすることから区分を保護するように実装され得る。また、複数のスクラッチパッドが、実装されてもよい。【選択図】図１
2014182865.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのトラックが隣接トラックに部分的に重なる瓦様式で配列された複数のデータトラックを有するトラックのバンドを含むデータ格納媒体と、
コントローラであって、
各区分が少なくとも１つのトラックを包含する、少なくとも第１の区分および第２の区分に前記トラックのバンドを仮想的に分割するように、
前記第１の区分のための第１の読み出し‐修正‐書き込み‐書き込み操作を行うように、ならびに
前記第２の区分のための第２の読み出し‐修正‐書き込み‐書き込み操作を行うように、構成された、コントローラとを備える、装置。
【請求項２】
前記コントローラであって、
前記第１の区分をバッファに読み出すように、
前記バッファ内の前記第１の区分のデータを修正するように、
前記第１の区分を第１のスクラッチパッドに書き込むように、および
前記データ格納媒体上で前記第１の区分に対応する物理的に隣接するトラックに前記第１の区分の全てよりも少ない部分を書き込むように、更に構成された、前記コントローラを備える、請求項１に記載の装置。
【請求項３】
前記コントローラであって、
前記第２の区分を前記バッファに読み出すように、
前記バッファ内の前記第２の区分のデータを修正するように、
前記第１の区分の少なくとも最後のトラックを含む前記第２の区分を第２のスクラッチパッドに書き込むように、および
前記データ格納媒体上で前記第２の区分に対応する物理的に隣接するトラックに前記第２の区分の全てよりも少ない部分を書き込むように、更に構成された、前記コントローラを備える、請求項２に記載の装置。
【請求項４】
前記第１の区分の全てよりも少ない前記部分は、前記第１の区分から前記第１の区分の最後の隣接トラックを引いたものである、請求項３に記載の装置。
【請求項５】
前記第２の区分の全てよりも少ない前記部分は、前記第２の区分から前記第２の区分の最後の隣接トラックを引いたものである、請求項４に記載の装置。
【請求項６】
前記コントローラであって、
前記バンド内の全てのトラックが対応する読み出し‐修正‐書き込み‐書き込み操作を経るまで、任意の付加的な区分のための読み出し‐修正‐書き込み‐書き込み操作を行うことを繰り返すように、および
区分内の最後のトラックが、前記バンドを前記バンド内に無い他のトラックから分離する物理的ガードバンドである場合、前記バンドのための読み出し‐修正‐書き込み‐書き込み操作を行うことを停止するように、更に構成された、前記コントローラを備える、請求項１に記載の装置。
【請求項７】
第１のスクラッチパッドと、
第２のスクラッチパッドと、
前記第１の読み出し‐修正‐書き込み‐書き込み操作の間に前記第１の区分を前記第１のスクラッチパッドに書き込むように、および前記第２の読み出し‐修正‐書き込み‐書き込み操作の間に前記第２の区分を前記第２のスクラッチパッドに書き込むように、更に構成された、前記コントローラとを更に備える、請求項１に記載の装置。
【請求項８】
前記バンドの付加的な区分のための更なる読み出し‐修正‐書き込み‐書き込み操作のために、前記第１のスクラッチパッドへの書き込みと前記第２のスクラッチパッドへの書き込みとを交互に行うように更に構成された前記コントローラを備える、請求項７に記載の装置。
【請求項９】
前記第１の区分は、前記バンドの物理的に隣接するトラックの第１の範囲を含み、
前記第２の区分は、前記バンドの物理的に隣接するトラックの第２の範囲を含み、
前記第２の区分の前記第１のトラックは、前記第１の区分の最後のトラックに隣接することを更に備える、請求項１に記載の装置。
【請求項１０】
各区分が少なくとも１つのトラックを包含する、少なくとも第１の区分および第２の区分にデータ格納媒体のトラックの瓦バンドを分割することと、
前記第１の区分のための第１の読み出し‐修正‐書き込み‐書き込み操作を行うことと、
前記第２の区分のための第２の読み出し‐修正‐書き込み‐書き込み操作を行うこととを含む、方法。
【請求項１１】
少なくとも１つのトラックが隣接トラックに部分的に重なる様式で配列された複数の重なったデータトラックを有するトラックの複数の瓦バンドを含む、前記データ格納媒体を更に備える、請求項１０に記載の方法。
【請求項１２】
前記第１の読み出し‐修正‐書き込み‐書き込み操作と前記第２の読み出し‐修正‐書き込み‐書き込み操作との間に論理的ガードバンドを実装することを更に含む、請求項１０に記載の方法。
【請求項１３】
前記瓦バンド内の全てのトラックが対応する読み出し‐修正‐書き込み‐書き込み操作を経るまで、任意の付加的な区分のための読み出し‐修正‐書き込み‐書き込み（ＲＭＷＷ）操作を行うことと、
区分内の最後のトラックが、前記瓦バンドを前記バンド内に無い他のトラックから分離する物理的ガードバンドである場合、前記バンドのためのＲＭＷＷ操作を行うことを停止することとを更に含む、請求項１０に記載の方法。
【請求項１４】
２つの連続する読み出し‐修正‐書き込み‐書き込み操作に対応する区分間に浮動する論理的ガードバンドを実装することを更に含む、請求項１３に記載の方法。
【請求項１５】
浮動する論理的ガードバンドを実装することと、ＲＭＷＷ操作を通して最後に処理された区分と、ＲＭＷＷ操作を通して処理されることになる次の区分との間に前記浮動する論理的ガードバンドを移動することとを更に含む、請求項１３に記載の方法。
【請求項１６】
前記第１の読み出し‐修正‐書き込み‐書き込み操作の間に前記第１の区分を第１のスクラッチパッドに書き込むことと、
前記第２の読み出し‐修正‐書き込み‐書き込み操作の間に前記第２の区分を第２のスクラッチパッドに書き込むこととを更に含む、請求項１０に記載の方法。
【請求項１７】
前記瓦バンドの付加的な区分に対応する付加的な読み出し‐修正‐書き込み‐書き込み操作の交互の反復のために、前記第１のスクラッチパッドおよび前記第２のスクラッチパッドへの書き込みを交互に行うことを更に含む、請求項１６に記載の方法。
【請求項１８】
命令がプロセッサによって実行されると、
各区分が少なくとも１つのトラックを包含する、少なくとも第１の区分および第２の区分にデータ格納媒体のトラックの瓦バンドを分割することと、
前記第１の区分のための第１の読み出し‐修正‐書き込み‐書き込み操作を行うことと、
前記第２の区分のための第２の読み出し‐修正‐書き込み‐書き込み操作を行うことと、を含む、方法を前記プロセッサに行わせる、前記命令を格納するコンピュータで読み出し可能なデータ格納媒体を備える、装置。
【請求項１９】
命令がプロセッサによって実行されると、
前記第２の読み出し‐修正‐書き込み‐書き込み操作が完了した後に、物理的ガードバンドではない論理的ガードバンドを前記第１の読み出し‐修正‐書き込み‐書き込み操作と前記第２の読み出し‐修正‐書き込み‐書き込み操作との間に実装することを更に含む前記方法を前記プロセッサに行わせる、前記命令を格納する前記コンピュータで読み出し可能なデータ格納媒体を備える、請求項１８に記載の装置。
【請求項２０】
命令がプロセッサによって実行されると、
前記第１の読み出し‐修正‐書き込み‐書き込み操作の間に前記第１の区分を第１のスクラッチパッドに書き込むことと、
前記第２の読み出し‐修正‐書き込み‐書き込み操作の間に前記第２の区分を第２のスクラッチパッドに書き込むことと、を更に含む、前記方法を前記プロセッサに行なわせる、前記命令を格納する前記コンピュータで読み出し可能なデータ格納媒体を備える、請求項１８に記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
本開示は、データ格納デバイスに関するものであり、より詳細には、例えば瓦磁気記録（ＳＭＲ：ｓｈｉｎｇｌｅｄ  ｍａｇｎｅｔｉｃ  ｒｅｃｏｒｄｉｎｇ）などの、読み出し‐修正‐書き込み（ＲＭＷ）操作を使用するデータ格納メモリに関するものである。
【発明の概要】
【課題を解決するための手段】
【０００２】
一実施形態では、装置は、少なくとも１つのトラックが隣接トラックおよびコントローラに部分的に重なる瓦様式で配列された、複数のデータトラックを有するトラックのバンドを含む、データ格納媒体を含み得る。コントローラは、各区分が少なくとも１つのトラックを包含する、少なくとも第１の区分および第２の区分にトラックのバンドを仮想的に分割するように、第１の区分のための第１の読み出し‐修正‐書き込み‐書き込み操作を行うように、ならびに第２の区分のための第２の読み出し‐修正‐書き込み‐書き込み操作を行うように、構成され得る。
【０００３】
別の実施形態では、方法は、各区分が少なくとも１つのトラックを包含する、少なくとも第１の区分および第２の区分にデータ格納媒体のトラックの瓦バンドを分割することと、第１の区分のための第１の読み出し‐修正‐書き込み‐書き込み操作を行うことと、第２の区分のための第２の読み出し‐修正‐書き込み‐書き込み操作を行うことと、を含み得る。
【０００４】
更に別の実施形態では、装置は、命令がプロセッサによって実行されると、プロセッサに方法を行なわせる、命令を格納するコンピュータで読み出し可能なデータ格納媒体を含むことができる。方法は、各区分が少なくとも１つのトラックを包含する、少なくとも第１の区分および第２の区分にデータ格納媒体のトラックの瓦バンドを分割することと、第１の区分のための第１の読み出し‐修正‐書き込み‐書き込み操作を行うことと、第２の区分のための第２の読み出し‐修正‐書き込み‐書き込み操作を行うことと、を含み得る。
【図面の簡単な説明】
【０００５】
【図１】図１は、区分された読み出し‐修正‐書き込み操作のために設計されたシステムの例示的な実施形態の図である。
【図２】図２は、区分された読み出し‐修正‐書き込み操作を用いる使用のための瓦記録の例示的な実施形態の図である。
【図３】図３は、区分された読み出し‐修正‐書き込み操作を用いる使用のための瓦記録の別の例示的な実施形態の図である。
【図４】図４は、区分された読み出し‐修正‐書き込み操作を用いる使用のための瓦記録を備えるシステムの別の例示的な実施形態の図である。
【図５】図５は、区分された読み出し‐修正‐書き込み操作の方法の例示的な実施形態のフローチャートである。
【図６】図６は、区分された読み出し‐修正‐書き込み操作の方法の例示的な実施形態の別のフローチャートである。
【図７】図７は、区分された読み出し‐修正‐書き込み操作を用いる使用のための瓦記録の別の例示的な実施形態の図である。
【図８】図８は、区分された読み出し‐修正‐書き込み操作を用いる使用のための瓦記録の別の例示的な実施形態の図である。
【発明を実施するための形態】
【０００６】
実施形態の以下の詳細な説明において、本明細書の一部を形成し、その明細書において特定の実施形態の例示として示される、添付の図面に対する参照がなされる。他の実施形態が利用され得ることと、構造的変更が本開示の範囲から逸脱することなくなされ得ることとが理解されるべきである。
【０００７】
図１は、一般に１００で指定された、区分された読み出し‐修正‐書き込み操作のためのシステムの実施形態を描写する。システム１００は、ホスト１０２とデータ格納デバイス（ＤＳＤ）１０４とを含み得る。ホスト１０２はまた、ホストシステムまたはホストコンピュータとも呼ばれ得る。ホスト１０２は、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、タブレットコンピュータ、電話、音楽プレーヤ、別の電子デバイス、またはそれらの任意の組み合わせとすることができる。同様に、ＤＳＤ１０４は、上に挙げたデバイスのいずれか、またはハードディスクドライブ（ＨＤＤ）もしくはハイブリッドディスクドライブなどの、データを格納するか検索するために使用され得る任意の他のデバイスであり得る。ホスト１０２およびＤＳＤ１０４は、有線もしくは無線接続などのインターフェースによって、またはローカルエリアネットワーク（ＬＡＮ）もしくはワイドエリアネットワーク（ＷＡＮ）によって接続され得る。いくつかの実施形態では、ＤＳＤ１０４は、ホスト１０２に直接接続されない独立型デバイスとすることができ、またはホスト１０２とＤＳＤ１０４の両方は、単一ユニットの一部であってもよい。
【０００８】
ＤＳＤ１０４は、１つ以上の不揮発性のメモリを含むことができる。描写された実施形態では、ＤＳＤ１０４は、回転可能なディスクメモリ１０６を含むことができる。他の実施形態では、ＤＳＤ１０４は、揮発性および不揮発性の固体メモリを含む、付加的なメモリまたはメモリの類いを包含し得る。例えば、ＤＳＤ１０４は、ディスクメモリ１０６と不揮発性の固体メモリ１０８との両方を備えるハイブリッドＨＤＤとすることができる。
【０００９】
システム１００の実施形態では、ディスクメモリ１０６は、瓦磁気記録（ＳＭＲ）を使用して瓦データトラック上にデータを格納するように構成された１つ以上のゾーンを有することができる。ＳＭＲは、ディスク上のデータ記録密度を増やすための記録システムであり、それによって、データの少なくとも１つのトラックは、隣接データトラックに部分的に重なる。ＳＭＲは、図２〜図４に関してより詳細に記述されることになる。
【００１０】
ＳＭＲは、ディスク幅で１つの半径方向における書き込み操作を実行する方式であり、そこでは、トラックが、屋根瓦と類似して互いに部分的に重なる。図２を参照すると、書き込みが、瓦‐書き込み方式で矢印で示された方向に行われることが想定される場合、書き込みがトラックＮ上で行われると、隣接トラックＮ‐１は、部分的に重なる。また、書き込みがトラックＮ＋１上で行われると、隣接トラックＮは部分的に重なる。記録方法によって、各トラックが意図された重なり無しで書き込まれる当該記録方法とは対照的に、ＳＭＲは、格納媒体の半径方向における記録密度としてトラック／インチ（ＴＰＩ）特性の増加を結果としてもたらすことができる。
【００１１】
更に、ＳＭＲは、１つの方向に流れを生成することができる。従って、Ｎトラックが書き込まれた後にＮ‐１トラックが書き込まれ得ないという制約が、満たされるべきである。図３に例示されるように、トラックＮ上に書き込んだ後に、トラックＮ‐１が瓦記録方向の逆方向に書き込まれる場合、トラックＮは、重なりまたは隣接トラック干渉（ＡＴＩ：Ａｄｊａｃｅｎｔ  Ｔｒａｃｋ  Ｉｎｔｅｒｆｅｒｅｎｃｅ）に起因して読み出し不可能になり得る。従って、トラックＮが記録された後にトラックＮ‐１に記録されたデータ、あるいはトラックＮ＋１が記録された後にトラックＮに記録されたデータを変更することは、単にいつでも上書きされ得る非瓦トラックとは異なる書き込み方策を必要とする。
【００１２】
次に図４を見ると、区分された読み出し‐修正‐書き込み操作のための瓦記録を用いるシステムの別の例示的な実施形態の図が示される。回転ディスク媒体４０２は、複数のゾーン（例えば、ゾーン１、ゾーン２など）に分割され得、各ゾーンは、複数のデータトラックを包含し得る。
【００１３】
ＳＭＲの単一の書き込み方向に起因して、トラックＮが書き込まれた後に所与のトラックＮ‐１を書き込むことは、トラックＮ‐１に続く全ての瓦トラック（すなわち、トラックＮ、トラックＮ＋１、トラックＮ＋２など）を書き換えることを必要とする。これを現実的に達成するために、１組のトラックは、バンドが、ガードトラックで終了する、「バンド」にグループ化され得る。いくつかの実施形態では、ガードトラックは、非瓦トラック、またはデータを記録するために使用されない瓦トラックとすることができる。トラックＮ‐１が書き込まれることを必要とする場合、トラックＮ‐１からガードトラックまでは書き換えられ得、一方で、他のバンド内のトラックは影響を及ぼされ得ない。従って、各ゾーンにおけるトラックは、複数のバンドに分割され得る。図４の実施形態例に描写されるように、ゾーン１はバンド０（Ｂ＿０）からバンドｋ（Ｂ＿ｋ）までを包含することができ、一方で、ゾーン２はバンドｋ＋１（Ｂ＿ｋ＋１）、バンドｋ＋２（Ｂ＿ｋ＋２）などを包含することができる。ある実施形態例では、各ゾーンは、１００個のデータトラックを包含し得、１００個のデータトラックは、１０個のトラックをそれぞれ包含する１０個のバンドに分割され得る。各トラックは、複数の論理的ブロックアドレス（ＬＢＡ）と関連付けられたデータセクタに更に分割され得、データは、各ＬＢＡに格納されることができる。
【００１４】
ある実施形態では、ＳＭＲを使うＤＳＤは、バンド内の瓦トラックのデータセクタに対応する１つ以上のＬＢＡを上書きするために、書き込みコマンドを受信し得る。書き込まれることになるデータは、ホストデバイス、ＤＳＤの媒体キャッシュ、または別の位置から来得る。書き込みコマンドを実行するために、バンドの複数のトラックを読み出し、書き込みコマンドに基づいて読み出されたデータを修正し、次いで、修正されたデータをバンドに書き戻す必要があり得る。これは、読み出し‐修正‐書き込み操作（ＲＭＷ）、またはＳＭＲデバイスについてより詳細には、バンド化された読み出し‐書き込み操作（ＢＲＯ：Ｂａｎｄｅｄ  Ｒｅａｄ‐ｗｒｉｔｅ  Ｏｐｅｒａｔｉｏｎ）と呼ばれ得る。トラックから読み出されたデータは、バッファまたはレジスタなどの揮発性のメモリ内に一時的に格納され得、そのメモリで、そのデータは、バンドに書き戻される前に修正される。
【００１５】
例えば、書き込みコマンドが、バンド１内のトラックのデータセクタと関連付けられたＬＢＡを含む場合、データは、バンド１から揮発性のメモリに読み出され得、書き込みコマンドに従って修正され得る。ＤＳＤが、修正されたデータをバンド１に書き戻すことを開始し、予期しない電力障害が生じる場合、いくつかのデータは、修復不可能なほど失われる可能性がある。例えば、電力障害が生じたときにトラックＮが部分的に書き込まれた場合、トラックＮ＋１は、隣接トラック干渉に起因して読み出し不可能である可能性がある。揮発性のメモリ内のトラックＮ＋１の内容も同様に失われ得るので、トラックＮ＋１についてのデータを回復する手法は無いであろう。
【００１６】
そのような問題を回避する１つの解決策は、ＲＭＷ操作の代わりに読み出し‐修正‐書き込み‐書き込み（ＲＭＷＷ）を行うことであり得る。図５を参照すると、読み出し‐修正‐書き込み‐書き込み操作の例示的な実施形態のフローチャートが示され、一般に５００で指定される。方法は、５０２で、主格納デバイス上に位置するバンド１からデータを読み出すことと、それをバッファに格納することと、を含むことができる。主格納デバイスは、瓦ディスク型メモリ、ＲＭＷ操作を必要とする不揮発性の固体メモリ、またはＲＭＷ操作を使用し得る任意の他の種類のメモリとすることができる。バッファは、ＤＲＡＭなどの揮発性の固体メモリまたはフラッシュメモリなどの不揮発性の固体メモリとすることができる。データが一旦バッファ内にあると、５０４で、そのデータは、新たなもしくは他のデータで修正され得るか併合され得る。限定されるものではないが、新たなデータを書き込むこと、既存のデータを修正すること、バンドをクリーニングすること、またはそれらの任意の組み合わせを含むデータ操作が、行われ得る。
【００１７】
あらゆる修正が一旦完了すると、修正されたデータは、５０６で、バッファから利用可能な不揮発性のメモリ領域に書き込まれ得る。ある実施形態では、これは、ディスク上のスクラッチパッド領域、フラッシュメモリなどの異なる不揮発性のメモリ、またはそれらの任意の組み合わせであり得る。更に、以下に記載されるように、複数のスクラッチパッドが使用され得、異なるサイズとすることができ、および同じ格納媒体上にあってもよいし、なくてもよい。
【００１８】
修正されたデータはまた、元のデータが読み出された同じバンドに対して、５０８で、主格納デバイスに書き戻され得、あるいは異なるバンドに書き込まれ得る。ＲＭＷＷ操作を行うことは、データ損失に対する保護に役立つように、冗長性の層を加える。例えば、電力損失がスクラッチパッドへの書き込みの間に生じる場合、元のデータは、バンド１内で依然として安全であるべきである。バンド１への書き込みの間に電力損失が生じる場合、修正されたデータは、スクラッチパッド内で安全確実にされるべきである。
【００１９】
ＲＭＷＷ方法は、データが主格納媒体からスクラッチパッドに伝送されるように、データを格納するためのバッファに頼り得る。問題は、バッファが、伝送されることになるバンド内のデータの全てを保持するのに十分に大きくないときに起こり得る。これらの問題は、バンド上のデータの任意の一片への変更が、バンド全体に対する読み出しまたは書き込みを必要とし得るために、起こり得る。例えば、１００メガバイトバンド上の２キロバイトの一片のデータが変更されるとき、１００メガバイト全体が、バッファに読み出されるかバッファから書き込まれる必要があり得る。バンドサイズは、縮小される必要があり得、またはバッファサイズは、バッファ容量問題を回避するために増大される必要があり得る。
【００２０】
バッファサイズ決定の問題への解決策は、ＲＭＷＷ操作を行う目的のために、選択されるトラックの読み出し区分にバンドを分割することであり得る。各区分は、複数のトラックを包含することができ、トラックの断片は、サイズを固定され得るか動的にすることができ、バンドにわたってＬＢＡ順序を上げて指定され得る。データ操作が行われる必要があるとき、バンド全体ではなく、区分だけが、修正される必要があり得、時間を節約し、バッファサイズを縮小する。
【００２１】
バンドを区分に分割することの欠点は、バンド内に物理的ガードトラックが無いことである。ガードトラックが無いと、トラックＮの破損が、トラックＮ‐１が修正されたときに生じる可能性がある。この問題を克服するために、論理的ガードトラックが、区分の最後に物理的ガードトラックの代わりに実装され得、瓦データの層を書き込むときに制御および柔軟性を可能にする。論理的ガードトラックは、幅で少なくとも１つのトラックであり得、ユーザがアクセス可能なバンド領域内に移動され得る。論理的ガードトラックは、浮動的であり得、すなわち、それは、区分化進行として移動することができる。更に、１以上の論理的ガードトラックがバンド内で使用され得る。
【００２２】
読み出し‐修正‐書き込み操作の区分する方法は、Ｎトラックを包含しトラックＡで開始する区分（区分１）内のデータが、トラックＡからＮまで、主格納部からバッファに読み出され得るときに、働き得る。さまざまな実施形態では、トラックＡは、バンド内の第１の物理的に位置するトラックであり得、あるいは、ＲＭＷ操作は、書き換えられる必要があるものよりもバンドの最後からそのような部分のためにだけ行われ得るので、バンド内の別のトラックであり得る。例えば、全ての併合がバンドの最後の３つのトラック内にある場合、それらの書き込みは前に生じたトラックと干渉するべきではないので（すなわち、最後のトラックが最後のトラックの次のものに重なる、重なりの方向が生じる場合）、それらの３つのトラックだけが、書き換えられる必要があり得る。しかしながら、データがバンドの第１のトラック内で変更されることになる場合、そのバンドの全トラックは、ＲＭＷ操作において書き換えられる必要があるべきである。
【００２３】
選択されたデータがバッファ内にあった後、データ操作は、任意の新たなデータを既存のデータと併合することなどの、データを修正するために行われ得る。データ操作が一旦完了すると、トラックＡからＮまでを含む修正されたデータは、第１のスクラッチパッド（ｓｐＡ）に書き込まれ得る。次いで、ここではｓｐＡ内にある、修正されたトラックＡからＮ‐１までは、主格納部におけるそれぞれのバンドに書き込まれ得る。トラックＮ‐１への書き込みは、トラックＮを破損し得るので、トラックＮは、トラックＮからのデータが、バッファ内にあり、またｓｐＡ内に現在格納され得るので、主格納部上の論理的ガードトラックとみなされ得る。いくつかの状況では、読み出し操作がこの処理の間に実行されると、主格納媒体上の、論理的ガードトラック、トラックＮ上のデータが破損され得るときなど、スクラッチパッド内のデータが直近に修正され得るか単に有効なコピーであり得るので、そのような読み出しは、それぞれのスクラッチパッドに向けられ得る。
【００２４】
更に、第２の区分は、現在のＲＭＷＷ操作の一部としてまだ修正されていない次に生じるトラックであって、所与の例ではトラックＮ＋１からＭまでを包含し得るトラックのために選択され得る。第２の区分からのデータは、主格納部からバッファに読み出され得、修正され得、そのバッファはまた、トラックＮを依然として包含し得る。第２の区分は、次いでｓｐＢに書き込まれ得、トラックＮはまた、バッファ内で利用可能であり得るので、トラックＮからＭまでを包含するｓｐＢを結果としてもたらし得る。第２の区分がｓｐＢに格納された後、次いで、修正されたトラックＮからＭ‐１までが、主格納部に書き込まれ得る。この時点において、主格納部上のトラックＡからＭ‐１までは、有効なデータを包含し得、Ｍは、論理的ガードトラックであり得る。この処理は、バンド内の全区分がＲＭＷＷ操作を経るまで複数回繰り返すことができ、そうして、バンド全体についてのＲＭＷＷ操作の完了をもたらし、それは、バンドのデータ容量が、ＲＭＷＷ操作を行うために使用される関連付けられたバッファのサイズよりも大きいときに、有用であり得る。
【００２５】
図６を参照すると、読み出し‐修正‐書き込み操作の区分する方法の例示的な実施形態のフローチャートが示され、一般に６００で指定される。いくつかの例では、方法６００は、システムが、関連付けられたバッファ内に格納されることが可能なものよりも大きなデータサイズを有する主格納部内に格納されたデータのためのＲＭＷ操作を行うことを可能にし得る。そのようなシステムの例は、瓦トラックのバンドを有するディスクに関して上記の図面に示される。方法６００は、それぞれが、関連付けられたバッファ空間内に格納され得るものよりも多くのデータを包含し得る各バンドが、１つ以上のトラックを包含する区分に分割されることを可能にし、方法６００は、各区分のための読み出し‐修正‐書き込み‐書き込み（ＲＭＷＷ）操作を行うことができる一方で、論理的ガードバンドを実装することができる。
【００２６】
いくつかの実施形態では、バンドは、全バンド上でＲＭＷＷ操作を行う目的のために、複数の仮想区分に分割され得る。方法６００では、６０２で、第１の区分が読み出され得、また、Ｎトラックを包含し得る、最初のトラック、トラックＸからトラックＹまでを含み得る。ＸおよびＹを含めた、トラックＸからＹまでにおいて割り当てられたデータの量は、関連付けられたバッファのサイズを超えるべきではない。更に、ＸおよびＹを含めた、トラックＸからＹまでにおいて割り当てられたデータの量は、第１のスクラッチパッド（ｓｐＡ）のサイズを超えるべきではない。データ操作、例えば、選択されたトラックからのデータを、ホストから受信した任意の新たなデータで修正することなどが、６０４で、バッファ内のデータ上で行われ得る。
【００２７】
６０６で、トラックＹが、バンド内の最後のトラックともみなされ得る、物理的ガードトラックであるかどうかを決定するための検査が行われ得、その場合において、論理的ガードトラックは必要とされ得ない。本明細書に記載した例のいくつかにおいて、バンドの最後のトラックは、物理的ガードトラックであると想定され得るが、あるものは、非ガードトラックとしてバンドの最後のトラックを定義することができ、定義されたバンドの一部として物理的ガードトラックを含むことができず、そのような場合において、本明細書に与えられた例へのわずかな変形が、同様に達成され得る。
【００２８】
続けると、Ｙが物理的ガードトラックではない場合、６０８で、トラックＸからＹまでにおけるデータは、バッファからｓｐＡに格納され得る。Ｙが物理的ガードトラックである場合、６１０で、トラックＸからＹ‐１までのデータは、ｓｐＡに格納され得る。これは、物理的ガードトラック上のデータが、もしあれば、読み出し不可能であり得るか使用不可能であり得るからであり、それ故、物理的ガードトラックは、アドレスをマップされた格納位置を包含し得ない。処理の将来の反復において、選択されたデータは、ｓｐＢ内に格納され得る。
【００２９】
選択されたデータがｓｐＡもしくはｓｐＢに一旦格納されると、トラックＸからＹ‐１までが、６１２で、主格納デバイスに格納され得る。瓦格納システムにおいて、Ｙ‐１への書き込みは、トラックＹにおけるデータを破損し得、トラックＹが破損することになることをもたらし、それ故、トラックＹのデータのコピーをｓｐＡもしくはｓｐＢ（またはそうすることが望まれている場合には両方）に保持することは、論理的ガードトラックを作成することができる一方で、バンドを区分することができる。データを対応するバンド内のトラックＹ‐１に書き込む前に、データをトラックＹからｓｐＡもしくはｓｐＢ（または別の位置）に書き込む失敗は、トラックＹ上のデータの損失を結果としてもたらし得る。
【００３０】
現在の区分が主データ格納デバイスに一旦書き込まれると、方法６００は、区分されたＲＭＷＷ操作をまだ経ていない選択されたバンドの更なる区分があるかどうかを判断し得る。選択されたバンドに対応する区分の全てが書き込まれた場合、および書き込むための選択されたバンドの更なる区分が無い場合、すなわち、全バンドまたはバンドの適用可能な区分がＲＭＷＷ操作を経た場合、処理は６１６で終了し得る。トラックの別の区分が必要とされると、６１８で、Ｘは、Ｚｘだけ増分され得、Ｙは、Ｚｙだけ増分され得る。ある実施形態では、Ｚｘは、Ｙ‐Ｘ＋１に等しくすることができ、Ｚｙは、Ｚｘ以上とすることができる。ＺｘがＹ‐Ｘ＋１に等しいと、次の区分の新たに開始するトラックは、論理的ガードトラックよりも１つ高いトラックであるべきであり、前の論理的ガードトラック、Ｙ‐１からのデータは、バッファ内にあり得るか、あるいはｓｐＡもしくはｓｐＢに前に格納され得る。
【００３１】
例えば、６つのトラックを包含する区分は、トラック１００で開始し得、トラック１０５に論理的ガードトラックを有するトラック１０５で終了し得る。これは、Ｚｘ＝６であることをもたらし得、それ故、次の区分の第１のトラック、トラックＸをトラック１００からトラック１０６に移動させる。Ｚｙ＝Ｚｘであると、区分内の最後のトラック、トラックＹはまた、６つのトラックだけシフトされ、トラック１０５からトラック１１１に移動する。区分サイズは処理の各反復を通して同じままであろうから、Ｚｘ＝Ｚｙに設定することが望ましいであろう。しかしながら、いくつかの実施形態では、処理の反復のいくつかまたは全ての間にトラックサイズを区分的に増加させることは有利であり得、その場合において、Ｚｘよりも大きな値またはＺｘよりも小さな値にＺｙを設定する必要があり得る。例えば、６つのトラックを包含する区分が、トラック１００で開始し、トラック１０５で終了しており、以下のように増分される場合を考える。すなわち、Ｘ＝Ｘ＋ＺｘおよびＹ＝Ｙ＋Ｚｙ、ここで、Ｚｘ＝Ｙ‐Ｘ＋１、Ｚｙ＝Ｙ‐Ｘ＋２である。そのように増分する方式の下で、区分内の第１のトラックは、トラック１００からトラック１０６に移動され得、区分内の最後のトラックは、トラック１０５からトラック１１２に移動され得、結果として生じた区分は、６つではなくて７つのトラックを包含する。それ故、ＺｘやＺｙは、システムの選択に基づいて、各反復のための値を変更し得、それは、バッファまたはスクラッチパッド領域における最大効率に対応し得る。
【００３２】
ＸやＹが、それぞれ、ＺｘやＺｙで増分された後、論理的ガードトラックが必要とされ得ない場合にトラックＹが物理的ガードトラックであるときを決定する必要があり得る。その処理は、物理的ガードトラックに達するまでまたはシステムが選択されたバンドの全てについてのＲＭＷＷ操作を完了するまで、繰り返され得る。それ故、スクラッチパッドｓｐＡおよびｓｐＢは、どれくらいの区分があるかに関わらず、処理全体を通して、交互とすることができる。スクラッチパッドの数を２つに限定するという規則はないが、必要なら、より多くのスクラッチパッドが使用され得る。
【００３３】
図７は、読み出し‐修正‐書き込み操作の区分する方法の例示的な実施形態である。例示的な処理は、トラックｔ＿ｂｅｇｉｎで開始し、ｔ＿ｌａｓｔで終了することができる。この例の目的のために、ｔ＿ｌａｓｔは、選択されたバンドの最後のトラックまたは物理的ガードトラックである。バンドがＲＭＷ操作を経ることになっている場合、データは、７０２で、トラックｔ＿ｂｅｇｉｎからｔ＿Ｎまで、データ操作が行われ得るバッファに読み出され得る。トラックｔ＿ｂｅｇｉｎからｔ＿Ｎまでに対応する修正されたデータは、また７０２で、第１のスクラッチパッド（ｓｐＡ）に格納され得る。これは、７０６で、トラックｔ＿Ｎ‐１が上書きされるときに、トラックＮのためのデータのコピーは、主格納部上で破損され得るけれども、スクラッチパッド内に格納されることを確実にする。トラックＮ内のデータは、ここで、論理的ガードトラックとみなされ得る。次に、トラックｔ＿Ｎ＋１からｔ＿Ｒまでは、７０８で、主格納部からバッファに読み出され得、修正され得、ｓｐＢに格納され得る。次いで、データは、主格納部に書き込まれ得、それは、トラックｔ＿ｂｅｇｉｎからｔ＿Ｒ‐１までが、現在のＲＭＷ操作の一部として主データ格納媒体内に格納されることを結果としてもたらし得、それ故、トラックｔ＿Ｒは、論理的ガードトラックとなることになる。
【００３４】
処理は、異なるサイズのバンドに適応するよう容易に拡張され得る。この実施形態では、処理は、バンドの最後まで続く。７１４で、トラックｔ＿ｌａｓｔ‐ｘ＋１からｔ＿ｌａｓｔ‐１までのデータが、バッファに読み出され、修正される。ｔ＿ｌａｓｔ‐ｘはまたバッファ内に依然としてあるべきであるので、トラックｔ＿ｌａｓｔ‐ｘからｔ＿ｌａｓｔ‐１までは、スクラッチパッドｓｐＬＡＳＴに格納され得る。スクラッチパッドｓｐＬＡＳＴは、ｓｐＡ、ｓｐＢ、または全く異なるスクラッチパッドであり得る。トラックｔ＿ｌａｓｔ‐ｘからｔ＿ｌａｓｔ‐１までは、次に、主データ格納媒体上の対応するトラックｔ＿ｌａｓｔ‐ｘからｔ＿ｌａｓｔ‐１までに書き込まれ得る。処理がバンドの最後の区分に達すると、物理的ガードトラックが存在し得るので、論理的ガードトラックは必要ではない可能性がある。提供された例では、最後のトラックｔ＿ｌａｓｔは、物理的ガードバンドであり得、いずれのスクラッチパッドにも格納される必要はない。
【００３５】
図８を参照すると、読み出し‐修正‐書き込み操作の区分する方法のグラフィカルな表現が示され、一般に８００で指定される。示された特定の例では、システムは、各区分が６つのトラックまでからなる、データの２つの区分を書き込み得る。しかしながら、更なる区分または異なる区分サイズが、必要に応じて書き込まれ得る。示された例では、第１の区分内のトラックは、トラック１００から１０５までを含み得る一方で、第２の区分内のトラックは、トラック１０６から１１１までを含むことができる。
【００３６】
方法８００は、２つの反復、あるいは、各パスが区分された読み出し‐修正‐書き込み操作の間に行われ得る処理を示す、２つのパスを含み得る。第１のパス（パスＡ）８０２において、トラック１００から１０５までは、８０６で、主データ格納デバイスからバッファに読み出され得る。方法８００は、データがバッファ内にある間に修正、併合、または他のデータ操作を行い得る。次に、８０８で、トラック１００から１０５までに対応するデータは、ｓｐＡに格納され得る。次いで、８１２で、トラック１００から１０４までは、主データ格納デバイスに書き込まれ得る。次いで、トラック１０５は、それに対応するデータのコピーがバッファ内にあり得るので、論理的ガードトラックであり得、コピーはｓｐＡ内に格納され得る一方で、主データ格納デバイス上の対応するトラック１０５は、トラック１０４の書き込みに起因して破損され得る。
【００３７】
第２のパス（パスＢ）８０４を移動させると、第２の区分は、トラック１０６からトラック１１１までを含み得、８１４で、主データ格納デバイスから読み出され得る。トラック１０６（または１０５。なぜなら、それは依然としてバッファ内にあるべきであるので）から１１１までに対応するデータは、８１８で、ｓｐＢに格納され得る。次いで、８２０で、トラック１０５から１１０までは、主データ格納デバイスの対応するトラックに書き込まれ得る。
【００３８】
主データ格納デバイスからのトラック１０５からの有効なデータは、依然としてバッファ内にあることができ、また依然としてｓｐＡ内にあり得ることを思い出す。それ故、８２０で、データトラック１０５から１１０までが主データ格納デバイス上の対応するトラックに書き込まれると、トラック１０５は、有効なデータで上書きされることになり、論理的ガードトラックであることを終えることになり、次に、トラック１１１を論理的ガードトラックにさせる。
【００３９】
いくつかの実施形態では、例えば、第３のパス（パスＣ）（図示しない）、第４のパス（パスＤ）（図示しない）などの複数のパスがあり得る。スクラッチパッドは、処理の間に１回以上使用され得る。例えば、ｓｐＡは、パスＡ、パスＣなどにおいて使用され得る。しかしながら、ｓｐＡのサイズは、各パスについて同じである必要はなく、区分サイズに依存し得る。パスＣ内の区分が、８つのトラックを包含する場合、パスＡ内のｓｐＡのサイズは、パスＣとは異なり得る可能性がある。
【００４０】
さまざまな実施形態によれば、本明細書に記載された方法は、コンピュータプロセッサまたはコントローラなどの、コンピューティングデバイス上で動く１つ以上のソフトウェアプログラムとして実装され得る。別の実施形態によれば、本明細書に記載された方法は、ディスクドライブを使用しているパーソナルコンピュータなどのコンピューティングデバイス上で動く１つ以上のソフトウェアプログラムとして実装され得る。限定されるものではないが、特定用途向け集積回路、プログラム可能な論理アレイ、および他のハードウェアデバイスを含む専用ハードウェアの実装は、本明細書に記載された方法を実装するように同様に構築され得る。更に、本明細書に記載された方法および処理は、命令が実行されるとプロセッサに方法および処理を行わせる、命令を含む、コンピュータで読み出し可能なデータ格納媒体またはデバイスとして実装され得る。
【００４１】
本明細書に記載された実施形態の実例は、さまざまな実施形態の構造の一般的な理解を与えることを意図される。実例は、本明細書に記載された構造もしくは方法を利用する装置およびシステムの要素や特徴の全ての完全な記載として供されることを意図されない。多くの他の実施形態は、開示を検討すれば、当業者に明らかであろう。例えば、本明細書に記述されたＲＭＷ操作の区分は、例えば固体メモリのためのプログラム‐消去サイクルなどの、ＲＭＷ操作もしくは比較可能な操作を使用するデータ格納デバイスまたは格納媒体に有用であり得る。他の実施形態は、構造的および論理的置換や変更が開示の範囲から逸脱することなくなされ得るように、利用され得、開示から導かれ得る。その上、特定の実施形態が本明細書に例示され記載されたが、同じまたは類似目的を達成するように設計された任意の後続の配置が、示された特定の実施形態に置換され得ることが理解されるべきである。
【００４２】
この開示は、さまざまな実施形態の任意のおよび全ての後続の適応または変形を包含することが意図される。上記実施形態の組み合わせ、および本明細書に特に記載されていない他の実施形態は、説明を再検討すれば、当業者に明らかになるであろう。更に、実例は、単に代表するものであり、縮尺に合わせて描かれていない可能性がある。実例の範囲内の一定部分は、誇張され得る一方で、他の部分は縮小され得る。したがって、開示および図面は、限定的なものではなくて、例示的なものであるとして、みなされるべきである。
【図１】
2014182865.tif 000003
【図２】
2014182865.tif 000004
【図３】
2014182865.tif 000005
【図４】
2014182865.tif 000006
【図５】
2014182865.tif 000007
【図６】
2014182865.tif 000008
【図７】
2014182865.tif 000009
【図８】
2014182865.tif 000010