JP2731703B2 - データの圧縮/伸長と同一の取外し可能データ記憶媒体上への圧縮及び非圧縮データの記憶 - Google Patents

データの圧縮/伸長と同一の取外し可能データ記憶媒体上への圧縮及び非圧縮データの記憶

Info

Publication number
JP2731703B2
JP2731703B2 JP5184806A JP18480693A JP2731703B2 JP 2731703 B2 JP2731703 B2 JP 2731703B2 JP 5184806 A JP5184806 A JP 5184806A JP 18480693 A JP18480693 A JP 18480693A JP 2731703 B2 JP2731703 B2 JP 2731703B2
Authority
JP
Japan
Prior art keywords
data
compressed
block
blocks
data storage
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
Application number
JP5184806A
Other languages
English (en)
Other versions
JPH06168073A (ja
Inventor
ジョン・エドワード・クラコウスキー
ロドニー・ジェローム・ミーンズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06168073A publication Critical patent/JPH06168073A/ja
Application granted granted Critical
Publication of JP2731703B2 publication Critical patent/JP2731703B2/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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0677Optical disk device, e.g. CD-ROM, DVD
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、1つの取外し可能なデ
ータ記憶ボリュームに、圧縮及び伸長データの両者を記
憶できるデータ記憶システム、及びこうしたデータ記憶
システムを用いるデータ処理システムに関する。更に本
発明は、圧縮データの記憶におけるデータ記憶ボリュー
ム上の浪費データ記憶空間を最小化するデータ記憶シス
テムに関する。
【0002】
【従来の技術】データ記憶光ディスクなどの多くのデー
タ記憶媒体は、いわゆる固定ブロック・アーキテクチャ
(FBA)フォーマットを有する。こうしたフォーマッ
トは光ディスクにおいては、ディスクの単一の螺旋状ト
ラックを複数のセクタに、いわゆるハード・セクタ化す
ることにより特徴化される。各セクタは同じデータ記憶
容量、すなわち512バイト、1024バイト、409
6バイトなどを有する。FBAディスクに起因して、及
び元の非圧縮データに対する圧縮データのデータ長の可
変性により、FBAフォーマット化ディスクではイン・
ライン・データ圧縮は用いられてこなかった。データを
アドレス可能なブロックにフォーマット化して圧縮した
結果、生成される可変量の圧縮データを効率的に記憶
し、それに対する単純なランダム・アドレス・アクセス
を可能とすることが望ましい。こうした圧縮データはF
BAフォーマット化ディスク上に記録可能となる。セク
タ・データが数バイトに圧縮されない場合、データはデ
ータ圧縮なしにデータ記憶ディスク上に記憶される。
【0003】また、データ・ブロックの各圧縮グループ
において、ホスト・プロセッサの圧縮データ・ブロック
へのアドレス指定能力を保持することが望まれる。更に
FBA記憶媒体への圧縮データの記憶に際し、たとえ圧
縮データ・ブロックを記憶するために必要なセクタ数が
分からなくても、全ての未使用データ記憶セクタの最大
アドレス指定能力を保持することが望まれる。更に、F
BAフォーマット化記憶媒体に記録される圧縮データ・
ブロックに対するランダム・アドレス指定機能を提供す
ることが望まれる。
【0004】大部分の入力データ・ストリームのデータ
・パターンのランダム性、及び種々の圧縮アルゴリズム
適用後の圧縮データ出力長の多様性により、圧縮データ
を含むために必要な記憶空間を予測することはできな
い。この状況は、ホスト・プロセッサの記憶管理処理を
支援するために、圧縮及び記録されるデータ・ストリー
ムの転送と圧縮処理結果とのリンクを必要とする。
【0005】この環境においては、更新の結果によるデ
ータ・パターンが元のデータ・ブロックと同程度には圧
縮されないために、データ・ファイルの更新機能は、通
常のデータ更新処理(読出し、更新、書戻し)を使用で
きない。従って、更新された圧縮データは、大方、元の
データを記憶するために必要な元の記憶空間に適合しな
い。
【0006】固定ブロック・アーキテクチャ環境では、
データはデータ記憶媒体上においてセクタと称される固
定サイズ単位の記憶領域に記録され、媒体上の各記録ト
ラックは固定数のこうしたセクタを含む。光ディスク装
置におけるアドレス変換は、媒体上のトラック・アドレ
スと特定のトラックにおけるセクタ番号を含む。光媒体
記憶装置上において、各セクタは2つの主要部分を含
み、それらはデバイス制御装置が特定のセクタを物理ア
ドレスにより位置出しするための識別フィールド(I
D)と、データを記憶するためのデータ・フィールドで
ある。ハード・セクタ式光ディスク上のIDの情報内容
は、製造時に媒体上にスタンプ/モールド処理により消
去不能に記録される。他のデータ記憶フォーマットもま
た本発明を実施する上で使用可能であり、これらには例
えば多くの磁気ディスク媒体上で使用される既知のカウ
ント・キー・データ(CKD)フォーマット及び拡張カ
ウント・キー・データ(ECKD)フォーマットなどが
ある。
【0007】既知のスモール・コンピュータ標準インタ
フェース(SCSI)を介してホストに接続されるFB
A装置は、SCSI形式の直接アクセス・データ記憶装
置が固定サイズ単位の記憶領域をアドレスするために使
用する論理ブロック・アドレス(LBA)を、媒体上の
特定の物理アドレス(トラック及びセクタ)に解析する
機能を提供する。SCSI接続されるFBA装置は、ホ
ストにN記憶ロケーション(Nは正の整数)を含む連続
アドレス空間を提供し、この領域は読出し或いは書込み
用に任意の順序でアクセスされる。各LBAディレクト
リ構造(0乃至Nのアドレス範囲)は、SCSI−FB
A環境において、データ・ブロックを記憶及び検索する
ために使用されるアドレス機構である(いくつかのFB
A装置では物理アドレスを用いて記憶空間をアドレスす
る機能も提供する)。
【0008】
【発明が解決しようとする課題】上述のパラグラフより
明らかなように、SCSI−FBA環境においてデータ
圧縮技術を用いた記憶システムを設計するものにとっ
て、主な問題は、入力データ・ストリームにおける固定
サイズ単位のデータ(以降ではデータ・ブロックと称す
る)を様々な大きさの媒体記憶空間に記録し、且つ非占
有記憶空間に対するアドレス指定能力を保持し、更に記
録データ・ブロックに対するアドレス指定能力を提供す
る機構を提供することである。
【0009】今日の多くの光ディスクは取外し可能なタ
イプであるため、取外し可能なデータ記憶媒体におい
て、更に圧縮データ及び非圧縮データに関する自己記述
性を有することが望まれる。
【0010】Vosacek の米国特許出願第4499539
号では、キャッシュ或いはバッファに接続される直接ア
クセス記憶装置(DASD)のアドレス可能トラックに
記憶可能な最大データ・バイト数を記憶するために、多
数のデータ記憶セグメントを含むキャッシュ或いはバッ
ファを最初に割当てる。DASDは磁気ディスク記憶装
置である。このプロトコルは1入力−出力オペレーショ
ン(DASDへの1アクセス)において、DASDデー
タの1トラックをキャッシュ或いはバッファへステージ
或いは転送する。実際のデータ転送の完了に際し、キャ
ッシュ或いはバッファが調査される。最初に割当てられ
た全セグメントよりも少ないセグメントがデータを含む
場合、空状態の割当てられたセグメントが割当て解除さ
れる。同じDASDトラックからのデータを記憶する追
加の割当てセグメントを指示するために、ポインタが最
初に割当てられたセグメントの1つに記録される。この
ようにして、DASDトラックがキャッシュ或いはバッ
ファ内にエミュレートされる。
【0011】米国特許出願SN07/441126号
は、磁気テープ周辺データ記憶システムに関するデータ
短縮システムを示す。テープはアドレス可能なデータ記
憶領域を有さない。全テープは記録の度にフォーマット
化される。磁気テープにおけるフォーマット機能は、様
々なサイズのレコードを、様々なサイズのブロック・デ
ータとして記憶することができる。非圧縮データ及び圧
縮データの記憶は、こうしたデータのアドレス可能ブロ
ックによる。この特許出願は、テープ上に記録される1
ブロック・データ内に複数のレコードを含むことについ
ては示していない。米国特許出願SN07/37274
4号(1989年 6月28日出願)では、複数の小レコードを
各々の記録データ・ブロックに自動的に記憶する磁気テ
ープ・データ記憶システムを示している。各レコードは
個々にアドレス可能である。複数のレコードを1ブロッ
クに結合する目的は、ブロック間ギャップの数を減ら
し、磁気テープの記憶容量を増加することである。
【0012】データ圧縮及び伸長アルゴリズム及びシス
テムについてはよく知られている。MacLean 特許は、高
速データ・チャネルにおいて使用されるイン・ライン
(実時間)データ圧縮/伸長システムを示す。このシス
テムは Langdon、Jr.等による米国特許第446731
7号に示されるアルゴリズムを使用する。バッチ処理
(ソフトウェア)によるデータ圧縮及び伸長についても
よく知られている。PKWARE社(7032 Ardara Avenue、Gl
endale WI 53209 USA )は、数ある圧縮/伸長ソフトウ
ェアの中でも、バッチ圧縮用のソフトウェア・プログラ
ム、PKZIP 、及びバッチ伸長用のソフトウェア・プログ
ラム、PKUNZIP を提供する。別のデータ圧縮/伸長アル
ゴリズムが、バッチ処理(ソフトウェア処理)及びイン
・ライン(ハードウェア集積半導体チップ)処理の両方
において使用されている。既知のLempel Ziv-1データ圧
縮/伸長アルゴリズムは、イン・ライン(実時間)及び
バッチの両方のデータ圧縮/伸長に使用される。Shah
及びJohnsonは回路及びシステムに関する1990IE
EE国際シンポジウム(New Orleans LA USA onMay 1-
3、1990)における論文"DATA COMPRESSOR DECOMPRESSOR
IC" (pp.41-43)において、上述の既知のLempel-Ziv
アルゴリズムを用いる集積回路について述べている。本
発明を実施するにおいて、バッチ及びイン・ラインの両
オペレーションの使用を可能とする圧縮/伸長アルゴリ
ズムが好適である。もちろん、本発明を実施するため
に、バッチ或いはイン・ラインの一方のデータ圧縮/伸
長だけを使用することも可能である。
【0013】データ記憶空間を節約するために、従来、
イメージ或いは"非コード化"データが圧縮及び伸長され
てきた。Reitsma の米国特許第4622585号は1つ
のビデオ圧縮方法を提案するものである。
【0014】本発明の目的は、比較的単純なアクセス機
構を通じ、圧縮データをランダムにアクセスすることを
可能とする、柔軟なデータ圧縮/伸長制御を提供するこ
とである。
【0015】
【課題を解決するための手段】本発明によれば、複数の
アドレス可能なデータ・ブロックを有するデータ・ファ
イルが、こうしたデータ・ブロックの複数のグループに
区分化される。データ・ブロックの各グループは、デー
タの1単位として別々に圧縮及び伸長される。各こうし
たグループは、ホスト・プロセッサとデータ記憶ユニッ
ト、通信リンクなどとの間で、1データ転送単位(DT
U)として別々に転送される。DTUのサイズは、それ
に含まれるデータ・ブロック数に関しては、データ記憶
ユニットのセクタに記憶できるデータ記憶容量(データ
・バイト数)、データ・ファイルの各データ・ブロック
のバイト数、及び他のシステム・パラメータにもとづき
経験的に決定される。データ記憶装置における圧縮形式
における各グループのデータ記憶は、データ記憶システ
ムによりホスト・プロセッサに説明され、これは好適に
は圧縮形式におけるデータ記憶を実行する、ホスト・プ
ロセッサ・コマンドにリンクされるコマンドによる。ホ
スト・プロセッサはデータ・ファイルの各全てのグルー
プの記憶を記述するディレクトリを設立する。データ・
ファイルが圧縮形式により別のシステム或いはホスト・
プロセッサに転送される場合、圧縮データ・ファイル・
ディレクトリは圧縮グループを伴う。圧縮データをデー
タ記憶装置から検索するには、読出したいデータ・ブロ
ックを有するデータ・ブロック・グループを検索する。
データ・ブロックの各圧縮グループは、ホスト・プロセ
ッサとデータ記憶ユニットとの間で、伸長なしで転送可
能である。データ記憶媒体を受信するDTU或いはグル
ープは、それぞれ既知の固定ブロック・アーキテクチャ
(FBA)、カウント・キー・データ(CKD)、拡張
カウント・キー・データ(ECKD)或いはその他のフ
ォーマットによりフォーマットされる。
【0016】
【実施例】図を参照すると、同一番号は様々な図におい
て同一パーツ及び構造的機構を示す。複数のデータ・ブ
ロックを有するデータ・ファイルは、1つ或いはそれ以
上のデータ・ブロックの転送単位に分割される。データ
記憶以前にデータ・ブロックの各転送単位は、圧縮デー
タ・ブロックのグループを生成するために、その固有の
データ圧縮サイクルに投入される。データ転送単位のサ
イズはバイト単位で、圧縮データ・ブロックの個々の記
録グループをアドレス及び検索することが容易なよう
に、且つ良好なチャネル利用及び圧縮効率を提供するよ
うに選択される。またデータ転送単位サイズは、データ
記憶効率にもとづき、すなわち圧縮後のデータの記憶が
いくつかの割当てられたアドレス可能なデータ記憶領域
を充填するように選択される。各グループに割当てられ
る各セクタは、部分的に充填されるそのグループの最後
のセクタを除き、その容量まで充填される。FBAデー
タ記憶ディスクにデータをより効率的に充填するために
は、部分的に充填されるデータ記憶セクタの数を減らす
ことが望まれる。この希望はFBAデータ記憶ディスク
上に記憶される圧縮データ・ブロックに対する効率的な
ランダム・アクセスを可能とすることによりバランスさ
れる。
【0017】圧縮データ・ブロックの各記憶グループ或
いは記録グループは、そのグループが記録されるディス
ク30のセクタの数に関係なく、単一のデータ単位とし
てディスク30からアクセスされる。圧縮データ・ブロ
ックの各グループは別のデータ圧縮オペレーションによ
り圧縮されるため、こうした各グループにおける全ての
データは、最初から、すなわち各グループにおける最初
の圧縮バイトから伸長されなければならない。従って、
任意のグループにおける目的の圧縮データ・ブロックを
ランダムにアクセスする際、各記憶グループの全ての圧
縮データ・ブロックが、ディスク30から単一のディス
ク・レコードとして読出される。単一のディスク・レコ
ードは、所望の或いはアドレスされる圧縮データ・ブロ
ックまで伸長される。所望の圧縮データ・ブロックは次
に処理のために伸長される。圧縮データ・ブロックのグ
ループのサイズを制限することにより、任意の所望の圧
縮データ・ブロックへのより迅速なアクセスが提供でき
る。こうした希望はディスク30のデータ記憶空間の使
用を最大化する希望とバランスされる。圧縮データ・ブ
ロックの容易なサイズ化グループを生成するこれら2つ
のパラメータの管理例が、以降で述べられる。
【0018】別の構成では、各データ・ブロックは別々
に圧縮される。複数のこうした別々に圧縮されたデータ
・ブロックが単一のディスク・レコードに結合される。
別々に圧縮される各データ・ブロックに対応する単一の
ディスク・レコードにおけるバイト位置が、単一のディ
スク・レコード内に記録される。こうしたバイト位置或
いはオフセットにより、グループ内の各圧縮データ・ブ
ロックをアドレスすることが可能となる。
【0019】圧縮データ・ブロックのグループへのアク
セスを容易にするために、ホスト・プロセッサ・プログ
ラムはそのグループと同様、それぞれのグループにおけ
るデータ・ブロックを含むアドレス可能データ記憶領域
を識別するディレクトリを保持する。この識別は好適に
はファイル・ディレクトリ形式を採用し、ホスト・プロ
セッサ11内に保持される。こうしたディレクトリはま
た、圧縮データ・ブロックのグループを含むボリューム
上或いはデータ記憶ディスク上にも記憶される。好適に
はこのディレクトリは、圧縮データ・ブロックの複数の
グループを有する圧縮ファイルの各転送の一部として、
ディスク装置に転送される。この構成はそれぞれのグル
ープ内における圧縮データ・ブロックのアドレス指定を
可能とするディレクトリをFBAディスク上に設立す
る。
【0020】図1はデータ・ファイルの複数のデータ・
ブロックをより小さな圧縮データ・ブロックのグループ
にグループ化することにより、ファイルを記録する方法
を示す。ステップ10はホスト・プロセッサ11(図
2)において実行される。データ・ファイル或いはデー
タ・ファイルの一部が、圧縮データ記憶として識別され
る。データ・ファイルは複数のデータ・ブロックを含
む。用語 ^データ・ブロック^ はデータ・レコード(コ
ード化データ)、サブファイル構造、個々のイメージ、
グラフ、図面及び他の形式のグラフィックス、グラフィ
ックス(非コード化データ)とテキスト(コード化デー
タ)の結合などを含む。後に詳述されるように、データ
・ファイルは、記憶ユニットに或いは通信リンクを介し
てデータ転送単位(DTU)として転送されるように、
また圧縮データ・ブロックの記録グループに対するラン
ダム・アクセス機能を保持するために、データ・ブロッ
クの容易なサイズ化グループに分割される。各DTU及
び結果として生じる記録グループのサイズは、後に明ら
かにされるように種々の変数に依存する。ステップ10
の実行の完了の結果、圧縮及び記憶のために選択される
こうしたデータ・ブロックのグループが生成される。
【0021】ステップ13はホスト・プロセッサ11
(図2)により実行される。データ・ブロックのDTU
における非圧縮データ・バイト数(データ・ブロック数
と各データ・ブロック内のバイト数との積)が、1アド
レス可能データ記憶領域(FBAフォーマット化ディス
クのセクタ)のデータ記憶容量により分割され、その積
が少数部分を含む場合には、次に大きな整数に丸められ
る。この数値はデータを記憶するために必要となるアド
レス可能データ記憶領域の最大数を表す。すなわち、非
圧縮状態か、或いは記憶の目的でデータがより少ないバ
イトに圧縮されない場合に相当する。この時点では、圧
縮後のデータ・ブロックのグループを記憶するために、
幾つのアドレス可能データ記憶領域が必要かは認識され
ていない。データ・ブロックのグループをデータ記憶媒
体(実施例では光ディスク30が使用される)に記憶す
ることを保証するために、圧縮データ・ブロックのグル
ープ全体を記憶するために十分なアドレス可能データ記
憶領域が、そのデータ・ブロックのグループを非圧縮形
式で記憶するものとして、最初に決定される。
【0022】ステップ15はホスト・プロセッサ11及
びデータ記憶システム12の両者により実行される。デ
ータ・ブロックの選択されたDTUが、ホスト・プロセ
ッサによりデータ記憶システムに転送される。データ・
ブロックの選択DTUのデータは、データ記憶媒体30
(図4)上に記憶される以前に圧縮される。このために
いくつかの方法が使用される。図1に示される方法で
は、データ記憶システムに最大数のアドレス可能データ
記憶領域を割当てるように要求する。次にデータ転送が
発生し、データ記憶システムに対し、データがデータ記
憶媒体30(図4)上に記録される直前に、データ・ブ
ロックの選択DTUを圧縮するように要求する。圧縮及
びデータ記憶、或いは1つの連続体データとしての記録
の完了時に、データ記憶システム12はデータ・ブロッ
クの圧縮グループを記憶するために実際に使用されるア
ドレス可能データ記憶領域の数を決定する。未使用状態
の割当てられたデータ記憶領域が次に割当て解除され
る。特定のデータ・ブロックが元の或いは非圧縮データ
よりも大きいバイト数に圧縮される場合は、後に明らか
となるように、データ圧縮ステップが使用されない。ど
のデータが圧縮されており、どのデータが圧縮されてい
ないかを示す制御データが、FBAディスク上に記録さ
れる。こうした制御データは、データをデータ記憶(F
BA)ディスクから検索するときに使用される。これに
ついても後に示される。本明細書において後に詳述され
るように、ステップ16において、データ記憶システム
12は圧縮データ・ブロックの丁度記録されたばかりの
グループの記憶ロケーションをホスト・プロセッサ11
に送信する。そしてこの記憶ロケーションは、そのデー
タ・ブロックの記録グループがメンバとして含まれるデ
ータ・ファイルのディレクトリに記述される。
【0023】第2の方法では、データ圧縮/伸長がホス
ト・プロセッサ11において実行される。ホスト・プロ
セッサ11はソフトウェア或いはハードウェアによるデ
ータ圧縮機構を含み、データ・ブロックの圧縮された選
択グループを記憶のためにデータ記憶システム12に送
信する。この例では、バッチ圧縮が使用される場合、ホ
スト・プロセッサがデータ・ブロックの圧縮グループを
記憶するために必要なアドレス可能なデータ記憶領域の
数を決定する。ホスト・プロセッサ11は次に、要求さ
れるアドレス可能なデータ記憶領域の数をその割当ての
ためにデータ記憶システム12に送信し、その直後に圧
縮データがデータ記憶システムに転送される。
【0024】第3の方法では、データ・ブロックの非圧
縮グループが、ホスト・プロセッサ11により、データ
記憶システム12に2度転送される。1度目の転送によ
り、データ記憶システム12は、圧縮データを記憶する
ために必要なアドレス可能なデータ記憶領域の数を正確
に測定する。1度目の転送において、データは圧縮され
るが記録はされない。圧縮データのデータ記憶範囲(セ
クタ或いはアドレス可能領域の数)を決定するために、
圧縮データ・バイト数がカウントされる。データ記憶シ
ステム12は、次に圧縮データを受信及び記憶するため
に必要な連続セクタの数を割当てる。同じデータのデー
タ記憶システム12への2度目の転送において、圧縮デ
ータがデータ記憶媒体に圧縮され記憶される。
【0025】上述の各方法において、圧縮ファイルにお
けるバイト数が非圧縮データのバイト数よりも大きい場
合、データは非圧縮形式で記録される。更に、圧縮デー
タ・ブロックのグループの更新時に、圧縮データのバイ
ト数が現行割当てられるセクタの容量を越える可能性が
ある。図16に関連して後述されるように、更新される
DTUを記憶するために、セクタの割当ての変更が必要
となる。
【0026】また、上述の各方法において、各DTUか
ら圧縮され記憶されるデータ・ブロックは、好適には1
つのグループとして圧縮され記憶される。すなわち、各
DTUにおける全てのデータ・ブロックは、1データ圧
縮サイクル中に圧縮され、圧縮データ・ブロックの1つ
のグループが生成される。別のデータ圧縮アプローチで
は、各々のデータ・ブロックがそれぞれのDTUに個々
に圧縮される。この場合、圧縮データ・ブロックのグル
ープは、複数の個々に圧縮されたデータ・ブロックを含
む。この別のデータ圧縮では、各グループにおけるヘッ
ダにより、個々に圧縮されるデータ・ブロックの各グル
ープにおけるバイト・オフセットが識別される。こうし
た個々に圧縮されるデータ・ブロックは、データ記録デ
ィスク上においても、違法記録コード文字により識別さ
れる。こうした文字は種々のデータ記録コードとして知
られている。
【0027】ホスト・プロセッサ11はステップ19に
おいて、圧縮データ・ブロックの全ての記録グループ
を、後述するファイル・ディレクトリを介して論理的に
関連づける。上述の第1の方法を使用する場合、圧縮デ
ータの記憶に際し、データ記憶システム12はホスト・
プロセッサ11に対し、圧縮データを記憶するために使
用される実際のセクタ数、更にアドレス及び識別データ
を報告する。これらについては後述される。
【0028】ステップ20において、ホスト・プロセッ
サ11は圧縮及び記録される全てのデータが既に記録さ
れたかを判断する。圧縮データ・ブロックの記録グルー
プに関する詳細(ステップ19参照)が、既に後述のフ
ァイル・ディレクトリ(図8)に入力されている。上述
の全てのマシン・オペレーションが完了すると、オペレ
ーションは"完了"となり、本説明に関係しない他のマシ
ン・オペレーションに移行することが可能となる。完了
していない場合は、全てのデータが圧縮され記録される
まで、ステップ10乃至19が上述のように繰返され
る。ここで他のマシン・オペレーションが、ホスト・プ
ロセッサ11により、マルチタスク或いは割込みによる
データ処理環境において実行され、その間にステップ1
0乃至19がデータ処理技術において既知のように実行
されてもよい。
【0029】図2はデータ処理システムを単純な形式で
示したものである。ホスト・プロセッサ11はデータ記
憶システム12に接続される。データ記憶システム12
は周辺制御装置20を含み、これはホスト・プロセッサ
11をデータ記憶装置21に接続する。装置21は本発
明の一実施例では、取外し可能な光磁気データ記憶媒体
或いは単一の媒体(ディスク)に作用する光磁気データ
記憶装置である。本明細書において後に使用されるよう
に、用語^プログラム式マシン^はホスト・プロセッサ1
1、周辺制御装置20、及びデータ記憶装置21のプロ
グラム部分を含む。圧縮/伸長機構は好適にはプログラ
ム式マシンに含まれる。イン・ライン圧縮/伸長におい
ては、圧縮/伸長が周辺制御装置20において実行され
ることが好適である。図15に関連して後述されるよう
に、圧縮/伸長機構のロケーションは、プログラム式マ
シンのどこかに存在する。バッチ圧縮/伸長において
は、圧縮/伸長をホスト・プロセッサ11内に配置する
ことが好適である。
【0030】図3は光磁気ディスク・データ記憶システ
ムにおいて、光ディスクのセクタをアドレスするために
使用される論理ブロック・アドレス(LBA)構造23
を表す。LBA23は本発明を実施する上での利点を完
全に実現する論理−実アドレス変換機構である。このセ
クタ・アドレス指定は、今日多くの光ディスク・データ
記憶装置において使用される論理アドレス指定にもとづ
く。接続されるホスト・プロセッサ11は、LBA23
に含まれる論理ブロック・アドレスを使用することによ
り、ディスク30(図4)上のデータをアドレスする。
LBA23は例えばセクタなどの、どのアドレス可能物
理データ記憶領域が、それぞれのLBAアドレスにより
アドレスされるかを決定する。別のアドレス指定構成で
は、ホスト・プロセッサ11が名前付きファイルへのア
クセスを要求する。この別のアドレス指定構成では、ホ
スト・プロセッサ11はデータ・オペレーションを開始
するファイル内におけるバイト・ロケーション、及びデ
ータ・オペレーションの対象となるバイト数、すなわち
ディスクなどから読出されるバイト数(バイト長)を識
別する。
【0031】LBA23は2つのアルゴリズムのいずれ
かにより管理される。その第1は光ディスクにおいて使
用されてきたものである。このアルゴリズムでは、LB
A23へのエントリ数は各ディスクにおいて一定であ
り、データ記憶用に指定されるディスクにおけるアドレ
ス可能エンティティの数にもとづく。既知のように、L
BA23論理アドレス・シーケンスには、予備のアドレ
ス可能データ記憶領域或いはセクタは含まれない。既知
の第2のポインタが、LBA23を介して予備セクタを
アドレスすることが可能である。
【0032】LBA23を用いてアドレスする第2のア
ルゴリズムは、磁気フレキシブル・ディスクにおいて使
用される。この第2のアルゴリズムでは、LBA23の
アドレス範囲は、マークされない或いは未使用のセクタ
の数と共に変化する。LBA23はデータ記憶用に指定
されるトラック及びセクタだけをアドレスするために識
別する。説明されたアドレス変換により識別されるセク
タの1つが使用不可となると、使用不可の或いは欠陥セ
クタがスキップされ、別のセクタにより置換される。こ
うした代用は既知である。
【0033】ディスク30上の全てのアドレス可能トラ
ック及びセクタは、LBA23を介してアドレスされ
る。こうしたアドレス指定は、ホスト・プロセッサ11
が提供する論理アドレスを、提供される論理アドレスに
より識別されるデータを記憶する物理ディスク・トラッ
ク及びセクタにテーブル・ルック・アップ・マッチング
することにより行われる。各LBA論理アドレスはLB
A23において、1つのエントリ14を有する。
【0034】番号17及び18は本発明を使用すること
により、ディスク30上に記録される圧縮データ・ブロ
ックのグループを示す。番号17はあるファイル上の圧
縮データ・ブロックの第1のグループを示す。番号18
は同じファイルから記録される圧縮データ・ブロックの
次のグループを示す。記録グループ17乃至18におけ
るデータ・ブロックの列挙は、ホスト・プロセッサ11
により生成された元の順序に維持される。後に明らかと
なるように、それぞれのグループにおける圧縮データ・
ブロックは、図8に示されるファイル・ディレクトリに
おいて識別される。
【0035】光磁気データ記憶ドライブ或いは装置21
が図4に表されており、これは周辺制御装置20を介し
てホスト・プロセッサ11に接続される。通常、周辺制
御装置20は光ディスク・ドライブと共にパッケージ化
される。光磁気記録ディスク30は取外し可能に搭載さ
れ、モータ32によりスピンドル31を中心として回転
させられる。通常のディスク・カートリッジ・レシーバ
(図示せず)は、光磁気或いは他の光ディスク30をド
ライブ21に挿入及びそこから取出すために、スピンド
ル31と連動する。ドライブ21の光学部分33はフレ
ーム35上に搭載される。ヘッドアーム・キャリッジ3
4はディスク30を半径方向に移動し、対物レンズ45
をトラックからトラックへ運搬する。レコーダのフレー
ム35は、キャリッジ34が半径方向に往復移動可能な
ようにこれを好適に搭載する。キャリッジ34の半径方
向の移動は、複数の同心トラック或いは螺旋トラックの
いずれか1つへのアクセスを可能とし、それによりディ
スク上へのデータの記録及びディスクからのデータの復
元が実施される。リニア・アクチュエータ36がフレー
ム35上に好適に搭載され、これはトラックへのアクセ
スを行うために、キャリッジ34を半径方向に移動す
る。レコーダは1つ或いは複数のホスト・プロセッサ1
1に適宜接続され、こうしたホスト・プロセッサとして
は制御ユニット、パーソナル・コンピュータ、大規模シ
ステム・コンピュータ、通信システム、イメージ信号プ
ロセッサなどが挙げられる。接続回路38は光記録装置
と周辺制御装置20との間の論理的及び電気的接続を提
供する。
【0036】デバイス・マイクロプロセッサ40は、周
辺制御装置20に接続される接続回路を含む装置21を
制御する。制御データ、ステータス・データ、コマンド
などは、接続回路38とデバイス・マイクロプロセッサ
40との間を、双方向バス43を介して交換される。マ
イクロプロセッサ40にはプログラム或いはマイクロコ
ードを記憶する読出し専用メモリ(ROM)41、及び
データ及び制御信号を記憶するランダム・アクセス・メ
モリ(RAM)42が含まれる。
【0037】記録装置(ドライブ或いは装置)21の光
学系には対物レンズ或いは焦点結合レンズ45が含ま
れ、ヘッドアーム33が微動アクチュエータ46により
位置調整されることにより、焦点結合及び半径方向の追
跡移動が達成される。このアクチュエータはレンズ45
をディスク30に接近させたり遠ざけたりすることによ
り焦点結合し、且つキャリッジ34の移動に平行に半径
方向に移動する機構を含む。例えば、現アクセス中のト
ラックに近接するトラックをアクセスする度に、キャリ
ッジ34を活動化することを不要とするために、100
トラックの範囲内においてトラックが変更される。番号
47はレンズ45とディスク30との間の双方向光経路
を示す。
【0038】光磁気記録では、磁気バイアス・フィール
ド生成コイル48が含まれる。実施例では、電磁気によ
り弱い磁化作用或いはバイアス・フィールドが提供さ
れ、これはレンズ45からのレーザ光により照射される
ディスク30上の小スポットの残留磁化方向を方向づけ
る。レーザ光スポットは記録ディスク上の照射スポット
を、光磁気層(ここでは示さないが、Chaudhari 等によ
る米国特許第3949387号で教示される希土類金属
と遷移金属との合金による)のキューリー点温度以上に
加熱する。この加熱により磁気コイル48により生成さ
れるバイアス・フィールドは、スポットがキューリー点
温度以下に冷却される時に、残留磁気を所望の磁化方向
に方向づける。磁気コイル48は"書込み"方向に向けら
れるバイアス・フィールドを提供するように示されてい
る。すなわち、ディスク30上に記録される2進数の1
は、通常、"N極残留磁化"に相当する。ディスク30を
消去するために、磁気コイル48はS極がディスク30
に近接するように、フィールドを提供する。磁気コイル
48の制御49は、磁気コイル48にライン50を介し
て電気的に結合され、コイル48により生成される磁気
フィールドの書込み方向及び消去方向を制御する。マイ
クロプロセッサ40はライン51を介して、バイアス・
フィールド磁気極性を反転するための制御信号を制御部
49に供給する。
【0039】トラック或いは周転を忠実に追跡して、目
的のトラック或いは周転が迅速且つ正確にアクセスされ
るように、ビーム追跡経路47の半径方向の位置を制御
することが必要である。このために、焦点結合及び追跡
回路54は粗動アクチュエータ36及び微動アクチュエ
ータ46の両者を制御する。アクチュエータ36による
キャリッジ34の位置決めは、回路54によりライン5
5を介してアクチュエータ36に供給される制御信号に
より正確に制御される。更に、回路54による微動アク
チュエータ46の制御は、ライン57及び58を介して
微動アクチュエータ46に伝達される制御信号を通じて
実行され、これらのラインはそれぞれ焦点結合及びトラ
ック追跡/探索アクションに作用する。センサ56は微
動アクチュエータ46のヘッドアーム・キャリッジ33
に対する相対位置を検知し、相対位置エラー(RPE)
信号を生成する。ライン57は2本の信号導体を含み、
一方は焦点エラー信号を回路54に伝達し、他方は焦点
制御信号を回路54から微動アクチュエータ46内の焦
点結合機構に伝達する。
【0040】焦点結合及び追跡位置検知は、ディスク3
0から経路47上を反射され、レンズ45及びハーフ・
ミラー60を通過し、更にハーフ・ミラー61によりい
わゆる"クワッド検出器"62に反射されるレーザ光を分
析することにより達成される。クワッド検出器62は4
個の光素子を有し、これらは番号63により集合的に示
される4つのライン上にそれぞれ信号を供給し、これら
の信号が焦点結合及び追跡回路54に伝達される。検出
器62の1つの軸をトラックの中心線に位置合わせする
ことにより、トラック追跡オペレーションが可能とな
る。焦点結合オペレーションは、クワッド検出器62内
の4個の光素子により検出される光強度を比較すること
により達成される。焦点結合及び追跡回路54は、ライ
ン63上の信号を分析し、焦点結合及び追跡動作の両者
を制御する。
【0041】ディスク30上へのデータの記録或いは書
込みについて次に説明する。ここでマグネット48はデ
ータを記録するために目的の位置に回転させられるもの
とする。マイクロプロセッサ40は制御信号をライン6
5を介してレーザ制御回路66に供給し、記録オペレー
ションが継続することを示す。これはレーザ67が制御
回路66により活動化され、記録用の強度の高いレーザ
光ビームを発することを意味する。それに対し、読出し
においては、レーザ67により発せられるレーザ光ビー
ムの強度は、ディスク上のレーザ照射スポットをキュー
リー点以上に加熱しない程度に低下される。制御回路6
6はその制御信号をライン68を介してレーザ67に供
給し、レーザ67により発せられる光強度を示すフィー
ドバック信号を、ライン69を介して受信する。制御回
路66は光強度を目的の値に調整する。レーザ67はガ
リウム砒素ダイオード・レーザなどの半導体レーザであ
り、データ信号により変調され、その結果、発せられる
光ビームは強度変調により記録されるデータを表す。こ
の点に関し、データ回路75(後述される)は、こうし
た変調を行うための信号を示すデータをライン78を介
してレーザ67に供給する。こうして変調された光ビー
ムは偏光子70(ビームをリニアに偏光する)を通過
し、コリメート・レンズ71を通過してハーフ・ミラー
60に達し、ここでディスク30方向に反射され、その
後レンズ45を通過する。データ回路75は、記録のた
めにマイクロプロセッサ40によりライン76を介して
供給される制御信号を処理するように準備する。マイク
ロプロセッサ40及び回路75は、接続回路38を介し
てホスト・プロセッサ11から受信される記録用コマン
ドに応答する。データ回路75が準備されると、接続回
路38を通じて、データが周辺制御装置20とデータ回
路75との間で直接転送される。データ回路75及び補
助的回路(図示せず)は、ディスク30フォーマット信
号、エラー検出及びエラー訂正などに関連する。回路7
5は読出し或いは復元動作において、付随信号をリード
・バック信号から排除する。これは訂正データ信号を、
バス77及び接続回路38を介して、周辺制御装置20
に供給する以前に実施される。
【0042】ディスク30からデータを読出し或いは復
元し、ホスト・プロセッサ11に転送するために、ディ
スク30からのレーザ光ビームの光学的及び電気的処理
が必要となる。反射光の一部(カー効果(Kerr effec
t) を用いて記録を行うディスク30により回転させら
れる偏光子70からのリニア偏光を有する)は双方向光
経路47に沿って伝搬され、レンズ45及びハーフ・ミ
ラー60及び61を通過し、ヘッド・アーム33光学系
のデータ検出部79に至る。ハーフ・ミラー或いはビー
ム・スプリッタ80は、反射ビームを強度が等しい2本
のビームに分割し、それらの両者は同じ反射回転リニア
偏光を有する。ハーフ・ミラー80により反射される光
は第1の偏光子81を通過する。これはディスク30上
のアクセス・スポットの残留磁化が、"N"極或いは2進
値の1を示す時に回転させられる反射光だけを通過させ
るようにセットされる。こうして通過した光はフォトセ
ル82に突入し、適切な指示信号が差動増幅器85に供
給される。反射光が"S"極或いは消去極の方向の残留磁
化により回転させられた場合には、偏光子81は光を全
く通過させないか、或いはほとんどの光を通過させず、
その結果、活動信号がフォトセル82により供給される
ことはない。偏光子83においては全く反対のオペレー
ションが行われ、これは"S"極により回転させられたレ
ーザ光ビームだけをフォトセル84に通過させる。フォ
トセル84は受取ったレーザ光を示す信号を差動増幅器
85の第2の入力に供給する。差動増幅器85は出力差
動信号(データを表す)を検出信号としてデータ回路7
5に供給する。実施例では、この検出信号にはデジタル
復調(1−7 d−kコードからホスト・プロセッサ形
式のデータへの読出し信号の復号化)は含まれない。検
出信号は記録されたデータのみならず、いわゆる付随信
号も同様に含む。本明細書において使用される用語"デ
ータ"は、好適にはデジタル或いは離散値タイプの情報
信号を意味するものである。
【0043】スピンドル31の回転位置及び回転スピー
ドが、適切なタコメータ或いはエミッタ・センサ90に
より検知される。センサ90は好適には光検知タイプで
あり、スピンドル31のタコメータ・ホイール(図示せ
ず)上のスポットの明暗を検知し、"タコ"(tach)信号
(デジタル信号)をRPS回路91に供給する。RPS
回路91はスピンドル31の回転位置を検出し、回転情
報信号をマイクロプロセッサ40に供給する。マイクロ
プロセッサ41はこうした回転信号を使用し、ディスク
30上のデータ記憶セグメントへのアクセスを制御す
る。これは磁気データ記憶ディスクにおいては広範に実
施されている。更に、センサ90からの信号は、モータ
32がスピンドル31を一定の回転スピードで回転させ
るように制御するために、スピンドル・スピード制御回
路93へも伝達される。制御93は既知のように、モー
タ32のスピードを制御するためのクリスタル制御発振
器を含む。マイクロプロセッサ40はライン94を介
し、制御93に制御信号を通常の方法で供給する。
【0044】周辺制御装置20が図5に示される。この
制御装置はイン・ライン或いは実時間データ圧縮/伸長
を司る、圧縮/伸長機構を含む。ホスト・プロセッサ1
1と周辺制御装置20との間の接続は、既知の小型コン
ピュータ・システム・インタフェースを実現するSCS
Iモジュール100による。I/Oデータ・バッファ1
03(既知の技術により、入力データ・バッファ及び出
力データ・バッファに動的に割当てられる)は、ホスト
・プロセッサ11から受信されるデータ或いはそれに送
信されるデータを一時的に記憶する。光ディスク制御装
置(ODC)104は、ディスク30(図4)からのデ
ータの読出し及びそこへのデータの書込みを管理する。
エラー訂正制御(ECC)モジュール106は読出され
るデータのエラーの検出及び訂正を行い、データと共に
媒体に書込まれるECCエラー検出及び訂正冗長文字を
生成する。ランレングス制限(RLL)(変復調)符号
化及び復号化がデータ回路75(図4)において実施さ
れる。こうした変復調符号化及び復号化により記録され
るデータ・パターンは、例えば既知の1−7 d−kコ
ードにおいて使用される。マイクロプロセッサ107
(及び制御記憶装置108及び動的記憶装置109)は
制御装置20の種々の要素を制御する。圧縮/伸長(C
D)モジュール101は、例えば上述の Shah らにより
説明される集積回路により構成され、圧縮アルゴリズム
を実施する。CDモジュール101は、マイクロプロセ
ッサ107の監視の下で、周辺制御装置20を介するデ
ータ・フローを制御する自動回路タイミング及び制御を
含む。この圧縮/伸長はデータ転送と実時間(イン・ラ
イン)において実行される。バス102、110及び1
11はモジュール同士を相互接続する。制御装置20は
好適には装置21と共に共通のフレーム上にパッケージ
化される。
【0045】図6はいくつかのデータ・ブロックが複数
の圧縮データ・ブロックを含む1つのグループに圧縮さ
れ、それらがディスク30上のトラック117の多数の
データ記憶セクタ118に記録される様子を表す。複数
のデータ・ブロック116を含むグループ115が、図
1に関連して述べられたように記録のために選択され
る。圧縮データ・ブロックのグループ115は、ホスト
・プロセッサ11により制御装置20に転送される。制
御装置20のCD101は、グループ115が圧縮デー
タ・ブロックのグループとして、セクタ118とセクタ
119の約半分内に記録されるように十分に圧縮する。
最後のセクタ119の残りの半分は既知の埋込みバイト
により充填される。番号122は以前に割当てられたセ
クタを示す。番号123は上述の第1の方法に従い最初
に割当てられた次のセクタを示す。書込み−圧縮コマン
ドに対する制御装置20の結合応答は、ホスト・プロセ
ッサ11に対し、セクタ123がグループ115からデ
ータを受信しなかったために、割当て解除されることを
示す。ホスト・プロセッサ11は制御装置20に応答し
て、セクタ123を割当て解除する。
【0046】上記説明はホストプロセッサ11がデータ
空間管理を実行することを仮定したものである。この構
成は通常適用される。更に、複数のホストが装置21を
共用するマルチ・ホスト構成では、その内の1つが空間
管理を実行するように指定される。また、あるシステム
では、周辺制御装置がデータ記憶空間管理を実行する。
【0047】図7は既知のSCSIインタフェースにお
いて使用される3つのコマンドを省略形式で表したもの
である。書込みコマンド130はオペレーション・コー
ド・フィールド131を含み、これはコマンドが書込み
コマンドであることを示す。LBAアドレス・フィール
ド132は、即刻実行される書込みコマンドにより転送
されるデータが開始する第1のLBAアドレス(データ
をディスク30の複数のセクタに記憶する際に使用され
るいくつかのLBAアドレスの内の最下位LBAアドレ
ス)を示す。フィールド133は、ディスク30上への
記憶のために、ホスト・プロセッサ11から装置21に
転送されるデータの単位数を示す。1単位はディスク3
0の1セクタに記憶可能なデータを示す。FBAディス
クは異なるデータ記憶容量のセクタを有し、例えば51
2、1024(1kb)、2048、或いは4096バ
イトのデータを記憶する。フィールド134は転送され
るデータが圧縮されるかどうかを示す。フィールド13
5はこの書込みコマンドがバッファ読出しコマンド14
0にリンクされることを示す。このコマンドの連結は、
周辺制御装置20に対してホスト・プロセッサ11にデ
ータ記憶の詳細、すなわち実際に使用されるセクタ数、
及びホスト・プロセッサ11が後述の図8に表されるフ
ァイル・ディレクトリのエントリを生成するために必要
なデータ、を報告することを要求し、更に割当て解除さ
れるセクタを識別する。ここでLBA23はホスト・プ
ロセッサ11において、ディスク30のセクタへの記録
のコピーにより更新されることを述べておく。また、図
8に表されるファイル・ディレクトリのコピーは、ディ
スク30上に記録され、好適にはこれは非圧縮形式によ
り、圧縮データを記憶するための第1のLBAアドレス
の直前に位置する第1のLBA23論理アドレスに記録
される。
【0048】バッファ読出しSCSIコマンド140は
オペレーション・コード・フィールド141を含み、こ
れはこのコマンドがバッファ読出しコマンドであること
を示す。制御装置20はバッファ読出しコマンドの受信
に応答し、データをI/Oバッファ103の出力レジス
タから転送する。制御装置20は書込みコマンド130
にリンクされるバッファ読出しコマンドに応答する準備
として、圧縮データ・ブロックのグループの記憶に関す
る情報をこうした出力バッファ103レジスタに記憶す
る。フィールド142は制御装置20に圧縮データ・ブ
ロックを記憶するために使用されるセクタ数を示す。す
なわち、ホスト・プロセッサ11は圧縮データ・ブロッ
クを記憶するために必要なディスク・セクタ数を認識
し、これは図8に示されるファイル・ディレクトリに対
する新たなエントリとなる。
【0049】データ読出しコマンド145はオペレーシ
ョン・コード・フィールド146を有し、これはこのコ
マンドがデータ読出しコマンドであることを示す。デー
タをディスク30からホスト・プロセッサ11に転送す
るために使用される第1のLBAアドレスが、フィール
ド147に示される。フィールド148は、FBAディ
スクからホスト・プロセッサ11に転送するように要求
或いは指示されるデータ・ブロック数を示す。フィール
ド149は読出されるディスク・セクタ数を制御装置2
0に示す。フィールド150は伸長が実行されるか否か
を示す。リンク・オン・ビット151は、通常、非活動
状態にリセットされる。圧縮データ・ブロックのあるグ
ループを読出す時、制御装置20は指示された数のセク
タを読出し、データ・ブロックを伸長し、伸長されたデ
ータ・ブロックをホスト・プロセッサ11に転送する。
制御装置20は転送されるデータ・ブロック数をカウン
トし、その数がフィールド148に示される数値nに達
すると、データ転送が終了する。データ・ブロックのカ
ウントは、保全性のチェックにも使用される。
【0050】図8に示されるファイル・ディレクトリは
異なるレベルの詳細を示し、選択レベルはアプリケーシ
ョンに依存する。圧縮データ・ブロックのグループ内に
記録されるデータ・ブロックを有する各ファイルは、3
つの異なるデータ・ファイルに対してそれぞれ番号16
1、162及び163により示される別々のディレクト
リ部分を有する。各ディレクトリの各行160は1エン
トリを表す。各ディレクトリにおける第1のエントリは
コラム164に含まれ、そのファイルのファイル名と、
そのディレクトリがディスク30上に記録されるLBA
アドレスが記述される。第1の或いはトップ・エントリ
におけるコラム165は、各データ転送単位におけるデ
ータ・ブロック数を示す。用語^データ転送単位^(DT
U)は、各データ転送の間に、任意の数のデータ・ブロ
ックが、ディスク30とホスト・プロセッサ11との間
を転送されることを示す。残りのエントリ160は、そ
れぞれ、転送及び記録される圧縮データ・ブロックのグ
ループに対応する。それぞれのエントリにおけるコラム
164は、そのグループを記憶するために使用される第
1のLBAアドレスを示す。コラム165は記録される
データ・ブロック数、及び圧縮データ・ブロックのそれ
ぞれのグループをディスク30上に記憶するために使用
されるセクタ数を示す。全てのデータ・ブロックが単一
のデータ圧縮オペレーションにおいて圧縮されると、圧
縮データ・ブロックのグループは連続データとなり、デ
ータ・ブロック境界を示す外部指示を有さない。伸長機
構及び関連する制御により、伸長後のデータ・ブロック
境界が既知のように識別される。
【0051】図8に表されるファイル・ディレクトリに
含まれる情報の他に、各グループに関する追加の詳細情
報が提供されてもよい。ファイル・ディレクトリのこう
した別の実施例において、制御装置20は更に圧縮デー
タ・ブロックの各グループに対応して(すなわち図8に
示されるファイル・ディレクトリの各エントリに対
し)、データ・ブロックとデータ記憶セクタとの関係マ
ップ(LBA論理アドレスを使用し、ディスク30上の
実際の物理ロケーションを使用しない)を返却する。こ
の追加情報は、LBA23に示される記録データ及び未
使用のディスク30セクタを管理するためにホストによ
り使用される。
【0052】全てのエントリは、現ファイル内の圧縮デ
ータ・ブロックの全ての各グループ(Gp.)に対応し
て、上述のようにデータ・ブロックをLBAアドレスに
マップした内容を含む。すなわち、各データ・ブロック
は、そのデータ・ブロックの圧縮及びサイズに依存し
て、1セクタ或いは複数セクタに記録されるように指示
される。いくつかの圧縮データ・ブロックが1セクタに
記録されても良い。この例では、LBAアドレスが同じ
位置で開始され、また終了される。すなわち、いくつか
のデータ・ブロックに対し、例えばLBA10から始まっ
てLBA10で終了することになる。
【0053】追加のアドレス指定情報を使用する図8に
表されるディレクトリ形式について次に示す。
【表1】 第1エントリ ファイル名 データ転送単位内のデ
ータ・ブロック数 第2エントリ Gp.1LBA このグループ内のデー
タ・ブロック及びセクタの数 データ・ブロックn バイトBにおけるLBA N データ・ブロックn+1 バイトB2におけるLBA
N データ・ブロックn+2 バイトB3におけるLBA
2 (グループ(Gp.)1内の全てのデータ・ブロックの
マップが継続する。用語"バイト"はセクタ内に記録され
るそれぞれの圧縮データ・ブロックのバイト変位を示
す。) 第3エントリ Gp.2LBA データ・ブロック及び
セクタの数 (データ・ブロックのLBAアドレスへのマップについ
ては上述済み)
【0054】ここで上付き文字は、単にそれぞれのブロ
ックn、n+1、n+2などにおける第1(上付き文字
無し)、第2などのバイト位置を示す。
【0055】上述のディレクトリ構造は、圧縮データ・
ブロックの単一のグループのデータ内容を更新するため
に、ファイル全体を読出し、そして再書込みする必要性
をなくす。圧縮データ・ブロックのグループの更新に
は、圧縮データ・ブロックのあるグループの読出しだけ
が必要となる。圧縮データ・ブロックの更新されたグル
ープは、以前に生成された圧縮データ・ブロックのグル
ープを記憶するために使用されたセクタよりも多くのセ
クタを、その記憶のために必要とする可能性がある。こ
のために追加のセクタが割当てられなければならない。
圧縮データ・ブロックの各グループは、連続セクタ(介
在するアドレス不能な欠陥セクタを除く)に記録される
ことが望ましいため、新たな割当てが要求される。この
活動の全貌については、後に図16を参照して説明され
る。ホスト・プロセッサ11はこの情報を使用して、圧
縮データ・ブロックの更新されたグループを記憶するた
めに十分なアドレス(セクタ)数を有する次に使用可能
な連続LBAアドレスのセットを決定する。
【0056】WORM(write once、read many )光デ
ィスクでは、ホスト・プロセッサは圧縮データ・ブロッ
クの更新されたグループを記憶するための次に使用可能
なLBAアドレス指定セクタを設置するために、媒体走
査コマンドを発行する。ホスト・プロセッサ11はこの
情報を拡張ディレクトリ・エントリに保管し、データが
検索或いは読出される時にこれを使用する。
【0057】図11に関連して後述されるように、本発
明を実施するための別の制御パラメータとして、CKD
及びECKDの例において使用されるセクタの最小数或
いは最大数がある。非圧縮データを記憶するために必要
なセクタ数NがMIN(最小値)及びMAX(最大値)
と比較される。必要なセクタ数がMIN値とMAX値の
間にある時、DTUが数Nを用いて生成される。MIN
はディスク記憶空間の合理的な使用を保証し、MAXは
圧縮データ・ブロックへの合理的なアクセスを保証す
る。NがMINよりも小さい場合には、NはMINに等
しく設定される。DTU内のデータ・バイト数は、FB
A装置ではN*SB (SBは1セクタに記憶可能なバイ
ト数)であり、CKD及びECKD装置ではN*DB
(DBは1データ・ブロックを記憶するために所望され
るデータ・バイト数)となる。DTU内のバイト数は各
ファイル・ディレクトリの第1の或いはトップ・エント
リ160(図8)に記憶される。1つの変形として、各
エントリ160のフィールド166は圧縮DTU指示ビ
ットCを含む。Cが1の場合、それぞれのエントリ16
0により表されるデータは圧縮形式で記録される。ビッ
トCが0の場合、データはディスク30上にデータ圧縮
をせずに記録される。圧縮ビットCは本発明によれば、
データを記憶する全ての各セクタに記録されてもよい。
【0058】図9はFBAディスクのディスク・セクタ
のフォーマットを図式的に示す。セクタ170はディス
ク30のトラック169に含まれる。セクタ間ギャップ
171はセクタ170を直前のセクタ(図示せず)から
分離する。セクタID172はエンボス領域であり、セ
クタ170のトラック及びセクタ・アドレスを含む。セ
クタ内ギャップ173はハード・セクタ式或いはエンボ
ス式マーク172を、セクタ170の残りの部分を構成
する光磁気式記録部分から分離する。データ同期信号DA
TA SYNC 174は、セクタ170の一部175に記憶さ
れるデータにより光磁気式に記録される。制御領域17
6は所望されるように、光磁気式に記録される制御信号
を記憶する。圧縮ビットC177(領域176内の制御
信号の一部と見なされる)が1にセットされていると、
これは175内のデータが圧縮されていることを示す。
C177が0にセットされている場合は、175内に記
憶されるデータは圧縮されていない。セクタ170はE
CC178部分に含まれるエラー検出及び訂正冗長で終
了する。ECC178に記憶される信号は既知の方法に
より生成され記憶されるが、これは本発明を理解する上
で関係しない。セクタ間ギャップ179はセクタ170
を次に続くセクタ180から分離する。本発明を実施す
る上で、圧縮ビット177が使用されることが望まし
い。
【0059】図10はファイルを複数の圧縮データ・ブ
ロックのグループに記憶するマシン・オペレーションの
シーケンスを示す流れ図であり、各グループはホスト・
プロセッサからデータ記憶システムへ、上述の多数の非
圧縮バイトを有するDTUとして別々に転送される。ス
テップ185では、生成されるDTUの数を決定するた
めに、記録されるデータが解析される。DTUのバイト
/データ・ブロックの実際のサイズはファイルによって
異なる。ステップ186では、最初に記録されるデータ
・ブロック数を収容するために、使用される複数のDT
Uのサイズを等化するように、DTUサイズが変更され
る。例えば、圧縮され記録されるデータ・ブロックの数
が2個の所望のDTUよりも小さく、データ・ブロック
数の1/2がMIN値よりも大きいデータ・バイト数と
なる場合、各々がデータ・ブロックの1/2を有する2
個のDTUが生成される。これと同じ原理が後に明らか
にされるように、任意の数のDTUを有するデータ・ブ
ロックの転送に適用される。但し、圧縮データ・ブロッ
クの記録グループを更新する場合は例外である。DTU
サイズを等化できない場合には、最後のDTUがMIN
バイト数よりも小さなバイト数を有することになる。小
さな最終DTUから生じる圧縮データ・ブロックの記録
グループを更新する際、DTUのサイズ、従って圧縮デ
ータ・ブロックのグループが、図10及び図12に関連
して述べられるDTUサイズ要求に合うように、データ
・ブロックの数が追加され拡大されたDTUが生成され
る。図16は圧縮データ・ブロックの記録グループの更
新に関し、更新されるDTUの圧縮及び記憶に起因する
圧縮データ・ブロックの記録グループに対して現行割当
てられたデータ記憶空間にとって、上記更新されるDT
Uが記憶するのに大きすぎる場合の記憶処理マシン・ス
テップを表す。
【0060】"GET DTU" ステップ188(図10)で
は、データ・ブロックのDTUがデータ転送のために生
成される。ステップ189では、DTUがデータ記憶シ
ステム12に転送される。データ記憶システム12は転
送されたDTUを前述のように圧縮及び記憶する。ステ
ップ190では、ホスト・プロセッサ11が更に別のD
TUが転送されるかどうかを確認する。転送されない場
合(DONE=1)、ホスト・プロセッサ11はエグジットし
て、本発明には関連しない他の作業を実行する。転送さ
れる別のDTUが存在する場合、全てのDTUがデータ
記憶装置12に転送されるまで、ステップ188及び1
89が繰返される。
【0061】図11はイメージ(非コード化或いはグラ
フィックス)データ及びテキスト(コード化)データの
それぞれに対するMIN値及びMAX値の選択を示す。
データの圧縮率がMINとMAXの選択において測定さ
れる。この点で、イメージ・データ或いはテキスト・デ
ータの各ファイルは、実質的にファイル毎のデータによ
り異なって圧縮され、同様にイメージ或いはテキストの
どちらのタイプのデータにおいても、データ・ブロック
毎に変化する。データ・ブロックの第1のグループが圧
縮データ・ブロックのグループとして圧縮され、記録さ
れると圧縮率が図8に示されるファイル・ディレクトリ
に、データ・ブロックの続く圧縮及び記憶の基準として
記録される。図11ではイメージ・データが75%圧縮
され(圧縮イメージ・データ・ブロックが元のサイズの
25%となる)、テキスト・データ・ブロックが50%
圧縮されるものとする。これらの測定値はエラー調整用
マージンを加味する計算目的に応じて変化される。
【0062】ステップ195はファイル内のデータがテ
キストかイメージかを判断する。イメージの場合、ステ
ップ196はMIN値を4*SB (セクタ内のバイト
数)として計算する。すなわち少なくとも4セクタが圧
縮データ・ブロックのグループを記憶するために使用さ
れる。数値4は任意の方法で選択される。セクタ・サイ
ズは使用されるセクタの最小数に影響を及ぼす。ステッ
プ197はMAX値を64*SB として計算する。10
24バイト・セクタを有するFBAディスクでは、最大
DTUサイズは64KB(キロバイト)である。再度、
システムはこれらの値を変更することを考慮できる。こ
うした考慮は本説明の範中を越えるものである。ステッ
プ195において、テキスト・データの場合(IMAGE DA
TA = NO)、ステップ200はMIN値として2*SB
を計算し、ステップ201ではMAX値を32*SB と
して計算する。MINとMAXの間のイメージ・データ
における非圧縮バイト数は、テキスト・データの場合の
非圧縮バイト数に等しい。異なる圧縮率はMIN値とM
AX値を期待圧縮率に反して変更する。どちらかの計算
を実行後、ホスト・プロセッサ11は適切なファイル・
ディレクトリの第1のエントリ160(図8)にMIN
値及びMAX値を記憶し、この計算を終了する。
【0063】MIN値及びMAX値はまた予め決定さ
れ、データ・クラスを定義するパラメータ・データとし
て含まれたりする。これについてはGelbらによる米国特
許第5018060号"ALLOCATING DATA STORAGE SPACE
OF PERIPHERAL DATA STORAGEDEVICES USING IMPLIED A
LLOCATION BASED ON USER PARAMETERS"に述べられてい
る。Gelbらはデータ・セット・パラメータが、暗黙的に
周辺データ記憶装置のオペレーションを制御することを
教示する。データ・ベース或いはファイル・パラメータ
・データにもとづくこうした暗黙の制御が、本発明の実
施にも適用される。
【0064】図12はデータ記憶システム12による書
込みコマンドの実行を示し、ここではDTUにおいて受
信されるデータ・ブロックは圧縮され、次に圧縮データ
・ブロックのグループとして記録される。ステップ21
0は書込みコマンド130を受信する。ステップ211
は生成された圧縮データ・ブロックのグループ及び達成
された圧縮率CRを記憶するのに使用される実際のセク
タ数を報告するために、フィールド135にリンク・コ
マンドをセットする。ステップ212はデータ記憶シス
テム12に圧縮モードをセットし、それにより受信され
るデータ・ブロックを1つの連続体の圧縮データに圧縮
するために、CD101が活動化される。ステップ21
3はDTUデータ・ブロックを受信、圧縮及び記憶す
る。ステップ216は圧縮データを記憶するために実際
に使用されるセクタ数を、最初に割当てられたセクタ数
と比較する。ステップ217は受信されたDTU内の元
のデータ・ブロックのバイト・カウントを、圧縮データ
・ブロックのバイト・カウントと比較する。ほとんどの
例では、圧縮データ・ブロックのバイト・カウントは、
元のDTUデータ・ブロックのバイト・カウントよりも
小さい。この場合、ステップ218において、データ記
憶システム12はホスト・プロセッサ11に、データ記
憶オペレーションが完了したことを示す。未使用のセク
タの識別及び丁度完了したデータ記録オペレーションを
記述する他の情報が、データ記憶システム12からホス
ト・プロセッサ11に転送される。この転送は記録オペ
レーションの完了指示に応答して、ホスト・プロセッサ
11がデータ記憶システム12にバッファ読出しコマン
ド140を発行することにより実行される。その結果、
未使用の割当てられたセクタの数、及び他の全ての圧縮
情報がホスト・プロセッサ11に送信される。ホスト・
プロセッサ11はステップ219で未使用の割当てられ
たセクタの指示に応答して、他のデータの記憶用に使用
するために、こうしたセクタの割当てを解除する。ここ
で圧縮ビット134がオフの場合には、圧縮が発生しな
いことを述べておく。
【0065】ステップ217において、データ圧縮の結
果生成される圧縮データ・ブロック内のデータ・バイト
が、元のデータ・ブロック内のそれよりも大きいと判断
されると、データ・ブロックはデータ圧縮をせずに記録
される。圧縮データ・ブロックにおけるこうしたサイズ
の増大は、元のデータ・ブロックが特定のデータ・パタ
ーンを有する場合に発生したりする。いずれにしても、
ステップ220において、データ記憶システム12はチ
ャネル・コマンド・リトライ(CCR)或いはそれに相
当するものをホスト・プロセッサ11に送信する。CC
RはDTUが再度ホスト・プロセッサ11により、デー
タ記憶システム12に転送される必要のあることを示
す。すなわち、圧縮後のDTUサイズの増大は、エラー
状態と見なされる。CCRは記録エラーが発生したこと
を示す。ホスト・プロセッサ11はステップ221でC
CRに応答して、DTUをデータ記憶システム12に再
送信する。ステップ222において、データ記憶システ
ム12はデータ圧縮をせずにDTUを記憶する。上述の
オペレーションはステップ219或いはステップ222
で終了される。
【0066】図13はデータ読出しのシステム・オペレ
ーションを示す流れ図である。ステップ225でホスト
・プロセッサ11はデータを読出す準備をする。すなわ
ち、読出されるデータ・ブロックを識別する。ホスト・
プロセッサ11は次にステップ226で、ファイル・デ
ィレクトリを探索する(図8)。こうしたファイル・デ
ィレクトリはディスク30から読出される。圧縮に関連
するファイル・ディレクトリが存在しない場合には、デ
ータは圧縮されていない。また、識別されるグループに
対応する図8に示されるディレクトリのフィールド16
6が0の場合、そのグループは圧縮されていない。更
に、読出されるデータが圧縮されており、データ記憶シ
ステム12以外の装置において伸長することが望まれる
場合、ステップ226はパス227を介して、全ての識
別データを伸長せずに読出すためのホスト・プロセッサ
・オペレーションを指示する。パス227から、データ
圧縮を含まない通常のデータ記録オペレーションが実行
される(図示せず)。ホスト・プロセッサ11は読出さ
れる圧縮データ・ブロックの各々の記録グループに対応
して、1つの読出しコマンド145を発行する。所望の
読出しオペレーションに依存して、伸長或いは伸長オフ
を示すために、フィールド150或いは読出しコマンド
がセットされる。ホスト・プロセッサ11は読出しコマ
ンド145をデータ記憶システム12に送信する以前
に、ステップ226でフィールド150を調査する。ホ
スト・プロセッサ11がステップ226において、読出
されるデータが圧縮されており、従って伸長が所望され
ると判断すると、次にステップ230においてフィール
ド150を圧縮オンにセットする。読出されるデータ・
ブロックを有する圧縮データ・ブロックの全てのグルー
プが、ステップ231において、適切なファイル・ディ
レクトリ161乃至163の調査により識別される。ホ
スト・プロセッサ11は次にステップ232において、
1つ或いはそれ以上の読出しコマンド145を生成し、
ステップ231で識別された圧縮データ・ブロックのグ
ループを伸長を伴いながら読出す。上記使用された用語
^生成^は、データ記憶システム12に所望の読出しを実
行させるように指令するために、適切な制御データを読
出しコマンドに挿入することを示す。こうしたコマンド
は、読出されるLBAアドレス指定セクタの数と同様、
最初のあるセクタのLBAにおける論理アドレスを含
む。ステップ232において、1つの読出しコマンドが
ホスト・プロセッサ11によりデータ記憶システム12
に送信されるが、記録ブロックの複数のグループをフェ
ッチするために、多数の読出しコマンドが送信されたり
もする。次に、データ記憶システム12が読出しコマン
ドを受信する。ステップ233において、データ記憶シ
ステムは読出される要求グループを記憶する最初のセク
タのセクタ圧縮ビットをチェックする。ビットC177
(図9)が1の場合、データは圧縮されている。データ
記憶システム12は次にステップ234で、要求グルー
プをデータ伸長しながら読出す。ここでREADコマン
ド・フィールド150が伸長オフを示す場合、たとえビ
ットC177が1にセットされていようと、伸長は発生
しない。一方、ビットC177が0の場合は(セクタ内
のデータが圧縮されていない)、ステップ235におい
てデータ記憶システム12はデータを読出し、その読出
しデータを伸長せずにホスト・プロセッサ11に送信す
る。図2に示されるシステムはステップ234或いは2
35の一方から、あるグループに対する読出しオペレー
ションを脱出する。
【0067】図14はREADコマンド145に応答す
るデータ記憶システムのオペレーションを表す。ステッ
プ236はREADコマンドを受信する。ステップ23
7は圧縮フィールド150をチェックする。圧縮フィー
ルドが伸長がオンであることを示すと、次にアクセスさ
れるセクタのCビット177がチェックされ、読出され
るデータが実際に圧縮形式で記録され、記憶されている
ことを確認する。ステップ238では、フィールド15
0が圧縮を示し、且つCビット177がオンの時、読出
されるデータを伸長してREADコマンドを実行する。
フィールド150が伸長オフを示す場合には、アドレス
指定されるセクタに記憶されるデータは圧縮されている
か否かに関わらず、伸長せずに転送される。すなわち、
フィールド150が圧縮オフを示す時には、全ての場合
において、データ記憶システム12は伸長を実行せずに
データを転送する。この制御はデータを圧縮形式或いは
非圧縮形式のいずれかにより転送することを可能とす
る。
【0068】図15はホスト・プロセッサにリンクされ
たシステムにおける本発明の一応用例を表す。バッチ及
びイン・ラインの両方のデータ圧縮/伸長が使用され
る。圧縮/伸長ソフトウェア・モジュール251及び2
73は、バッチ・データ圧縮及び伸長を提供し、一方、
集積回路チップ(ハードウェア圧縮/伸長)253及び
272はイン・ライン(実時間)データ圧縮/伸長を提
供する。2つのデータ処理システム240及び241
は、データ・リンク263によりリンクされる。リンク
263はローカル・エリア・ネットワーク(LAN)或
いはデータ通信回路であったり、取外し可能なデータ・
カートリッジをマニュアル式でまたはライブラリを介し
て受渡したり、或いはメールであったりする。それらに
より2つのデータ処理システム間が結合される。システ
ム240内のホスト・プロセッサ250はソフトウェア
圧縮/伸長機能251、圧縮或いは伸長を含まない転送
リンク機能252、及びイン・ライン・ハードウェア圧
縮/伸長機能253を有する。機能251乃至253
は、データ処理システム240のホスト・プロセッサ2
50内、或いはチャネル接続の一部として、物理的に配
置される。後者はホスト・プロセッサ250を機能25
1乃至253に接続する論理スイッチ254(プログラ
ム式或いはハードウェア)を含む。破線255はスイッ
チ254がホスト・プロセッサ250によりプログラム
式に制御されることを示す。任意のデータ処理システム
では、1)バッチ圧縮機能251及びリンク機能25
2、2)イン・ライン機能253及びリンク機能25
2、3)全ての機能251乃至253、の内のいずれか
を有するか、或いは、4)251或いは253のどちら
かが、データ記憶システム262或いはデータ・リンク
263に配置される。
【0069】機能251乃至253からの入出力(I
O)接続は論理スイッチ260により作用され、このス
イッチは破線261により示されるように、ホスト・プ
ロセッサ250によりプログラム式に制御される。スイ
ッチ260は機能251乃至253とデータ記憶システ
ム262、或いはデータ・ライン263との間で、IO
データ・フローを方向制御する。
【0070】データ処理システム241はデータ処理シ
ステム240と同一なものとして示されている。データ
処理システム241は、ホストプロセッサ250とは異
なる計算機構成及び能力を有するホスト・プロセッサ2
70、及び論理スイッチ271、機能272乃至27
4、データ記憶システム275、及びデータ処理システ
ム241をデータ・リンク263を介して他の装置及び
データ処理システム240に選択的に接続するスイッチ
277を含む。
【0071】図16は圧縮データ・ブロックの記録グル
ープを更新する過程を示す。ホスト・プロセッサ11は
ステップ280において、データ・ブロックを更新し、
データ記憶システム12に記録されるファイルを、圧縮
データ・ブロックの複数のグループとして更新すること
を望む。ステップ281において、更新されるDTUの
データ長(圧縮データ・バイト数)と、更新される1つ
のグループとして現在記録されているセクタのバイト数
とが比較される。ホスト・プロセッサ11はまた圧縮デ
ータを記憶している最終セクタにおける埋込みバイト数
を調査し、更新されたデータ・ブロックが、更新される
グループに対応して現行割当てられているセクタに記憶
可能かどうかを予測する。
【0072】ステップ282において、ホスト・プロセ
ッサ11は更新されたDTUが現行割当てられているセ
クタに記憶可能か、或いはより多くのまたは異なるセク
タが割当てられる必要があるかを判断する。すなわち、
更新されたDTUが現記録されているグループよりも多
くのデータ・バイトを有する場合、ステップ288にお
いて、追加のセクタが割当てられる(ホスト・プロセッ
サ11が割当てを実行する)。こうした新たなセクタ
は、好適には更新されるデータ・ブロックの記録グルー
プを含むいずれのセクタも含むことのない隣接セクタで
ある。割当てステップ288に続いて、更新されたDT
Uはステップ289で記録される。次にホスト・プロセ
ッサ11は、ステップ290において、更新されるデー
タ・ブロックのグループを含むセクタを割当て解除す
る。図2に表されるシステムは次にステップ290から
更新オペレーションを脱出する。
【0073】ステップ282において、更新されたDT
U内のデータ・バイト数が実質的に記録されているDT
Uのバイト数(非圧縮)に等しい場合、ステップ283
において、更新されるグループを現在記憶しているセク
タを使用して、更新が発生する。図2に表されるシステ
ムは次にステップ290を実行し、その後、更新オペレ
ーションを脱出する。更新されたDTUが、記録されて
いるグループよりも少ないバイトを有する場合、更新さ
れたDTUが更新されるグループを含むセクタから選択
されるセクタに記録される。一方、更新されたDTUを
記録するために使用されないセクタは、ステップ290
で割当て解除される。
【0074】データが増大するパターンとは無関係に、
更新されるデータ・ブロックを新たに割当てられるセク
タのセットに常時記憶し、更新される圧縮データ・ブロ
ックの現グループを記憶しているセクタを割当て解除或
いは解放することも可能である。この場合には、ステッ
プ288乃至290が実行される。例えば、圧縮データ
・ブロックの元のグループを保管することが望まれる場
合に、こうした元の記録が保存される。ホスト・プロセ
ッサ11は次に適切なファイル・ディレクトリ160乃
至162を更新し、記憶オペレーションを脱出する。
【0075】図16に示される更新オペレーションで
は、圧縮データが元の圧縮データよりも多くのバイトを
有する場合には、常に、データが非圧縮形式において記
録される。図12に示されるステップは図16に表され
るシーケンスに追加される。
【0076】
【発明の効果】以上説明したように、本発明によれば、
比較的単純なアクセス機構を通じて、圧縮データをラン
ダムにアクセスすることを可能とする柔軟なデータ圧縮
/伸長制御を提供することが可能となる。
【図面の簡単な説明】
【図1】図1は本発明を使用するデータ記憶オペレーシ
ョンを表す流れ図である。
【図2】図1のデータ記憶オペレーションを実施するデ
ータ処理システムの単純化されたブロック図である。
【図3】データ・ファイルのデータ・ブロックの記録さ
れる圧縮グループを識別する論理ブロック・アドレス
(LBA)ディレクトリを示す図である。
【図4】図2のホスト・プロセッサに接続される光デー
タ記憶システムの詳細ブロック図である。
【図5】図2及び図4に表されるデータ処理システムに
おいて使用される周辺制御装置のブロック図である。
【図6】図1に示されるデータ・ブロックの圧縮グルー
プを記憶する様子を図式的に示す図である。
【図7】図2及び図4に示されるデータ記憶システムへ
のSCSI接続を使用するホスト・プロセッサ・コマン
ドを図式的に表す図である。
【図8】ファイルのデータ・ブロックの複数の圧縮グル
ープのファイル・ディレクトリを図式的に表す図であ
る。
【図9】ディスク・セクタのフォーマットを図式的に表
す図である。
【図10】図1に示されるオペレーションの詳細流れ図
を示す図である。
【図11】図1に示されるオペレーションの詳細流れ図
を示す図である。
【図12】図1に示されるオペレーションの詳細流れ図
を示す図である。
【図13】図1に示されるオペレーションの詳細流れ図
を示す図である。
【図14】図1に示されるオペレーションの詳細流れ図
を示す図である。
【図15】本発明を適用した、複数のデータ記憶装置、
及びデータ・リンク或いはローカル・エリア・ネットワ
ークにより相互接続されるホスト・プロセッサを有する
マルチ・ユニット・データ処理システムの論理図であ
る。
【図16】圧縮データ・ファイルを更新するマシン・オ
ペレーションを示す流れ図である。
【符号の説明】
100 SCSIモジュール 101 圧縮/伸長(CD)モジュール 103 I/Oデータ・バッファ 104 光ディスク制御装置(ODC) 107 マイクロプロセッサ 250 ホスト・プロセッサ 251 ソフトウェア圧縮/伸長 253 ハードウェア圧縮/伸長 262 データ記憶システム 263 データ・リンク 270 ホスト・プロセッサ 272 ハードウェア圧縮/伸長 273 ソフトウェア圧縮/伸長 275 データ記憶システム

Claims (13)

    (57)【特許請求の範囲】
  1. 【請求項1】アドレス可能なデータ・ブロック配列のデ
    ータを、予め定められたバイト記憶容量のアドレス可能
    なデータ記憶領域の複数個を有するデータ記憶装置上
    に、圧縮形式で記憶させるためのプログラム式マシンを
    含む装置であって、記憶すべきデータの1個または複数個のデータ・ブロッ
    クにして上記バイト記憶容量以上の所定のデータ・バイ
    ト数から成る上記データ・ブロックを各データ転送単位
    として選択するための 上記プログラム式マシン内の選択
    手段と、上記データ・バイト数に応答して、上記各データ転送単
    位毎の各選択データ・ブロックを記憶するのに必要な上
    記データ記憶領域の各第1の個数を決定すると共に、こ
    れらの各第1の個数の上記データ記憶領域の全てが各デ
    ータ転送単位の選択データ・ブロックの記憶のために割
    当てられたことを表示するための、 上記選択手段に接続
    される上記プログラム式マシン内の割当て手段と、各データ転送単位の各選択データ・ブロックを受け取っ
    て上記各第1の個数以下である各第2の個数の上記デー
    タ記憶領域に各々圧縮形式で記憶するために、上記受け
    取った各選択データ・ブロックをデータ転送単位毎に別
    々に各圧縮ブロックに圧縮するための、 上記選択手段に
    接続されるプログラム式マシン内の圧縮手段と、 上記各圧縮ブロックを受け取って上記各第2の個数の上
    記データ記憶領域に記憶させると共に、各圧縮ブロック
    の記録の完了を表示するための、上記圧縮手段に接続さ
    れる上記データ記憶装置内のデータ・アクセス手段と、 上記割当ての表示及び圧縮ブロックの上記記憶の完了の
    表示を受け取り、各データ転送単位毎の各圧縮ブロック
    が記憶されている上記データ記憶領域のアドレス及びサ
    イズを関連づけるディレクトリを生成するための、上記
    データ・アクセス手段及び上記割当て手段に接続される
    上記プログラム式マシン内のディレクトリ手段と、 から成る装置。
  2. 【請求項2】上記プログラム式マシンと上記データ記憶
    装置との間で転送されるデータ・ブ ロック転送単位のサ
    イズをバイト数で指示するための、上記プログラム式マ
    シン内のバイト数範囲手段を含み、 上記選択手段が上記範囲手段に接続されて上記バイト数
    範囲指示を受信し、受信した範囲指示に応答して、デー
    タ転送単位を構成する所定数のデータ・ブロックに含ま
    れるデータバイトの総数が上記指示された範囲内のバイ
    ト数になるように、データ転送単位を構成するデータ・
    ブロックの個数を選択する、請求項1記載の装置。
  3. 【請求項3】上記データ記憶装置がCKDデータを受信
    及び記録するCKDフォーマット化ディスクを有し、 上記選択手段がCKDデータ・ブロックを供給するCK
    D手段に接続され、所定数の上記CKDデータブロック
    を受信及び選択し、 上記データ・アクセス手段が各圧縮ブロックを上記CK
    Dフォーマット化ディスク上に1レコードとして受信及
    び記録するCKD記録手段を有し、 圧縮してそれぞれのCKDレコードに記録するためのC
    KDデータ・ブロックの転送単位を供給するために、上
    記CKD手段を繰返し動作させる、上記選択手段及び上
    記CKD手段に接続される繰返し手段をさらに含む、 請求項1記載の装置。
  4. 【請求項4】上記プログラム式マシンが、周辺制御装置
    に接続されるホスト・プロセッサを含み、該周辺制御装
    置が上記データ記憶装置に接続され、上記データ記憶装置が、 上記データ記憶領域としてのセ
    クタを有するFBAセクタ式ディスクをさらに含み、 上記選択手段が、上記FBAセクタ式ディスク上の所定
    数のセクタ内に記録されるデータ転送単位毎の上記デー
    タ・ブロックを各々選択するFBA手段を有し、各選択データ・ブロック が、複数の上記圧縮ブロックに
    圧縮形式で上記FBAセクタ式ディスク上に記録される
    ように、上記選択手段及び圧縮手段を繰り返し動作させ
    て、圧縮のために上記データブロックから複数の上記デ
    ータ転送単位を作り、上記作られたデータブロックのデ
    ータ転送単位の各々を圧縮ブロックとして圧縮し、上記
    圧縮ブロックを上記FBAセクタ式ディスク上に記録す
    る、 請求項1記載の装置。
  5. 【請求項5】予め定められたバイト記憶容量のアドレス
    可能なセクタの複数個を有する上記データ記憶装置内の
    FBAフォーマット化ディスクと、 上記セクタ記憶容量に応答して、データ転送単位である
    上記所定データ・バイト数が各セクタのバイト記憶容量
    に等しいように選択する、上記FBAフォーマット化デ
    ィスクに関連づけられる上記選択手段と、 を含む請求項1記載の装置。
  6. 【請求項6】上記各圧縮ブロックに1個のファイル・デ
    ィレクトリが対応するように複数個のファイル・ディレ
    クトリを生成するために上記ディレクトリ手段を動作
    せる、上記ディレクトリ手段及び上記データ・アクセス
    手段に接続される上記プログラム式マシン内のデータ
    管理手段であって、 各上記ファイル・ディレクトリに、データブロックの各
    上記データ転送単位に含まれる上記データ・ブロックの
    数を記憶するように上記ディレクトリ手段を動作させ
    上記データ転送単位に含まれる最大バイト数を記憶す
    る、上記データ記憶管理手段、 を含む請求項1記載の装置。
  7. 【請求項7】更新されたデータ・ブロックを受信し、上
    記更新されたデータ・ブロックを含むデータ・ブロック
    のデータ転送単位を作成することにより、記録された圧
    縮ブロックを、上記更新されたデータ・ブロックにより
    更新するように上記選択手段を動作させる、上記選択手
    段及び上記割当て手段に接続される上記プログラム式マ
    シン内の更新手段を含み、 上記圧縮手段は上記新しいデータ転送単位を受信し、新
    しい圧縮ブロックに圧縮し、 上記割当て手段に接続される上記更新手段は、上記デー
    タ記憶装置内の上記新しい圧縮ブロックを受信及び記録
    するために上記アドレス可能データ記憶領域の個数を割
    当てるように上記割当て手段を動作させることを特徴と
    する、 請求項1記載の装置。
  8. 【請求項8】圧縮ブロックの記憶に先立って、第1の個
    数の上記アドレス可能データ記憶領域を上記圧縮ブロッ
    クに仮に割当てる上記割当て手段内の第1の手段と、 記第1の手段に応答して、上記仮り割当てのデータ記
    憶領域のうち、上記第1の個数から上記第2の個数を差
    し引いた残りの上記仮り割当てデータ記憶領域に対する
    割当てを解除する上記割当て手段内の第2の手段と、 を含む請求項1記載の装置。
  9. 【請求項9】データ・ファイルを構成する複数個のデー
    タ・ブロックを圧縮してデータ記憶媒体上の複数個のア
    ドレス可能なデータ記憶領域に割当て記憶するための、
    プログラム式マシンにより実行される方法であって、 上記データ記憶媒体上に圧縮形式で記憶されるべき複数
    個のデータ・ブロックをデータ転送単位として上記デー
    タ・ファイルの中から 選択するステップと、データ転送単位毎に上記選択データ・ブロックを圧縮形
    式で記憶するのに必要な最大個数の上記データ記憶領域
    を見積って仮に割当てる ステップと、上記選択データ・ブロックを受け取ってデータ転送単位
    毎に圧縮して生成した圧縮ブロックを上記最大個数の上
    記データ記憶領域のうちの該最大個数以下の計算された
    個数のデータ記憶領域に実際に 割当てるステップと、上記計算個数の上記データ記憶領域に上記圧縮ブロック
    を記憶させるステップと、 各記憶された圧縮ブロックへのランダム・アクセスを可
    能とするために、該圧縮ブロックのアドレス及びサイズ
    を示す別々のファイル・ディレクトリを生成及び保持す
    るステップと、 を含む方法。
  10. 【請求項10】ファイル・ディレクトリを生成及び保持
    するステップは、上記ファイル・ディレクトリが各デー
    タ転送単位の所望のサイズをデータバイトで示すように
    設定すること、及び上記ファイル・ディレクトリの1つ
    のエントリーを各上記記憶された圧縮ブロックに対応す
    るように設定することを含むデータ記憶空間管理を設定
    するステップ、 を含む請求項9記載の方法。
  11. 【請求項11】圧縮ブロックの1つを記憶させるステッ
    プの後に、上記仮り割当てのデータ記憶領域のうち、上
    記最大個数から上記計算個数を差し引いた残りの上記仮
    り割当てデータ記憶領域に対する割当てを解除するステ
    ップ、 を含む請求項9記載の方法。
  12. 【請求項12】上記データ・ブロックを選択するステッ
    プは、1つのCKDフォーマット化ファイルのCKDフ
    ォーマット化データ・ブロックを供給し、圧縮及び記録
    される上記CKDデータ・ブロックを選択するステップ
    を含み、上記実際に割当てるステップは、 上記CKDデータ・ブ
    ロックの複数個のデータ転送単位を圧縮ブロックにそれ
    ぞれ圧縮するステップを含み、上記圧縮ブロックを記憶させるステップは、 上記複数の
    圧縮ブロックをCKDフォーマット化記録媒体上の1レ
    コードとして記録するステップ、 を含む請求項9記載の方法。
  13. 【請求項13】上記データ・ブロックを選択するステッ
    プは、各データ転送単位に含まれるバイト数の範囲をセ
    ットするステップと、 上記各データ転送単位の選択された数のデータ・バイト
    がセットされた範囲内に収まるように、上記データ・ブ
    ロックの数を選択するステップと、 を含む請求項9記載の方法。
JP5184806A 1992-09-11 1993-07-27 データの圧縮/伸長と同一の取外し可能データ記憶媒体上への圧縮及び非圧縮データの記憶 Expired - Lifetime JP2731703B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US943613 1986-12-18
US07/943,613 US5394534A (en) 1992-09-11 1992-09-11 Data compression/decompression and storage of compressed and uncompressed data on a same removable data storage medium

Publications (2)

Publication Number Publication Date
JPH06168073A JPH06168073A (ja) 1994-06-14
JP2731703B2 true JP2731703B2 (ja) 1998-03-25

Family

ID=25479945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5184806A Expired - Lifetime JP2731703B2 (ja) 1992-09-11 1993-07-27 データの圧縮/伸長と同一の取外し可能データ記憶媒体上への圧縮及び非圧縮データの記憶

Country Status (4)

Country Link
US (1) US5394534A (ja)
EP (1) EP0587437B1 (ja)
JP (1) JP2731703B2 (ja)
DE (1) DE69331615T2 (ja)

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559978A (en) * 1992-10-14 1996-09-24 Helix Software Company, Inc. Method for increasing the efficiency of a virtual memory system by selective compression of RAM memory contents
JP3090384B2 (ja) * 1993-06-29 2000-09-18 株式会社日立製作所 着脱可能な記憶媒体を用いる外部記憶装置
CA2124754C (en) * 1993-06-30 2005-06-28 Mark Zbikowski Storage of file data on disk in multiple representations
CA2124752C (en) * 1993-06-30 2005-04-12 Mark Zbikowski Meta-data structure and handling
JP3478565B2 (ja) * 1993-08-06 2003-12-15 ブラザー工業株式会社 パラレルインタフェース回路
JP2611637B2 (ja) * 1993-11-22 1997-05-21 日本電気株式会社 画像圧縮伸長装置
JP2557203B2 (ja) * 1993-12-27 1996-11-27 インターナショナル・ビジネス・マシーンズ・コーポレイション ファジィ・パッキング方法及びデータ記憶システム
US6076084A (en) * 1994-01-03 2000-06-13 Norton-Lambert Corp. File transfer method and apparatus utilizing delimiters
JPH07205496A (ja) * 1994-01-14 1995-08-08 Oki Electric Ind Co Ltd ページプリンタ及びデータ圧縮方法
US5802599A (en) * 1994-02-08 1998-09-01 International Business Machines Corporation System and method for allocating storage in a fragmented storage space
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
US5915129A (en) 1994-06-27 1999-06-22 Microsoft Corporation Method and system for storing uncompressed data in a memory cache that is destined for a compressed file system
US5535372A (en) * 1994-07-06 1996-07-09 International Business Machines Corporation Method and apparatus for efficient updating of CKD data stored on fixed block architecture devices
JPH0830397A (ja) * 1994-07-20 1996-02-02 Sony Corp 情報記憶装置
US5901277A (en) * 1994-07-29 1999-05-04 Apple Computer, Inc. Shared decompression buffer
EP0696107B1 (en) * 1994-08-01 2002-01-16 OpenTV, Inc. Method for compressing and decompressing data files
US5561824A (en) * 1994-10-04 1996-10-01 International Business Machines Corporation Storage management of data for ensuring communication of minimal length data
US5630092A (en) * 1994-10-20 1997-05-13 International Business Machines System and method for transferring compressed and uncompressed data between storage systems
JP3554045B2 (ja) * 1994-10-28 2004-08-11 富士通株式会社 補助記憶装置の記録内容復元装置および記録復元装置
US6002411A (en) * 1994-11-16 1999-12-14 Interactive Silicon, Inc. Integrated video and memory controller with data processing and graphical processing capabilities
JPH08204967A (ja) * 1995-01-20 1996-08-09 Nec Corp データ符号化装置
US5682499A (en) * 1995-06-06 1997-10-28 International Business Machines Corporation Directory rebuild method and apparatus for maintaining and rebuilding directory information for compressed data on direct access storage device (DASD)
US5819026A (en) * 1995-06-06 1998-10-06 Apple Computer, Inc System and method for arbitrating accelerator requests
US5623701A (en) * 1995-06-06 1997-04-22 International Business Machines Corporation Data compression method and structure for a direct access storage device
US5537658A (en) * 1995-06-07 1996-07-16 International Business Machines Corporation Distributed directory method and structure for direct access storage device (DASD) data compression
US5818967A (en) * 1995-06-12 1998-10-06 S3, Incorporated Video decoder engine
US5774676A (en) * 1995-10-03 1998-06-30 S3, Incorporated Method and apparatus for decompression of MPEG compressed data in a computer system
US5778096A (en) * 1995-06-12 1998-07-07 S3, Incorporated Decompression of MPEG compressed data in a computer system
US5787446A (en) * 1995-08-03 1998-07-28 International Business Machines Corporation Sub-volume with floating storage space
US5778374A (en) * 1995-08-03 1998-07-07 International Business Machines Corporation Compressed common file directory for mass storage systems
US5666560A (en) * 1995-08-03 1997-09-09 International Business Machines Corporation Storage method and hierarchical padding structure for direct access storage device (DASD) data compression
US5819297A (en) * 1995-09-27 1998-10-06 Emc Corporation Method and apparatus for creating reliably duplicatable tape volumes without copying any padding
US5805086A (en) * 1995-10-10 1998-09-08 International Business Machines Corporation Method and system for compressing data that facilitates high-speed data decompression
US5778255A (en) * 1995-10-10 1998-07-07 International Business Machines Corporation Method and system in a data processing system for decompressing multiple compressed bytes in a single machine cycle
US5710909A (en) * 1996-01-23 1998-01-20 International Business Machines Corporation Data compression utilization method and apparatus for computer main store
US5802557A (en) * 1996-03-18 1998-09-01 Emc Corp System and method for caching information in a digital data storage subsystem
US5774715A (en) * 1996-03-27 1998-06-30 Sun Microsystems, Inc. File system level compression using holes
US5781722A (en) * 1996-05-10 1998-07-14 Symantec Corporation Method for diagnosis and repair of compressed volumes utilizing a bitmap
US5991542A (en) 1996-09-13 1999-11-23 Apple Computer, Inc. Storage volume handling system which utilizes disk images
US5745058A (en) * 1996-10-21 1998-04-28 International Business Machines Corporation Method and system for compressing microcode to be executed within a data processing system
US5857213A (en) * 1996-12-06 1999-01-05 International Business Machines Corporation Method for extraction of a variable length record from fixed length sectors on a disk drive and for reblocking remaining records in a disk track
US5860088A (en) * 1996-12-06 1999-01-12 International Business Machines Corporation Method for extraction of a variable length record from fixed length sectors on a disk drive
US6317742B1 (en) * 1997-01-09 2001-11-13 Sun Microsystems, Inc. Method and apparatus for controlling software access to system resources
US6119201A (en) * 1997-02-19 2000-09-12 International Business Machines Corporation Disk under-run protection using formatted padding sectors
US5999949A (en) * 1997-03-14 1999-12-07 Crandall; Gary E. Text file compression system utilizing word terminators
JP3671595B2 (ja) * 1997-04-01 2005-07-13 株式会社日立製作所 複合計算機システムおよび複合i/oシステム
JPH10289537A (ja) * 1997-04-11 1998-10-27 Sony Corp デジタルデータ記録方法およびデジタルデータ記録媒体
EP0874368A3 (en) * 1997-04-25 2003-03-19 Sony Corporation Information recording apparatus and method, and information reproducing apparatus and method
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
EP0915413A1 (en) * 1997-10-31 1999-05-12 Hewlett-Packard Company Data encoding scheme with switchable compression
US7024512B1 (en) * 1998-02-10 2006-04-04 International Business Machines Corporation Compression store free-space management
NL1008642C2 (nl) * 1998-03-19 1999-09-23 Oce Tech Bv Digitale kopieerinrichting met een persoonlijk gegevens-opslagsysteem.
US20010044850A1 (en) 1998-07-22 2001-11-22 Uri Raz Method and apparatus for determining the order of streaming modules
US7197570B2 (en) * 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6195024B1 (en) 1998-12-11 2001-02-27 Realtime Data, Llc Content independent data compression method and system
US6819271B2 (en) 1999-01-29 2004-11-16 Quickshift, Inc. Parallel compression and decompression system and method having multiple parallel compression and decompression engines
US7538694B2 (en) 1999-01-29 2009-05-26 Mossman Holdings Llc Network device with improved storage density and access speed using compression techniques
US6885319B2 (en) * 1999-01-29 2005-04-26 Quickshift, Inc. System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms
US6751714B2 (en) 1999-02-02 2004-06-15 Storage Technology Corporation Systems and methods for relocation of compressed data tracks
US6583887B1 (en) * 1999-02-26 2003-06-24 Hewlett-Packard Development Company, L.P. Method and apparatus for data compression
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6604158B1 (en) 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6956850B1 (en) * 1999-03-25 2005-10-18 Cisco Technology, Inc. Call record management for high capacity switched virtual circuits
JP2001027986A (ja) * 1999-05-10 2001-01-30 Canon Inc データ処理装置及び処理部選択方法
MXPA02004748A (es) * 1999-11-10 2004-01-19 Thomson Licensing Sa Un metodo para la recuperacion de desastre para un medio de disco de re-escritrua.
JP4424845B2 (ja) 1999-12-20 2010-03-03 本田 正 イメージデータ圧縮方法及び復元方法
US20010034838A1 (en) * 2000-01-14 2001-10-25 Motoshi Ito Control program, device including the control program, method for creating the control program, and method for operating the control program
US20010047473A1 (en) * 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US20030191876A1 (en) 2000-02-03 2003-10-09 Fallon James J. Data storewidth accelerator
US6523102B1 (en) 2000-04-14 2003-02-18 Interactive Silicon, Inc. Parallel compression/decompression system and method for implementation of in-memory compressed cache improving storage density and access speed for industry standard memory subsystems and in-line memory modules
US6697797B1 (en) * 2000-04-28 2004-02-24 Micro Data Base Systems, Inc. Method and apparatus for tracking data in a database, employing last-known location registers
US20020087717A1 (en) * 2000-09-26 2002-07-04 Itzik Artzi Network streaming of multi-application program code
US7417568B2 (en) 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US9143546B2 (en) * 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) * 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US6779088B1 (en) * 2000-10-24 2004-08-17 International Business Machines Corporation Virtual uncompressed cache size control in compressed memory systems
US7386046B2 (en) * 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US6516397B2 (en) * 2001-04-09 2003-02-04 Hewlett-Packard Company Virtual memory system utilizing data compression implemented through a device
RU2190884C1 (ru) * 2001-11-16 2002-10-10 Закрытое акционерное общество "Аргус Просистем" Способ записи данных на носитель информации с возможностью идентификации
US20070169073A1 (en) * 2002-04-12 2007-07-19 O'neill Patrick Update package generation and distribution network
US6700513B2 (en) * 2002-05-14 2004-03-02 Microsoft Corporation Method and system for compressing and decompressing multiple independent blocks
JP2004118828A (ja) * 2002-09-03 2004-04-15 Ricoh Co Ltd 画像処理装置
US7013378B2 (en) * 2003-04-30 2006-03-14 Hewlett-Packard Development Company, L.P. Method and system for minimizing the length of a defect list for a storage device
US7765377B2 (en) * 2003-05-08 2010-07-27 International Business Machines Corporation Apparatus and method to write information to one or more information storage media
US7886093B1 (en) * 2003-07-31 2011-02-08 Hewlett-Packard Development Company, L.P. Electronic device network supporting compression and decompression in electronic devices
US7080200B2 (en) * 2003-08-14 2006-07-18 Hitachi Global Storage Technologies Netherlands B.V. System and method for handling writes in HDD using 4K block sizes
US7904895B1 (en) * 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8140744B2 (en) * 2004-07-01 2012-03-20 Seagate Technology Llc Method and system for increasing data storage reliability and efficiency via compression
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US20070150690A1 (en) * 2005-12-23 2007-06-28 International Business Machines Corporation Method and apparatus for increasing virtual storage capacity in on-demand storage systems
US20070207800A1 (en) * 2006-02-17 2007-09-06 Daley Robert C Diagnostics And Monitoring Services In A Mobile Network For A Mobile Device
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
US7958331B2 (en) * 2006-12-13 2011-06-07 Seagate Technology Llc Storage device with opportunistic address space
GB2457303A (en) 2008-02-11 2009-08-12 Linear Algebra Technologies Randomly accessing elements of compressed matrix data by calculating offsets from non-zero values of a bitmap
US7987162B2 (en) * 2009-03-06 2011-07-26 Bluearc Uk Limited Data compression in a file storage system
US8874878B2 (en) 2010-05-18 2014-10-28 Lsi Corporation Thread synchronization in a multi-thread, multi-flow network communications processor architecture
US8910168B2 (en) 2009-04-27 2014-12-09 Lsi Corporation Task backpressure and deletion in a multi-flow network processor architecture
US8554745B2 (en) * 2009-04-27 2013-10-08 Netapp, Inc. Nearstore compression of data in a storage system
US9152564B2 (en) 2010-05-18 2015-10-06 Intel Corporation Early cache eviction in a multi-flow network processor architecture
US8873550B2 (en) 2010-05-18 2014-10-28 Lsi Corporation Task queuing in a multi-flow network processor architecture
US9727508B2 (en) 2009-04-27 2017-08-08 Intel Corporation Address learning and aging for network bridging in a network processor
US8949578B2 (en) 2009-04-27 2015-02-03 Lsi Corporation Sharing of internal pipeline resources of a network processor with external devices
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US8949582B2 (en) 2009-04-27 2015-02-03 Lsi Corporation Changing a flow identifier of a packet in a multi-thread, multi-flow network processor
US9223793B1 (en) * 2009-06-03 2015-12-29 American Megatrends, Inc. De-duplication of files for continuous data protection with remote storage
US8131688B2 (en) * 2009-08-26 2012-03-06 Lsi Corporation Storage system data compression enhancement
US8533564B2 (en) * 2009-12-23 2013-09-10 Sandisk Technologies Inc. System and method of error correction of control data at a memory device
US20120036366A1 (en) * 2010-08-09 2012-02-09 Microsoft Corporation Secure and verifiable data handling
JP2012048540A (ja) * 2010-08-27 2012-03-08 Canon Inc 画像処理装置及びその制御方法、情報処理システム、並びにプログラム
US9355220B2 (en) 2011-05-02 2016-05-31 Omnicell, Inc. Medication dispensing cabinet systems and methods
US8788712B2 (en) * 2012-01-06 2014-07-22 International Business Machines Corporation Compression block input/output reduction
US9195594B2 (en) * 2013-01-22 2015-11-24 Seagate Technology Llc Locating data in non-volatile memory
US9588694B1 (en) * 2016-01-21 2017-03-07 International Business Machines Corporation Storage device optimization
CN105723320B (zh) 2016-02-01 2019-03-19 华为技术有限公司 数据整理方法、存储设备、存储控制器以及存储阵列
US9880743B1 (en) * 2016-03-31 2018-01-30 EMC IP Holding Company LLC Tracking compressed fragments for efficient free space management
US10733305B2 (en) 2016-11-15 2020-08-04 StorageOS Limited System and method for implementing cryptography in a storage system
US10353632B2 (en) 2016-11-15 2019-07-16 StorageOS Limited System and method for storing data blocks in a volume of data
US10691350B2 (en) 2016-11-15 2020-06-23 StorageOS Limited Method for provisioning a volume of data including placing data based on rules associated with the volume
US10387305B2 (en) * 2016-12-23 2019-08-20 Intel Corporation Techniques for compression memory coloring
CN108599774B (zh) * 2018-04-26 2022-03-08 郑州云海信息技术有限公司 一种压缩方法、系统、装置及计算机可读存储介质
US10936197B2 (en) * 2019-04-15 2021-03-02 EMC IP Holding Company LLC Performing memory copy operations by a processor by employing a compression hardware device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02254570A (ja) * 1989-03-29 1990-10-15 Hitachi Maxell Ltd 光デイスクファイル装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3668647A (en) * 1970-06-12 1972-06-06 Ibm File access system
US4506303A (en) * 1982-09-24 1985-03-19 Itek Corporation Optical data recorder system
US4499539A (en) * 1982-12-20 1985-02-12 International Business Machines Corporation Method and apparatus for limiting allocated data-storage space in a data-storage unit
NL8301264A (nl) * 1983-04-11 1984-11-01 Philips Nv Inrichting voor het regelsgewijs comprimeren van binaire data van een beeldveld- en aftastinrichting voor een document voorzien voor zulk comprimeren.
US5247646A (en) * 1986-05-15 1993-09-21 Aquidneck Systems International, Inc. Compressed data optical disk storage system
US4914725A (en) * 1989-07-10 1990-04-03 International Business Machines Corporation Transducer positioning servo mechanisms employing digital and analog circuits
US5109226A (en) * 1989-11-22 1992-04-28 International Business Machines Corporation Parallel processors sequentially encoding/decoding compaction maintaining format compatibility
WO1991019255A1 (en) * 1990-06-04 1991-12-12 Maxtor Corporation Apparatus and method for efficient organization of compressed data on a hard disk
EP0490239A3 (en) * 1990-12-14 1992-09-02 Ceram Incorporated Storage of compressed data on random access storage devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02254570A (ja) * 1989-03-29 1990-10-15 Hitachi Maxell Ltd 光デイスクファイル装置

Also Published As

Publication number Publication date
JPH06168073A (ja) 1994-06-14
EP0587437A3 (en) 1995-11-08
DE69331615T2 (de) 2002-10-17
US5394534A (en) 1995-02-28
EP0587437A2 (en) 1994-03-16
EP0587437B1 (en) 2002-02-27
DE69331615D1 (de) 2002-04-04

Similar Documents

Publication Publication Date Title
JP2731703B2 (ja) データの圧縮/伸長と同一の取外し可能データ記憶媒体上への圧縮及び非圧縮データの記憶
US8019925B1 (en) Methods and structure for dynamically mapped mass storage device
KR100216146B1 (ko) 직접 액세스 저장장치의 데이터 압축 방법 및 압축 데이터 구조
US7124217B2 (en) Host interface for direct connection of an optical driver to an IDE/ATA data bus
US5297124A (en) Tape drive emulation system for a disk drive
US5034914A (en) Optical disk data storage method and apparatus with buffered interface
US20060039246A1 (en) Adaptive system to allow multiple update and correction sessions on an optical data storage card
JPH06231537A (ja) データ記憶装置
EP0967598B1 (en) Optical disk recording device and optical disk drive
US6665784B2 (en) Method for writing and reading data to and from a compact disc media
US6584544B1 (en) Method and apparatus for preparing a disk for use in a disk array
JPH02240862A (ja) 光磁気ディスク装置
US7546403B2 (en) Method and apparatus for a disc drive client interface
US6115342A (en) Optical disk recording device and optical disk drive
JP2581003B2 (ja) 記録用ディスク制御装置
JPH0512800A (ja) データ圧縮機能を備えた情報記録再生装置と情報記録媒体
JP3030949B2 (ja) ディジタルデータ記録再生装置
JP3477800B2 (ja) ディスクドライブ装置
JP2597451B2 (ja) 情報記録再生方法
JPH0246584A (ja) 光ディスクファイル方法
JPH01128144A (ja) フレキシブルディスク装置
JPH07161092A (ja) 光ディスク制御装置
JPH06342579A (ja) 記録媒体および情報処理装置
JPH0554537A (ja) デイジタルデータ記録再生装置
JPH01211386A (ja) 1回書き込み・多数読み出し形光学的データ蓄積装置

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081219

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091219

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091219

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101219

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131219

Year of fee payment: 16

EXPY Cancellation because of completion of term