KR920002581B1 - 블럭간 갭 사이의 블럭 데이타의 커다란 패킷을 명확하게 기입 및 판독하는 고용량 테이프 드라이브 - Google Patents

블럭간 갭 사이의 블럭 데이타의 커다란 패킷을 명확하게 기입 및 판독하는 고용량 테이프 드라이브 Download PDF

Info

Publication number
KR920002581B1
KR920002581B1 KR1019890000187A KR890000187A KR920002581B1 KR 920002581 B1 KR920002581 B1 KR 920002581B1 KR 1019890000187 A KR1019890000187 A KR 1019890000187A KR 890000187 A KR890000187 A KR 890000187A KR 920002581 B1 KR920002581 B1 KR 920002581B1
Authority
KR
South Korea
Prior art keywords
tape
data
packet
host
tpad
Prior art date
Application number
KR1019890000187A
Other languages
English (en)
Other versions
KR890012308A (ko
Inventor
제이. 카토 제프
더블유. 러스카 데이비드
제이. 반 마렌 데이비드
Original Assignee
휴렛트-팩카드 캄파니
디.크레이그 노들런드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 휴렛트-팩카드 캄파니, 디.크레이그 노들런드 filed Critical 휴렛트-팩카드 캄파니
Publication of KR890012308A publication Critical patent/KR890012308A/ko
Application granted granted Critical
Publication of KR920002581B1 publication Critical patent/KR920002581B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1201Formatting, e.g. arrangement of data block or words on the record carriers on tapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion

Abstract

내용 없음.

Description

블럭간 갭 사이의 블럭 데이타의 커다란 패킷을 명확하게 기입 및 판독하는 고용량 테이프 드라이브
제1도는 본 발명에 따라 테이프 드라이브를 제어하기 위해 테이프 패킷 어셈블리/디스어셈블리(TPAD)를 사용하는 데이타 프로세싱 시스템의 간략한 블럭도.
제2a도, 제2b도 및 제2c도는 제1도의 TPAD용 패킷의 기본 데이타 구조를 간단한 형태로 도시한 도면.
* 도면의 주요부분에 대한 부호의 설명
1 : 호스트 컴퓨팅 환경 2 : 응용 프로그램
3 : 연산 시스템 4, 13 : 버퍼
5 : I/O카드 6, 24 : 접속 케이블
7 : 테이프 패킷 어셈블리/디스어셈블리
8, 23 : 인터페이스 9 : 압축기/감압기
10 : 경로 11 : 마이크로프로세서
12 : 판독 전용 메모리(ROM) 14, 16, 18, 29 : 데이타 부분
15, 17, 19, 30 : 트레일러 20 : 판독/기입 메모리(R/W)
21 : 연결정보 22 : 트레일러 크기 정보
25 : 테이프 드라이브 26 : 헤드
27 : 테이프 28, 43 : 패킷
31, 32 : 데이타 블럭 33 : 억세스 테이블
34, 35 : 억세스 엔트리 36 : 억세스 테이블 크기
37 : 잡 정보 38, 39, 40, 41, 42 : 엔트리
44 : 플래그 필드 45 : 형태 필드
46 : 길이 필드 47 : 마크 ID/필드
48 : 플래그 J 48 : 플래그 K
50 : 플래그 L
데이타가 컴퓨터에 의해 자기 테이프(magnetic tape)에 기입될 때, 데이타에 필요한 것들 사이내의 테이프 길이와 무관하게 길이가 3/10인치(약 0.76cm)정도의 공업 표준 크기로 된 테이프의 소거부와 데이타 부분을 분리시키는 것이 통상적인 실행 방법이다. 이 공백(empty)부분을 갭(gap)이라고 부르는데, 특히 이 갭에 의해 분리된 데이타의 형태에 좌우되는 기록간(inter-record) 또는 블럭간(inter-block)갭이라고 부른다. 전형적으로, 사용자의 응용 프로그램은 응용 프로그램에 의해 크기가 결정되는 논리적인 기록을 판독 및 기입한다. 갭(즉, 기록간 갭)에 의해 분리된 각각의 응용 기록을 판독 및 기입하기 위해 시간 및 테이프 모두를 낭비한다는 것을 인식하고 있기 때문에, 연산 시스템(operating system)이 전체 블럭으로서 호스트 컴퓨터(host computer)에 의해 기입되는 곳으로부터 버퍼(buffer)내부로 연속 응용 기록을 수집하는 것이 관계로 되어 있다. 이때 기록의 이 블럭들은 갭에 의해 분리되는데, 이때 이 갭을 블럭간 갭이라고 부른다[저장 매체의 특성에 따라, 0.5인치(약 1.27cm) 9개 트랙의 자기 테이프용 블럭간 갭에 대응하는 것은 매체상에 실질적으로 엔코드된 특정 패턴과 같은 소정의 다른 "기록/블럭 분리기(record/block separator)"로 될 수 있다]. 누산 및 기입 프로세스는 블럭킹(blocking)이라 불리운다. 테이프로부터 블럭을 판독하여 버퍼내에 이 블럭을 넣은 다음 이 버퍼로부터 각각의 기록을 검색하는 대응하는 반전 프로세스를 디블럭킹(deblocking)이라고 부른다.
테이프 이용의 효율은 데이타 용으로 사용된 갭들 사이의 테이프의 크기와 갭 자체 용으로 사용된 크기 사이의 비율에 의해서 결정된다는 것을 명백하게 알 수 있다. 각각의 갭에 필요한 테이프의 크기는 표준화에 의해 고정되므로, 이용의 고효율은 갭들 사이의 데이타를 가진 테이프의 크기가 갭들의 크기에 비해 커야 되는 것을 필요로 한다. 그러나, 호스트 컴퓨터의 연산 시스템은 보통 블럭킹 및 디블럭킹을 수행하기 위해 사용될 수 있는 버퍼의 크기를 제한시킨다. 또한, 버퍼의 크기를 변화시키기 위해, (1) 응용 소프트웨어 내의 변화 및 (2) 연산 시스템의 자체의 연산 특징 또는 연산 시스템 자체의 실제 코드 내의 변화 모두를 필요로 한다. 이러한 변화를 시도한 사람들은 이것이 대단히 번거롭게 될 수 있다는 것을 안다.
자기 테이프 사용시의 최근의 2가지 경향은 상황을 더욱 번거롭게 한다. 이들 경향중의 제1경향은 테이프 이송 메카니즘(mechanism)의 비트 밀도 증가이다. 9개 트랙 그룹-코드화 기록[group-coded recording(GCR)]테이프 드라이브용으로 3/10인치(약 0.76cm)의 갭 크기를 갖는 1인치(2.54cm)당 6250문자[characters per inch(CPI)]의 밀도가 현재의 공업 표준(industry standard)이다. 1600CPI 및 우상 엔코딩[phase encoding(PE)]드라이브용 6/10인치(약 1.52cm)의 갭 크기의 초기 표준, 또는 800CPI] 및 제로(0)로의 비복귀[nonreturn-to-zero(NRZI)]드라이브용 6/10인치(약 1.52cm)의 갭 크기의 더욱 이전의 초기 표준에 비해, GCR드라이브는 소정의 기록 또는 기록의 블럭을 기입하기 위해 상당히 적은 테이프를 필요로 한다. 이것은 증가된 밀도 및 테이프의 릴(reel)의 유효 용량의 실제 증가에도 불구하고, 블럭킹도(degree of blocking)가 대응하는 크기만큼 증가될 수 없는 한 증가된 용량이 감소된 효율의 희생으로 도달한다는 것을 의미한다. 상기에 주지한 바와 같이, 응용 프로그램이 실행되는 환경의 이러한 변화는 테이프 이용의 감소된 효율로 있을때 보다 더욱 어렵게 될 수 있다.
제2경향은 데이타 압축이다. 이것은 데이타 자체가 보다 적은 테이프를 요구하게 함으로써 유사한 효과를 갖는다. 압축도가 종종 아주 극적으로 될 수 있기 때문에, 테이프의 증가 퍼센테이지가 압축된 데이타의 작은 블럭들 사이의 블럭간 갭으로 될 때 의도하지 않은 감소 복귀결과가 발생할 수 있다.
큰 기록 밀도용으로 증가된 테이프 이용시의 완전한 잇점은 데이타가 실제로 테이프에 기입되기 전에 충분한 데이타를 축적하기 위한 메카니즘이 있는 경우에 달성될 수 있다. 그러나, 이러한 프로세스가 현존하는 연산 시스템에서 볼 수 없게 되고 공표된 표준과 일치하는 방법으로 공업 표준 테이프 드라이브를 사용하여 계속 기입하는 경우에는, 큰 블럭 내로의 블럭킹의 간단한 버퍼링이 더 많이 요구된다.
이 목적들은 호스트 컴퓨팅 환경과 테이프 드라이브 사이의 명령 및 데이타 경로내에 배치된 테이프 패킷 어셈블리/디스에셈블러[tape packer assembler/dis-assembler, (TPAD)]에 의해서 달성된다. 호스트-전송 기록[hosk-transmitted record, (압축, 블럭화의 여부)]는 TPAD내의 큰 버퍼내에 축적된다. 블럭된 구조적 특징의 내장 제한기로서 작용하는 데이타 스트림(stream)내의 소정의 문자[기록 종료부(end-of-record; EOR)를 의미하는 문자]는 방해받지 않은 상태로 남아 정상문자로서 처리된다. 기입 화일 마크(Write File Mark)와 같은 테이프 명령은 내장된 문자 또는 그외의 다른 정보에 차단 및 대체된다. 그러한 "다른 정보"는 다양한 형태(type)로 될 수 있고, 연결정보(linkage information)의 테이블의 형태 플러스 이들 테이블의 크기에 관한 정보를 취한다. 호스트-전송 기록들 사이의 테이프상에서 통상적으로 발생하게 되는 통상의 블럭간 갭은, 이 기록들이 새로운 테이프 운동 유니트, 즉 패킷내에 축적되므로, 발생하지 않는다. 이때 블럭간 갭이 패킷들 사이에서 발생하게 된다.
버퍼내의 축적은 이 버퍼의 한 단부에서 개시되어, 다른 단부를 향해, 즉, 증가 어드레스 방향으로 진행된다. 버퍼의 선택된 단편적인 크기가 채워진 후, 연결 테이블과 이것의 크기 정보는 버퍼내의 이것들의 결합 데이타 부분에 부착된다. 연결 테이블 및 크기 정보는 트레일러(trailer)라고 불리운다. 트레일러를 갖고 있는 데이타 부분은 패킷이라고 불리운다. 각각의 패킷은 6250 CPI스트리밍(streaming)테이프 드라이브용으로 1피트 정도의 테이프를 기입하게 하기에 충분하게 크다. 버퍼는 구성에 따라 8 내지 12패킷을 보유하기에 충분하게 크다. 패킷은 버퍼가 채워질 때까지 버퍼에 연속적으로 기입된다.
필요한 경우에, TPAD는 연속적인 패킷내에 저장된 세그먼트(segment)로 인입 호스트-전송 기록을 분리시킬 수 있다. 이것은 인입 기록이 패킷보다 크거나, 버퍼내의 잔여 공간의 크기가 전체 기록을 포함하기에 불충분하기 때문에 발생할 수 있다. TPAD의 활성도가 호스트-컴퓨팅 환경을 통과할 수 있고 TPAD가 다음의 호스트-전송 기록의 크기를 미리 아는 방법을 전혀 갖고 있지 않다는 것을 기억해야 한다. TPAD는 "헤이, 내 버퍼내의 룸(room)을 다 써버렸어, 이 기록을 다시 나한테 보내"라고 호스트-전송 기록에게 말할 수 없다. 대신에, 버퍼의 과주행(overrunning)을 방지하고 2개의 연속적인 패킷들 사이의 인입 기록을 간단히 분산시키기 위해 호스트를 홀드 오프(hold off)상태로 유지시킨다.
버퍼가 채워졌을 때, 이 버퍼내의 패킷들은 모두 테이프에 기입되는데, 버퍼의 프리드(freed)부분은 기존의 것이 계속 기입되더라도 새로운 패킷의 에셈블리 및 저장에 유용하다. 호스트가 유지(keep up)할 수 있는 경우에, TPAD는 결국 호스트를 홀드 오프 상태로 유지하게 되고, 그렇지 않으면, 호스트가 뒤로 떨어지게 되어, 버퍼가 공백 상태로 비거나 간단히 부분적으로 채워지게 될 수 있다. 각각의 패킷이 테이프에 기입된 후, 테이프 드라이브는 통상적인 블럭간 갭을 자동적으로 기입하게 된다. 갭이 기입된 후, 버퍼가 패킷 이하를 포함하면, 더 이상의 기입 동작이 발생하지 않고, 테이프 운동을 멈추며, 그렇지 않으면 패킷의 기입이 연속된다. 호스트에 의해 테이프 드라이브에 발생된 소정의 명령은 TPAD의 패킷 어셈블리 활성도에 악영향을 미친다. 예를 들어 되감기(rewind)명령은 패킷으로서 버퍼의 소정의 자연 내용을 테이프에 분출시키므로, 되감기가 발생할 수 있다.
블럭간 갭들 사이의 데이타를 전체 패킷을 기입한다는 것은 테이프의 이용 효율이 높다는 것을 의미한다. 비-중단(uninterrupted) 테이프 운동으로 가능한 한 많은 연속적인 패킷을 기입하는 것은 스트리밍 테이프 드라이브를 효율적으로 사용하게 하는데 도움을 주지만, 본 발명의 실행이 스트리밍 드라이브에 사용하는데 제한되지 않는다는 것을 알아야 된다. 이것은 개시-정지 테이프 드라이브와 관련하여 동일한 만족도로 사용될 수 있고, 또한 마찬가지로 소정의 특정한 기록 기술, 포맷 또는 밀도로 사용하는데 제한되지 않는다. 특히, 이하의 설명은 이동하지 않는 9개 트랙 헤드를 갖고 있는 스트리밍 6250 CPI GCR드라이브에 대해 제공되지만, 본 발명은 이동 테이프 헤드 및 고정된 길이의 물리적 기록 구조를 사용하는 디지탈 음성 테이프(Digital Audio Tape, DAT)포맷과 관련하여 사용될 수 있다는 것을 알 수 있다. 명백하게 알 수 있는 바와 같이, TPAD는 테이프 드라이브의 특성에 관한 단지 최소의 지식으로 이것의 기능을 수행할 수 있고, (다수의 비기술적인 이유로 바람직하게 될 수 있지만)드라이브 내에 물리적으로 결합될 필요가 없으며, 일반적으로 내부작업이 상당히 애매한 블랙박스로서 테이프 드라이브를 취급할 수 있다.
테이프를 판독하기 위해, 프로세스는 필수적으로 반전(reverse)된다. 테이프 드라이브는 2개의 연속적인 블럭간 갭들 사이에 놓인 패킷을 판독하도록 명령을 받는다. 테이프 드라이브가 패킷이라고 불리는 논리적 구조를 전혀 알지 못하므로, 이것을 수행하기 위한 특정한 명령이 필요없다. 단지 대단히 긴 기록을 발생하도록, TPAD는 간단히 테이프 드라이브가 테이프상의 다음(물리적)기록을 판독하도록 명령한다(이것의 패킷은 블럭화된 응용 기록의 전체 수집을 거의 포함한다). 다른 패킷용의 룸(room)이 버퍼 내에 있는 것으로 나타난 경우에는, 버퍼가 채워질 때까지 계속해서 다음 패킷이 판독된다. 호스트가 테이프로부터 물리적인 기록을 판독하기 위한 명령을 발송하므로, TPAD는 패킷을 디스어셈블하고 초기의 호스트-전송 기록(블럭화되었는지의 여부)을 호스트로 다시 발송하기 위해 현재 패킷(및 그 다음의 패킷, 등등)용 트레일러내의 정보를 사용한다.
특정한 연결 정보는 후퇴(backspacing), 전진(forwardspacing), 및 현재 화일의 개시부 또는 종료부, 또는 현재 화일의 한 측면 상의 소정의 화일로의 이동을 용이하게 하도록 트레일러내에 유지된다. 또한, 정보의 다른 형태들도 트레일러 내에 유지될 수 있다. 데이타를 자동으로 압축 및 팽창하는 타스크(task), 및 테이프상에 기록된 데이타에 구조적 특징으로 부가하기 위해 테이프 포맷 특정 테이프 마크를 사용하는 것은 트레일러 내에 관련된 정보를 저장함으로써 이롭게 될 수 있는 것들의 예이다.
양호한 실시예에 있어서, TPAD는 사용자의 데이타가 패킷 내에 어셈블되기 전에 사용자의 데이타를 압축시키기 위한 능력과 결합된다. 또한, 테이프로부터 판독되는 데이타는 패킷의 디스어셈블리시에 감압된다. 양호한 압축 알고리즘은 압축된 데이타 스트림내에 내장되는 디셔너리(dictionary)를 사용하는 것이다. 양호한 알고리즘이 적합하고, 압축 효율이 소정의 레벨 이하로 떨어지는 경우에 디셔너리 형성의 프로세스를 재개할 수 있다. 압축특징이 사용되고 있을때, 소정의 부수적인 트레일러 정보가 패킷 어셈블리중에 발생되어, 후에 패킷 디스어셈블리중에 사용된다. 이 부수적인 정보의 특성에 대해서는, 압축없이 패킷 어셈블리 및 디스어셈블리를 위한 기본 동작을 설명한 후에 개별적으로 설명하겠다.
유사하게도, TPAD가 DAT 드라이브와 관련하여 사용되는 경우에, 소정의 부수적인 동작은 패킷용 트레일러 내에 유지된 정보의 형태로 있는 것이 바람직하다.
이제 제1도를 참조하며, 제1도는 본 발명의 원리에 따라 테이프 드라이브(25)를 제어하기 위해 테이프 패킷 어셈블리/디스어셈블리[(TPAD), 7]에 결합된 호스트 컴퓨팅 환경(1)의 간략한 블럭도가 도시되어 있다. 호스트 컴퓨팅 환경(1)은 테이프 드라이브(25)로 및 로부터 데이타를 판독 및 기입하는 응용 프로그램(2)를 수행한다. 연산 시스템(3)은 응용 프로그램(2)에 유용한 I/O 명령의 수집, 인터럽트 및 DMA시스템의 관리를 행하는 것과 같은 다수의 써비스를 제공하고, 데이타가 블럭화 및 디블럭화될 수 있게 하는 버퍼(4)를 제공함으로써 이 통신을 조정한다. 연산 시스템(3)의 원조하에, 버퍼(4)로 및 로부터의 데이타는 I/O카드(5)를 경유하여 호스트 컴퓨팅 환경(1)에 들어가거나 이 환경(1)에서 나오게 되는데, I/O카드의 임무는 (1) 접속 케이블(6)에 이 데이타를 전기적으로 결합시키고, (2) 접속 케이블(6)의 다른 단부에 있는 어떤 장치와도 저레벨 핸드쉐이킹(handshaking)을 수행하는 것이다. 제1도에 도시한 바와 같이, 테이프 명령 및 데이타는 호스트 컴퓨팅 환경(1)로부터 테이프 드라이브(25)를 향해 케이블(6)을 거쳐 전송되고, 데이타(및 통상적으로 상태정보)는 테이프 드라이브(25)로부터 호스트 컴퓨팅 환경(1)을 향한 방향으로 전송된다.
제1도는 테이프 패킷 어셈블리/디스어셈블리[(TPAD), 7]이 호스트 컴퓨팅 환경(1)과 테이프 드라이브(25)사이에 존재하는 상태를 도시한 것이다. TPAD(7)은 2개의 I/O포트를 갖고 있다. 그 중에 하나는 호스트 컴퓨팅 환경(1)로부터 접속 케이블(6)으로 인터페이스(8)에 의해 결합된다. 이 방법에 있어서, TPAD(7)은 테이프 드라이브(25)로 발송되는 테이프 명령 및 데이타를 수신할 수 있고, 또한 테이프로부터 판독되는 데이타 및 이에 관련되는 소정의 상태 정보를 호스트 컴퓨팅 환경(1)로 발송할 수 있다. 다른 I/O 포트는 또한 테이프 드라이브(25)에 결합되는 접속 케이블(24)를 수용하는 인터페이스(23)으로 포함한다. 이 접속 케이블(24)위에는 블럭간 갭에 의해 테이프(27)상에 분리되는 패킷이(양방향으로) 이동한다.
그러므로, 호스트 컴퓨팅 환경(1)에 접속되는 포트에서, TPAD(7)은 연산 시스템이 버퍼(4)를 통하여 전송하도록 의도된 형태로 데이타를 발송 및 수신한다. 테이프 드라이브(25)에 접속되는 다른 포트에서, TPAD(7)은 테이프의 대응하는 길이가 블럭간 갭의 크기에 비교하여 큰 패킷내에 어셈블리된 데이타를 발송 및 수신한다. TPAD(7)의 주요 타스크는 각각 포트에 도착하는 데이타를 다른 포트의 포맷으로 변환시키고 호스트 컴퓨팅 환경(1)이나 테이프 드라이브(25)가 모두 이에 대해 알지 못하게 하면서, 이 다른 포토상에 이 포맷을 발송하는 것이다.
개략적인 설명을 계속하기 위한, TPAD(7)의 내부 작업의 간단한 요약은 다음과 같다. 테이프 드라이브(25)에 데이타를 기입할 때, 테이프 명령 및 데이타는 인터페이스(7)에 도달하므로, 테이프 운동(즉 후퇴, 되감기)에 악영향을 미치는 소정의 명령이 판독 전용 메모리[(Read Only Memory(ROM), 12]에 존재하는 프로그램에 따라 TPAD(7)의 동작을 제어하는 마이크로 프로세서(11)로 직접 추출되어 발송된다. 다수의 다른 명령(즉, 테이프 마크 기입)은 데이타 스트림으로부터 추출되고, 패킷의 내용내에 엔코드되어 집적(integrated)되며, 이 명령들은 이들 본래의 형태로 테이프 드라이브에 도달할 수 없게 된다. 패킷이 TPAD에 의해서 판독될 때, 테이프 마크는 회복되고 적당한 상태 정보는 마치 테이프 드라이브로부터 온 것처럼 호스트로 발송된다.
(테이프 마크는 데이타와 구별할 수 있는 테이프 드라이브에 의해서 인지할 수 있는 테이프상에 기입된 테이프 포맷 특정 상태이다. 테이프 마크의 판독은 상태 정보의 일부로서 드라이브에 의해 보고된다. 일반적으로 테이프 마크의 의미는 연산 시스템에 이르기까지 남아 있다. 일반적으로 9개 트랙 테이프 포맷의 각각의 형태는 테이프 마크의 한 형태만을 갖고 있는데, 이것의 의미는 종속 사용이다. 본래는, 각각 자신의 개별적인 의미를 갖고 있는 여러가지 테이프 마크 형태로 될 수 없는 이유가 없다).
이때 인터페이스로부터의 데이타/내장된-명령 스트림은 압축기/감압기(9)주변에 결합되거나 이 주변으로 발송된다. 스위치를 갖고 있는 경로(10)은 선택적으로 도시되어 있다. 테이프 드라이브(25)로 발송되는 데이타의 경우에, 압축기/감압기(9)는 압축기로서 작용하게 된다.
본래 또는 압축된 데이타 스트림은 마이크로프로세서(11)에 도달하므로, 이것은 버퍼(13)의 선택된 부분내로 직접 발송된다. 양호한 실시예에 있어서, 버퍼(13)은 상당히 크다. 즉, 8비트 폭과 50만개 정도의 어드레스 가능한 위치를 갖고 있다. 초기에, 데이타는 데이타 부분(14)와 같은 버퍼(13)의 일부분에 적재된다. 이 동작중에, 이 데이타의 특성에 대한 소정의 정보는 판독/기입 메모리(R/W, 20)의 영역내에 저장된다. 이 정보는 다수의 연결 정보(21) 및 얼마나 많은 정보가 R/W(20)내에 저장되었는지에 대한 트레일러 크기 정보(22)를 포함한다. 데이타 부분(14)가 선택된 크기에 도달할 때, 내부의 데이타 저장은 간단하게 중지되고, R/W(20)의 내용을 트레일러(15)를 형성하기 위해 이 부분에 부착된다. 이와 함께 데이타 부분(14) 및 트레일러(15)는 패킷(28)을 형성한다. 이때 프로세스는 다른 데이타 부분(16)의 형성 및 다른 트레일러(17)의 최종 부착을 다시 시작한다. 이것은 다른 패킷(29)를 형성한다.
이점에 있어서, 매체 포맷의 다수의 형태와 협력하여 TPAD동작의 호환성을 설명하기 위해 간단히 본론을 벗어나 설명한다. 순차적으로 억세스된 매체는 임의의 크기의 기록 또는 블럭을 전혀 허용하지 않는다. 소정의 카셋트 테이프는 디스크와 같이 프리포맷(preformat)되고, DAT드라이브는 테이프 마크에 의해 분리된 고정 크기의 프레임을 판독 및 기입한다. TPAD는 이들 배열을 용이하게 조절할 수 있다. 발생되는 한 특정 상황은 매체상의 필요한 크기의 공간을 점유하기 위해 충분히 긴 다른 짧은 패킷의 길이를 패드(pad)시킬 필요가 있는 경우이다. 이것은 어렵지 않고, 데이타 부분(29)의 단부에 트레일러(30)을 간단히 부착하는 것이 아니라, 버퍼내의 사용되지 않은 공간의 적당한 크기에 의해 데이타 부분(29)로부터 트레일러(30)을 간단히 분리함으로써 수행될 수 있다.
호스트 컴퓨팅 환경(1)이 테이프 드라이브(25)에 데이타를 계속 발송한다고 가정하면, 상술한 패킷 어셈블리의 프로세스는 버퍼(13)이 최종적으로 패킷을 가득채울 때까지 계속된다. 이때 패킷은 인터페이스(23) 및 접속 케이블(24)를 경유하여 테이프 드라이브(25)로 발송된다. 테이프 드라이브(25)가 각각의 패킷을 기입하므로, 이것은 블럭간 갭에 의해서 자동적으로 뒤따르게 된다. 패킷이 테이프 드라이브(25)에 기입되므로, 이 패킷들은 버퍼(13)으로부터 "제거"되고, 이것들의 공간은 부수적인 패킷들의 어셈블리에 유용하게 될 수 있다. 이 프로세스는 테이프 드라이브(25)에 기입하기에 유용한 더욱 완전한 패킷이 없어질 때까지 계속된다. 이때 테이프(27)의 운동이 중지되고, 버퍼(13)이 다시 채워질 때 방금 기술한 주기가 다시 기술한 주기가 다시 개시된다. 호스트 컴퓨팅 환경으로부터의 테이프 운동 명령(즉, 되감기)은 이 명령을 수행할 수 있게 하기 위해, 패킷의 완료 및 부분적으로 채워진 버퍼(13)의 전송을 강제로 수행할 수 있다.
테이프 드라이브(25)로부터 데이타를 판독할 때, TPAD(7)은 우선 테이프(27)이 정확하게 배치되게 한다. 이때 이것은 룸이 있는 것과 같이 많은, 버퍼(13)내의 다수의 패킷을 판독된다. 호스트 컴퓨팅 환경(1)로 발송될 데이타를 재구성하기 위해, TPAD(7)은 버퍼(13)내에 남아 있는 초기 패킷용의 트레일러 정보를 판독한다. 이 패킷은 TPAD(7)이 다른 패킷을 저장하기 위한 버퍼(13)내의 다음 유용 위치인 트랙을 유지시키고 각각의 이미 검색된 패킷을 넣는 트랙을 계속 유지시키기 때문에 배치될 수 있다. 이때 이것은 이 패킷을 디스어셈블하고, 필요한 경우에 이 패킷을 감압하며, 호스트 컴퓨팅 환경(1)로 다시 본래의 기록된 데이타를 전송하기 위해, 이 초기 패킷의 트레일러 내의 연결 정보를 사용한다. 패킷 내에 내장된 소정의 테이프 마크는 회복되고, 적당한 상태 정보가 호스트로 발송된다. 이때 다음 패킷은 디스어셈블되어 호스트로 발송된다. 버퍼내(13)의 패킷들이 모두 디스어셈블되었을 때, 패킷의 새로운 수집이 테이프 드라이브(25)로부터 판독되고, 프로세스는 계속된다.
이제, 패킷내의 데이타가 구성되는 방법에 대해서 상세하게 설명하겠다. 제2a도를 참조하면, 패킷(43)의 데이타 구조의 간략한 도면에 도시되어 있다. 패킷(43)은 2개의 주요부분, 즉 데이타 부분(29) 및 트레일러(30)으로 나누어진다. 트레일러(30)은 다시 2개의 주요부분, 즉 억세스 테이블(33) 및 잡 정보(miscellaneous information)테이블(37)로 나누어진다. 다수의 주요부분은 이제 각각 논의하게 되는 다수의 엔트리를 포함한다.
데이타 부분(29)는 다수(N)의 1개 이상의 블럭(31,32)로 구성된다. 이것들은 가변길이로 되어 있고, TPAD(7)에 전송된(압축가능한) 호스트의 (블럭화 가능한)기록을 나타낸다. 이때 테이프 마크(TM)를 기입하기 위한 호스트의 시도는 마이크로프로세서(11)에 의해 인터셉트 되어 제거된다.
데이타 블럭(31,32)와 TPAD(7)에 도달하는 실제 호스트-전송 기록 사이의 구별하는 것이 중요하다. 이들 사이는 대응하나, 1대 1로 대응할 필요는 없다. 첫째로, 호스트-전송 기록들 사이에 분산된 테이프 마크가 있을 수 있다. 이것은 다음 구절에서 설명하겠다. 두번째로, 패킷의 일부로 되는 데이타 블럭은 전체 호스트-전송 기록을 포함하기에 충분하게 크지 않으나, 선행 패킷으로부터 이월(carry over)되는 호스트-전송 기록의 연속 부분을 포함하거나, 현재의 패킷이 완전히 포함하기에 불충분한 룸을 갖고 있는 호스트-전송 기록의 개시부로 될 수 있다. 이 두번째 경우는 제2b도의 설명과 관련하여 나중에 더욱 상세하게 설명하겠다.
억세스 테이블(33)은 다수(X)의 2가지 형태의 엔트리로 구성된다. 제1형태는 일련의 억세스 엔트리(34,35)이다. 테이프 마크를 기입하기 위한 호스트에 의한 각각의 시도 및 각각의 데이타 블럭용의 한 억세스 엔트리(34,35)가 있다. 즉, X는 N플러스 데이타 부분(29)와 관련된 테이프 마크의 수의 합계이다. 억세스 엔트리 형태는 후술하는 바와 같이 구별될 수 있고, 데이타 블럭과 관련된 경우에는, 관련된 데이타 블럭(31,32)의 바이트내의 크기를 포함하게 된다. 억세스 엔트리가 테이프 마크의 발생을 나타내는 경우에, 이것은 이 마크를 식별하는 코드를 포함한다. 억세스 엔트리(34,35)는 이것들의 관련된 데이타(31,32) 및 데이타 마크가 호스트 컴퓨팅 환경(1)의 동작으로부터 발생되는 것과 동일한 순서로 발생한다. 억세스 테이블(33)내의 엔트리의 제2형태는 억세스 테이블(33)의 전체 크기를 포함하는 단일 엔트리이다. 이 엔트리는 디스어셈블리 중에 패킷(43)의 데이타 구조를 횡단할 때 사용되고, 패킷의 단부로부터 고정된 수의 바이트에 배치된다.
잡 정보 부분(37)은 각각의 패킷이 테이프(27)상에 기입하기 위해 어셈블리될 때 TPAD(7)에 의해 각각 유지되는 다음의 엔트리를 포함한다. 이중의 제1엔트리는 테이프(27)이 테이프 개시부(begining-of-tape, BOT)에 배치된 이후에 호스트가 화일의 종료부(end-of-file, EOF)를 발송한 횟수를 포함하는 엔트리(38)이다. 이것은 호스트 컴퓨팅 환경이 에러 회복(error recovery)과 일반적으로 관련되어 있고 에러 회복시에 유용한 화일 수를 유도할 수 있게 한다. 예를 들어, 테이프 판독시에 이 테이프의 일부가 가블(garble)된 경우에, 얼마나 많은 화일이 손실되었는지를 호스트에 표시할 수 있다.
엔트리(39)는 엔트리(38)과 유사하다. 이것은 테이프 개시부 이후의 호스트-전송 기록의 수 플러스(지금까지, 이 패킷으로부터의)테이프 마크를 포함한다. 즉, 이것은 [이 지점의 이 테이프상의 모든 패킷(43)에 대한]데이타 블럭(31,32 : 후술하는 바와 같은 형태 0 또는 1)의 수의 합계 플러스 개입(intervening) 테이프 마크의 수의 합계를 포함한다. 또한 엔트리(39)도 에러 회복시에 사용된다.
엔트리(40)은 순차적인 패킷 식별 신호(packet identification number, PID)를 포함한다. 각각의 테이프의 경우에, 순차는 1에서 개시되고, 테이프에 기입된 각각의 연속적인 패킷용으로 1씩 계속 증가된다. 이 엔트리는 패킷이 어셈블될 때 TPAD(7)에 의해 유지되고, 후퇴와 같은 호스트 유도 테이프 운동 중에 테이프를 배치시킬 때 사용된다.
엔트리(41)은 호스트에 의해 기입된 테이프 마크를 포함하는 가장 최근의 이전 패킷(이러한 것이 존재하는 경우에)의 PID를 포함한다. 이 엔트리는 호스트에 의해 발송된 후퇴 화일 명령에 응답하여 사용된다. 이것은 특히 이로운데, 그 이유는 엔트리(41)의 값과 현재 PID사이의 차이가 종착(destimation) 화일을 포함하는 패킷에 도달하기 위해 반전 운동중에 통과해야 되는 테이프(27)상의 실제 갭의 수이기 때문이다. 테이프 드라이브가 (DAT와 길이)1가지 형태의 테이프 마크(i, ii, …)를 지지하는 경우에, 엔트리(41)은 다수의 대응하는 엔트리[41(i), 41(ii)…(도시하지 않음)]으로 나누어지게 된다. 이러한 경우에, 엔트리[41(i)]는 형태(i)의 호스트-기입 테이프 마크를 포함하는 가장 최근의 이전 패킷의 PID를 포함하고, [42(ii)]는 형태(ii)의 테이프 마크를 포함하는 가장 최근의 이전 패킷의 PID를 포함하게 된다.
트레일러(37)내의 최종 엔트리(42)는 이 현재 패킷내의 이러한 기록의 제1완료를 수행하는 호스트-전송 기록의 개시를 포함하는 이전 패킷의 PID(이것이 존재하는 경우에)이다. 이 정보 편(piece)은 TPAD(7)이 (호스트의)기록에 의해 테이프(7)을 후퇴시킬 수 있게 한다.
제2b도 및 제2c도는 발생될 수 있는 억세스 엔트리의 다수의 형태를 도시한 것이다, 억세스 엔트리(34,35)는 고정길이 필드(44,45,46 및 47)내에 배치된 4가지 형태의 정보를 포함할 수 있다. 이 필드들은 각각 플래그(FLAG), 형태(TYPE), 길이(LENGTH) 및 마크(MARK) ID라고 불리운다.
플래그 필드(44)는 관련된 데이타 블럭(31,32)의 소정의 필요한 결합시에 발생할 수 있는 3개의 부울(boolean)플래그[J(48), K(49) 및 L(50)]을 포함한다. 플래그(J48)은 테이프 종료부(EOT)마크가 테이프 드라이브(25)에 의해 통보된 후에 관련된 데이타 블럭(31,32)가 기입된 것을 나타낸다[9개 트랙 드라이브내의 EOT마크는 일반적으로 테이프(27)의 비자화측면(nonmagnetic side)에 부착된 반사표면인데, 이때 이것은 테이프 드라이브(25)에 의해 감지된다. DAT 드라이브는 단지 EOT를 선언하는 테이프 사용의 트랙을 유지하고 데드 레코딩(dead reckoning)에 의해 간단히 EOT를 선언한다]. J플래그(48)은 현재의 패킷이 테이프의 종료부에서 또는 이 종료부를 지나서 기입되기 위해 기입시간에 보고된 것을 TPAD(7)이 호스트 컴퓨팅 환경(1)에 통보할 수 있게 한다. 이것은 많은 테이프를 사용하기 위해 시도하는 것이 아니라, 힌트(hint)를 얻기 위해 호스트 컴퓨팅 환경에 따른다.
플래그(K 및 L)은 데이타 압축에 관한 것이다.
플래그 K(49)는 관련된 데이타 블럭(31,32)가 TPAD(7)에 의해 압축된 것을 나타낸다[호스트 컴퓨팅 환경에 의한 압축은 TPAD(7)의 비밀인데, 이것은 감압되는 것으로 데이타를 처리하도록 진행된다. 이러한 상황은 별다른 문제점을 발생시키지 않으나, 플래그 K를 셋트(set)시키지 못한다]. 플래그 L(50)은 관련된 데이타 블럭(31,32)가 1로 되어 압축 및 감압 디셔너리가 재개되는 것을 나타낸다. 압축고, 플래그 K 및 L이 사용된 방법에 대해서는 나중에 더욱 상세하게 설명하겠다.
형태 필드(45)는 다른 데이타 블럭에 대한 데이타 블럭(31,32)의 관계에 관한 것을 나타내는 2진 값을 포함한다. 제로(0) 값은 관련된 데이타 블럭(31,32)가 정확하게 1개의 호스트-전송 기록을 표시하는 것을 나타낸다. 호스트-전송 기록의 크기가 패킷의 크기에 비해 작을 때, 1개의 패킷 당 다수의 연속적인 형태 0데이타 블럭을 찾는 것을 예상할 수 있다(즉, 이 블럭들은 모두 화일과 같은 대형 구조의 일부로 되고, 테이프 마크에 의해 분리되지 않는다고 가정함).
형태 필드(45)내의 1값은 관련된 데이타 블럭(31,32)가 호스트-전송 기록의 개시부 또는 시초부를 표시하고 전체 기록이 데이타 블럭내에 포함되지 않는다는 것을 나타낸다. 이 상황은 2가지 방법으로 발생할 수 있다. 제1방법은 패킷내에 남아있는 룸의 비트가 아주 작고, 현재 패킷의 어셈블리가 결정되기 전에 단지 다음 호스트-전송 기록의 일부분만이 포함될 수 있다는 것이다. TPAD(7)은 버퍼(13)내의 최종 유용 룸이 사용된다는 가능성이 항상 있기 때문에(결정하기 어려운 값으로 된; 인입 기록이 얼마나 오랫동안 진행되는지를 아는 방법이 필요없다), 약간 큰 패킷을 형성하기 위해 시도하려고 준비되었다고 해도, 이러한 분할을 하도록 준비되여야 한다. 제2방법은 인입 호스트-전송 기록이 소정의 패킷에 맞게 하기에 너무 크기 때문에 TPAD(7)은 크기가 얼마나 크던지간에 어셈블하는데 조심해야 된다는 것이다. 결국, 호스트-전송 기록이 얼마나 크게 될 수 있는지에 제한을 두지 않았다. 이중의 어느 한 방법에서, 형태 1 데이타 블럭이 발생할 때, 다음 패킷내의 다음 데이타 블럭은 인입 호스트-전송 기록의 연속 부분을 수신한다. 형태 2로 알게 되면, 이에 더욱 맞지 않게 된다.
형태 필드(45)내의 값 2는 관련된 데이타 블럭(31,32)가 호스트-전송 기록의 중간 부분을 표시한다는 것을 나타낸다. 이 기록은 선행 패킷내에서 개시되고, 호스트-전송 기록이 아주 큰 경우에는, 바로 이전의 패킷내에서 필요없게 된다(또한, 이전 패킷내의 데이타 블럭은 형태 2로 된다). 형태 2데이타 블럭은 정의에 의해서 단부 또는 마지막 부분이 아니라 중간 부분이기 때문에, 패킷의 전체 데이타 부분을 소모해 버린다. 그러므로, 다음 패킷내의 다음 데이타 블럭은 또한 이 동일한 호스트-전송 기록과 관련된다(이것의 후반부와 관련된다).
형태 필드(45)내의 값 3은 관련된 데이타 블럭(31,32)가 이전 패킷내에 맞지 않는 호스트-전송 기록의 단부 또는 마지막 부분을 표시한다는 것을 나타낸다. 이전 데이타 블럭은 형태 1 또는 2로 되어야 하고, 형태 2로 된 경우에, 이전 데이타 블럭은 체인(chain)이 형태 1로 시작할 때까지 형태 1 또는 2로 되어야 한다.
길이 필드(46)은 관련된 데이타 블럭(31,32)의 바이트 내의 길이를 지정하는 값을 포함한다.
마크 ID필프(47)은 호스트 컴퓨팅 시스템(1)이 테이프(27)에 기입하도록 시도하였다는 소정 테이프 마크의 형태 또는 의미를 지정하는 코드를 포함한다. 이미 기술한 바와 같이, 이것들은 TPAD(7)에 의해 저지되고, 대응하는 억세스 엔트리(34,35)로 대체된다. 패킷이 어셈블 및 디스어셈블되게 하는 논리적 구조에서, 이들 특정 억세스 엔트리는, 호스트에 의해 전송된 테이프 마크가 주변의 호스트-전송 기록을 제한시키는 것처럼, 데이타 블럭(31,32)사이에서 발생한다. 전형적으로 9개 트랙 0.5인치(약 1.27cm)테이프는 단지 테이프 마크용의 한 의미만을 갖고 있는데, 이것은 일반적으로 화일 종료부(EOF)이다. 따라서, 이들 테이프는 드라이브는 단지 1개의 마크만을 기입 및 인지한다. 테이프 드라이브가 각각 그 자신의 의미를 갖게 되는 다수의 상이한 테이프 마크를 기입 및 인지할 수 있다는 것을 확실하게 생각할 수 있다. 이러한 다중-마크테이프 드라이브로 발생할 수 있는 다수의 상이한 테이프 마크를 제공하는 것은, 마크 ID필드(46)이 단일 1-비트 플래그가 아니라 코드를 수용하기에 충분한 폭으로 되어야 하기 때문이다. 소정의 이러한 다수의 테이프 마크의 의미 및 사용은 물론 포맷 또는 테이프 드라이브에 종속되고, 이러한 마크가 생길 수 있는 소정의 가능한 예를 제공하기 위해 본 명세서에서는 상세하게 설명할 필요가 없다. 이러한 마크는 화일 종료부 마크, 데이타 종료부 마크, 볼륨 개시/종료(start/end-of-volume)마크 등을 포함할 수 있으나, 이에 제한되지는 않는다.
하기의 설명은 TPAD(7)이 호스트-전송 데이타를 테이프 드라이브(25)로 발송하기 전에 호스트-전송 데이타를 자동적으로 압축하도록 명령받을 때의 TPAD(7)동작에 관한 것이다. 물론, TPAD는 데이타가 테이프(27)로부터 판독된 후에 이 데이타를 감압해야 되고, 호스트 컴퓨팅 환경으로 이 데이타를 다시 발송하기 전에 이 데이타를 정상적으로 회복시켜야 한다.
TPAD가 실행하는 압축 형태는 디셔너리가 압축된 데이타의 스트림내에 내장되는 형태로 된다. 압축 메카니즘이 적합한데, 압축비율이(데이타의 형태가 2진수로부터 ASDII로 변환되었기 때문에) 소정의 값 이하로 떨어지는 경우에, 압축 알고니즘은 새로운 디셔너리로 개시된다. 또한 호스트-전송 기록을 TPAD(7)로 발송하기 전에 호스트 컴퓨팅 환경에 의한 데이타에 대해 실행된 소정의 압축은 TPAD에 알려지지 않으므로 중요하지 않다. 이러한 미리-압축된 데이타는 압축될 소정의 다른 데이타로서 취급된다.
일반적으로, 압축 알고리즘은 각각의 새로운 패킷의 어셈블리로 개시된다. 패킷내의 제1의 1개 이상의 데이타 블럭이 선행 패킷내에서 개시된 호스트-전송 기록과 관련될 때 발생하는 예외가 있다. 이 경우에, 패킷내의 이들의 초기 데이타 블럭은 사용시에 이전 디셔너리에 따라 압축된다(그러나, 압축 알고리즘의 적합한 특성 때문에, 우연히 상술한 예외에 속하는 새로운 패킷내의 제1데이타 블럭에 대해 적합-유도 디셔너리 리셋트(adaptation-induced dictionary reset)로 될 수 있다. 실제로, 버퍼(13)이 조작되는 방법 때문에, 예외가 상당히 일정하게 발생하는 것으로 예상할 수 있다. 그러므로 각각의 패킷에 대해, 디셔너리 리셋트(dictionary reset)가 패킷의 어셈블리의 개시부에서 또는 그 후에 실제로 전송된 제1호스트-전송 기록과 관련되는 내부의 제1데이타 블럭에 대해 발생한다는 규정이 있다. 즉, 0 또는 1의 형태를 갖고 있는 데이타 블럭은 패킷내의 제1의 이러한 데이타 블럭일 때 강제로 디셔너리 리셋트로 되나, 형태 2 또는 3은 강제로 리셋트로 되지 않게 된다(상술한 바와 같이, 1은 적합하게 발생한다).
TPAD가 모든 데이타 호스트-전송 기록(즉, 모든 형태 0 또는 1데이타 블럭)으로 디셔너리를 재개한 경우에, 압축 및 감압하기 위해 TPAD내에 필요한 복잡성은 어느정도 감소된다. 그러나, 이것은 가장 양호한 가능한 압축 비율을 유지하는데 비용을 들이게 된다. 연속적인 호스트-전송 기록내의 데이타가 아주 동일한 경우에, 이것은 불필요하게 디셔너리를 재개하는데 낭비하게 된다. 그러므로 TPAD는 다수의 호스트-전송 기록을 스푼(spun)하는 디셔너리를 사용할 수 있게 하여, 압축 성능 모니터의 제어 및 상술한 패킷 개시부 규정에 디셔너리 리셋트를 남기는 것이 바람직하다. 이것은 양호한 실시예의 경우에 실제로 존재하나, 이 경우에는 협성되어야 하는 소정의 결과가 있다.
주요 결과는 데이타 블럭이 디셔너리를 포함하는 것으로부터 시작하여 순차적으로 감압되어야 한다는 것이다. 이것은 전체 테이프(또는 테이프의 최소한 소정의 전체 초기 부분)이 해당 데이타를 검색하기 위해 판독(및 감압)되는 경우에 문제되지 않는다. 그러나, 선택적인 검색이 시도되는 경우에, 사용자가 테이프의 개시부에서 디렉토리(directory)를 유지하거나(많은 문제가 있고, 위험이 있으나, 사람들은 이것을 소정의 방법으로 행한다), 다른 방법으로 사용자가 판독하기를 원하는 것이 제97번째 호스트-전송 기록이라는 것을 알고 있다고 가정하면, 사용자는 소정의 방법으로 어느 누가 어떤 패킷을 알고 있는지 제97번째 호스트-전송 기록 앞의 소정의 임의 위치에서 개시하는 디셔너리를 갖고 있는 어떤 것을 감압하기 위한 시도시에 TPAD의 고통을 알아주는 편파적인 사람(respecter)이 아니다. 사용자는 간단히 "FORWARD SPACE 97; 판독! 그래서 이제 어떻게 되었는가?"라고 말한다.
여기서는 이 상황을 어떻게 조정하는지에 대해서 설명한다. TPAD(7)은 테이프의 개시부로부터 전방으로 판독하여 패킷이 진행하는 대로 패킷을 검사한다. TPAD(7)이 찾고 있는 것은 제97번째 호스트-전송 기록의 개시부이다. 이것을 실행하기 위해, TPAD(7)은 형태 0 또는 1의 억세스 엔트리의 수를 계수한다. TPAD(7)이 바람직한 데이타 블럭을 찾았을 때에는, 감압을 개시하기 위해 사용될 수 있는 디셔너리 및 데이타 블럭을 찾기 위해 내부에 있게 될 그 자체를 찾도록 패킷의 개시부를 더 이상 찾을 필요가 없다. 이것이 현재의 패킷 외부로 가는 것에 대해 어떻게 걱정하지 않을 수 있는가? 모든 패킷은 연속 기록 예외가 응용되지 않는 한 디셔너리로 "개시"되고, 예외가 응용되지 않으며, 기록 97의 제3중간 부분이 아니라 개시부를 찾기 때문에, 패킷내의 기록 97의 개시부를 찾을 때, 이것 또는 이 패킷내의 초기 데이타 블럭이 이에 관련된 디셔너리 재개를 갖는다는 것을 알게 된다.
필요한 디셔너리 재개를 가진 패킷이 버퍼내에 있을 때에는, 이것이 사용자가 판독을 개시하기를 원하는 데이타 위치앞에 있더라도, 이때 감압을 개시하는 것은 간단한 문제이다. 이러한 경우에, TPAD는 간섭 감압 데이타가 사용자가 개시를 묻는 데이타내의 위치로 갈 때까지, "비트 버켓트(bit bucket)"내로 간섭 감압 데이타를 간단히 발송한다. 이렇게 하기 위해, TPAD(7)은 패킷(43)의 트레일러(30)의 일부인 억세스 엔트리(34,35)의 플래그 부분(44)내의 L플래그(50)을 조사한다. TPAD가 테이프를 통하여 전방으로 추적하여 제97번째 호스트-전송 기록을 조사할 때 이것은 가장 최근의 L플래그가 발생한 트랙을 유지한다. 이 방법으로, TPAD는 제84번째 호스트-전송 기록상엔 있게 될 수 있는 재개된 디셔너리로 감압을 개시하는 것을 알게 된다.

Claims (1)

  1. 호스트 컴퓨팅 환경(1)과 순차적으로 억세스된 대량 저장 장치(25)사이로 통신된 데이타의 패킷(43)의 어셈블리 및 디스어셈블리장치(7)에 있어서, 호스트 컴퓨팅 환경에 결합하고, 대량 저장 장치에 기입될 호스트-전송 기록을 수신하며, 대량 저장 장치로부터 판독된 데이타 및 상태 정보를 호스트 컴퓨팅 환경에 발송하기 위한 제1인터페이스 장치(8), 호스트-전송 기록에 대응하는 정보의 데이타 부분(14,16,18 및 29)와 트레일러 부분(15,17,19 및 30)을 포함하는 패킷을 버퍼(13)내에 어셈블링하고, 호스트-전송 기록과 데이타 부분 및 트레일러 부분으로 구성된 관련된 상태 표시로 다시 디스어셈블링하기 위해 제1인터페이스 장치에 결합된 패킷 어셈블리/디스어셈블리장치(11 내지 22), 및 대량 저장장치(25)로부터 버퍼내로 패킷을 판독하기 위해 대량 저장장치(25)에 결합하도록 패킷 어셈블리/디스어셈블리장치에 결합된 제2인터페이스 장치(23)으로 구성되고, 데이타 부분이 호스트-전송 기록으로부터의 데이타(31,32)를 포함하고, 트레일러 부분이 호스트-전송 기록시에 발생한 소정의 테이프 마크의 위치를 포함하는 데이타 부분의 구조에 대한 기술적인 정보(33,37)을 포함하는 것을 특징으로 하는 장치.
KR1019890000187A 1988-01-08 1989-01-10 블럭간 갭 사이의 블럭 데이타의 커다란 패킷을 명확하게 기입 및 판독하는 고용량 테이프 드라이브 KR920002581B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US142180 1988-01-08
US07/142,180 US4891784A (en) 1988-01-08 1988-01-08 High capacity tape drive transparently writes and reads large packets of blocked data between interblock gaps
US142,180 1988-01-11

Publications (2)

Publication Number Publication Date
KR890012308A KR890012308A (ko) 1989-08-25
KR920002581B1 true KR920002581B1 (ko) 1992-03-30

Family

ID=22498867

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890000187A KR920002581B1 (ko) 1988-01-08 1989-01-10 블럭간 갭 사이의 블럭 데이타의 커다란 패킷을 명확하게 기입 및 판독하는 고용량 테이프 드라이브

Country Status (5)

Country Link
US (1) US4891784A (ko)
EP (1) EP0324542B1 (ko)
JP (1) JP2888530B2 (ko)
KR (1) KR920002581B1 (ko)
DE (1) DE68921994T2 (ko)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9405914D0 (en) * 1994-03-24 1994-05-11 Discovision Ass Video decompression
US5235695A (en) * 1989-06-28 1993-08-10 International Business Machines Corporation Apparatus for efficient utilization of removable data recording media
US5335328A (en) * 1989-06-28 1994-08-02 International Business Machines Corporation Methods for recording and reading data from a record member having data in any one of a plurality of block formats including determining length of records being transferred
DE69021143T2 (de) * 1989-06-28 1996-02-29 Ibm Verfahren zur wirksamen Verwendung von auswechselbaren Aufzeichnungsmedien für Daten.
WO1991011000A1 (en) * 1990-01-19 1991-07-25 Hewlett-Packard Limited Data dictionary sharing
GB9001334D0 (en) * 1990-01-19 1990-03-21 Hewlett Packard Ltd Data storage
GB9001335D0 (en) * 1990-01-19 1990-03-21 Hewlett Packard Ltd Data storage on tape
GB9001312D0 (en) * 1990-01-19 1990-03-21 Hewlett Packard Ltd Storage of compressed data
WO1991010999A1 (en) * 1990-01-19 1991-07-25 Hewlett-Packard Limited Compressed data access
US5361173A (en) * 1990-01-21 1994-11-01 Sony Corporation Devices for controlling recording and/or reproducing apparatus utilizing recorded management data and interactive information input apparatus for an electronic device
EP0459041B1 (en) * 1990-05-29 1997-07-09 Hewlett-Packard Limited Tape storage
EP0468112B1 (en) * 1990-07-25 1995-09-06 Hewlett-Packard Limited Digital data tape reading device
US5581458A (en) * 1990-07-31 1996-12-03 Conner Peripherals, Inc. Bufered intelligent digital tape controller with onboard ECC and featuring global control variables
US5321558A (en) * 1990-09-12 1994-06-14 Professional Consulting And Computing Services, Inc. Method of storing data on a magnetic tape
US5490260A (en) * 1990-12-14 1996-02-06 Ceram, Inc. Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
US5194995A (en) * 1991-01-09 1993-03-16 Wangdat, Inc. Method and apparatus for recording compressed data on DAT media
US5212772A (en) * 1991-02-11 1993-05-18 Gigatrend Incorporated System for storing data in backup tape device
EP0550761B1 (en) * 1991-07-22 2000-02-16 Fujitsu Limited Method for controlling data recording on magnetic tape
US5481701A (en) * 1991-09-13 1996-01-02 Salient Software, Inc. Method and apparatus for performing direct read of compressed data file
CA2077271C (en) * 1991-12-13 1998-07-28 David J. Craft Method and apparatus for compressing data
US5446602A (en) * 1992-02-28 1995-08-29 E-Systems, Inc. Tape media formatted to include multiple, spaced apart system zones each for storing volume format information
US6112017A (en) * 1992-06-30 2000-08-29 Discovision Associates Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus
US5809270A (en) * 1992-06-30 1998-09-15 Discovision Associates Inverse quantizer
US6034674A (en) * 1992-06-30 2000-03-07 Discovision Associates Buffer manager
US5768561A (en) * 1992-06-30 1998-06-16 Discovision Associates Tokens-based adaptive video processing arrangement
US6067417A (en) * 1992-06-30 2000-05-23 Discovision Associates Picture start token
US5784631A (en) * 1992-06-30 1998-07-21 Discovision Associates Huffman decoder
DE69229338T2 (de) * 1992-06-30 1999-12-16 Discovision Ass Datenpipelinesystem
US6079009A (en) * 1992-06-30 2000-06-20 Discovision Associates Coding standard token in a system compromising a plurality of pipeline stages
US6435737B1 (en) * 1992-06-30 2002-08-20 Discovision Associates Data pipeline system and data encoding method
US7095783B1 (en) 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US6417859B1 (en) 1992-06-30 2002-07-09 Discovision Associates Method and apparatus for displaying video data
US6330665B1 (en) 1992-06-30 2001-12-11 Discovision Associates Video parser
US6047112A (en) * 1992-06-30 2000-04-04 Discovision Associates Technique for initiating processing of a data stream of encoded video information
US5357614A (en) * 1992-09-17 1994-10-18 Rexon/Tecmar, Inc. Data compression controller
US5805914A (en) * 1993-06-24 1998-09-08 Discovision Associates Data pipeline system and data encoding method
US5734373A (en) * 1993-07-16 1998-03-31 Immersion Human Interface Corporation Method and apparatus for controlling force feedback interface systems utilizing a host computer
EP0637025A3 (en) * 1993-07-26 1997-03-19 Matsushita Electric Ind Co Ltd Apparatus and method for recording and reproducing digital data.
US5440686A (en) * 1993-12-22 1995-08-08 International Business Machines Corporation Selecting a data unit candidate to be demoted to a backing store from a front store based upon thresholds individual to each of the data candidates
US5563595A (en) * 1993-12-23 1996-10-08 International Business Machines Corporation Method and apparatus for compressing data
CA2145365C (en) * 1994-03-24 1999-04-27 Anthony M. Jones Method for accessing banks of dram
CA2145361C (en) * 1994-03-24 1999-09-07 Martin William Sotheran Buffer manager
CA2145379C (en) * 1994-03-24 1999-06-08 William P. Robbins Method and apparatus for addressing memory
US5801973A (en) * 1994-07-29 1998-09-01 Discovision Associates Video decompression
GB9417138D0 (en) * 1994-08-23 1994-10-12 Discovision Ass Data rate conversion
EP0913760A1 (en) * 1997-10-31 1999-05-06 Hewlett-Packard Company Data encoding scheme
EP0913762A1 (en) * 1997-10-31 1999-05-06 Hewlett-Packard Company Data encoding scheme
EP0913824B1 (en) 1997-10-31 2013-08-14 Hewlett-Packard Development Company, L.P. Generating appendable points in encoded data
EP0915413A1 (en) * 1997-10-31 1999-05-12 Hewlett-Packard Company Data encoding scheme with switchable compression
EP0913761A1 (en) 1997-10-31 1999-05-06 Hewlett-Packard Company Data encoding scheme
EP0913823B1 (en) * 1997-10-31 2013-05-22 Hewlett-Packard Development Company, L.P. Data encoding method and apparatus
EP0913825B1 (en) * 1997-10-31 2013-05-01 Hewlett-Packard Development Company, L.P. Data encoding scheme
US6856479B2 (en) 2002-01-29 2005-02-15 International Business Machines Corporation Writing synchronized data to magnetic tape
US6798602B2 (en) 2002-06-25 2004-09-28 International Business Machines Corporation Window based directory for magnetic tape
JP4136517B2 (ja) 2002-07-31 2008-08-20 株式会社日立製作所 移動端末
US7236322B2 (en) 2003-08-20 2007-06-26 International Business Machines Corporation Method, system, and program for storing data in a storage medium
US11437062B1 (en) * 2021-08-23 2022-09-06 International Business Machines Corporation Reducing time to reposition tape to write index

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4040026A (en) * 1974-05-08 1977-08-02 Francois Gernelle Channel for exchanging information between a computer and rapid peripheral units
US4162520A (en) * 1976-09-30 1979-07-24 Burroughs Corporation Intelligent input-output interface control unit for input-output subsystem
US4393445A (en) * 1981-03-06 1983-07-12 International Business Machines Corporation Information-signal recording apparatus employing record volume oriented identification signals
US4458316A (en) * 1981-03-06 1984-07-03 International Business Machines Corporation Queuing commands in a peripheral data storage system
US4539676A (en) * 1982-05-03 1985-09-03 At&T Bell Laboratories Bulk/interactive data switching system
EP0316020B1 (en) * 1982-11-16 1993-05-19 Unisys Corporation Block counter system to monitor data transfers
US4542457A (en) * 1983-01-11 1985-09-17 Burroughs Corporation Burst mode data block transfer system
US4534013A (en) * 1983-06-30 1985-08-06 Burroughs Corporation Automatic write system for peripheral-controller
JPH0638600B2 (ja) * 1983-12-28 1994-05-18 株式会社東芝 ローカルエリアネットワークシステム
JP2533132B2 (ja) * 1987-09-11 1996-09-11 富士通株式会社 磁気テ―プ装置

Also Published As

Publication number Publication date
DE68921994T2 (de) 1995-08-17
JPH01295325A (ja) 1989-11-29
KR890012308A (ko) 1989-08-25
DE68921994D1 (de) 1995-05-11
EP0324542A3 (en) 1991-12-11
JP2888530B2 (ja) 1999-05-10
EP0324542A2 (en) 1989-07-19
US4891784A (en) 1990-01-02
EP0324542B1 (en) 1995-04-05

Similar Documents

Publication Publication Date Title
KR920002581B1 (ko) 블럭간 갭 사이의 블럭 데이타의 커다란 패킷을 명확하게 기입 및 판독하는 고용량 테이프 드라이브
US5210851A (en) High capacity tape drive transparently writes and reads large packets of blocked data between interblock gaps
US5097261A (en) Data compression for recording on a record medium
US5247646A (en) Compressed data optical disk storage system
US5813011A (en) Storage of a compressed file containing its own compression management table
US5717951A (en) Method for storing and retrieving information on a magnetic storage medium via data blocks of variable sizes
US5280600A (en) Storage of compressed data with algorithm
JP3870215B1 (ja) テープ記録装置のデータ書込み読取り制御方法
US7788299B2 (en) File formatting on a non-tape media operable with a streaming protocol
US5598388A (en) Storing plural data records on tape in an entity with an index entry common to those records
KR100508814B1 (ko) 데이터 기록 재생장치, 파일 관리방법, 파일정보 생성방법, 파일관리방법, 관리정보 생성장치, 관리정보 해석장치, 매체
JPH10289537A (ja) デジタルデータ記録方法およびデジタルデータ記録媒体
JPH0341672A (ja) 記憶媒体で複数のデータ・フオーマツトのデータを処理する方法及び装置
JP4124886B2 (ja) ホストデータをフォーマットする方法
US4974189A (en) Magnetic tape packet assembler/disassembler safeguards existing data with pretries during appends
US11360674B2 (en) Encoded parity
WO1999031590A1 (fr) Procede de memorisation de fichiers, appareil de memorisation de donnees, procede de gestion de supports d'information, procede de gestion de fichiers, procede d'ecriture des donnees recues dans les supports d'information, et supports de memorisation de programmes
KR20060017764A (ko) 자기 테이프 데이터 저장 시스템 버퍼 관리
EP0903668B1 (en) Method of transferring data between hosts through a storage subsystem
EP0913825B1 (en) Data encoding scheme
EP0913823B1 (en) Data encoding method and apparatus
US8988806B2 (en) Tape drive buffer utilization
JP2000039969A (ja) データ調整方法
JPH11242856A (ja) データソースから受け取ったデータを並べる方法
US6271979B1 (en) Digital data recording and reproducing apparatus having record overflow determining means

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070326

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee