説明

方法、装置および記憶装置

【課題】記憶媒体の1つ以上の特徴に基づいて選択される隔離体割当てスキームを用いて、記憶媒体上の利用可能なデータ領域にデータを書込む方法を提供する。
【解決手段】記憶媒体上のデータ領域は、さまざまな割当てスキーム(たとえば、ランダムに書込み可能、第1のデータ隔離体間隔を用いて非ランダムに書込み可能、第2のデータ隔離体間隔を用いて非ランダムに書込み可能、および動的な隔離体を用いずに非ランダムに書込み可能)のうちの1つであり得る。動的なサブ領域間隔は少なくとも動的な隔離体間の磁気ディスク100のデータ領域におけるデータトラックの数と動的な隔離体間のフラッシュメモリにおけるデータ領域内のビットの数とを指す。ここで開示する技術は、記憶媒体の特徴、データの特徴および/または記憶媒体に書込まれるべきデータの予想されるアクセスパターンに基づいて動的なサブ領域を生成するよう記憶媒体上の隔離体を適合させる。

【発明の詳細な説明】
【発明の概要】
【課題を解決するための手段】
【0001】
概要
この明細書中において記載および要求される実現例は、記憶媒体の1つ以上の特徴に基づいて選択される隔離体割当てスキーム(isolator allocation scheme)を用いて、記憶媒体上の利用可能なデータ領域にデータを書込むステップを含む方法を提供することによって従来の問題に対処する。
【0002】
この明細書においては他の実現例も記載および列挙される。
【図面の簡単な説明】
【0003】
【図1】1つ以上の隣接するデータトラックを含む動的なサブ領域を伴う3つのデータ領域を有する例示的な磁気ディスクのうち4分の1の断面を示す図である。
【図2】異なる隔離体割当てスキームを用いて、領域に新しいデータを割当てるとともに、既存のデータを領域間で再割当てするための状態図である。
【図3】記憶媒体上の選択されたデータ領域に新しいデータを書込むための例示的な動作を示す図である。
【図4】記憶媒体上の既存のデータを記憶媒体上の別のデータ領域に移動させるための例示的な動作を示す図である。
【発明を実施するための形態】
【0004】
詳細な説明
磁気媒体ストレージドライブは、各々のストレージドライブ内の1つ以上の磁化された媒体上における分極されたセルにデータを記憶する。磁気ディスクドライブは磁気媒体ストレージドライブの一実現例であり、磁気媒体はディスクであり、分極されたセルは、ディスク上で同心の、概して円形のトラックに配置される。動作時に、ディスクのうち1つ以上が、ストレージドライブ内において一定の高速で回転し、この間に、アクチュエータアセンブリを用いて、情報がディスク上のトラックに書込まれたり当該トラックから読出されたりする。アクチュエータアセンブリは、探索動作中に、ディスクに隣接して位置決めされた軸受シャフトアセンブリを中心として回転する。
【0005】
アクチュエータアセンブリは、ディスクの方に延在する1つ以上の複数のアクチュエータアームを含む。アクチュエータアームの各々の遠位端には、読出し極および書込み極を備えたヘッドが取付けられている。書込み極は、対応するディスク上のセルの磁気極性を変化させるのに適した磁界を生成する(すなわち、ディスクにデータを書込む)。そして、読出し極は、対応するディスク上のセルの磁気極性を検出する(すなわち、ディスクからデータを読出す)。
【0006】
従来どおりに記録がなされた磁気媒体においては、磁化された媒体上のセルの各々は、書込み極のサイズと比べて十分に大きなサイズであるので、周囲のいずれのセルにもデータを上書きすることなく、書込み極がセルにデータを書込むことが可能となる。結果として、データは、磁気媒体上のどこにでも利用可能なセルにランダムに書込まれ得る。しかしながら、磁気媒体に対するデータ記憶密度についての要件が増大するのに応じて、セルサイズが小さくなる。書込み極のサイズを相応に小さくすることは困難である。というのも、磁化された媒体上のセルの極性を変えるのに、しばしば、より大きな書込み極によってもたらされる強い書込み磁場勾配が必要とされるからである。結果として、比較的より大きな書込み極を用いて磁化された媒体上のより小さなセルにデータを書込むことにより、隣接するセルの極性に影響が及ぼされる(すなわち、隣接するセルが上書きされる)可能性がある。書込み動作中に隣接するセルが上書きされるのを防ぎつつより小さなセルを利用するよう磁気媒体を適合させるための一技術として、瓦記録方式(SMR:shingled magnetic recording)が挙げられる。
【0007】
瓦記録方式は、書込み極によって生成された大きくて強い書込み磁場を利用する。瓦記録方式の一制約として、データが磁気媒体に書込まれると、データが、順次、増大または低減する半径トラックに書込まれることが挙げられる。強い書込み磁場は、現在書込まれているトラックを先に書込まれたトラックと部分的に重ね合わせ、比較的小さな細片からなる以前の書込みトラックには影響が及ばないようにしておき、さらに、現在書込まれているトラックを1つ以上のまだ書込まれていないトラックと部分的に重ね合わせる。先に書込まれたトラック上の書込まれたデータの残りの細片が有する上述のセルは、単に実現可能な書込みサイズを有する断片にすぎないが、読出し極を用いて読出すのに十分に大きい。結果として、瓦記録方式でも依然として従来のランダムアクセス読出し動作が可能であるが、書込みをランダムに行うことはもはやできなくなる。というのも、単一トラック書込みにより、まだ書込まれていない1つ以上のトラックに事前に記憶されたデータが修復不可能になるからである。結果として、瓦状に重ねられたデータ内におけるいずれかのデータセルを変更するために、典型的には、瓦状に重ねられたデータ全体が、選択された逐次的な書込み順序で書換えられる。
【0008】
磁気ディスク実現例におけるランダムな書込み機能の欠如を補償しつつ、瓦記録方式によって高いセル密度を実現可能にするために、1つ以上のガードトラックには、ディスク上で、瓦状に重ねられたデータが割当てられてもよい。ガードトラックは、記録には利用できない瓦状に重ねられたデータ内の区域であり、複数のデータトラックを含む瓦状に重ねられたデータからなる別個のバンドを規定している。典型的には、各々のガードトラックは、ガードトラックにわたる如何なる上書きをも防ぐのに十分なほど広い。結果として、ガードトラックが、瓦状に重ねられたデータのバンドをもたらし、これらは、瓦状に重ねられたデータの他のバンドから隔離(isolated)されている。バンド内における1つ以上のセルが変更されると、瓦状に重ねられたデータからなる1バンドのみが書換えられる。より密な間隔で配置されたガードトラック同士により、ガードトラック間により小さなバンドが作り出だされ、こうして、バンドの書換え時間が短くなる。しかしながら、用いられるガードトラックが多くなるのに応じて、有効なディスクデータ記憶密度が低下する。というのも、磁気媒体上にある他の場合に利用可能な空間がガードトラックによって占められているからである。ここで開示されている技術では、以下にさらに詳細に説明するとおり、ガードトラック間隔(規則的な間隔であっても不規則的な間隔であってもよい)を動的に調整し、ディスク上のデータ記憶密度の低下を最小限にしつつ、瓦記録方式の利点を最大限にする。
【0009】
メモリカード、USBフラッシュドライブおよびソリッドステートドライブにおいて用いられるようなフラッシュメモリは、典型的には、瓦記録方式と同様の記憶スキームを利用する。フラッシュメモリは、電気的に消去および再プログラムが可能である不揮発性のコンピュータ記憶技術である。これは、特定のタイプの電気的に消去可能なプログラム可能読出し専用メモリ(EEPROM:electrically-erasable programmable read-only memory)であり、典型的には、区画によって分離された大型の固定された消去ブロックにおいて消去される。フラッシュメモリは、フローティングゲートトランジスタから作られるメモリセルのアレイに情報を記憶する。従来のシングルレベルセル(SLC:single-level cell)装置においては、各々のセルは1ビットの情報しか記憶しない。マルチレベルセル(MLC:multi-level cell)装置は、複数のレベルの電荷を選択してそのセルのフローティングゲートに印加することによって1セル当たり2ビット以上を記憶することができる。ここで開示されている技術に従うと、1セル当たりの記憶ビットの数は、たとえば、フラッシュメモリの各消去ブロック内におけるページ毎に使用時にセル間の間隔を調整することによって、および/または、各々の消去ブロック内で使用時にページ間の間隔を調整することによって、各々のセル内における動的な区画を用いて調整されてもよい。一実現例においては、この明細書中に開示される動的な区画は、各々のセル内における間隔またはガードを規定し得る。
【0010】
フラッシュメモリについては、ランダムアクセス方式でページを一度に読出すことができ、連続したシーケンスで一度にページをプログラムすることができるが、ブロックが一度に消去されるという制約がある。消去により、概して、ブロック中のすべてのビットが1に設定される。新しく消去されたブロックから始めて、そのブロック内のページを連続的にプログラムすることができる。しかしながら、一旦ビットが0に設定されると、ブロック全体を消去することによってのみ、そのビットを1に戻すことができる。言換えれば、フラッシュメモリは、ランダムアクセス読取りおよび順次アクセスプログラミング動作を提供するが、一般には、ランダムアクセスプログラミング動作は提供できない。この制約は、瓦記録方式がもたらす上述の制約と同様である。
【0011】
結果として、フラッシュメモリは、ここで開示されている動的な区画を利用するのによく適している。磁気媒体上の間隔が、可能となった再書込み動作からなる動作を引起す場合、フラッシュメモリのための間隔はセル間干渉に影響を及ぼし、このため、フラッシュ媒体の信頼性にも影響を及ぼす可能性がある。フラッシュメモリにおいては、そのページが書換えられる前に、フラッシュブロックが消去される。フラッシュメモリ記憶媒体上の動的な間隔により、図1に関連付けて述べるように、フラッシュメモリ記憶媒体に書込まれるべきデータのうち、アクセスパターンを含むデータタイプおよび/または予想されるサービス品質に基づいて、カスタマイズされた容量およびサービス品質を備えた消去ブロックが作成される。(図4および図5に関連付けて以下に詳細に述べる)データ領域ロジックは、さまざまなデータタイプおよび予想されるアクセスパターンについての最適な消去ブロック特徴を決定する。
【0012】
ここで開示されている技術は、記憶媒体上で隔離体間隔(たとえば、磁気ディスク実現例においてはガードトラック間の間隔、および/または、フラッシュメモリ実現例においては区画間の間隔)を動的に調整して、記憶媒体上においてデータ領域またはサブ領域(たとえば、磁気ディスク実現例においては複数のデータトラックのバンドおよび/またはフラッシュメモリ実現例においては特定の使用ポリシーを用いる消去ブロック)を作り出す。動的な隔離体の位置は、たとえば、記憶装置の状態、データタイプ、および/または、記憶媒体に書込むべきデータの予想されるアクセスパターンに基づいている。(図4および図5に関連付けて以下に詳細に述べる)データ領域ロジックは、さまざまな記憶装置の状態、データタイプ、および予想されるアクセスパターについて、最適なバンドサイズおよび/または隔離体位置を決定する。ここで開示されている技術は、少なくとも、半径トラックが固定されている磁気ディスク、螺旋状に記録された磁気ディスク、およびフラッシュメモリに適用される。
【0013】
図1は、例示的な磁気ディスク100のうち4分の1の断面を示しており、1つ以上の隣接するデータトラック(たとえば、データトラック112)を含む動的なサブ領域(サブバンドとも称する)を含む3つのデータ領域102、104、106を備える。データ領域102、104、106の各々は複数のデータトラックを含む。瓦状に重ねられた媒体は、しばしば、1つ以上の固定されたデータ領域(たとえば、予め規定された固定されたデータ領域102、104、106)を互いから分離する、規則的に間隔を空けて配置された隔離体(たとえば、固定された隔離体108および110)を用いてフォーマットされる。いくつかの実現例においては、固定されたデータ領域は、当然ながら、互いから分離されている(たとえば、ディスクドライブにおける1つ以上のディスク上の各々の書込み可能な表面、およびフラッシュドライブにおける各々のフラッシュダイ)。固定された隔離体108は、固定されたデータ領域102および104を互いから分離する。固定された隔離体110は、固定されたデータ領域104および106を互いから分離する。いくつかの実現例においては、隔離体はすべて動的に調整可能であり、このため、データ領域が動的に割当てられる。他の実現例においては、固定された隔離体は存在せず、このため、ディスク100上には単一のデータ領域が存在する。
【0014】
ここで開示されている技術によってもたらされる動的な隔離体(たとえば、動的な隔離体114、116、118、120、122および124)は、固定されたデータ領域102、104、106の各々内において動的なサブ領域を規定する。一実現例においては、固定された隔離体108および110は、動的な隔離体114、116、118、120、122および124よりもかなり大きい可能性がある。というのも、固定された隔離体は、磁気ディスク100の耐用年数にわたる書換えに耐えなければならず、その一方で、動的な隔離体は、それらが移動されるまでの書換えに耐えるだけでよいからである。他の実現例においては、固定された隔離体108および110ならびに動的な隔離体114、116、118、120、122および124は、同様のサイズを有する。他の実現例においては、固定された隔離体108および110は、動的な隔離体114、116、118、120、122、および124よりもかなり小さい可能性がある。というのも、動的な隔離体は、点在するデータトラックの高い書換え速度に耐えなければならず、その一方で、固定された隔離体は、領域全体の低い書換え速度に耐えるだけでよいからである。固定されたデータ領域102、104および106、固定された隔離体108および110、データトラック、ならびに/または動的な隔離体114、116、118、120、122および124の数、間隔および相対的サイズは縮尺どおりには描かれておらず、例示のみを目的として用いられる。
【0015】
固定されたデータ領域102においては、動的な隔離体は存在しない。結果として、固定されたデータ領域102は、13のデータトラックを囲むが、動的なサブ領域は存在しない。固定されたデータ領域102が利用可能な空き空間を有している限り、データは、順次、増大または低減する半径トラックにおける固定されたデータ領域102に書込まれてもよい。しかしながら、固定されたデータ領域102がデータで満たされ、固定されたデータ領域102内の1つ以上のデータセルの変更が必要になると、その領域のその後の書込みを可能とするために、固定されたデータ領域102内におけるすべてのデータが別の位置にコピーされる。
【0016】
一実現例においては、(図4および図5に関連付けて以下に詳細に述べる)データ領域ロジックは、固定されたデータ領域104についての最適なデータサブ領域サイズが4トラックであると判断する。結果として、固定されたデータ領域104は3セットのデータトラック(すなわち、データサブ領域)に細分され、各々のデータサブ領域は、2トラックの動的な隔離体114および116によって分離される。固定されたデータ領域104が4つのデータトラックのデータサブ領域に均等に分割されないので、1つのデータサブ領域は1つのデータトラックしか含まない。たとえば、固定されたデータ領域104のレイアウトは、固定されたデータ領域102に記憶されたデータよりも頻繁にアクセスされる可能性のあるデータのために用いられてもよい。4トラックのデータサブ領域からデータをコピーする時間は、13トラックのデータ領域全体を固定されたデータ領域102にコピーするよりも著しく高速となる。コピー速度を高めると、データトラックの総数が、固定されたデータ領域102における13トラックから固定されたデータ領域104における9トラックにまで減るので、容量の低下という犠牲が生じる。
【0017】
(図4および図5に関連付けて以下に詳細に述べる)データ領域ロジックは、固定されたデータ領域106のための最適なデータサブ領域サイズが1トラックであると判断する。結果として、固定されたデータ領域106は、5つのデータサブ領域(1トラックのうちの各々)に細分され、各々のデータサブ領域は、動的な隔離体118、120、122および124によって分離される。たとえば、固定されたデータ領域106のレイアウトは、固定されたデータ領域104に記憶されたデータよりもさらに頻繁にアクセスされる可能性のあるデータのために用いられてもよい。領域の書込み前にデータをコピーするのではなく、各々のサブ領域における単一のトラックを用いて、データが固定されたデータ領域106に直接書込まれてもよい。これは、固定されたデータ領域102における13トラックのデータ領域全体についてはもちろんのこと、固定されたデータ領域104における4トラックのデータサブ領域をコピーするよりも著しく高速である。コピー速度を高めると、トラックの総数が、固定されたデータ領域104における9トラックから固定されたデータ領域106における5トラックにまで減るので、容量の低下という犠牲が生じる。
【0018】
固定されたデータ領域102を再び参照して、動的な隔離体が欠如していると、固定されたデータ領域102に連続的にコピーされると予想されるデータ、および/または、変更されないかもしくはめったに変更されないデータ、がもたらされる可能性がある。さらに、データ領域ロジックは、ある時点で、領域102における固定されたデータがより小さなサブ領域に分割されるべきであると判断し得る。データは、固定されたデータ領域102からコピーされ、より小さなサブ領域に入力されてもよい。次いで、データ領域102は、データ領域ロジック毎に細分することが可能となる。
【0019】
データ領域102、104、106の各々は、データ領域ロジックが適切であると判断すると、繰返し再細分されてもよい。新しいサブ領域は各々、以前のサブ領域よりも小さくてもまたは大きくてもよい。対象のデータ領域における動的な隔離体のレイアウトを変更すべき場合、対象のデータ領域内の既存のデータが、もし存在していれば、対象のデータ領域からコピーされる。新しい動的な隔離体レイアウトは、新しいいずれかのデータが対象のデータ領域に書込まれる前に、対象のデータ領域に適用される。
【0020】
一実現例においては、動的な隔離体の割当ては、この明細書中においては、領域のデシメーション(decimation)と称される。より具体的には、完全にデシメートされた領域は、単一トラックのサブ領域(たとえば、データ領域106を参照)を作り出す態様で動的な隔離体を割当てる。部分的にデシメートされた領域は、動的な隔離体を割当てるが、単一トラックのサブ領域(たとえばデータ領域104を参照)に対してではない。デシメートされていない磁気媒体は、如何なる動的な隔離体も割当てない(たとえば、データ領域102を参照)。
【0021】
図2は、さまざまな隔離体割当てスキームを用いて領域に新しいデータ228を書込んだり、領域間で既存のデータを書換えたりするための例示的な状態図200を示す。データ領域は、さまざまな隔離体割当てスキームのうちの1つを用いて構成されてもよい。たとえば、割当てスキームは、ランダムに書込み可能であるかまたは完全にデシメートされた隔離体割当てスキーム219と、第1の動的隔離体間隔221を用いて非ランダムに書込み可能なまたは部分的にデシメートされた(たとえば、瓦状に重ねられた)スキーム(以下、第1の動的隔離体割当てスキーム221とする)と、第2の動的隔離体間隔223を用いて非ランダムに書込み可能なまたは部分的にデシメートされた(たとえば瓦状に重ねられた)スキーム(以下、第2の動的隔離体割当てスキーム223とする)と、固定された隔離体225または動的な隔離体225を用いない非ランダムに書込み可能なまたはデシメートされないスキーム(以下、無隔離体割当てスキーム225とする)とを含み得る。データサブ領域の間隔は、少なくとも、動的な隔離体間の磁気ディスクのデータ領域におけるデータトラックの数と、動的な隔離体間のフラッシュメモリにおけるデータ領域におけるビットの数とを指す。これらの4つの隔離体割当てスキームは、例示的なものにすぎず、多くのさまざまなデータサブ領域間隔スキームを含む他の多くのスキームが存在し得る。
【0022】
(たとえばホストから入ってくる)新しいデータ228は、新しいデータ228を記憶するのに十分な利用可能空間(すなわち、利用可能なデータ領域)を用いてデータ領域に書込まれる。新しいデータ228が特に大きいか、またはデータ領域における利用可能空間が特に小さい場合、新しいデータ228は複数のデータ領域に記憶されてもよい。(図4および図5に関連付けて以下に詳細に述べる)データ領域ロジックは、新しいデータ228が含んでいるデータの特定のタイプおよび/またはサイズに対して理想的な隔離体割当てスキームを決定する。一実現例においては、すべての新しいデータのためにデフォルトスキームが選択される。別の実現例においては、データ領域ロジックが、新しいデータ228の特徴(たとえば、新しいデータのファイルサイズ、ファイルタイプおよび/またはソース)を分析して、割当てスキームを選択する。
【0023】
矢印232、234、236および238によって図示されるように、新しいデータ228は、ランダムに書込み可能な隔離体割当てスキーム219、第1の動的隔離体割当てスキーム221、第2の動的隔離体割当てスキーム223、または、新しいデータ228を記憶するのに十分な空間を有しデータ領域ロジックによって課される如何なる要件をも満たす無隔離体割当てスキーム225、を有する利用可能な任意のデータ領域にコピーされ得る。空のデータ領域がある場合、空のデータ領域は選択された割当てスキームを有するよう構成されてもよい。さらに、空の利用可能なデータ領域がない場合、または、選択された割当てスキームと新しいデータ228を記憶するのに十分な空間とを用いる利用可能なデータ領域がない場合、新しいデータ228は、別の割当てスキームを用いる利用可能なデータ領域に記憶されてもよい。
【0024】
たとえば、データ領域ロジックは、新しいデータ228が第1の動的隔離体割当てスキーム221を用いるデータ領域に記憶されるべきであり、新しいデータ228を記憶するのに、第1の動的隔離体割当てスキーム221を用いる利用可能なデータ領域が不十分であると判断する。1つ以上の空のデータ領域がある場合、空のデータ領域は第1の動的隔離体割当てスキーム221に構成されてもよい。次いで、新しいデータ228が構成されたデータ領域に記憶され得る。空のデータ領域がない場合、新しいデータ228の全体またはその一部は、別の割当てスキーム(たとえば、ランダムに書込み可能なスキーム219または第2の動的隔離体割当てスキーム223)を用いる1つ以上の利用可能なデータ領域にコピーされてもよい。
【0025】
データ領域内の既存のデータは、データ領域内における別のデータ領域もしくはデータサブ領域にコピーされてもよく、および/または、変更されてもよい。既存のデータがコピーされると、この既存のデータは、あるスキームを用いるデータ領域から同じかまたは異なるスキームを用いる別のデータ領域へと移動してもよく、または、再構成され得る同じデータ領域に戻ってもよい。これは、データ領域ロジックが、既存のデータが記憶されるスキームとは異なる既存のデータ用の割当てスキームを選択する場合に起こり得る。たとえば、データ領域ロジックは、データサイズ、データタイプ、データ年代(data age)、データの履歴上の読出しパターン(たとえば、連続的または非連続的)、データの履歴上の書込みパターン(たとえば、連続的または非連続的)、データの断片化などを調べて、データについて選択された割当てスキームが変更されたか、または、データが現在記憶されている領域のためのスキームと異なっているかどうか判断する。さらに、データ領域ロジックは、割当てスキームを選択する際に、容量、満たされる総容量のパーセント、読出し/書込み速度、アクセス時間、信頼性、保持能力、および符号間干渉などの、記憶媒体の特徴を考慮に入れ得る。選択された割当てスキームを用いるデータ領域に十分な利用可能空間がある場合、データをそのデータ領域に直接移動させてもよい。
【0026】
たとえば、ランダムに書込み可能な割当てスキーム219を有するデータ領域に記憶された既存のデータは、矢印240、242および244によってそれぞれ図示されるように、第1の動的隔離体割当てスキーム221、第2の動的隔離体割当てスキーム223、または無隔離体スキーム225を有する別のデータ領域に移動させてもよい。さらに、第1の動的隔離体割当てスキーム221を有するデータ領域に記憶された既存のデータは、矢印240、246および248によってそれぞれ図示されるように、ランダムに書込み可能なスキーム219、第2の動的隔離体割当てスキーム223、または無隔離体スキーム225を有する別のデータ領域に移動させてもよい。さらに、第2の動的隔離体割当てスキーム223を有するデータ領域に記憶された既存のデータは、矢印242、246および250によってそれぞれ図示されるように、ランダムに書込み可能なスキーム219、第1の動的隔離体割当てスキーム221、または無隔離体スキーム225を有する別のデータ領域に移動させてもよい。さらに、無動的隔離体スキーム225を有するデータ領域に記憶された既存のデータは、矢印244、248および250によってそれぞれ図示されるように、ランダムに書込み可能なスキーム219、第1の動的隔離体割当てスキーム221、または第2の動的隔離体割当てスキーム223を有する別のデータ領域に移動させてもよい。ランダムに書込み可能な割当てスキーム219を有するデータ領域内の既存のデータが変更されると、変更された部分が、矢印230によって図示されるように、適所にある既存のデータに書込まれてもよい。
【0027】
図3は、記憶媒体上の領域に新しいデータを書込むための例示的な動作300を示す。受信動作305においては、メモリバッファは、記憶媒体に書込むべき新しいデータを受信する。新しいデータは、記憶媒体に書込み可能であれば実質的に如何なるサイズおよびタイプであってもよい。選択動作310においては、データ領域ロジックが、新しいデータのための割当てスキームを決定および選択する。一実現例においては、記憶装置は、記憶媒体に適用され得る離散数の利用可能な割当てスキームを有する。利用可能な割当てスキームの各々は、割当てスキーム内の動的な区画間において一定数のデータトラックを有し得る。さらに、記憶媒体は、割当てスキームのうち2つ以上を用いて記憶媒体にデータを記録してもよい。複数の割当てスキームが同時に記憶媒体に存在していてもよい。たとえば、データ領域ロジックは、データサイズ、データタイプ、データ年代、データの履歴上の読出しパターン(たとえば、連続的または非連続的)、データの履歴上の書込みパターン(たとえば、連続的または非連続的)、データの断片化などを調べて、データについての割当てスキームを決定および選択し得る。他の実現例においては、新しいデータはすべてデフォルトスキームで書込まれる。これらのスキームは、たとえば、ランダムに書込み可能であり得るか、第1の隔離体間隔で非ランダムに書込み可能であり得るか、第2の隔離体間隔で非ランダムに書込み可能であり得るか、または、隔離体なしで非ランダムに書込み可能であり得る。
【0028】
問合せ(Query)動作315は、新しいデータを記憶媒体に書込むために選択された割当てスキームを用いる十分な利用可能空間があるかどうか判断する。制御ファームウェアは、各々のデータ領域についてのスキーム構成情報と、各々のデータ領域において利用可能である記憶空間の量(もしあれば)とについての表を保持し得る。十分な空間が利用可能であれば、書込み動作340において、新しいデータは、新しいデータについて選択された割当てスキームを用いるデータ領域に書込まれる。記憶媒体に新しいデータを書込むために割当てスキームにおける利用可能な空間が不十分であれば、問合せ動作320では、スキームにかかわらず、記憶媒体上に空のデータ領域があるかどうかが判断される。空のデータ領域がある場合、再構成動作325において、1つ以上の空のデータ領域が、新しいデータについて選択された割当てスキームを用いて再構成される。次いで、書込み動作340において、新しいデータが再構成されたデータ領域に書込まれる。
【0029】
オプションの実行動作330において、ガーベジコレクションが記憶媒体上の使用可能な空間を解放する。ガーベジコレクション(GC:Garbage collection)はある種のメモリ管理である。ガーベジコレクタまたは単にコレクタは、不要データ(garbage)、またはもはや使用されていないオブジェクトによって占められているメモリを再利用しようと試みる。さらに、コレクタは、使用可能な空間を解放するために使用中のオブジェクトによって占められているメモリを統合および/または再編成し得る。コレクタは、問合せ動作315および/または問合せ動作320の結果を変更するのに十分な空間を解放し得る。結果として、動作315、320および330は、動作325または340が利用可能になるまで繰返されてもよい。いくつかの実現例においては、ガーベジコレクションは用いられない。
【0030】
図4は、記憶媒体上の既存のデータを記憶媒体上の別のデータ領域に移動させるための例示的な動作400を示す。分析動作405においては、記憶媒体が不適切に割当てられたデータに関して分析される。最初に記憶媒体にコピーされた時、データ領域ロジックは、新しいデータについての割当てスキームを決定および選択する。しかしながら、割当てスキームの選択を制御するファクタは、時間とともに変化する可能性がある。このため、データが不適切に割当てられてしまう。たとえば、データ年代、データの読出しパターン(たとえば、連続的または非連続的)、データの書込みパターン(たとえば、連続的または非連続的)、データの断片化などは変化する可能性がある。選択動作410においては、データ領域ロジックが、不適切に割当てられたデータについて新しい割当てスキームを決定および選択する。一実現例においては、記憶装置は、記憶媒体に適用され得る離散数の利用可能な割当てスキームを有する。利用可能な割当てスキームの各々は、割当てスキーム内の動的区画間において一定数のデータトラックを有し得る。さらに、記憶媒体は、割当てスキームのうち2つ以上を用いてデータを記憶媒体に記録してもよい。複数の割当てスキームが記憶媒体に同時に存在していてもよい。割当てスキームは、たとえば、ランダムに書込み可能であり得るか、第1の隔離体間隔で非ランダムに書込み可能であり得るか、第2の隔離体間隔で非ランダムに書込み可能であり得るか、隔離体なしで非ランダムに書込み可能であり得る。
【0031】
問合せ動作415では、不適切に割当てられたデータを新しい割当てスキームに移動させるために、新しい割当てスキームを用いる十分な利用可能空間があるかどうかが判断される。十分な空間が利用可能である場合、移動動作440において、不適切に割当てられたデータが、新しい割当てスキームを用いるデータ領域に移動させられる。不適切に割当てられたデータを移動させるのに、新しい割当てスキームを用いる利用可能空間が不十分である場合、問合せ動作420では、割当てスキームにかかわらず、記憶媒体上に空のデータ領域があるかどうかが判断される。空のデータ領域がある場合、再割当て動作425において、1つ以上の空のデータ領域が、不適切に割当てられたデータのための新しい割当てスキームを用いて再割当てされる。次いで、書込み動作440において、不適切に割当てられたデータが、再割当てされたデータ領域に移動させられる。
【0032】
オプションの実行動作430においては、ガーベジコレクションが、記憶媒体上の使用可能な空間を解放する。ガーベジコレクションは、問合せ動作415および/または問合せ動作420の結果を変更するのに十分な空間を解放し得る。結果として、動作415、420および430は、動作425または440が利用可能になるまで繰返されてもよい。いくつかの実現例においては、オプションの実行動作430は、問合せ動作415および/または問合せ動作420の結果を変更するのに十分な空間を解放することができない。
【0033】
この明細書中に記載された本発明の実施例は1つ以上のコンピュータシステムにおける論理ステップとして実現される。この発明の論理演算は、(1)1つ以上のコンピュータシステムにおいて実行される一連のプロセッサ実現型ステップとして、および、(2)1つ以上のコンピュータシステム内における相互接続された機械または回路モジュールとして、実現される。実現例は、本発明を実現するコンピュータシステムの性能要件に応じた選択事項である。したがって、この明細書中に記載される本発明の実施例を構成する論理演算は、動作、ステップ、オブジェクトまたはモジュールとさまざまに称される。さらに、特に明示的にクレームされない、または、特定の順序が請求項の文言によって本質的に必要とされない限り、論理演算が如何なる順序でも実行可能であることが理解されるべきである。
【0034】
上述の明細書、例およびデータは、本発明の具体的な実施例の構造および使用を完全に説明するものである。本発明の多くの実施例は本発明の精神および範囲から逸脱することなく実施可能であるので、本発明は添付の特許請求の範囲内にある。さらに、さまざまな実施例の構造上の特徴は、添付の特許請求の範囲から逸脱することなく、さらに別の実施例においても組合せ可能である。
【符号の説明】
【0035】
100 磁気ディスク、102、104、106 データ領域、108、110 固定された隔離体、112 データトラック、114、116、118、120、122、124 動的な隔離体。

