(57)【特許請求の範囲】
【請求項１】
コンピュータシステムによって実行される、記憶媒体上で記憶空間領域を管理するための方法であって、
ホスト装置によって規定されるデータ領域サイジングに基づいて分離領域の記憶位置を決定するステップを含み、分離領域は、記憶装置のうち１つ以上のデータ領域の分離に必要な１組の記憶位置を含む、方法。
【請求項２】
ホスト装置によって必要とされる連続した書込み区域としてデータ領域サイジングを決定するステップをさらに含む、請求項１に記載の方法。
【請求項３】
分離された場合には他のデータ領域と相互に作用しないアドレスのスパンとしてデータ領域サイジングを決定するステップをさらに含む、請求項１に記載の方法。
【請求項４】
分離領域は、分離領域に隣接するデータ領域のうち一方への書込みを、分離領域に隣接する他方のデータ領域におけるデータに悪影響を及ぼすことなく行うことを可能にする、請求項１に記載の方法。
【請求項５】
ホスト装置によって規定されるデータ領域の終端に基づいて分離領域の論理ブロックアドレスを決定するステップをさらに含む、請求項１に記載の方法。
【請求項６】
最小の分離領域サイズを記憶装置からホスト装置に伝えるステップをさらに含み、最小の分離領域サイズは、記憶装置上で２つのデータ領域を分離するのに必要とされる最小空間を表わす、請求項１に記載の方法。
【請求項７】
最小の分離領域サイズは、書込動作によって影響を受けた記憶装置上の隣接するトラックの数と、隣接するトラックの数の最小サイズとを表わす、請求項６に記載の方法。
【請求項８】
最小の分離領域サイズは、（１）ディスクドライブ、（２）ディスクドライブの規定された領域、および（３）ディスクドライブの規定された位置のうち少なくとも１つについ
ての最小の分離領域サイズを表わす、請求項６に記載の方法。
【請求項９】
記憶装置は、データを記録するために瓦記録方式を用いる、請求項１に記載の方法。
【請求項１０】
記憶装置はディスクドライブである、請求項１に記載の方法。
【請求項１１】
ホスト装置は、データ領域の開始ＬＢＡおよび終了ＬＢＡを規定することによって、データ領域サイジングを規定する、請求項１に記載の方法。
【請求項１２】
コンピュータシステム上でコンピュータプロセスを実行するためのコンピュータ実行可能命令を符号化する１つ以上のコンピュータ読取可能記憶媒体であって、前記コンピュータプロセスは、
ホスト装置によって規定されるデータ領域サイジングに基づいて分離領域の記憶位置を決定するステップを含み、分離領域は、記憶装置のうち１つ以上のデータ領域の分離に必要な１組の記憶位置を含む、コンピュータ読取可能記憶媒体。
【請求項１３】
記憶媒体上で記憶空間領域を管理するためのシステムであって、
ストレージコントローラモジュールを含み、前記ストレージコントローラモジュールは、記憶媒体上で利用可能な記憶空間についての情報をホスト装置に伝え、
記憶媒体にとって必要な１つ以上の分離領域のサイズについての情報をホスト装置に伝え、
分離領域における記憶位置についての命令をホスト装置から受信するよう適合される、システム。
【請求項１４】
ストレージコントローラはさらに、最小の分離領域サイズを記憶装置からホスト装置に伝えるよう適合され、最小の分離領域サイズは、記憶装置上で２つのデータ領域を分離するのに必要な最小空間を表わす、請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の詳細な説明
概要
記載した主題は、ホスト装置によって規定されるデータ領域サイジングに基づいて分離領域の記憶位置を決定するための方法またはシステムに関する。一実現例においては、分離領域は、記憶装置の１つ以上のデータ領域の分離に必要な１セットの記憶位置を含む。
【０００２】
図面の簡単な説明
この明細書中に記載されるさまざまな実現例は、明細書の残りの部分に記載されている添付の図面を参照することによってさらに理解され得る。図面においては、いくつかの図全体にわたって同様の参照番号を用いて同様の構成要素を示す。場合によっては、参照番号は、複数の同様の構成要素のうちの１つを示すために小文字からなる関連するサブラベルを有していてもよい。サブラベルで規定されていない参照番号が参照される場合、すべてこのような複数の同様の構成要素を指すことが意図されている。
【図面の簡単な説明】
【０００３】
【図１】ホスト装置と通信する記憶装置を示す例示的なブロック図である。
【図２】データ領域を有する記憶領域と動的な分離領域とを含む磁気ディスクの例示的な断面を示す図である。
【図３】データ領域を有する記憶領域と動的な分離領域とを含む磁気ディスクの代替的な例示的断面を示す図である。
【図４】分離領域の論理ブロックアドレスを決定するための例示的動作を示す図である。
【図５】分離領域の論理ブロックアドレスを決定するための代替的な例示的動作を示す図である。
【発明を実施するための形態】
【０００４】
詳細な説明
以下の記載においては、説明を目的として多数の具体的な詳細を述べることにより、この明細書中に記載されるさまざまな実現例を完全に理解できるようにしている。さまざまな特徴は特定の実現例に起因しているが、一実現例に関して記載される特徴が他の実現例にも組込まれ得ることが認識されるべきである。しかしながら、同様に、記載されるいずれの実現例の特徴も、他の実現例においてこのような特徴が省略され得るように、必須なものとしてみなされるべきではない。
【０００５】
磁気媒体ストレージドライブは、各々のストレージドライブ内における１つ以上の磁化された媒体上の分極されたセルにデータを記憶させる。磁気ディスクドライブは磁気媒体ストレージドライブの一実現例であり、この場合、磁気媒体はディスクであり、分極されたセルがディスク上で同心の概して円形のトラックに配置されている。動作時に、ディスクのうちの１つ以上がストレージドライブ内で一定の高速で回転し、この間、アクチュエータアセンブリを用いて情報をディスク上のトラックに書込んだり当該トラックから読出したりする。アクチュエータアセンブリは、シーク動作中に、ディスクに近接して位置決めされた軸受シャフトアセンブリを中心として回転する。
【０００６】
アクチュエータアセンブリは、ディスクに向かって延在する１つ以上の複数のアクチュエータアームを含む。アクチュエータアームの各々の遠位端には、読出し極および書込み極を備えたヘッドが取付けられている。書込み極は、対応するディスク上のセルの磁気分極を変化させるのに適した磁界を生成し（すなわち、ディスクにデータを書込み）、読出し極は、対応するディスク上のセルの磁気分極を検出する（すなわち、ディスクからデータを読出す）。
【０００７】
非瓦磁気媒体においては、磁化された媒体上のセルの各々はそのサイズが、書込み極と比べて十分に大きなものであるため、周囲のいずれのセルにもデータを上書きすることなく、書込み極がセルにデータを書込むことが可能となる。結果として、磁気媒体上のどこにおいても利用可能なセルに任意にデータが書込まれ得る。しかしながら、磁気媒体に対するデータ記憶密度についての要件が高まるのに応じて、セル寸法が小さくなる。書込み極のサイズを相応に小さくすることは困難である。というのも、より大きな書込み極によってもたらされる強い書込み磁場勾配が、磁化された媒体上のセルの極性をシフトさせるのにしばしば必要とされるからである。結果として、比較的より大きな書込み極を用いて、磁化された媒体上のより小さなセルにデータを書込むことにより、隣接するセルの分極に影響が及ぼされる（すなわち、隣接するセルに上書きされる）可能性がある。書込み動作中に隣接するセルが上書きされるのを防ぎつつより小さなセルを利用するよう磁気媒体を適合させるための一技術として、瓦記録方式（ＳＭＲ：shingled magnetic recording）が挙げられる。
【０００８】
瓦記録方式は、書込み極によって生成される大きくて強い書込み磁場を利用する。瓦記録方式の一制約として、データが磁気媒体に書込まれると、データが、順次、増大または低減する半径トラックに書込まれることが挙げられる。強い書込み磁場は、現在書込まれているトラックを先に書込まれたトラックと部分的に重ね合わせ、比較的小さな細片からなる以前の書込みトラックには影響が及ばないようにしておき、さらに、現在書込まれているトラックを１つ以上のまだ書込まれていないトラックと部分的に重ね合わせる。先に書込まれたトラック上の書込まれたデータの残りの細片が有する上述のセルは、単に実現可能な書込みサイズを有する断片にすぎないが、読出し極を用いて読出すのに十分に大きい。結果として、瓦記録方式でも依然として従来のランダムアクセス読出し動作が可能であるが、書込みをランダムに行うことはもはやできなくなる。というのも、単一トラック書込みにより、まだ書込まれていない（または、これから書込まれるべき）１つ以上のトラックが変更／上書きされるからである。結果として、瓦状に重ねられたデータ内におけるいずれかのデータセルを変更するために、瓦状に重ねられたデータ全体が、選択された逐次的な書込み順序で書換えられる。
【０００９】
磁気ディスク実現例におけるランダムな書込み機能の欠如を補償しつつ、瓦記録方式によって高いセル密度を実現可能にするために、１つ以上の分離領域には、ディスク上で、瓦状に重ねられたデータが割当てられてもよい。分離領域は、ガードトラック、ガードバンドなどとも称されるが、記録には利用できない瓦状に重ねられたデータ内の区域であり、複数のデータトラックを含む瓦状に重ねられたデータからなる別個のバンドを規定している。典型的には、各々の分離領域は、分離領域にわたる如何なる上書きをも防ぐのに十分なほど広い。結果として、バンド内における１つ以上のセルが変更されると、瓦状に重ねられたデータからなる１バンドが書換えられる。より密な間隔で配置された分離領域同士により、ガードトラック間により小さなバンドが作り出だされ、こうして、バンドの書換え時間が短くなる。しかしながら、用いられる分離領域が多くなるのに応じて、有効なディスクデータ記憶密度が低下する。というのも、磁気媒体上にある他の場合に利用可能な空間が分離領域によって占められているからである。現在開示されている技術により、ホスト装置によって規定されるデータ領域間隔に基づいて記憶装置のための分離領域を決定することが可能となる。ＳＭＲ技術は、メモリカード、ユニバーサル・サービス・バス（ＵＳＢ：universal service bus）フラッシュドライブ、ソリッドステートドライブなどの他の種類の記憶装置においても用いられる。
【００１０】
典型的には、ＳＭＲシステムにおいては、ディスク表面などの記憶区域はデータ領域および分離領域として構成される。ＳＭＲの一実現例においては、記憶装置が領域境界を選択し、１つ以上のルールがデータ領域に関連付けられる。このようなルールの１つとして、たとえば、データ領域内におけるすべての書込みが、順次増大するアドレスに限定されることが挙げられる。代替的なルールとしては、データ領域に属するすべてのアドレスのために、そのデータ領域が書換えられる前にＴｒｉｍコマンドの発行が必要となることが挙げられる。このような実現例においては、記憶装置と通信するホストにはルールに従う義務や、データ保全性の責任がある。データ保全性を満たすために、ホストは、ルールがどんなものであるかと、データ領域境界がどこに位置しているかとを知る必要がある。一実現例においては、記憶装置は、領域境界と、記憶装置と通信するホストに対するデータ領域に関する他のルールとを規定する。しかしながら、データ領域境界のこのような規定は、ホスト装置にとって適した解決策ではないかもしれない。たとえば、ホストにとっては、記憶装置の各々のデータ領域が１ＧＢの記憶容量を有することが好ましいかもしれない。このようなホストが０．９ＧＢのデータ領域を有する記憶装置に接続される場合、ホストは記憶装置を十分に活用することができないかもしれない。というのも、ホストは、１ＧＢの要件を満たすために０．９ＧＢのデータ領域を２つ必要とし、このため、１ＧＢの情報のために１.８ＧＢの記憶空間を用いることになるからである。この明細書中に記載される実現例では、記憶装置のデータ領域を規定するためにホスト装置を設けており、こうして、記憶装置によって規定されるように、データ領域間隔とそれに関するルールとによってホストが制限されないようにしている。
【００１１】
図１は、ホスト装置と通信する記憶装置の例示的なブロック図１００を示す。一実現例においては、記憶装置１０５は、ディスクドライブ、メモリカード、ユニバーサル・サービス・バス（ＵＳＢ）フラッシュドライブおよびソリッドステートドライブのうちの１つである。ホスト装置１１０は、コンピュータ、サーバ、ネットワークスイッチなどのうちの１つである。ホスト装置は、揮発性メモリ、不揮発性メモリ、一時的でないメモリ、プロセッサ、１つ以上の入出力端子、１つ以上の通信端末などを含み得る。一実現例においては、記憶装置１０５は、ストレージコントローラを備えるか、または揮発性メモリ、不揮発性メモリ、一時的でないメモリ、プロセッサ、１つ以上の入出力端子、１つ以上の通信端末などを含む他の装置を備える。一実現例においては、いくつかの動作を含む１つ以上のコンピュータプロセスは、これらの動作がプロセッサを用いて処理され得るように、ストレージコントローラおよびホスト１１０の揮発性メモリまたは不揮発性メモリに記憶されてもよい。
【００１２】
図１に開示された実現例においては、記憶装置１０５は、データ記憶のための瓦記録方式（ＳＭＲ）技術を用いるのに適している。ホスト１１０は、記憶装置１０５へのデータの書込みや記憶装置１０５からのデータの読出しが頻繁に行われる場合、短期間のデータ記憶の間に記憶装置１１０を用いてもよい。代替的には、ホスト１１０は、データ保管などの長期にわたるデータ記憶のために記憶装置１０５を用いてもよい。ホスト１１０のデータ記憶要求の種類によっては、ホスト１１０にとって、データ領域間隔およびデータ領域境界の規定が異なっていることが好ましいだろう。
【００１３】
ホスト１１０は、数字１１５で表わされるように、記憶空間についての要求を送信することによって記憶装置１０５とのストレージセッションを開始し得る。具体的には、ホスト１１０は、記憶装置１０５に含まれる現在のところ記憶するのに利用可能な空間の量について記憶装置１０５に要求し得る。一実現例においては、ホスト１１０は、記憶装置１０５上で利用可能な連続した記憶空間の量を識別するよう記憶装置に要求してもよい。
【００１４】
ホスト１１０からの要求１１５に応じて、記憶装置１０５は、数字１２０によって表わされるように記憶のために利用可能な空間の量を伝えることによって応答する。一実現例においては、記憶装置１０５は、記憶装置１０５上で利用可能な２つ以上の連続した記憶空間についての情報を伝える。たとえば、記憶装置１０５が１組のディスクを含み、当該組のディスクのうち１つ以上のディスク上の連続した空間の量が異なっている場合、記憶装置１０５は、連続した空間の各ブロックについての情報をホスト１１０に伝え得る。代替的には、記憶装置１０５は、利用可能な空間の連続したブロックの最大サイズについてホスト１１０に通知し得る。さらなる代替的な実現例においては、記憶装置１０５はまた、利用可能な記憶空間に関する１つ以上のルールについての情報を送信し得る。このように、たとえば、一実現例においては、記憶装置は、データ領域の２つの別個のブロック間を分離するのにどれくらいの間隔が必要であるかについての情報を伝える。代替的には、記憶装置１０５はまた、データ領域などを書換える前にＴｒｉｍコマンドを発行するための要件などの１つ以上のルールについての情報をホスト１１０に伝え得る。
【００１５】
一例においては、記憶装置１０５は、利用可能なデータ領域の最大ブロックが１０ＧＢであることを伝え得る。代替的には、一実現例においては、記憶装置１０５は５０ＧＢの総記憶容量を含む未使用のディスクドライブシステムであってもよく、この場合、５０ＧＢの利用可能な総容量についての情報がホスト１１０に伝えられる。このような場合、記憶装置１０５はまた、５０ＧＢの総記憶容量が２以上のデータ領域に分割されるべき場合、各々のデータ領域が少なくとも０．１ＧＢなどの分離領域によって次のデータ領域から分離されることをホスト１１０に伝える。一実現例においては、分離領域についての情報はさまざまなデータ領域ごとに異なっている。このため、たとえば、連続したデータ領域がディスクドライブの外径の方に位置する場合、２つ以上のデータ領域間においてこのような連続したデータ領域から作り出すのに必要な分離領域がより大きくなる可能性がある。代替的には、連続した空間領域がディスクドライブの内径の方に位置する場合、２つ以上のデータ領域間においてこのような連続したデータ領域から作り出すのに必要な分離領域がより小さくなる可能性がある。
【００１６】
次に、数字１２５によって表わされるように、ホスト１１０は、ホスト１１０自体が特定の書込動作のために必要とするデータ領域についての情報を伝える。こうして、たとえば、ホスト１１０は、５ＧＢの連続した空間が必要であることを記憶装置１０５に伝えてもよい。一実現例においては、ホスト１１０は、その現在の要件に基づいて分離領域およびデータ領域のサイズを決定し得る。たとえば、ホスト１１０は、データを書込んだ後でも、長期間にわたってデータを書換えるかまたは更新する必要がなく、現在利用可能な連続したデータ領域全体に書込むのに利用可能な十分なデータを有する保管用の記憶空間を必要とする可能性がある。このような場合、ホスト１１０は、連続したデータ空間全体が１つのデータ領域として識別されるべきであることを記憶装置１０５に通知する。このような場合、ホスト１１０はまた、分離領域を設ける必要がないことを記憶装置１０５に通知する。というのも、利用可能なすべての記憶空間が１ブロックとして書込まれたり書換えられたりされるからである。
【００１７】
代替的な実現例においては、ホスト１１０は５つの５ＧＢデータ領域を必要とする可能性がある。このような場合、ホスト１１０は、５ＧＢサイズのデータ領域を作成して、このような各々のデータ領域の終端に分離領域を設けるよう記憶装置１０５に通知する。代替的な実現例においては、ホスト１１０はまた、データ領域が始まる論理ブロックアドレス（ＬＢＡ）とデータ領域が終わるＬＢＡとを記憶装置１０５に通知してもよい。代替的には、ＬＢＡについての情報は記憶装置１０５によって決定され、ホスト１１０に伝えられる。代替的には、ホスト１１０は、データ領域が始まるＬＢＡとデータ領域が終わるＬＢＡとを決定し、アクセスルールに従うようにその情報を用いる。この場合、ホストは、そのデータ領域境界選択については記憶装置１０５に通知しない。
【００１８】
データ領域要求１２５に応じて、記憶装置１０５は、数字１３０によって示されるように、ホスト１１０にコンファメーションを送信する。記憶装置１０５は、要求されるようなデータ領域が利用可能であるという確認をホスト１１０に送信し得る。一実現例においては、データ領域のＬＢＡを規定することなくホスト１１０がデータ領域を要求する場合、記憶装置１０５からホスト１１０に送信される確認には、データ領域のＬＢＡについての情報も含まれる。記憶装置１０５がホスト１１０によって要求されるとおりにデータ領域および分離領域を提供することができないいくつかの状況においては、確認は、このような情報を、データ領域が利用できないことの理由とともに含み得る。このような場合、ホスト１１０は、データ領域についての代替的な要求と分離要求を用いて記憶装置１０５に通信し返してもよい。
【００１９】
図２は、データ領域がホスト装置によって規定される領域サイジングに基づいて決定されているディスクドライブ２００の例示的な断面を示す。具体的には、図２は、ホスト１１０などのホスト装置が使用し得るディスクドライブ２００上の記憶空間２０５の図を示す。一実現例においては、記憶空間２０５は、ディスクドライブ２００上で現在利用可能な記憶空間を表わす。なお、簡潔にする目的で、ディスクドライブ２００上のトラックのうち４分の１だけが図２に示されていることに留意されたい。さらに、記憶空間２０５はディスクドライブ２００の内径の方に続いている。代替的な実現例においては、記憶空間２０５は、ディスクドライブ２００に含まれる１組のディスクのうち次のディスクへと続いていてもよい。
【００２０】
ホスト装置からの要求に応じて、ディスクドライブ２００は、ディスクドライブ２００上で現在利用可能な連続する最大ブロックが、記憶空間２０５によって表わされる１０００ＧＢの総記憶容量を有するブロックであるとホスト装置に通知する。ディスクドライブ２００はまた、利用可能な記憶空間の開始ＬＢＡが２１０であるとホスト装置に通知する。一実現例においては、ホスト装置は、各々が１０ＧＢのデータ領域を必要とする。このような場合、ホスト装置は、記憶空間２０５が、各々１０ＧＢのサイズを有するいくつかのデータ領域に分割されることをディスクドライブ２００に通知する。一実現例においては、データ領域は順次書込みされる区域として規定される。他の実現例においては、データ領域は、その領域のうちいずれかの部分について書換えが必要とされる場合、その領域の開始時に書換え動作が開始されなければならない区域として規定されてもよい。データ領域の代替的な規定が用いられてもよい。
【００２１】
ホスト装置からの要求に応じて、ディスクドライブ２００は、記憶空間２０５を、１０ＧＢずつの等しいデータ領域に分割し得る。さらに、各々のデータ領域が分離領域によって分離される。こうして、図２に示される実現例においては、記憶位置２１０で始まる第１のデータ領域２１５が作成される。第１のデータ領域２１５は、分離領域２２０によって第２のデータ領域２２５と分離される。図２に示される実現例においては、ホスト装置は、データ領域のサイズについてディスクドライブ２００に通知し、ディスクドライブ２００は、データ領域２１５および２２５がどこで始まってどこで終わるかを判断する。しかしながら、代替的な実現例においては、ホスト装置が、データ領域がどこで始まってどこで終わるかをＬＢＡのディスクドライブに通知し得る。この場合、記憶装置は、十分な分離領域を与えるためにデータ領域間に十分な記憶空間を確保している。代替的には、ホスト装置は、ディスクドライブ２００によって確保されるべきさまざまな分離領域の開始ＬＢＡおよび終了ＬＢＡについて記憶装置に指示し得る。この場合、ディスクドライブ２００は、領域のためのアクセスルールを実施してもよい。代替的には、ホスト装置は、領域の境界を選択し、データ領域のためのルールに従い、分離領域にアクセスしなくてもよい。この場合、ホストは、その領域境界選択についてはディスクドライブ２００に通知しない。
【００２２】
一実現例においては、ホストは、それが、サイズの異なる２つ以上のさまざまなデータ領域を必要とすると判断し得る。このような場合、ホスト装置は、単に、さまざまなデータ領域の開始ＬＢＡおよび終了ＬＢＡをディスクドライブに伝えるだけにすぎないかもしれない。図３は、ディスクドライブがＬＢＡ  ３１０から始まる３０５によって表わされる利用可能な記憶空間を有するこのような実現例を示す。このような実現例においては、ホスト装置は、第１のデータ領域３１５がＬＢＡ  ３１０において始まり、ＬＢＡ  ３２０において終わるようディスクドライブ３００に指示し得る。第１の分離領域３２５は、記憶位置３２０において始まり、記憶位置３３０において終わるよう設定される。第２のデータ領域３３５は、第１のデータ領域３１５とはサイズが異なっているが、ＬＢＡ  ３３０において始まる。図３に示される実現例においては、分離領域３２５が、記憶位置３２０において始まり、記憶位置３３０において終わるよう設定されており、ＬＢＡ  ３２０およびＬＢＡ  ３３０がともに、ディスクドライブ３００上の同じ円周位置に位置するよう示されているが、代替的な実現例においては、ＬＢＡ  ３２０およびＬＢＡ  ３３０は、ディスクドライブ３００上の他のどの円周位置にも位置し得る。
【００２３】
上述の実現例においては、分離領域はＬＢＡを消費するものと想定されているが、代替的な実現例においては、分離領域はＬＢＡを消費しない。このため、このような代替的な実現例においては、データ領域のＬＢＡは、あるデータ領域から次のデータ領域へと連続的に続いている。たとえば、第１のデータ領域の終了ＬＢＡがＸである場合、第１のデータ領域と第２のデータ領域とを分離する分離領域の後に始まる第２のデータ領域の開始ＬＢＡは、Ｘ＋１となるだろう。
【００２４】
図３に示されるデータ領域の規定によりホスト装置に柔軟性が与えられ、これにより、ディスクドライブ３００上で利用可能な全記憶空間がホスト装置にとって有利に利用されるようにさまざまなデータ領域が規定される。このような柔軟性のあるデータ領域を達成するために、ディスクドライブ３００は、利用可能な全記憶空間の開始アドレスと、連続する２つのデータ領域間に必要とされる分離領域のサイズとを、ホスト装置に通知する必要がある。この情報に基づいて、ホスト装置は、データ領域間の境界のＬＢＡを決定する。このような実現例においては、ディスクドライブ３００は、記憶領域境界がどこにあるかを通知しなくてもよいかもしれない。というのも、ホスト装置は、分離領域サイジングの要件を知っているため、隣接する記憶領域空間の間に十分な間隔があることを確実にし得る書込みコマンドを自動的に供給するからである。言いかえれば、このような実現例においては、ホスト装置は、各々の領域境界においてアドレス可能な空間がどれくらい失われるかを認識している。このような場合、ディスクドライブ３００の観点から見ると、アドレス可能な空間の量に変化はない。
【００２５】
ここで図４を参照すると、記憶装置のためのデータ領域および／または分離領域の位置を決定するための例示的な動作が示される。具体的には、図４は、ホスト装置によって規定されるデータ領域境界に基づいて記憶装置のためのデータ領域を決定する方法を示す。要求動作４０２は、記憶装置上の利用可能な記憶空間についての要求をホスト装置から記憶装置に送信する。一実現例においては、要求動作はまた、分離領域が必要であるかどうかと、もし必要であれば、何が分離領域の最小サイズに該当するのかとを識別するよう記憶装置に要求する。さらなる代替的な実現例においては、ホスト装置は、記憶空間情報についての要求を記憶装置に送信する必要はないかもしれない。このような実現例においては、記憶装置は、システム初期化中に、このような情報を記憶装置に接続されたいずれかのホスト装置に自動的に供給し得る。
【００２６】
要求動作４０２に応じて、送信動作４０４では、記憶装置上で利用可能な記憶空間についての情報をホスト装置に送信する。さらに、代替的な実現例においては、送信動作４０４ではまた、分離領域の所要の最小サイズ、記憶空間に関する他のルールなどについての情報をホスト装置に送信する。たとえば、記憶装置は、利用可能な総空間がどれくらいであるか、何が利用可能な記憶空間の開始ＬＢＡに該当するのかについての情報を伝える。一実現例においては、記憶装置はまた、データ保全性を維持するために、記憶空間における隣接するデータ領域間において必要とされる分離のサイズについての情報を伝える。
【００２７】
送信動作４０４から受信した情報に基づいて、判断動作４０６では、ホスト装置の要求に合致する利用可能な記憶空間のプロフィールが記憶装置上に存在するかどうかを判断する。たとえば、判断動作では、利用可能な全記憶空間がホスト装置のストレージ要求にとって十分であるかどうかを判断し得る。代替的な実現例においては、判断動作では、全記憶空間に対する分離領域の比が、ホスト装置が記憶空間を用いるのに効率的になるように設定されているかどうかを判断する。たとえば、２つのデータ領域間の記憶装置が必要とする分離領域のサイズが大きすぎる場合、そして、ホスト装置が比較的サイズの小さい多数のデータ領域を探している場合、判断動作では、その特定の記憶装置から得られる記憶空間を用いないよう判断され得る。このような場合、検討動作では、ホスト装置の記憶要求についての代替的な選択肢を評価する。
【００２８】
判断動作４０６では、記憶装置が十分かつ適切な空間を与えると判断された場合、送信動作４１０で、データ領域のＬＢＡについての要求を送信する。一実現例においては、送信動作では、データ領域のＬＢＡについての要求を記憶装置に送信して、データ領域を作成する。一実現例においては、送信動作４１０では、データ領域のＬＢＡをホストから記憶装置に送信する。代替的な実現例においては、送信動作４１０で、分離領域のＬＢＡを記憶装置に送信する。
【００２９】
結果として、受信動作４１２では、データ領域についての情報および／または分離領域についての情報を受信する。一実現例においては、受信動作では、要求されたデータ領域についての情報および／または要求された分離領域についての情報をホスト装置から受信する。なお、一実現例においては、記憶装置がデータ領域のＬＢＡまたは分離領域のＬＢＡについての情報を受信する必要がないことに留意されたい。このような実現例においては、ホスト装置は、分離領域サイズについての要件を考慮に入れて、１つ以上の書込動作を計画してもよい。一実現例においては、確認動作４１４では、要求されたデータ領域および要求された分離領域の使用準備ができているという確認を送信する。確認動作４１４では、データ領域および／または分離領域を要求するホスト装置にこのような確認を送信してもよい。しかしながら、確認動作で送信される確認が否定的なものであった場合、ホスト装置は代替的な要求を送信してもよく、または、代替的な記憶の選択肢を検討してもよい。
【００３０】
図５は、記憶装置のための分離領域の論理ブロックアドレスを決定するための代替的な動作例を示す。なお、図５に示される１つ以上の動作が図４に示されるさまざまな動作と同様であることに留意されたい。具体的には、要求動作５０２、送信動作５０４、判断動作５０６および検討動作５０８は、それぞれ、要求動作４０２、送信動作４０４、判断動作４０６および検討動作４０８と同様の態様で作用する。
【００３１】
送信動作５１０では、さまざまな分離領域をどこで開始するかとどこで終了させるかとについての要求を送信する。具体的には、送信動作では、１つ以上の分離領域の開始位置のＬＢＡと、１つ以上の分離領域の終了位置のＬＢＡとを送信し得る。一実現例においては、送信動作５１０では、分離領域のＬＢＡについての情報をホスト装置から記憶装置に送信し得る。次に、受信動作５１２では、１つ以上の分離領域の開始位置のＬＢＡと、１つ以上の分離領域の終了位置のＬＢＡとを受信し得る。分離領域の開始位置および終了位置についての規定されたＬＢＡが適切であると記憶装置が判断した場合、確認動作５１４では確認を送信する。一実現例においては、このような確認は、記憶装置から分離領域を要求するホスト装置に送信される。
【００３２】
この明細書中に記載される実現例は、１つ以上のコンピュータシステムにおける論理ステップとして実現されてもよい。この明細書中に記載されるさまざまな実現例の論理動作が、（１）１つ以上のコンピュータシステムにおいて実行される一連のプロセッサ実現型ステップとして、そして、（２）１つ以上のコンピュータシステム内における相互接続された機械または回路モジュールとして、実現される。この実現は、コンピュータシステムの性能要件に応じた選択事項である。したがって、この明細書中に記載される実現例の実施例を構成する論理動作は、動作、ステップ、物体またはモジュールとさまざまに称される。さらに、特に明示的にクレームされていない限り、または具体的な順序がクレームの文言によって本質的に必要とされない限り、論理動作が如何なる順序でも実行され得ることが理解されるはずである。
【００３３】
明瞭にするために、この明細書中に記載される実現例のルーチン機能がすべて図示および記載されているわけではない。このような実際のいずれの実現例の開発時にも、アプリケーション関連の制約およびビジネス関連の制約に対するコンプライアンスなどの開発者固有の目標を達成するために、実現例に特有の多数の判断が下されることや、それらの固有の目標が、実現例ごとに、そして開発者ごとに異なるであろうことが認識されるだろう。
【００３４】
上述の明細書、例およびデータは、実現例の構造および使用を包括的に説明するものである。多数の代替的な実現例が本発明の精神および範囲から逸脱することなく実現可能であるので、本発明は添付の特許請求の範囲内にある。さらに、添付の特許請求の範囲から逸脱することなく、異なる実現例の構造的特徴をさらに別の実現例において組合わせてもよい。
【図１】
0005992178.tif 000002
【図２】
0005992178.tif 000003
【図３】
0005992178.tif 000004
【図４】
0005992178.tif 000005
【図５】
0005992178.tif 000006