JP2000512041A - データ記憶装置 - Google Patents

データ記憶装置

Info

Publication number
JP2000512041A
JP2000512041A JP09535062A JP53506297A JP2000512041A JP 2000512041 A JP2000512041 A JP 2000512041A JP 09535062 A JP09535062 A JP 09535062A JP 53506297 A JP53506297 A JP 53506297A JP 2000512041 A JP2000512041 A JP 2000512041A
Authority
JP
Japan
Prior art keywords
data
memory
area
storage
storage system
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.)
Granted
Application number
JP09535062A
Other languages
English (en)
Other versions
JP3852954B2 (ja
Inventor
シンクレア,アラン・ウエルシユ
Original Assignee
メモリー・コーポレーシヨン・ピー・エル・シー
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by メモリー・コーポレーシヨン・ピー・エル・シー filed Critical メモリー・コーポレーシヨン・ピー・エル・シー
Publication of JP2000512041A publication Critical patent/JP2000512041A/ja
Application granted granted Critical
Publication of JP3852954B2 publication Critical patent/JP3852954B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 記憶装置(10)と、メモリ(12)と、ユーザインタフェース(32)と、メモリ制御装置(24)とを含み、メモリがユーザインタフェースと記憶装置の間で転送された全てのデータをバッファリングするために使用されるデータ記憶システムであって、メモリ制御装置が、記憶装置とメモリの間で直接データをコピーし、メモリとユーザインタフェースの間でデータが転送されたときにデータを再編成することを特徴とするシステム。

Description

【発明の詳細な説明】 データ記憶装置 本発明はデータ記憶装置に関する。これは、データの変換または圧縮技術を使 用することによって生じる可能性のある様々なブロックサイズでデータを記憶す ることができるシステムに特に適用される。 データ圧縮技術は、データ記憶システムに二つの主な利益を提供することがで きる。データ記憶装置の有効容量は、その装置に記憶すべきデータのボリューム が、その記憶システムに転送されるデータおよびその記憶システムから転送され るデータの論理ボリュームより小さいので、その物理的容量を超えて増大するこ とができる。このデータの物理的ボリュームの減少により、記憶装置に出し入れ するデータ転送時間が有効に短縮される。記憶装置の動作が比較的低速である場 合、例えば磁気ディスクでは、これは特に有利である。 PCT特許出願第91/20076号(Storage Technolog y Corporation)には、動的に マップされた仮想メモリシステムを使用して、各データレコードがそのデータに 必要な物理空間のみを占めるようにデータの記憶を可能にする方法が示されてい る。圧縮アルゴリズムは、マルチパス記憶ディレクタを使用して、記憶する前に データを圧縮する。ヌルフィールドは仮想メモリマップにリストされ、物理媒体 には記憶されない。 PCT特許出願第91/20025号(Storage Technolog y 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および内部コピーバス3 8によって、二つの高速メモリ12の間で直接転送することもできる。メモリ記 憶マネージャ24は、高速メモリ12中のデータの編成および記憶を制御し、デ ータ圧縮器26を通るデータフローを制御し、高速メモリ12へのデータ転送お よびこれからのデータ転送を制御し、領域 14内のデータの論理から物理へのアドレス変換を実行する。大域記憶マネージ ャ40は、入出力チャネル18上の動作を制御し、ディスクキャッシングアルゴ リズムを実施し、大容量記憶装置上の領域14へのデータ転送およびこれからの データ転送をスケジュールおよび制御し、領域14の間でブロックの再配置をス ケジュールし、データブロックについて論理から物理への領域14のアドレス変 換を実行する。 第2図に示すシステムは、高速ディスクキャッシュメモリとして高速メモリ1 2を使用することにより、磁気ディスクをベースとする高性能データ記憶システ ムを提供する。高速キャッシュメモリとディスクメモリの間のデータ転送が、入 出力に必要とされるデータがキャッシュメモリ中に常駐する可能性を高くするよ うにスケジュールされている場合には、キャッシュメモリを使用することにより 、高速データ記憶システムを提供することができることは知られている。圧縮さ れたデータのみが磁気ディスク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は、物理メモリ空間内の任意の領域1 4に位置することができ、また領域14a内のページ化ブロック52のサイズの 変化を収容するために一つの領域14aから別の領域14bに再配置することも できる。 ルックアップテーブル54は、未ページ化ブロック52についての論理ブロッ ク数を、それが位置する論理領域の数に変換するために使用される。ルックアッ プテーブル54は、高速メモリの特殊な領域に記憶することができる。高速メモ リの内容(ルックアップテーブル)は、高速メモリ12の内容の領域14への転 送と同様の方法で、磁気ディスク10の対応する領域にコピーされる。 領域14の間での未ページ化ブロック52の再配置は、未ページ化ブロック5 2を、内部コピーバス38を介して一つの高速メモリ12aから別の高速メモリ 12bに転送することによって実施される。一つの高速メモリ12bは、自由物 理メモリ領域を有する領域14を保持するように指定することができ、また全て のブロックの再配置のソースまたは宛先として指定することができる。このよう に、領域14の間でのブロックの再配置は、磁気ディスクドライブへのアクセス を必要としない。 磁気ディスク10のあらゆる領域14中に自由メモリ空間が存在しないときに は、記憶システムは容量が満杯に到達している。これ以上データブロックを書き 込むことはできない。データブロックを削除することによって自由空間が生み出 されるま で、既存データブロックの修正が不可能となることもある。 第5図は、高速メモリ12中に存在するメモリ構造を示す図である。データブ ロック、ならびに高速メモリ12および領域14内の自由メモリ空間は、本特許 明細書の前半に記載したブロックの分散記憶用の配列にしたがって編成される。 ワード60は、物理メモリのアドレス可能な最小の単位であり、メモリ装置の構 造によって決定されるワード長を有することになる。これは通常は16または3 2ビットの長さにすることができる。タイル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の物理メモリ空間内の任意の位置に位置することがで きる。 この配列では任意長さのデータブロックを収容することができるが、タイル1 5個までのブロックサイズでは、タイル8個、4個、2個、および1個のサイズ のグループの可用性が最大の効率を与える。データブロックは、高速メモリ12 に書き込まれるときに、利用可能なグループサイズと等しいサイズの一つまたは 複数のセグメントに区分化される。データは、適当なグループヘッダ情報66と ともに、その時点で自由空間として存在する、別のデータブロックに割り当てら れていないグループの位置に書き込まれる。リンクされた連鎖中の最後のグルー プヘッダ64cは、リンクポインタフィールド74中にブロック論理アドレスを 含み、データのセキュリティと、任意のポイン タまたはヘッダ66が破壊されたときにリンク情報を回復する能力とを提供する 。 第8図に示すように、リンタされたグループ64の同様の連鎖を利用して、高 速メモリ12中の自由空間を管理することができる。分離した自由空間連鎖90 は、各グループサイズごとに維持することができる。開始ポインタ92aは第一 グループ64eのヘッダのアドレスを規定するために使用され、末端ポインタ9 4aは各連鎖の最後のグループ64fのアドレスを規定するために使用される。 これらのポインタ92、94は、グループ64が自由空間連鎖に添付される、ま たはこれから除去されるときに修正される。自由空間連鎖90を規定するポイン タ92、94は、ブロック物理アドレスポインタ80と同様の方法で、高速メモ リ12中の予約位置に記憶することができる。 データ記憶システムが最初に初期化された後で、キャッシュ領域14は、1個 、2個、4個、および8個のタイル62のグループサイズにフォーマットされ、 自由空間連鎖90は、それらと関連づけられたポインタ92、94とともに形成 されなければならない。このフォーマットは、磁気ディスク10中のあらゆる領 域14について同様にすることができ、高速メモリ1 2は同じサイズにすることができる。このフォーマットは、磁気ディスク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に書き込むときには、大域記憶マネージャ4 0は、ブロックが入出力チャネル18から転 送される準備ができたことを領域内制御プロセッサ100に通知し、領域14内 のブロックの論理アドレスについての情報を提供する。この動作は、複数の順次 データブロックについて実行することもできる。領域内制御プロセッサ100は 、転送バス102を介して、制御情報を入出力インタフェース104およびデー タ圧縮器26にロードする。データ圧縮器26は、特定用途向け集積回路(AS IC)にすることができる。次いでデータブロックが、入出力インタフェース1 04およびインタフェースデータバス106を介してブロックバッファ30に転 送される。このブロックバッファ30は、静的ランダムアクセスメモリ(SRA M)にすることができる。 ブロックバッファ30に常駐するデータブロックは未圧縮であり、一定サイズ を有する。ブロックバッファ30は、複数のデータブロックを収容するのに十分 な容量を有することができる。次いでデータブロックは、データ圧縮器26を通 って先入れ先出しメモリ108に転送される。ブロックバッファ30に出入りす る全てのデータ転送は、圧縮器バス110を介してデータ圧縮器26によって制 御される。インタフェースバス106で時分割多重配列を使用する場合には、ブ ロックバッファ3 0に出入りするデータ転送を同時に行うこともできる。データ圧縮器26は、デ ータブロックのサイズを減少させる任意のデータ圧縮配列を実施することができ る。 領域内制御プロセッサ100は、データ圧縮器26から、先入れ先出しメモリ (FIFO)108中に常駐するデータブロックのサイズを通知される。次いで 領域内制御プロセッサ100はブロックをセグメントに区分化し、セグメントを 、高速メモリ12中の自由空間連鎖90中で利用可能なグループ64に割り当て る。グループヘッダアドレスおよびデータ情報、ならびに制御コードは、領域内 制御プロセッサ100からメモリ記憶マネージャ24にロードされる。データは 、メモリ記憶マネージャ24の制御下で、FIFOバス112およびドライバ1 14を介してFIFO108から高速メモリ12に転送される。メモリ記憶マネ ージャブロック24は、特定用途向け集積回路(ASIC)にすることができる 。データを高速メモリ12に書き込む間に、メモリ記憶マネージャ24は、FI FOバス112を介してグループヘッダ66についてのデータを挿入し、管理バ ス116を介して高速メモリ12の全てのアクセスについてのアドレスを制御す る。 高速メモリ12からデータブロックを読み取り、これを入出力チャネル18に 転送する動作は、同様のパターンを逆方向にたどる。 高速メモリ12と、大容量記憶装置として働く磁気ディスク10上の領域14 との間のデータの転送は、メモリドライバ118、FIFOバス112、ディス クインタフェース制御120、およびディスクインタフェースポート122を介 して実施される。高速メモリ12の全データ内容は単一動作で転送され、高速メ モリ12のアドレスのサイクリングはメモリ記憶マネージャ24によって実行さ れる。ディスクインタフェース制御120は、磁気ディスク10のアクセスに必 要な全ての制御機能を実行し、データ転送を磁気ディスク10と両立するように 同期する。磁気ディスク以外の記憶装置を使用するその他の実施形態では、ディ スクインタフェース制御120は、使用する特定の記憶装置専用の制御装置で置 き換えられることになる。転送についての制御パラメータは、領域内制御プロセ ッサ100によってメモリ記憶マネージャ24およびディスクインタフェース1 20にロードされる。 二つの高速メモリ12の間のデータの転送は、メモリドライ バ118、FIFOバス112、ドライバ114、および領域インタフェースポ ート124、ならびに第二の高速メモリ12のための領域内制御構造中のこれら に対応する要素を介して実施される。この経路を介したデータ転送は、通常は単 一の未ページ化データブロック52または未ページ化データブロック52の小さ なセットを再配置するために行われる。 第10図は、メモリ記憶マネージャ24の構造を示す図である。記憶マネージ ャポート126は、FIFOバスインタフェース128を介したメモリ記憶マネ ージャ24とFIFOバス112の間の通信を実現する。転送ポート130は、 転送バスインタフェース132を介したメモリ記憶マネージャ24と転送バス1 02の間の通信を実現する。 メモリ記憶マネージャ24の内部では、内部データバス134はデータバスと して働き、内部プロセッサバス136はプロセッサバスとして働く。管理バス1 16は、高速メモリ12についてのアドレスおよび制御信号を供給する。ヘッダ 書込みレジスタ138は、内部データバス134を介してグループヘッダ66と して書き込まれる一つまたは複数のグループヘッダ66が領域内制御プロセッサ 100からロードされるレジスタの バンクを含む。ヘッダ読取りレジスタ140は、内部データバス134上のデー タから抽出された一つまたは複数のグループヘッダ66が後に領域内制御プロセ ッサ100によって読み取られるためにその中に記憶される、レジスタのバンク を含む。アドレスレジスタ142は、内部プロセッサバス136または内部デー タバス134のいずれかから一つまたは複数のアドレスがロードされるレジスタ のバンクを含む。マルチプレクサ144は、アドレスレジスタのロードのための ソースを制御する。アドレスレジスタ142からのアドレスはアドレスカウンタ 146にロードされ、メモリアクセスの開始点を規定する。グループの読取りま たは書込み動作と同様に、メモリアクセスが順次ワードアドレスのストリングを 含む場合には、アドレスカウンタ146はアドレスシーケンスを生成する。制御 ブロック148は、領域内制御プロセッサ100の指示の下で、全ての動作につ いての制御信号を生成する。ECC論理ブロック150は、各グループ64また はデータブロックに添付することができる誤り検査コード(ECC)を生成およ び検査する。

Claims (1)

  1. 【特許請求の範囲】 1.記憶装置(14)と、バッファメモリ(12)と、ユーザインタフェース( 18)と、メモリ制御装置(40)とを含み、メモリが、ユーザインタフェース と記憶装置の間で転送された全てのデータをバッファリングするために使用され るデータ記憶システムであって、メモリ制御装置(40)が、記憶装置(14) とメモリ(12)の間で転送するためにデータを直接コピーし、メモリ(12) とユーザインタフェース(18)の間でデータが転送されたときにデータを再編 成するように構成されていることを特徴とするシステム。 2.記憶装置が、単一動作で好都合にアクセスすることができる等しいサイズの 領域(14a、14b)に分割され、バッファメモリ(12)が記憶装置の領域 と等しい容量を有することを特徴とする請求の範囲第1項に記載のデータ記憶シ ステム。 3.前記データ制御装置(40)が、メモリの全容量の単位で記憶装置(14) にデータを転送する、また記憶装置(14)からデータを転送するように構成さ れていることを特徴とする請求の範囲第1項または第2項に記載のデータ記憶シ ステム。 4.それぞれがメモリ(12a、12b)へのデータ転送またはこれからのデー タ転送を実行するように構成された複数の記憶装置(10)を含むことを特徴と する請求の範囲第1項、第2項または第3項に記載のデータ記憶システム。 5.それぞれが前記一つまたは複数の記憶装置(10)の別々の領域からデータ をロードされるように構成された複数のメモリを含むことを特徴とする請求の範 囲第1項から第4項のいずれか一項に記載のデータ記憶システム。 6.記憶装置の領域が、その領域中に永久に常駐する所定数の論理的に連続的な データブロックと、前記領域の利用可能な物理記憶空間に好都合に収容すること ができるだけの非連続的なデータブロックとを含むことを特徴とする請求の範囲 第1項から第5項のいずれか一項に記載のデータ記憶システム。 7.永久に第一領域に常駐する一つまたは複数の論理的に連続的なデータブロッ クのサイズか増加する場合に、非連続的なデータブロックを第一領域から第二領 域に再配置し、物理記憶空間を生み出すことを特徴とする請求の範囲第1項から 第6項のいずれか一項に記載のデータ記憶システム。 8.非連続的なデータブロックを第一領域から第二領域に再配 置可能であり、それにより永久に第二領域に常駐する一つまたは複数の論理的に 連続的なデータブロックの物理的サイズの変化によって生じた物理記憶空間を満 たすことを特徴とする請求の範囲第7項に記載のデータ記憶システム。 9.領域間での非連続的なデータブロックの再配置が、一つのメモリから別のメ モリへのブロックの転送によって実施されることを特徴とする請求の範囲第6項 から第8項のいずれか一項に記載のデータ記憶システム。 10.メモリが、領域間で再配置される全てのデータブロックのソースまたは宛 先として指定されることを特徴とする請求の範囲第5項から第9項のいずれか一 項に記載のデータ記憶システム。 11.ある領域に永久に常駐する所定数の論理的に連続的なデータブロックの論 理ページアドレスが、記憶装置内の領域の順次アドレスとの直接の対応を有する ことを特徴とする請求の範囲第6項から第10項のいずれか一項に記載のデータ 記憶システム。 12.ある領域に永久には常駐しないデータブロックの論理アドレスが、ルック アップテーブルによつて、ある領域内の論理 アドレスに変換されることを特徴とする請求の範囲第6項から第11項のいずれ か一項に記載のデータ記憶システム。
JP53506297A 1996-04-02 1997-04-02 データ記憶装置 Expired - Lifetime JP3852954B2 (ja)

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 true JP2000512041A (ja) 2000-09-12
JP3852954B2 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
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
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
GB0123421D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Power management system
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
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
US7647358B2 (en) * 2004-03-22 2010-01-12 Microsoft Corporation Computing device with relatively limited storage space and operating/file system thereof
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
DE602005002774D1 (de) * 2004-04-08 2007-11-22 St Microelectronics Pvt Ltd Ein verbesserter on-chip Speicher zur Speicherung von variablen Datenbits
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
US7594063B1 (en) 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
US7464306B1 (en) 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
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
US20060184719A1 (en) 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US20060184718A1 (en) 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
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
US7653847B1 (en) 2005-05-05 2010-01-26 Seagate Technology Llc Methods and structure for field flawscan 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
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
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
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
US7970803B2 (en) 2005-07-01 2011-06-28 Qnx Software Systems Gmbh & Co. Kg Optimized startup verification of file system integrity
US7809777B2 (en) * 2005-07-01 2010-10-05 Qnx Software Systems Gmbh & Co. Kg File system having deferred verification of data integrity
US7873683B2 (en) * 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US8959125B2 (en) 2005-07-01 2015-02-17 226008 Ontario Inc. File system having inverted hierarchical structure
US7558906B2 (en) 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7949845B2 (en) 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7627733B2 (en) 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
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
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
US7669003B2 (en) 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7552271B2 (en) 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
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
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
US7747837B2 (en) 2005-12-21 2010-06-29 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
US7908276B2 (en) 2006-08-25 2011-03-15 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache
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
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 삼성전자주식회사 저장 매체에 데이터를 저장하는 방법, 그를 이용한 데이터 저장 장치, 및 그것을 포함한 시스템
US8656094B2 (en) * 2010-05-06 2014-02-18 International Business Machines Corporation Locating host data records on a physical stacked volume
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
US9442806B1 (en) 2010-11-30 2016-09-13 Veritas Technologies Llc Block-level deduplication
JPWO2012124117A1 (ja) * 2011-03-17 2014-07-17 富士通株式会社 タイミングエラー除去方法、設計支援装置、及びプログラム
CN104170364B (zh) * 2012-01-10 2017-03-15 京瓷办公信息系统株式会社 图像形成装置
JP5818740B2 (ja) 2012-04-17 2015-11-18 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テキストデータストリームに含まれるアイテムの中から出現頻度の高いアイテムを特定する方法、装置及びコンピュータプログラム
CN105264497B (zh) 2014-04-22 2020-04-21 华为技术有限公司 一种文件管理方法及文件系统
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
DE69703538D1 (de) 2000-12-21
GB9606927D0 (en) 1996-06-05
EP0891580A1 (en) 1999-01-20
EP0891580B1 (en) 2000-11-15
JP3852954B2 (ja) 2006-12-06
WO1997037297A1 (en) 1997-10-09
JP2004240985A (ja) 2004-08-26
US6467021B1 (en) 2002-10-15
KR20000005206A (ko) 2000-01-25

Similar Documents

Publication Publication Date Title
JP2000512041A (ja) データ記憶装置
US6349372B1 (en) Virtual uncompressed cache for compressed main memory
JP4155463B2 (ja) 順次書き込みのみを用いるフラッシュ管理システムを有するシステム、及びその方法
US5627783A (en) Semiconductor disk device
US6360300B1 (en) System and method for storing compressed and uncompressed data on a hard disk drive
US5717886A (en) Semiconductor disk device and memory management method
US6401181B1 (en) Dynamic allocation of physical memory space
JP2804115B2 (ja) ディスクファイルシステム
US20080028132A1 (en) Non-volatile storage device, data storage system, and data storage method
US20090313398A1 (en) Method and system for storing memory compressed data onto memory compressed disks
WO2005103903A1 (ja) 不揮発性記憶システム
JP2016026346A (ja) 揮発性メモリおよび不揮発性メモリを有するハイブリッド固体メモリシステム
JP2003186624A (ja) ディスクアレイ装置及び同装置におけるデータ更新方法
KR20130026517A (ko) 저장부 할당 장치, 시스템, 및 방법
WO2006107095A1 (ja) 計算機システム、メモリ管理方法、およびそのプログラム
KR20020092487A (ko) 플래시 메모리 관리방법
US20040088481A1 (en) Using non-volatile memories for disk caching
US6507902B1 (en) Dynamic RAM disk
US7177980B2 (en) Cache storage system and method
KR20070031647A (ko) 플래시 메모리 장치에 압축 데이터를 기록하는 방법 및상기 기록된 데이터를 읽는 방법, 그리고 상기 방법을이용하는 플래시 메모리 장치
WO1998026352A1 (fr) Procede de commande de prelecture de fichiers dans un systeme d'ordinateur
US20040123069A1 (en) Very high speed page operations in indirect accessed memory systems
US6532513B1 (en) Information recording and reproduction apparatus
US20010042185A1 (en) Very high speed page operations in indirect accessed memory systems
JPH07261938A (ja) 記憶制御方法及びそれを用いた圧縮機能付きディスクシステム

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