JPH05500878A - data storage - Google Patents
data storageInfo
- Publication number
- JPH05500878A JPH05500878A JP3503135A JP50313591A JPH05500878A JP H05500878 A JPH05500878 A JP H05500878A JP 3503135 A JP3503135 A JP 3503135A JP 50313591 A JP50313591 A JP 50313591A JP H05500878 A JPH05500878 A JP H05500878A
- Authority
- JP
- Japan
- Prior art keywords
- data
- record
- group
- records
- tape
- 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.)
- Pending
Links
- 238000013500 data storage Methods 0.000 title claims description 13
- 238000000034 method Methods 0.000 claims description 72
- 238000000926 separation method Methods 0.000 claims description 44
- 230000008569 process Effects 0.000 claims description 37
- 238000013144 data compression Methods 0.000 claims description 27
- 230000008520 organization Effects 0.000 claims description 11
- 238000007906 compression Methods 0.000 description 59
- 230000006835 compression Effects 0.000 description 56
- 239000000872 buffer Substances 0.000 description 25
- 238000010586 diagram Methods 0.000 description 20
- 238000012546 transfer Methods 0.000 description 13
- 230000006837 decompression Effects 0.000 description 11
- 230000015654 memory Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 230000000737 periodic effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000003292 glue Substances 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 241000271566 Aves Species 0.000 description 2
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical group [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 235000021419 vinegar Nutrition 0.000 description 2
- 239000000052 vinegar Substances 0.000 description 2
- 101100412103 Arabidopsis thaliana REC3 gene Proteins 0.000 description 1
- 206010009944 Colon cancer Diseases 0.000 description 1
- 206010011878 Deafness Diseases 0.000 description 1
- 102100023696 Histone-lysine N-methyltransferase SETDB1 Human genes 0.000 description 1
- 101710168120 Histone-lysine N-methyltransferase SETDB1 Proteins 0.000 description 1
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 1
- 101000878468 Homo sapiens Protein FMC1 homolog Proteins 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 241000287462 Phalacrocorax carbo Species 0.000 description 1
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 1
- 102100037769 Protein FMC1 homolog Human genes 0.000 description 1
- 101100528972 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RPD3 gene Proteins 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 101100208571 Xenopus laevis ube2c gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000003708 ampul Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 231100000895 deafness Toxicity 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 229940096118 ella Drugs 0.000 description 1
- 244000144992 flock Species 0.000 description 1
- 208000016354 hearing loss disease Diseases 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 208000011580 syndromic disease Diseases 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- OOLLAFOLCSJHRE-ZHAKMVSLSA-N ulipristal acetate Chemical compound C1=CC(N(C)C)=CC=C1[C@@H]1C2=C3CCC(=O)C=C3CC[C@H]2[C@H](CC[C@]2(OC(C)=O)C(C)=O)[C@]2(C)C1 OOLLAFOLCSJHRE-ZHAKMVSLSA-N 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Classifications
-
- 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/00007—Time or data compression or expansion
-
- 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
- G11B20/1201—Formatting, e.g. arrangement of data block or words on the record carriers on tapes
- G11B20/1207—Formatting, e.g. arrangement of data block or words on the record carriers on tapes with transverse tracks only
- G11B20/1209—Formatting, e.g. arrangement of data block or words on the record carriers on tapes with transverse tracks only for discontinuous data, e.g. digital information signals, computer programme data
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Specific Conveyance Elements (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。 (57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】 デー 舌1 本発明は、ユーザ・データの圧縮およびテープへのその記憶に関している。[Detailed description of the invention] Day tongue 1 The present invention relates to compressing user data and storing it on tape.
ホストからデータか到達すると、テープに書き込む前に圧縮してテープ記憶容量 を増大させるために、データ圧縮能力を有するテープ・ドライブ(DCドライブ )を備えることか知られている。DCドライブは、テープから圧縮データを読み 取り、ホストに送る前にデータを復元する(decompress )こともて きる。ホストは、ユーザ・データのソフトウェア圧縮および/または復元をする こともできる。When data arrives from the host, it is compressed before being written to tape to reduce tape storage capacity. Tape drives with data compression capabilities (DC drives) ) is known. DC drives read compressed data from tape. data and decompress it before sending it to the host. Wear. The host performs software compression and/or decompression of user data. You can also do that.
2つ以上のタイプのデータ圧縮かある。例えば、指定レコード、ファイルなとの 分離マークをデータストリームから除去して、該マークの位置に関する情報をイ ンデックスに記憶することにより、ユーザ・データか効率的に圧縮される。別の 全く異なるアプローチでは、データの冗長性を除去することにより、例えば、ユ ーザ・データ・ワードを、元のデータを回復することのできるコート・ワードと 置き換えることにより、ユーザ・データを圧縮する。用語“データ圧縮”または 略号DCを用いるときに、本書て言及されるのは後者のタイプである。There is more than one type of data compression. For example, a specified record, file, etc. Remove separation marks from the data stream and import information about the position of the marks. User data is effectively compressed by storing it in an index. another A completely different approach would be to remove data redundancy, e.g. the user data word as a code word from which the original data can be recovered. Compress user data by replacing. The term “data compression” or It is the latter type that is referred to herein when using the abbreviation DC.
本発明に依れば、データ圧縮プロセスに余分な補助情報をデータストリームに挿 入することを特徴とする、レコードの形に構成された圧縮データを、テープに書 き込むデータ記憶方法か提供される。According to the present invention, extra auxiliary information is inserted into the data stream during the data compression process. Compressed data organized in the form of records, characterized by Data storage methods are provided.
補助情報には、エラー検査情報を含むことかできる。さらに、補助情報には、デ ータ分離情報、すなわちデータを後で分離するために用いることのできる情報を 含むことかできる。The auxiliary information may include error checking information. In addition, auxiliary information includes data separation information, information that can be used later to separate the data. It can be included.
データ圧縮アルゴリズムの一部として、この余分な情報をデータストリームに挿 入する目的は、データストリームを、高速動作およびデータ・エラー状態の容易 な検査に特に適したものにすることである。Inject this extra information into the data stream as part of the data compression algorithm. The purpose of inputting data streams is to provide high-speed operation and ease of data error conditions. The aim is to make it especially suitable for various tests.
例えば、非圧縮ハイド・力Tクントおよび/または冗長検査を表すコード・ワー ドを、“レコードの終わり”コート・ワードの後に挿入することかできる。これ らのコード・ワードは、エラー検査中に用いることができるか、要求されなかっ たり、特定テープ・ドライブに不適切である場合にはスキップすることかできる 。For example, a code word representing an uncompressed Hyde force Tkund and/or a redundancy check. can be inserted after the "end of record" code word. this These code words may be used during error checking or may not be required. or can be skipped if unsuitable for a particular tape drive. .
該方法は、非圧縮の形で、補助情報をテープに書き込むことを備えているのか望 ましい。これは、補助情報を、非DCテープ、ドライブに利用できるようにする ために望まれている。The method preferably comprises writing auxiliary information to tape in uncompressed form. Delicious. This makes auxiliary information available to non-DC tape drives. desired for.
該方法は、1つ以上のレコードに関連して、データストリームに補助情報に挿入 することを含むことかできる。The method inserts auxiliary information into a data stream related to one or more records. Can include doing.
該方法は、ヘッダ一部の後の1つ以上のレコードに関する補助情報を含むヘッダ 一部を、データストリームに挿入することを含めることかできる。The method includes a header containing auxiliary information about one or more records after the header portion. This may include inserting some into the data stream.
該方法は、さらに、後書き(trailer )部分の前の1つ以上のレコード に関する補助情報を含む後書き部分を、データストリームに挿入することも含め ることかできる。The method further includes one or more records before the trailer portion. including inserting a trailing section containing auxiliary information about the data stream into the data stream. I can do that.
代わりにまたは同様に、該方法は、データのレコード構造とは無関係に、データ ・レコードをグループに構成したり、グループのレコードに関する情報をグルー プに関連するインデックスに書き込むことも含めることができる。Alternatively, or as well, the method records the data independently of the record structure of the data. ・Organize records into groups, or group information about records in groups. It can also include writing to the index associated with the group.
説明する実施例では、該方法は、エンティティにより、情報をグループ・インデ ックスに書き込むことを有する。ここで、1つのエンティティは1つ以上のレコ ードを含む。該実施例では、該方法は、補助情報を、各エンティティに関連する ヘッダーに書き込むことを備えている。In the described embodiment, the method includes storing information by an entity in a group index. has the ability to write to the box. Here, one entity has one or more records. including the code. In the embodiment, the method includes auxiliary information associated with each entity. It has the ability to write to the header.
本発明では、また、ユーザ・データを圧縮したり、圧縮データをテープに書込ん だりする、上述した方法にしたがって動作可能な記憶装置を提供する。The present invention also compresses user data and writes compressed data to tape. A storage device operable according to the method described above is provided.
本発明の特定の実施例は、添付の図面を参照して一例としてここに記載される。Specific embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings.
第八図及び第8図は、データ圧縮アルゴリズムに関する図である。8 and 8 are diagrams relating to data compression algorithms.
第1図はコンピュータ・データを記憶する構成を示す種部分図であって (a)はユーザ(ホスト)によってデータ記憶装置に送られる論理的分離マーク とデータ・レコードのシーケンスを示す図である。FIG. 1 is a partial diagram showing a configuration for storing computer data. (a) is a logical separation mark sent by the user (host) to the data storage device FIG. 3 is a diagram showing a sequence of data records.
(b)及び(C)は、テープ上に第1図(a)のシーケンスを記憶するための2 つの異なる配置を示す図である。(b) and (C) are two for storing the sequence of FIG. 1(a) on tape. FIG. 3 is a diagram showing two different arrangements.
第2図はグループ・インデックスの図である。FIG. 2 is a diagram of the group index.
第3図及び第3A図は、一般のブロック・アクセス・テーブルの図である。FIGS. 3 and 3A are diagrams of general block access tables.
第4図及び第4A図は、特定のブロック・アクセス・テーブルの図である。FIGS. 4 and 4A are diagrams of specific block access tables.
第5図乃至第7図は、コンピュータ・データを記憶するさらなる構成を示す図で ある。Figures 5 to 7 are diagrams showing further configurations for storing computer data. be.
第8図はグループのブ0ツク・アクセス・テーブルに関する可能性のある有効な エントリ(entry )を示す図である。Figure 8 shows possible valid information for a group's book access table. It is a diagram showing an entry.
第9図及び第1O図は、コンピュータ・データを記憶する構成のさらなる図であ る。9 and 1O are further illustrations of arrangements for storing computer data. Ru.
第11図は本発明を具現化する、データ記憶装置の部分を形成し、ヘリカル走査 を使用するテープ・デツキの主な物理的コンポーネントを示す図である。FIG. 11 forms part of a data storage device embodying the invention and is a helical scan 1 is a diagram illustrating the main physical components of a tape deck using.
第12図はヘリカル走査を用いてテープ上に記録される2つのデータ・トラック の図式的表現図である。Figure 12 shows two data tracks recorded on tape using helical scanning. FIG.
第13図は本データ記憶方法によって記録されるデータ・トラックの主なデータ 領域のフォーマットの図式的表現図である。Figure 13 shows the main data of the data track recorded by this data storage method. FIG. 3 is a diagrammatic representation of the format of a region;
第14図は本データ記憶方法によって記録されるデータ・トラックのサブ・デー タ領域のフォーマットの図式的表現図である。Figure 14 shows the sub data of the data track recorded by this data storage method. FIG. 2 is a diagrammatic representation of the format of a data area;
第15図は本方法、すなわちテープのデータ領域内のグループにおけるデータ・ フレームの配置及び各グループ内のフレームに記録されるインデックスの詳細の 両方を示す図である。FIG. 15 shows the method, i.e. data storage in groups within the data area of the tape. Details of frame arrangement and index recorded in frames within each group It is a figure showing both.
第16図は本発明を具現化するデータ記憶装置の主なコンポーネントのブロック 図である。FIG. 16 is a block diagram of the main components of a data storage device embodying the present invention. It is a diagram.
第17図及び第18図は、データ圧縮プロセッサに関するブロック図である。FIGS. 17 and 18 are block diagrams of the data compression processor.
第19図は、データ記憶装置のグループ・プロセッサの、より詳細な機能ブロッ ク図である。Figure 19 shows a more detailed functional block diagram of the data storage group processor. This is a diagram.
第20A図及び第20B図は、テープ上の特定のレコードに関する探索における 、ドライブ装置によって実施されるアルゴリズムの流れ図である。Figures 20A and 20B illustrate the search for a particular record on tape. , is a flowchart of an algorithm implemented by the drive device.
特定のDCアルゴリズムの詳細を含むデータ圧縮に関するさらなる情報がまず与 えられる。Further information on data compression, including details of specific DC algorithms, is first given. available.
データ圧縮プロセスの目的は、データから冗長性を除去することにある。圧縮効 率の測度の1つは、”圧縮比”と呼ばれ、′−れ の 圧縮される入力の長さ として定義される。The purpose of the data compression process is to remove redundancy from the data. Compression effect One measure of the ratio is called the "compression ratio", which is the length of input to be compressed is defined as
これは、データ圧縮プロセスの達成測度である。圧縮比が大きくなれば、圧縮効 率もそれだけ高くなる。This is a measure of the success of the data compression process. The larger the compression ratio, the greater the compression efficiency. The rate will also be higher.
データ圧縮を実施する方法の1つでは、入力文字のパターンを認識して、コート 化する、すなわち、置換方法が用いられる。One way to implement data compression is to recognize patterns in input characters and In other words, a substitution method is used.
LZWアルゴリズムによれば、独特なストリングをなす入力文字が見つかると、 それらは辞書に入力され、数値が割り当てられる。辞書は、データの圧縮時に、 動的に形成され、復元時に、データから再生成される。一旦、辞書エントリが存 在すると、データ・ストリーム内にその後に発生する該エントリは、数値または コート・ワードに置き換えることかできる。留意すべきは、このアルゴリズムは 、ASCIIテキスト・データの圧縮に制限されるものではないという点である 。According to the LZW algorithm, when a unique string of input characters is found, They are entered into a dictionary and assigned a numerical value. When compressing data, the dictionary Dynamically formed and regenerated from the data upon restore. Once the dictionary entry exists, If present, subsequent occurrences of that entry in the data stream are numeric or You can also replace it with a court word. It should be noted that this algorithm , it is not limited to compressing ASCII text data. .
その原理は、2進フアイル・データ・ベース、イメージング・データ等にも等し く当てはまる。The principle is the same for binary file data bases, imaging data, etc. Very applicable.
各辞書エントリは、2つの項目、すなわち、(1)アルゴリズムがデータ内で見 つけた独特なストリングをなすデータ・ハイドと、(2)このハイドの組合せを 表わしたコート・ワードから構成される。Each dictionary entry consists of two items: (1) the algorithm sees in the data; (2) the combination of data hide that forms a unique string attached to Consists of the expressed code words.
辞書には、4096までのエントリを納めることができる。第1の8つのエント リは、特定の条件のフラグを立て、その制御を行なうために用いられる予約コー ト・ワードである。次の256のエントリには、0〜255のハイド値が含まれ ている。従って、これら256の項目のいくつかは、ASCIIテキスト文字に 関するコード・ワードである。残りの位置は、他の辞書位置を指示し、結局は、 ハイド値0〜255の1つを指示することによって終了する連係リスト・エント リである。この連係リスト・データを用いることによって、可能性のあるハイド の組合せは、2ハイド〜128バイトの長さの範囲内になるので、その記憶に過 剰に広いメモリ・アレイを用いなくてもすむようにすることができる。The dictionary can contain up to 4096 entries. first eight entries Reservation code used to flag and control certain conditions. It is a word. The next 256 entries contain hide values from 0 to 255. ing. Therefore, some of these 256 items are converted into ASCII text characters. is the associated code word. The remaining positions point to other dictionary positions, eventually A linked list entry that ends by specifying one of the hide values 0 to 255. It is li. By using this linked list data, possible hide The combinations are within the length range of 2 hides to 128 bytes, so it takes too much time to store them. The need for an excessively wide memory array can be avoided.
さらに詳細に後述するハードウェアの実施案の場合、辞書は、構築してから、2 3ビツト幅のランダム・アクセス・メモリ(RAM)のバンクに記憶される。各 メモリ・アドレスには、下位8ビツトによるハイド値、次の12ヒントによるエ ントリを表わすコート・ワードまたはポインタ、及び、上位3ヒツトによる3つ の条件フラグを含むことができる。コード・ワードを表わすのに用いられる出力 バイト・ストリームにおけるビット数は、9ビツト〜12ビツトの範囲であり、 0〜4095の範囲の辞書エントリに対応する。辞書構築段階において、辞書に 51.2のエントリか作成されるまで、各コート・ワード毎に、9ヒツトか用い られ、512番目のエントリの後は、コート・ワードに10ビツトが用いられ、 1024024番目トリの後は、コート・ワードに11ヒツトが用いられ、最後 の2048エントリについては、コート・ワードに12ヒツトか用いられる。辞 書か満杯になると、それ以上のエントリは、作成されず、後続の全てのコード・ ワードは、長さが12ビツトになる。任意の辞書エントリに関するメモリ・アド レスは、エントリ値に対して複雑な操作を施すことによって決定される。辞書に は、4096のエントリを納めることができるので、辞書全体の支援には、4に ハイドのRAMI、か必要ないように思われる。これは、実際、復元時にはあて はまることである。しかし、圧縮時には、辞書の構築段階において生じる辞書の “衝突”のため、4にバイトを超えるRAMが必要になる。これは、2つの異な るストリング/文字の組合せが、辞書RAM内における同じ場所にマツピングが 施される場合かあり、辞書RAMにおける資源は有限であることと、圧縮時にお ける辞書構築のプロセスが複雑であるためである。辞書の衝突か生じると、2つ の衝突値が、2つの新しい位置について再計算され、もとの位置に衝突位置のフ ラグが立てられる。For the hardware implementation described in more detail below, the dictionary is constructed and then It is stored in a 3-bit wide bank of random access memory (RAM). each The memory address contains a hide value based on the lower 8 bits and an error value based on the next 12 hints. A code word or pointer representing the entry and three by the top three hits. can contain conditional flags. Output used to represent code words The number of bits in the byte stream ranges from 9 bits to 12 bits, Corresponds to dictionary entries in the range 0-4095. At the dictionary construction stage, 51. For each code word, use 9 hits until 2 entries are created. After the 512th entry, 10 bits are used for the code word, After the 1024024th bird, 11 hits are used for the coat word, and the last For the 2048 entries, 12 hits are used in the code word. words Once the code is full, no further entries will be created and all subsequent code The word will be 12 bits in length. Memory address for any dictionary entry The response is determined by performing complex operations on entry values. in the dictionary can contain 4096 entries, so supporting the entire dictionary requires 4. Hyde's RAMI doesn't seem necessary. This is actually true when restoring. It's about fitting in. However, during compression, the dictionary Due to "collisions", more than 4 bytes of RAM are required. This is two different The string/character combinations mapped to the same location in the dictionary RAM. However, the resources in dictionary RAM are limited, and the This is because the process of building a dictionary is complicated. When a dictionary conflict occurs, there are two The collision value of is recalculated for the two new positions, and the original position is replaced with the collision value of the collision position. A rug is put up.
アルゴリズムの重要な特性は、圧縮と復元との結合である。これら2つの動作は 、圧縮及び復元プロセス時と、バイト・ストリームに対するコード・ワードのバ ッキング及びアンバッキング時の両方において結びつけられる。圧縮アルゴリズ ムの特性により、圧縮プロセスと復元プロセスを同期させることが必要になる。An important property of the algorithm is the combination of compression and decompression. These two actions are , during the compression and decompression process and the buffering of code words for the byte stream. It is tied both during bucking and unbacking. compression algorithm Due to the nature of the system, it is necessary to synchronize the compression and decompression processes.
別の言い方をすると、復元は、圧縮データの任意のポイントから開始させること はできない。In other words, decompression can start from any point in the compressed data. I can't.
復元は、辞書か空またはリセットされていることが分っているポイントから開始 する。この結合によって、アルゴリズムの基本的な利点の1つか得られる。すな わち、辞書は、コート・ワードに組み込まれているので、圧縮データと共に転送 する必要はない。同様に、バッキングとアンバッキングのプロセスも同期させな ければならない。復元ハードウェアに対して圧縮データを適正な順序で提示しな ければならない点に留意のこと。The restore starts from a point where the dictionary is known to be empty or reset. do. This combination provides one of the fundamental advantages of the algorithm. sand In other words, since the dictionary is embedded in the code word, it is transferred along with the compressed data. do not have to. Similarly, the backing and unbacking processes should also be synchronized. Must be. Do not present compressed data in the correct order to the decompression hardware. Please note that
第八図は、上述の圧縮アルゴリズムに関する略グラフィック図である。この例に は、次の文字から成る入力データ・ストリームか示されている RINT TN T IN0圧縮プロセスの流れをたとるには、第八図を上から下へ検分し、左か ら始めて右へ進めるのか望ましい。辞書は、リセットされ、8つの予約コート・ ワード、及び、全てのASCII文字に関するコート・ワードを含む0〜255 の第1の256エントリを納めるように初期設定されているものと仮定する。FIG. 8 is a schematic graphical diagram of the compression algorithm described above. In this example is an input data stream consisting of the following characters: RINT TN To trace the flow of the TIN0 compression process, look at Figure 8 from top to bottom, and It is preferable to start from the beginning and move to the right. The dictionary is reset and has 8 reserved courts. 0-255, including word and code word for all ASCII characters Assume that it is initialized to contain the first 256 entries of .
圧縮アルゴリズムは、データ・ストリーム内の各バイト毎に下記のプロセスを実 行する 1 人力バイトを取る。The compression algorithm performs the following process for each byte in the data stream: go 1. Take a manual part-time job.
2、現在の入カンーケンスに関して辞書の探索を行ない、一致すれば、別の入力 バイトを取り、現在のシーケンスに加え、一致した最大のシーケンスを記憶して おく。2. Search the dictionary for the current input sequence, and if there is a match, use another input sequence. Take the bytes, add them to the current sequence, and remember the largest matched sequence. put.
3、一致するものがなくなるまで、ステップ2を繰り返す。3. Repeat step 2 until there are no more matches.
4、現在の“不一致”シーケンスの新辞書エントリを作成する。4. Create a new dictionary entry for the current "unmatched" sequence.
5、一致した最大シーケンスに関するコード・ワードを出力する。5. Output the code word for the largest matched sequence.
この例では、圧縮アルゴリズムは、圧縮エンジンが最初のRを受け取った後、開 始する。入力文字Rは、その初期設定時に納められた文字Rに一致する。一致し たので、DCエンジンは、別のバイトを受け取るか、これは文字Iである。次に 、シーケンスR1をめて辞書の探索を行なうか、一致するものは見あたらない。In this example, the compression algorithm opens after the compression engine receives the first R. start The input character R matches the character R stored during its initialization. match So the DC engine receives another byte, which is the letter I. next , the sequence R1 is searched in the dictionary, or no match is found.
従って、新しい辞書エントリはR1が作成され、最大の一致シーケンスに関する コード・ワード(すなわち、文字Rに関するコート・ワード)が、出力される。Therefore, a new dictionary entry R1 is created, with respect to the maximum matching sequence The code word (ie, the code word for the letter R) is output.
次に、DCエンジンは、■をめて辞書を探索し、Rの場合とちょうど同じように 、一致を見つけ出す。もう1つの文字が入力され(N)、シーケンスINに関し て探索を開始する。INは、どのエントリとも一致しないので、新しいエントリ が作成され、最大の一致シーケンスに関するコード・ワード(すなわち、文字I に関するコード・ワード)が、出力される。このプロセスは、続行され、文字N の探索が行なわれる。Nが見つかると、次の文字が入力され、NTをめて辞書の 探索か行なわれる。これは見つからないので、NTに関する辞書エントリか作成 され、Nに関するコート・ワードが出力される。同じシーケンスが、文字T及び ■についても生じる。Tに関するコード・ワードが出力され、TIに関する辞書 エントリが作成される。The DC engine then searches the dictionary for , find a match. Another character is entered (N) and for the sequence IN and start searching. IN does not match any entry, so a new entry is created and the code word for the maximum matching sequence (i.e., the letter I code word) is output. This process continues and the letter N A search is carried out. When N is found, the next character is entered, NT is entered, and the dictionary is entered. An exploration will be carried out. I can't find this, so I created a dictionary entry for NT. and the code word for N is output. The same sequence is the letter T and ■ also occurs. The code word for T is output and the dictionary for TI An entry is created.
この時点まで、複数文字の一致がなかったので、圧縮は行なわれなかった。実際 、4つの8ヒツト文字か4つの9ビツト・コード・ワードに置き換えられたとい うことであって、出力ストリームは、わずかに拡張されただけである。(これは 、32ビツト対36ビツトの拡張、すなわち、1.125:1の圧縮比を表わし ている。)しかし、次の文字が入力されると、データ圧縮が開始する。この時点 で、DCエンジンは、INシーケンスの探索を行なう。一致を見つけると、DC エンジンは、別の文字を受け取り、INTの探索を開始する。一致が見つからな れければ、INTに関する辞書エントリを作成し、シーケンスINに関してあら かじめ生成されたコード・ワードを出力する。この場合、2つの8ヒツト文字が 1つの9ビツト・コード・ワードに置き換えられ、圧縮比は16/9すなわち1 .778:1になっている。Up to this point, there were no multiple character matches, so no compression was performed. actual , replaced by four 8-bit characters or four 9-bit code words. However, the output stream is only slightly expanded. (this is , representing a 32-bit to 36-bit expansion, or a compression ratio of 1.125:1. ing. ) However, data compression begins when the next character is entered. at the time Then, the DC engine searches for an IN sequence. Once a match is found, the DC The engine receives another character and begins searching for INT. No match found If so, create a dictionary entry for INT and write a dictionary entry for sequence IN. Outputs a previously generated code word. In this case, the two 8-hit characters are replaced by one 9-bit code word, the compression ratio is 16/9 or 1 .. The ratio is 778:1.
このプロセスが、続行され、再び、2つの文字が単一のコード・ワードに置き換 えられる。DCエンジンは、前のシーケンスからのTで開始され、続いて、次の 文字■を受け取る。DCエンジンは、TIシーケンスを探索し、一致するので、 別のバイトが、入力される。次に、該チップは、TINシーケンスの探索を行な う。一致するものがないので、TINエントリか作成され、TIに関するコード ・ワードが出力される。このシーケンスも、INシーケンスが示した1、778 :1の圧縮比を示す。この9ハイドからなるストリングに関する正味の圧縮比は 、l 143・1である。この例は、極めて少数のバイトからなるため、これは 、特に大きい圧縮比ではない。データのサンプルが増えると、記憶されるデータ のシーケンスも増し、単一のコート・ワードによって置き換えられるハイドのシ ーケンスも増す。11〜110・1の範囲の圧縮比を得ることか可能になる。This process continues, again replacing the two characters with a single code word. available. The DC engine starts with T from the previous sequence, followed by the next Receive the character ■. The DC engine searches for and matches the TI sequence, so Another byte is input. The chip then performs a TIN sequence search. cormorant. Since there is no match, a TIN entry is created and the code associated with the TI ・Word is output. This sequence also shows 1,778 as indicated by the IN sequence. :1 compression ratio. The net compression ratio for this string of 9 hides is , l 143・1. This example consists of a very small number of bytes, so this , not a particularly large compression ratio. As more samples of data are stored, more data is stored. The sequence of Hyde is also increased and the sequence of Hyde is replaced by a single code word. -kens also increases. It becomes possible to obtain compression ratios in the range 11-110.1.
第8図には、復元プロセスの略図が示されている。この例では、入力として前の 圧縮例の出力か用いられる。復元プロセスは、圧縮プロセスに極めてよく似てい るが、所定の辞書エントリの存在を探索する必要かないので、復元に関するアル ゴリズムは、圧縮に関するアルゴリズムはど複雑ではない。2つのプロセスを結 合することによって、復元時における適合する辞書エントリの存在か保証される 。該アルゴリズムは、入力コート・ワードを利用して、辞書内のハイド・ノーケ ンスを参照し、次に、圧縮アルゴリズムと同し規則を利用して、新しいエントリ を作成するだけである。これは、復元アルゴリズムか、各データ・バケット毎に 特殊な辞書を送らなくても、圧縮データを回復することかできる唯一の方法であ る。A schematic diagram of the restoration process is shown in FIG. In this example, the previous The output of the compressed example is used. The decompression process is very similar to the compression process. However, since there is no need to search for the existence of a given dictionary entry, the restoration algorithm The compression algorithm is not complicated. Connect two processes By matching, the existence of matching dictionary entries at the time of restoration is guaranteed. . The algorithm utilizes the input code word to find the Hyde Noke in the dictionary. the new entry using the same rules as the compression algorithm. Just create. This is the restore algorithm or This is the only way to recover compressed data without sending special dictionaries. Ru.
圧縮例の場合のように、辞書はリセットされ、O〜255の最初の256エント リを納めるように初期設定されているものと仮定する。As in the compression example, the dictionary is reset and the first 256 entries of O~255 It is assumed that the initial settings are to accommodate the files.
復元エンンンは、Rに関するコート・ワードを受け取ることから開始する。復元 エンンンは、このコート・ワードを利用して、ハイド値Rを参照する。この値は 、後入れ先出しくL I FO)スタックに納められ、チップから出力されるの を待つ。Rは、根コート・ワード(最初の256エントリの1つ)であるため、 このコート・ワードについて、リストの終端に達したことになる。次に、チップ から出力スタックがダンプされる。復元エンジンは、さらに、■に関するコート ・ワードを入力し、それを利用して、ハイド値■を参照する。やはり、この値は 、根コート・ワードであるため、このコート・ワードに関する出カンーケンスが 、完了し、■に関するハイド値が、出力スタックからポツプされる。この時点で 、出力スタック(1)にブツシュされた最後のハイド値と、前のコート・ワード (Rに関するコード・ワード)を利用して、新しい辞書エントリが作成される。The restoration engine begins by receiving the code word for R. restoration Ennn refers to the hide value R using this code word. This value is , last-in, first-out (L IFO) stack and output from the chip. wait. Since R is the root coat word (one of the first 256 entries), We have reached the end of the list for this coat word. Then the chip The output stack is dumped from The restoration engine also coats regarding ■ - Input a word and use it to refer to the Hyde value ■. Again, this value is , is the root coat word, so the output sequence for this coat word is , completes, and the hide value for ■ is popped from the output stack. at this point , the last hide value pushed onto the output stack (1) and the previous code word A new dictionary entry is created using (code word for R).
各エントリは、こうして作成され、1つのハイド値と、シーケンスをなす次のバ イト(前のコート・ワー1’ )に対するポインタを含んでいる。こうして、各 辞書エントリ毎に、連係リストが生成される。Each entry is thus created, containing one hide value and the next bar in the sequence. Contains a pointer to the item (previous court 1'). In this way, each A linked list is generated for each dictionary entry.
次のコート・ワードが入力されて(Nに関するコート・ワード)、該プロセスか 反復される。今度は、Nか出力され、ハイド値Nと、■に関するコート・ワード を含む新しい辞書エントリか、作成される。The next code word is entered (the code word for N) and the process repeated. This time, N is output, the hide value N, and the code word for ■ A new dictionary entry is created containing the .
Tに関するコード・ワードが入力されると、Tか出力され、別の辞書エントリか 作成される。入力される次のコート・ワードは、ハイド・ノーケンスINを表わ す。復元エンジンは、このコード・ワードを利用して、本例において前に生成さ れた第2の辞書エントリを参照する。When a code word for T is entered, T is output and another dictionary entry is entered. Created. The next code word entered represents Hyde Nokens IN. vinegar. The restore engine utilizes this code word to retrieve the previously generated code word in this example. Refer to the second dictionary entry that was created.
このエントリには、出力スタックに納められたバイト値Nと、現在のコート・ワ ードになるIに関するコード・ワードに対するポインタが含まれている。この新 しいコート・ワードは、出力スタックに納められる次のバイト(I)を見つける ために用いられる。これは、根コート・ワードであるので、参照プロセスは、完 了し、出力スタックが、逆の順序でダンプされる。すなわち、まず■が出力され 、これにNが続くことになる。次の2つのコード・ワードに関して、同じプロセ スか反復され、もとのハイド・シーケンスRINTINTINが回復することに なる。This entry contains the byte value N placed on the output stack and the current code Contains a pointer to the code word for I that becomes the code. This new The new code word finds the next byte (I) to be placed on the output stack. used for Since this is the root codeword, the referencing process is The output stack is dumped in reverse order. In other words, ■ is output first. , followed by N. The same process for the following two code words: The sequence is repeated and the original hide sequence RINTINTIN is recovered. Become.
データ圧縮時に、データ・ストリームに挿入される上述の予約コート・ワードの うちの2つは、RESETとFLUSHのコート・ワードである。コード・ワー ドRESETは、新しい辞書の開始を意味している。コート・ワードFLUSH は、DCチップがそのバッファにフラッシングを施したことを表わしている。す なわち、再度バッファに順次データを充填する前に、圧縮することなく、そして 圧縮を再開することなく、バッファに現在保持されているデータを排出するとい う意味である。DCチップは、アルゴリズムに基づいて、RESET及びFLU SHのコート・ワードをデータ・ストリームに挿入する。The reserved code words mentioned above are inserted into the data stream during data compression. Two of these are the code words RESET and FLUSH. code war RESET means starting a new dictionary. Court Ward FLUSH indicates that the DC chip has flushed its buffer. vinegar i.e. before filling the buffer sequentially with data again, without compression, and To drain the data currently held in the buffer without restarting compression. It means Based on the algorithm, the DC chip performs RESET and FLU Insert the code word of SH into the data stream.
たたし、テープ・フォーマントは、いくつかのRESET及びFLUSHコート ・ワードか生じなければならない時点に制約を加え、さらに、圧縮データに対す るアクセスを改良するため、いくつかの情報を書き込むことによって、コート・ ワードRESET及びF L U S Hのいくつかを確実に利用できるように する。However, the tape formant has several RESET and FLUSH coats. ・Add constraints on when words must occur, and also add constraints on compressed data. By writing some information to improve access to the code. To ensure that some of the words RESET and F L U S H are available. do.
辞書は、データから再構築しなければならないので、復元は、コード・ワードR ESETからしか開始されることができない。一方、復元の停止は、それか、特 定の辞書の終端でなかったとしても、後続の任意のFLUSHコード・ワードで 行なうことができる。これが、各レコードの終りにコート・ワードFLUSHを 配置し、辞書の構築に用いられるものより小さいデータ・セグメントの選択的復 元を可能にすることが有利な理由である。Since the dictionary has to be reconstructed from the data, the restoration requires the code word R It can only be started from ESET. On the other hand, stopping the restoration is either on any subsequent FLUSH code word, even if it is not the end of a fixed dictionary. can be done. This creates a code word FLUSH at the end of each record. selective recovery of data segments smaller than those used to locate and build the dictionary. This is why it is advantageous to make the original possible.
はとんどのデータは、それまで参照されることがないので、辞書の開始時に、デ ータの大部分は、圧縮せずに排出される。この段階では、圧縮比は比較的小さい 。従って、圧縮効率を低下させるほど頻繁に辞書の再開を繰り返すのは望ましく ない。Most of the data is never referenced before, so at the beginning of the dictionary, Most of the data is ejected without compression. At this stage, the compression ratio is relatively small . Therefore, it is undesirable to restart the dictionary so frequently that it reduces compression efficiency. do not have.
余分情報をデータストリームに書き込むことの主な目的は、データ圧縮エンジン とシステム・コントローラとの連結を減少させることである。したがって、デー タストリームにある唯一の情報は、コントローラにより直接必要とされない情報 であるが、復元プロセスにとって潜在的に重要な情報である。The main purpose of writing extra information to the data stream is to help the data compression engine and the system controller. Therefore, data The only information in the data stream is information not directly needed by the controller. However, it is potentially important information for the restoration process.
エラー検査情報は、おそらく、データストリームに入れることのできる情報の最 適な例である。これは、圧縮中に書き込まれ、復元時に検査することができる。Error checking information is probably the most information that can go into a data stream. A case in point. This is written during compression and can be inspected during decompression.
CRCがそのよい例である。CRC is a good example.
CRCは“巡回冗長検査”を意味する。これは、一連のハイドにより生成される パターン(syndrome)である。これは、伝送中にデータ変造か起こって いないか検査するために、幾つかのデータ伝送方法により用いる。これは、生成 されて、データのすぐ後に送られる。データの受信機もそれを生成してから、そ の値が送信機から受信した値と一致しているかどうかを確認する。例えば、4ハ イドCRCを用いる場合、非検出エラーのある可能性は2/32である。CRC stands for "Cyclic Redundancy Check". This is produced by a series of hides It is a pattern (syndrome). This is due to data corruption occurring during transmission. Several data transmission methods can be used to check for This generates and sent immediately after the data. The receiver of the data also generates it and then Check if the value matches the value received from the transmitter. For example, 4 ha When using ID CRC, the probability of an undetected error is 2/32.
CRCは、データ記憶でも用いられ、生成されてテープに書き込まれる。読取り プロセスでは、次に、その独自のCRCを生成して、テープから読み取ったCR Cと比較する。CRCs are also used in data storage and are generated and written to tape. reading The process then generates its own CRC and uses the CR read from the tape. Compare with C.
CRCをデータストリームに入れると、CRCを生成するために用いるすへての データの後ではじめて作用することができる。しかし、さらに2つの選択がある 。Putting a CRC in the data stream will cause all the data used to generate the CRC to be Only after the data can it be acted upon. But there are two more options .
1゜レコードのデータとともに圧縮することができる。It can be compressed together with the data of 1° record.
2、レコードの後で非圧縮されたデータストリームに書き込むことかできる。2. You can write to the uncompressed data stream after the record.
CRCを圧縮すると、その値は非圧縮ドライブで用いることはできない。例えば 、テープ・フォーマット仕様では、そのための余地を残しておく必要はない。こ れは(データ・フォーマットの補助情報ではなく)圧縮アルゴリズムの一部であ る。しかし、これは非圧縮バイトの機能であるから、CRCは、圧縮エンジンの 非圧縮側のハードウェアに用いることができる。When a CRC is compressed, its value cannot be used on an uncompressed drive. for example , the tape format specification need not leave room for this. child This is part of the compression algorithm (rather than auxiliary information about the data format). Ru. However, since this is a function of uncompressed bytes, the CRC is Can be used for non-compression side hardware.
CRCをデータストリームに書き込んで、非圧縮する場合、CRCは、真に補助 的であり、フォーマット定義によりそのように指定される。これは、圧縮アルゴ リズムについての情報もなく、フォーマットを理解するすべてのドライブに利用 可能である。When writing a CRC to a data stream and uncompressing it, the CRC is truly and is specified as such by the format definition. This is the compression algo Available for all drives that understand the format without any information about rhythm. It is possible.
圧縮効率のためには、第二の選択が優れている。というのも、CRCをいずれか の辞書(dictionary)で見つけることは考えられないからである(こ れは実質的に、CRCを生成するバイトの関数である疑似乱数である)。圧縮さ れると、その元のサイズの約15倍にまで拡大する。4ハイドCRCは、圧縮さ れると記憶の6バイトを占め、非圧縮されたときには4ハイドを占めるだけであ る。しかし、減少結合(reduced coupl ing)のためには、第 一の選択が優れている。For compression efficiency, the second choice is better. This is because any CRC This is because it is unthinkable to find it in the dictionary of This is essentially a pseudo-random number that is a function of the bytes that generate the CRC). compressed When it is filled, it expands to about 15 times its original size. 4 Hyde CRC is compressed When compressed, it occupies 6 bytes of storage, and when uncompressed it occupies only 4 bytes of memory. Ru. However, for reduced coupling, the first The first choice is better.
データストリームに適合する情報の別のタイプの例は、後でデータを分離するた めに用いることができる情報である。システム・コントローラか書込みまたは読 取り中にこの情報を必要としないで、書込みにおいて生成することができ、読取 りにおいて簡単な方式でスキ・ツブすることかできる場合には、データストリー ムに容易に適合する。Another example of the type of information that fits into a data stream is to This is information that can be used for System controller write or read You do not need this information during reading; it can be generated on writing, and reading data stream if it can be skimmed or deleted in a simple way easily adapts to the system.
圧縮されたときに同一サイズのレコードでさえ可変長レコードを生成するので、 この種の情報は圧縮環境において重要である。Even records of the same size when compressed produce variable length records, so This type of information is important in a compression environment.
フラッシュ/FORコード・ワードは、DCチップにより自動的に書き込まれた り除去されるデータ・セパレータである。しかし、復元ドライブだけかこれらの 分離にアクセスする。非復元ドライブで、これらの境界にアクセスするためには 、余分分離情報をデータストリームに含めなければならない。これは補助情報で ある。Flash/FOR code word was written automatically by DC chip is the data separator that is removed. However, only the restore drive or these Access separation. To access these boundaries on a non-recovery drive: , extra separation information must be included in the data stream. This is supplementary information be.
これは圧縮ハイド・カウント(CB C)にすることができる。CBCを、EO Rコート・ワードの後にフォーマットに書き込み、非圧縮した場合、非復元ドラ イブは、それらをリンク・リストにおいてポインタ情報として用いることができ る。各々かその終わりにCBCを有する圧縮レコードの集合の終わりから始めた 場合、これは、データに入り、該集合の各圧縮レコードが始まり終わる箇所を計 算する。This can be a compressed hide count (CBC). CBC, EO If written to the format after the R code word and uncompressed, the unrestored driver Eve can use them as pointer information in linked lists. Ru. Starting at the end of a set of compressed records with a CBC at each or the end , this enters the data and calculates where each compressed record in the set begins and ends. Calculate.
両方を用いる(FORコード・ワード/CBC)場合、フォーマ・ソトは冗長的 である。この冗長性は、復元されたデータの妥当性に対する別の検査をもたらす ことができる。復元装置は、復元したバイト数を、データストリームのカウント と比較して、一致しない場合に、エラー信号を送ることができる。Forma soto is redundant if both are used (FOR code word/CBC) It is. This redundancy provides another check on the validity of the restored data be able to. The restorer calculates the number of bytes restored by counting the number of bytes in the data stream. If they do not match, an error signal can be sent.
次に、圧縮か非圧縮かはともかくとして、テープに対するデータ記憶の方法につ いて説明する。Next, consider how data is stored on tape, compressed or uncompressed. I will explain.
ユーザ(ホスト・コンピュータ)からテープ記憶装置へのデータ供給には、記憶 装置に送られる離散的パッケージ(レコード)にするためのデータの物理的分離 であるか、あるいは、特定の信号によってホストが表現する高レベルな記録の概 念的編成であるかはともかく、データのユーザ分離を伴うのが普通である。この データのユーザ分離は、ホストにとって特に意味がある(この意味は、テープ記 憶装置には分らないのが普通であるが)。従って、その存在が、入力データの物 理的分離によって記憶装置に伝えられたとしても、ユーザ分離を論理的セグメン テーションとみなすことが適切である。Supplying data from the user (host computer) to tape storage requires storage Physical separation of data into discrete packages (records) sent to equipment or an overview of the high-level record that a host represents with a particular signal. Regardless of whether it is a mental organization, it usually involves user separation of data. this User separation of data is particularly meaningful for hosts (this implication is Although it is normal for the storage device to not understand this). Therefore, the existence of the input data Even if logical separation is conveyed to storage devices, user separation cannot be divided into logical segments. It is appropriate to consider it as a tion.
第1図(a)には、既存のタイプのホストがテープ記憶装置に対して供給できる ユーザ・データと特殊な分離信号のシーケンスが示されている。この例では、デ ータは、可変長レコードR1〜R9として供給されるが、この物理的分離の論理 的意味は、ホストには分るが、記憶装置には分らない。物理的分離以外に、ユー ザ分離情報は、特殊な“ファイル・マーク”信号FMの形で供給される。ファイ ル・マークFMは、データ・レコードの間に挿入して、記憶装置に与えられるが 、やはり、この分離の意味は、記憶装置には分らない。レコードに対する物理的 分離によって、第ルベルの分離が得られ、一方、ファイル・マークによって、第 ルベルの分離と階層をなす第2レベルの分離が得られる。Figure 1(a) shows that existing types of hosts can provide tape storage. A sequence of user data and special separation signals is shown. In this example, The data is supplied as variable length records R1 to R9, but this physical separation logic The host understands the meaning, but the storage device does not. In addition to physical separation, The separation information is provided in the form of a special "file mark" signal FM. Phi The mark FM is inserted between data records and provided to the storage device. , again, the meaning of this separation is unknown to the storage device. physical to record The separation gives the separation of the first rubel, while the file mark gives the separation of the first rubel. A second level of separation is obtained that is hierarchical to Lebel's separation.
第1図(b)には、テープエ0に対して第1図(a)のユーザ・データ及びユー ザ分離情報を記憶するための可能性のある物理的編成の1つが示されているが、 この編成は、既知のデータ記憶方法に基づくものである。第1図(a)と第1図 (b)との間におけるマツピングは、簡単なものであるーファイル・マークFM は、一定周期のバースト1として記録されるが、さもなければ、データ・レコー ドとして扱われ、レコードR1〜R9とファイル・マークFMは、信号の記録さ れていないブロック間ギャップ2によって互いに隔てられる。プロ・ツク間ギャ ップ2は、記憶データを分離して、ユーザに分る論理単位のレコードにすること を可能ならしめ、ファイル・マークFM(一定周期のバースト1)は、レコード をレコードの論理的集合に分割する第2レベルの分離マークを形成する。FIG. 1(b) shows the user data and user data of FIG. 1(a) for tape 0. One possible physical organization for storing the separation information is shown; This organization is based on known data storage methods. Figure 1(a) and Figure 1 The mapping between (b) and file mark FM is simple. is recorded as a constant periodic burst 1, otherwise the data record Records R1 to R9 and file mark FM are treated as signals. They are separated from each other by an interblock gap 2 that is not shown. Pro-Tsuku Gya Step 2 is to separate the stored data into logical unit records that can be understood by the user. File mark FM (constant periodic burst 1) A second level separation mark is formed that divides the record into logical collections of records.
第1図(C)には、テープ10に第1図(a)のユーザ・データ及びユーザ分離 情報を記憶するための、可能性のある周知の第2の編成が示されている。この場 合、ユーザ・データは、それぞれ、グループの内容に関する情報を含むインデッ クス4を備えた固定サイズのグループ3に編成される。2つのグループ3間にお ける境界は、一定周期のバースト5によって表示することができる。データをグ ループに分割するのは、純粋に、関係する記憶装置の都合に合わせたものであり 、ホストには明らかなはずである。グループ内のユーザ・データは、いかなる点 においても物理的に分離しておらず、各レコードは、先行レコードの終端からと ぎれることなく続いているだけであり、グループ内のデータを分離して、レコー ドにし、さらに、ファイル・マークで区切られたレコードの集合にすることに関 した全ての情報が、グループのインデックスに含まれている。本例の場合、レコ ードR1〜R8とR9の第1の部分が、例示のグループ3に保持されている。FIG. 1(C) shows the user data and user separation of FIG. 1(a) on tape 10. A second possible and well-known organization for storing information is shown. this place In each case, the user data is an index containing information about the contents of the group. are organized into fixed-size groups 3 with boxes 4. between 2 groups and 3 The boundary between the lines can be indicated by a periodic burst 5. Google the data The division into loops is purely a matter of convenience for the storage involved. , should be obvious to the host. User data within a group is are not physically separated, and each record is separated from the end of the preceding record. The data in the group is separated and recorded. files, and also a collection of records delimited by file marks. All the information you have created is included in the group's index. In this example, record A first portion of the codes R1-R8 and R9 are held in the example group 3.
インデックス4の長さは、グループ内に存在する分離マークの数及びレコードの 数によって変動するのが一般であるが、グループの終端に対するインデックス内 の所定位置にインデックス長を記録することによって、インデックスと最後のバ イトとの境界を識別することができる。例えば、パディングといった未定義内容 を有するスペースが、データ領域の終端とインデックスの第1のバイトの間に存 在する可能性がある。The length of index 4 is determined by the number of separation marks in the group and the number of records. It generally varies depending on the number, but within the index for the end of the group By recording the index length in place in It is possible to identify boundaries between undefined content, e.g. padding space exists between the end of the data area and the first byte of the index. There is a possibility that
第2図には、インデックス4の内容が示されているが、見ての通り、インデック スは、2つの主データ構造、すなわち、グループ情報テーブル6及びブロック・ アクセス・テーブル7から構成される。ブロック・アクセス・テーブル7のエン トリ数は、グループ情報テーブル6におけるブロック・アクセス・テーブル・エ ントリ(BAT ENTRY)カウント・フィールドに記憶されている。グルー プ情報テーブル6には、ファイル・マーク・カウントFMC(記録の終端(BO R)マークには、現在のグループに納められた任意のものか含まれるので、ファ イル・マークの数)、及び、レコード・カウントRC(定義される)といった、 各種カウントが含まれている。Figure 2 shows the contents of index 4, and as you can see, the index The system consists of two main data structures: the group information table 6 and the block information table 6. It consists of an access table 7. block access table 7 entry The number of birds is determined by the block access table entry in the group information table 6. is stored in the BAT ENTRY count field. glue The file mark count FMC (end of recording (BO) R) Marks include any items contained in the current group, so number of file marks) and record count RC (defined). Contains various counts.
ブロック・アクセス・テーブル7は、一連のアクセス・エントリとして、グルー プの内容、及び、とりわけ、グループに保持されたユーザ・データの論理的セグ メンテーションを示している(すなわち、グループ内における各レコード境界及 び分離マークを表わしたエントリを保持している)。アクセス・エントリは、グ ループ内容の順番に並んでいる。The block access table 7 contains group access entries as a series of access entries. the contents of the group and, in particular, the logical segments of user data held in the group. mentation (i.e. each record boundary within a group) (contains entries representing separation marks). Access entries are They are arranged in the order of the loop contents.
第3図を参照すると、ブロック・アクセス・テーブル内のエントリは、それぞれ 、エントリのタイプを示すFLAGエントリと、その値を示すC0UNTエント リから構成される。FLAGフィールドは、8ビツトであり、C0UNTフイー ルドは、24ビツトである。FLAGフィールド内のビットは、下記の意味を有 している:5KP−セットされると、“スキップ・エントリ”を示す5KIPビ ツト。スキップ・エントリは、ユーザ・データによって取り上げられないグル7 プ内のバイト数、すなわち、(グループのサイズ)−(ユーザ・データ領域のサ イズ)を示す。Referring to Figure 3, each entry in the block access table is , a FLAG entry indicating the type of entry, and a C0UNT entry indicating its value. Consists of li. The FLAG field is 8 bits, and the COUNT field is 8 bits long. The field is 24 bits. The bits in the FLAG field have the following meanings: Yes: 5KP - When set, the 5KIP bit indicates “Skip Entry”. Tut. Skip entries are groups that are not picked up by user data. Number of bytes in the group, i.e. (group size) - (user data area support) is).
XFR−セットされると、テープに対するユーザ・データの書込みを表わすDA TA TRANSFERビット。XFR - DA, when set, indicates writing user data to tape TA TRANSFER bit.
EOX−セットされると、テープに対するユーザ・データ・レコードの書込みの 終了を示すEND OF DATA TRANSFERビット。EOX - When set, controls the writing of user data records to tape. END OF DATA TRANSFER bit indicating end.
CMP−セントされると、エントリが圧縮データに関連したものであることを示 すCOMPRESS IONヒツト。CMP-cent indicates that the entry is related to compressed data. COMPRESS ION hit.
EOT−このヒント値は、この説明の目的には、関係かない。EOT - This hint value is irrelevant for the purpose of this discussion.
MRK−セットされると、エントリか、データ・レコードではなく、分離マーク に関係していることを示すSEPARATORMARKヒツト。MRK - When set, an entry or a separation mark rather than a data record. SEPARATOR MARK human being associated with.
BOR−セットされると、データ・レコLトの始端位置を示すBEGINNIN G OF RECORDビット。BOR - When set, BEGINNIN indicates the starting position of the data record. G OF RECORD bit.
FOR−セントされると、テープ上におけるデータ・レコードの終端位置を示す END OF RECORDヒツト。FOR - indicates the end of a data record on tape when sent END OF RECORD hit.
第3図に、ブロック・アクセス・テーブルで作成することのできる7種類のエン トリを示す。5EPARATORMARK(セパレータ・マーク)エントリは、 レコードとして定義されるので、BORおよびEORヒツト・セットである。次 の4つの各エントリは、データ転送についての情報を表すので、XFRヒツト・ セットかある。5TART PART OF RECORD(レコードの開始部 )エントリは、レコードの始めたけがグループに適合し、レコードの次の部分が 次のグループにまで入り込む場合に相当する。MIDDLE PART OF RECORD(レコードの中間部)エントリ・フラグは、該グループにレコード の始まりまたは終わりかないので、データ転送ビットである。END PART OF RECORD(レコードの終わり部)エントリにはフラグにEORヒツ ト・セットかなく、その代わりに、FORビットは、合計レコード・ハイド・カ ウントを与えるTOTAL C0UNT (h−タル・カウント)エントリにセ ットされる。グループにおけるブ0ツク・アクセス・テーブルの最後のエントリ は、常に、ユーザー・データにより占有されないグループのスペース量を与える 5KIP(スキップ)エントリであり、すなわち5KIPエントリにおけるカウ ント・フィールドのエントリが、グループ・サイズ(例、126632ハイド) からデータ・エリア・サイズを引いたものに等しい。Figure 3 shows the seven types of entries that can be created with block access tables. Show the bird. 5EPARATORMARK (separator mark) entry is Since it is defined as a record, it is a BOR and EOR hit set. Next Each of the four entries represents information about a data transfer, so There is a set. 5TART PART OF RECORD (start of record ) entry matches the injury group that started the record, and the next part of the record This corresponds to the case where it extends to the next group. MIDDLE PART OF The RECORD (middle part of record) entry flag indicates that a record is not included in the group. There is no beginning or end, so it is a data transfer bit. END PART The OF RECORD (end of record) entry has an EOR hit in the flag. Instead, the FOR bit sets the total record hide count. Set the TOTAL COUNT (h-total count) entry to give the count. will be cut. Last entry in the book access table in the group always gives the group the amount of space not occupied by user data 5KIP (skip) entry, i.e. counter in 5KIP entry. The entry in the client field is the group size (for example, 126632 hides). is equal to minus the data area size.
第1図(C)に示すレコードのグループ3に関するブロック・アクセス・テーブ ルの一例が、第4図に示されている。レコードR1〜8に関するカウント・エン トリは、該レコードに関する総ハイド・カウントであるが、レコードR9に関す るカウント・エントリは、R9のグループ3内にある部分のハイド・カウントで ある。ファイル・マークFMに関するカウント・エントリは、フォーマットに従 って0またはlになる。5KIPエントリに関するカウント・エントリは、12 6632からテーブルに既に現われたバイト・カウントの和を引いたものである (TOTAL C0UNTエントリは含まない)。Block access table for group 3 of records shown in Figure 1(C) An example of this is shown in FIG. Count en for records R1-8 is the total hide count for that record, but for record R9. The count entry is the hide count for the portion in group 3 of R9. be. Count entries for File Mark FM follow the format. becomes 0 or l. The count entries for 5KIP entries are 12 6632 minus the sum of the byte counts that have already appeared in the table (Does not include TOTAL COUNT entry).
別の実施例では、第3A図に示すようなグループのデータを圧縮するために用い るアルゴリズムを示している、ブロック・アクセス・テーブルにさらに可能なエ ントリかある。C0UNTフイールドに入力されるアルゴリズム番号は、DCア ルゴリズム番号の基準に準拠する望ましい番号である。グループとしての圧縮レ コードのためのデータ転送およびトータル・カウントFLAGエントリには、C MPビット・セットがある。したがって、グループの中の圧縮および非圧縮レコ ードは、CMPビットに基づいてドライブにより区別することができる。例えば 、第1図(C)において、偶数番号のレコードを圧縮レコードおよび奇数番号の レコードを非圧縮レコードと仮定すると、ブロック・アクセス・テーブルのエン トリは第4A図に示す通りである。In another embodiment, it may be used to compress a group of data as shown in FIG. Additional possible errors in the block access table showing the algorithm There is an entry. The algorithm number entered in the C0UNT field is This is a desirable number that complies with algorithmic number standards. Compression levels as a group Data transfer and total count FLAG entries for code include C There is an MP bit set. Therefore, compressed and uncompressed records in a group The codes can be differentiated by the drive based on the CMP bit. for example , in Figure 1(C), the even-numbered records are compressed and the odd-numbered records are compressed. Assuming the record is an uncompressed record, the block access table entry The birds are as shown in Figure 4A.
第4A図は、UBCXはレコードXの非圧縮バイトを示し、CBCXはレコード Xの圧縮バイトを示す。In Figure 4A, UBCX indicates the uncompressed bytes of record X, and CBCX indicates the record Indicates the compressed bytes of X.
第5図は、ユーザ・データおよび関連情報をテープに記憶するための別の可能な 構成を示す。再び、ユーザ・データは、グループに、グループの内容についての 情報を含めるためのブロック・アクセス・テーブルを構成する(グループに圧縮 データを含む場合でも非圧縮される)インデックスを含んた、固定サイズのグル ープに構成される。グループ間の境界は、一定周期のバーストにより示すことか できる。Figure 5 shows another possible way to store user data and related information on tape. Show the configuration. Again, user data is added to the group, about the contents of the group. Configure block access tables to include information (compressed into groups) A fixed-size group with an index (uncompressed even if it contains data) configured into a group. Should boundaries between groups be indicated by periodic bursts? can.
しかし、レコードでげによりグループ・インデックスに情報を記憶することより も、この実施例では、1つのエンティティか1つ以上のレコードから成る”エン ティティ”によって、グループの内容についての情報を記憶することか必要であ る。この実施例では、エンティティに、各々が同じ非圧縮長を有するn個の圧縮 レコードを含めることかできる(nは1以上の数) 第5図において、グループGは、圧縮データの4つの完全なレコー)” CR、 〜CR,と、8ハイドのヘッダ一部分Hから成る単一のエンティティENTIT YI (またはEl)によって構成される。レコー)” CR、〜CR,は、同 じ非圧縮長を有しているが、データ圧縮後は、当然具なる長さになる。However, rather than storing information in the group index by recording In this example, an entity or an "ensemble" consisting of one or more records is used. It is necessary to memorize information about the content of the group by Ru. In this example, the entity has n compressed lengths, each with the same uncompressed length. Records can be included (n is a number greater than or equal to 1) In FIG. 5, group G consists of four complete records of compressed data) "CR, ~CR, and a single entity ENTIT consisting of an 8-hide header portion H Constructed by YI (or El). record)” CR, ~CR, are the same It has the same uncompressed length, but after data compression, it naturally becomes a specific length.
データ・ストリーム内における非圧縮状態のままのヘッダ一部分Hには、下記の 情報が含まれている H、 −ヘッダー長(4ビツト)。(次の12ビツトは、予約されている)。The uncompressed header portion H in the data stream includes: contains information H, - Header length (4 bits). (The next 12 bits are reserved).
ALG# −データの圧縮に用いられる圧縮アルゴリズムを表わした記憶数lハ イド)。ALG# - Memory number l representing the compression algorithm used to compress the data. id).
UBC−エンティティ内のレコードに関する非圧縮バイト・カウント(3ハイド )。UBC - Uncompressed byte count for records within an entity (3 hides) ).
#REC3−エンティティ内のレコード数(2バイト)。#REC3 - Number of records in the entity (2 bytes).
任意選択により、エンティティ内における各レコードの終端には、各レコードの 圧縮ハイド・カウントを納める後書き(trailer )部分を含むことが可 能である。例えば、後書き部分は、“レコードの終端” (FOR)のコート・ ワードのすぐ後に配置されることになる。Optionally, at the end of each record within an entity, each record's Can include a trailer section that contains compressed hide counts. It is Noh. For example, the trailing part is the “end of record” (FOR) code. It will be placed immediately after the word.
この特徴か存在する場合、ヘッダ一部分において、ヘッダー長H,の後に予約さ れた12ヒツト中に、後書き部分の長さ、例えば、3ビツトを示すこともできる 。If this feature exists, it is reserved after the header length H, in the header part. It is also possible to indicate the length of the trailing part, e.g. 3 bits, among the 12 hits entered. .
エンティティの各レコードに後書き部分を有する実施例の一例を第5A図に示す 。後書き部分は、各圧縮レコードの終わりにおいて、非圧縮データストリームに 書き込まれる。したかって、第5A図のエンティティには、ヘッダ一部Hおよび 、各々に非圧縮後書き部分子を有し、非圧縮されたときに同じ長さの4つの圧縮 レコードCR,〜CR4を含む。An example of an embodiment in which each record of an entity has a trailing portion is shown in FIG. 5A. . The trailing portion is added to the uncompressed data stream at the end of each compressed record. written. Therefore, the entity in FIG. 5A has header parts H and , each with an uncompressed trailing part molecule and having the same length when uncompressed Contains records CR, to CR4.
各レコードの後書き部分子には、レコードの圧縮ハイド・カウント(CBC)お よび巡回冗長検査(CRC)を含んでいる。後書き部分は、この例では各レコー ドの終わりの6ビツトを占める。後書き部分の長さくTL)は、ヘッダ一部Hに 含まれ、ヘッダ一部Hの最初のハイドのバイトの最後の4ビツトを占める。The trailing portion of each record contains the record's compressed hide count (CBC) and and cyclic redundancy check (CRC). The trailing section is for each record in this example. occupies the last 6 bits of the code. The length of the afterword part (TL) is the header part H. It occupies the last 4 bits of the first hide byte of header part H.
後書き部分を含めることにより、5KIPカウント・エントリはそれに応じて小 さくなるか、ブロック・アクセス・テーブルTのエントリの特性を変えることは ない。By including the trailing portion, the 5KIP count entry will be correspondingly smaller. or change the characteristics of an entry in the block access table T. do not have.
データストリームへの圧縮バイト・カウントの書込みは、DCドライブまたは適 するように構成された非DCドライブで、リンク・リストにおけるポインタとし て用いて、各圧縮レコードが始まったり終わる位置を推定することができる。Writing compressed byte counts to the data stream can be done using a DC drive or as a pointer in a linked list on a non-DC drive configured to can be used to estimate where each compressed record begins and ends.
DCドライブにおいてFORコード・ワードおよびCBCを用いることにより、 冗長性がもたらされ、復元中にエラー検査の目的に利用することができる。復元 装置は、CBCと復元されるバイト数とが一致しないときに、エラー信号を送る ことができる。By using the FOR code word and CBC in the DC drive, It provides redundancy and can be used for error checking purposes during restoration. restoration The device sends an error signal when the CBC and the number of bytes restored do not match. be able to.
ヘッダーにヘッダ一部分(及び、適合すれば、後書き部分)の長さを含む利点は 、それによって、この長さを変えることが可能になり、同時に、所望の場合には 、ドライブにヘッダーをスキップさせることができるということである。The advantage of including the length of the header section (and trailing section, if applicable) in the header is , thereby making it possible to vary this length and at the same time, if desired , which means you can force the drive to skip the header.
ブロック・アクセス・テーブルにおける各グループのインチ2.クスには、レコ ードの形ではな(、エンティティの形で、ただし、別様の場合には、第2図〜第 4図に関連して前述のように、情報が記録される。第5図には、エンティティE 1に関するブロック・アクセス・テーブルのエントリも示されいる。inches for each group in the block access table2. There is a record in the Not in the form of a code (in the form of an entity, but in other cases, Information is recorded as described above in connection with FIG. In Figure 5, entity E The block access table entry for 1 is also shown.
ブロック・アクセス・テーブルTで行うエントリのタイプは、第2図〜第4図に 関して述べるものと類似している。その相違は、エントリが、レコードではなく 、エンティティのためのハイド・カウントに関連していることを、FLAGフィ ールドのCMPビットの新しい設定が示していることである。The types of entries made in the block access table T are shown in Figures 2 to 4. It is similar to what is described in relation to The difference is that an entry is not a record. , the FLAG field is related to the hide count for the entity. This is what the new setting of the field's CMP bit indicates.
1つの可能性として、エンティティに圧縮レコードだけしか含めることかできな くなるが、これは、望ましい。従って、これは、FLAGフィールドにCMPヒ ツトをセットすると、やはり、C0UNTエントリか圧縮ハイド・カウントであ ることを表わすことになる。一方、もう1つの可能性として、エンティティに圧 縮データと非圧縮データのいずれかを含み、例えば、エンティティ内のデータが 非圧縮データであることを表わす、全てゼロといった特定のアルゴリズム数を予 約することか可能になる。One possibility is that an entity can only contain compressed records. However, this is desirable. Therefore, this Setting the It will represent that. On the other hand, another possibility is that the entity is under pressure. Contains either compressed or uncompressed data, e.g. Specify a specific algorithm number, such as all zeros, to indicate uncompressed data. It becomes possible to make an agreement.
レコードではなく、エンティティの形で、ブロック・アクセス・テーブルTに情 報を記憶することによって、テープにレコードを書き込み、テープからレコード を読み取ることに関連した記憶管理のオーツ\ヘッドか減少する。第2図〜第4 図に示す案を用いる場合には、グループGに関して、ブロック・アクセス・テー ブル中の5つのエントリか必要になるか、この場合には、2つのエントリしか必 要ない。Information is added to block access table T in the form of entities rather than records. By memorizing information, you can write records to tape and extract records from tape. The storage management overhead associated with reading the data is reduced. Figures 2 to 4 When using the scheme shown in the figure, for group G, the block access table In this case, only two entries are required. No need.
レコードをエンティティに編成すると、読取り及び書込み時に必要なプロセッサ の介入度か低下するので、同じ非圧縮サイズの複数レコードを転送するのか容易 になる。エンティティに含まれるレコードのシーケンスの書込みに必要なプロセ ッサの介入は、ヘッダ一部分の形成と、ブロック・アクセス・テーブル内におけ る適合するエントリの作成たけということになる。対照的に、第1図〜第4図に 関連して説明した既知の案を用いると、各レコード毎にプロセッサの介入が必要 になる。圧縮されたハイド・カウントは、圧縮プロセスの終了後まで未知のため 、これは、データ圧縮に関してとりわけ重要である。従って、あるグループをデ ータで満たそうとする場合、適合するレコード(及び対応するブロック・アクセ ス・テーブルのエンティティ)数か、分らない。あるエントリにブロック・アク セス・テーブルの要件を固定することによって、どれだけのデータのレコードが グループに納まるかに関係なく、グループ全体を1回のプロセッサ介入で満たす ことができるる。データの読取り時にも、同様の利点が得られる。Organizing records into entities reduces the processing time required to read and write them. It is easier to transfer multiple records of the same uncompressed size because the intrusiveness of become. The process required to write a sequence of records contained in an entity. The intervention of the processor is to form part of the header and to All you have to do is create a matching entry. In contrast, in Figures 1-4 Using the related known solution, processor intervention is required for each record. become. Because the compressed hide count is unknown until after the compression process is finished, , which is especially important with respect to data compression. Therefore, if a group data, the matching record (and corresponding block access I don't know whether it's the number of entities in the database table or not. block access on an entry By fixing the requirements for access tables, you can determine how many records of data Fill the entire group with one processor intervention, regardless of whether it fits into the group I can do that. Similar benefits can be obtained when reading data.
第6図を参照すると、エンティティ(En)は2つ以上のグループにまたがる場 合もある、例えば、単一の比較的長いレコードCR+を含むエンティティE1が 、グループG、を充填して、グループG2にまで入り込む。第6図には、グルー プG、、G2のブロック・アクセス・テーブル内のエントリも示されている。グ ループ間の連係度を弱めるため、新しいエンティティは、グループ内において、 できるだけ早く開始する、すなわち、前のレコードが圧縮されていなければ、グ ループの開始部において、または、グループ内における最初の圧縮レコードの始 端において、あるいは、前のレコードが圧縮されており、前のグループからはみ 出してきたものである場合には、最初の新しい圧縮レコードの始端において開始 する。従って、圧縮レコードCR+の終端において、次のエンティティE2が開 始する。エンティティE2には、非圧縮長の等しい、4つの圧縮レコードCR2 〜CRsが含まれている。Referring to Figure 6, if an entity (En) spans two or more groups, For example, an entity E1 containing a single relatively long record CR+ may , group G, and penetrates into group G2. Figure 6 shows the glue Entries in the block access table for groups G, , G2 are also shown. Group In order to weaken the linkage between loops, new entities are Start as early as possible, i.e., if the previous record was not compressed, the group At the beginning of a loop or at the beginning of the first compressed record in a group. at the edges, or if the previous record has been compressed and is missing from the previous group. If it is a compressed record, start at the beginning of the first new compressed record. do. Therefore, at the end of the compressed record CR+, the next entity E2 is opened. start Entity E2 has four compressed records CR2 of equal uncompressed length. ~CRs are included.
グループには、圧縮データを含むエンティティと、非圧縮データを含む“裸のレ コード”とを混合したものを納めることができるように企図されている。この構 成の一例が、ブロック・アクセス・テーブル内の対応するエントリも示す第7図 に示されている。Groups contain entities that contain compressed data and “bare records” that contain uncompressed data. This structure is designed to be able to contain a mixture of An example of the configuration is shown in Figure 7, which also shows the corresponding entry in the block access table. is shown.
グループGには、ヘッダ一部分Hと、3つの圧縮レコー1”CR,。Group G includes a header portion H and three compressed records 1''CR.
CR2、及び、CR3から成るエンティティが含まれている。グループGは、ま た、非圧縮レコードR4(ヘッダ一部分を備えていない)も含んでいる。グルー プGのブロック・アクセス・テーブルTには、4つのエントリか含まれている: 第1のエントリは、グループ内のエンティティの全/\イト・カウント、 第2のエントリは、ファイル・マーク・エントリ (レコードR4の開始前に入 力データ内におけるファイル・マークの存在を示す)、第3のエントリは、非圧 縮レコードR4の全バイト・カウント、最後のエントリは、5KIPエントリ。It includes entities consisting of CR2 and CR3. Group G is It also includes an uncompressed record R4 (which does not include a portion of the header). glue Block access table T of block G contains four entries: The first entry is the total/\ite count of entities in the group, The second entry is a file mark entry (entered before the start of record R4). (indicating the presence of a file mark in the force data); the third entry indicates the presence of a file mark in the force data; Total byte count of reduced record R4, last entry is 5KIP entry.
第7図から注目されるのは、CMPビット(FLAGフィールドの第4のヒツト )は、エンティティ・バイト・カウント・エントリに対してセットされているか 、裸のレコード・バイト・カウント・エントリに対してはセットされていないと いう点である。適切に構成された非DCドライブは、CMPビットが関連するブ ロック・アクセス・テーブル・エントリにセットされているか否かをチェックす ることによって、圧縮データと非圧縮データが混在したテープ上において、前記 データの識別を行なうことができる。What is noteworthy from Fig. 7 is the CMP bit (the fourth hit of the FLAG field). ) is set for the entity byte count entry? , must not be set for bare record byte count entries. This is the point. A properly configured non-DC drive will Checks whether it is set in the lock access table entry. By doing this, the above-mentioned Data can be identified.
この案では、エンティティ内の分離マークが認められない。例えば、ホストか、 シーケンスをなす長さの等しいレコードを送信中で、そのシーケンス内にファイ ル・マークまたは他の分離マークが存在する場合、分離マークの前の第1組のレ コードが、1つのエンティティに納められ、分離マークが、テープに書き込まれ 、ファイル・マークに続くシーケンス内の1組のレコードが、第2のエンティテ ィに納められる。もちろん、2つのエンティティに関した対応するエントリと分 離マークが、関連グループのブロック・アクセス・テーブル内に作成される(こ の例には、1つのグループしか含まれていないものと仮定する)。This proposal does not allow separation marks within entities. For example, the host If you are sending a sequence of records of equal length and there are no files in the sequence. If a separation mark or other separation mark is present, the first set of records before the separation mark. The code is contained in one entity and separation marks are written to the tape. , the set of records in the sequence that follows the file mark is the second entity. It can be delivered to Of course, the corresponding entries for the two entities and the A separation mark is created in the associated group's block access table (this The example assumes that only one group is included).
第8図には、グループのブロック・アクセス・テーブルにおいて可能性のある有 効なエントリのシーケンスが示されている。第8図では、状聾及びアクションか 矩形で指定され、ブロック・アクセス・テーブルのエントリが楕円で示されてい る。“スパン”レコード/エンティティは、1つのグループから別のグループへ 延びるものである。Figure 8 shows possible entries in the group's block access table. The sequence of valid entries is shown. In Figure 8, the state of deafness and the action Specified by a rectangle, and block access table entries are shown by ovals. Ru. “Span” records/entities from one group to another It is something that extends.
エンティティの存在、及び、エンティティ内において許容される複数圧縮レコー ドの存在を考慮に入れて、各グループのインデックスにおけるグループ情報テー ブルのい(つかのフィールドは、次のように定義される。Existence of entity and multiple compressed records allowed within the entity The group information table in each group's index takes into account the presence of The following fields are defined as follows:
レコード・カウント−このフィールドは4バイト・フィールドであり、現在のグ ループを含む現在のグループまでのすべてのグループのグループ情報テーブルの 現グループ・エントリ(下記参照)のレコード数の値の和を指定する。Record Count - This field is a 4-byte field and counts the current group. of the group information table for all groups up to the current group, including the loop. Specifies the sum of the record count values for the current group entry (see below).
現在グループ内のレコード数−このフィールドは、下記の合計を指定する2バイ トのフィールドである: 1)現在グループのブロック・アクセス・テーブルにおける分離マーク・エント リの数。Number of records currently in group - This field is a 2-byte field that specifies the total of: This field is: 1) Separate mark entries in the current group's block access table number of li.
ii)現在グループのブロック・アクセス・テーブルにおける非圧縮レコード・ エントリの総カウント数。ii) uncompressed records in the current group's block access table; Total count of entries.
1ii)現在グループのブロック!アクセス・テーブル内における非圧縮レコー ド・エントリの全カウント数。1ii) Current group block! Uncompressed records in access tables total count of entries.
iv)現在グループのブロック・アクセス・テーブルにおけるエンティティ・エ ントリの総カウントまたはエンティティ・エントリの全カウントが存在する、全 てのエンティティ内における圧縮レコード数の合計。iv) Entity entry in the current group's block access table A total count of entries or a total count of entity entries exists. Total number of compressed records in all entities.
■)こうしたエントリが存在する場合、現在グループのブロック・アクセス・テ ーブルにエンティティ・エントリの開始部分が存在する、エンティティ内の圧縮 レコード数−1゜vi)現在グループのブロック・アクセス・テーブルにおける エンティティ・エントリの総カウント数。■) If such an entry exists, the current block access text for the group Compression within an entity where the start of the entity entry is in the table Number of records - 1゜vi) In the current group's block access table Total count of entity entries.
前レコードのグループ数−このフィールドは、分離マーク、アクセス・ポイント ・または、非圧縮レコードの始端が生じた最高番号の前グループの実行番号を指 定する2ハイド・フィールドである。それには、こうした前グループが存在しな い場合、全てのゼロ・ヒツトが含まれることになる。Number of groups in previous record - This field contains separation marks, access points, - Or, specify the execution number of the highest numbered previous group where the beginning of the uncompressed record occurred. 2 hide fields. This is because these previous groups do not exist. If not, all zero hits will be included.
第1図〜第8図に関して解説した固定サイズのグループにおけるレコードの編成 に関連し、一般に、グループは、復元目的のため、互いに独立した状態に保つこ とが望ましい。すなわち、一般に、RESETコート・ワードは、各グループの 始端またはその近くに配置することが望ましい。これに関する2つの主たる理由 のうち1つは、グループ間の連係を弱めることによって、コントローラにおいて 必要とされるバッファ・スペース量の減少に役立つ、すなわち、任意の時点にお いてバッファ内に2つ以上のグループを納めなければならない可能性を低下させ ることになるためである。グループの始端にRESETコード・ワードを配置す るもう1つの理由は、グループの中間にあるレコードを選択的に復元するのが望 ましい場合、グループ外に出て、関連辞書を開始する必要がなくなるためである 。Organization of records in fixed-size groups as explained in relation to Figures 1-8 In general, groups should be kept independent of each other for restoration purposes. is desirable. That is, in general, the RESET code word for each group Preferably placed at or near the starting point. Two main reasons for this One of them is to reduce the coordination between groups, so that Helps reduce the amount of buffer space required, i.e. reduces the possibility of having to fit more than one group in the buffer. This is because it will become a problem. Place the RESET code word at the beginning of the group. Another reason is that it may be desirable to selectively restore records in the middle of a group. This is because there is no need to go outside the group and start the related dictionary if it is desired. .
各レコードの後にFLUSHコート・ワードを配置するのには、利点かある一F LUSHコート・ワードは、“レコードの終端” (FOR)コート・ワードと も呼ばれ、圧縮データへのアクセスを改善する。There are advantages to placing a FLUSH code word after each record. The LUSH coat word is the same as the “end of record” (FOR) coat word. Also known as compressed data, it improves access to compressed data.
この特徴により、レコードに先行するRESETコート・ワードから復元か要求 されるレコードを別個に復元することか可能になる。各レコードの終端にFLU SHコート・ワードを配置すると、次のレコードからのデータに入り込まなくて も、各レコードのデータを復元することか可能になる。This feature allows a restore or request to be made from the RESET code word that precedes the record. It is now possible to restore the records that are stored separately. FLU at the end of each record Placing the SH code word prevents data from entering the next record. It will also be possible to restore the data for each record.
データ辞書を構成する圧縮データ量は、“圧縮オブジェクト“と呼ばれる。圧縮 オブジェクトは、第9図に示すように、2グル一プ以上のデータにまたがる可能 性かある。レコードが1つのグループからもう1つのグループにオーバラップす る場合、RESETコード・ワードは、すぐ隣の圧縮レコードの始端において、 データ・ストリーム内に配置される。The amount of compressed data that makes up the data dictionary is called a "compressed object." compression An object can span two or more groups of data, as shown in Figure 9. It's sexual. If records overlap from one group to another the RESET code word at the beginning of the immediately adjacent compressed record. Placed within the data stream.
第9図において、グループG1は、3つの完全な圧縮レコードCR、、CR2, CR3,及び、第4の圧縮レコードCR4の最初の部分から構成される。レコー ドCR,の最後の部分は、次のグループG2に入り込んでいる。この例の場合、 レコードは、エンティティをなすようには編成されない。In FIG. 9, group G1 consists of three complete compressed records CR, ,CR2, CR3 and the first part of the fourth compressed record CR4. record The last part of ``CR'' is included in the next group G2. For this example, Records are not organized into entities.
データ圧縮時、グループG1の始端において、辞書がリセットされる(第9図の Rで表示)。FLUSHコード・ワード(Fで表示)が、各レコードの終端に位 置するようにデータ・ストリームに挿入される。When compressing data, the dictionary is reset at the beginning of group G1 (see Figure 9). (denoted as R). A FLUSH code word (denoted by F) is placed at the end of each record. inserted into the data stream so that the
現在の辞書は、レコードCR,が終了するまで継続し、その時点で、辞書がリセ ットされる。従って、現在の圧縮オブジェクトは、レコー1” CR、〜CR, から構成される。The current dictionary continues until the end of record CR, at which point the dictionary is reset. will be cut. Therefore, the current compressed object is record 1” CR, ~CR, It consists of
後で、例えば、レコードCR3を選択的に復元することが所望の場合、これは、 レコー)” CR、の開始部、すなわち、レコードCRsを含む圧縮オブジェク トの開始部で復元を開始し、レコードCR,の終端まで、データの復元を行なう ことによって可能となる。レコードCR3の終端において“明確な中断”か得ら れるようにする、すなわち、レコー)”CR,の終端において、FLUSHコー ト・ワードのために、レコー1” CR、の始端に入り込まないようにすること が可能になる。Later, if it is desired to selectively restore record CR3, for example, this record)” CR, i.e. the compressed object containing records CRs Start the restoration at the beginning of the record CR, and continue restoring the data until the end of the record CR. This makes it possible. Obtaining a “clear break” at the end of record CR3 At the end of "CR," the FLUSH code is Avoid entering the beginning of record 1” CR, because of the word becomes possible.
したがって、゛アクセス・ポイント°間に点在されるフォーマットによりアクセ ス可能なFLUSHコード・ワード(フォーマットによりアクセス可能なRES ETコート・ワード)を与えることにより、データ圧縮中に辞書を作成するため に用いるデータ量よりも小さなデータ・セグメントの選択的復元をすることがで きる。各レコードの圧縮ハイド・カウントはブロック・アクセス・テーブルに記 憶されるの該フォーマットでは、°アクセス・ポイント°を形成する圧縮対象の 始点、すなわちドライブで復元動作を開始することのできるポイントは、幾つか の方法のうちの1つにより示すことができる。アクセス・ポイントは、各グルー プのブロック・アクセス・テーブルにおいて明示的に記すことができる。この他 に、アクセス・ポイントの存在は、ブロック・アクセス・テーブルの別のエント リにより示唆することかでき、例えば、アルゴリズム番号エントリの存在でさえ 、該グループの最初の新レコードの始めにアクセス・ポイントを含むことがある 。Therefore, access is accessible FLUSH code word (RES ET code word) to create a dictionary during data compression. You can selectively restore data segments smaller than the amount of data used for Wear. The compressed hide count for each record is recorded in the block access table. The format in which the data is stored is the compressed data that forms the access point. There are several starting points, i.e. points at which a restore operation can be initiated on a drive. This can be shown by one of the following methods. Access points are can be explicitly written in the group's block access table. Others In other words, the presence of an access point is another entry in the block access table. For example, even the existence of an algorithm number entry , may contain an access point at the beginning of the first new record in the group. .
また、アルゴリズム番号のビットは、新しい辞書が、該グループの最初の新レコ ードのはじめにおいて開始することを示すために確保しておくこともある。Also, the algorithm number bits indicate that the new dictionary is the first new record in the group. It may also be reserved to indicate that it starts at the beginning of the code.
レコードが、エンティティをなすように編成され、エンティティが第5図〜第7 図に関連して解説のグループをなすように編成される場合、比較的少量のデータ を納めたエンティティを共用する辞書の利点が得られるようにするため、圧縮オ ブジェクトが、第10図に示すように、2つ以上のエンティティにまたがるよう にすることも可能である。Records are organized into entities, and the entities are shown in Figures 5-7. Relatively small amounts of data when organized into groups of explanations related to figures The compression option allows you to take advantage of dictionaries that share An object spans two or more entities, as shown in Figure 10. It is also possible to
第10図には、圧縮データに関する3つの定サイズのグループG1、G2.G3 か示されている。グループG1には、完全なレコードCR1と、次のレコードC R2の最初の部分が含まれている。レコードCR,は、エンティティE1におけ る唯一のレコードである。グループG2には、レコードCR2の中間部分か含ま れている。グループG3には、レコードCR2の終端部分か含まれ、さらに、レ コードCR3等も含まれている。エンティティE2には、単一の比較的長いレコ ードCR2か含まれている。FIG. 10 shows three fixed size groups G1, G2 . G3 is shown. Group G1 contains the complete record CR1 and the next record C. Contains the first part of R2. Record CR, is in entity E1 This is the only record of its kind. Group G2 includes the middle part of record CR2. It is. Group G3 includes the last part of record CR2, and Code CR3 etc. are also included. Entity E2 has a single relatively long record. Code CR2 is included.
圧縮時、辞書は、グループG1の始端でリセットされるが(Rで表示)、レコー ドCR,は比較的短いので、圧縮オブジェクトは、レコ−1”CR,及びエンテ ィティを越えて延び、レコー1” CR2及びエンティティE2を含んでいる。During compression, the dictionary is reset at the beginning of group G1 (indicated by R), but the record The compressed object consists of record 1”CR and entry 1” since it is relatively short. It extends beyond the entity and includes record 1" CR2 and entity E2.
圧縮オブジェクトは、レコードCR2の終端で終了し、新しい圧縮オブジェクト が、レコードCR,の始端で開始する。The compressed object ends at the end of record CR2 and a new compressed object starts at the beginning of record CR,.
他の可能性には、新しい辞書の開始を示すための、エンティティ・ヘッダーの非 ゼロ・アルゴリズム番号の存在、およびその他に、予め定められた値、例えばセ ロなどを用いるためのアルゴリズム番号ヘッダー・エントリかある。Other possibilities include a non-entity header to indicate the start of a new dictionary. The presence of a zero algorithm number and other predetermined values, e.g. There is an algorithm number header entry for using ro etc.
ブロック・アクセス・テーブルのエンティティの圧縮バイト・カウントを書き込 むことによりアクセス可能な、各エンティティの終わりにあるFLUSHコート ・ワードの存在によって、1エンテイテイ毎に、レコードの選択的復元をするこ とができる。例えば、第10図を参照するが、エンティティE2 (この例では たまたま1つのレコードCR,)の内容は、レコードCR3の始めからデータを 得ることなく復元することができる。しかし、テープ・フォーマットでアクセス 可能な最も近い前の辞書の始点であるエンティティE、の始めにあるRESET コード・ワードから復元を開始しなければならない。第20A図および第20B 図に関して記述するエンティティ・ヘッダーの情報を利用して1つのレコード毎 にデータを復元することもできる。Write compressed byte count for entities in block access table FLUSH coat at the end of each entity, accessible by ・Due to the existence of words, it is possible to selectively restore records for each entity. I can do it. For example, referring to FIG. 10, entity E2 (in this example As it happens, the contents of one record CR,) contain data from the beginning of record CR3. It can be restored without losing it. However, access in tape format RESET at the beginning of entity E, which is the start of the nearest possible previous dictionary Restoration must begin with the code word. Figures 20A and 20B For each record using the information in the entity header that describes the diagram You can also restore data.
もちろん、DCチップは、レコードの中間部であっても、アルゴリズムに従って 、データ・ストリームにRESETコード・ワードを挿入する。以上の説明は、 テープ・フォーマットによって強制され、認識され、利用されるRESETコー ト・ワードに関するものである。Of course, the DC chip will follow the algorithm even in the middle of the record. , inserts a RESET code word into the data stream. The above explanation is RESET codes enforced, recognized, and utilized by the tape format. It is about the word.
分かりやすくするために、第5図〜7$10図では、エンティティおよび圧縮対 象には、関連グループのインデックスを含まない。For clarity, entities and compression pairs are shown in Figures 5-7. The index does not include the index of the related group.
次に、本発明のヘリカル走査を実施するためのテープ・フォーマットについて解 説する。Next, we will explain the tape format for implementing the helical scan of the present invention. Explain.
後述の記憶方法及び装置は、DAT Conference 5tandard (1988年3月、日本の東京にあるElectronic Industr ies As5ociation of Japanで決定)に基づ<PCMオ ーディオ・データの記憶に用いられるのと同様のフォーマットでデータを記憶す るヘリカル走査技法を利用する。ただし、本方法及び装置は、デジタル化オーデ ィオ情報よりもコンピュータ・データの記憶に適したものである。The storage method and device described below are based on the DAT Conference 5 standard. (March 1988, Electronic Industry, Tokyo, Japan) <PCM O - Store data in a format similar to that used to store audio data. Utilizes a helical scanning technique. However, the method and apparatus It is better suited for storing computer data than video information.
第11図には、テープ・カートリッジ17からのテープ10か、巻き角が90° になるように、回転ヘット・トラム12を所定の角度で通過するヘリカル走査テ ープ・デツキ11の基本レイアウトか示されている。動作時、テープ10は、ピ ンチ・ローラ16かテープを押しつけるキャプスタン15の回転によって、矢印 Tが示す方向に、繰出しリール13から巻取りリール14に移動し、同時に、ヘ ッド・ドラムは、矢印Rで示す方向に回転する。ヘッド・ドラム12には、角度 的に180°間隔をあけて配置された2つの読取り/書込みヘットHA、HBが 収容される。既知の方法では、これらのヘラ)”HA、HBは、第12図に示す ように、オーバラップする斜めトラック20.21を、それぞれ、テープ10に 書き込むように構成されている。ヘットHAが書き込むトラックは、正のアジマ スを有しており、一方、HBか書き込むトラックは、負のアジマスを有している 。各対をなす正と負のアジマス・トラック20.21が、フレームを構成する。In FIG. 11, tape 10 from tape cartridge 17 is shown with a winding angle of 90°. A helical scanning tram passes through the rotating head tram 12 at a predetermined angle so that The basic layout of the deep deck 11 is shown. In operation, the tape 10 By rotation of the punch roller 16 or the capstan 15 that presses the tape, the arrow It moves from the feed reel 13 to the take-up reel 14 in the direction indicated by T, and at the same time moves to the take-up reel 14. The head drum rotates in the direction shown by arrow R. The head drum 12 has an angle Two read/write heads HA, HB spaced 180° apart be accommodated. In the known method, these spatulas) HA, HB are shown in FIG. The overlapping diagonal tracks 20 and 21 are respectively placed on the tape 10 as shown in FIG. configured to write. The track written by head HA has a positive axis. azimuth, while the HB writing track has a negative azimuth. . Each pair of positive and negative azimuth tracks 20,21 constitutes a frame.
第12図には、本発明の装置によって書き込まれるようになっている各トラッ クの基本フォーマットか示されている。各トラックは、2つのマージン区域22 .2つのサブ区域23.2つのATF (自動トラック追従)区域24、及び、 主区域25から構成される。ATF区域24は、へy トHA、HBか、既知の 方法で正確にトラックを追従できるようにする信号を供給する。主区域25には 、いくつかの補助的な情報も記憶されるか、主として、該装置に供給されるデー タ(ユーザ・データ)の記憶に用いられる。主区域及びサブ区域に記憶される補 助的情報の項目は、サブ・コートとして知られており、例えば、ユーザ・データ 、テープに対するそのマツピング、いくつかの記録パラメータ(フォーマットの アイデンティティ、テープ・パラメータ他)、及び、テープの使用記録の論理的 編成に関するものである。FIG. 12 shows each track to be written by the device of the present invention. The basic format of the block is shown. Each track has two margin areas 22 .. Two sub-zones 23. Two ATF (Automatic Track Following) zones 24; It consists of a main area 25. The ATF area 24 is either HA, HB or a known The method provides a signal that allows accurate tracking of the track. In the main area 25 , some auxiliary information may also be stored, or primarily the data supplied to the device. data (user data). Complements stored in the main area and subareas Items of auxiliary information are known as sub-coats, such as user data , its mapping to tape, some recording parameters (format identity, tape parameters, etc.) and logical records of tape usage. It's about organization.
次に、前述のDAT Conference 5tandardに適合するブロ ック・サイズに関する詳細を含む、主区域25及びサブ区域23、発明の詳細な 説明を行なうものとする。Next, select a block that complies with the DAT Conference 5 standard mentioned above. main area 25 and sub-area 23, details of the invention, including details regarding the block size; An explanation shall be provided.
第13図には、トラックの主区域25に関するデータ・フォーマットが示されて いる。主区域は、それぞれ、長さが36バイトの130のブロックから構成され ている。最初の2つのブロック26は、再生時におけるタイミングの同期を容易 にするタイミング・データ・パターンを納めたプリアンプルである。残りの12 8のブロック27が、“主データ区域”を構成する。主データ区域の各ブロック 27は、4ハイドの“主ID”領域28と、32ハイドの“主データ”領域29 から構成され、その構成は、第13図の下部に示されている。FIG. 13 shows the data format for the main area 25 of the track. There is. The main area consists of 130 blocks, each 36 bytes long. ing. The first two blocks 26 facilitate timing synchronization during playback. This is a preamble that contains the timing data pattern to be used. remaining 12 8 blocks 27 constitute the "main data area". Each block of the main data area 27 is a "main ID" area 28 of 4 hides and a "main data" area 29 of 32 hides. The configuration is shown at the bottom of FIG.
主ID領域28は、同期バイト、2つの情報を納めたバイトW1、W2、及びパ リティ・ハイドから構成される。バイトW2は、全体としてブロックに関連した 情報(タイプ及びアドレス)の記憶に用いられ、一方、ハイドW1は、サブ・コ ートの記憶に用いられる。The main ID area 28 contains a synchronization byte, bytes W1 and W2 containing two pieces of information, and a parameter. Comprised of Liti Hyde. Byte W2 is associated with the block as a whole. used for storing information (type and address), while hide W1 is used for storing information (type and address). It is used to remember the start date.
各ブロック27の主データ領域29は、一般に、ユーザ・データとユーザ・デー タ・パリティの両方または一方によって構成される32のバイトから構成される 。ただし、所望の場合には、主データ領域にサブ・コートを記憶することも可能 である。The main data area 29 of each block 27 generally contains user data and consists of 32 bytes consisting of data and/or parity. . However, it is also possible to store sub-codes in the main data area if desired. It is.
第14図には、トラックの各サブ区域23におけるデータ・フォーマントが示さ れている。サブ領域は、それぞれ、長さが36ノ\イトの11のブロックから構 成される。最初の2ブロツク30は、プリアンプルであり、一方、最後のブロッ ク31は、ポストアンブルである。FIG. 14 shows the data format in each sub-area 23 of the track. It is. Each sub-region consists of 11 blocks of length 36 notes. will be accomplished. The first two blocks 30 are the preamble, while the last block 31 is a postamble.
残りの8ブロツク32は、“サブ・データ区域”を構成する。各フロック32は 、4ハイドの“サブID”領域33と、32ハイドの“サブ・データ”領域34 から構成され、その構成は、第14図の下部に示されている。The remaining eight blocks 32 constitute a "sub data area". Each flock 32 , 4-hide “sub-ID” area 33, and 32-hide “sub-data” area 34. The configuration is shown at the bottom of FIG. 14.
サブID領域33は、同期ハイド、2つの情報を納めたハイドSW1、SW2、 及び、パリティ・ハイドから構成される。ノλイトSW2は、全体としてブロッ クに関する情報(タイプ及びアドレス)及びサブ・データ領域34の構成を記憶 するのに用いられる。ノ1イトSWIは、サブ・コートの記憶に用いられる。The sub ID area 33 includes a synchronous hide, hides SW1 and SW2 containing two pieces of information, and Parity Hyde. Note λ light SW2 is a block block as a whole. Stores information regarding the block (type and address) and the configuration of the sub data area 34. used to do. No. 1ite SWI is used for storing sub-codes.
各ブロック32のサブ・データ領域34は、4つの8ノ\イトの“パック”35 にまとめられた32バイトから構成される。これらのパック35は、サブ・コー トの記憶に用いられ、記憶されるサブ・コートのタイプは、各パックの最初の半 バイトを占めるパック・タイプ・ラベルによって表示される。全偶数ブロックの 第4のパック35は、ゼロにセットすることもできるし、さもなければ、第3の パックと同じにする場合もあり、一方、全奇数ブロックの第4のパックについて は、そのブロック及び先行ブロックの両方に関する最初の3つのパ・ンクについ て、パリティ・チェック・データを記憶するために用いられる。The sub-data area 34 of each block 32 consists of four 8-note "packs" 35. It consists of 32 bytes grouped into . These packs 35 are The types of sub-courts used and stored in the first half of each pack are Displayed by the pack type label that occupies bytes. all even blocks The fourth puck 35 may be set to zero or the third puck 35 may be set to zero. For the fourth pack of all odd blocks, on the other hand, for the first three punctures for both the block and the preceding block. and is used to store parity check data.
要するに、ユーザ・データは、各トラックの主データ領域ブロック27の主デー タ領域29に記憶され、一方、サブ・コートは、サブ・データ領域ブロック32 のサブID及びサブ・データ領域33.34と、主データ区域ブロック27の主 データ領域28.2つの両方に記憶することができる。In short, the user data is stored in the main data area block 27 of each track. data area 29, while the sub code is stored in the sub data area block 32. sub-ID and sub-data area 33.34, and the main data area block 27. Data area 28. Can be stored in both.
この説明のために、重要なサブ・コードは、特定トラックの属するテープ・エリ アを識別するために用いるエリアIDサブ・コード、およびレコードのカウント およびセパレータ・マークを記憶するために用いる多くのサブ・コートである。For the purpose of this explanation, the important subcodes are the tape area to which a particular track belongs. Area ID sub-code used to identify area and record count and a number of sub-coats used to store separator marks.
エリアIDサブ・コードは、3つのロケーノヨンに記憶された4ヒツト・コード である。第一に、それは、トラックのサブ・データ・エリアのすべてのブロフク のサブ・データ領域34の第三および第四パック35に記憶される。第二は、第 一ブロックから始まる、トラックのすべての偶数サブ・データ・エリア・ブロッ ク32のサブID領域33のハイドSWIに記憶される。The area ID sub-code is a 4-hit code stored in three locations. It is. First, it displays all blogs in the track's sub-data area. is stored in the third and fourth packs 35 of the sub-data area 34. The second is All even sub-data area blocks of a track, starting from one block. It is stored in the hide SWI of the sub-ID area 33 of the block 32.
このサブ・コードにより識別されるテープ・エリアについては、第15図に関し て後で述べる。Regarding the tape area identified by this sub-code, see Figure 15. I will discuss this later.
レコードおよびセパレータ・マーク・カウントを記憶するために用いるサブ・コ ードは、テープのデータ・エリア内の各トラックのサブ・データ・エリアにある すべてのブロックのサブ・データ領域34の最初の2つのパック35に記憶され る(第15図に関する後の説明参照)。これらのカウントは、すでに述べたよう なグループ情報テーブルのカウントと同じ累積カウントである。これらのカウン トは、テープの高速探索に用い、そのプロセスを容易にするために、グループを 構成する1組のフレームに対して一定であり、フレームのグループのトラックに 記録されたカウントは、グループの終わりのカウントとして適用可能である。Sub code used to store record and separator mark counts The code is located in the sub-data area of each track within the data area of the tape. Stored in the first two packs 35 of the sub-data area 34 of every block. (See discussion below regarding FIG. 15). These counts, as already mentioned, This is the same cumulative count as the count in the group information table. These couns is used for fast tape searching and groups are used to facilitate the process. is constant for a set of frames, and is constant for a group of frames. The recorded count is applicable as the end count of the group.
次に、本記憶方法及び装置によって実現するテープに沿ったフレームの一般的な 編成について考察する。例えば、第15図を参照すると、テープは、3つの主た る区域、すなわち、リード・イン区域36、データ区域37、及び、データの終 り(EOD)区域38に編成されることが分る。テープの両端は、BOM(媒体 の始端)及びEOM(媒体の終端)と呼ばれる。ユーザ・データは、データ区域 37のフレームに記録される。リード・イン区域36には、記録の始端BORマ −りと、システム情報か記憶されているデータ区域37の間の区域か含まれてい る。区域IDサブ・コートは、システム区域、データ区域37、及び、EOD区 域38を互いに区別できるようにする。Next, we will discuss the general structure of the frame along the tape realized by the present storage method and device. Consider organization. For example, referring to FIG. areas, namely the lead-in area 36, the data area 37, and the end of the data. 38. Both ends of the tape are BOM (media (start of media) and EOM (end of media). User data is stored in the data area It is recorded in 37 frames. The lead-in area 36 contains the BOR map at the beginning of the recording. - contains the area between the data area 37 and the system information or stored data area 37. Ru. Area ID sub-coats are system area, data area 37, and EOD area. areas 38 to be distinguishable from each other.
データ区域のフレーム48は、それぞれ、一定数のフレーム(例えば、22)か らなるグループ39にまとめられ、任意選択により、これらのグループ39は、 所定の内容を備えた1つ以上のアングル・フレームによって互いに分離される。The frames 48 of the data area each have a fixed number of frames (e.g., 22). Optionally, these groups 39 are grouped into groups 39 consisting of: They are separated from each other by one or more angle frames with predetermined content.
ジープ・データ・レコードの編成に関連して、これらのグループは、第1図(C )に関連して解説のグループ3に対応する。従って、こうしたグループ39にユ ーザ・データを組み入れても、ユーザ・データの論理セグメンテーションとは無 関係であり、このセグメンテーションに関する情報(レコード・マーク、分離マ ーク)は、グループ内のユーザ・データの端に位置するインデックス40に納め られる(インデックスは、実際には、グループ内におけるユーザ・データ空間を 占有する)。第15図には、グループの最後のフレームの最終部分を占めるイン デックスが示されているが、これか正しいのは、データがテープに記録される前 に通常実施されるハイドのインターリーブ動作に先立つデータ構成に関してのみ であるが、本目的のため、インターリーブ動作を無視することができる。In connection with the organization of the Jeep data record, these groups are shown in Figure 1 (C ) corresponds to group 3 of the explanation. Therefore, these groups39 Incorporating user data has no effect on logical segmentation of user data. relationship and information about this segmentation (record marks, separation marks, index 40 located at the end of the user data within the group. (The index actually indexes the user data space within the group.) occupy). Figure 15 shows the input that occupies the last part of the last frame of the group. dex is shown, but this is correct before the data is recorded to tape. only with respect to data organization prior to the Hyde interleaving operation typically performed in However, for our purposes, the interleaving operation can be ignored.
実際には、インデックス内の情報は、グループにおけるトラックの主データ区域 内で物理的に分散している。In fact, the information in the index is the main data area of the tracks in the group. are physically dispersed within the
第2図には、インデックス4の内容が示されており、前述のように、インデック スは、2つの主データ構造、すなわち、グループ情報テーブル及びブロック・ア クセス・テーブルから構成される。グループ情報テーブルは、グループの終端に おける定位置に記憶され、グループの内容と関係なく同じサイズである。対照的 に、ブロック・アクセス・テーブルは、グループの内容に従ってサイズが変動し 、グループ情報テーブルから逆方向に延びて、グループのフレームにおけるユー ザ・データ区域の残りの部分内に入り込む。ブロック・アクセス・テーブル内に おいて、エントリは、グループ情報テーブルから実際のユーザ・データすなわち ゛パット′ との境界へと逆方向に作成される。Figure 2 shows the contents of index 4, and as mentioned above, the contents of index 4 are shown. The database consists of two main data structures: the group information table and the block access table. consists of access tables. The group information table is placed at the end of the group. It is stored in a fixed location in the group and is the same size regardless of the contents of the group. Contrast The block access table varies in size according to the contents of the group. , extending in the opposite direction from the group information table to into the rest of the data area. in block access table In this case, the entry contains the actual user data from the group information table, i.e. It is created in the opposite direction to the boundary with ``Pat''.
第15図には、データ区域グループ39内におけるサブ・データ区域ブロック3 2の内容も示されている。前述のように、最初の2つのパックには、分離マーク ・カウントが含まれ、第2のパック35には、レコード・カウントRC(定義済 み)も含まれ、第3のパック35には、区域rD及び絶対フレーム・カウントA FCが含まれている。グループ内の全てのトランクに関して、カウントFMC1 及び、サブ、データ区域ブロックに保持されたRCは、グループ・インデックス 40のグループ情報テーブル41に保持されたものと同じである。FIG. 15 shows sub-data area block 3 within data area group 39. The contents of 2 are also shown. As mentioned above, the first two packs have a separation mark The second pack 35 contains a record count RC (defined The third pack 35 also includes an area rD and an absolute frame count A. FC is included. Count FMC1 for all trunks in the group and the RC held in the sub-data area block is group index This is the same as that held in the group information table 41 of No. 40.
第16図は、上述のテープ・フォーマットに従ってユーザ・データを圧縮し、記 録するための記憶装置のブロック図である。該装置には、第11図に関連して部 分的に既述したテープ・デツキ11か含まれている。テープ・デツキ以外に、該 装置には、ハス55を介して該装置とホスト・コンピュータ(不図示)のインタ ーフェイスを行なうインターフェイス・ユニット50、主データ区域及びサブ・ データ区域ブロック27及び32に納められ、そこから取り出されるユーザ・レ コード・データ及び分離データに処理を施すデータ圧縮プロセッサ(DCP)及 びフレーム・データ・プロセッサ52から構成されるグループ・プロセッサ51 、トラックの書込み/読取りを行ない、2つのヘットHA、HBを適宜スイッチ するための信号を合成/分解する信号編成器53、及び、インターフェイス・ユ ニット50を介してコンピュータから受信する指令に応答し、該装置の動作を制 御するためのシステム・コント0−ラか含まれている。該装置の主コンポーネン ト・ユニットのそれぞれについて、以下でさらに説明を行なうものとする。Figure 16 shows how user data is compressed and recorded according to the tape format described above. FIG. 2 is a block diagram of a storage device for recording. The apparatus includes a section in connection with FIG. Also included is the tape deck 11, which has already been described in detail. In addition to tape and decks, The device has an interface between the device and a host computer (not shown) via a lotus 55. interface unit 50, main data area and sub-data area; User records contained in and retrieved from data area blocks 27 and 32 A data compression processor (DCP) that processes code data and separated data; A group processor 51 consisting of a frame data processor 52 and a frame data processor 52 , write/read tracks, and switch the two heads HA and HB accordingly. a signal organizer 53 for synthesizing/decomposing signals for control the operation of the device in response to commands received from the computer via the unit 50; A system controller is included to control the system. Main components of the device Each of these units will be further explained below.
まず、データ圧縮プロセッサ(DCP)またはデータ圧縮エンジンの構造及び動 作について述べることにする。First, we will discuss the structure and operation of a data compression processor (DCP) or data compression engine. I would like to talk about the work.
第17図を参照すると、エンジンの中心をなすのは、それに提示されるデータに 圧縮と復元の両方を実施することか可能なVLSIデータ圧縮チップ(DCチッ プ)である。ただし、1度に実施できるのは、2つのプロセスの一方(圧縮また は復元)だけに限られる。該チップを流れるデータの転送速度を平滑化するため 、DCチップの入力及び出力には、2つの先入れ先出しくF T FO)メモリ か配置されている。Referring to Figure 17, the heart of the engine is the data presented to it. A VLSI data compression chip (DC chip) that can perform both compression and decompression. ). However, only one of the two processes (compression or (restoration) only. To smooth the data transfer speed flowing through the chip , the input and output of the DC chip have two first-in, first-out (FTFO) memories. or are placed.
データ・パターンには、他のパターンに比へて、処理を施すのにノ\イト当りの クロック・サイクルが多くなるものもあるので、DCチップのデータ転送速度は 、一定していない。瞬時データ転送速度は、現在の圧縮比と、辞書エントリの衝 突頻度によって左右され、これらは、両方とも、現在データと、最後に辞書がリ セットされてから後の全シーケンスをなすデータによって決まる。サブ・システ ムの第3のセクションは、現在の辞書エントリの局所記憶に用いられる外部辞書 メモリ(EDM)を形成するスタティックRAMのバンクである。これらのエン トリには、文字、コード・ワード・ポインタ、及び、制御フラグが含まれている 。Data patterns require more processing per note than other patterns. Some clock cycles are large, so the data transfer rate of DC chips is , not constant. The instantaneous data transfer rate is a function of the current compression ratio and the collision of dictionary entries. They both depend on the current data and the last time the dictionary was refreshed. Determined by the data that makes up the entire sequence after it is set. sub system The third section of the system contains an external dictionary used for local storage of the current dictionary entry. A bank of static RAM forming memory (EDM). These en contains characters, code word pointers, and control flags. .
第18図には、DC集積回路のブロック図が示されている。DCチップは、3つ のブロック、すなわち、入力/出力変換器(IOC)、圧縮及び復元変換器(C DC)、及び、マイクロプロセッサ・インターフェイス(MPI)に分割される 。FIG. 18 shows a block diagram of a DC integrated circuit. There are three DC chips blocks, namely input/output converter (IOC), compression and decompression converter (C DC) and Microprocessor Interface (MPI) .
MPIセクションは、DCチップを制御し、観測するための機能を提供する。該 セクションには、6つの制御レジスタ、8つの状態レジスタ、2つの20ヒツト 入力及び出カッ\イト・カウンタ、及び、プログラマブル自動辞書リセット回路 が含まれている。制御及び状態レジスタに対するアクセスは、汎用8ビツト・マ イクロプロセッサ・インターフェイス・バスを介して行なわれる。制御レジスタ は、各種チップ機能を使用可能及び使用禁止にし、該チップをさまざまな動作モ ード(圧縮、復元、排出、または、モニタ)にする。状態レジスタは、チップ内 の20ビツト・カウンタ及び各種状況フラグにアクセスする。The MPI section provides functionality for controlling and monitoring the DC chip. Applicable The section contains 6 control registers, 8 status registers, and 2 20-hit registers. Input and output cutter counters and programmable automatic dictionary reset circuit It is included. Access to control and status registers is provided by a general-purpose 8-bit master. This is done via the microprocessor interface bus. control register enables and disables various chip functions and allows the chip to be configured in various operating modes. mode (compress, decompress, eject, or monitor). The status register is on-chip. 20-bit counter and various status flags.
辞書をかなり頻繁にリセットすることによって、圧縮比の改善が可能であること が分った。これは、特に、圧縮されるデータ・ストリームに同様のハイド・スト リングがごくわずかしか含まれていない場合にあてはまる。頻繁な辞書のリセッ トには、2つの重要な利点かある。It is possible to improve the compression ratio by resetting the dictionary fairly frequently. I understand. This is especially true if the data stream being compressed has similar hide storage. This is true if only a few rings are involved. Frequent dictionary resets There are two important advantages.
第1に、辞書をリセットすると、コート・ワード長が9ビツトに戻る。First, resetting the dictionary returns the code word length to 9 bits.
第2に、このデータ・ストリームを反映した新しい辞書エントリを作成すること かできる(一種の適応)。DCチップのインターフェイス・セクションには、圧 縮比を動的にモニタし、適合すると、辞書を自動的にリセットする回路要素か含 まれている。データに冗長性かほとんどないか、あるいは、全くなければ、はと んどのデータ圧縮アルゴリズムは、その出力を拡張する。Second, create a new dictionary entry that reflects this data stream. (a kind of adaptation). The interface section of the DC chip is Contains a circuit element that dynamically monitors the reduction ratio and automatically resets the dictionary when it is adapted. It is rare. If the data has little or no redundancy, then Most data compression algorithms scale their output.
IOCセク/ヨンは、ハイド・ストリームと可変長コード・ワード(9ヒツト〜 12ヒツトの範囲)のストリームとの間における変換プロセスを管理する。8つ の予約コート・ワードのうちの2つが、IOCによって排他的に用いられる。こ れらのコート・ワードの1つは、IOCに対し、コード・ワードの長さを1つだ けインクリメントしなければならないことを命じるために用いられる。例えば、 コード・ワード・サイズのプロセスは、CDCセクションから切り離されるーI OCは、独立したパイプ・ライン・プロセスに従って処理を行なうので、CDC は、IOCによって減速することなく、圧縮または復元を行なうことが可能にな る。The IOC section/yon consists of hide streams and variable length code words (from 9 hits). 12-hit stream). eight Two of the reserved code words are used exclusively by the IOC. child One of these code words has a length of one code word for the IOC. Used to command that the value should be incremented. for example, Code word size processes are separated from the CDC section - I OC follows an independent pipeline process, so CDC can be compressed or decompressed without being slowed down by IOC. Ru.
FLUSH(または′ レコードの終わり“ (EOR))コード・ワードであ る第二予約コート・ワードは、次のコート・ワードがデータの現在のパケットに 関連する最後のコード・ワードであること、すなわちFLUSHコード・ワード が実際には圧縮レコードの最後から2番目であることをIOCに警告する。この 情報から、IOCは、そのバッキング・ルーチンを終了し、バイト境界で終わる ことを知る。この特徴により、このパケットをその構成パケットに復元する機能 を維持しながら、多数の入カパノrットを1つの隣接出力バケフトに圧縮するこ とかできる。IOCは、警告することなく、データを入力から出力に直接送った り、データの可能な圧縮比をモニタしながらデータを送ることもできる。これら の特徴は、別のレベルの拡張保護として、用いることができる。FLUSH (or 'end of record' (EOR)) code word. A second reserved code word indicates that the next code word is in the current packet of data. be the last code word associated, i.e. the FLUSH code word Alerts the IOC that is actually the penultimate compressed record. this From the information, the IOC finishes its backing routine and ends on a byte boundary. Know that. This feature provides the ability to restore this packet to its constituent packets. It is possible to compress a large number of input buckets into one contiguous output bucket while maintaining You can do something like that. IOC sent data directly from input to output without warning You can also send data while monitoring the possible compression ratio of the data. these This feature can be used as another level of extended protection.
CD Cセクションは、復元データから圧縮データへの変換、及び、この逆を実 施するエンノンである。このセクションは、最大データ・スループ・ノドに合わ ゼて調整された制御、データ経路、及び、メモリ素子から構成される。CDCは 、2つの12ビツト・ハスを介してIOCとインターフェイスする。圧縮時、I OCは、入力バイトをCDCセクションへ排出し、そこでコート・ワードに変換 する。これらのコート・ワードは、IOCに送られ、バ、イトをなすようにパン クされて、デツプから送り出される。逆に、復元時に、IOCは、入力バイト・ ストリームをコート・ワードのストリームに変換し、これらのコート・ワードを CI) Cセクションに送って、これらがバイト・ストリームに変換され、IO Cに送られるようにする。CDCセクションは、また、辞書エントリの記憶に用 いられる外部RAMに対して直接インターフェイスする。The CD C section converts restored data to compressed data and vice versa. This is Ennon. This section matches the maximum data sloop node. It consists of fully regulated control, data paths, and memory elements. CDC is , interfaces with the IOC via two 12-bit hashes. When compressed, I The OC drains the input bytes into the CDC section where they are converted to code words. do. These court words are sent to the IOC and panned to form a bar. It is then sent out from the depths. Conversely, when restoring, the IOC uses the input bytes Convert the stream to a stream of code words and convert these code words into CI) C section where these are converted into a byte stream and sent to the IO Allow it to be sent to C. The CDC section is also used to store dictionary entries. directly interfaces to external RAM that can be used.
CDCは、2つの予約コート・ワードを利用する。第1の予約コート・ワードは 、辞書がリセットされた場合にはいつでも用いられる。CDC utilizes two reserved code words. The first reserved court word is , used whenever the dictionary is reset.
このコート・ワードの発生によって、2つのアクションか生じる。すなわち、I OCは、9ヒツトのコート・ワードをパックまたはアンパックする状態に戻り、 CDCは、現在の辞書をリセットし、新しい辞書の構築を開始する。辞書のりセ ントは、マイロプロセッサの制御を介してMPIによ−って、あるいは、自動リ セット回路要素によって要求される。第2の予約コート・ワードは、CDCが新 しい辞書エントリを構築1.ようとしていて、利用可能な外部RAMを使い果た すと、いつでも圧縮時に生成されることになる。この事象は、外部RAMか部分 であれば、めったに生じることはない。ただし、メモリの量が減少すると、CD Cが遭遇する辞書衝突が多くなりすぎて、新しい辞書エントリの構築ができなく なる可能性が高くなる。外部メモリが小さくなり、不可避的に辞書の衝突が増す と、データ・スルーブツト及び圧縮性能は、わずかに劣化する。CDCによる復 元時には、復元プロセスが、圧縮プロセスと同じポイント辞書エントリの構築を 停止することを保証するため、この“全辞書”コードも用いられる。The occurrence of this code word results in two actions. That is, I OC returns to packing or unpacking 9-hit court words; CDC resets the current dictionary and begins building a new dictionary. Dictionary Norise The restart can be performed by MPI via microprocessor control or by automatic reset. Required by set circuit elements. The second reserved court word is the new CDC 1. Construct a new dictionary entry. is running out of available external RAM. Then it will always be generated during compression. This event occurs in the external RAM or If so, it will rarely occur. However, as the amount of memory decreases, CD C encounters too many dictionary conflicts and is unable to construct new dictionary entries. becomes more likely to occur. External memory becomes smaller and dictionary collisions inevitably increase , data throughput and compression performance are slightly degraded. CDC recovery Initially, the decompression process builds the same point dictionary entries as the compression process. This "full dictionary" code is also used to ensure stopping.
次に、第16図に戻ると、データ記憶装置は、コンピュータからの指令に応答し て、テープをロード/アンロードし、データ・レコードまたは分離マークを記憶 し、データ圧縮を可能にし、選択された分離マークまたはレコードを探索し、次 のレコードを読み返すように構成されている。Next, returning to FIG. 16, the data storage device responds to commands from the computer. to load/unload tapes and store data records or separator marks. allows data compression, explores selected separation marks or records, and is configured to read back the records of
インターフェイス・ユニット50は、コンピュータから指令を受けて、装置をコ ンピュータの間におけるデータ・レコード及び分離マークの転送を管理するよう になっている。コンピュータから指令を受信すると、インターフェイス・ユニッ ト50は、システム・コントローラ54に送り、該コントローラは、そのうち、 インターフェイス・ユニット50を介して、もとの指令に従うか否かを表わす返 答をコンピュータに送り返す。該装置が、システム・コントローラ54によって 、コンピュータからの指令に応答し、データの記憶または読取りを行なうように セット・アップされると、インターフェイス・ユニット50は、コンピュータと グループ・プロセッサ51の間におけるレコード及び分離マークの移送も制御す る。The interface unit 50 receives instructions from the computer and controls the device. to manage the transfer of data records and separation marks between computers. It has become. When the command is received from the computer, the interface unit 50 to a system controller 54, which controller in turn sends: A return indicating whether or not to comply with the original command is sent via the interface unit 50. send the answer back to the computer. The device is controlled by system controller 54. , to store or read data in response to commands from a computer. Once set up, the interface unit 50 interfaces with the computer. It also controls the transport of records and separation marks between group processors 51. Ru.
データ記憶時、グループ・プロセッサ51は、必要があれば、ユーザ・データを 圧縮し、データ・レコードの形でそれに与えられるユーザ・データを、それぞれ 、データ・グループに対応するデータ・バッケーノに編成するように構成されて いる。プロセッサ51は、また、各グループ毎に、インデックスと、対応するサ ブ・コードを構成するようにな−っている。読取り時には、グループ・プロセッ サは、復元前に、テープから読み取られたグループからデータ・レコード及び分 離マークを回復できるようにする逆プロセスを実施する。When storing data, the group processor 51 stores user data if necessary. compresses and provides user data to it in the form of data records, respectively , configured to organize into data baccenos corresponding to data groups. There is. The processor 51 also stores an index and a corresponding sample for each group. It is designed to compose a program code. When reading, the group process The server extracts the data records and segments from the groups read from tape before the restore. Implement a reverse process that allows you to recover separation marks.
グループ・プロセンサ51の形態が、第19図に示されている。グループ・プロ セッサ51の中心をなすのは、2つ以上(例えば2つ)のグループをなすデータ 量を保持するようになっている71ソフア56である。入力データ支び出力デー タに対するノ1ツファ空間の割当ては、バッファ空間マ不一ンヤ57によって制 御される。プロセンサ51は、第1のインターフェイス・マネージャ58を介し てインターフェイス50と、第2のインターフェイス・マネージャ59を介して フレーム・・データ・プロセッサ52と通信する。グループ化プロセスの全体的 な制御は、記録時にグループ・インデックス及び関連コートを生成しく機能ブ1 11−tり61)、読取り時にサブ・コードを生成する(機能ブロック62)グ ループ化マネージャ60によって実施される。グループ化マネージャ60は、シ ステム・コントローラ54と協調信号を交換するようになっている。The form of the group prosensor 51 is shown in FIG. group pro The center of the processor 51 is data that forms a group of two or more (for example, two). 71 sofa 56 adapted to hold the amount. Input data support output data The allocation of buffer space to data is controlled by the buffer space manager 57. be controlled. The processor 51 communicates via the first interface manager 58 through the interface 50 and the second interface manager 59 Communicate with frame data processor 52. Overall grouping process Controls include function block 1 that generates group indexes and associated codes during recording. 11-tri 61), generate sub-code on read (function block 62) Implemented by looping manager 60. The grouping manager 60 It is adapted to exchange coordination signals with the stem controller 54.
DCブロセッ勺DCPは、テープに記憶するためにデータを圧縮したり、あるい は、ホストによる読取りのためにデータを復元したりする働きをする。制御信号 の交換のため、DCプロセッサDCPと、インターフェイス・マネーンヤ58、 バッファ56、ノ1ソファ空間マネーンヤ51、及び、グループ化マネーンヤ6 0との間で、相互接続が行なわれている。DC Processor A DCP compresses or compresses data for storage on tape. serves to restore the data for reading by the host. Control signal for the exchange of a DC processor DCP and an interface manager 58, Buffer 56, sofa space manager 51, and grouping manager 6 An interconnection is made between the
グルービング・マネー・シャ60には、圧縮データをエンティティに構成し、エ ンティティのためのヘッダ一部を生成するエンティティ・マネージャ(EM)も 含む。グルーピング・マネージャ60およびバッファ・スペース・マネージャ5 7はコントロール・コンポーネントであり、テープへの書込みのためのデータは 、それらを通過しないで、むしろバッファ56から直接インタフェース・マネー ジャ59に進む。The grooving money store 60 organizes compressed data into entities and There is also an entity manager (EM) that generates some of the headers for the entity. include. Grouping manager 60 and buffer space manager 5 7 is the control component, and the data for writing to tape is , rather than passing through them, the interface money directly from the buffer 56. Proceed to Ja59.
記録時に、ホストか、データ・レコードを送り出す際、インターフェイス・ユニ ット50は、バッファ空間マネージャ57に対しくインターフェイス・マネーン ヤ58を介して)、プロセッサ51がレコードを受け取る準備が整ったか否かを 問い合わせる。バッファ空間マネージャ57は、最初、 ”待機゛応答を送るが 、そのうち、ホストからハファ56へのデータ・レコードの転送を可能にする。During recording, either the host or the interface unit sends out the data records. Kit 50 is an interface manager to buffer space manager 57. via layer 58) to determine whether processor 51 is ready to receive the record. Inquire. The buffer space manager 57 initially sends a "wait" response, but , among which enable the transfer of data records from the host to the Huffer 56.
データが圧縮される場合(システム・コントローラ54からの制御信号に従って )、DCプロセッサは、前述のように、データ圧縮アルゴリズムに基づき、レコ ード内のデータの一部の代りにコード・ワードを用いる。If the data is compressed (according to control signals from system controller 54) ), the DC processor processes records based on data compression algorithms, as described above. The code word is used in place of a portion of the data in the code.
一般に、複数レコードの転送は、レコードがより短かければ道理にかなうが、ホ ストは、1度に1つずつレコードを転送する。In general, transferring multiple records makes sense if the records are shorter, but The host transfers records one at a time.
グループ化マネージャ60は、バッファ空間マネージャ57に接続されており、 バッファ空間マネージャ57に対して、グループのインデックス区域内に入り込 む前に、グループがどれだけのデータを受け入れることかできるかを知らせる。Grouping manager 60 is connected to buffer space manager 57; For the buffer space manager 57, enter the group's index area. Before starting a group, let the group know how much data it can accept.
バッファ空間マネージャ57は、最大数のハイドを現在グループに転送したか、 あるいは、ホストから最後のバイトを受け取った場合には、必ず、グループ化マ ネージャに通告する。The buffer space manager 57 determines whether the maximum number of hides has currently been transferred to the group; Alternatively, whenever the last byte is received from the host, the grouping Notify manager.
ホストから転送される全てをグループ内に納めることができない場合、グループ の境界に“またがる”と言う。転送の最初の部分は、1つのグループに納められ 、残りの部分は、後続のグループに納められる。バッファ空間マネージャ57は 、ホストが構築される現在グループに納まる量を超えるデータを供給しようとす る場合、グループ化マネージャ60に知らせる。またがらなければ、グループ・ インテ、ソクスが更新され、グループ化マネージャ60は、別の書込み指令を待 つ。If everything transferred from the host cannot fit into the group, the group It is said to "straddle" the boundary between The first part of the transfer is put into one group. , the remaining parts are placed in subsequent groups. The buffer space manager 57 , the host attempts to supply more data than will fit in the current group being configured. If so, the grouping manager 60 is notified. If you do not straddle the group The integer and soku are updated, and the grouping manager 60 waits for another write command. Two.
またがることになれば、現在グループのインデックスが更新され、そのグループ は、テープに対する書込みに利用できる。次のグループが開始され、ホストから のデータは、その新しいグループの始端に直接入り込む。If it is to span, the index of the current group will be updated and the group can be used to write to tape. The next group is started and from the host data goes directly into the beginning of the new group.
レコードは、その一部を形成することになるグループ内における、レコード・デ ータの最終的な位置決めに対応するバッファ位置へ転送される。レコード・サイ ズの情報は、グループ化マネージャ60に送られる。ホストか分離表示を送ると 、これも、グループ化マネージャ60に対して経路指定される。グループ化マネ ージャは、分離マーク及びBORからのレコード・カウントを記憶しておき、グ ループのインデックス及び分離カウンタ及びレコード・カウントのサブ・コート の構成時にこの情報を利用する。インデックスは、グループの終端におけるその 位置に適合するバッファ内の位置に構成される。A record is a record delimiter within a group of which it is a part. is transferred to the buffer location corresponding to the final positioning of the data. record size information is sent to the grouping manager 60. If you send a host or separate indication , which is also routed to the grouping manager 60. grouping manager The manager remembers the separation mark and the record count from the BOR and Loop index and separate counter and record count sub-coats Use this information when configuring the . The index is its index at the end of the group. Constructed into a position in the buffer that fits the position.
同時に、エンティティ・マネージャEMは、圧縮レコード・データを含む現在の エンティティのためのエンティティ・ヘッダ一部を生成する。ヘッダ一部は圧縮 されない。同様に、エンティティ・マネージャEMは、各レコードのための後書 き部分(非圧縮された)を生成することかできる。At the same time, entity manager EM stores the current Generate part of the entity header for the entity. Part of the header is compressed Not done. Similarly, the entity manager EM creates a postscript for each record. It is possible to generate a compressed part (uncompressed).
エンティティ・マネージャEMは、エンティティ情報を支配する規則を必す守る ことに対して責任がある。それらを次に示す。The Entity Manager EM must adhere to the rules governing entity information. be responsible for that. They are shown below.
a): 1)グループの始端後、できるだけ早く、11)ホストから送られるレコードの 非圧縮サイズが、変化すると、111)圧縮アルゴリズムが、変化すると、新し いエンティティを開始する。a): 1) As soon as possible after the start of the group, 11) Records sent from the host. When the uncompressed size changes, 111) When the compression algorithm changes, the new start a new entity.
(上記1)及び1ii)に関して、アクセス・ポイントの必要から、新しいエン ティティの開始か必要になり、適合する信号か、グループ化マネージャ60から データ圧縮プロセッサDCPに送られる。)b)。Regarding (1) and 1ii) above, due to the need for access points, new The start of the activity is required and the corresponding signal is sent from the grouping manager 60. It is sent to the data compression processor DCP. )b).
1)非圧縮レコードの記憶が必要な場合、11)分離マークの記憶が必要な場合 、エンティティを終了する。1) When it is necessary to store uncompressed records; 11) When it is necessary to store separation marks. , terminate the entity.
各エンティティの形成によってBATエントリがトリガされる。The formation of each entity triggers a BAT entry.
グループが一杯になると、新しいグループが開始されるまで、データ圧縮及びエ ンティティ構築のプロセスが停止する。Once a group is full, data compression and compression will continue until a new group is started. The entity building process stops.
人力データを圧縮すべきでない場合、データは、不変のまま、DCプロセッサD CPを通過し、エンティティ・マネージャEMは、非活動状態になる。復元レコ ードは、エンティティの一部を形成することなく、直接グループをなすように編 成され、レコードに関する情報は、グループ・インデックスに納められる。If human data should not be compressed, the data remains unchanged and Passing the CP, the entity manager EM becomes inactive. restoration record A node can be edited directly into a group without forming part of an entity. information about the records is stored in the group index.
グループ(そのインデックス及びサブ・コートを含む)がアセンブルされると、 フレーム・データ・プロセッサ52に転送されて、22の順次フレームの主デー タ区域及びサブ・データ区域を構成するブロックに編成される。フレームIDに 関する情報は、データ・ストリーム内にある。3フレ一ム分のデータ量の記憶が 可能なフレーム・データ・プロセッサ52において、グループ・プロセッサと小 形バッファの間には、連続したデータ・ストリームがある。Once the group (including its index and sub-coats) is assembled, The main data of 22 sequential frames is transferred to frame data processor 52. The data area is organized into blocks that constitute data areas and sub-data areas. to frame ID The relevant information is in the data stream. Memorizes the amount of data for 3 frames In the possible frame data processor 52, a group processor and a small Between the shape buffers there is a continuous stream of data.
前述のように、テープに記録されたフレームのグループ間に、1つ以上のアンプ ル・フレームを挿入するのが望ましい場合ある。これは、フレーム・データ・プ ロセッサ52が、グループ・プロセッサ51からの命令によって、あるいは、プ ロセッサ52がグループ構造を承知している場合には、自動的に、グループの終 端にこうしたアンプル・フレームを生成するように構成することによって、可能 になる。As mentioned above, between groups of frames recorded on tape, one or more amplifiers In some cases, it may be desirable to insert a frame. This is the frame data program. Processor 52 is activated by instructions from group processor 51 or by If the processor 52 is aware of the group structure, it automatically By configuring it to generate such an ampoule frame at the end, it is possible to become.
バッファ56を、2グループに相当するデータを保持することができるようなサ イズにすることにより、プロセッサ51の全体的動作は、1つのグループを読み 込み、1つのグループを処理および出力して、できる限り容易に保つことができ る。書込み中には、ホストからのデータを用いて1つのグループを作成し、別の グループはテープに書き込まれる。The buffer 56 is designed to hold data corresponding to two groups. By reading one group, the overall operation of processor 51 is processing and outputting one group to keep it as easy as possible. Ru. During writing, data from the host is used to create one group and another Groups are written to tape.
テープからデータを読み取っている間、グループ・プロセンサ51は、フレーム ・データ・プロセッサ52からフレーム毎にユーザ・データとサブ・コートを受 け取るようになっており、該データは、バッファ56に書き込まれて、グループ を形成する。次に、グループ・プロセッサ51はグループ・インデックスにアク セスして、グループ内におけるユーザ・データの論理的編成(レコード/エンテ ィティ構造、分離マーク)に関する情報、及び、データが圧縮されているか否か の表示を回復することができる。While reading data from the tape, the group processor 51 - Receives user data and sub-coats for each frame from the data processor 52; The data is written to the buffer 56 and sent to the group. form. Next, group processor 51 accesses the group index. Logical organization of user data within groups (records/entries) information about the data structure, separation marks) and whether the data is compressed or not. The display can be restored.
データか復元されると、あるいは、データは、圧縮されているが、圧縮形式でホ ストに読み返されて、ソフトウェア復元か施されると、グループ・プロセンサ5 1は、インターフェイス50を介してホストに要求されたレコードまたは分離マ ークを送ることが可能になるか、この場合、データは、不変のままDCプロセッ サDCPを通過する。When the data is restored, or the data is compressed, it is hosted in compressed format. After being read back to the store and performing software restoration, the Group Prosensor 5 1 is the record or separate map requested by the host via the interface 50. In this case, the data remains unchanged through the DC process. Pass through the DCP.
圧縮データのエンティティ・ヘッダ一部分は、非DCドライブによってホストに 送り返され、ホストによって利用される。The entity header portion of the compressed data is sent to the host by a non-DC drive. Sent back and used by the host.
データを圧縮して復元する場合、データは、すでに述べたようにしてDCプロセ ッサDCPにより復元してから、ホストに送られる。When compressing and decompressing data, the data is processed by the DC process as described above. The data is restored by the server DCP and then sent to the host.
各エンティティからのヘッダ一部は、DCドライブで使用されるが、DCプロセ ッサDCPに送られない。ヘッダ一部のアルゴリズム番号は、DCプロセッサD CPで用いるアルゴリズムと一致しているかどうかがチェックされる。さらに、 エンティティの圧縮レコード数はヘッダ一部から得られ、エンティティ・データ をDCプロセッサDCPに送るときに行われるレコードのカウントダウンをする ことができる。A portion of the header from each entity is used by the DC drive, but Not sent to the server DCP. Some algorithm numbers in the header are It is checked whether it matches the algorithm used in CP. moreover, The number of compressed records for an entity is obtained from the header part, and the entity data Count down the records that are performed when sending the data to the DC processor DCP. be able to.
フレーム・データをアセンブルして、1グル一プ分のデータに戻すのを容R化す るため、フレームがテープに書き込まれる時、各フレーム毎に、グループ内シー ケンス番号のタグを付けることができる。このグループ内番号は、例えば、フレ ームの各トラックの主データ区域における第1ブロツクの主データ領域のヘッダ ーに含まれるサブ・コートとして示すことができる。このサブ・コートは、読取 りの際、グループ・プロセッサ51に送られると、関連フレームがバッファ56 内のどの位置に納められるか判定するために用いられる。It is easy to assemble frame data and return it to data for one group. Therefore, when a frame is written to tape, the in-group sequence is Can be tagged with the ken number. This intra-group number can be used, e.g. Header of the main data area of the first block in the main data area of each track of the system It can be shown as a sub-coat within a sub-coat. This sub-coat is When the frame is sent to the group processor 51, the associated frame is stored in the buffer 56. It is used to determine where the item is placed within.
フレーム・データ・プロセッサ52は、機能的に、主データ区域(MDA)プロ セッサ65、サブ・データ区域(SDA)プロセッサ66、及び、サブ・コート ・ユニット67から構成される(実際、これらの機能素子は、適合するプロセス を実行する単一のマイクロプロセッサで構成することができる)。Frame data processor 52 functionally includes a main data area (MDA) processor. processor 65, sub-data area (SDA) processor 66, and sub-coat Consists of unit 67 (in fact, these functional elements are ).
サブ・コート・ユニット67は、書込み時には、必要に応じてプロセッサ65及 び66にサブ・コートを与え、読取り時には、プロセッサ65.66からサブ・ コートを受け取って、分配するようになっている。情報の内容に応じて、サブ・ コートは、グループ・プロセッサ51またはシステム・コントローラ54か生成 /要求することができ、分離マーク・カウント・サブ・コードは、例えば、グル ープ・プロセッサ5Iによって判定/利用され、一方、区域IDサブ・コードは 、コントローラ54によって判定/利用される。いくつかの書込みパラメータの ような非変動サブ・コードの場合、ユニット67にサブ・コートを永久記憶する こともできる。さらに、サブ・コード・ユニット67自体によって、便宜上、フ レーム従属サブ・コードを生成することも可能である。During writing, the sub-coat unit 67 uses the processor 65 and the processor 65 as necessary. and 66, and when reading, the sub-code is sent from the processor 65.66. They are supposed to receive coats and distribute them. Depending on the content of the information, sub- The code is generated by the group processor 51 or the system controller 54. / can be requested, and the separate mark count sub-code is e.g. Determined/utilized by the loop processor 5I, while the area ID sub-code is , determined/utilized by the controller 54. some write parameters In the case of a non-variable sub-code such as, the sub-code is permanently stored in unit 67. You can also do that. Additionally, the sub code unit 67 itself may conveniently It is also possible to generate frame dependent sub-codes.
MDAプロセッサ65は、関連するサブ・コートと共に、1フレ一ム分のユーザ ・データを1度に処理するようになっている。例えば、プロセッサ65は、記録 時、ユニット67からのサブ・コードと共にグループ・プロセッサ51から1フ レ一ム分のユーザ・データを受け取る。ユーザ・データを受け取ると、プロセッ サ65は、データをインターリーブし、結果得られるデータ及びサブ・コードを アセンブルして、フレームを構成する2つのトラックに関する主データ区域ブロ ツクを出力する前に、エラー補正コートの計算を行なう。実際、ユーザ・データ とサブ・コートのアセンブル前に、データのスクランプリング(ランダム化)を 実施することで、トラック信号のデータ内容に関係なく、−貫したRFエンベロ ープを確保することができる。The MDA processor 65 processes one frame's worth of user data, along with associated sub-coats. ・Data is processed at once. For example, processor 65 may record At one time, one frame is sent from group processor 51 along with sub code from unit 67. Receive one frame's worth of user data. Once the user data is received, the process The processor 65 interleaves the data and outputs the resulting data and sub-codes. The main data area block for the two tracks assembled to make up the frame. Calculate the error correction code before outputting the check. In fact, user data Scrampling (randomization) of data before assembling sub-coats By implementing the can be secured.
読取り時、プロセッサ65は、同じフレームに関連した2組の主データ区域ブロ ックに対して逆のプロセスを実施する。スクランプリングを施していない、エラ ー補正を加えた、ディンターリーブされたユーザ・データが、グループ・プロセ ッサ51に送られ、サブ・コートか、ユニット67によって切り離され、必要に 応じて、プロセッサ51とシステム・コントローラ54のいずれかに分配される 。When reading, processor 65 reads two sets of main data area blocks associated with the same frame. Perform the reverse process for the Ella without scrambling The dinterleaved user data with corrections sent to the processor 51, separated by the sub-coat or unit 67, and processed as necessary. distributed to either the processor 51 or the system controller 54 depending on the .
SDAプロセッサ66の動作は、トラックのサブ・データ区域に関連したサブ・ コードに従って動作し、これらのサブ・コートをサブ・データ区域ブロックに合 成したり、サブ・データ区域ブロックを分解して、サブ・コートにしたりすると いう点を除けば、プロセッサ65と同様である。The operations of the SDA processor 66 include sub-data areas associated with sub-data areas of the track. Works according to the code and combines these sub-coats into sub-data area blocks. or by disassembling the sub-data area blocks into sub-coats. It is similar to the processor 65 except for this point.
信号編成器53は、記録(データ書込み)時に、ATF回路80からのATF信 号と共に、フレーム・データ・プロセッサ52によって与えられる主データ区域 ブロック及びサブ・データ・区域ブロックをアセンブルし、各順次トランクに記 録される信号を形成するようになっているフォーマツタ/セパレータ・ユニット 70から構成される。The signal organizer 53 receives the ATF signal from the ATF circuit 80 during recording (data writing). The main data area provided by the frame data processor 52 along with the Assemble blocks and sub-data/area blocks and write them to each sequential trunk. formatter/separator unit adapted to form the signal to be recorded Consists of 70.
ユニット70が必要とする場合には、トラック信号に、必要なプリアセンブル及 びポストアンブル・パターンも挿入される。ヘット・ドラムの回転に応答してパ ルス発生器81の出力が供給されるタイミング発生器71によって、ユニット7 0の動作とヘッドHA、HBの回転を協調させるタイミング信号が加えられる。If required by unit 70, the track signals are subjected to any necessary pre-assembly and and postamble patterns are also inserted. The pattern responds to the rotation of the head drum. unit 7 by a timing generator 71 to which the output of the pulse generator 81 is supplied. A timing signal is added that coordinates the movement of head 0 and the rotation of heads HA and HB.
ユニットから回線72に出力されるトラック信号は、ヘッド・スイッチ73、そ れぞれのヘッド駆動増幅器74、及び、記録位置にセットされた記録/再生スイ ッチ75を介して、ヘッドHA及びヘッドHBに対し交互に送られる。The track signal output from the unit to the line 72 is sent to the head switch 73, Each head drive amplifier 74 and the recording/playback switch set at the recording position. The signal is sent alternately to head HA and head HB via switch 75.
ヘッド・スイッチ73は、適正に調時されたタイミング発生器71からの信号に よって動作する。The head switch 73 receives the signal from the properly timed timing generator 71. Therefore it works.
再生(データ読取り)時、ヘッドHA及びHBによって交互に発生するトラック 信号は、記録/再生スイッチ75(この場合、再生位置にセットされている)、 それぞれの読取り増幅器76、第2のヘッド、スイッチ77、及び、クロック回 復回路78を介して、フォーマツタ/セパレータ・ユニット70に送られる。ヘ ッド・スイッチ77の動作は、ヘット・スイッチ73と同じやり方で制御される 。この場合、ユニット70は、ATF信号を切り離して、回路80に送り、主デ ータ区域ブロック及びサブ・データ区域ブロックをフレーム・データ・プロセッ サ52に送る働きをする。プロセッサ52には、クロック回復回路78からクロ ック信号も送られる。Tracks generated alternately by heads HA and HB during playback (data reading) The signal is sent to the record/playback switch 75 (in this case set to the playback position), Each read amplifier 76, second head, switch 77 and clock circuit It is sent via a return circuit 78 to a formatter/separator unit 70. F The operation of head switch 77 is controlled in the same manner as head switch 73. . In this case, unit 70 disconnects the ATF signal and sends it to circuit 80 to data area blocks and sub data area blocks to the frame data processor. It functions to send to the server 52. The processor 52 receives a clock signal from a clock recovery circuit 78. A check signal is also sent.
スイッチ75は、システム・コントローラ54の制御を受ける。Switch 75 is under the control of system controller 54.
テープ・デツキ11は、4つのサーボ、すなわち、キャプスタン15の回転を制 御するためのキャブズタン・サーボ82、それぞれ、リール14.15の回転を 制御する第1と第2のリール・サーボ83.84、及び、ヘッド・トラム12の 回転を制御するドラム・サーボ85から構成される。各サーボには、両方とも、 サーボによって制御される素子に結合された、モータM及び回転検出器りが含ま れている。The tape deck 11 controls the rotation of four servos, that is, the capstan 15. Cab's tongue servo 82 to control the rotation of reel 14 and 15, respectively. The first and second reel servos 83, 84 and head tram 12 to control It is composed of a drum servo 85 that controls rotation. Each servo has both Includes a motor M and a rotation detector coupled to an element controlled by a servo It is.
リール・サーボ83.84には、媒体の始端(BOM)及び媒体の終端(EOM )の検知手段86が連係しているが、これらの手段86は、例えば、どちらであ れ、テープの巻取りのために駆動されているリール(テープの移動方向によって 決まる)のモータ電流は、BOM/EOMにおけるモータの停動時には大幅に増 加するので、モータ電流の検知に基づくことが可能である。The reel servos 83 and 84 have start of media (BOM) and end of media (EOM) ) detection means 86 are linked together, but these means 86 may, for example, and the reel being driven to take up the tape (depending on the direction of tape movement) The motor current (determined by can be based on the detection of the motor current.
テープ・デツキ11には、さらに、データ記録時に、テープに対する記録のため のATF信号を発生する自動トラック追従回路80が設けられている。読取り時 、ATF回路80は、テープから読み取られたATFI−ラック信号に応答して 、キャブズタン・サーボ82に調整信%を加え、ヘットHA、HBとテープに記 録されたトラックとの適正なアライメントがとれるようにする。テープ・デツキ 11には、ヘッドHA、HBの回転に同期したタイミング・パルスを発生するパ ルス発生器81も含まれている。The tape deck 11 further includes a device for recording on the tape when recording data. An automatic track following circuit 80 is provided which generates an ATF signal. When reading , the ATF circuit 80 responds to the ATFI-RACK signal read from the tape. , add the adjustment signal % to the carburetor tongue servo 82, and record the head HA and HB on the tape. Ensure proper alignment with recorded tracks. tape deck 11 includes a pulse generator that generates timing pulses synchronized with the rotation of the heads HA and HB. A pulse generator 81 is also included.
テープ、デ、キ11の動作は、サーボ82〜85及びBOM/EOM検知手段8 6に接続されたデツキ・コントローラ87の制御を受ける。コントローラ87は 、サーボに必要な距離だけテープを進めさせる働きをする(公称速度または高速 度で)。この制御は、設定されたテープ速度に適した時間間隔だけサーボに付勢 するか、あるいは、サーボに連係した回転検出器りのうち1つ以上の検出器から テープ変位情報をフィートハックすることによって行なわれる。The operation of tape, de, and key 11 is controlled by servos 82 to 85 and BOM/EOM detection means 8. It is controlled by a deck controller 87 connected to 6. The controller 87 , which causes the servo to advance the tape the desired distance (nominal speed or high speed). degree). This control energizes the servo for a time interval appropriate for the set tape speed. or from one or more rotation detectors associated with the servo. This is done by foot-hacking the tape displacement information.
デツキ・コントローラ87は、それ自体、システム・コントローラ54が送り出 す制御信号によって管理される。デツキ・コントローラ87は、BOM及びEO Mに達したことを表わす信号をコントローラ54に対して出力するようになって いる。 。The deck controller 87 is itself sent by the system controller 54. managed by control signals. The deck controller 87 has BOM and EO A signal indicating that M has been reached is output to the controller 54. There is. .
システム・コントローラ54は、コンピュータと記憶装置の間における高レベル の対話を管理し、コンピュータが要求するロード/書込み/圧縮/復元/探索/ 読取り/アンロードといった基本操作の実施時に、記憶装置の他のユニットの機 能に調整を施すという両方の働きをする。この後者に関して、コントローラ54 は、デツキ11の動作と記憶装置のデータ処理部分との調整を行なう働きをする 。System controller 54 is a high-level interface between the computer and storage devices. It manages the interactions between the When performing basic operations such as read/unload, the functionality of other units of storage is It has the dual function of adjusting the performance. Regarding this latter, controller 54 functions to coordinate the operation of the deck 11 and the data processing section of the storage device. .
テープ・デツキ11の制御において、システム・コントローラは、デツキ・コン トローラ87に対し、通常読取り/書込み速度(Normal)でテープを移動 させる要求、あるいは、高速度でテープを順方向または逆方向に移動させる要求 、すなわち高速送り(F、FWD)または高速巻戻しくF、RWD)の要求を行 なうことができる。In controlling the tape deck 11, the system controller Move the tape to the controller 87 at normal read/write speed (Normal) or to move the tape forward or backward at high speeds. , that is, request high-speed forwarding (F, FWD) or high-speed rewinding (F, RWD). can become.
デツキ・コントローラ87は、BOMまたはEOMに到達すると、システム・コ ントローラ54に報告するようになっている。When the deck controller 87 reaches the BOM or EOM, the deck controller 87 The information is reported to the controller 54.
次に、復元のためにレコードの位置を突きとめる動作について、第20A図及び 第20B図に関連して解説する。Next, regarding the operation of locating the record for restoration, Figure 20A and This will be explained in relation to FIG. 20B.
ホストがレコードを復元するように指令を出すと、コントローラ54は、復元す べきレコードのレコード・カウントに等しい値を備えた探索キーを生成する。現 在のレコード・カウントは、グループ・プロセッサ51のグループ化マネージャ 60に保持されている。次に、テープが高速度で(通常の何倍も速い)進められ (あるいは、適切であれば、巻き戻され)、一方、ヘッド・ドラムは、テープに 対してヘッドHA、HBの相対速度を一定値に維持する速度で回転するが、この モートの場合、300毎に約1つのトラックのサブ区域を読み取ることが可能で ある(ステップ91a及び91b)。トラックのサブ区域の高速読取りは、既知 の技法であり、従って、詳細な説明は行なわない。When the host issues a command to restore a record, the controller 54 Generate a search key with a value equal to the record count of the desired record. current The current record count is determined by the grouping manager of the group processor 51. It is held at 60. The tape is then advanced at high speed (many times faster than normal). (or rewound, if appropriate), while the head drum On the other hand, the heads HA and HB rotate at a speed that maintains the relative speed at a constant value. For motes, it is possible to read approximately 1 track subarea every 300 Yes (steps 91a and 91b). Fast reading of track sub-areas is known This technique is therefore not described in detail.
第20A図には、高速順方向探索が示され、第20B図には、高速逆方向探索が 示されている。Figure 20A shows a fast forward search and Figure 20B shows a fast backward search. It is shown.
高速順方向探索時には(第20A図)、順次読み取られる各サブ区域毎に、各サ ブ・データ区域ブロックの第2のパックに保持されたレコード・カウントと探索 キーが、コントローラ54によって比較される(ステップ92a)。レコード・ カウントが、探索キー未満の場合、探索は続行されるが、レコード・カウントが 、探索キー以上の場合、高速順方向探索が終了し、テープは、高速順方向読取り 間の距離にほぼ等しい距離だけ後退する(ステップ93)。この結果、現在、ヘ ッド・ドラムと向かい合ったトラックのサブ区域に保持されたレコード・カウン トが、必ず探索キー未満になる。During fast forward search (Figure 20A), each subarea is read in sequence. Record counts and searches held in the second pack of data area blocks The keys are compared by controller 54 (step 92a). record· If the count is less than the search key, the search continues, but the record count is , if the search key is greater than or equal to the search key, the fast forward search ends and the tape is read (step 93). As a result, currently Record counter held in a subarea of the track opposite the head drum is always less than the search key.
高速逆方向探索時には(第20B図)、順次読み取られる各サブ区域毎に、各サ ブ・データ・ブロックの第2のパックに保持されたレコード・カウントと探索キ ーが、コントローラ54によって比較される(ステップ92b)。レコード・カ ウントが探索キーを超える場合、[は続行されるが、レコード・カウントが探索 キー以下の場合、高速巻戻しが停止される。During fast backward search (Figure 20B), each subarea is read sequentially. record counts and search keys held in the second pack of data blocks. are compared by controller 54 (step 92b). record card If the record count exceeds the search key, [continues but the record count exceeds the search key. If the key is below, high-speed rewinding is stopped.
次に、高速順方向探索及び高速逆方向探索の両方とも、テープは、その通常の読 取り速度で進められ(ステップ94)、さらに、各順次グループが、テープから 読み取られ、グループ・プロセッサ51のバッファ56に一時的に記憶される。Then, in both fast forward search and fast backward search, the tape is (step 94), and each sequential group is It is read and temporarily stored in buffer 56 of group processor 51.
各グループのインデックスに保持されたレコード・カウントは、初めて探索キー 以上になるまで、探索キーと比較される(ステップ95)。この時点で、レコー ド・カウントをテストしたばかりのバッファ56のグループ内に、探索対象のレ コードか存在しているので、読取りが停止される。各レコード毎に、ブロック・ アクセス・テーブルにエントリが作成される場合、このグループにおけるインデ ックスのブロック・アクセス・テーブルを検査して、関係するレコードの識別を 行ない(ステップ96)、第1のデータ・レコード・バイトのバッファ内におけ るアドレスが、計算される(ステップ97)。次に、グループ・プロセッサ51 は、システム・コントローラ54に対して、探索対象のレコードを見つけ出して おり、次のデータ・レコードの復元及び読取り準備が整ったことを知らせるが、 これは、コントローラによってホストに報告される(ステップ98)。これで、 探索動作が終了する。The record count kept in each group's index is the first search key It is compared with the search key until it reaches the above value (step 95). At this point, record The record to be searched is in the group of buffer 56 whose read count was just tested. Reading is stopped because the code is present. For each record, block When an entry is created in the access table, the index in this group Examine the block access table of the box to identify the records involved. (step 96) and in the buffer of the first data record byte. The address is calculated (step 97). Next, group processor 51 tells the system controller 54 to find the record to be searched and indicates that the next data record is ready to be restored and read. This is reported by the controller to the host (step 98). with this, The search operation ends.
もちろん、他の探索方法を実施することができるのは、明らかである。Of course, it is clear that other search methods can be implemented.
高速で探索中に、テープのデータ区域の境界を越えると、その検出を行なうため 、サブ区域の読取り時には、必ず、システム・コントローラ54によって区域I Dサブ・コードのチェックが行なわれる。このサブ・コードによって、テープの データ区域を越えて探索が行なわれたことが示されると、テープ方向が逆転し、 一般に、低速度で探索が再開される。分りやすくするため、第20A[1及び第 20B図からこの区域rDチェックは省略されている。To detect when the boundary of the tape data area is crossed during high-speed searching. , the area I is read by the system controller 54 whenever a subarea is read. A check is made for the D sub-code. This subcode allows you to When a search beyond the data area is indicated, the tape direction is reversed and Generally, the search is resumed at a slower rate. For clarity, Section 20A [1 and 20A] This area rD check is omitted from Figure 20B.
関係するレコードの位置を突きとめると、次のステップは、レコード内における データ圧縮にどのアルゴリズムが用いられたかを示す、アルゴリズム番号をチェ ックすることである。これは、アルゴリズム番号が関連グループのブロック・ア クセス・テーブルに記憶されている場合、該テーブルを調べることによって行な われる。Once you have located the records involved, the next step is to Check the algorithm number to indicate which algorithm was used to compress the data. It is to check. This indicates that the algorithm number is the block address for the associated group. If stored in the access table, this is done by examining the table. be exposed.
アルゴリズム番号が、テープ・ドライブのDCチップで用いるアルゴリズム(ま たは2つ以上あるならばDCチップの1つ)に一致する場合、次のステップは、 重要なレコードを含む圧縮対象の始めを探すことである。これは、第9図に関し て述べたような特定記録フォーマットにより決まる様々な方法で行うことができ る。The algorithm number is the algorithm used by the tape drive's DC chip. or one of the DC chips if there are more than one), the next step is The goal is to find the beginning of the compression target that contains important records. This is related to Figure 9. This can be done in a variety of ways depending on the particular recording format as described above. Ru.
関係するレコードを含む圧縮オブジェクトの始端が見つかると、復元が開始され 、そのレコードの終端にあるFLUSH(または、EOR)コード・ワードに達 するまで、続行される。次に、復元レコードをホストに送ることが可能になる。Once the beginning of the compressed object containing the relevant record is found, the restore begins. , the FLUSH (or EOR) code word at the end of the record is reached. will continue until The restore record can then be sent to the host.
レコードの終端におけるFLUSHコード・ワードの存在は、次のレコードの始 端からデータをめなくても、レコードの復元が確実に行なえることを表わしてい る。The presence of a FLUSH code word at the end of a record indicates the beginning of the next record. This indicates that records can be reliably restored without having to look at the data from the beginning. Ru.
圧縮レコードがエンティティをなすように編成されると、関係するグループは、 第20A図及び第20B図に関連して既述のように位置が突きとめられる。When compressed records are organized into entities, related groups are The location is determined as described above with respect to FIGS. 20A and 20B.
従って、グループ内におけるエンティティ・ヘッダー中の#RECSエントリを 用いることによって、関連するエンティティの位置を突きとめることができる。Therefore, the #RECS entry in the entity header within the group It can be used to locate related entities.
復元は、関連エンティティ内のアルゴリズムIDエントリをチェックすることに はよって見つけることが可能なすぐ前のアクセス・ポイントから開始され、その エンティティ内の圧縮データが、既に開始された辞書から続いていることが示さ れると、アクセス・ポイントが見つかるまで、スキップして、前のエンティティ ・ヘッダー等に戻る。関連するレコードから得られる復元データだけしか保持さ れない。従って、エンティティ・ヘッダーにデータが存在することには、関連レ コード及びアクセス・ポイントが容易に見つかり、データ管理のプロセスを復元 プロセスから切り離すことが可能になるという利点がある。レコードの圧縮バイ ト・カウントを含むエンティティにおいて、各圧縮レコードの後に後書きがあれ ば、これらのCBCは、復元時におけるFLUSHコード・ワードのカウントで はなく(あるいは、たけではなく)、復元データの保持の開始時点を確認するの に有効に役立てることができる。The restore will check the Algorithm ID entry in the related entity. starts from the immediately previous access point that can be found, and Indicates that the compressed data in the entity continues from an already started dictionary. , skip to the previous entity until the access point is found. ・Return to header etc. Only recovered data from related records is retained. Not possible. Therefore, the presence of data in the entity header indicates that the associated record Easily find codes and access points and restore data management processes It has the advantage of being able to be separated from the process. Record compression byte If there is a footnote after each compressed record in an entity that contains For example, these CBCs are the count of FLUSH code words at the time of restoration. (or not) to determine the starting point for retaining restored data. It can be used effectively.
従って、データ・ストリームにおける補助的情報の存在は、選択されたレコード ・すぐ前のアクセス・ポイントを見つけ、復元データを保持すべきポイントを確 認するのに有効に利用することができる。Therefore, the presence of auxiliary information in the data stream ・Find the previous access point and confirm the point where the restored data should be kept. It can be effectively used for recognition.
通常のデータ読取り中には、補助情報、例えばデータストリームのエラー検査情 報および/またはデータ分離情報をそれに応じて用いる。During normal data reading, auxiliary information, e.g. error checking information of the data stream, is information and/or data separation information accordingly.
ドライブ(DCまたは非DC)で、CRCを生成し、それを、エンティティに構 成されたレコードの後書き部分のCRCと比較するという1つの可能性がある。Generate a CRC on the drive (DC or non-DC) and configure it into the entity. One possibility is to compare with the CRC of the trailing portion of the created record.
また、ドライブ(再びDCまたは非DC)は、後書き部分のCBCを用いて、各 圧縮レコードが始まり終わる箇所を見つけることができる。Also, the drive (again DC or non-DC) uses the CBC in the trailing part to You can find where compressed records begin and end.
本発明は、ヘリカル走査データ記録に限定されないことが理解される。説明した 圧縮アルゴリズムは単なる例であり、本発明は、異なるアルゴリズムにしたがっ て圧縮されるデータの記憶にも適用することができる。It is understood that the invention is not limited to helical scan data recording. explained The compression algorithm is just an example and the invention can be applied according to different algorithms. It can also be applied to the storage of data that is compressed.
特表平5−500878 (16) FIG4 IG4A FIG17 マイクロ7′ロセアナ・ハ゛ス 〒゛ニタ入力 干”−’7 、tカタ■音?メ 七1バインクー7エイズ、 国際調査報告 国際調査報告 GB 9100082 SA 43981Special table Hei 5-500878 (16) FIG4 IG4A FIG17 Micro 7' Roseana Bass〒〒゛Nitor input dry''-'7 , T Kata ■ Sound? 71 banhku 7 aids, international search report international search report GB 9100082 SA 43981
Claims (11)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB909001334A GB9001334D0 (en) | 1990-01-19 | 1990-01-19 | Data storage |
GB9001334.3 | 1990-01-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05500878A true JPH05500878A (en) | 1993-02-18 |
Family
ID=10669626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3503135A Pending JPH05500878A (en) | 1990-01-19 | 1991-01-18 | data storage |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0464181A1 (en) |
JP (1) | JPH05500878A (en) |
GB (1) | GB9001334D0 (en) |
WO (1) | WO1991010998A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11635914B2 (en) | 2020-07-30 | 2023-04-25 | International Business Machines Corporation | Locating data within tape systems using sub dataset headers |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100204459B1 (en) * | 1993-05-17 | 1999-06-15 | 모리시타 요이찌 | A digital signal recording and reproducing apparatus |
GB9403025D0 (en) | 1994-02-17 | 1994-04-06 | Hewlett Packard Ltd | Methods and apparatus for storing data and auxilli ary information |
US5592342A (en) * | 1994-05-23 | 1997-01-07 | Quantum Corporation | Method for packing variable size user data records into fixed size blocks on a storage medium |
EP0913823B1 (en) * | 1997-10-31 | 2013-05-22 | Hewlett-Packard Development Company, L.P. | Data encoding method and apparatus |
EP0913760A1 (en) * | 1997-10-31 | 1999-05-06 | Hewlett-Packard Company | Data encoding scheme |
US6985325B2 (en) | 2001-07-31 | 2006-01-10 | Hewlett-Packard Development Company, L.P. | Updateable centralized data position information storage system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
GB8800349D0 (en) * | 1988-01-08 | 1988-02-10 | Hewlett Packard Ltd | Method of storing data on recording tape |
GB8800350D0 (en) * | 1988-01-08 | 1988-02-10 | Hewlett Packard Ltd | Data recorder |
GB8800351D0 (en) * | 1988-01-08 | 1988-02-10 | Hewlett Packard Ltd | Data recorder |
-
1990
- 1990-01-19 GB GB909001334A patent/GB9001334D0/en active Pending
-
1991
- 1991-01-18 EP EP19910903065 patent/EP0464181A1/en not_active Withdrawn
- 1991-01-18 JP JP3503135A patent/JPH05500878A/en active Pending
- 1991-01-18 WO PCT/GB1991/000082 patent/WO1991010998A1/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11635914B2 (en) | 2020-07-30 | 2023-04-25 | International Business Machines Corporation | Locating data within tape systems using sub dataset headers |
Also Published As
Publication number | Publication date |
---|---|
WO1991010998A1 (en) | 1991-07-25 |
EP0464181A1 (en) | 1992-01-08 |
GB9001334D0 (en) | 1990-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04505983A (en) | Compressed data storage | |
JP3224813B2 (en) | Compressed data access | |
JPH04505982A (en) | Data storage on tape | |
JP3319751B2 (en) | Tape storage | |
JP2854391B2 (en) | Method for assembling data groups on DAT tape | |
US5717951A (en) | Method for storing and retrieving information on a magnetic storage medium via data blocks of variable sizes | |
US5835955A (en) | Disk array controller with enhanced synchronous write | |
EP0760977B1 (en) | Packing variable length records in fixed blocks | |
JP3037338B2 (en) | Data storage method and data search method | |
JPH05500878A (en) | data storage | |
JPH01204251A (en) | Method of looking up recording medium | |
JPH09231508A (en) | Data recording system with demarking function and its method | |
JPH08501171A (en) | Data recording system with single non-record detection | |
JPH04505980A (en) | Sharing data dictionary | |
JP2822869B2 (en) | Library file management device | |
JP3750137B2 (en) | Digital data recording apparatus and reproducing apparatus | |
JPS6249434A (en) | Cartridge magnetic tape device | |
US5859737A (en) | Magnetic recording and/or reproducing apparatus having a search pattern and data arranged in a longitudinal track for facilitating a high speed search | |
JP3552246B2 (en) | Signal processing device | |
JP3287493B2 (en) | Data processing device | |
JPH0541037A (en) | Digital data recording and reproducing device | |
KR100251821B1 (en) | Magnetic recording/ reproduction apparatus | |
JPH0554537A (en) | Digital data recording and reproducing device | |
JPH0434647A (en) | Retrieving device | |
JPH0831255B2 (en) | Data recorder |