JP3852954B2 - データ記憶装置 - Google Patents
データ記憶装置 Download PDFInfo
- Publication number
- JP3852954B2 JP3852954B2 JP53506297A JP53506297A JP3852954B2 JP 3852954 B2 JP3852954 B2 JP 3852954B2 JP 53506297 A JP53506297 A JP 53506297A JP 53506297 A JP53506297 A JP 53506297A JP 3852954 B2 JP3852954 B2 JP 3852954B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- storage device
- area
- region
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Description
データ圧縮技術は、データ記憶システムに二つの主な利益を提供することができる。データ記憶装置の有効容量は、その装置に記憶すべきデータのボリュームが、その記憶システムに転送されるデータおよびその記憶システムから転送されるデータの論理ボリュームより小さいので、その物理的容量を超えて増大することができる。このデータの物理的ボリュームの減少により、記憶装置に出し入れするデータ転送時間が有効に短縮される。記憶装置の動作が比較的低速である場合、例えば磁気ディスクでは、これは特に有利である。
PCT特許出願第91/20076号(Storage Technology Corporation)には、動的にマップされた仮想メモリシステムを使用して、各データレコードがそのデータに必要な物理空間のみを占めるようにデータの記憶を可能にする方法が示されている。圧縮アルゴリズムは、マルチパス記憶ディレクタを使用して、記憶する前にデータを圧縮する。ヌルフィールドは仮想メモリマップにリストされ、物理媒体には記憶されない。
PCT特許出願第91/20025号(Storage Technology Corporation)には、削除されたデータセット空間が直ちに解放されて再利用される、動的にマップされた仮想メモリシステムが示されている。データ記憶サブシステムは、データファイルが仮想VTOCからスクラッチされていることを示す指標を受信する。追加のデータセキュリティは、キャッシュおよび記憶装置の両方にある、スクラッチされた記憶ファイルのデータへの無許可アクセスを防止することによって提供される。
ヨーロッパ特許出願第0682306号(IBM)には、データのブロックサイズとそれらの記憶に利用できる空間とを比較して最も効率的な位置決め配列を決定する、ログ構造ファイルシステムが示されている。これは、圧縮されたデータおよび圧縮されていないデータについて別々のバッファを有し、また小さい方のバイト数を選択的にディスクに書き込む制御装置を有する。
米国特許第4467421号(Storage Technology)には、ホストCPUと(ディスクドライブ)記憶装置との間に挿入され、その記憶媒体がテープドライブと同様に機能し、連続的にデータを書き込むことができるようになされた仮想記憶システムが示されている。このシステムは、固体RAM、CCDメモリ、ディスクドライブ、テープなど、その構成要素が様々な応答時間を有する混合方式記憶システムに適用することができる。
磁気ディスク、光ディスク、磁気テープなど、多くのデータ記憶装置では、データは、データブロックと呼ばれる固定サイズの単位で記憶される。一般的なデータブロックのサイズは512バイトである。ホストがデータブロックに与えるアドレスは論理ブロックアドレスと呼ばれ、データブロックを実際に記憶するメモリ領域のアドレスは、物理ブロックと呼ばれる。論理ブロックアドレスおよび物理ブロックアドレスは、通常は同じ順序である(すなわち連続的な論理ブロックアドレスは通常は連続した物理ブロックアドレスに対応する)が、物理アドレス空間は連続的でないこともある。この不連続性は、記憶媒体の物理的特性、例えばその物理アドレス中のある特定のブロックが欠陥の存在によって使用不能になるといったことにより、生じる可能性がある。データブロックの論理アドレスは、アルゴリズムまたはルックアップテーブルを使用してブロックの物理的順序づけの不連続性を規定することにより、物理アドレスに変換することができる。
ただし、データ圧縮を使用するときには、いくつかのデータがその他のデータより圧縮しやすいので、圧縮後のデータサイズが各論理ブロックごとに一定でない可能性がある。したがって、各論理ブロックの圧縮により生じるデータの量は可変となる。
論理ブロックの圧縮によって生じるデータの量は、データの性質および使用する圧縮技術に依存する。圧縮データのブロックの物理的サイズは、データの読取り、修正、および再書込みの際に変化することもある。したがって、固定された論理ブロックのデータの圧縮によって生じる可変量のデータを管理するという問題が生じるので、磁気ディスクなどのランダムブロックアクセス記憶装置の即時制御構造内にデータの圧縮を組み込むことはかなり困難である。
したがって本発明は、記憶装置と、メモリと、ユーザインタフェースと、メモリ制御装置とを含み、メモリがユーザインタフェースと記憶装置との間で転送された全てのデータをバッファリングするために使用されるデータ記憶システムであって、メモリ制御装置が、記憶装置とメモリの間でデータを直接コピーし、メモリとユーザインタフェースの間でデータが転送されたときにデータを再編成することを特徴とするシステムを提供する。
メモリは、記憶装置のアクセス機構によって単一動作で好都合にアクセスすることができる記憶装置の一部分である記憶装置の領域と等しい容量を有することができる。
データは、メモリの全容量の単位で記憶装置に転送する、また記憶装置から転送することができる。
データ記憶システムは、それぞれがメモリへのデータ転送またはメモリからのデータ転送を実行することができる、複数の記憶装置を含むことができる。
データ記憶システムは、それぞれが記憶装置の独立した領域からデータをロードされることができる、複数のメモリを含むことができる。
記憶装置からメモリへのデータ転送は、ユーザインタフェースでのトランザクションに必要なデータブロックがメモリ中に常駐する可能性が最も高くなるようにようにスケジュールされる。
記憶装置は磁気ディスクにすることができる。
メモリは、ランダムアクセス半導体メモリにすることができる。
データの圧縮および圧縮解除は、メモリとユーザインタフェースの間に組み込むことができる。
記憶装置の領域は、その領域中に永久に常駐する所定数の論理的に連続的なデータブロックと、その領域の利用可能な物理記憶空間に好都合に収容することができるだけの非連続的なデータブロックとを含むことができる。
永久に第一領域に常駐する一つまたは複数の論理的に連続的なデータブロックのサイズが増加する場合には、非連続的なデータブロックを第一領域から第二領域に再配置し、物理記憶空間を生み出すことができる。
非連続的なデータブロックを第一領域から第二領域に再配置し、永久に第二領域に常駐する一つまたは複数の論理的に連続的なデータブロックの物理的サイズの変化によって生じた物理記憶空間を満たすことができる。
領域間での比連続的なデータブロックの再配置は、一つのメモリから別のメモリへのブロックの転送によって実施することができる。
メモリは、領域間で再配置される全てのデータブロックのソースまたは宛先として指定することができる。
メモリ制御装置は、データブロックの再配置のための自由な物理メモリ空間を十分に提供する記憶装置の領域から、データがメモリにロードされることを保証することができる。
ある領域に永久に常駐する所定数の論理的に連続的なデータブロックの論理ページアドレスは、記憶装置内の領域の順次アドレスとの直接の対応を有することができる。
ある領域に永久には常駐しない独立したデータブロックの論理アドレスは、ルックアップテーブルによってある領域内の論理アドレスに変換することができる。
メモリは、一定数のデータワードを含むタイルで独立にアドレス可能にすることができる。
データの各論理ブロックは、リンクしたタイルのグループの連鎖中に記憶することができる。
各連鎖中のグループのサイズおよび数は、データのブロックのサイズに従って選択することができる。
アドレスは、ブロックのタイルの第一グループのメモリ内の物理アドレスを識別するデータの各論理ブロックについて記憶することができる。
メモリ中のタイルの未使用の任意のグループは、いくつかの自由空間連鎖中で互いにリンクすることができる。
主電源で故障が発生した場合に、電力ソースを十分な時間維持し、メモリから記憶装置への全てのデータの転送を可能にするバッテリを備えることもできる。
データの圧縮などによって生じる可能性のある可変ブロックサイズを有するデータの記憶を管理する配列を考案した。こうした配列の一つでは、データブロックを不可分の単位として扱い、メモリ内でデータブロックを再配置および再順序づけすることによって自由メモリの断片化を管理する。これは、異なる位置へのデータブロックの再書込み、および論理アドレスを物理アドレスにマップするルックアップテーブルの更新を必要とする。
この配列の一つの欠点は、データブロックの再配置を繰り返すことにより、データが破壊される機会が増加する可能性があることである。しかし、データブロックは物理メモリの物理的に連続な領域に記憶しなければならないので、再配置は必要である。この配列は、データの再配置を実行するためにメモリ全体への高速アクセスを必要とし、固体ディスクなどの大規模半導体メモリに最も適している。これが必要とする高速ランダムアクセス動作は、磁気ディスクメモリと両立しない。
可変ブロックサイズを有するデータを記憶する別の配列では、データブロックの分散記憶を使用する。データブロックは、物理メモリ中の様々な位置に記憶される個別セグメントに細分される。メモリは、タイルをメモリの基本単位とし、固定数のデータワードを含む、タイルの複数のグループに編成される。複数の様々なグループサイズが存在し、各グループサイズは様々な数のタイルを含む。データブロックは、記憶されるときに、タイルのグループを部分的に使用することによって生じる記憶空間の浪費を最小限に抑えるように、選択されたタイルのグループに分割される。データブロックの記憶に使用される個別セグメントは、各セグメントまたはグループと関連するグループのヘッダに記憶されたリンクポインタによって互いにリンクされる。データブロックの記憶に使用される第一セグメントの物理的位置は、別々に、ただし好ましくは同一媒体上に記憶され、論理ブロックアドレスから物理ブロックアドレスへのルックアップテーブルをコンパイルするために使用することができる。この配列は、複数の所定サイズを有する個別セグメントにメモリを事前フォーマットすることができ、これらは、その後で互いにリンクされ、ブロックが必要とする最小限の量の記憶空間が使用されることを保証することができる。自由データ空間を管理するために、記憶に使用されないセグメントをそれらのグループヘッダを介してリンクし、それにより自由メモリのセグメントの連鎖を与える。この配列は、各ブロックアクセスごとにメモリ装置への多重ランダムアクセスを必要とし、したがって高速半導体メモリとともに使用されるときに最も効率的になる。これは、固体ディスクメモリ中での使用に特に適している。ただし、一つの欠点は、高速ランダムアクセスを行うことができない磁気ディスクなどのメモリ装置とともに直接使用することに適していないことである。
可変ブロックサイズを有するデータの記憶を管理するための上述の二つの配列は、記憶媒体中で効率的に配置するためにデータブロックを区分化する原理、および記憶したデータブロックのサイズのいかなる変化も補償するようにデータブロックを再配置する原理に依拠している。両原理とも、データブロックの読取りおよび書込み動作のために記憶媒体への多重ランダムアクセスを必要とし、したがって記憶装置として高速メモリを使用する場合にしか高性能データ記憶システムを提供することができない。これらの方法は主として、ランダムアクセス半導体メモリを利用する固体ディスクシステムのためのものである。磁気ディスク上で行われるランダムアクセスは、機械的動作であり、比較的低速であるので、磁気ディスクなどの記憶装置とともにこうした方法を採用することは困難である。
本発明がよりよく理解されるように、また本発明がどのように実施されるかを示すために、次に例示的に添付の図面を参照する。
第1図は、記憶装置のある領域へのデータアクセスをバッファリングするために高速メモリを使用することを示す概略図である。
第2図は、領域内バッファアーキテクチャを利用するシステムを示す図である。
第3図は、領域内記憶管理のための論理から物理へのマッピングを示す図である。
第4図は、大域記憶管理のための論理から物理へのマッピングを示す図である。
第5図は、領域内バッファ内のメモリ構造を示す図である。
第6図は、領域内バッファ内の各グループメモリ構造と関連するグループヘッダのフォーマットを示す図である。
第7図は、領域内バッファ内のデータブロック構造を示す図である。
第8図は、領域内バッファ内の自由空間構造を示す図である。
第9図は、本発明の一実施形態における領域内記憶装置を制御する配置を示す図である。
第10図は、本発明を実施するシステム中の領域内バッファメモリを制御する配置を示す図である。
データブロックにデータ圧縮技術が適用されると、達成された圧縮、したがって圧縮後のブロックサイズは、データの特徴に応じて幅広く変化する。二進オブジェクトコードなどいくつかのタイプのデータは冗長度をほとんど含まず、わずかしか圧縮することができないが、画像データなどその他の形態は、元のボリュームの十分の一未満にまで圧縮することができる。したがって、圧縮前のブロックサイズは固定サイズであるが、データ圧縮後のデータ記憶システム中のブロックサイズは非常に幅広い範囲にわたって変化する可能性がある。効率的な記憶管理配列は、ブロックサイズ分布の動的な性質に対処することができなければならない。
第1図は、基本的なデータ記憶システムを示す図である。これは、この実施形態では磁気ディスクドライブ10への全てのデータ入出力動作のためのバッファとして働く高速メモリ12に接続された磁気ディスクドライブ10である記憶装置を含む。第1図のシステムは、データ圧縮などのデータ変換によって生じた可変ブロックサイズのデータを管理するために必要な区分化および再配置の原理を示す。磁気ディスクドライブ10は、一定の物理的サイズを有し、磁気ディスクドライブ10内で順次アドレスされる領域14に区分化される。領域14は、磁気ディスクドライブ10のアクセス機構による磁気ディスクドライブ10の本来の細区分である。データは、ディスクドライブ10の単一アクセス動作で、領域14に書き込む、または領域14から読み取ることができる。例えば、領域14は磁気ディスク10のトラックまたはシリンダ、あるいは磁気ディスクのアレイにすることができる。ディスクドライブ10は、磁気ディスクドライブ10を高速メモリ12に接続するデータポート16を介して独立にアクセスすることができる複数の領域14を含む。高速メモリ12はデータポート16に接続され、ディスクドライブ10に転送される、またはディスクドライブ10から転送される全てのデータをバッファリングする。高速メモリ12は、ディスクドライブ10の領域14と等しいメモリ容量を有するように配列される。データは、高速メモリ12および領域14の全データ内容が単一動作でデータポート16を介して転送されるように、高速メモリ12と領域14の間で転送される。このようなデータ転送は、高速メモリ12と領域14の間で直接ビットコピーとして行われる。
データは、高速メモリ装置12に接続されたデータ入出力チャネル18を介してデータ記憶システムに書き込まれ、これから読み取られる。データは、高速メモリ12と入出力チャネル18の間で再編成することができる。例えば、データの圧縮および圧縮解除を入出力チャネルにおいて組み込むことができる。データは通常は、入出力動作で転送されるデータのボリュームが高速メモリ12の容量を大幅に下回るように、データブロックまたは一連のデータブロックを単位として入出力チャネル18から転送される。
第2図は、複数の高速メモリ12、それと同数の記憶装置10、および管理機能を組み込むデータ記憶システムを示す図である。この実施形態の記憶装置10は磁気ディスクであるが、その他の実施形態では、光ディスクや磁気テープなどその他の形態の大容量記憶装置にすることができる。各ディスクドライブ10は、データポート16を介して、それを介して任意の記憶装置10上の任意の領域14からのデータにアクセスすることができる領域内バス20に接続される。領域内バス20は、メモリポート22を介して複数の高速メモリ12にも接続される。各高速メモリ12は、領域内バス20上で使用される任意のデータ転送配列の多重化制約しか受けずに、独立して任意の記憶装置10上の任意の領域14に、またこれからデータを転送することができる。各高速メモリ12は、メモリ記憶マネージャ24によって制御される。データ圧縮器26は、各高速メモリ12への圧縮器ポート28とデータ記憶システムへの入出力チャネル18との間に組み込まれる。
一定サイズのデータの論理ブロック(データブロック)は、インタフェースバス32およびインタフェースポート34を介して入出力チャネル18からブロックバッファメモリ30に転送される。次いでこのデータブロックはメモリ記憶マネージャ24の制御下のデータ圧縮器26を通過し、その結果生じた可変サイズブロックは高速メモリ12に書き込まれる。高速メモリ12から入出力チャネル18へのデータブロックの転送では、逆の一連の動作が適用される。インタフェースバス32により、使用される任意のデータ転送配列の多重化制約しか受けずに、任意の高速メモリ12とデータ入出力チャネル18の間でのデータブロックの転送が可能になる。データは、内部コピーポート36および内部コピーバス38によって、二つの高速メモリ12の間で直接転送することもできる。メモリ記憶マネージャ24は、高速メモリ12中のデータの編成および記憶を制御し、データ圧縮器26を通るデータフローを制御し、高速メモリ12へのデータ転送およびこれからのデータ転送を制御し、領域14内のデータの論理から物理へのアドレス変換を実行する。大域記憶マネージャ40は、入出力チャネル18上の動作を制御し、ディスクキャッシングアルゴリズムを実施し、大容量記憶装置上の領域14へのデータ転送およびこれからのデータ転送をスケジュールおよび制御し、領域14の間でブロックの再配置をスケジュールし、データブロックについて論理から物理への領域14のアドレス変換を実行する。
第2図に示すシステムは、高速ディスクキャッシュメモリとして高速メモリ12を使用することにより、磁気ディスクをベースとする高性能データ記憶システムを提供する。高速キャッシュメモリとディスクメモリの間のデータ転送が、入出力に必要とされるデータがキャッシュメモリ中に常駐する可能性を高くするようにスケジュールされている場合には、キャッシュメモリを使用することにより、高速データ記憶システムを提供することができることは知られている。圧縮されたデータのみが磁気ディスク10と高速メモリ12の間で転送されるので、高速メモリ12は非常に高速なキャッシュ動作を達成する。このようにして、データ転送時間を最小限に抑えることができる。記憶された全てのデータを圧縮することにより、高い論理記憶容量が生み出される。
第3図は、未圧縮論理データブロックの編成と、高速メモリ12内の、したがって磁気記憶装置10の領域14内の物理記憶空間との間の相関関係を示す図である。各領域14は、ページ50として指定される、永久に領域14に常駐する固定数m個の論理的に連続的なデータブロックを含む。データ記憶システム内の論理ページの数は、磁気ディスク10内の順次領域の数と等しくなるようになされ、論理ページアドレスと論理領域アドレスの間に直接の対応が存在するようになっている。ページ50中のデータブロックの数mは、アドレスの復号が単純なままとなるように2の累乗となることが好ましい。領域14の物理メモリ容量は、最小限のデータの圧縮しか達成されていないときに一つの論理ページ50を収容するのに十分に大きい。
通常は、論理ページ50を記憶した後で過剰な物理メモリ容量が存在することになり、これは、b個の独立したページ化されていない非連続的なデータブロック(未ページ化ブロック52)で占めることができる。この数bは、領域14内のデータについて達成された圧縮比に応じて可変である。
可変サイズの論理ブロックは区分化および分散され、物理領域14に効率的にパックされる。ページ化ブロック50のサイズの増大を収容するために領域14a内の追加の物理空間が必要となった場合には、未ページ化ブロック52を別の領域14bに再配置することができる。これは、第2図のアーキテクチャの高速メモリ12の間で直接データ転送することによって実施することができる。
第4図は、論理ブロック数とデータ記憶システム内の物理記憶空間の編成との間の相関関係を示す図である。論理ブロックは二つの別個の連続に編成される。第一の連続は、m個のブロックをそれぞれ有するn個のページ50を有し、各ページ50は対応する論理数を有する領域14に記憶される。したがって、ページ50についてはアドレス変換は不要である。第二の連続はk個の未ページ化ブロック52からなる。これらk個の未ページ化ブロック52は、ページングなしで記憶される。kの値は、ページ化ブロック50を記憶した後で利用できるメモリ空間に依存する。未ページ化ブロック52は、物理メモリ空間内の任意の領域14に位置することができ、また領域14a内のページ化ブロック52のサイズの変化を収容するために一つの領域14aから別の領域14bに再配置することもできる。
ルックアップテーブル54は、未ページ化ブロック52についての論理ブロック数を、それが位置する論理領域の数に変換するために使用される。ルックアップテーブル54は、高速メモリの特殊な領域に記憶することができる。高速メモリの内容(ルックアップテーブル)は、高速メモリ12の内容の領域14への転送と同様の方法で、磁気ディスク10の対応する領域にコピーされる。
領域14の間での未ページ化ブロック52の再配置は、未ページ化ブロック52を、内部コピーバス38を介して一つの高速メモリ12aから別の高速メモリ12bに転送することによって実施される。一つの高速メモリ12bは、自由物理メモリ領域を有する領域14を保持するように指定することができ、また全てのブロックの再配置のソースまたは宛先として指定することができる。このように、領域14の間でのブロックの再配置は、磁気ディスクドライブへのアクセスを必要としない。
磁気ディスク10のあらゆる領域14中に自由メモリ空間が存在しないときには、記憶システムは容量が満杯に到達している。これ以上データブロックを書き込むことはできない。データブロックを削除することによって自由空間が生み出されるまで、既存データブロックの修正が不可能となることもある。
第5図は、高速メモリ12中に存在するメモリ構造を示す図である。データブロック、ならびに高速メモリ12および領域14内の自由メモリ空間は、本特許明細書の前半に記載したブロックの分散記憶用の配列にしたがって編成される。ワード60は、物理メモリのアドレス可能な最小の単位であり、メモリ装置の構造によって決定されるワード長を有することになる。これは通常は16または32ビットの長さにすることができる。タイル62は、メモリ中の一定数の連続ワード60である。これはメモリ空間のアドレッシングの基本単位であり、したがって記憶されたデータブロックのサイズの最小限の増分である。タイル62は、通常は8個または16個のワード60にすることができる。グループ64は、メモリ中の連続したタイル62のセットであり、一つのタイル62の最小限のサイズを有する任意のサイズにすることができるが、通常は一、二、四、または8個のタイル62を含むことになる。グループ64は、グループヘッダ66として割り振られた所定数のメモリ位置を含む。
第6図は、代表的なグループヘッダ66のフォーマットを示す図である。グループヘッダ66は、三つのフィールド、すなわち状態フィールド70、タイルフィールド72、およびリンクポインタ74を含む。状態フィールド70は、グループ64がデータブロックの一部分であるか、または領域14内の自由空間の一部分であるかを規定し、またグループ64aが後続のグループ64bにリンクされているかどうかを規定する。タイルフィールド72は、グループ64中のタイル62の数についての情報を含む。リンクポインタ74は、グループ64aがリンクされた別のグループ64bの開始のアドレスを規定する。このアドレスは、高速メモリ12の開始アドレスに対する一つのタイル62の増分で規定される。
第7図は、グループヘッダ66中のリンクポインタフィールド74が、どのようにしてグループ64a、b、cをリンクしてより大きなデータブロックを形成するかを示す図である。データブロックは、任意の物理順序でリンクすることができるグループ64を含むことができる。ブロックの第一グループ64aのグループヘッダ66への物理アドレスポインタ80は、領域14内のブロックの論理アドレスによって規定された高速メモリ12中の位置に位置する。このようにして、m+b個の論理ブロックを含む第3図の領域14について、高速メモリ12のm+b個の第一の位置は、データブロックについての物理開始アドレスを含む。
第7図のデータブロックは、タイル62の11個分の長さであり、グループヘッダ66中の情報によってリンクされて連鎖になった8個のタイル64a、二つのタイル64b、一つのタイル64cのグループを含む。構成グループ64a、b、cは、高速メモリ12の物理メモリ空間内の任意の位置に位置することができる。
この配列では任意長さのデータブロックを収容することができるが、タイル15個までのブロックサイズでは、タイル8個、4個、2個、および1個のサイズのグループの可用性が最大の効率を与える。データブロックは、高速メモリ12に書き込まれるときに、利用可能なグループサイズと等しいサイズの一つまたは複数のセグメントに区分化される。データは、適当なグループヘッダ情報66とともに、その時点で自由空間として存在する、別のデータブロックに割り当てられていないグループの位置に書き込まれる。リンクされた連鎖中の最後のグループヘッダ64cは、リンクポインタフィールド74中にブロック論理アドレスを含み、データのセキュリティと、任意のポインタまたはヘッダ66が破壊されたときにリンク情報を回復する能力とを提供する。
第8図に示すように、リンクされたグループ64の同様の連鎖を利用して、高速メモリ12中の自由空間を管理することができる。分離した自由空間連鎖90は、各グループサイズごとに維持することができる。開始ポインタ92aは第一グループ64eのヘッダのアドレスを規定するために使用され、末端ポインタ94aは各連鎖の最後のグループ64fのアドレスを規定するために使用される。これらのポインタ92、94は、グループ64が自由空間連鎖に添付される、またはこれから除去されるときに修正される。自由空間連鎖90を規定するポインタ92、94は、ブロック物理アドレスポインタ80と同様の方法で、高速メモリ12中の予約位置に記憶することができる。
データ記憶システムが最初に初期化された後で、キャッシュ領域14は、1個、2個、4個、および8個のタイル62のグループサイズにフォーマットされ、自由空間連鎖90は、それらと関連づけられたポインタ92、94とともに形成されなければならない。このフォーマットは、磁気ディスク10中のあらゆる領域14について同様にすることができ、高速メモリ12は同じサイズにすることができる。このフォーマットは、磁気ディスク10の予め空になっている領域14中の最後の宛先について高速メモリ12にデータを書き込む前に、自由空間連鎖ポインタ92、94およびリンクされたグループヘッダ66の標準パターンを高速メモリ12にロードすることによって、容易に達成することができる。したがって、磁気ディスク10は、本発明で使用するために、従来通り実行される磁気ディスクのフォーマット以外には、初期化後にいかなる特定のフォーマットも必要としない。
データブロック読取り動作は下記のように実行される。データブロックが既に高速メモリ12中に存在している場合には、読取り動作は直ちに開始される。そうでない場合には、ブロックが位置する磁気ディスク10の完全な領域14についてのデータを高速メモリ12にロードしなければならない。磁気ディスクのキャッシングアルゴリズムは、入出力チャネル18で要求される前にデータが高速キャッシュメモリに転送され、データを直ちに利用することができる最高の可能性を確保することで知られている。
領域14内のデータブロックの論理アドレスは、大域記憶マネージャ40によってメモリ記憶マネージャ24に供給される。物理アドレスポインタ80は、ブロック論理アドレスによって規定された高速メモリ12中の位置から読み取られ、グループ64はこの物理アドレスポインタ80によって規定された位置から読み取られる。グループヘッダ66が記憶され、任意の後続のグループについて物理アドレスを提供する。リンクされたグループは、このようにして、ブロックの最後のグループに到達するまでハードウェアの制御下で読み取られる。
データブロック書込み動作は下記のように実行される。データ読取り動作の場合と同様にこの動作を開始することができるようになる前に、ブロックを書き込もうとする領域についてのデータが、高速メモリ12中に存在していなければならない。メモリ記憶マネージャ24内の制御プロセッサは、データブロックを区分化し、適当な自由空間連鎖90からグループ64を割り振る。次いで制御プロセッサは、構成グループ64についての必要な全てのポインタ、ヘッダ、およびアドレス情報をメモリ記憶マネージャ24にロードし、アドレスポインタおよびデータグループは、メモリ記憶マネージャ24の制御下で高速メモリ12中の所定位置に書き込まれる。論理ブロックに関係する古くなったグループは、適当な自由空間連鎖90の末端に添付され、自由空間ポインタ92、94は更新される。データは、様々な領域14から高速メモリ12にデータをロードする必要がある場合、または所定の長さの時間の後で、高速メモリ12から磁気ディスク10上の領域14にロードすればよい。
メモリ記憶マネージャ24は、高速メモリ12中のデータの編成および記憶を制御し、データ圧縮器26を通るデータフローを制御し、高速メモリ12へのデータ転送およびこれからのデータ転送を制御し、領域14内のデータについて論理から物理へのアドレス変換を実行する。
第9図は、メモリ記憶マネージャおよびデータ圧縮器を含む領域内制御機能を示すブロック図である。領域内制御プロセッサ100は、データ転送のスケジューリングおよびアドレス制御機能を実行し、転送バス102を介してその他の制御要素と通信する。単一の領域内制御プロセッサ100は、複数のメモリ記憶マネージャ24と通信し、これらを制御することができる。
データブロックを高速メモリ12に書き込むときには、大域記憶マネージャ40は、ブロックが入出力チャネル18から転送される準備ができたことを領域内制御プロセッサ100に通知し、領域14内のブロックの論理アドレスについての情報を提供する。この動作は、複数の順次データブロックについて実行することもできる。領域内制御プロセッサ100は、転送バス102を介して、制御情報を入出力インタフェース104およびデータ圧縮器26にロードする。データ圧縮器26は、特定用途向け集積回路(ASIC)にすることができる。次いでデータブロックが、入出力インタフェース104およびインタフェースデータバス106を介してブロックバッファ30に転送される。このブロックバッファ30は、静的ランダムアクセスメモリ(SRAM)にすることができる。
ブロックバッファ30に常駐するデータブロックは未圧縮であり、一定サイズを有する。ブロックバッファ30は、複数のデータブロックを収容するのに十分な容量を有することができる。次いでデータブロックは、データ圧縮器26を通って先入れ先出しメモリ108に転送される。ブロックバッファ30に出入りする全てのデータ転送は、圧縮器バス110を介してデータ圧縮器26によって制御される。インタフェースバス106で時分割多重配列を使用する場合には、ブロックバッファ30に出入りするデータ転送を同時に行うこともできる。データ圧縮器26は、データブロックのサイズを減少させる任意のデータ圧縮配列を実施することができる。
領域内制御プロセッサ100は、データ圧縮器26から、先入れ先出しメモリ(FIFO)108中に常駐するデータブロックのサイズを通知される。次いで領域内制御プロセッサ100はブロックをセグメントに区分化し、セグメントを、高速メモリ12中の自由空間連鎖90中で利用可能なグループ64に割り当てる。グループヘッダアドレスおよびデータ情報、ならびに制御コードは、領域内制御プロセッサ100からメモリ記憶マネージャ24にロードされる。データは、メモリ記憶マネージャ24の制御下で、FIFOバス112およびドライバ114を介してFIFO108から高速メモリ12に転送される。メモリ記憶マネージャブロック24は、特定用途向け集積回路(ASIC)にすることができる。データを高速メモリ12に書き込む間に、メモリ記憶マネージャ24は、FIFOバス112を介してグループヘッダ66についてのデータを挿入し、管理バス116を介して高速メモリ12の全てのアクセスについてのアドレスを制御する。
高速メモリ12からデータブロックを読み取り、これを入出力チャネル18に転送する動作は、同様のパターンを逆方向にたどる。
高速メモリ12と、大容量記憶装置として働く磁気ディスク10上の領域14との間のデータの転送は、メモリドライバ118、FIFOバス112、ディスクインタフェース制御120、およびディスクインタフェースポート122を介して実施される。高速メモリ12の全データ内容は単一動作で転送され、高速メモリ12のアドレスのサイクリングはメモリ記憶マネージャ24によって実行される。ディスクインタフェース制御120は、磁気ディスク10のアクセスに必要な全ての制御機能を実行し、データ転送を磁気ディスク10と両立するように同期する。磁気ディスク以外の記憶装置を使用するその他の実施形態では、ディスクインタフェース制御120は、使用する特定の記憶装置専用の制御装置で置き換えられることになる。転送についての制御パラメータは、領域内制御プロセッサ100によってメモリ記憶マネージャ24およびディスクインタフェース120にロードされる。
二つの高速メモリ12の間のデータの転送は、メモリドライバ118、FIFOバス112、ドライバ114、および領域インタフェースポート124、ならびに第二の高速メモリ12のための領域内制御構造中のこれらに対応する要素を介して実施される。この経路を介したデータ転送は、通常は単一の未ページ化データブロック52または未ページ化データブロック52の小さなセットを再配置するために行われる。
第10図は、メモリ記憶マネージャ24の構造を示す図である。記憶マネージャポート126は、FIFOバスインタフェース128を介したメモリ記憶マネージャ24とFIFOバス112の間の通信を実現する。転送ポート130は、転送バスインタフェース132を介したメモリ記憶マネージャ24と転送バス102の間の通信を実現する。
メモリ記憶マネージャ24の内部では、内部データバス134はデータバスとして働き、内部プロセッサバス136はプロセッサバスとして働く。管理バス116は、高速メモリ12についてのアドレスおよび制御信号を供給する。ヘッダ書込みレジスタ138は、内部データバス134を介してグループヘッダ66として書き込まれる一つまたは複数のグループヘッダ66が領域内制御プロセッサ100からロードされるレジスタのバンクを含む。ヘッダ読取りレジスタ140は、内部データバス134上のデータから抽出された一つまたは複数のグループヘッダ66が後に領域内制御プロセッサ100によって読み取られるためにその中に記憶される、レジスタのバンクを含む。アドレスレジスタ142は、内部プロセッサバス136または内部データバス134のいずれかから一つまたは複数のアドレスがロードされるレジスタのバンクを含む。マルチプレクサ144は、アドレスレジスタのロードのためのソースを制御する。アドレスレジスタ142からのアドレスはアドレスカウンタ146にロードされ、メモリアクセスの開始点を規定する。グループの読取りまたは書込み動作と同様に、メモリアクセスが順次ワードアドレスのストリングを含む場合には、アドレスカウンタ146はアドレスシーケンスを生成する。制御ブロック148は、領域内制御プロセッサ100の指示の下で、全ての動作についての制御信号を生成する。ECC論理ブロック150は、各グループ64またはデータブロックに添付することができる誤り検査コード(ECC)を生成および検査する。
Claims (11)
- 記憶装置(14)と、
バッファメモリ(12)と、
ユーザインターフェース(18)と、
メモリ制御装置(40)と
を備えたデータ記憶システムであって、
該バッファメモリは、該ユーザインターフェースと該記憶装置との間で転送されるすべてのデータをバッファリングするように用いられ、
該メモリ制御装置(40)は、該記憶装置(14)と該メモリ(12)との間で転送されるデータを直接的にコピーするように構成されており、
該記憶装置(14)の第1の領域は、該領域に永久に常駐する所定の数の論理的に連続したデータブロックを含み、できるだけ多くの論理的に非連続なデータブロックが、該第1の領域の残りの物理的記憶空間に収容されることが可能であり、
該第1の領域内の該論理的に連続したデータブロックのうちの1つ以上のサイズが増加する場合には、該メモリ制御装置(40)は、該非連続なデータブロックのうちの少なくとも1つを該記憶装置の該第1の領域から第2の領域に再配置することにより、該第1の領域内に利用可能な物理的記憶空間を生み出すように構成されている、データ記憶システム。 - 前記メモリ制御装置(40)は、前記メモリ(12)と前記ユーザインターフェース(18)との間で転送されるデータを圧縮または圧縮解除するように構成されている、請求項1に記載のデータ記憶システム。
- 前記記憶装置が、等しいサイズの複数の領域(14a、14b)に分割され、該等しいサイズの複数の領域(14a、14b)は、前記第1の領域と前記第2の領域とを含み、該第1の領域および該第2の領域のそれぞれは、単一の動作において前記制御装置によって独立してアクセスされることが可能であり、前記バッファメモリ(12)は、該記憶装置の該領域と同一の容量を有している、請求項1または2に記載のデータ記憶システム。
- 前記制御装置(40)は、前記バッファメモリ(12)の全容量の単位で、前記記憶装置(14)にデータを転送し、かつ、該記憶装置(14)からデータを転送するように構成されている、請求項1から3のいずれか一項に記載のデータ記憶システム。
- 前記データ記憶システムは、複数の記憶装置(10)を備え、該複数の記憶装置(10)のそれぞれは、前記バッファメモリ(12)へのデータ転送を実行し、または、該バッファメモリ(12)からのデータ転送を実行するように構成されている、請求項1から4のいずれか一項に記載のデータ記憶システム。
- 前記データ記憶システムは、複数のバッファメモリ(12a、12b)を備え、該複数のバッファメモリ(12a、12b)のそれぞれは、前記記憶装置または前記複数の記憶装置(10)の別の領域からのデータを用いてロードされるように構成されている、請求項1から5のいずれか一項に記載のデータ記憶システム。
- 前記非連続なデータブロックは、前記第2の領域内の利用可能な物理的記憶空間を埋めるように、前記第1の領域から該第2の領域に再配置可能であり、このことは、該第2の領域に永久に常駐する1つ以上の論理的に連続したデータブロックの物理的なサイズが変更した結果として生じる、請求項1から6のいずれか一項に記載のデータ記憶システム。
- 複数の領域間で非連続なデータブロックを再配置することは、1つのバッファメモリから別のバッファメモリに該データブロックを転送することによって達成される、請求項6に記載のデータ記憶システム。
- 前記バッファメモリ(12)は、前記記憶装置(14)の複数の領域間で再配置されるべきすべてのデータブロックのソースまたは宛先として指定されている、請求項1から8のいずれか一項に記載のデータ記憶システム。
- 前記記憶装置の前記第1の領域に永久に常駐する前記所定の数の論理的に連続したデータブロックの論理ページアドレスは、該記憶装置の該第1の領域の順次アドレスと直接的な対応を有している、請求項1から9のいずれか一項に記載のデータ記憶システム。
- 領域内に永久に常駐しないデータブロックの論理アドレスは、ルックアップテーブルを用いて、前記制御装置(40)によって領域内の論理アドレスに変換される、請求項1から10のいずれか一項に記載のデータ記憶システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9606927.3 | 1996-04-02 | ||
GBGB9606927.3A GB9606927D0 (en) | 1996-04-02 | 1996-04-02 | Data storage devices |
PCT/GB1997/000935 WO1997037297A1 (en) | 1996-04-02 | 1997-04-02 | Data storage devices |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004058284A Division JP2004240985A (ja) | 1996-04-02 | 2004-03-02 | データ記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000512041A JP2000512041A (ja) | 2000-09-12 |
JP3852954B2 true JP3852954B2 (ja) | 2006-12-06 |
Family
ID=10791469
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP53506297A Expired - Lifetime JP3852954B2 (ja) | 1996-04-02 | 1997-04-02 | データ記憶装置 |
JP2004058284A Withdrawn JP2004240985A (ja) | 1996-04-02 | 2004-03-02 | データ記憶装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004058284A Withdrawn JP2004240985A (ja) | 1996-04-02 | 2004-03-02 | データ記憶装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6467021B1 (ja) |
EP (1) | EP0891580B1 (ja) |
JP (2) | JP3852954B2 (ja) |
KR (1) | KR20000005206A (ja) |
DE (1) | DE69703538D1 (ja) |
GB (1) | GB9606927D0 (ja) |
WO (1) | WO1997037297A1 (ja) |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728851B1 (en) * | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US8171203B2 (en) | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US6978342B1 (en) | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
JP3629216B2 (ja) | 2001-03-08 | 2005-03-16 | 株式会社東芝 | デフラグメンテーション機能を有するディスク記憶システム、及び同システムにおけるデフラグメンテーション方法 |
EP1251460A1 (en) * | 2001-04-19 | 2002-10-23 | TELEFONAKTIEBOLAGET L M ERICSSON (publ) | Adaptive method for allocation of random access memory |
WO2002086817A1 (en) * | 2001-04-19 | 2002-10-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive memory allocation |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
GB0123421D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
US7231643B1 (en) | 2002-02-22 | 2007-06-12 | Lexar Media, Inc. | Image rescue system including direct communication between an application program and a device driver |
US20030172229A1 (en) * | 2002-03-08 | 2003-09-11 | Takasugi Robin Alexis | Systems and methods for detecting and compensating for runt block data transfers |
US7512616B2 (en) * | 2003-11-20 | 2009-03-31 | International Business Machines Corporation | Apparatus, system, and method for communicating a binary code image |
US7499929B2 (en) * | 2004-03-22 | 2009-03-03 | Microsoft Corporation | Computing device with relatively limited storage space and operating/file system thereof |
US8069192B2 (en) * | 2004-03-22 | 2011-11-29 | Microsoft Corporation | Computing device with relatively limited storage space and operating / file system thereof |
US7647358B2 (en) * | 2004-03-22 | 2010-01-12 | Microsoft Corporation | Computing device with relatively limited storage space and operating/file system thereof |
EP1585024B1 (en) * | 2004-04-08 | 2007-10-10 | STMicroelectronics Pvt. Ltd. | An improved on-chip storage memory for storing variable data bits |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
US7464306B1 (en) | 2004-08-27 | 2008-12-09 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
US7594063B1 (en) | 2004-08-27 | 2009-09-22 | Lexar Media, Inc. | Storage capacity status |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US20060184718A1 (en) | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US20060184719A1 (en) | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US7620772B1 (en) | 2005-05-05 | 2009-11-17 | Seagate Technology, Llc | Methods and structure for dynamic data density in a dynamically mapped mass storage device |
US7653847B1 (en) | 2005-05-05 | 2010-01-26 | Seagate Technology Llc | Methods and structure for field flawscan in a dynamically mapped mass storage device |
US7603530B1 (en) | 2005-05-05 | 2009-10-13 | Seagate Technology Llc | Methods and structure for dynamic multiple indirections in a dynamically mapped mass storage device |
US7916421B1 (en) | 2005-05-05 | 2011-03-29 | Seagate Technology Llc | Methods and structure for recovery of write fault errors in a dynamically mapped mass storage device |
US7617358B1 (en) | 2005-05-05 | 2009-11-10 | Seagate Technology, Llc | Methods and structure for writing lead-in sequences for head stability in a dynamically mapped mass storage device |
US7752491B1 (en) * | 2005-05-05 | 2010-07-06 | Seagate Technology Llc | Methods and structure for on-the-fly head depopulation in a dynamically mapped mass storage device |
US7685360B1 (en) | 2005-05-05 | 2010-03-23 | Seagate Technology Llc | Methods and structure for dynamic appended metadata in a dynamically mapped mass storage device |
US8959125B2 (en) | 2005-07-01 | 2015-02-17 | 226008 Ontario Inc. | File system having inverted hierarchical structure |
US7873683B2 (en) | 2005-07-01 | 2011-01-18 | Qnx Software Systems Gmbh & Co. Kg | File system having transaction record coalescing |
US7809777B2 (en) * | 2005-07-01 | 2010-10-05 | Qnx Software Systems Gmbh & Co. Kg | File system having deferred verification of data integrity |
US7970803B2 (en) | 2005-07-01 | 2011-06-28 | Qnx Software Systems Gmbh & Co. Kg | Optimized startup verification of file system integrity |
US7627733B2 (en) | 2005-08-03 | 2009-12-01 | Sandisk Corporation | Method and system for dual mode access for storage devices |
US7558906B2 (en) | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
US7669003B2 (en) | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US7480766B2 (en) * | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7949845B2 (en) | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7552271B2 (en) | 2005-08-03 | 2009-06-23 | Sandisk Corporation | Nonvolatile memory with block management |
US7529905B2 (en) * | 2005-10-13 | 2009-05-05 | Sandisk Corporation | Method of storing transformed units of data in a memory system having fixed sized storage blocks |
US7814262B2 (en) * | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
US7877540B2 (en) * | 2005-12-13 | 2011-01-25 | Sandisk Corporation | Logically-addressed file storage methods |
US7769978B2 (en) | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7793068B2 (en) | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US8566503B2 (en) * | 2006-08-25 | 2013-10-22 | Qnx Software Systems Limited | Multimedia filesystem having unified representation of content on diverse multimedia devices |
US7599972B2 (en) * | 2006-08-25 | 2009-10-06 | Qnx Software Systems Gmbh & Co. Kg | File system having variable logical storage block size |
US7908276B2 (en) * | 2006-08-25 | 2011-03-15 | Qnx Software Systems Gmbh & Co. Kg | Filesystem having a filename cache |
IL187041A0 (en) * | 2007-10-30 | 2008-02-09 | Sandisk Il Ltd | Optimized hierarchical integrity protection for stored data |
JP2010015197A (ja) * | 2008-06-30 | 2010-01-21 | Toshiba Corp | ストレージ制御装置、データ復元装置およびストレージシステム |
US8650162B1 (en) * | 2009-03-31 | 2014-02-11 | Symantec Corporation | Method and apparatus for integrating data duplication with block level incremental data backup |
US9047921B2 (en) * | 2009-11-19 | 2015-06-02 | HGST Netherlands B.V. | Adjusting recording density in a circumferential direction |
KR20110113420A (ko) * | 2010-04-09 | 2011-10-17 | 삼성전자주식회사 | 저장 매체에 데이터를 저장하는 방법, 그를 이용한 데이터 저장 장치, 및 그것을 포함한 시스템 |
US8533427B2 (en) * | 2010-05-06 | 2013-09-10 | International Business Machines Corporation | Mapping locations of logical volume records on a physical stacked volume |
US9336149B2 (en) | 2010-05-06 | 2016-05-10 | International Business Machines Corporation | Partial volume access in a physical stacked volume |
US8656094B2 (en) * | 2010-05-06 | 2014-02-18 | International Business Machines Corporation | Locating host data records on a physical stacked volume |
US9442806B1 (en) | 2010-11-30 | 2016-09-13 | Veritas Technologies Llc | Block-level deduplication |
JPWO2012124117A1 (ja) * | 2011-03-17 | 2014-07-17 | 富士通株式会社 | タイミングエラー除去方法、設計支援装置、及びプログラム |
US20150015913A1 (en) * | 2012-01-10 | 2015-01-15 | Kyocera Document Solutions Inc. | Image processing apparatus and image forming apparatus |
JP5818740B2 (ja) | 2012-04-17 | 2015-11-18 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | テキストデータストリームに含まれるアイテムの中から出現頻度の高いアイテムを特定する方法、装置及びコンピュータプログラム |
BR112016024412B1 (pt) | 2014-04-22 | 2022-10-18 | Huawei Technologies Co., Ltd | Método de gerenciamento de arquivos e sistema de arquivos |
US9710199B2 (en) | 2014-11-07 | 2017-07-18 | International Business Machines Corporation | Non-volatile memory data storage with low read amplification |
US10162700B2 (en) | 2014-12-23 | 2018-12-25 | International Business Machines Corporation | Workload-adaptive data packing algorithm |
US9712190B2 (en) | 2015-09-24 | 2017-07-18 | International Business Machines Corporation | Data packing for compression-enabled storage systems |
US9870285B2 (en) | 2015-11-18 | 2018-01-16 | International Business Machines Corporation | Selectively de-straddling data pages in non-volatile memory |
US10241811B2 (en) | 2016-11-23 | 2019-03-26 | Significs And Elements, Llc | Systems and methods for automatic data management for an asynchronous task-based runtime |
CN113254392B (zh) * | 2021-07-12 | 2022-06-14 | 深圳比特微电子科技有限公司 | 用于片上系统的数据存储方法和基于片上系统的设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4467421A (en) * | 1979-10-18 | 1984-08-21 | Storage Technology Corporation | Virtual storage system and method |
US5247646A (en) | 1986-05-15 | 1993-09-21 | Aquidneck Systems International, Inc. | Compressed data optical disk storage system |
US5247638A (en) * | 1990-06-18 | 1993-09-21 | Storage Technology Corporation | Apparatus for compressing data in a dynamically mapped virtual data storage subsystem |
US5193184A (en) * | 1990-06-18 | 1993-03-09 | Storage Technology Corporation | Deleted data file space release system for a dynamically mapped virtual data storage subsystem |
US5574952A (en) * | 1994-05-11 | 1996-11-12 | International Business Machines Corporation | Data storage system and method for operating a disk controller including allocating disk space for compressed data |
JP3426385B2 (ja) * | 1995-03-09 | 2003-07-14 | 富士通株式会社 | ディスク制御装置 |
US6000009A (en) * | 1997-05-06 | 1999-12-07 | International Business Machines Corporation | Method and apparatus for allocation of disk memory space for compressed data records |
-
1996
- 1996-04-02 GB GBGB9606927.3A patent/GB9606927D0/en active Pending
-
1997
- 1997-04-02 DE DE69703538T patent/DE69703538D1/de not_active Expired - Lifetime
- 1997-04-02 JP JP53506297A patent/JP3852954B2/ja not_active Expired - Lifetime
- 1997-04-02 EP EP97915585A patent/EP0891580B1/en not_active Expired - Lifetime
- 1997-04-02 KR KR1019980707884A patent/KR20000005206A/ko not_active Application Discontinuation
- 1997-04-02 WO PCT/GB1997/000935 patent/WO1997037297A1/en not_active Application Discontinuation
-
1998
- 1998-10-01 US US09/164,344 patent/US6467021B1/en not_active Expired - Lifetime
-
2004
- 2004-03-02 JP JP2004058284A patent/JP2004240985A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
DE69703538D1 (de) | 2000-12-21 |
EP0891580A1 (en) | 1999-01-20 |
EP0891580B1 (en) | 2000-11-15 |
JP2000512041A (ja) | 2000-09-12 |
GB9606927D0 (en) | 1996-06-05 |
US6467021B1 (en) | 2002-10-15 |
WO1997037297A1 (en) | 1997-10-09 |
KR20000005206A (ko) | 2000-01-25 |
JP2004240985A (ja) | 2004-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3852954B2 (ja) | データ記憶装置 | |
US6360300B1 (en) | System and method for storing compressed and uncompressed data on a hard disk drive | |
US6449689B1 (en) | System and method for efficiently storing compressed data on a hard disk drive | |
US6941420B2 (en) | Log-structure array | |
US7634624B2 (en) | Memory system for data storage and retrieval | |
US6233648B1 (en) | Disk storage system and data update method used therefor | |
US6202138B1 (en) | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices | |
US7424593B2 (en) | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices | |
US5394534A (en) | Data compression/decompression and storage of compressed and uncompressed data on a same removable data storage medium | |
US5454103A (en) | Method and apparatus for file storage allocation for secondary storage using large and small file blocks | |
US6349372B1 (en) | Virtual uncompressed cache for compressed main memory | |
US4476526A (en) | Cache buffered memory subsystem | |
US6542960B1 (en) | System and method for parity caching based on stripe locking in raid data storage | |
US5276840A (en) | Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation | |
US5627783A (en) | Semiconductor disk device | |
US7924635B2 (en) | Hybrid solid-state memory system having volatile and non-volatile memory | |
KR100216146B1 (ko) | 직접 액세스 저장장치의 데이터 압축 방법 및 압축 데이터 구조 | |
US5864568A (en) | Semiconductor memory device for mass storage block access applications | |
JP2804115B2 (ja) | ディスクファイルシステム | |
US4974197A (en) | Batching data objects for recording on optical disks with maximum object count | |
US5644791A (en) | System for storing pointers to initial sectors of variable length n units and storing second pointers within the initial sector of the n unit | |
US5420983A (en) | Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data | |
JP2003186624A (ja) | ディスクアレイ装置及び同装置におけるデータ更新方法 | |
JPS59114658A (ja) | デ−タ記憶空間の管理方法 | |
US6532513B1 (en) | Information recording and reproduction apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20031120 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20031118 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040223 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040223 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051108 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060328 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060628 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060815 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060905 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100915 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100915 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110915 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120915 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130915 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |