JPH11242855A - ホストデータをフォーマットする方法 - Google Patents
ホストデータをフォーマットする方法Info
- Publication number
- JPH11242855A JPH11242855A JP10308159A JP30815998A JPH11242855A JP H11242855 A JPH11242855 A JP H11242855A JP 10308159 A JP10308159 A JP 10308159A JP 30815998 A JP30815998 A JP 30815998A JP H11242855 A JPH11242855 A JP H11242855A
- Authority
- JP
- Japan
- Prior art keywords
- data
- codeword
- bit
- record
- bits
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0682—Tape device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; 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/30—Indexing; 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/3027—Indexing; 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/21—Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
- G11B2220/215—Recordable discs
- G11B2220/216—Rewritable discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2562—DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
- G11B2220/2575—DVD-RAMs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/90—Tape-like record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/90—Tape-like record carriers
- G11B2220/91—Helical scan format, wherein tracks are slightly tilted with respect to tape direction, e.g. VHS, DAT, DVC, AIT or exabyte
- G11B2220/913—Digital audio tape [DAT] format
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 (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
ュータとの間のデータ交換処理効率を向上させる。 【解決手段】データの予め定義されたグループのメンバ
ーをmビットのコードワードでコード化し、他のデータ
をmビット長を超えるコードワードでコード化してコー
ド化データストリームを生成する。他のすべてのデータ
は共通のmビットのルート・シーケンスを有するコード
ワードでコード化され、共通のmビットのルート・シー
ケンス自身は予め定義されたデータのグループのどのメ
ンバーも表さない。mビットのルート・シーケンスは、
データ復号化中にmビットよりも大きい長さを持つ確保
されたコードワードの始まりとして検出される。確保さ
れたコードワードのルート・シーケンスのあとに続くビ
ット数によって、どれくらい多くの確保されたコードワ
ードがフォーマットのなかにあるかが決定される。
Description
に関係し、特に、しかし排他的でなく、例えばテープな
どの磁気媒体に格納するためにデータをコード化または
フォーマットするための方法および装置に関する。
ストコンピュータシステムは典型的には、テープドライ
ブのような記憶装置装置にレコードごとにデータを書
く。さらに、ホストコンピュータは、ファイル・マーク
(FILE MARKs)やセット・マーク(SET MARKs)などのレコ
ード分離文字を使用してレコード自体を分離してもよ
い。レコード長、およびレコードおよびレコード分離文
字が受け取られる順序がホストコンピュータによって判
断される。
含み、例えばワードプロセッサのドキュメント、コンピ
ュータグラフィック画像またはデータベースを構成する
データを含む。対照的に、ファイル・マークなどのレコ
ード分離文字は、ワードプロセッサのドキュメントの終
わりおよび次の始まりを示すためにホストコンピュータ
によって使用される。言い換えれば、 レコード分離文
字は典型的には関連するレコードのグループを分離す
る。
ンピュータがテープ記憶装置に書くことがあるユーザデ
ータおよび分離文字の論理的なシーケンスを図示する。
具体的には、 ホストコンピュータは、R1からR5の5つの
固定長レコードを供給し、レコードR1、 R2およびR5の
後に3つのファイル・マーク(FM)を置く。
コンピュータ・データを受け取り、データ・レコードを
レコード構造とは独立に固定サイズのグループに整理
し、それぞれのグループのインデックス形成部分におい
てレコード構造をレコードおよびファイルマーク位置に
よって表すことが知られている。そのような手法は、IS
O/IEC標準10777:1991 Eに定義されるテープドライブの
ためのDDS(デジタルデータ記憶装置)データフォーマッ
ト標準の基礎を形成する。ヨーロッパ特許出願EP0 324
542号明細書は、このような手法を実現するDDSテープド
ライブの1つの例を記述する。データのグループが形成
されると、テープドライブは、典型的には何らかの形態
の誤り検出/修正コーディングを適用した後に、グルー
プをテープに格納する。
ュータ・データをDDSグループに構成する態様を示す。
典型的に、ホストコンピュータ・データ・レコードは、
それぞれのグループにおいて連続したコード化されたデ
ータ・ストリームを形成するようコード化されるか圧縮
される。ファイル・マークはテープドライブによって受
け取られ(インターセプトされ)、コード化されたデー
タストリームにおけるファイルマークの出現および位置
を記述する情報がテープドライブ゛によって生成され、
それぞれのグループのインデックスに格納される。この
例で、レコードR1、 R2およびレコードR3の一部分は圧
縮されコード化されたデータストリームにされ最初のグ
ループに格納され、コード化されたデータストリームに
おける存在と位置を示す情報並びに1番目および2番目
のファイルマークが最初のグループのインデックスに格
納される。次いで、残りのレコードR3、レコードR4およ
びR5が圧縮され連続したコード化データストリームにさ
れ2番目のグループに格納され、コード化データストリ
ームにおける存在と位置を示す情報および第3のファイ
ルマークが2番目のグループのインデックスに格納され
る。
クの数およびそのグループにあるレコードの数に比例し
て変わることが理解されるであろう。したがって、それ
ぞれのグループについてコード化データストリームのレ
コードデータのために残されるスペースは、逆比例して
変わる。
記憶データを読み取るときホストコンピュータに戻すた
めにインデックス内の情報に依存してオリジナルのホス
トコンピュータ・データを再構築する。
のグループのインデックスの形を図示する。示されるよ
うに、各インデックスは、2つのメイン・データ構造、
すなわちブロックアクセス・テーブル(BAT)とグループ
情報テーブル(GIT)を含む。BATのエントリの数はGITのB
ATエントリ・フィールドに格納される。また、GITは、
記録の始まり(BOR)マーク以来書き込まれるFMの数であ
るファイルマーク・カウント(FMC)のような様々なカウ
ントを含んでいる。これには、現在のグループに含まれ
るものおよびレコード・カウント(RC)が含まれる。
レコード・カウントは、現在のグループに含まれるもの
を含み記録の始まり(BOR)マーク以来書き込まれるレコ
ードの数である。この簡単な例でのエントリのための値
が括弧に示される。GITは、現在のグループだけに生じ
るファイルマークおよびレコードのそれぞれの数のよう
な他の情報を含んでもよい。
の内容、特にグループで保持されるレコード・データの
論理的な区分化(すなわち、それはそれぞれのレコード
の長さおよびそのグループでのそれぞれのセパレータ・
マークの位置を記述するエントリを保持する)を記述す
る。BATでのアクセス・エントリはそのグループの内容
の順番であとに続き、そして BAT自体はグループの終わ
りから内側に成長しレコード・データのコード化データ
ストリームに出会う。
出願のヨーロッパ特許出願97308756.2は、レコード境界
を表す特別で、確保されたファイル・マークのようなコ
ードワードをコード化データストリームの中に埋め込む
ことによってBATのための条件が取り除かれる発明を記
載する。
ワードによってレコード境界およびファイル・マークを
見つけることができる。本願出願人によるもう1つのヨ
ーロッパ特許出願97308778.6は、圧縮データと非圧縮デ
ータの両方を同じ連続的なコード化データストリームに
コード化することができる発明を記述している。その発
明にとって、非圧縮データは単にエンコーダを通り抜け
コード化されない形で格納されるのが望ましい。
ためには、データ圧縮が入力データに適用されないとき
であっても、確保されたコードワードをコード化データ
ストリームにコード化する必要がある。2つの出願中の
特許出願の発明を結合する問題を取り扱ううちに、出願
人は特に有利な解決策に到達した。
発明はホスト・データをフォーマットする方法を提供
し、データの予め定義されたグループのメンバーをmビ
ットのコードワードでコード化し、他のデータをmビッ
ト長を超えるコードワードでコード化してコード化デー
タストリームを生成するステップを含む。他のすべての
データは共通のmビットのルート・シーケンスを有する
コードワードでコード化され、共通のmビットのルート
・シーケンス自身は予め定義されたデータのグループの
どのメンバーも代表しない。
ワードがあることができ、それの2m ー1は自由にグループ
のメンバーを表すことができる。言い換えれば、mビッ
トのルート・シーケンスはグループのメンバーを自由に
表すことができない。実用的な実施例で、mビットのル
ート・シーケンスは、データ復号化中にmビットよりも
大きい長さを持つ確保されたコードワードの始まりとし
て検出されている。明らかに、確保されたコードワード
のルート・シーケンスのあとに続くビット数が、どれく
らい多くの保留コードワードがフォーマットのなかにあ
りうるかを決定する。
ループには2mのメンバーがあり、確保されたmビットの
ルート・シーケンスが、より長いpビットのコードワー
ドの一部を形成する。このコードワードは、2mの可能
なメンバーの残りの1つを表すために保留されている。
すために2mのコードワードを使用することができること
である。例えば、m=8では、 28-1(すなわち255)のコ
ードワードが8ビット長であり、28番目(すなわち256
番目)のコードワードが例えば9ビット長である。9番
目のビットの状態が、9ビットのコードワードが256番目
の文字であるか、9ビットのコードワードが10ビット
以上の長さでありうるさらに他の確保されたコードワー
ドのルート・シーケンスであるかを決定する。
されたコードワード(ルート・シーケンスを含む)の長さ
(n)は13である。ルート・シーケンスの後の9番目のビ
ットの状態は、9ビットがグループの2m番目のメンバー
を表すことを示すか、次の4ビット(すなわち、合計13
ビット)が確保された16の可能なコードワードの1つを表
わすことを示す。
れないホスト・データをコード化するのに特に有利であ
る。例えば、ホスト・データがASCIIベースならば、グ
ループ・メンバーがASCII文字セットである場合があ
り、コードワードの1つを除いたすべてがASCII文字セッ
トの単純なコピーである場合がある。本当に、コードワ
ードの1つを除いたすべては、エンコーダによるさらな
る動作なしでエンコーダに単にASCII文字データを通す
ことによって形成されてもよい。1つの残りのコードワ
ードが次いで、レコード境界やファイルマークまたはデ
ータフォーマット制御データのように他のデータを表す
コードワードのルートとして使用されてもよい。この例
で、そうでなければルート・コードワードによって表さ
れるASCII文字は、より長いコードワードによって表さ
れる必要がある。
実施する装置は、以下の説明から明らかになるであろ
う。さらに、発明のいくつかの面は、フォーマットされ
たデータを読み取り復号するための方法および装置に関
連する。
請求項から明らかになるであろう。
よって受け取られるデータをテープへのその後の格納の
ために整理するための新データ・フォーマットに基づ
く。そのフォーマットを次に詳述する。
てテープドライブに書かれる、フォーマットに規定され
るデータの最も小さい集まりがレコード400である。レ
コード400はホストコンピュータによってテープドライ
ブによる処理のために供給されることができ、テープド
ライブによって再処理されホストコンピュータに提供さ
れる。レコードがホストコンピュータによって「書かれ
る」データの最小の集まりであるという概念は、データ
が実際にホストコンピュータとテープドライブの間で
「転送される」または「トランスポートされる」メカニ
ズムと混同されてはならない。そのようなメカニズム
は、典型的には基本的なプロトコル、例えば、 SCSI(ス
モールコンピュータシステムインタフェース)を利用す
る。このプロトコルは、ホスト・データの性質または構
造と関係なく比較的小さいパケットかバーストの点で明
確に規定された(すなわち、交渉済みの)の方法でデータ
を転送する。SCSIなどのプロトコルは、後続のパケット
またはバーストを受け付ける前にそれぞれのパケットか
バーストを有効にする。
き込みコマンドの形でホストコンピュータによってテー
プドライブに書き込まれることができるファイル・マー
ク410をサポートする。
コード400におけるデータが可能な場合はデータ圧縮(D
C)アルゴリズムによって連続的な(圧縮された)シリーズ
のデータ・コードワード(CW)にコード化されることを指
定する。このデータ・コードワードは図4においてラベ
ル420で示される。
間の主要な違いは、レコード境界とファイル・マークの
両方がシンボルまたは確保された(reserved:残してあ
る、予備の)コードワードとしてコード化され、連続的
な(圧縮された)コード化されたデータストリームに埋め
込まれることである。例えばDDSのような他のフォーマ
ットと比べて、これは、コード化された、または、圧縮
されたデータストリームが、別々に記録されるか転送さ
れたテーブルまたはインデックスを参照することなく、
レコードおよびファイル・マーク書き込みコマンドの直
列の流れに復号されるのを許容する。図4では、確保さ
れたレコード終り(EOR)コードワードは430で示され、確
保されたファイル・マーク・コードワード(FMC)は440で
示される。
質的な部分ではないが、コード化されたデータストリー
ム(データおよび確保されたコードワードを含む)は、下
に述べるようにさらにデータセット形に整理される。次
に、データはテープに書かれ、その過程において周知の
誤り検知・訂正コーディング、例えば、 リード-ソロモ
ンのコーディングの形で冗長性を加えることができる。
0万4352バイトのデータから成るデータセットに整理さ
れる。各データセット500は、固定長コードワード領域5
10および固定長データセット情報テーブル(DSIT)領域52
0を含む。各データセットはゼロから始まり連続的に割
り当てられる連続番号によって同定される。それぞれの
データセットの中で、バイトは0〜40万4351まで連続番
号によって同定され、コードワードはバイト0から左か
ら右にデータセット内で配列される。DSITはDDSフォー
マットのGITと性質的に似ており、1つの相違点は、こ
のフォーマットにはBAT(または、同等物)がないので、D
SITにおいてBATへの参照がないことである。。
リズムを使用してプロセスされる。この実施例による
と、アルゴリズムはALDC-2として知られているLZ-1スラ
イディング辞書圧縮アルゴリズムに基づく。ALDC-2アル
ゴリズムは、1024バイトの履歴バッファを使用してバイ
ト幅のデータをコード化し、バイト(リテラル)または履
歴バッファの中のバイトの文字列への参照を表すデータ
・コードワードのシーケンスを出力する。ALDC-2は周知
のECMA(ECMA-222)およびQIC(QIC-154)標準であり、ここ
では詳細を述べない。LZ-1方法は考案者であるA. Lempe
lとJ. Zivにちなんで名付けられたものであり、 James
A. Storerによる本"DataCompression: methods and the
ory"(1988年にコンピュータサイエンスプレスによって
発行された)に詳細が記述されている。LZ-2として知ら
れている他の同様の方法、すなわちこの本に記載されて
いるコードワード辞書技法も代わりに使用することがで
きる。
るように、コード化手法はALDC-2 DCアルゴリズムの変
更されたバージョンを利用し、2つのコード化手法、す
なわちデータを圧縮するためのもの(手法1)とデータを
圧縮しないで通すもの(手法2)とを切り換える能力、
並びに後続の復号化関数を制御するためまたはファイル
マークなどのホストコンピュータ・データ分離情報を識
別するために、コード化されたデータストリームに含め
ることができるたくさんの確保されたコードワードをサ
ポートする。
ード化手法から成り、そのどちらも処理中のデータの特
性に従って選択することができる。第1の手法(手法1)
は、履歴バッファのデータへの逆方向参照の使用でデー
タの冗長度を減少させ、 2番目の手法(手法2)は、修正
することなくデータを全般的にコピーする。手法2は、
ほとんどまたは全く冗長性を持たない、手法1において
拡張を実際に生じさせるデータを守るために提供され
る。そのような圧縮不可能なデータはグラフィカルなデ
ータか、既に圧縮されているデータでありうる。
のデータが履歴バッファを通り抜ける。したがって、手
法2から手法1への変化の後に、手法2を使って受け取ら
れ処理された履歴バッファ中のデータに手法1の逆方向
参照を使用することが可能である。それは、あたかも手
法2におけるデータ出力が手法1におけるリテラルとし
て出力されていたかのようである。
(以下で説明される)でとか、さらにデータを追加すると
きとかのように、そうすべき別の理由がないかぎり履歴
バッファはリセットされる必要がない。リセットは、意
味のある逆方向参照を提供するために履歴バッファが再
充填を必要とするので、典型的には圧縮比の潜在的な短
期間の減少を引き起こすだろう。
用され次のような3つのタイプのデータ・コードワード
を出力する。 1)リテラル: ‘0'にコード化中の8ビットのバイト
(またはそのコピー)が続く 9ビットのコードワード。 2)逆方向参照: ’1’に、マッチ長をバイトで表現す
る可変長2ないし12ビットのマッチカウント/フィール
ドが続き、これに履歴バッファにおける逆方向参照の始
まりの位置を示す10ビットの変位フィールドが続く可変
長コードワード。このように、 逆方向参照コードワー
ドは13ビットから23ビットの範囲の長さでありうる。 3)手法1の確保されたコードワード: いつもルート・
コードワード1.1111.11112で始まり、4ビットのフィー
ルドで終わり、図6に示すように確保されたコードワー
ドを同定する13ビット長のコードワード。16の可能な確
保されたコードワードは(図12に示されるように)有効
な逆方向参照でなく、逆方向参照と混同されることはな
い。
ードワードを出力する。 1)非コード化リテラル: 0x00から0xFEの範囲の8ビッ
トのデータ値について、8ビット入力のコピーである8ビ
ットのデータ・コードワードが出力される。 2)コード化されたリテラル: 8ビット・データ値0xFF
について9ビットのコードワード1111.1111.02が出力さ
れる。 3)手法2の確保されたコードワード: いつもルート・
コードワード1111.1111.12で始まり図6で示されるよう
に確保されたコードワードを同定する4ビットのフィー
ルドで終る13ビット長のコードワード。
致するバイトを求めて履歴バッファのすべてのバイトと
比較される。任意の一致は潜在的逆方向参照として扱わ
れる。一致が現れるならば、次の受け取られたバイトは
それぞれの潜在的逆方向参照に続くバイトと比較され
る。一致があるならば、2バイトについて逆方向参照が
発見されたことになる。一致が生じなくなるかまたは不
一致が起こるまで、これは続く。ミスマッチ前のバイト
の最も長いマッチングしている文字列がマッチカウント
および変位フィールドで規定された逆方向参照として使
用され、圧縮されコード化されたデータストリームに出
力される。図12のテーブルに示されるように、一致カウ
ント・フィールドは、より短い一致フィールドがより長
い一致フィールドの始まりとして誤って解釈されるのを
防ぐために、2、 4、6、 8または12ビットのフィールド
としてコード化される。
の13ビットの確保されたコードワードを出力し、最初の
9ビットが1で、後続の4ビットは後に規定する確保され
たコードワードの1つを表す値である。こうしなければ
ならない理由はないが、便宜上、同じ13ビットの確保さ
れたコードワードが両方の手法に使用される。
ド化するプロセス中にテープドライブによって、コード
化されたデータストリームに挿入され、復号化プロセス
の操作を制御し、ファイルマークのようなデータ分離情
報をコード化する。
はコード化または復号化中に、履歴バッファにパスされ
ない。
ードまたはファイル・マークが始まり終わるかを示す別
のインデックス(例えばBAT)がないので、この実施例
によるフォーマットは、コード化されたデータストリー
ム内でのデータ追加または動作の場所を見つけることを
イネーブルするための代替のメカニズムを提供する。
る予定位置で生じるコード化データストリームの特定の
規定された部分をあてにする。これを容易にするため
に、コード化されたデータストリームは、ホストコンピ
ュータからのデータ転送の始まりから32ビットのワード
に論理的に仕切られ、追加ポイントは常に32ビットのワ
ード境界と整列するかこれに詰められている。ワードの
32のビット長は、2のべき乗であり便利な数であるが、
ワードが他の長さとして規定されてはならない理由はな
い。
トで強制されるので、追加ポイントが逆方向参照に埋め
込まれるようにならない。追加ポイント前に見つけられ
たバイトの最も長いマッチング文字列が、マッチング文
字列が追加ポイントを超えて拡張してもよいかどうかと
は無関係に出力される。
うに「詰め」条件をもつ任意の確保されたコードワー
ド、すなわちファイルマーク、EOR、フラッシュ(詰
め)およびエンドマーカのコードワードの1つによって
決定される。ワード境界との整列を行うために、コード
化されたデータストリームにおけるこれらの確保された
コードワード(エンドマーカとは別に)の任意のものと
その次のワード境界との間のスペースは、もしあれば、
0でビット詰めされている。エンドマーカとその次の境
界との間のスペースは、もしあれば、1でビット詰めさ
れている。
におけるコードワードは、手法1と手法2の両方に必要と
されるようにそれぞれのデータセットのコードワード領
域510に格納するために32ビットのワードにビット詰
めされており、最も有意なビットが出力されるか復号中
に遭遇されるようにビット順が逆にされている。次にそ
れぞれの確保されたコードワードのより詳細な説明を行
う。
ッファがリセットされ(すなわち、後続のデータがバッ
ファの始めに置かれ)、続くすべてのデータ・コードワ
ードは、手法1のデータコードワードである。リセット
2か手法2コードワードのどちらかに遭遇するまで、これ
が適用される。
定する基礎が、達成した(または達成可能な)圧縮率に
完全に依存し、入ってくるデータの構造とは独立なの
で、リセット1コードワードはレコードの中か外のどち
らで生じてもよい。それがレコード外で生じる場合、コ
ードワードは詰め条件を持たないが、EORコードワード
のあとに続いて32ビット境界でいつも始まり、そのすぐ
後にフラッシュ(詰め)コードワードがいつも続く。こ
うしてその次のレコードまたはファイルマークはワード
境界で始まる。
のコードワードとして生じてもよく、この場合レコード
内にあるとされ、フラッシュ・コードワードがこれに続
く必要はない。
知識なしに伸長がそのポイントで確実に始まることがで
きるように、アクセスポイントに書かれている。アクセ
スポイントは、伸長が始まることができるデータデータ
セットのポイントであり、アクセスポイント後の逆方向
参照は、そのアクセスポイント後に受け取られた履歴バ
ッファ内のデータを参照することができるだけである。
伸長は、DSITを参照する必要性なしにアクセスポイント
を交差してシームレスに続くことができる。
必要があるので、圧縮率の潜在的な短期間の低減を引き
起こすだろう。
バッファがリセットされ(すなわち、後続のデータがバ
ッファの始めに置かれる)、あとに続くすべてのデータ
・コードワードは手法2のデータ・コードワードであ
る。リセット1か手法1コードワードのどちらかに遭遇す
るまで、これが適用される。
ードはリセット1コードワードに同じに扱われる。
ードワードが手法1データ・コードワードであることを
示し、リセット2または手法2コードワードのどちらかに
遭遇するまで、これが適用される。手法1コードワード
はレコードの中と外の両方に生じることができる。
がレコードの外で生じるとき、EORコードワードに続い
てそれはいつも32ビット境界で始まり、そのすぐ後に常
にフラッシュ(詰め)コードワードが続くので、次のレ
コードまたはファイル・マークはワード境界で始まる。
ードワードとして出力されてもよく、この場合レコード
内にあるのと考えられ、詰めコードワードがあとに続く
必要はない。
ードワードが手法2データ・コードワードであることを
示し、これは、リセット1か手法1コードワードのどちら
かに遭遇するまで適用される。他のすべてにおいて、そ
れは手法1コードワードと同じ効用を与える。
き込み(Write FILE MARK)コマンドを表し、従ってレコ
ード内には生じない。ファイル・マーク・コードワード
は、32ビット境界でいつも始まる。なぜなら、それはい
つも、データ転送の始め、レコードの後、または、別の
ファイル・マークの後のいずれかに位置するからであ
る。ファイル・マーク・コードワードには、 それぞれ
の詰め条件があるので、デフォルトとして、32ビットの
定数(1.1111.1111.0100 + 000.0000.0000.0000.00002
= FF980000h)として扱うことができる。
り、したがって、レコードの外では決して生じることが
できない。このコードワードに続くのは、次の32ビット
のワード境界まで埋め込むためのゼロから31の0であ
る。
ビット境界を始めることになり、EORコードワードと同
様に、次の32ビットのワード境界まで埋め込むためのゼ
ロから31の0が続く。詰めコードワードはレコードの
中または外のどちらで使用されてもよく、レコード中間
のコードワードを32ビット境界で整列させるために中に
置かれ、手法XおよびリセットXのコードワードの直後に
続くように外側に置かれる。こうして、任意の後続のレ
コード(または部分レコード)、ファイル・マークおよび
エンドマーカーのコードワードが確実に32ビット境界で
始まる。
セットXおよび手法Xのコードワードをサポートするため
にレコードの外で使用することができる。このような訳
で、これらのコードワードも次の表に示すように32ビッ
トの定数として扱うことができる。
1111.1111.0110 + 0000002 = FFAFFC00h 'Reset 2 → Flush' = 1.1111.1111.0001 + 1.1111.111
1.0110 + 0000002 = FFB7FC00h 'Scheme 1 → Flush' = 1.1111.1111.0010 + 1.1111.11
11.0110 + 0000002 = FF8FFC00h 'Scheme 2 → Flush' = 1.1111.1111.0011 + 1.1111.11
11.0110 + 0000002 = FF97FC00h
32ビットのワードの14番目のビットで始まる。
て、レコードかファイル・マークの後、またはデータの
終りに追加する能力を提供することが知られている。こ
のフォーマットの詰めコードワードは、レコードの内部
に追加ポイントおよび任意の位置を生成する一層の能力
を提供する。この機能が非常に役に立つ場合の例を以下
に示す。
でそれに続くデータは意味を持たず(それが任意の誤り
検知・訂正冗長性によってカバーされているかもしれな
いが)、それが遭遇されるデータセットの残りについて
の伸長を止めるために使用される。
ト境界で始まり次の32ビット境界まで(1で)埋めら
れているので、それは、32ビットの定数'1.1111.1111.1
111+111.1111.1111.1111.11112' = FFFFFFFFh.として扱
うことができる。
位置およびデータセットのデータの伸長を始めることが
できる位置を示すのに使用される。この実施例によると
データセットあたり多くても1つのアクセスポイントが
あり、その位置がDSITに登録されている。コード化され
たデータにおける任意のレコードまたはファイル・マー
クをアクセスするために、復号化は、レコードまたはフ
ァイル・マークの前のストリームにおけるアクセスポイ
ントから始まらなければならず、ターゲットに到達する
まで継続する。
タ転送における最初のデータセットの始めにあるものと
して規定され、その後は後続のデータセットの始めにあ
るものとして、または前のデータセットからデータセッ
トにスパンする任意のレコードの終わりのすぐあとに続
くものとして規定される。データセットにスパンするレ
コードが長く次のデータセットにもスパンするならば、
有効なアクセスポイントはなく、DSITにファイルされた
アクセスポイントの内容がこのことを示すためにFFFFFF
FFhにセットされる。
トされ、コードワードの1つ(リセット1かリセット2)が
任意のレコード・データに先行すし、任意のデータが書
かれるかまたはこれに遭遇する前にコード化手法が確実
に規定される。これにより、コード化手法が規定される
前にファイル・マーク・コードワードがアクセス・ポイ
ントに書かれることが可能になる。どの処理手法がその
ポイントから必要であるかに依存して適切なリセット・
コードワードが使用される。
ならない: 1)フラッシュが後に続くリセットX; 2)レコード・データが後に続くリセットX; 3)エンドマーカー(End Marker);または、 4)上記のいずれかが続くファイル・マーク。
ット」は、アクセスポイントの前にデータ入力を参照す
る逆方向参照が出力されるのを防止する。こうして、圧
縮と伸長は常にアクセスポイントで始まらなければなら
ない。
おり、テープにそのデータセットを書くことが必要であ
るならば、一層の処理ステップが生じる前にデータセッ
トが「完成される」。そのような場合、レコードが完全
でないならばそれはEORコードワードで終えられる。最
後の有効なコードワードは、その位置がDSITと符合(こ
の場合はいずれにしても部分的データセットではない)
しない限り、エンド・マーカー・コードワードである。
オプションで、 エンド・マーカー・コードワードでデ
ータセットの残りを満たすことができる。
で説明する。テーブルにおいて、最も有意のバイトは最
も低い番号のバイト位置であり、最も低有意のバイトは
最も大きい番号のバイト位置である。
まり(BOT)からのデータセットの順序数である。
するかもしれないエンド・マーカーまで(エンド・マー
カーを含まず)のプロセスされたコードワードに使用さ
れるデータセットの完全なバイトの数を示す。
セット内でのバイトオフセットである。 カウントはバ
イト0で始まりDSITの始めからである。したがって、ア
クセスポイントがデータセットの最初のバイトであれ
ば、アクセスポイント・オフセットはゼロであろう。デ
ータセット中にアクセスポイントがないならば、このフ
ィールドはすべて1に設定される(すなわち、 FFFFFFFF
h)。
のデータセットに存在するアクセスポイントとして定義
され、データセットにアクセスポイントがないならば、
前の最も近いアクセスポイントとして定義される。
後続のデータセットに生じる最初のアクセスポイントと
して定義される。
イントまでのすべてのデータセットにおける完全にプロ
セスされたすべてのレコードのカウントを指定する。
イントまでのすべてのデータセットにおいてプロセスさ
れたすべてのファイル・マークのカウントを指定する。
と次のアクセスポイントの間に存在するレコードの数を
指定する。したがって、レコードが前のデータセットで
始まり、いまのデータセットで終わるならば、そのレコ
ードは数えられない。現在のデータセットにアクセスポ
イントがないならば、このデータセットの中で始まった
り終わったりするレコードはなく、レコード・カウント
は前のデータセットのDSITでのレコード・カウントと同
じである。レコードがこのデータセットで始まるが後の
データセットまで完成しないならば、それはカウントさ
れる。したがって、データセットの中にアクセスポイン
トを持ったりゼロのレコードカウントを持つことはでき
ない。この実施例によるとまた、ファイル・マークはレ
コードとしてカウントされない。
次のアクセスポイントの間に書かれたファイル・マーク
の数を示す。
で終わらないならば、どれくらい多くのデータ・バイト
が現在のデータセットの最後のレコードにあるかを示
す。さもなければ、 値はゼロである。
ルドは、ベンダ特定の情報または テープ用法情報のた
めのものであり、この発明とは関係しない。残りのDSIT
フィールドは、したがってここでは詳細に記述しない。
び回復を行うためのテープドライブのための模範的なア
ーキテクチャが図8に示されている。図8を参照する
と、テープドライブ800がSCSIバス806を介してホストコ
ンピュータ(図示されない)に接続される。ホストコンピ
ュータは、適切な‘アプリケーション'および‘ドライ
バー'のソフトウェアをロードしており、テープドライ
ブ800と適切な方法で通信することができる。
800は、テープ876にバックアップすべきデータをホスト
コンピュータから受け取り、「読み取り」操作において
テープドライブ800は、テープ876から検索されたデータ
をホストコンピュータに送り返す。ここで記述される実
施例では、SCSIバス806がホストコンピュータにテープ
ドライブ800を接続する。しかしながら、たくさんの他
の一般的なインタフェース・タイプの任意のものを使用
してもよい。
上で記述されたフォーマットによりデータを格納し検索
する。図8でテープドライブ800はテープ・メカニズム87
0を含み、その他のすべてのコンポーネントで「コント
ローラ」805が形成される。
ータ処理操作を実行するように設けられた一連のASIC
(適用業務に特化された集積回路)を含む。ASICは、SCSI
バス806を介してホストコンピュータとテープドライブ8
00の間でのデータの転送を管理するためのホストインタ
フェース810、第1のデータバス815によってホストイン
タフェース810に接続されるフォーマッタ820、およびは
第2のデータバス835によってフォーマッタ820に接続さ
れた読取り書込み回路840である。また、含まれている
のは、データセット形のデータを格納するめの主バッフ
ァ830であり、メモリバス825によってフォーマッタ820
に接続されている。メインバッファ830は、少なくとも1
つのデータセットを格納するに十分なサイズである1ブ
ロックのDRAM(ダイナミックRAM)を含む。
イヤグラムに詳細に図示される。示されるように、フォ
ーマッタ820は、受け取られるホストコンピュータ・デ
ータ・バイトを手法Xコードワードとしてコード化する
ためのエンコーダ900を含み、このエンコーダは手法1ま
たは手法2のコードワードをホストコンピュータのデー
タに適用すべきであるかどうか決定するために履歴バッ
ファ903および比較器907を組み込んでいる。フォーマッ
タ820は、32ビットのワード境界の観点からコードワー
ドをコード化されたデータストリームに設えるためのパ
ッカー910を含み、このパッカーは、どのコードワード
が確保されたコードワードであるか、およびどの確保さ
れたコードワードがそれぞれの詰め(フラッシュ)条件
を持つかを解釈するために使われる参照用テーブル915
を組み込んでいる。
ーラ68000シリーズ・マイクロプロセッサのようなマイ
クロプロセッサ850、およびメインメモリ860を含む。こ
のメインメモリは、マイクロプロセッサ850によってア
クセス可能なROM(固定メモリ)またはEEPROM(電気的に消
去可能なプログラマブルROM)であってもよい。マイクロ
プロセッサ850は、メインメモリ860に格納されたファー
ムウェア命令によって制御され、後述するようにドライ
ブ805のすべての構成要素を制御する。マイクロプロセ
ッサ850はシステムバス852を通してテープドライブの他
の構成要素に接続され、テープドライブ800のそれぞれ
の構成要素の総合的な操作を制御する。
20との間でデータを転送するための第1データバス815
は、16ビットのデータチャネルと2ビットの制御チャネ
ルを備える。それぞれ835および845とラベルされる第2
および第3のデータバスは16ビットのデータチャネルを
含む。データチャネルの実際の幅は重要でないが、より
多くのビットを並列に運ぶことができる広いチャンネル
は、より速い処理パイプラインを提供することができ
る。
ス845によって読取り書込み回路840に接続された読み出
し/書き込みヘッド874、およびヘッド874の動きを制御
するためのヘッド・アクチュエータ833を備える。図3
(A)と3(B)はデータをテープに書き込むことができる2つ
の一般的な方法を図示する。
まで一連の斜めのトラック300としてテープの長さに沿
って書き込まれている。一般に、このタイプのデータの
格納方法はヘリカルスキャン方式として知られており、
典型的には4つのヘッド(読み取り書き込みにそれぞれ
2つ)を持つ回転ドラムを有するテープドライブ依存し
ている。そのようなテープドライブはよく知られてお
り、上述のDDSデータ記憶装置標準の基礎を形成する。
並列チャンネル320として書き込まれたデータを図示す
る。この技法は線データ記録として一般的に知られてい
る。この図で、集合的にトラック340として知られる4つ
(あるいはそれ以上)の並列チャンネルのグループは、テ
ープの一端Aから他端Bまで静止形の多重チャネルヘッド
で書かれている。ヘッドがテープの端Bにデータを書き
込むとき、それはxだけ位置ずれし、テープは巻き戻さ
れるのでデータはテープの他端Aに向けて逆方向に書き
込むことができる。テープの全体の幅が使用されるま
で、データが受け取られる限り、このプロセスを続ける
ことができる。
例によってコード化されたデータを書き込むのに使用す
ることができる。この実施例は特定の技法に限られるも
のではない。このデータフォーマットは、しかしなが
ら、線形テープ記録技法に向けられると特に有利である
と期待される。
は、基本的なSCSIプロトコルに従ってSCSIバス806を通
してホストコンピュータからデータを受け取る。データ
が制御データ(例えば、ロード、アンロードまたはスペ
ース)であるならば、ホストインタフェース810がマイ
クロプロセッサ850にデータをパスし、マイクロプロセ
ッサ制御がテープドライブ800を制御ししかるべく動作
させる。
プに格納されるべきレコード・データならばホストイン
タフェース810は、データをフォーマッタ820に送り、デ
ータはコード化され可能な場合はコード化されたデータ
ストリームに圧縮される。エンコーダ900は、レコード
・データのバイトをコード化し、圧縮する目的のために
履歴バッファの903および比較器907と対話する。パッカ
ー910は、それぞれの詰め条件に従って必要に応じてス
トリームのコードワードをビット詰めする。参照用(ル
ックアップ)テーブル915は確保されたコードワードに
関連する情報を含んでおり、このコードワードによって
パッカー910はデータストリームにおいてエンコーダに
よって提供された確保されたコードワードを認識するこ
とができ、それらを適切にパックすることができる。コ
ード化されパックされたデータはメインバッファ830に
転送される。
り書込み回路840に送る前にエラー訂正/検出コーディン
グを適用してもよい。その詳細はこの明細書の範囲外で
あり、説明を省略する。適切な場合、フォーマッタ820
はバッファの主な830からのデータを検索し、それを読
取り書込み回路840に送る。
ータを受け取り、データを読み出し/書き込みヘッド(s)
874を駆動するのに適当な信号に変える。データを書き
込む目的のために、ヘッド・アクチュエータ872はテー
プ876に関しヘッド874を動かし、テープ・メカニズム87
0はヘッド874に関しテープ876を動かす。既に述べたよ
うに、この実施例に従う操作に適したメカニズムを含む
テープデッキは、一般にテープ記憶装置の技術で知られ
ているので、ここでの説明は省略する。
ポーネントは、読取り操作のために、テープからデータ
を読み取り、適切であるならば誤り検出/修正コーディ
ングを取り除き、テープ876から回復されたデータを解
凍復号し、データをホストコンピュータ810にパスする
ために、逆に動作する。
をここで説明する。
ードかファイル・マークを書き込むために書き込み(ラ
イト)コマンドをホストインタフェース810に送る。テ
ープドライブが要求に応じるかどうかが、次に説明する
ようにフォーマッタ820がホストコンピュータからデー
タを受け取る準備ができているかどうかによって決定さ
れる。総合的な書き込みプロセスはマイクロプロセッサ
850によって制御される。
受け取り次第、データ・レコードを書くために、ホスト
インタフェース810はリクエスト信号をマイクロプロセ
ッサ850に送ることによって、レコードに値するデータ
をフォーマッタ820に送る許可を要求する。マイクロプ
ロセッサ850は続いてフォーマッタ820の状態部をテスト
する。フォーマッタ820の状態部が許容するならば、デ
ータ・レコード全体を受け取るスペースがメインバッフ
ァ830にあり、以前に受け取られたデータの処理が完了
しているので、マイクロプロセッサ850はホストインタ
フェース810にフォーマッタ820へのデータ転送を始める
信号を送る。一方、フォーマッタ820の状態が、メイン
バッファが充満していること、または既存のデータがま
だプロセス中であることを示すならば、要求は拒絶さ
れ、または「保留(オフにする)」にされる。準備がで
きている場合、ホストインタフェース810は、レコード
に値するデータを一度に16ビット第1のデータバスを介
してフォーマッタ820に転送する。ファイル・マークを
書くためのプロトコルは、ホストコンピュータ・インタ
フェース810がマイクロプロセッサ850へファイル・マー
ク書き込み命令が受け取られたことを知らせる信号を送
ることである。これに応答して、マイクロプロセッサ85
0は、ファイル・マーク・コードワードをコード化され
たデータストリームに、前のレコード(またはファイル
・マーク)の終わりの後に挿入するようフォーマッタ82
0に信号を送る。
との間で書き込むことができるデータの最も小さいチャ
ンクとしてレコードを扱うが、ホストインタフェースお
よびテープドライブ・ホストインタフェース810によっ
てサポートされる基本的なSCSIプロトコルは、実際に、
「バースト」として知られるSCSI定義されたチャンクに
おけるデータ転送を管理する。バーストは典型的にはレ
コードよりも小さい。このように、事実上それぞれのレ
コード内で、ホストコンピュータとテープドライブ800
がバーストによってデータを転送する。SCSIはこの機能
をサポートし、同時に多重デバイスをサービスすること
を可能にする。バースト長さは、典型的にはホストコン
ピュータとテープドライブ800(一般にはSCSIプロトコル
の下で作動する任意のデバイス)によってデータ転送の
前に交渉される値であり、一般的に、32キロバイトか64
キロバイトに設定される。
フェース810にパスされるデータのバーストのそれぞれ
は、典型的にはSCSIバスの送信端(例えば、 書き込み操
作中のホストコンピュータのホスト・バス・アダプタ
ー)によって加算され、SCSIバスの受信端(例えば、 書
き込み操作中のテープドライブ800のホストインタフェ
ース810)によってチェックされる、2ビットのパリティ
情報を含む。パリティ情報は受信端でバーストデータの
完全性の簡単なチェックとして使用され、ホストコンピ
ュータ・インタフェース810を超えてはパスされない。
ウンタ811とレコード・カウンタ812の2つのバイト・カ
ウンタを組み込んでおり、レコードおよびバーストの転
送中にホストインタフェース810からフォーマッタ820ま
でのバイト・パスとしてカウンタにサービスを提供す
る。カウンタ(811と812)は、それぞれのバーストまたは
レコードについてバーストまたはレコード内のバイトの
数をプレロードされている。各バイトがホストインタフ
ェース810から去るに従ってカウンタ(811と812)はディ
クレメントする。この方法によって、カウントの1つが
ゼロであるときにホストインタフェース810がバースト
かレコードの終わりが生じたと判断し、フォーマッタ82
0のためにそれぞれのシグナルまたは「フラグ」を生成
する。
ルの終わりはフォーマッタ820に、第1のデータバス815
の2ビットの制御チャネル上の2ビットの制御信号として
伝えられる。実際上、これらの信号は、 バーストまた
はレコードの最後のバイトと同時にパスするようにタイ
ミングを合わせられている。これに応答して、フォーマ
ッタ820は、信号を受信し、コード化されたデータスト
リームにおける前のコードワードの最後のバイトの後
に、詰めコードワード(バーストの終わりについて)かEO
Rコードワード(EORのための)を挿入するよう構成されて
いる。バーストの終わりとEORが一致する場合、EORが優
先順位を取り、フォーマッタ820は、EORコードワードを
加算するだけになっている。
は、適切な信号によって、ファイル・マーク、EORおよ
び詰めコードワードのコード化されたデータストリーム
への加算を制御するためにフォーマッタ820によって必
要とされるすべての情報を提供する。
インタフェース810がタイミングを制御することを除い
て、概して書き込みプロセスの逆である。すなわち、フ
ォーマッタ820は、復号されたデータ、レコードまたは
ファイル・マークを、ホストインタフェース810とホス
トコンピュータがデータを受け取る準備ができているか
どうかに基づいて、ホストインタフェース810に送るた
めの許可を一度に要求しなければならない。
ードワードを加算する能力の1つの利点を次に説明す
る。
るテープドライブはホストインタフェースを構成する、
データの1つまたは複数の全体のバーストを受けること
ができるくらい大きいバッファを使った。バッファにお
けるデータの各バーストは前処理され、バーストのバイ
トがデータ圧縮のようなデータ処理に進められる前にパ
リティ情報を参照してその完全性を検査された。パリテ
ィ情報によって、バーストが‘悪い'ことが決定される
ならば、ホストインタフェース(または同等なホスト・
バス・アダプター)はバーストの再転送を要求する。
ータ処理ステージに入り、コード化され、特に圧縮され
ると、典型的にレコードの中にある「バースト境界」が
結果の圧縮データストリームで「失われる」ことにあ
る。この場合、例えば、1回のバーストにおける最後の
バイトおよび次のバーストの最初のバイトが単一の逆方
向参照によってコード化されたデータストリームに表さ
れるときに、バースト境界が「失われる」ことがある。
このように、再びバーストを送りコード化されたデータ
ストリーム内の正しい位置に置くことは、極度に難し
く、処理面からは扱いにくい。
クとして認識され、バッファメモリとして高価で速いSR
AMを使うことによってこれまである程度低減されてきて
いる。
様で記述し、前処理のためのホストインタフェースのバ
ッファの必要性を大きく取り除いた。
ムは、コード化されたデータストリームのバーストの終
わりを識別するのに詰めコードワードを使用することに
よって可能になる。既に記述したように、詰めコードワ
ードは、ホストコンピュータ・データストリームでの任
意の点をコード化されたデータストリームにおけるワー
ド境界と整列させるために使用することができる。この
場合、詰めコードワードは、それぞれのバーストの終わ
りで次のバーストの始まりをコード化されたデータスト
リームにおける次の32ビットのワード境界と整列させる
のに使用される。このように、バースト境界は、圧縮デ
ータ・ストリームにおいてでも任意の詰めコードワード
のあとに続く32ビットの境界として明確に識別できる。
バーストは、データが圧縮されているときであっても、
それぞれのデータセットの「悪い」コード化されたデー
タの上に書き込むことができる。
書き直しは、フォーマッタ820によって制御され、この
フォーマッタは、第1のポインタと2番目のポインタの2
つのポインタを有する。第1のポインタはメインバッフ
ァ830における次のデータ・バイトが書き込まれべき記
憶位置を示し、この記憶位置は、1バイトがメイン・バ
ッファに書き込まれるたびにインクリメントされる。第
2のポインタは、データの最新のバーストに先行する、
詰めコードワードによって生成された、32ビット・ワー
ドの境界の記憶位置を示す。それぞれの新しい詰めコー
ドワードがメインバッファ830に書き込まれるにつれ
て、第2のポインタの値が更新される。ホストインタフ
ェース810がバースト・リトライを要求するとき、マイ
クロプロセッサ850を通してフォーマッタ820は第1のポ
インタを最新のアクセスポイントの位置にリセットし、
このアクセスポイントから第2のポインタによって指し
示される記憶位置へと読み出す。その後、 悪いバース
トは再送されたバーストによって上書きされる。このバ
ーストが首尾よくバッファのメイン820に書き込まれる
まで、このプロセスは繰り返される。
き、ホストインタフェース810のカウンタ(811と812)
は、再び通り抜ける同じバイトを収容するため、バース
トにおけるバイトの数だけインクリメントされる。
は、履歴バッファ903がデフォルトで、再送処理された
バーストを書き込むため元々送られたバージョンのバー
ストを書くためのものと同じ状態にリセットされること
である。
よってバーストにおけるバイトは、受け取られるにつれ
て圧縮のためにフォーマッタ820にパスされることがで
きる。言い換えれば、バイトをフォーマッタ820に送る
前にバースト全体を受け取るのを待つ必要がないので、
ボトルネックが取り除かれる。さらに、前処理のために
データの1つまたは複数の全体バーストを保持する、ホ
ストインタフェース810におけるバッファの必要性もな
い。
うか判断するために必要である。しかしながら、パリテ
ィチェックは、そのバイトがホストインタフェース810
を通り抜けるときホストインタフェース810によって計
算され、結果のパリティチェック数値は、ホストコンピ
ュータから受信されたバーストについてパリティ情報と
比較される。バーストの任意のデータが「悪い」場合、
ホストインタフェース810はホストコンピュータに、標
準のSCSIコマンドであるバースト・リトライを要求す
る。
インバッファ830における任意の位置に拡張することが
できる。例えば、 ホストコンピュータは任意の時にSCS
Iコマンド「セーブ・ポインタ」を発行することができ
る。このコマンドは、ホストインタフェース810によっ
て詰めコードワードをコード化されたデータストリーム
に挿入する要求として解釈されることができる。ホスト
コンピュータがデータの各バーストの前に「セーブ・ポ
インタ」コマンドを発行するならば、ホストインタフェ
ース810はこれを詰めコードワードを付加する要求とし
て解釈してもよく、これによりバースト・カウンタ811
が不要になる。
して書き込み操作に関してより詳細に説明する。
は、テープドライブ800がホストコンピュータから書き
込みコマンドを受け取り、マイクロプロセッサ850が書
き込み操作のためにテープドライブを初期化した後にス
テップ1000で始まる。ステップ1010で書き込みコマンド
が「ファイル・マーク書き込み」であり、フォーマッタ
820の準備ができているならば、ホストインタフェース8
10がファイル・マーク信号をマイクロプロセッサ850に
送り、マイクロプロセッサ850がステップ1020でファイ
ル・マークコードワードを出力するためフォーマッタ82
0に信号を送る。
ものであり、フォーマッタ820の準備ができているなら
ば、フォーマッタ820がホストインタフェース810からレ
コード・データを受け取り、エンコーダ900は、ステッ
プ1030においてバイトごとに手法Xコード化を適用す
る。Xは、以下に説明するある基準に依存して1または
2であることができる。
のバイトデータが履歴バッファ903を通る。このよう
に、手法1の場合、エンコーダ900は、可能であれば履歴
バッファ903に存在するコードワードを参照してコード
ワード・データを出力する。手法2の場合、エンコーダ9
00にはパススルーモードがあり、エンコーダ900によっ
て受け取られるバイト値は、単にエンコーダを通りエン
コーダの外にパスされる。データがなんの処理も受ける
ことなくパススルーする場合であっても、各バイトはま
だコード化されたデータストリームにおけるコードワー
ドと呼ばれる。
ーマッタ820がホストインタフェース810から詰めポイン
ト信号を受信するとき、コード化されたデータストリー
ムのバーストの最後のバイトの後に詰めコードワードを
挿入することによって達成される。また、ホストインタ
フェース810からのEOR信号に対応して、コード化された
データストリームのレコードの最後のコードワードの後
にEORコードワードが付加される。
ついてコードワードが書き込まれた後、次のステップ10
40は、アクセスポイントが必要かどうかを判断するため
のものである。新しいデータセットの始まりの後できる
だけ早くアクセスポイントが必要とされる。これは実際
上、データセットの始め、またはデータセットにおける
第1の部分レコードの終わり(レコードが前のデータセッ
トで始まったならば)の後であるだろう。アクセスポイ
ントが必要とされるとき、ステップ1050でフォーマッタ
820は、それぞれのEORコードワードを出力した後、パッ
カー910における残りのデータがメインバッファ830にパ
スするまで、ホストインタフェース810からのさらなる
データを「ホールドオフ」する。そして、メインバッフ
ァ830に保持された現在のデータセットについて、フォ
ーマッタ820はアクセスポイントの位置(現在のデータセ
ットの始まりからのバイト・オフセット)をDSITに登録
する。その後、フォーマッタ820は適切なリセットXコー
ドワードを出力し、ホストコンピュータ・インタフェー
ス810からのデータ・バイトを受け取り続ける。
ステップ1010に返りレコードまたはファイル・マークを
さらに処理するか、またはプロセスはステップ1070で終
了する。
ンタフェース810から受け取られる信号、特にEORおよび
ファイル・マーク信号、に基づいてフォーマッタ820に
よって生成される。
までのデータをパスすることは、データセットごとにマ
イクロプロセッサ850によって制御される。言い換えれ
ば、マイクロプロセッサは、少なくとも1つのデータセ
ットが完全になるまでメインバッファ830からテープへ
のデータ転送に着手しない。逆に、テープからデータを
読取るとき、1つのデータセット全体のために十分な空
間がメインバッファ830にあるようになるまで、マイク
ロプロセッサ850はテープドライブ800がデータを読み取
るのを許可しない。
あるかに関し、フォーマッタ820は、手法1を使ってコ
ード化されたデータの圧縮比をモニタするために比較器
907の形でモニタ機能を含む。比較器907は、2つのカウ
ンタ、すなわち1バイトがエンコーダにパスされるたび
にインクリメントする第1カウンタ904、およびエンコ
ーダ900から出力される(手法1において)かまたは出
力されるであろう(すなわち、手法2における逆方向参
照)圧縮されたビットの数に沿ってインクリメントする
第2のカウンタ905を含む。また、比較器は分割回路906
を含み、この分割回路は、所与の時間における第1のカ
ウンタ906の値にわたって第2のカウンタ905の値の比率
を計算する。明らかに、分割の前に、同等の数のビット
入力を与えて正しい比率を提供するために、バイト入力
の数に8を掛けることが必要である。この比率は所与の
期間にわたる圧縮率の平均(真または潜在的な)を表して
いる。この所与の期間はエンコーダ900へのバイト入力
の数によって測定することができる。例えば、比率は、
それぞれのワードに値するデータ(すなわち32ビッ
ト)、それぞれのバーストに値する(例えば32kバイ
ト)のデータ、またはその他任意の期間(例えば1つの
バイトの後ごと)にわたって計算されてもよい。比率が
計算されるたびに、比較器はどの手法が動作中であるか
を示すフラグを生成し、カウンタは、次の比率計算を始
めるためにリセットされる。明らかに、圧縮比の計算法
には他の多くの方法がある。
きい値の下より小さいならば、比較器907は手法1から手
法2へのスワップをフラグする。手法2にあるとき、すべ
ての入力データが履歴バッファ903をパススルーするの
で、事実上、手法1コード化はまだイネーブルされてお
り、潜在的な圧縮比測定が続けられる。比率が第2のし
きい値を超えて上昇するならば、手法1へのスワップが
比較器907によって合図される。期間としきい値は構成
可能であり、手法1から手法2へのスワップのための第1
のしきい値は、手法2から手法1へのスワップのための第
2のしきい値と同じであっても異なってもよい。最も良
い総合的な圧縮性能を提供するための期間としきい値の
値は、発見的に決定することができる。代わりに、値は
受け取り中のデータの性質に基づいて適応的に決定して
もよい。もちろん、適応型のオプションは余分な機能性
がテープドライブ800に組み込まれることを必要とする
だろうが、これについての説明は省略する。
(最初のデータセットの最初のレコードに対するデフォ
ルトであり、リセット1コードワードによって判断され
る)、圧縮比が例えば1:1より低下するならば、フォ
ーマッタ820が手法2コードワードをコード化されたデー
タストリームに挿入する。その後、フォーマッタ820に
よって受け取られるレコード・バイトは、コード化され
ないで、エンコーダ900をパススルーする。
縮比が例えば1.5:1より上に上昇するならば(すなわ
ち、手法1と2のスイッチングレベルの間には、ヒステリ
シスの要素がある)、エンコーダ900は手法1コードワー
ドを挿入し、後続のレコード・データ・バイトは、手法
1コード化を使用して出力される。
は、履歴バッファ903に影響せず、履歴バッファはリセ
ットされない。このことは、手法2から手法1へのスイッ
チの後に完全な履歴バッファの内容が潜在的逆方向参照
として利用可能であることを意味する。
作は、書き込み動作の正反対であり、既知の態様で圧縮
の代わりにデータ伸長がエンコーダ900(デコーダとし
て機能する)によって、コード化されたデータに適用さ
れる。実施例によっては、エンコーダ900とは別のデコ
ーダを備えるのが好ましいことがあり、これはデザイン
選択の問題である。
要とされないので、伸長は圧縮よりも直接的である。伸
長は単に、フォーマッタ820が受け取る手法Xおよびリセ
ットXのコードワードのあとに続いている。確保された
コードワードは別として、データ・コードワードは、既
知のそれぞれの伸長アルゴリズムを適用することによっ
て単に復号される。
出され、データストリームから取り除かれ、必要な場合
はエンコーダ900(デコーダとして動作している)によ
って処理される。エンコーダ900によって検出されたフ
ァイル・マーク・コードワードは、マイクロプロセッサ
850を通してフォーマッタ820が、ファイル・マークがホ
ストコンピュータに送り返されるべきであることを示す
信号をホストインタフェース810に送るようにさせる。
その他の確保されたコードワードは、どれもホストコン
ピュータに関する限り意味をもたないので、それらはデ
ータストリームから単に取り除かれる。しかしながら、
手法XおよびリセットXのコードワードは、それぞれフォ
ーマッタ820にコード化されたデータを復号させ、履歴
バッファをリセットさせる。
トを参照してより詳細に説明する。
コードワード・データに作用する。ステップ1100におい
てデータは一度に1つのコードワードでパッカー910に
渡される。それぞれのコードワードが受け取られるにつ
れて、パッカー920は参照用テーブル915を参照して、コ
ードワードがワード境界条件に関連するフラッシュ(詰
め)を持つ確保されたコードワードであるかどうかを判
断する。参照用テーブル915は、確保された各コードワ
ードについてエントリを含んでおり、このエントリは、
詰め条件があるかどうかおよびコードワードの埋め込み
に1を使うのか0を使うのかを示す。また、 参照用テ
ーブル915におけるエントリは、どのコードワードが確
保されたコードワードであるかおよび確保されたコード
ワードはどうプロセスされるべきであるかを判断するた
めに、復号化中に使用される。
ドワード・データはパッカー910の「バーレル・シフ
タ」関数912にわたされる。これは、動作的にはFIFOレ
ジスタと似ており、データビットのストリームをその概
念的な「トップエンド(最先端)」に受ける作用を行
い、そのビット(複数)をその概念的な「ボトムエンド
(下端)」にパススルーし、その概念的な「側」から3
2ビット幅のデータワードを並列に出力する。この実施
例によると、データバスの幅は16ビットなので、ビッ
トは必然的に「側」から16ビットの2ブロックとして
出力される。
動作する。ステップ1110でコードワード・データの付加
が既にバーレル・シフタ(もし必要であればその中に任
意のビットが既に入っている)にあるビットの数を32
ビット以上に増加させるならば、ステップ1115でシフタ
は最も末尾の32ビットをメインバッファ830の現在の
データセットにシフトさせる。次いでステップ1120で
は、バーレル・シフタの残りのビット(残りのビットが
あるならば) は、バーレル・シフタの末尾にシフト(32
ビットだけ)される。プロセスは、次いでステップ1110
に返り、シフタにおけるビットの数がさらにチェックさ
れる。
いならば、ステップ1125でパッカがシフタに残りのビッ
トがあるかどうかチェックする。残りのビットがないな
らば、パッカープロセスはステップ1145で終わる。残り
のビットがあるならば、ステップ1130において、パッカ
910が参照用テーブル915を参照して詰め条件を持つ確保
されたコードワードの存在を検出したかどうかに基づい
て、ワード境界へのフラッシュ(詰め)条件がアクセス
される。詰め条件があるならば、ステップ1135におい
て、バーレル・シフタは、詰め条件に依存して最後に受
け取られたコードワードの後から32ビットしきい値ま
でゼロまたは1によって満たされまたは「埋められ
る」。次に、ステップ1140でシフタはその32ビットをメ
インバッファ830のデータセットにシフトアウトする。
最後に、ステップ1145において、プロセスは、受け取ら
れたコードワード・データについて終了する。
して32ビットのワード単位で、コード化データの転送
を制御し、同時に詰めコードワードについて必要とされ
る、各データセットの32ビット境界へのビット埋め込
みを制御する。
ら読まれたデータを「解凍する」作用も行う。この動作
は、パッカー920が32ビットのワードを受け取り、コー
ドワード・バイトをエンコーダ900(いまデコーダとし
て動作している)に返す点で、「パッキング」の逆であ
る。そうする際に、パッカー920(「アンパッカー」とし
て機能している)は、参照用テーブル915を参照し、以前
に「パック」された確保されたコードワードを検出し、
パッキング・プロセスで付加された埋め込みを取り除
く。さらに、いくつかの実施例では、パッカー910は、
詰めコードワードおよびEORコードワードをコード化さ
れたデータストリームから取り除くようになっていても
よい。フォーマッタ820が復号化プロセス中にこれらの
コードワードの受けとりを必要としないからである。
明した。この発明は、実施例に限られるものではなく、
他の多くのデータ記憶装置において使用することができ
る。いくつかの例は、ハードディスク・システム、並び
にDVD-RAM(ディジタルビデオ・ディスクRAM)を含む光書
き込みまたは読み取り可能なディスクシステムである。
む。
ンバーをmビットのコードワードでコード化し、他のデ
ータをmビットを超える長さのコードワードでコード化
してコード化データストリームを生成することを含み、
他のすべてのデータが共通のmビットのルート・シーケ
ンスを持つコードワードでコード化され、共通のmビッ
トのルート・シーケンス自体はデータの予め定義された
グループのいずれのメンバーも表さない、ホスト・デー
タをフォーマットする方法 (2) 上記1による方法であって、他のデータはnビットの
コードワードでコード化される。
ルート・シーケンスは可能なmビットのコードワードの
セットの確保された1つを含む。
最初のグループにはmメンバーがあり、確保されたmビッ
トのルート・シーケンスはmの可能なメンバーの1つを表
すために確保されたより長いpビットのコードワードの
一部を形成する。
3、p=9である上記方法。
タが0xffのルート・シーケンスおよび0xff + 1 + #によ
って表される一般的なコードワード形を持つ。ここで、
#は4ビットの値である。
によって表されるコードワードは8ビット値0xffを表す
9ビットのコードワードである。
はホスト・データ構造情報および/または制御情報を含
む。
法であって、テープに書き込まれるべきホスト・データ
を受け取るステップと、受け取られたホスト・データを
フォーマットするステップであって、データの予め定義
されたグループのメンバーをmビットのコードワードで
コード化し、mビットを超える長さのコードワードで他
のデータをコード化してコード化データストリームを生
成するステップと、テープにデータを書き込むステップ
とを含み、他のすべてのデータが共通のmビットのルー
ト・シーケンスを持つコードワードでコード化され、共
通のmビットのルート・シーケンスはデータの予め定義
されたグループのメンバーのいずれも表さないデータ書
き込み方法。
マットされたデータを復号する方法であって:mビット
のフォーマットされたデータを読み取るステップと、m
ビットのデータがmビットのルートシーケンスでないな
らば、コードワードを予め定義されたグループのコード
ワードのメンバーに復号するステップと、mビットのデ
ータがmビットのルート・シーケンスを表すならば、さ
らなるビットに基づいて、予め定義された数のさらなる
ビットを読み取り、結合したルート・シーケンスおよび
さらなるビットをそれぞれの他のデータに復号するステ
ップと、を含む復号方法。
するために構成される装置。
データをフォーマットするよう構成された装置。
であって、ホストコンピュータからホスト・データを受
け取るためのインターフェイス手段と、ホスト・データ
をテープにデータを書き込むのに適した形に変えるため
のデータをフォーマットする手段であって、データの予
め定義されたグループのメンバーをmビットのコードワ
ードでコード化し、他のデータをmビットを超える長さ
のコードワードでコード化してコード化データストリー
ムを生成する手段と、テープにフォーマットされたデー
タを書き込むデータ書き込み手段とを備え、他のすべて
のデータが共通のmビットのルート・シーケンスを持つ
コードワードでコード化され、共通のmビットのルート
・シーケンスはデータの予め定義されたグループのメン
バーのいずれも表さないデータ格納装置。
マットされたデータを保持するためのデータ記憶媒体。
をコード化するよう構成されたASIC。
すmビットのコードワードおよび他のデータを表すmビ
ットを超える長さのコードワードを含むデータを復号す
るよう構成され、他のデータを表すすべてのコードワー
ドが共通のmビットのルート・シーケンスを持ち、共通
のmビットのルート・シーケンス自身はデータの予め定
義されたグループのメンバーのいずれも表さない、ASI
C。
ンバーを表すmビットのコードワードおよび他のデータ
を表すmビットを超える長さのコードワードのストリー
ムを含み、他のデータを表すすべてのコードワードが共
通のmビットのルート・シーケンスを持ち、共通のmビッ
トのルート・シーケンス自身はデータの予め定義された
グループのメンバーのいずれも表さない、コード化され
たデータ。
〜13の任意の1つによる装置。
のデータ格納装置とコンピュータとの間のデータ交換処
理効率を向上させることができる。
ピュータ・データの一般的な形を示す図、(B)は、ホ
ストコンピュータ・データをホストコンピュータ・デー
タをフォーマットする従来技術に従って分類する図。
格納されるタイプのデータをより詳細な態様で示す図。
ことができる2つの共通のフォーマットを示す図。
タの一般的な形を示す図。
ットの一般的な形を示す図。
たコードワードのテーブルを示す図。
ット情報テーブルのエントリのテーブルを示す図。
トするためのテープドライブのアーキテクチャを示すブ
ロック図。
トするフォーマッタの主要部のブロック図。
する際のステップを図示するフローチャート。
ータをパックする際のステップを図示するフローチャー
ト。
おけるマッチフィールド・データに使用されるコード化
手法のテーブルを示す図。
Claims (1)
- 【請求項1】予め定義されたデータのグループのメンバ
ーをmビットのコードワードでコード化し、他のデータ
をmビットを超える長さのコードワードでコード化して
コード化データストリームを生成することを含み、他の
すべてのデータが共通のmビットのルート・シーケンス
を持つコードワードでコード化され、共通のmビットの
ルート・シーケンス自体はデータの予め定義されたグル
ープのいずれのメンバーも表さない、ホスト・データを
フォーマットする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP97308780.2 | 1997-10-31 | ||
EP97308780A EP0913762A1 (en) | 1997-10-31 | 1997-10-31 | Data encoding scheme |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11242855A true JPH11242855A (ja) | 1999-09-07 |
JP4124886B2 JP4124886B2 (ja) | 2008-07-23 |
Family
ID=8229590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30815998A Expired - Fee Related JP4124886B2 (ja) | 1997-10-31 | 1998-10-29 | ホストデータをフォーマットする方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6378007B1 (ja) |
EP (1) | EP0913762A1 (ja) |
JP (1) | JP4124886B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007102434A1 (ja) * | 2006-03-03 | 2007-09-13 | International Business Machines Corporation | 読み出しエラーを処理する読出装置、システム、その方法及びプログラム |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6532121B1 (en) | 1999-10-25 | 2003-03-11 | Hewlett-Packard Company | Compression algorithm with embedded meta-data for partial record operation augmented with expansion joints |
US7389374B1 (en) | 2000-05-17 | 2008-06-17 | Marvell International Ltd. | High latency interface between hardware components |
US6694392B1 (en) * | 2000-06-30 | 2004-02-17 | Intel Corporation | Transaction partitioning |
US7281065B1 (en) | 2000-08-17 | 2007-10-09 | Marvell International Ltd. | Long latency interface protocol |
US20020110213A1 (en) * | 2001-02-13 | 2002-08-15 | Sigma Tel, Inc. | Method and apparatus for providing data for sample rate conversion |
US6961011B2 (en) * | 2001-08-27 | 2005-11-01 | Freescale Semiconductor, Inc. | Data compression system |
US6865656B2 (en) * | 2001-09-10 | 2005-03-08 | Qualcomm Incorporated | Method and system for efficient transfer of data between custom application specific integrated circuit hardware and an embedded microprocessor |
GB2396738A (en) * | 2002-12-27 | 2004-06-30 | Hewlett Packard Co | Synchronised parallel data writing |
JP4251149B2 (ja) * | 2005-04-15 | 2009-04-08 | ソニー株式会社 | 情報管理システム、情報管理装置及び情報管理方法 |
GB2431254A (en) | 2005-10-11 | 2007-04-18 | Hewlett Packard Development Co | Data transfer system |
GB2431253A (en) * | 2005-10-11 | 2007-04-18 | Hewlett Packard Development Co | Data transfer device |
GB2431250A (en) | 2005-10-11 | 2007-04-18 | Hewlett Packard Development Co | Data transfer system |
GB2431252B (en) | 2005-10-11 | 2010-06-09 | Hewlett Packard Development Co | Data transfer device |
GB2431249A (en) | 2005-10-11 | 2007-04-18 | Hewlett Packard Development Co | Removable data storage item and key distribution |
GB2435333B (en) | 2006-02-01 | 2010-07-14 | Hewlett Packard Development Co | Data transfer device |
US10073743B2 (en) | 2006-07-26 | 2018-09-11 | Hewlett Packard Enterprise Development Lp | Data storage arrangement and key distribution |
US20080240419A1 (en) * | 2007-03-30 | 2008-10-02 | Melanie Jean Sandberg | Apparatus, system, and method for testing data compression and data encryption circuitry |
JP2010134769A (ja) * | 2008-12-05 | 2010-06-17 | Hitachi Ltd | ストレージシステム及びストレージシステムの運用方法 |
US8362931B2 (en) * | 2010-11-30 | 2013-01-29 | Microsoft Corporation | Compression and decompression of mass spectrometry data |
JP5556695B2 (ja) * | 2011-02-16 | 2014-07-23 | 株式会社島津製作所 | 質量分析データ処理方法及び該方法を用いた質量分析装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4365257A (en) | 1981-03-05 | 1982-12-21 | Minnesota Mining And Manufacturing Company | Stretched-film optical recording disc |
CA1265250A (en) * | 1985-03-04 | 1990-01-30 | Alan Douglas Clark | Data transmission |
US4891784A (en) * | 1988-01-08 | 1990-01-02 | Hewlett-Packard Company | High capacity tape drive transparently writes and reads large packets of blocked data between interblock gaps |
GB8800353D0 (en) * | 1988-01-08 | 1988-02-10 | Hewlett Packard Ltd | Data storage method |
GB9001335D0 (en) * | 1990-01-19 | 1990-03-21 | Hewlett Packard Ltd | Data storage on tape |
US5227789A (en) * | 1991-09-30 | 1993-07-13 | Eastman Kodak Company | Modified huffman encode/decode system with simplified decoding for imaging systems |
US5384668A (en) * | 1992-02-28 | 1995-01-24 | Ampex Corporation | Data recording system having unique end-of-recording and start-of-recording format indicators |
US5408366A (en) * | 1993-06-14 | 1995-04-18 | International Business Machines Corporation | Apparatus and method for detecting and validating formatted blocks on magnetic tape |
KR0167587B1 (ko) * | 1993-07-26 | 1999-03-20 | 모리시타 요이찌 | 디지털데이터기록재생장치 |
US5757822A (en) * | 1995-08-24 | 1998-05-26 | Quantum Corporation | Bit-interleaved rate 16/17 modulation code with three-way byte-interleaved ECC |
US5841600A (en) * | 1996-01-11 | 1998-11-24 | Quantum Corporation | Randomly ordered data block envelope tape format |
US5751860A (en) * | 1996-09-03 | 1998-05-12 | Acer Peripherals, Inc. | Method for compressing and decompressing digital image data |
KR100370416B1 (ko) * | 1996-10-31 | 2003-04-08 | 삼성전기주식회사 | 고밀도 데이터의 기록/재생을 위한 부호화/복호화 방법 및 그에 따른 장치 |
US5784010A (en) * | 1997-02-03 | 1998-07-21 | International Business Machines Corporation | Method and apparatus for implementing a set rate code for data channels with alternate 9-bit code words and 8-bit code words |
-
1997
- 1997-10-31 EP EP97308780A patent/EP0913762A1/en not_active Withdrawn
-
1998
- 1998-10-29 JP JP30815998A patent/JP4124886B2/ja not_active Expired - Fee Related
- 1998-10-30 US US09/182,307 patent/US6378007B1/en not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007102434A1 (ja) * | 2006-03-03 | 2007-09-13 | International Business Machines Corporation | 読み出しエラーを処理する読出装置、システム、その方法及びプログラム |
JPWO2007102434A1 (ja) * | 2006-03-03 | 2009-07-23 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation | 読み出しエラーを処理する読出装置、システム、その方法及びプログラム |
US8037346B2 (en) | 2006-03-03 | 2011-10-11 | International Business Machines Corporation | Avoiding a part of tape where error occurs by computing a number of records and a number of boundary marks included in an error data unit |
JP4848419B2 (ja) * | 2006-03-03 | 2011-12-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 読み出しエラーを処理する読出装置、システム、その方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US6378007B1 (en) | 2002-04-23 |
JP4124886B2 (ja) | 2008-07-23 |
EP0913762A1 (en) | 1999-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4124886B2 (ja) | ホストデータをフォーマットする方法 | |
JP3763845B2 (ja) | 固定ブロック内における可変長レコードのパッキング | |
US5097261A (en) | Data compression for recording on a record medium | |
US5298895A (en) | Data compression method and apparatus utilizing an adaptive dictionary | |
US5280600A (en) | Storage of compressed data with algorithm | |
KR920002581B1 (ko) | 블럭간 갭 사이의 블럭 데이타의 커다란 패킷을 명확하게 기입 및 판독하는 고용량 테이프 드라이브 | |
US5167034A (en) | Data integrity for compaction devices | |
JP2915568B2 (ja) | テープドライブシステムのための適応データ圧縮装置 | |
US5630092A (en) | System and method for transferring compressed and uncompressed data between storage systems | |
US5598388A (en) | Storing plural data records on tape in an entity with an index entry common to those records | |
EP0264602B1 (en) | Fixed time gap format variable field length data transfer | |
US5535327A (en) | Method and apparatus for communicating formatted data from a mass storage device to a host computer | |
US6295177B1 (en) | Method of and apparatus for arranging data received in a data transfer from a data source | |
EP0913825B1 (en) | Data encoding scheme | |
JP4124887B2 (ja) | データソースから受け取ったデータを並べる方法 | |
EP0913823B1 (en) | Data encoding method and apparatus | |
JPH04359315A (ja) | データ圧縮制御装置及びデータ復元制御装置 | |
US4398225A (en) | Combined serializer encoder and decoder for data storage system | |
JP2000039969A5 (ja) | ||
EP0915413A1 (en) | Data encoding scheme with switchable compression | |
EP0913824B1 (en) | Generating appendable points in encoded data | |
US6069865A (en) | Method and apparatus for cutting apart of a main signal and recording it as a synchronous signal | |
EP0464181A1 (en) | Data storage | |
JPH04242424A (ja) | データ圧縮制御装置およびデータ復元制御装置 | |
JPH10271440A (ja) | 記録再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051017 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070911 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071204 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20071207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080306 |
|
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: 20080422 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080507 |
|
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: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |