(57)【要約】      （修正有）【課題】記憶媒体の１つ以上の特徴に基づいて選択される隔離体割当てスキームを用いて、記憶媒体上の利用可能なデータ領域にデータを書込む方法を提供する。【解決手段】記憶媒体上のデータ領域は、さまざまな割当てスキーム（たとえば、ランダムに書込み可能、第１のデータ隔離体間隔を用いて非ランダムに書込み可能、第２のデータ隔離体間隔を用いて非ランダムに書込み可能、および動的な隔離体を用いずに非ランダムに書込み可能）のうちの１つであり得る。動的なサブ領域間隔は少なくとも動的な隔離体間の磁気ディスク１００のデータ領域におけるデータトラックの数と動的な隔離体間のフラッシュメモリにおけるデータ領域内のビットの数とを指す。ここで開示する技術は、記憶媒体の特徴、データの特徴および／または記憶媒体に書込まれるべきデータの予想されるアクセスパターンに基づいて動的なサブ領域を生成するよう記憶媒体上の隔離体を適合させる。【選択図】図１
2012190532.tif 000002
【特許請求の範囲】
【請求項１】
複数の隔離体割当てスキームの群から選択される隔離体割当てスキームを用いて、記憶媒体における利用可能なデータ領域にデータを書込むステップを備える、方法。
【請求項２】
書込み動作の前に隔離体割当てスキームを選択するステップをさらに備える、請求項１に記載の方法。
【請求項３】
前記選択された隔離体割当てスキームによる利用可能なデータ領域はランダムに書込み可能である、請求項１に記載の方法。
【請求項４】
前記選択された隔離体割当てスキームはサブ領域を有し、前記サブ領域間の間隔は、前記記憶媒体の１つ以上の特徴に基づく、請求項１に記載の方法。
【請求項５】
前記サブ領域は動的な隔離体によって分離される、請求項４に記載の方法。
【請求項６】
前記記憶媒体上の前記データ領域は固定された隔離体によって分離される、請求項５に記載の方法。
【請求項７】
前記記憶媒体は１つ以上のデータ領域を含む、請求項１に記載の方法。
【請求項８】
前記複数の隔離体割当てスキームの群から選択されるさまざまな隔離体割当てスキームを用いて利用可能なデータ領域に前記データを移動させるステップをさらに備える、請求項１に記載の方法。
【請求項９】
前記隔離体割当てスキームは、前記データの１つ以上の特徴に基づいて選択される、請求項１に記載の方法。
【請求項１０】
前記データの特徴は、データサイズ、データタイプ、データ年代、データの履歴上の読出しパターン、データの履歴上の書込みパターン、およびデータの断片化のうち１つ以上を含む、請求項９に記載の方法。
【請求項１１】
前記隔離体割当てスキームは、前記記憶媒体の１つ以上の特徴に基づいて選択される、請求項１に記載の方法。
【請求項１２】
前記記憶媒体の特徴は、容量、満たされる総容量のパーセント、読出し／書込み速度、アクセス時間、信頼性、保持能力および符号間干渉のうち１つ以上を含む、請求項１１に記載の方法。
【請求項１３】
前記記憶媒体はフラッシュメモリまたは磁気ディスクである、請求項１に記載の方法。
【請求項１４】
複数の隔離体割当てスキームの群から選択される隔離体割当てスキームを用いて記憶媒体における利用可能なデータ領域にデータを書込むよう構成された回路を備える、装置。
【請求項１５】
前記選択された隔離体割当てスキームによる前記利用可能なデータ領域はランダムに書込み可能である、請求項１４に記載の装置。
【請求項１６】
前記選択された隔離体割当てスキームは動的なサブ領域を有し、前記動的なサブ領域間の間隔は前記記憶媒体の１つ以上の特徴に基づく、請求項１４に記載の装置。
【請求項１７】
前記回路はさらに、複数の隔離体割当てスキームの群から選択されるさまざまな隔離体割当てスキームを用いて、前記記憶媒体上の利用可能なデータ領域にデータを移動させるように構成される、請求項１４に記載の装置。
【請求項１８】
前記隔離体割当てスキームは、前記記憶媒体の１つ以上の特徴に基づいて選択される、請求項１４に記載の装置。
【請求項１９】
前記隔離体割当てスキームは、前記データの１つ以上の特徴に基づいて選択される、請求項１４に記載の装置。
【請求項２０】
第１の隔離体割当てスキームを有するデータの第１の領域と第２の隔離体割当てスキームを有するデータの第２の領域とを記録するように構成された記憶装置であって、
前記第１および第２の隔離体割当てスキームは、前記記憶装置内に同時に存在する、記憶装置。
【発明の詳細な説明】
【発明の概要】
【課題を解決するための手段】
【０００１】
概要
この明細書中において記載および要求される実現例は、記憶媒体の１つ以上の特徴に基づいて選択される隔離体割当てスキーム（isolator allocation scheme）を用いて、記憶媒体上の利用可能なデータ領域にデータを書込むステップを含む方法を提供することによって従来の問題に対処する。
【０００２】
この明細書においては他の実現例も記載および列挙される。
【図面の簡単な説明】
【０００３】
【図１】１つ以上の隣接するデータトラックを含む動的なサブ領域を伴う３つのデータ領域を有する例示的な磁気ディスクのうち４分の１の断面を示す図である。
【図２】異なる隔離体割当てスキームを用いて、領域に新しいデータを割当てるとともに、既存のデータを領域間で再割当てするための状態図である。
【図３】記憶媒体上の選択されたデータ領域に新しいデータを書込むための例示的な動作を示す図である。
【図４】記憶媒体上の既存のデータを記憶媒体上の別のデータ領域に移動させるための例示的な動作を示す図である。
【発明を実施するための形態】
【０００４】
詳細な説明
磁気媒体ストレージドライブは、各々のストレージドライブ内の１つ以上の磁化された媒体上における分極されたセルにデータを記憶する。磁気ディスクドライブは磁気媒体ストレージドライブの一実現例であり、磁気媒体はディスクであり、分極されたセルは、ディスク上で同心の、概して円形のトラックに配置される。動作時に、ディスクのうち１つ以上が、ストレージドライブ内において一定の高速で回転し、この間に、アクチュエータアセンブリを用いて、情報がディスク上のトラックに書込まれたり当該トラックから読出されたりする。アクチュエータアセンブリは、探索動作中に、ディスクに隣接して位置決めされた軸受シャフトアセンブリを中心として回転する。
【０００５】
アクチュエータアセンブリは、ディスクの方に延在する１つ以上の複数のアクチュエータアームを含む。アクチュエータアームの各々の遠位端には、読出し極および書込み極を備えたヘッドが取付けられている。書込み極は、対応するディスク上のセルの磁気極性を変化させるのに適した磁界を生成する（すなわち、ディスクにデータを書込む）。そして、読出し極は、対応するディスク上のセルの磁気極性を検出する（すなわち、ディスクからデータを読出す）。
【０００６】
従来どおりに記録がなされた磁気媒体においては、磁化された媒体上のセルの各々は、書込み極のサイズと比べて十分に大きなサイズであるので、周囲のいずれのセルにもデータを上書きすることなく、書込み極がセルにデータを書込むことが可能となる。結果として、データは、磁気媒体上のどこにでも利用可能なセルにランダムに書込まれ得る。しかしながら、磁気媒体に対するデータ記憶密度についての要件が増大するのに応じて、セルサイズが小さくなる。書込み極のサイズを相応に小さくすることは困難である。というのも、磁化された媒体上のセルの極性を変えるのに、しばしば、より大きな書込み極によってもたらされる強い書込み磁場勾配が必要とされるからである。結果として、比較的より大きな書込み極を用いて磁化された媒体上のより小さなセルにデータを書込むことにより、隣接するセルの極性に影響が及ぼされる（すなわち、隣接するセルが上書きされる）可能性がある。書込み動作中に隣接するセルが上書きされるのを防ぎつつより小さなセルを利用するよう磁気媒体を適合させるための一技術として、瓦記録方式（ＳＭＲ：shingled magnetic recording）が挙げられる。
【０００７】
瓦記録方式は、書込み極によって生成された大きくて強い書込み磁場を利用する。瓦記録方式の一制約として、データが磁気媒体に書込まれると、データが、順次、増大または低減する半径トラックに書込まれることが挙げられる。強い書込み磁場は、現在書込まれているトラックを先に書込まれたトラックと部分的に重ね合わせ、比較的小さな細片からなる以前の書込みトラックには影響が及ばないようにしておき、さらに、現在書込まれているトラックを１つ以上のまだ書込まれていないトラックと部分的に重ね合わせる。先に書込まれたトラック上の書込まれたデータの残りの細片が有する上述のセルは、単に実現可能な書込みサイズを有する断片にすぎないが、読出し極を用いて読出すのに十分に大きい。結果として、瓦記録方式でも依然として従来のランダムアクセス読出し動作が可能であるが、書込みをランダムに行うことはもはやできなくなる。というのも、単一トラック書込みにより、まだ書込まれていない１つ以上のトラックに事前に記憶されたデータが修復不可能になるからである。結果として、瓦状に重ねられたデータ内におけるいずれかのデータセルを変更するために、典型的には、瓦状に重ねられたデータ全体が、選択された逐次的な書込み順序で書換えられる。
【０００８】
磁気ディスク実現例におけるランダムな書込み機能の欠如を補償しつつ、瓦記録方式によって高いセル密度を実現可能にするために、１つ以上のガードトラックには、ディスク上で、瓦状に重ねられたデータが割当てられてもよい。ガードトラックは、記録には利用できない瓦状に重ねられたデータ内の区域であり、複数のデータトラックを含む瓦状に重ねられたデータからなる別個のバンドを規定している。典型的には、各々のガードトラックは、ガードトラックにわたる如何なる上書きをも防ぐのに十分なほど広い。結果として、ガードトラックが、瓦状に重ねられたデータのバンドをもたらし、これらは、瓦状に重ねられたデータの他のバンドから隔離（isolated）されている。バンド内における１つ以上のセルが変更されると、瓦状に重ねられたデータからなる１バンドのみが書換えられる。より密な間隔で配置されたガードトラック同士により、ガードトラック間により小さなバンドが作り出だされ、こうして、バンドの書換え時間が短くなる。しかしながら、用いられるガードトラックが多くなるのに応じて、有効なディスクデータ記憶密度が低下する。というのも、磁気媒体上にある他の場合に利用可能な空間がガードトラックによって占められているからである。ここで開示されている技術では、以下にさらに詳細に説明するとおり、ガードトラック間隔（規則的な間隔であっても不規則的な間隔であってもよい）を動的に調整し、ディスク上のデータ記憶密度の低下を最小限にしつつ、瓦記録方式の利点を最大限にする。
【０００９】
メモリカード、ＵＳＢフラッシュドライブおよびソリッドステートドライブにおいて用いられるようなフラッシュメモリは、典型的には、瓦記録方式と同様の記憶スキームを利用する。フラッシュメモリは、電気的に消去および再プログラムが可能である不揮発性のコンピュータ記憶技術である。これは、特定のタイプの電気的に消去可能なプログラム可能読出し専用メモリ（ＥＥＰＲＯＭ：electrically-erasable programmable read-only memory）であり、典型的には、区画によって分離された大型の固定された消去ブロックにおいて消去される。フラッシュメモリは、フローティングゲートトランジスタから作られるメモリセルのアレイに情報を記憶する。従来のシングルレベルセル（ＳＬＣ：single-level cell）装置においては、各々のセルは１ビットの情報しか記憶しない。マルチレベルセル（ＭＬＣ：multi-level cell）装置は、複数のレベルの電荷を選択してそのセルのフローティングゲートに印加することによって１セル当たり２ビット以上を記憶することができる。ここで開示されている技術に従うと、１セル当たりの記憶ビットの数は、たとえば、フラッシュメモリの各消去ブロック内におけるページ毎に使用時にセル間の間隔を調整することによって、および／または、各々の消去ブロック内で使用時にページ間の間隔を調整することによって、各々のセル内における動的な区画を用いて調整されてもよい。一実現例においては、この明細書中に開示される動的な区画は、各々のセル内における間隔またはガードを規定し得る。
【００１０】
フラッシュメモリについては、ランダムアクセス方式でページを一度に読出すことができ、連続したシーケンスで一度にページをプログラムすることができるが、ブロックが一度に消去されるという制約がある。消去により、概して、ブロック中のすべてのビットが１に設定される。新しく消去されたブロックから始めて、そのブロック内のページを連続的にプログラムすることができる。しかしながら、一旦ビットが０に設定されると、ブロック全体を消去することによってのみ、そのビットを１に戻すことができる。言換えれば、フラッシュメモリは、ランダムアクセス読取りおよび順次アクセスプログラミング動作を提供するが、一般には、ランダムアクセスプログラミング動作は提供できない。この制約は、瓦記録方式がもたらす上述の制約と同様である。
【００１１】
結果として、フラッシュメモリは、ここで開示されている動的な区画を利用するのによく適している。磁気媒体上の間隔が、可能となった再書込み動作からなる動作を引起す場合、フラッシュメモリのための間隔はセル間干渉に影響を及ぼし、このため、フラッシュ媒体の信頼性にも影響を及ぼす可能性がある。フラッシュメモリにおいては、そのページが書換えられる前に、フラッシュブロックが消去される。フラッシュメモリ記憶媒体上の動的な間隔により、図１に関連付けて述べるように、フラッシュメモリ記憶媒体に書込まれるべきデータのうち、アクセスパターンを含むデータタイプおよび／または予想されるサービス品質に基づいて、カスタマイズされた容量およびサービス品質を備えた消去ブロックが作成される。（図４および図５に関連付けて以下に詳細に述べる）データ領域ロジックは、さまざまなデータタイプおよび予想されるアクセスパターンについての最適な消去ブロック特徴を決定する。
【００１２】
ここで開示されている技術は、記憶媒体上で隔離体間隔（たとえば、磁気ディスク実現例においてはガードトラック間の間隔、および／または、フラッシュメモリ実現例においては区画間の間隔）を動的に調整して、記憶媒体上においてデータ領域またはサブ領域（たとえば、磁気ディスク実現例においては複数のデータトラックのバンドおよび／またはフラッシュメモリ実現例においては特定の使用ポリシーを用いる消去ブロック）を作り出す。動的な隔離体の位置は、たとえば、記憶装置の状態、データタイプ、および／または、記憶媒体に書込むべきデータの予想されるアクセスパターンに基づいている。（図４および図５に関連付けて以下に詳細に述べる）データ領域ロジックは、さまざまな記憶装置の状態、データタイプ、および予想されるアクセスパターについて、最適なバンドサイズおよび／または隔離体位置を決定する。ここで開示されている技術は、少なくとも、半径トラックが固定されている磁気ディスク、螺旋状に記録された磁気ディスク、およびフラッシュメモリに適用される。
【００１３】
図１は、例示的な磁気ディスク１００のうち４分の１の断面を示しており、１つ以上の隣接するデータトラック（たとえば、データトラック１１２）を含む動的なサブ領域（サブバンドとも称する）を含む３つのデータ領域１０２、１０４、１０６を備える。データ領域１０２、１０４、１０６の各々は複数のデータトラックを含む。瓦状に重ねられた媒体は、しばしば、１つ以上の固定されたデータ領域（たとえば、予め規定された固定されたデータ領域１０２、１０４、１０６）を互いから分離する、規則的に間隔を空けて配置された隔離体（たとえば、固定された隔離体１０８および１１０）を用いてフォーマットされる。いくつかの実現例においては、固定されたデータ領域は、当然ながら、互いから分離されている（たとえば、ディスクドライブにおける１つ以上のディスク上の各々の書込み可能な表面、およびフラッシュドライブにおける各々のフラッシュダイ）。固定された隔離体１０８は、固定されたデータ領域１０２および１０４を互いから分離する。固定された隔離体１１０は、固定されたデータ領域１０４および１０６を互いから分離する。いくつかの実現例においては、隔離体はすべて動的に調整可能であり、このため、データ領域が動的に割当てられる。他の実現例においては、固定された隔離体は存在せず、このため、ディスク１００上には単一のデータ領域が存在する。
【００１４】
ここで開示されている技術によってもたらされる動的な隔離体（たとえば、動的な隔離体１１４、１１６、１１８、１２０、１２２および１２４）は、固定されたデータ領域１０２、１０４、１０６の各々内において動的なサブ領域を規定する。一実現例においては、固定された隔離体１０８および１１０は、動的な隔離体１１４、１１６、１１８、１２０、１２２および１２４よりもかなり大きい可能性がある。というのも、固定された隔離体は、磁気ディスク１００の耐用年数にわたる書換えに耐えなければならず、その一方で、動的な隔離体は、それらが移動されるまでの書換えに耐えるだけでよいからである。他の実現例においては、固定された隔離体１０８および１１０ならびに動的な隔離体１１４、１１６、１１８、１２０、１２２および１２４は、同様のサイズを有する。他の実現例においては、固定された隔離体１０８および１１０は、動的な隔離体１１４、１１６、１１８、１２０、１２２、および１２４よりもかなり小さい可能性がある。というのも、動的な隔離体は、点在するデータトラックの高い書換え速度に耐えなければならず、その一方で、固定された隔離体は、領域全体の低い書換え速度に耐えるだけでよいからである。固定されたデータ領域１０２、１０４および１０６、固定された隔離体１０８および１１０、データトラック、ならびに／または動的な隔離体１１４、１１６、１１８、１２０、１２２および１２４の数、間隔および相対的サイズは縮尺どおりには描かれておらず、例示のみを目的として用いられる。
【００１５】
固定されたデータ領域１０２においては、動的な隔離体は存在しない。結果として、固定されたデータ領域１０２は、１３のデータトラックを囲むが、動的なサブ領域は存在しない。固定されたデータ領域１０２が利用可能な空き空間を有している限り、データは、順次、増大または低減する半径トラックにおける固定されたデータ領域１０２に書込まれてもよい。しかしながら、固定されたデータ領域１０２がデータで満たされ、固定されたデータ領域１０２内の１つ以上のデータセルの変更が必要になると、その領域のその後の書込みを可能とするために、固定されたデータ領域１０２内におけるすべてのデータが別の位置にコピーされる。
【００１６】
一実現例においては、（図４および図５に関連付けて以下に詳細に述べる）データ領域ロジックは、固定されたデータ領域１０４についての最適なデータサブ領域サイズが４トラックであると判断する。結果として、固定されたデータ領域１０４は３セットのデータトラック（すなわち、データサブ領域）に細分され、各々のデータサブ領域は、２トラックの動的な隔離体１１４および１１６によって分離される。固定されたデータ領域１０４が４つのデータトラックのデータサブ領域に均等に分割されないので、１つのデータサブ領域は１つのデータトラックしか含まない。たとえば、固定されたデータ領域１０４のレイアウトは、固定されたデータ領域１０２に記憶されたデータよりも頻繁にアクセスされる可能性のあるデータのために用いられてもよい。４トラックのデータサブ領域からデータをコピーする時間は、１３トラックのデータ領域全体を固定されたデータ領域１０２にコピーするよりも著しく高速となる。コピー速度を高めると、データトラックの総数が、固定されたデータ領域１０２における１３トラックから固定されたデータ領域１０４における９トラックにまで減るので、容量の低下という犠牲が生じる。
【００１７】
（図４および図５に関連付けて以下に詳細に述べる）データ領域ロジックは、固定されたデータ領域１０６のための最適なデータサブ領域サイズが１トラックであると判断する。結果として、固定されたデータ領域１０６は、５つのデータサブ領域（１トラックのうちの各々）に細分され、各々のデータサブ領域は、動的な隔離体１１８、１２０、１２２および１２４によって分離される。たとえば、固定されたデータ領域１０６のレイアウトは、固定されたデータ領域１０４に記憶されたデータよりもさらに頻繁にアクセスされる可能性のあるデータのために用いられてもよい。領域の書込み前にデータをコピーするのではなく、各々のサブ領域における単一のトラックを用いて、データが固定されたデータ領域１０６に直接書込まれてもよい。これは、固定されたデータ領域１０２における１３トラックのデータ領域全体についてはもちろんのこと、固定されたデータ領域１０４における４トラックのデータサブ領域をコピーするよりも著しく高速である。コピー速度を高めると、トラックの総数が、固定されたデータ領域１０４における９トラックから固定されたデータ領域１０６における５トラックにまで減るので、容量の低下という犠牲が生じる。
【００１８】
固定されたデータ領域１０２を再び参照して、動的な隔離体が欠如していると、固定されたデータ領域１０２に連続的にコピーされると予想されるデータ、および／または、変更されないかもしくはめったに変更されないデータ、がもたらされる可能性がある。さらに、データ領域ロジックは、ある時点で、領域１０２における固定されたデータがより小さなサブ領域に分割されるべきであると判断し得る。データは、固定されたデータ領域１０２からコピーされ、より小さなサブ領域に入力されてもよい。次いで、データ領域１０２は、データ領域ロジック毎に細分することが可能となる。
【００１９】
データ領域１０２、１０４、１０６の各々は、データ領域ロジックが適切であると判断すると、繰返し再細分されてもよい。新しいサブ領域は各々、以前のサブ領域よりも小さくてもまたは大きくてもよい。対象のデータ領域における動的な隔離体のレイアウトを変更すべき場合、対象のデータ領域内の既存のデータが、もし存在していれば、対象のデータ領域からコピーされる。新しい動的な隔離体レイアウトは、新しいいずれかのデータが対象のデータ領域に書込まれる前に、対象のデータ領域に適用される。
【００２０】
一実現例においては、動的な隔離体の割当ては、この明細書中においては、領域のデシメーション（decimation）と称される。より具体的には、完全にデシメートされた領域は、単一トラックのサブ領域（たとえば、データ領域１０６を参照）を作り出す態様で動的な隔離体を割当てる。部分的にデシメートされた領域は、動的な隔離体を割当てるが、単一トラックのサブ領域（たとえばデータ領域１０４を参照）に対してではない。デシメートされていない磁気媒体は、如何なる動的な隔離体も割当てない（たとえば、データ領域１０２を参照）。
【００２１】
図２は、さまざまな隔離体割当てスキームを用いて領域に新しいデータ２２８を書込んだり、領域間で既存のデータを書換えたりするための例示的な状態図２００を示す。データ領域は、さまざまな隔離体割当てスキームのうちの１つを用いて構成されてもよい。たとえば、割当てスキームは、ランダムに書込み可能であるかまたは完全にデシメートされた隔離体割当てスキーム２１９と、第１の動的隔離体間隔２２１を用いて非ランダムに書込み可能なまたは部分的にデシメートされた（たとえば、瓦状に重ねられた）スキーム（以下、第１の動的隔離体割当てスキーム２２１とする）と、第２の動的隔離体間隔２２３を用いて非ランダムに書込み可能なまたは部分的にデシメートされた（たとえば瓦状に重ねられた）スキーム（以下、第２の動的隔離体割当てスキーム２２３とする）と、固定された隔離体２２５または動的な隔離体２２５を用いない非ランダムに書込み可能なまたはデシメートされないスキーム（以下、無隔離体割当てスキーム２２５とする）とを含み得る。データサブ領域の間隔は、少なくとも、動的な隔離体間の磁気ディスクのデータ領域におけるデータトラックの数と、動的な隔離体間のフラッシュメモリにおけるデータ領域におけるビットの数とを指す。これらの４つの隔離体割当てスキームは、例示的なものにすぎず、多くのさまざまなデータサブ領域間隔スキームを含む他の多くのスキームが存在し得る。
【００２２】
（たとえばホストから入ってくる）新しいデータ２２８は、新しいデータ２２８を記憶するのに十分な利用可能空間（すなわち、利用可能なデータ領域）を用いてデータ領域に書込まれる。新しいデータ２２８が特に大きいか、またはデータ領域における利用可能空間が特に小さい場合、新しいデータ２２８は複数のデータ領域に記憶されてもよい。（図４および図５に関連付けて以下に詳細に述べる）データ領域ロジックは、新しいデータ２２８が含んでいるデータの特定のタイプおよび／またはサイズに対して理想的な隔離体割当てスキームを決定する。一実現例においては、すべての新しいデータのためにデフォルトスキームが選択される。別の実現例においては、データ領域ロジックが、新しいデータ２２８の特徴（たとえば、新しいデータのファイルサイズ、ファイルタイプおよび／またはソース）を分析して、割当てスキームを選択する。
【００２３】
矢印２３２、２３４、２３６および２３８によって図示されるように、新しいデータ２２８は、ランダムに書込み可能な隔離体割当てスキーム２１９、第１の動的隔離体割当てスキーム２２１、第２の動的隔離体割当てスキーム２２３、または、新しいデータ２２８を記憶するのに十分な空間を有しデータ領域ロジックによって課される如何なる要件をも満たす無隔離体割当てスキーム２２５、を有する利用可能な任意のデータ領域にコピーされ得る。空のデータ領域がある場合、空のデータ領域は選択された割当てスキームを有するよう構成されてもよい。さらに、空の利用可能なデータ領域がない場合、または、選択された割当てスキームと新しいデータ２２８を記憶するのに十分な空間とを用いる利用可能なデータ領域がない場合、新しいデータ２２８は、別の割当てスキームを用いる利用可能なデータ領域に記憶されてもよい。
【００２４】
たとえば、データ領域ロジックは、新しいデータ２２８が第１の動的隔離体割当てスキーム２２１を用いるデータ領域に記憶されるべきであり、新しいデータ２２８を記憶するのに、第１の動的隔離体割当てスキーム２２１を用いる利用可能なデータ領域が不十分であると判断する。１つ以上の空のデータ領域がある場合、空のデータ領域は第１の動的隔離体割当てスキーム２２１に構成されてもよい。次いで、新しいデータ２２８が構成されたデータ領域に記憶され得る。空のデータ領域がない場合、新しいデータ２２８の全体またはその一部は、別の割当てスキーム（たとえば、ランダムに書込み可能なスキーム２１９または第２の動的隔離体割当てスキーム２２３）を用いる１つ以上の利用可能なデータ領域にコピーされてもよい。
【００２５】
データ領域内の既存のデータは、データ領域内における別のデータ領域もしくはデータサブ領域にコピーされてもよく、および／または、変更されてもよい。既存のデータがコピーされると、この既存のデータは、あるスキームを用いるデータ領域から同じかまたは異なるスキームを用いる別のデータ領域へと移動してもよく、または、再構成され得る同じデータ領域に戻ってもよい。これは、データ領域ロジックが、既存のデータが記憶されるスキームとは異なる既存のデータ用の割当てスキームを選択する場合に起こり得る。たとえば、データ領域ロジックは、データサイズ、データタイプ、データ年代（data age）、データの履歴上の読出しパターン（たとえば、連続的または非連続的）、データの履歴上の書込みパターン（たとえば、連続的または非連続的）、データの断片化などを調べて、データについて選択された割当てスキームが変更されたか、または、データが現在記憶されている領域のためのスキームと異なっているかどうか判断する。さらに、データ領域ロジックは、割当てスキームを選択する際に、容量、満たされる総容量のパーセント、読出し／書込み速度、アクセス時間、信頼性、保持能力、および符号間干渉などの、記憶媒体の特徴を考慮に入れ得る。選択された割当てスキームを用いるデータ領域に十分な利用可能空間がある場合、データをそのデータ領域に直接移動させてもよい。
【００２６】
たとえば、ランダムに書込み可能な割当てスキーム２１９を有するデータ領域に記憶された既存のデータは、矢印２４０、２４２および２４４によってそれぞれ図示されるように、第１の動的隔離体割当てスキーム２２１、第２の動的隔離体割当てスキーム２２３、または無隔離体スキーム２２５を有する別のデータ領域に移動させてもよい。さらに、第１の動的隔離体割当てスキーム２２１を有するデータ領域に記憶された既存のデータは、矢印２４０、２４６および２４８によってそれぞれ図示されるように、ランダムに書込み可能なスキーム２１９、第２の動的隔離体割当てスキーム２２３、または無隔離体スキーム２２５を有する別のデータ領域に移動させてもよい。さらに、第２の動的隔離体割当てスキーム２２３を有するデータ領域に記憶された既存のデータは、矢印２４２、２４６および２５０によってそれぞれ図示されるように、ランダムに書込み可能なスキーム２１９、第１の動的隔離体割当てスキーム２２１、または無隔離体スキーム２２５を有する別のデータ領域に移動させてもよい。さらに、無動的隔離体スキーム２２５を有するデータ領域に記憶された既存のデータは、矢印２４４、２４８および２５０によってそれぞれ図示されるように、ランダムに書込み可能なスキーム２１９、第１の動的隔離体割当てスキーム２２１、または第２の動的隔離体割当てスキーム２２３を有する別のデータ領域に移動させてもよい。ランダムに書込み可能な割当てスキーム２１９を有するデータ領域内の既存のデータが変更されると、変更された部分が、矢印２３０によって図示されるように、適所にある既存のデータに書込まれてもよい。
【００２７】
図３は、記憶媒体上の領域に新しいデータを書込むための例示的な動作３００を示す。受信動作３０５においては、メモリバッファは、記憶媒体に書込むべき新しいデータを受信する。新しいデータは、記憶媒体に書込み可能であれば実質的に如何なるサイズおよびタイプであってもよい。選択動作３１０においては、データ領域ロジックが、新しいデータのための割当てスキームを決定および選択する。一実現例においては、記憶装置は、記憶媒体に適用され得る離散数の利用可能な割当てスキームを有する。利用可能な割当てスキームの各々は、割当てスキーム内の動的な区画間において一定数のデータトラックを有し得る。さらに、記憶媒体は、割当てスキームのうち２つ以上を用いて記憶媒体にデータを記録してもよい。複数の割当てスキームが同時に記憶媒体に存在していてもよい。たとえば、データ領域ロジックは、データサイズ、データタイプ、データ年代、データの履歴上の読出しパターン（たとえば、連続的または非連続的）、データの履歴上の書込みパターン（たとえば、連続的または非連続的）、データの断片化などを調べて、データについての割当てスキームを決定および選択し得る。他の実現例においては、新しいデータはすべてデフォルトスキームで書込まれる。これらのスキームは、たとえば、ランダムに書込み可能であり得るか、第１の隔離体間隔で非ランダムに書込み可能であり得るか、第２の隔離体間隔で非ランダムに書込み可能であり得るか、または、隔離体なしで非ランダムに書込み可能であり得る。
【００２８】
問合せ（Query）動作３１５は、新しいデータを記憶媒体に書込むために選択された割当てスキームを用いる十分な利用可能空間があるかどうか判断する。制御ファームウェアは、各々のデータ領域についてのスキーム構成情報と、各々のデータ領域において利用可能である記憶空間の量（もしあれば）とについての表を保持し得る。十分な空間が利用可能であれば、書込み動作３４０において、新しいデータは、新しいデータについて選択された割当てスキームを用いるデータ領域に書込まれる。記憶媒体に新しいデータを書込むために割当てスキームにおける利用可能な空間が不十分であれば、問合せ動作３２０では、スキームにかかわらず、記憶媒体上に空のデータ領域があるかどうかが判断される。空のデータ領域がある場合、再構成動作３２５において、１つ以上の空のデータ領域が、新しいデータについて選択された割当てスキームを用いて再構成される。次いで、書込み動作３４０において、新しいデータが再構成されたデータ領域に書込まれる。
【００２９】
オプションの実行動作３３０において、ガーベジコレクションが記憶媒体上の使用可能な空間を解放する。ガーベジコレクション（ＧＣ：Garbage collection）はある種のメモリ管理である。ガーベジコレクタまたは単にコレクタは、不要データ（garbage）、またはもはや使用されていないオブジェクトによって占められているメモリを再利用しようと試みる。さらに、コレクタは、使用可能な空間を解放するために使用中のオブジェクトによって占められているメモリを統合および／または再編成し得る。コレクタは、問合せ動作３１５および／または問合せ動作３２０の結果を変更するのに十分な空間を解放し得る。結果として、動作３１５、３２０および３３０は、動作３２５または３４０が利用可能になるまで繰返されてもよい。いくつかの実現例においては、ガーベジコレクションは用いられない。
【００３０】
図４は、記憶媒体上の既存のデータを記憶媒体上の別のデータ領域に移動させるための例示的な動作４００を示す。分析動作４０５においては、記憶媒体が不適切に割当てられたデータに関して分析される。最初に記憶媒体にコピーされた時、データ領域ロジックは、新しいデータについての割当てスキームを決定および選択する。しかしながら、割当てスキームの選択を制御するファクタは、時間とともに変化する可能性がある。このため、データが不適切に割当てられてしまう。たとえば、データ年代、データの読出しパターン（たとえば、連続的または非連続的）、データの書込みパターン（たとえば、連続的または非連続的）、データの断片化などは変化する可能性がある。選択動作４１０においては、データ領域ロジックが、不適切に割当てられたデータについて新しい割当てスキームを決定および選択する。一実現例においては、記憶装置は、記憶媒体に適用され得る離散数の利用可能な割当てスキームを有する。利用可能な割当てスキームの各々は、割当てスキーム内の動的区画間において一定数のデータトラックを有し得る。さらに、記憶媒体は、割当てスキームのうち２つ以上を用いてデータを記憶媒体に記録してもよい。複数の割当てスキームが記憶媒体に同時に存在していてもよい。割当てスキームは、たとえば、ランダムに書込み可能であり得るか、第１の隔離体間隔で非ランダムに書込み可能であり得るか、第２の隔離体間隔で非ランダムに書込み可能であり得るか、隔離体なしで非ランダムに書込み可能であり得る。
【００３１】
問合せ動作４１５では、不適切に割当てられたデータを新しい割当てスキームに移動させるために、新しい割当てスキームを用いる十分な利用可能空間があるかどうかが判断される。十分な空間が利用可能である場合、移動動作４４０において、不適切に割当てられたデータが、新しい割当てスキームを用いるデータ領域に移動させられる。不適切に割当てられたデータを移動させるのに、新しい割当てスキームを用いる利用可能空間が不十分である場合、問合せ動作４２０では、割当てスキームにかかわらず、記憶媒体上に空のデータ領域があるかどうかが判断される。空のデータ領域がある場合、再割当て動作４２５において、１つ以上の空のデータ領域が、不適切に割当てられたデータのための新しい割当てスキームを用いて再割当てされる。次いで、書込み動作４４０において、不適切に割当てられたデータが、再割当てされたデータ領域に移動させられる。
【００３２】
オプションの実行動作４３０においては、ガーベジコレクションが、記憶媒体上の使用可能な空間を解放する。ガーベジコレクションは、問合せ動作４１５および／または問合せ動作４２０の結果を変更するのに十分な空間を解放し得る。結果として、動作４１５、４２０および４３０は、動作４２５または４４０が利用可能になるまで繰返されてもよい。いくつかの実現例においては、オプションの実行動作４３０は、問合せ動作４１５および／または問合せ動作４２０の結果を変更するのに十分な空間を解放することができない。
【００３３】
この明細書中に記載された本発明の実施例は１つ以上のコンピュータシステムにおける論理ステップとして実現される。この発明の論理演算は、（１）１つ以上のコンピュータシステムにおいて実行される一連のプロセッサ実現型ステップとして、および、（２）１つ以上のコンピュータシステム内における相互接続された機械または回路モジュールとして、実現される。実現例は、本発明を実現するコンピュータシステムの性能要件に応じた選択事項である。したがって、この明細書中に記載される本発明の実施例を構成する論理演算は、動作、ステップ、オブジェクトまたはモジュールとさまざまに称される。さらに、特に明示的にクレームされない、または、特定の順序が請求項の文言によって本質的に必要とされない限り、論理演算が如何なる順序でも実行可能であることが理解されるべきである。
【００３４】
上述の明細書、例およびデータは、本発明の具体的な実施例の構造および使用を完全に説明するものである。本発明の多くの実施例は本発明の精神および範囲から逸脱することなく実施可能であるので、本発明は添付の特許請求の範囲内にある。さらに、さまざまな実施例の構造上の特徴は、添付の特許請求の範囲から逸脱することなく、さらに別の実施例においても組合せ可能である。
【符号の説明】
【００３５】
１００  磁気ディスク、１０２、１０４、１０６  データ領域、１０８、１１０  固定された隔離体、１１２  データトラック、１１４、１１６、１１８、１２０、１２２、１２４  動的な隔離体。
【図１】
2012190532.tif 000003
【図２】
2012190532.tif 000004
【図３】
2012190532.tif 000005
【図４】
2012190532.tif 000006
【外国語明細書】
2012190532000001.pdf