【特許請求の範囲】
【請求項1】
複数の隔離体割当てスキームの群から選択される隔離体割当てスキームを用いて、記憶媒体における利用可能なデータ領域にデータを書込むステップを備える、方法。
【請求項2】
書込み動作の前に隔離体割当てスキームを選択するステップをさらに備える、請求項1に記載の方法。
【請求項3】
前記選択された隔離体割当てスキームによる利用可能なデータ領域はランダムに書込み可能である、請求項1に記載の方法。
【請求項4】
前記選択された隔離体割当てスキームはサブ領域を有し、前記サブ領域間の間隔は、前記記憶媒体の1つ以上の特徴に基づく、請求項1に記載の方法。
【請求項5】
前記サブ領域は動的な隔離体によって分離される、請求項4に記載の方法。
【請求項6】
前記記憶媒体上の前記データ領域は固定された隔離体によって分離される、請求項5に記載の方法。
【請求項7】
前記記憶媒体は1つ以上のデータ領域を含む、請求項1に記載の方法。
【請求項8】
前記複数の隔離体割当てスキームの群から選択されるさまざまな隔離体割当てスキームを用いて利用可能なデータ領域に前記データを移動させるステップをさらに備える、請求項1に記載の方法。
【請求項9】
前記隔離体割当てスキームは、前記データの1つ以上の特徴に基づいて選択される、請求項1に記載の方法。
【請求項10】
前記データの特徴は、データサイズ、データタイプ、データ年代、データの履歴上の読出しパターン、データの履歴上の書込みパターン、およびデータの断片化のうち1つ以上を含む、請求項9に記載の方法。
【請求項11】
前記隔離体割当てスキームは、前記記憶媒体の1つ以上の特徴に基づいて選択される、請求項1に記載の方法。
【請求項12】
前記記憶媒体の特徴は、容量、満たされる総容量のパーセント、読出し/書込み速度、アクセス時間、信頼性、保持能力および符号間干渉のうち1つ以上を含む、請求項11に記載の方法。
【請求項13】
前記記憶媒体はフラッシュメモリまたは磁気ディスクである、請求項1に記載の方法。
【請求項14】
複数の隔離体割当てスキームの群から選択される隔離体割当てスキームを用いて記憶媒体における利用可能なデータ領域にデータを書込むよう構成された回路を備える、装置。
【請求項15】
前記選択された隔離体割当てスキームによる前記利用可能なデータ領域はランダムに書込み可能である、請求項14に記載の装置。
【請求項16】
前記選択された隔離体割当てスキームは動的なサブ領域を有し、前記動的なサブ領域間の間隔は前記記憶媒体の1つ以上の特徴に基づく、請求項14に記載の装置。
【請求項17】
前記回路はさらに、複数の隔離体割当てスキームの群から選択されるさまざまな隔離体割当てスキームを用いて、前記記憶媒体上の利用可能なデータ領域にデータを移動させるように構成される、請求項14に記載の装置。
【請求項18】
前記隔離体割当てスキームは、前記記憶媒体の1つ以上の特徴に基づいて選択される、請求項14に記載の装置。
【請求項19】
前記隔離体割当てスキームは、前記データの1つ以上の特徴に基づいて選択される、請求項14に記載の装置。
【請求項20】
第1の隔離体割当てスキームを有するデータの第1の領域と第2の隔離体割当てスキームを有するデータの第2の領域とを記録するように構成された記憶装置であって、
前記第1および第2の隔離体割当てスキームは、前記記憶装置内に同時に存在する、記憶装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−190532(P2012−190532A)
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−51575(P2012−51575)
【出願日】平成24年3月8日(2012.3.8)
【出願人】(500373758)シーゲイト テクノロジー エルエルシー (278)
【Fターム(参考)】