KR20020064142A - 향상된 청각 및 시각 데이터 전송을 위한 디스크 드라이브 - Google Patents

향상된 청각 및 시각 데이터 전송을 위한 디스크 드라이브 Download PDF

Info

Publication number
KR20020064142A
KR20020064142A KR1020017015623A KR20017015623A KR20020064142A KR 20020064142 A KR20020064142 A KR 20020064142A KR 1020017015623 A KR1020017015623 A KR 1020017015623A KR 20017015623 A KR20017015623 A KR 20017015623A KR 20020064142 A KR20020064142 A KR 20020064142A
Authority
KR
South Korea
Prior art keywords
data
command
drive
host
read
Prior art date
Application number
KR1020017015623A
Other languages
English (en)
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 KR20020064142A publication Critical patent/KR20020064142A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0677Optical disk device, e.g. CD-ROM, DVD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • 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/10009Improvement or modification of read or write signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 호스트 컴퓨터(200)와 통신하고 호스트 컴퓨터(200)를 위하여 데이터를 저장할 수 있는 디스크 드라이브와 관련된 것으로, 여기서 디스크 드라이브(108)는 향상된 청각 및 시각 데이터 전송 오퍼레이션을 수행할 수 있다. 디스크 드라이브(108)는 데이터 전송 오퍼레이션이 청각/시각 데이터와 관련되는가를 판단하고, 만약 관련이 있다면, 데이터 판독 또는 기록 명령 동안 이용가능한 재시행의 수를 제한한다. 청각/시각 데이터는 신뢰성 보다는 시간 의존성이 강하므로, 재시행의 수를 제한하는 것이 사용자에게 크게 중요한 것은 아니다. 디스크 드라이브(108)는 또한 하나의 명령 실행동안 전송가능한 비교적 큰 데이터 블록을 전송할 수 있다. 재시행을 제한하는 것과 하나의 명령 실행동안 보다 많은 데이터를 전송하는 것은 호스트 컴퓨터(200)와 디스크 드라이브(108)사이의 청각/시각 데이터 전송 처리량을 크게 증가시킨다.

Description

향상된 청각 및 시각 데이터 전송을 위한 디스크 드라이브 {DISC DRIVE FOR ACHIEVING IMPROVED AUDIO AND VISUAL DATA TRANSFER}
일반적으로, 디스크 드라이브에 저장되는 데이터에는 일반적인 컴퓨터 데이터와 청각/시각 데이터 2가지 형태가 있다. 청각/시각 데이터는 디스크 드라이브에 저장되는 컴퓨터가 판독할 수 있는 데이터인데, 이러한 데이터는 청각적 신호 및/또는 시각적 신호를 재생하는 정보를 말한다. 호스트 컴퓨터는 이러한 청각/시각 신호를 스피커나 모니터 등을 통해서 청각적 및 시각적 표현으로 변형한다. 청각 및 시각 데이터는 실제의 청각 및 시각적 표현을 생성하기 위하여 컴퓨터 디스크 드라이브에 저장되어야 하는 비교적 많은 양의 정보를 포함한다. 예를 들면, 약 2시간 길이의 영화는 약 4기가바이트의 컴퓨터 저장 공간을 필요로 한다.
상당한 양의 컴퓨터 저장 공간을 사용하는 것 외에도, 이러한 정보는 또한 상당히 빠른 속도로 저장 공간에서 호스트 컴퓨터로 전송되어야 한다. 호스트 컴퓨터는 상기 정보를 처리하여, 스피커 또는 모니터와 연결된 출력 단자로 이를 출력한다. 예를 들면, 호스트 컴퓨터 시스템은 케이블이나 또는 다른 통신 전도체로부터 텔레비젼 신호를 수신하는 "셋 탑 박스(set top box)"를 포함할 수 있다. 셋 탑 박스는 텔레비젼 신호를 제어하여 텔레비젼에 신호를 제공한다.
종종, 들어오는 신호가 MPEG(Moving Picture Experts Group) 표준 포맷 또는 이것의 일부 변형과 같은 특정의 포맷으로 수신된다. MPEG 표준은 시각 및 청각 데이터 압축에 대한 표준을 설정한 것이다. 예를 들면, MPEG-1은 진행하는 영상물을 약 1.5 Mbit/s의 전송율로 코딩(coding)하도록 설계되었다. MPEG-2는 약 4 Mbit/s의 전송율로 이미지를 코딩하도록 설계되었다. MPEG-2는 디지털 TV 방송 및 DVD 에서 사용된다. 셋 탑 박스는 시청을 위하여 데이터를 압축해제(decompress)하거나 또는 처리하여 텔레비젼에 제공한다. 또한, 셋 탑 박스는 메모리를 구비하여, 들어오는 정보가 메모리에 저장되어 시청자가 영상 진행을 정지할 수 있고 나중에 시청자가 정지한 부분을 찾아낼 수 있게 한다. 따라서, 영상의 진행을 다시 시작할 때, 사용자는 저장된 정보를 시청할 수 있다. 이러한 특정한 상황에서, 셋 탑 박스는 2개의 텔레비젼 신호 또는 데이터 스트림, 즉 메모리로 저장되는 들어오는 신호와 메모리로부터 사용자 인터페이스로 나가는 신호를 관리해야 한다.
픽처-인-픽처(picture-in-picture) 영상의 출현과 함께, 셋 탑 박스는 사용자 인터페이스로 2개(잠재적으로는 그 이상)의 분리 데이터 스트림을 제공하도록 요구되었다. 물론, 보다 많은 신호가 텔레비젼으로 전송됨에 따라서, 셋 탑 박스는 상당히 많은 정보를 처리해야 한다. 사용자가 2개의 신호를 시청하고 각 신호를 순간적으로 정지한 후 다시 시작하는 상황하에서, 셋 업 박스는 4개의 데이터스트림, 즉 2개의 들어오는 신호와 2개의 나가는 신호를 처리해야 한다. 결과적으로, 들어오는 정보가 상실되거나 또는 사용자에게 원하지 않는 정보 표현이 정지되는 것을 방지하기 위하여, 정보는 효율적으로 처리되어야 한다. 게다가, 만약 정보가 디스크 드라이브에 저장되면, 호스트 컴퓨터가 정보를 처리하고 이것을 사용자 또는 시청자에게 실시간으로 즉 영화가 저장될 때의 속도로 제공하기 위해, 정보는 비교적 빠른 속도로 디스크로부터 판독되어야 한다. 그러나, 상기 정보가 충분히 빨리 판독되지 않아 청각/시각적 표현에 갭이 생기거나 그렇지 않으면 수행 성능이 감소하는 경우가 자주 발생한다.
전형적인 "ATA(Advanced Technology Attachment)" 디스크 드라이브가 셋 탑 박스에 의해 관리되는 청각/시각 정보를 저장하는데 사용된다. 그러나, 불행하게도 전형적인 ATA 드라이브는 청각/시각 데이터에 대하여 상세하게 설계된 것이 아니라 일반적인 컴퓨터 데이터로 작업하도록 설계되어 있다. 일반적인 컴퓨터 데이터의 각 비트는 컴퓨터 프로세스의 오퍼레이션 흐름에 중요하다는 점에서 일반적인 컴퓨터 데이터는 청각/시각 데이터와 다르기 때문에, 전형적인 ATA 드라이브는 올바른 정보가 저장되고 검색기기 위하여 데이터가 저장되고 검색될 때 상기 데이터에 대한 몇몇 테스트를 수행하도록 설계되어 있다. 일반적인 컴퓨터 데이터는 "신뢰성이 중요하다(reliability critical)"고 여겨지며, 여기서는 올바른 데이터 저장 및 검색이 이러한 신뢰성을 얻기 위해 낭비하는 시간보다 훨씬 중요하다.
반면에, 청각/시각 데이터는 시간 또는 성능을 고려하여야 한다. 만약 청각/시각 데이터의 일부에 결함이 생겨 판독될 수 없다 하더라도, 보통 사용자에게 표현되는 것이 크게 영향을 받지는 않는다. 종종 데이터에 있어 이러한 결함은 사용자에게 청각적 또는 시각적 신호에 있어 깜박임으로 나타나거나 또는 검출되지 않는다. 그러나, 만약 정보가 데이터의 신뢰성을 보증하기 위해 시간이 낭비되어 여러번 정지하거나 스킵(skip)된다면, 그 결과로 나타나는 표현(presentation)은 사용자를 만족시키지 못할 것이다.
몇몇 셋 탑 박스, 그리고 ATA 디스크 드라이브를 이용하여 많은 데이터 스트림을 처리하는 셋 탑 박스의 능력과 관련된 하나의 세부적인 문제점은 셋 탑 박스가 ATA 디스크 드라이브로부터 데이터를 요청하는 사이에 상당한 양의 오버헤드 시간 손실을 초래한다는 것이다. 본질적으로, 각각의 요청은 청각/시각 데이터 처리 프로세스의 성능을 감소시킨다.
또다른 세부적인 문제점은 데이터가 디스크 드라이브상에 연속적으로 위치하기 때문에 통신하는 동안 회전을 떨어뜨린다는 것이다.
본 발명은 하드 디스크 드라이브에 대하여 청각/시각 데이터를 판독 및 기록하는 것과 관련된 것이다. 더 상세히는, 본 발명은 디스크 드라이브에 저장된 청각/시각 데이터를 액세스할 때 향상된 수행을 위한 방법 및 장치와 관련된 것이다.
도 1은 헤드 디스크 어셈블리 및 인쇄회로기판 어셈블리를 구비하는 본 발명에 따른 디스크 드라이브의 분리 사시도이다.
도 2는 호스트 컴퓨터와 데이터를 교환하는 프로세싱 엘리먼트를 구비하는 인쇄회로기판 어셈블리를 포함하는, 도 1의 디스크 드라이브의 전자 엘리먼트를 도시한 것이다.
도 3은 도 2에 도시된 호스트 컴퓨터에 의해 처리되는 4개의 데이터 스트림의 논리적 표현이다.
도 4는 본 발명의 일 태양을 보여주는 디스크 플레터의 논리적 표현이다.
도 5는 청각/시각 데이터 판독 오퍼레이션동안 도 1 및 도 2에 도시된 인쇄회로기판 어셈블리의 프로세싱 엘리먼트와 호스트 컴퓨터 시스템 사이의 통신 및오퍼레이션의 흐름도이다.
도 6은 청각/시각 데이터 기록 오퍼레이션동안 도 1 및 도 2에 도시된 인쇄회로기판 어셈블리의 프로세싱 엘리먼트와 호스트 컴퓨터 시스템 사이의 통신 및 오퍼레이션의 흐름도이다.
도 7은 도 5 및 도 6의 재시행 전략 모듈을 설정하는 논리 오퍼레이션을 도시한 것이다.
도 8은 블록 크기 모니터 오퍼레이션의 일부를 도시한 것이다.
본 발명은 디스크 드라이브의 저장 매체에 대하여 청각/시각 데이터를 판독 및 기록하는 디스크 드라이브 시스템 및 프로세스와 관련된 것이다. 본 발명의 일 태양에 따르면, 디스크 드라이브는 하나의 명령 실행동안 비교적 큰 데이터 블록으로 청각/시각 데이터를 판독 및 기록함으로써 향상된 성능을 얻는다. 종래의 디스크 드라이브에서처럼 하나의 명령 실행동안 하나의 트랙 이하로 액세싱하는 대신에, 본 발명은 하나의 데이터 액세스 명령 실행동안 10개 이상의 데이터 트랙이 액세스되게 한다. 액세스되는 블록 크기를 증가시키는 것은 탐색 시간의 낭비를 줄이고, 디스크 드라이브로의 전송을 위하여 명령이 요청될 때마다 발생하는 오버헤드 시간을 줄인다.
본 발명의 또다른 태양에 따르면, 보통의 데이터 판독 및 기록 액세스 동안 발생하는 재시행 또는 에러 정정 프로세스의 수를 제한함으로써 향상된 청각/시각 데이터 액세스 실행이 이루어진다. 재시행의 수를 감소하거나 제한하는 것은 청각/시각 데이터의 처리량을 상당히 증가시키며, 에러를 지닌 데이터는 청각/시각 신호의 표현 또는 오퍼레이션에 있어 크게 중요하지 않다.
본 발명의 특성으로부터의 다양한 특징 및 장점들은 관련 도면을 참조하여 이하의 상세한 설명으로부터 명백해질 것이다.
본 발명에 따른 다양한 실시예에 있어 논리 연산은 (1) 컴퓨터 시스템상에서 동작되는 단계들로 실행되는 컴퓨터 시퀀스 및/또는 (2) 컴퓨터 시스템내 상호접속된 머신 모듈로서 실행된다. 이러한 실행은 본 발명을 구현하는 컴퓨터 시스템의 수행 요구조건에 따른 선택의 문제이다. 따라서, 여기에 개시된 본 발명의 실시예를 구성하는 논리 연산은 연산, 단계 또는 모듈로서 상호호환하여 사용된다.
도 1은 본 발명에 따른 디스크 드라이브(100)를 도시한 것이다. 디스크 드라이브(100)는 인쇄회로기판(102), 헤드 디스크 어셈블리부(104) 및 커버 플레이트(106)를 구비한다. 헤드 디스크 어셈블리부(104)는 고정 축(112)에 대하여 허브(110)와 함께 회전하도록 부착된 다수의 디스크 플레터(108), 그리고 하나 이상의 암(116)을 회전하는 디스크 플레터(108) 위로 이동시켜 자기 판독/기록 헤드(118)가 디스크 플레터(108)의 모든 부분을 액세스할 수 있게 하는 보이스 코일 모터(114)를 포함한다. 인쇄회로기판(102)과 플레이트 혹은 상부커버(106)는 헤드디스크 어셈블리(104)의 베이스 플레이트(120) 반대편에 부착된다. 상부커버(106)는 보이스 코일 모터(114), 암(116), 디스크 플레터(108) 위쪽에 고정된다. 인쇄회로기판(102)은 디스크 드라이브(100)를 호스트 컴퓨터 시스템(도 2)에 연결하고 디스크 드라이브(100)의 다수의 기능 연산(functional operation)을 제어하는데 사용된다.
도 2는 하드 디스크 어셈블리(106)와 호스트 컴퓨터 시스템(200)에 연결된 인쇄회로기판(102)의 블록도를 도시한 것이다. 본 발명에 의해 수행되는 많은 연산들은 마이크로프로세서가 소프트웨어 프로그램을 실행함으로써 발생된다. 일반적으로, 프로그램은 특정의 작업 또는 특정의 추상적 데이터 양식을 수행하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 또한, 당업자는 본 발명이 랩탑 PC, 데스크탑 PC, 멀티프로세서 시스템, 마이크로-프로세서에 기초한 또는 프로그램가능한 사용자 전자장치, 네트워크 PC, 미니 컴퓨터, 메인 프레임 컴퓨터 등와 같은 다른 컴퓨터 시스템 구성으로도 실행될 수 있다는 것을 알 것이다. 바람직하게는, 호스트 컴퓨터 시스템(200)은 마이크로소프트사에서 제공되는 "웹 TV" 시스템과 같은 셋 탑(set top) 컴퓨터 시스템이다.
호스트 컴퓨터(200)는 적어도 하나의 중앙처리장치(CPU) 또는 마이크로포세서(202), 메모리 시스템(204), 입력장치(미도시) 및 텔레비젼(미도시)과 같은 출력장치를 구비한다. 또한, 호스트 컴퓨터는 직접 메모리 액세스("DMA") 컨트롤러를 포함한다. 이러한 엘리먼트들은 적어도 하나의 시스템 버스(208)에 의해 결합된다.
마이크로프로세서(202)는 잘 알고 있는 디자인이며, 데이터 또는 인스트럭션의 일시적 저장을 위한 레지스터(미도시)들을 포함한다. 마이크로프로세서(202)는 현재 Intel, Cyrix, AMD, IBM 및 Motorola 등에 의해 생산되는 것들을 포함한 다양한 구조(architecture)를 가질 수 있으며, 상기 회사의 제품에 제한되지 않는다.
시스템 메모리(204)는 랜덤 액세스 메모리(RAM; 210)와 리드 온리 메모리(ROM)을 포함한다. 디스크 드라이브(100)(도 1)외에, 호스트 컴퓨터 시스템 메모리(204)는 플로피 디스크, 테이프, 컴팩트 디스크(CD), 플래시 메모리 등의 장기 저장 매체의 형태로서 제 2 저장장치(미도시) 및 전기적, 자기적, 광학적 또는 다른 기록 매체 등을 이용하여 데이터를 저장하는 다른 디바이스들을 통합할 수 있다. 시스템 메모리(204)는 또한 출력장치를 통해서 이미지를 디스플레이하기 위한 비디오 디스플레이 메모리을 포함 할 수 있다. 메모리는 자기 카세트 메모리 카드, 비디오 디지털 디스크, 베르누이 카트리지, 랜덤 액세스 메모리, 리드 온리 메모리 등과 같은 다양한 저장능력을 가지는 다양한 대안적인 컴포넌트를 포함할 수 있으며, 또한 예시적인 오퍼레이팅 환경에서 사용될 수 있다. 메모리 시스템내의 메모리 디바이스 및 그것과 관련된 컴퓨터가 판독가능한 매체는 컴퓨터가 판독가능한 인스트럭션, 데이터 구조, 프로그램 및 그외의 컴퓨터 시스템용 데이터의 비휘발성(non-volatile) 저장을 제공한다.
시스템 버스(208)는 다양한 버스 구조를 이용하여 메모리 버스, 주변 버스 또는 지역 버스와 같은 몇몇 버스 구조 중 어떠한 형태가 될 수 있다.
입력 및 출력장치는 호스트 컴퓨터 시스템(200)과 통신한다. 이러한 장치는키보드, 마우스, 마이크로폰, 터치 패드, 터치 스크린, 리모콘 등이 될 수 있다. 출력장치는 디스플레이, 프린터, 스피커, 텔레비젼, 터치 스크린 등이 될 수 있다. 네트워크 인터페이스 또는 모뎀과 같은 몇몇 장치들도 입력 및/또는 출력장치로서 사용될 수 있다. 입력 및 출력 장치는 시스템 버스(208)를 통하여 컴퓨터와 연결된다.
컴퓨터 시스템(200)은 오퍼레이션 시스템과 보통 하나 이상의 응용 프로그램을 더 포함한다. 오퍼레이션 시스템은, 시스템(200)의 오퍼레이션을 제어하고, 자원의 할당을 제어하며, 사용자에게 그래픽 사용자 인터페이스를 제공하고, 로컬 또는 원거리(remote) 정보에 대한 액세스를 용이하게 하며, 그리고 또한 이-메일 시스템과 같은 어떤 유틸리티 프로그램을 포함하는 프로그램의 집합이다.
호스트 컴퓨터 시스템(200)은 입력 단자(214)로부터 신호를 수신한다. 입력 단자(214)는 전화, 케이블, ISDN, DSL 등과 같은 다양한 통신 라인과 연결될 수 있다. 바람직하게는, 호스트 컴퓨터 시스템은 약 10∼20 Mbit/s 당 적어도 2개의 데이터 스트림(220, 222)을 수신할 수 있다. 입력 단자(214)로부터 수신된 정보는 마이크로프로세서(202)와 DMA 컨트롤러(206)에 의해 처리된다. 수신된 정보는 바람직하게도 디스크 드라이브(100)(도 1)의 인쇄회로기판(102)상에 구비된 마이크로프로세서(230)로 전송된다. 또한, 상기 정보가 수신되어 디스크 플레터(108)에 저장되는 동안, 호스트 컴퓨터 시스템은 동일한 속도로, 즉 10∼20 Mbit/s로 2개의 데이터 스트림(224, 226)을 출력 단자(216)를 통해서 출력 장치(미도시)로 전송할 수 있다. 도 3에 도시된 바와 같이, 이러한 모든 동작들은 동시에 수행되므로, 데이터 전송율은 스트림(220, 222, 224, 226)의 개별 전송율의 약 4배가 된다.
도 3은 컴퓨터 시스템(200)에 의해서 처리되는 4개의 데이터 스트림의 흐름을 도시한 것이다. 2개의 데이터 스트림(220, 222)은 입력으로서 또는 호스트 컴퓨터 시스템의 입력 단자에 연결된 것으로서 2개의 분리 채널 또는 데이터 스트림을 나타내고, 출력 데이터 스트림(224, 226)은 호스트 컴퓨터 시스템의 출력 단자로 전송되는 신호를 나타낸다. 입력 및 출력 데이터 스트림 사이의 공간은, 데이터가 데이터 스트림(220 또는 222) 중 하나로부터 호스트 컴퓨터(200)에 의해서 수신되는 시점 T0과 상기 데이터가 출력 단자중 하나로 실제로 전송하는 시점 T1 사이의 지연을 나타낸다. T0과 T1 사이의 시간은 데이터 스트림과 관련된 지연 시간을 정의한다.
인쇄회로기판 어셈블리(102)상의 마이크로프로세서(230)는 호스트 컴퓨터 시스템(102)에 대한 신호의 전송 및 수신을 담당하며, 입력 단자(214)로부터 헤드 디스크 어셈블리(104)의 실제 디스크 플레터(108)(도 1)로 데이터 스트림의 전송을 용이하게 하는데 사용된다. 정보는 사용자가 보기 원할 때까지 플레터(108)에 저장된다. 사용자가 정보를 보기 원할 때, 인쇄회로기판상의 마이크로프로세서(230)는 호스트 컴퓨터(200) 및 헤드 디스크 어셈블리(104)와 협력하여 사용자에게 제시할 정보를 검색한다.
마이크로프로세서는 RAM(234)과 케이블(228) 사이의 데이터 전송을 비교적 빠르게 하는 DMA 컨트롤러(232)와 협력하여 작업을 수행한다. 또한, 마이크로프로세서는 ROM(236)에 저장된 소프트웨어를 실행한다. 데이터는 채널(238)과 프리앰프 및 부가 회로(240)를 통해서 디스크(108)로/로부터 전송된다.
호스트 컴퓨터(200)와 인쇄회로기판(102)상의 엘리먼트 사이의 통신은 ATA 케이블(228)을 통해서 ATA/ATAPI 프로토콜을 이용하여 실행된다. ATA 프로토콜은 디스크 드라이브(100) 및 호스트 컴퓨터(200) 모두가 인식할 수 있는 포맷 및 양식을 정의한다. 비록 ATA도 유용하지만, 드라이브(100)는 또한 호스트 컴퓨터 시스템(200)에 대한 데이터의 저장 및 검색 수행시간을 향상시키기 위해 독특한 방식으로 청각 시각 데이터를 판독 및 기록할 수도 있다.
디스크 드라이브는 판독/기록 명령에 대한 큰 명령 카운트(count)를 하나의 명령의 다수 섹터로 전송함으로써 그리고 판독 및 기록 오퍼레이션동안 에러 발생시 재시행의 수를 동적으로 조정하므로써 향상된 수행이 가능하다.
바람직한 실시예에서, A/V 파티션이 도 4에 도시된 바와 같이 기록 디스크상에 저장 공간을 위해 설정된다. 각각의 디스크 또는 디스크 플렉션은 통상의 컴퓨터 데이터를 위해 사용되는 내부 직경 섹션을 가진다. 내부 섹션은 데이터가 디스크에 대하여 판독 또는 기록되는 속도 관점에서 디스크 플레터(108)의 "가장 느린" 부분이므로, 보통의 컴퓨터 데이터에 대하여 바람직하다. 본질적으로, 데이터가 액세스될 수 있는 속도는 외부 직경에서 가장 빠르다.
섹션(402)은 A/V 파티션으로 셋업되고, 섹션(404)은 또다른 섹션 또는 컴퓨터 데이터 형태 정보의 파티션이다. 비록 외부 섹션이 가장 빠른 액세스 시간을 가지며, 따라서 시간-의존성 A/V 데이터에 대하여는 최적의 위치이지만, 외부 부분도 또한 시스템 부팅시에 액세스되는 ATA 컴퓨터 정보를 위치시키는 표준 위치이다. 그러므로, A/V 파티션은 2개의 컴퓨터 데이터 형태 파티션 사이에 구현된다. 이러한 파티션을 셋업하는 것은 데이터가 디스크상 데이터 블록의 위치나 어드레스에 따라서 상이한 방법으로 처리될 수 있게 한다.
A/V 파티션(402)을 셋업하기 위하여, 인쇄회로기판(102)은 호스트 컴퓨터로부터 A/V 파티션의 최소 논리 블록 어드레스("LBA") 및 A/V 파티션에 대한 최대 LBA를 지시하는 명령을 수신한다. 본질적으로, 호스트는 디스크 저장 공간에서 A/V 데이터 영역에 대한 최소값 및 최대값을 지정함으로써 A/V 데이터에 대한 영역을 셋업한다. 이러한 값들은 LBA(논리 블록 어드레스)로 알려진 연속적인 값이다. 논리 블록 어드레스는 하드 디스크 드라이브상의 모든 각각의 섹터와 관련된 연속적인 수이다. 이제 A/V 데이터 영역 또는 A/V 파티션 내부의 LBA를 포함하는 판독/기록 명령은 A/V 판독/기록 명령으로서 인식될 수 있다.
또다른 실시예에서, 호스트는 판독/기록 명령이 A/V 명령이라는 것을 지정할 수 있다. 상기 실시예에서는 디스크 저장 공간에서 A/V 파티션을 셋업할 필요가 없다.
도 5는 본 발명의 바람직한 실시예에서 수행될 때 판독 명령의 논리 오퍼레이션 흐름도를 도시한 것이다. 도 5에 도시된 바와 같이, (500)에서 시작되는 오퍼레이션 흐름은 청각/시각 데이터에 대한 판독 명령을 처리한다. 호스트 컴퓨터에서 발송 오퍼레이션(502)이 판독 명령을 발송한다. 오퍼레이션(502)에서 호스트에 의해 발송된 명령은 LBA 및 카운트를 포함하며, 여기서 카운트는 미리 정해진 특정 디자인 표준(criteria)으로 지속된 청각/시각 실행이 가능할 정도로 충분히큰 데이터 블록을 성공적으로 액세스할 수 있다. 특정 디자인 표준의 예로는 호스트에 의해 처리되는 데이터 스트림의 수와 데이터가 처리되는 가장 일반적인 속도 등을 들 수 있다. 이러한 표준은 가장 최악의 상황에서 사용자에게 만족스러운 청각/시각 프리젠테이션을 달성하는데 필요한 byte/second의 전체 수와 관련된다.
오퍼레이션(504)에서 디스크 드라이브는 호스트로부터 명령을 수신한다. 디스크 드라이브에 의해 판단 오퍼레이션(506)이 수행되고, 명령이 A/V 명령인가 아니면 일반적인 명령인가를 검출하기 위해 호스트로부터 수신된 판독 명령을 해석한다. 명령을 해석함으로써 상기 명령이 청각/시각 데이터와 관련되는가 아니면 일반적인 컴퓨터 데이터와 관련되는가를 판단할 수 있다. 만약 상기 명령이 A/V 표시(indication) 또는 플래그(flag)를 포함하면, 오퍼레이션(506)은 A/V 표시 또는 플래그를 테스트한다. 만약 저장 공간의 A/V 파티션이 사용되었다면, 오퍼레이션(506)은 LBA가 A/V 데이터 영역 또는 파티션내에 있는가를 테스트한다. 만약 명령이 일반적인 판독 명령이라면, 오퍼레이션 흐름은 아니오(NO)로 분기되어 일반적인 ATA 오퍼레이션(508)으로 진행된다. 오퍼레이션(508)은 컴퓨터 데이터에 대한 일반적인 판독 오퍼레이션를 이용하여 판독 명령을 실행한다. 만약 명령이 A/V 명령이면, 오퍼레이션 흐름은 예(YES)로 분기되어 셋 재시행 오퍼레이션(510)으로 진행된다.
디스크 드라이브에서 셋 오퍼레이션(510)은 A/V 명령에 대하여 적절한 재시도 전략을 셋업한다. 사실상, 오퍼레이션(510)은 판독 오퍼레이션에서 에러가 검출될 경우 재시행의 수를 셋한다. 재시행의 수는 청각/시각 수행을 충분히 유지할수 있는 데이터 스트림을 방해하지 않고 에러 없는 A/V 데이터 스트림을 제공하도록 셋된다. 오퍼레이션(510)은 도 7을 참조하여 하기에서 더욱 상세히 설명한다.
판독 명령에서 카운트가 256 또는 이보다 작을 때, 섹터 카운트 초기화 오퍼레이션(511)은 섹터 카운트에 판독 명령으로부터의 카운트를 로드한다. 카운트가 큰 수가 될 때, 보통 A/V 명령에서는 오퍼레이션(511)이 카운트를 255로 셋한다. 상기 섹터 카운트는 각각의 섹터 판독에 대하여 카운트다운되고, 판독 오퍼레이션이 완성되었는가를 판단하기 위해 블록 크기 모니터 결정 오퍼레이션(519)에 의해 이용된다.
오퍼레이션(512)은 디스크 플레터를 회전시키고, 헤드를 올바른 트랙으로 이동시킨다. 원하는 섹터가 헤드 바로 아래에 위치할 때, 데이터 판독 오퍼레이션(514)은 디스크 드라이브상의 RAM(234)으로 데이터를 판독하기 시작한다. 판독 오퍼레이션 동안 디스크 드라이브는 에러 정정 코드를 인가하고, 데이터가 호스트에 대하여 준비되었다는 것을 지시한다. 테스트 오퍼레이션(516)은 판독 오퍼레이션에서 에러를 조사한다. 만약 에러가 발생되었고, 오퍼레이션(510)에 의해 셋된 재시행의 수가 사용되지 않았다면, 오퍼레이션 흐름은 예(YES)로 분기되어 셋업 오퍼레이션(517)으로 진행된다. 셋업 오퍼레이션은 드라이브가 에러가 발생된 섹터를 재판독하도록 셋업한다. 판독 오퍼레이션(514)은 섹터를 재판독한다. 만약 에러가 발생되지 않았거나 또는 더이상의 재시행이 존재하지 않으면, 오퍼레이션 흐름은 아니오(NO)로 분기되어 데이터 전송 모듈(518)로 진행된다. 모듈(518)은 DMA 컨트롤러(232, 206)를 통하여 디스크 드라이브의 RAM(234)에서 호스트(200)의 메모리로 데이터를 전송한다. 섹터 카운트 판단 오퍼레이션은 섹터 카운터의 카운트가 0인가를 검출한다. 블록 사이즈 모니터 오퍼레이션은 데이터 판독 및 데이터 전송 오퍼레이션과 비동기적으로 동작한다. 블록 모니터 오퍼레이션에서 검출되었을 때 섹터 카운트가 0인 경우, 판독 오퍼레이션은 완성되며 판독 명령에 대한 오퍼레이션 흐름은 520에서 종결된다. 만약 섹터 카운터의 카운트가 0이 아니면, 판독 명령은 완성되지 않는다. 판독 및 전송될 또다른 데이터가 남아있으며, 오퍼레이션 흐름은 오퍼레이션(512)로 되돌아간다. 블록 모니터 오퍼레이션은 도 8을 참조하여 하기에서 더 상세히 설명한다.
도 6은 청각/시각 데이터 기록 명령 프로세스의 처리 과정을 도시한 것이다. 프로세스는 600에서 시작된다. 호스트는 발송 오퍼레이션(602)에서 명령을 발송한다. 호스트에 의해 발송된 명령은, 데이터 스트림 수 및 미리 결정된 바이트-스트림 데이터 속도에 의해 규정되는 디자인 목표를 달성하기 위해, 청각/시각 데이터 수행을 유지시키기에 충분한 블록 사이즈를 위한 섹터 카운트를 가지는 디스크 드라이브로 전송된다. 일단 발송 오퍼레이션(602)이 기록 명령을 디스크 드라이브로 전송하면, 드라이브에서 오퍼레이션(605)은 기록 명령을 수신하고, 해석 오퍼레이션(606)은 명령을 해석하여 상기 명령이 일반적인 명령인가 아니면 청각/시각 명령인가를 판단한다. 오퍼레이션(606)은 도 5에서 설명된 오퍼레이션(506)과 동일한 방식으로 동작한다. 만약 명령이 일반적인 기록 명령이면, 이것은 오퍼레이션(608)에 의해 처리된다. 만약 명령이 A/V 명령이면, 오퍼레이션 흐름은 셋 오퍼레이션(610)으로 진행된다.
재시행 셋 오퍼레이션(610)은 기록 오퍼레이션 동안 에러가 발생한 경우 재시행의 수를 결정하기 위해 재시행 전략을 셋한다. 오퍼레이션(611)은 블록 모니터 오퍼레이션에서 섹터 카운터를 초기화한다. 오퍼레이션(610 및 611)은 각각 도 5에 설명된 오퍼레이션(510 및 511)과 동일한 방식으로 동작하며, 이는 도 7 및 도 8의 설명에서도 마찬가지이다.
오퍼레이션(612)은 헤드 및 디스크를 이동시켜 헤드가 적절한 섹터에 정렬하게 한다. 일단 탐색인 시작되면, 지시 오퍼레이션(614)은 호스트에게 데이터의 전송이 시작되었다는 것을 지시한다. 오퍼레이션(615)에서 호스트는 데이터를 디스크 드라이브로 전송하기 시작한다. 만약 디스크 드라이브에 데이터를 위한 이용가능한 버퍼 공간이 없다면, 호스트는 정지를 요구하거나 또는 버퍼 공간이 이용가능할 때까지 대기한다.
일단 헤드가 올바른 트랙 및 올바른 섹터상에 위치하면, 오퍼레이션(616)은 데이터를 디스크에 기록한다. 만약 기록 오퍼레이션의 실행동안 에러가 발생하면, 테스트 오퍼레이션(168)은 에러 상태를 검출하여 재시행이 가능한가를 판단한다. 만약 셋 오퍼레이션(610)에서 결정된 것 바와 같이 재시행을 위한 충분한 시간이 있다면, 오퍼레이션 흐름은 예(YES)로 분기되어 셋업 오퍼레이션(617)으로 진행된다. 셋업 오퍼레이션(617)은 기록 오퍼레이션동안 에러가 발생된 섹터를 재기록하기 위하여 디스크 드라이브를 셋업한다. 오퍼레이션(616)은 에러가 발생된 섹터에 다시 기록한다. 만약 시간 또는 재시행이 허용되지 않으면, 오퍼레이션 흐름은 아니오(NO)로 분기되고, 오퍼레이션 흐름은 620에서 종결된다.
모든 명령된 데이터가 호스트로부터 전송되어 기록되었거나 또는 이용가능한 재시행에 기초하여 기록이 시도되었을 때, 오퍼레이션(618)은 드라이브가 성공적으로 기록할 수 없는 하나 이상의 섹터를 포함하는 어떠한 영역을 보고하고 호스트에 대하여 인터럽트 요청을 보낸다.
섹터 카운트 판단 오퍼레이션(619)은 섹터 카운터의 카운트가 0인가를 검출한다. 블록 사이즈 모니터 오퍼레이션은 데이터 판독 및 데이터 전송 오퍼레이션과 비동기적으로 동작한다. 블록 모니터 오퍼레이션에서 검출되었을 때 섹터 카운트가 0인 경우, 기록 오퍼레이션은 완성되며 기록 명령에 대한 오퍼레이션 흐름은 620에서 종결된다. 만약 섹터 카운터의 카운트가 0이 아니면, 기록 명령은 완성되지 않는다. 전송 및 기록될 또다른 데이터가 남아있으며, 오퍼레이션 흐름은 오퍼레이션(615)로 되돌아간다. 블록 모니터 오퍼레이션은 도 8을 참조하여 하기에서 더 상세히 설명한다.
도 7은 재시도 셋 오퍼레이션(510 및 610)에서 유발되는 기능(functional) 오퍼레이션을 도시한 것이다. 셋 오퍼레이션은 700에서 시작된다. 처음에, 전송 오퍼레이션(702)은 호스트로부터 드라이브로 명령을 전송하며, 상기 명령은 호스트가 디스크 드라이브에게 명령을 완성하는데 할당한 시간을 포함한다. 일 실시예에서, 이것은 7-비트 시간 영역이다. 예를 들면, 시간 영역은 이용가능한 시간의 5-밀리세컨드 단위 몇 개를 줄 수 있으며, 이를 합하여 오퍼레이션을 수행하는데 이용가능한 전체 시간이 된다.
드라이브는 오퍼레이션(704)에서 명령을 수신한다. 일단 드라이브가 명령을수신하면, 판단 오퍼레이션(706)은 요구되는 섹터의 수, 추정되는 탐색 시간, 요구된 제 1 섹터를 회전시키는데 소요되는 시간, 호스트에 대한 데이터 전송에 소요되는 시간, 그리고 필요한 오버헤드 시간의 양 등과 같은 인자에 기초하여 오퍼레이션 수행에 소요되는 추정 시간을 판단한다. 효율을 증가시키기 위하여, 추정 시간은 미리 계산될 수 있으며 룩업 테이블에 저장될 수 있다. 만약 추정 시간이 할당 시간보다 크면, 드라이브는 에러를 리턴하거나 또는 단지 할당된 시간동안 가능한 정보의 양만을 전송할 수 있다.
호스트로부터 수신된 할당 시간이 추정된 완성 시간보다 크다고 가정하면, 감산 오퍼레이션(708)은 "잔존" 시간을 판단하기 위해 할당된 시간으로부터 추정된 시간(오퍼레이션(706)에서 결정된 시간)을 감산하다. 잔존 시간은 드라이브가 명령동안 재시행 오퍼레이션을 잠재적으로 수행할 수 있는 이용가능한 시간이다.
잔존 시간을 결정한 후에, 결정 단계(710)는 재시행하는데 소요되는 추정 시간을 결정한다. 재시행은 통상 회전을 떨어뜨리고 동일한 섹터에 대하여 판독/기록을 다시 시도하기 때문에, 이러한 시간은 디스크의 회전 시간에 기초한다. 이러한 시간은 트랙에 따라서 변할 수 있지만, 그 평균은 미리 계산될 수 있으며 효율 향상을 위하여 룩업 테이블에 저장될 수 있다.
분할 오퍼레이션(712)은 잔존 시간을 재시행에 대한 추정 시간으로 나누어, 오퍼레이션동안 몇 번의 재시행이 가능한가를 결정한다. 일단 재시행의 수가 셋되면, 전략은 필요한 재시행을 이용할 수 있도록 카운터를 셋될 수 있지만, 카운터에 의해 결정된 것처럼 더 이상의 재시행이 없으면, 할당된 시간동안 전송을 위해 에러를 가진 데이터가 호스트로 전송되어야 한다.
예로서, 명령이 데이터의 2000 섹터 판독을 요청하고 전체 판독에 200 밀리세컨드 또는 그 이하가 소요될 수 있다. 드라이브는 전송을 완성하는데 약 165 밀리세컨드가 소요된다고 결정한다. 이는 35밀리세컨드의 잔존 시간을 남긴다. 만약 각각의 회전에 약 11 밀리세컨드가 소요된다면, 판독 오퍼레이션동안 3번의 재시행이 가능한다.
본 발명의 또다른 실시예에서, 재시행 전략 셋 오퍼레이션이 호스트에서 실행된다. 호스트는 디스크 드라이브의 실행 내역(history)을 인식하여, 디스크 드라이브에서 상이한 블록 사이즈에 대한 다양한 오퍼레이션의 실행 시간을 알 수 있다. 그러므로, 호스트는 도 7의 오퍼레이션을 실행할 수 있으며, 허용된 재시행의 수를 나타내는 명령내 파라미터를 디스크 드라이브에 전송할 수 있다.
블록 모니터 오퍼레이션은 도 8의 오퍼레이션을 부가하여 각각 도 5 및 도 6의 판단 오퍼레이션(519, 619)으로 구성된다. 블록 모니터는 섹터 카운터(미도시) 및 잔존 카운터(미도시)를 이용한다. 잔존 카운터는 판독 또는 기록 명령으로부터의 초기 카운트를 포함하는데, 상기 카운트는 섹터가 전송되고 섹터 카운터가 업데이트될 때 잔존 카운트가 된다. 도 5 및 도 6에서 설명한 바와 같이 섹터 카운터는 초기화된다. 255 이상의 큰 카운트를 가지는 보통의 A/V 명령에 대하여, 섹터 카운터의 초기 카운트는 255이고 잔존 카운트는 255에서 감소된다. 각각의 섹터가 판독될 때, 섹터 카운트는 감소된다.
도 8에서 오퍼레이션은 (800)에서 시작된다. 오퍼레이션(802)은 섹터 카운터의 카운트가 임계값보다 작아지는 때를 검출한다. 만약 섹터 카운트가 임계값보다 작지 않으면, 오퍼레이션(808)은 서보 명령(servoing)과 같은 관련 없는 오퍼레이션을 수행하고 섹터 카운터의 카운트를 다시 검출하기 위하여 흐름을 리턴시킨다. 섹터 카운트가 임계값(예컨대, 20)보다 작아지면, 오퍼레이션(804)은 섹터 카운터의 카운트가 255로 되돌아갈 때까지 잔존 카운터로부터 카운트를 전송한다. 예를 들면, 테스트 오퍼레이션(802)이 카운트가 임계값보다 작다는 것을 검출했을 때 만약 섹터 카운터의 카운트가 15라면, 잔존 카운터에 남아있는 카운트는 240이 감소하고, 상기 240은 섹터 카운터에 가산된다.
오퍼레이션(806)은 잔존 카운트가 0으로 감소되었는가를 테스트한다. 만약 감소되지 않았다면, 오퍼레이션 흐름은 오퍼레이션(808)로 리턴되어 테스트 오퍼레이션(802)으로 진행된다. 오퍼레이션(802)은 충분한 섹터 전송이 발생하여 섹터 카운트가 임계값보다 작은가를 다시 테스트한다. 섹터 카운트는 섹터가 판독/기록되고 전송될 때 감소한다. 섹터 카운트가 다시 임계값보다 작아지면, 오퍼레이션(804)이 반복된다. (802)(804)(806)(808)의 루프 동안, 잔존 카운트는 섹터 카운터의 카운트가 255가 될 수 있을 정도로 충분히 크지 않을 수도 있다. 이 경우 섹터 카운트는 잔존 카운트가 0이될 때까지만 증가된다. 오퍼레이션(804)이 섹터 카운터를 업데이트시킬 때, 오퍼레이션(806)은 잔존 카운트가 0인가를 검출한다. 오퍼레이션 흐름은 (810)에서 종결된다. 사실상, 도 8의 루프는 폐쇄되고, 섹터 카운트 결정 블록(519 또는 619)은 섹터 카운트가 0인가를 조사하여 판독 또는 기록 명령의 완성을 검출한다.
하기의 설명은 본 발명의 바람직한 실시예를 상세하게 설명한 것이다.
0. 개요
이 제안은 호스트(반드시 종래의 개인용 컴퓨터일 필요는 없다)가 일반적인 드라이브(단지 신뢰도-의존성(reliability-critical) 컴퓨터 데이터만을 인식할 수 있다)경우보다 시간-의존성(time-critical) 판독 및 기록 동작을 수행하는 A/V-레디(A/V-ready) ATA 드라이브와 통신할 수 있는 프로토콜을 정의한다.
명령의 발송과 관련된 용어는 Advanced Technology Attachment/Advanced Technology Attachment Packet Interface("ATA/ATAPI") 프로토콜을 따른다. 특히, 상태 레지스터(Status register)에 셋되어 있는 비지 비트(Busy bit; "BSY")가 디바이스에 의해 무시될 때, 호스트는 명령 블록 레지스터에 기록을 시도한다. 그러므로, 드라이브가 이전의 어떤 명령을 끝마친 후에 명령이 드라이브로 전송된 경우에만, 호스트는 "명령을 발송했다"고 간주할 것이다. A/V 명령이 인에이블(enable)될 때, 기록 캐싱(Write caching)은 이러한 세부사항의 교정을 지지하는 A/V-레디 드라이브상에서 디스에이블(disable)된다. 드라이브가 명령의 완성을 지시할 때, 명령은 완성되었으며(기록 A/V에서 설명된 바와 같이, 기록 재시행의 예외도 가능하다), 즉시 또다른 명령을 수행할 준비를 한다.
0.1 정의
- 일반적인 데이터(Normal Data; ND)
완전한 에러 복구를 요구하는 신뢰성-임계적 컴퓨터 데이터.
- 청각 시각 데이터(Audio Visual Data; A/V)
명령이 특정 시간내에 완성되어야 하는 시간-임계적 데이터. 만약 에러의 복구가 할당된 시간내에 실행되지 않으면, 에러를 지닌 데이터가 호스트로 전송되고, 에러가 있는 상태로 보고된다.
- A/V 명령
이것은 A/V 명령이 인에이블 상태인 동안 명령 코드 0xC9 또는 0xCB를 통해서 발송되는 DMA 판독/기록 데이터 명령이다.
- ND 명령
이것은 A/V 모드 명령이 디스에이블 상태인 동안 명령 코드 0xC8 또는 0xCA 아니면 명령 코드 0xC9 또는 0xCB를 통해서 PIO 모드 또는 DMA 모드에서 발송되는 판독/기록 데이터 명령이다.
1. 청각-시각 피쳐 인에이블링(Enabling Audio-Visual Features)
1.1 청각-시각 피쳐 인에이블링
부명령(subcommand) 코드 0x04(구식이 되었지만. 이전에는 (ATA 버젼 3), "Enable all Automatic Defect Reassignment")와 함께 ATA 셋피쳐 명령을 사용하는 것은 A/V 데이터의 판독 및 기록을 위해 0xC9 및 0xCB 명령 코드를 사용할 수 있게 한다. 상기 부명령 코드는 ATA 표준이 완성될 때가지 사용된다.
A/V 명령 코드 해석의 인에이블링은 하드 또는 파워-온 리셋이 아닌 소프트 리셋을 통해서 실행된다. A/V 모드에서 드라이브로 발송되는 명령은 논리 블록 어드레스(Logical Block Address; LBA)로서 호스트에 의해 발송되어야 하지만, 상기 명령은 LBA 모드에서는 발송되지 않는다(판독 AV/기록 AV 입력 참조).
섹터 카운트 레지스터의 값은 하기 내용을 식별한다.
- A/V 명령 해석이 호스트에 의해서 인에이블되었는가 아니면 디스에이블되었는가; 또는
- 호스트-소프트-리셋(sRST) 프로세싱이 완성되었을 때 IRQ가 인에이블되었는가 아니면 디스에이블되었는가.
만약 드라이브가 지시된 A/V 피쳐를 인에이블/디스에이블할 수 없다면, 명령을 중단시킬 것이다. 표 1은 섹터 카운트 레지스터 값과 그 의미를 설명한다.
[표 1]
1.2 큰 명령 카운트 인에이블
1999년 5월, "ANSI(American National Standards Insitute)" X3T13 위원회는 "리얼리 빅(Really Big)" LBAs 및 16-비트 명령 카운트를 지원하는 제안을 검토하였다. 그러나, 제안된 프로토콜은 드라이브 측면에서 하드웨어의 변경을 요구하기 때문에 ATA/ATAPI-6에 포함되는 것이 아직 승인되지 않았으며, 하기의 프로토콜은새로운 방법이 협상 중에 있는 동안에는 단기간의 교량적 역할을 할 것이다.
[257, 4095] 범위에서 카운트를 인에이블하기 위하여, 카운트 레지스터가 16으로 설정되고 부명령 코드 TBD로서, 호스트는 셋 피쳐 명령을 발송해야 한다. 이것은 호스트가 카운트를 보통 범위의 16배로 상승시키는 명령을 발송하기 원한다는 것을 드라이브에게 지시한다. 그 후, 드라이브로 발송되는 판독 및 기록 명령(ND 및 A/V)은 명령된 카운트로서 카운트 레지스터와 연관된 피쳐 레지스터의 가장 중요하지 않은 4비트의 내용을 이용한다. 상기 모두에서, 명령된 0의 카운트 값은 드라이브에 의해 카운트 212로서 해석될 것이다.
1.3 관리 결함
여분의 탐색은 판독 및 기록 스트림이 파괴되는 것이므로, A/V 데이터 섹터의 스페어링(sparing)이 예방되어야 한다. A/V 데이터 섹터에 스페어가 존재해야 하는 이유는 다음과 같다.
- ND 모드에서 이전에 판독 또는 기록되었던 데이터 섹터 및 A/V 모드에서 현재 판독 또는 기록되고 있는 데이터 섹터에 대하여 교체(alternation)가 수행된다.
- 오프라인 스캔(Self Monitoring And Reporting Technology; "SMART")은 베드 섹터를 검출하고 이를 교체한다.
이전에 교체된 섹터, 및 "재할당 중(Pending reallocation)"으로 표시된 섹터는 A/V 모드에서 특별한 처리 없이 본래의(교체되지 않은) 위치로부터 액세스된다. A/V 모드에서, 처리되어야 할 결함 맵핑은 슬립(slips)(A.K.A "skips")이다.
호스트가 파일 할당 테이블(File Allocation Table; FAT)과 유사한 방식으로 호스트의 측면에서 영구의 에러를 가지는 섹터에 대한 결함-맵핑(flaw-mapping)을 수행할 것을 추천한다.
2. 호스트 리셋 프로세싱
드라이브는 ATAPI 디바이스 리셋을 지원할 필요는 없지만, ATA 소프트 리셋에 대한 빠른(밀리세컨드 정도) 응답 시간을 가질 필요도 없다. 즉, 호스트는 현재 드라이브에서 처리되고 있는 명령을 인터럽트 시켜서(이것은 큰 카운트를 가질 수도 있다), 시간 의존성이 큰 명령을 발송할 수 있다. 또한, 호스트는 오프-라인 기록 재시행 또는 플러시캐시(FlushCache) 명령(기록 AV 참조)을 중단할 필요가 있을 수 있다.
또한, 만약 상기 피쳐가 인에이블되었다면(1.1 참조), 드라이브는 소프트 리셋 프로세싱을 완성할 때 인터럽트 요청("IRQ")을 설정할 것이다.
ATA-순응(compliant) 드라이브에 대한 가장 명백한 방식을 다음과 같다.
- 만약 시스템이 하나의 ATA 포트에 대하여 단지 하나의 드라이브를 가진다면, 마스터 드라이브는 슬레이브를 기다릴 필요가 없다. 만약 하나의 포트에 대하여 2개의 드라이브가 존재하지만, 2개의 드라이브 모두 리셋 처리 시간의 관점에서 A/V-확장 순응하며 디스에이블된 기록 캐싱을 가진다면, 리셋 처리 시간은 또한 강하게 억제될 것이다.
주의: 슬레이브를 가지면 ATA 마스터는 슬레이브의 완전한 상태를 조사하기전에 적어도 1 밀리세컨드동안 대기하여야 한다. 이러한 이유로, 포트 당 하나의 드라이브가 문제를 상당히 간단하게 하지만, 호스트가 리셋 프로세싱에 대한 여분의 밀리세컨드동안 대기하는 것을 거부하지 않는 한 이것이 반드시 필요한 것은 아니다.
- 디스에이블 기록 캐시(벤덜-특정(vendor-specific) 메카니즘을 통한 일부 드라이브에서는 아마 A/V 명령 오피코드(opcode)의 인에이블과 관련된다). 드라이브가 단지 A/V 모드 명령에 대하여 기록 캐싱을 디스에이블할 수 있지만, 상태 전이(transition)(캐시되지 않은 A/V 기록에 대한 캐시된 ND 기록 등)로 인한 결과적인 복잡성은 이것을 매력없게 한다. ND 기록은 "시간-의존성"이 아니므로, "일반적인 데이터"의 기록에 대한 캐시의 디스에이블을 위해 전송할 필요가 없다.
- 기록 캐싱이 디스에이블되었다는 것을 고려하여 ATA/ATAPI 세부사항이 호용할 때, 아직 드라이브에 기록되지 않은 드라이브로 전송될 기록 데이터를 버린다. 프로토콜은 리셋시에 여전히 진행중인 어떤 기록에 대하여 호스트로 리턴되는 상태를 현재 지원하지 않기 때문에, 호스트 소프트 리셋에 의해 인터럽트된 기록 명령의 정확한 상태는 알 수 없다.
기록 캐시를 디스에이블할 수 있는 부가적인 이점이 존재한다. 호스트는 데이터에 대한 허용된 기록-통과(write-pass)가 언제 완성되는가 및 기록에 대한 에러 상태가 무엇인가를 알 것이다. 단점은 연속적인 호스트 기록 명령 사이에서 회전이 낭비된다는 것이다. 그러나, 명령 크기를 연속적인 스트림에서 사용되는 블록 크기에 매칭하는 것이나 또는 매우 큰 카운트를 사용하는 것은 (그 결과 떨어진회전은 명령의 지속되는 데이터 전송비와 비교할 때 중요하지 않다) 이러한 문제를 완화시킨다. 어떠한 경우라도, 완전한 회전동안 대기하는 것(연속적이며 캐시되지 않은 기록 경우)은 완전한-회전(full-stroke) 탐색 및 완전한 회전(최악의 경우)을 수행하는 것보다는 여전히 시간이 상당히 작게 걸리므로, 그 결과 이것은 최악의 경우의 수행 시나리오에 영향을 미치지 않기 때문에 상기 발송은 크게 중요하지 않다.
3. A/V 데이터(시간-의존성) 액세스 명령
A/V 모드 명령이 인에이블된 동안 오피코드 0xC9 또는 0xCB로서 발송되는 어떤 DMA 판독 및 기록 명령은, A/V 데이터 액세스 요청으로서 해석될 것이고, LBA-어드레스 요청으로 해석될 것이다. 중재된 촤악의 경우(arbitrated-for-worst-case) 호스트 시스템에 있어서, 새로운 명령에 대한 재시행의 제한된 (0이 아닌) 수 및 드라이브가 이미 에러라고 보고한 섹터에 대한 재시행의 연속에 시간이 소요될 것이다. 이러한 있음직한 시나리로 때문에, 데이터에 "허용된 통과(Allowed Passes)"의 개념이 도입된다. (판독 또는 기록) A/V 오퍼레이션동안, 드라이브는 다음의 조건하에서 섹터에 판독 또는 기록을 시도한다.
- (만약 남아있는 데이터에 대한 한번의 통과 시간이 있고 일부 섹터가 판독/기록될 수 없게 하는 에러(동기 에러(sync error) 등)가 일어나서 일부 섹터가 한번에 판독 또는 기록될 수 없는 경우를 제외하고) 드라이브는 아직 섹터에 판독/기록을 시도하지 않는다.
- 드라이브는 호스트를 이용할 수 있는 충분한 버퍼를 가지며, 그 결과 드라이브는 재시행이 호스트로부터 전적으로 숨겨질 수 있다고 간주한다(즉, 호스트의 전송율이 주어진 경우, 호스트를 이용할 수 있는 버퍼은 1회전 시간 이상 지속될 것이다).
- 드라이브는 (초과-명령(per-command)에 기초하여) 호스트가 제공하는 할당 시간을 사용하지 않으며, 재시행을 위해 남겨진 충분한 시간을 계산한다. 드라이브는 호스트의 지속 비율이 드라이브로 프로그램되게 할 수 있으며, 그 결과 드라이브는 탐색, 회전 잠재기간(latency), 및 데이터 전송 시간 비용을 고려한 후 재시행을 위해 이용가능한 시간을 역으로 계산할 수 있다.
3.1 판독 AV/기록 AV 입력
[표 2]
= 허용 시간(Time Allowed) =
이것은 표 2에 나타난 바와 같이 호스트가 상기 A/V 명령에 허용하는 시간(5ms 단위)이다. 만약 호스트에 의해 지정된 시간이 드라이브가 계산한 모든데이터의 1회 통과에 소요되는 시간보다 작으면, 드라이브는 호스트에 의해 지정된 각 데이터 섹터에 대해 단지 한번만 허용할 것이다.
= 섹터 카운트(Sector Count) =
이 값은 호스트가 상기 명령을 위해 판독 또는 기록하기 원하는 섹터의 수를 지시한다.
= LBA 시작(StartLBA) =
호스트가 판독 또는 기록하기를 원하는 제 1 논리 블록 어드레스("LBA")를 정의한다.
= 디바이스/헤드 레지스터 =
LBA는 1로 설정된다. 디바이스("DEV")는 선택된 디바이스를 지시한다.
3.2 판독 AV/기록 AV/플러시캐시 A/V - 에러 출력
기록 AV 및 판독 AV 명령에 대한 레지스터 값은 표 3에 나타나 있다.
[표 3]
= 에러 레지스터(Error register) =
AV 에러는 1로 설정된다.
= 복구 재시작(Recovery Restart) =
이것은 드라이브가 재시행을 실행하는 것을 돕는다. A/V 에러에 대하여 호스트로 리턴되는 수는 제한된 시간내에 데이터 복구의 기회를 최대화하기 위해 다시 재시행할 필요가 있는 경우를 드라이브에게 상기시킨다(셋업 AV 재시행 명령 참조).
= 에러 길이(Error Length) =
에러가 있을 수 있는 보고된 섹터의 수(보고된 에러 길이에 대하여 적어도 하나의 섹터는 에러가 존재한다).
= 명령에 있어 에러에 대한 오프셋(Offset to Error in Command) =
에러가 있을 수 있는 제 1 섹터에 대한 명령 시작으로부터의 섹터 수.
= 디바이스/헤드 레지스터 =
DEV는 선택된 디바이스를 지시한다.
= 상태 레지스터(Status register) =
BSY는 명령의 완성을 지시하면서 0으로 클리어된다.
DRDY(Disc Ready)는 1로 셋된다.
DF(Device Fault)는 0으로 셋된다.
DRQ(Data Request)는 0으로 클리어된다.
OWRIP(Offline Write Recovery In Process)은 상기 에러가 보고되었을 때 진행중에 기록 복구가 있다면 1로 셋된다.
ERR(Error)는 에러 레지스터 비트가 1로 셋되어 있다면 1로 셋된다.
3.3 셋업 AV 재시행
이 명령은 호스트가 다음의 A/V 판독 또는 기록 명령은 이전의 A/V 명령의 연속으로서 취급된다는 것을 드라이브에게 지시하는 방법인데, 여기서 A/V 명령은 에러가 보고되지 않았지만, 호스트는 연속적인 A/V 재시행을 수행하는데 보다 많은 시간이 걸린다고 판단한다. 재시행 조력 정보(드라이브는 재시행 수로 해석하지만, 반드시 요구되는 것은 아니다)는 표 4에 나타난 바와 같이 드라이브로 전송된다.
[표 4]
3.4 AV 기록
AV 기록 명령이 드라이브에 의해 수신되면, 드라이브는 가능한한 빨리 오프라인 동작을 정지시키고, 지시된 위치로 탐색하며, 그리고 호스트에 의해 제공된데이터를 매체에 기록하기 시작한다. 전체 명령의 데이터를 기록할 때 허용된 통과는 드라이브의 제 1 우선순위가 된다. 따라서, 만약 AV 기록 명령의 결함있는 기록 섹터(N)가 존재한다면, 기록될 수 있는 나중의 섹터가 호스트에 의해 할당된 시간 이내에 기록되는 것을 배제할 수 없는데, 이는 만약 현재의 에러를 통과하여 진행시키면 기록될 수 있는 것이다. 드라이브은 (호스트로부터 매체로의 현재 기록의 나머지 진행에 대한 드라이브의 성능을 손상하지 않으면서) 기록될 수 없는 결함있는 기록 데이터(failed-to-be-written data)를 별도로 저장함으로써(반드시 요구되지는 않는다), 데이터의 일부에 대한 오프-라인 기록 재시행을 수행할 수 있다. 드라이브는 에러 보고에 대한 제 1의 에러 섹터 위치를 인식할 것이다. 오프-라인 기록 재시행이 상기 기록 후에 클린 업(clean up)할 수 없는 경우에, 기록은 여전히 계속되도록 허가될 것이며, 그 결과 데이터 기록시 적어도 "제 1 통과"는 모든 명령된 섹터에 대해서 완성될 것이다. 모든 섹터의 기록시 허용된 통과가 완성되면, 드라이브는 표 5에 나타난 상태 중 하나가 종결되었다는 것을 보고한다.
[표 5]
3.5 AV 판독
드라이브의 ECC는 A/V 판독동안 정정될 수 없는 판독 에러율을 최소화하기 위하여 모든 시간을 완전한 정정에 설정해야 한다. 일단 허용된 재시행을 모두 실행하면, 섹터에 정정할 수 없는 ECC 에러가 존재하는가에 상관없이 드라이브는 섹터를 호스트로 계속하여 진행시킨다. 표 6에 나타난 바와 같이 다음의 "명령-완성(command-completion)" 지시는 드라이브에 의해 사용된다.
[표 6]
만약 드라이브가 여분의 섹터를 통해서 AV 기록 명령을 수행해야 하면, 이것은 교체되지 않은 위치에 있는 데이터(정정할 수 없는 ND 또는 이전의 AV 이용)는 무엇이든지 리턴시키며, 만약 그 결과로서 정정할 수 없는 기록 에러가 발생하면 호스트에 A/V 에러를 보고한다.
3.6 플러시캐시(FlushCache)
보통 캐시된 ND 기록이 처리되기 전에 드라이브로 모두 플러시되는 것을 보증하기 위해 의도된 ATA-표준 명령은 A/V 기록과 유사한 방식으로 동작한다. 만약 드라이브가 AV 기록 명령에 응답하여 상태 0x55 및 에러 0x80을 보고하면, 호스트는 드라이브의 클린업 상태를 체크하기 위해 드라이브로 플러시캐시 명령을 발송할 수 있다. 드라이브가 A/V 기록의 완성을 여전히 시도하는 동안에는 상기 명령은 완성되지 않을 것이다. 만약 호스트가 정정의 시도를 기다리지 않는다고 선택하면, 상기 명령은 호스트로부터의 소프트 리셋으로 인터럽트될 것이다. 명령이 완성될 때, 표 7에 나타난 바와 같이 상태들 중 하나가 보고될 것이다.
[표 7]
4. "일반적인" 데이터(신뢰도-의존성) 액세스 명령
이러한 명령은 호스트가 드라이브가 해야하는 어떤 시간-의존성 작업에 방해를 주지 않으면서 수행할 수 있다고 판단하는 경우에만 발송된다. 호스트는 이러한 명령들을 소프트 리셋으로 인터럽트할 수 있으며, 드라이브가 리셋 프로세싱을 완료할 때 시간-의존성 작업을 다시할 수 있다. 재시행이 요구되지 않는다고 가정할 때 명령(ND 및 A/V, 그리고 판독 및 기록 모두)에 소요되는 시간은
T = Ax + B
와 같거나 작게 주어진다.
표 8에 나타난 바와 같이, 다음의 부호없는 16-비트 양이 정의된다.
[표 8]
4.1 ND 기록
기록 캐싱이 디스에이블되기 때문에, 드라이브가 응답해야 할 때까지 호스트가 소프트 리셋으로 ND 기록의 중지를 시도해야하는 시간의 지연은 중요하지 않다. ATA/ATAPI 세부사항이 허용될 경우, 드라이브로 전송되는 섹터는 드라이브에 의해무시될 수 있으며, 매체상의 데이터는 폐기될 수 있다.
4.2 ND 판독
이러한 명령은 판독 또는 기록될 A/V 데이터가 존재하지 않는 경우에만 발송되기 때문에, 버퍼는 드라이브 벤덜(vendor)이 신뢰하는 어떠한 양식으로 세그먼트화될 수 있고, 호스트가 ND-형태의 정보를 얻는 것을 도와줄 수 있다.
상기 명세서, 예제들 그리고 데이터는 본 발명의 구성 및 제조에 대하여 상세히 설명한다. 본 발명의 사상 및 범위를 벗어나지 않고 본 발명의 다양한 실시예가 구성될 수 있으므로, 본 발명은 하기의 청구항에만 귀속된다.

Claims (2)

  1. 디스크 드라이브 장치가 적어도 하나의 디스크 플레터 및 상기 디스크 플레터에 대하여 데이터 정보를 저장하고 검색하기 위한 제어 회로를 포함하는, 청각/시각 데이터를 호스트 컴퓨터로 제공하는 방법으로서,
    (a) 호스트 컴퓨터로부터 수신된 판독/기록 커멘드가 청각/시각 데이터의 전송과 관련되는가를 판단하는 단계; 및
    (b) 만약 상기 커멘드가 청각/시각 데이터와 관련된 것이면, 커멘드의 실행동안 이용가능한 재시행 수를 제한하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서,
    (c) 청각/시각과 관련되지 않은 판독/기록 커멘드에 응답하여 청각/시각과 관련되지 않은 데이터를 전송하는 단계; 및
    (d) 청각/시각과 관련된 판독/기록 커멘드에 응답하여 청각/시각과 관련된 데이터를 전송하는 단계를 더 포함하고,
    상기 청각/시각과 관련된 데이터의 전송 단계는 청각/시각과 관련되지 않은 판독/기록 데이터 전송 오퍼레이션동안 전송되는 것보다 더 많은 정보의 섹터를 전송하는 것을 특징으로 하는 방법.
KR1020017015623A 1999-06-04 2000-01-07 향상된 청각 및 시각 데이터 전송을 위한 디스크 드라이브 KR20020064142A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13775499P 1999-06-04 1999-06-04
US60/137,754 1999-06-04
US09/378,253 1999-08-20
US09/378,253 US6366980B1 (en) 1999-06-04 1999-08-20 Disc drive for achieving improved audio and visual data transfer
PCT/US2000/000467 WO2000075923A1 (en) 1999-06-04 2000-01-07 Disc drive for achieving improved audio and visual data transfer

Publications (1)

Publication Number Publication Date
KR20020064142A true KR20020064142A (ko) 2002-08-07

Family

ID=26835548

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017015623A KR20020064142A (ko) 1999-06-04 2000-01-07 향상된 청각 및 시각 데이터 전송을 위한 디스크 드라이브

Country Status (7)

Country Link
US (1) US6366980B1 (ko)
JP (1) JP2003501763A (ko)
KR (1) KR20020064142A (ko)
CN (1) CN1369094A (ko)
DE (1) DE10084669T1 (ko)
GB (1) GB2366445B (ko)
WO (1) WO2000075923A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2366067B (en) * 1999-06-24 2003-08-13 Seagate Technology Llc Audio-visual disk drive optimized for response to an off-course head during a write command
JP4118475B2 (ja) * 1999-09-21 2008-07-16 株式会社日立国際電気 映像記録再生方法および装置
JP2001331377A (ja) 2000-05-22 2001-11-30 Hitachi Ltd 再生エラーの処理方法及びこれを用いたディスク装置
JP2001357637A (ja) * 2000-06-14 2001-12-26 Sony Corp 情報再生装置、情報処理方法及び情報記録媒体
US6618788B1 (en) * 2000-09-27 2003-09-09 Cypress Semiconductor, Inc. ATA device control via a packet-based interface
US6986012B2 (en) 2001-09-03 2006-01-10 Koninklijke Philips Electronics N.V. Method and system for reading data from and writing data to a memory
US6986007B1 (en) * 2001-11-30 2006-01-10 Western Digital Technologies, Inc. Disk drive comprising an asynchronous partition located on a disk between two isochronous partitions
US7385970B1 (en) * 2001-12-07 2008-06-10 Redback Networks, Inc. Method and apparatus for balancing bandwidth among multiple ports of a network element
US7253981B2 (en) * 2002-04-26 2007-08-07 Seagate Technology, Llc Disc drive with reduced write latency
IL165317A0 (en) * 2002-05-22 2006-01-15 Teac Aerospace Technologies In Video and audio recording using file segmentation to reserve the integrity of critical data
US6891694B2 (en) * 2002-08-23 2005-05-10 Hitachi Global Storage Technologies Netherlands B.V. Method for writing streaming audiovisual data to a disk drive
US7480754B2 (en) * 2003-06-27 2009-01-20 Seagate Technology, Llc Assignment of queue execution modes using tag values
US7130138B2 (en) * 2003-12-15 2006-10-31 Seagate Technology Llc Environmental stress protection scheme for a data storage device
US20050235167A1 (en) * 2004-04-16 2005-10-20 Harry Tiotantra Data streaming system with environment sensor
DE102004037713A1 (de) * 2004-08-04 2006-03-16 Robert Bosch Gmbh Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
DE102004046288A1 (de) * 2004-09-24 2006-03-30 Robert Bosch Gmbh Verfahren zur Abarbeitung eines Computerprogramms auf einem Computersystem
DE102004046611A1 (de) * 2004-09-25 2006-03-30 Robert Bosch Gmbh Verfahren zur Abarbeitung eines Computerprogramms auf einem Computersystem
TW200739547A (en) * 2005-08-17 2007-10-16 Koninkl Philips Electronics Nv Method and device for storing/reading data on/from a record medium and for transferring information to/from it
US8200869B2 (en) * 2006-02-07 2012-06-12 Seagate Technology Llc Storage system with alterable background behaviors
EP2000897A4 (en) * 2006-03-03 2009-10-28 Ibm READING APPARATUS FOR PROCESSING A READ ERROR, SYSTEM, METHOD AND PROGRAM THEREFOR
US8315269B1 (en) 2007-04-18 2012-11-20 Cypress Semiconductor Corporation Device, method, and protocol for data transfer between host device and device having storage interface
TWI448902B (zh) * 2007-08-24 2014-08-11 Cypress Semiconductor Corp 具頁存取基礎處理器介面之橋接裝置
US8090894B1 (en) 2007-09-21 2012-01-03 Cypress Semiconductor Corporation Architectures for supporting communication and access between multiple host devices and one or more common functions
US7895387B1 (en) 2007-09-27 2011-02-22 Cypress Semiconductor Corporation Devices and methods for sharing common target device with two different hosts according to common communication protocol
DE102007063234A1 (de) * 2007-12-31 2009-07-02 Nowak, Attila, Dipl.-Ing. Schnellere Speicherorganisation
US8621176B2 (en) * 2010-01-20 2013-12-31 Netapp, Inc. Method and system for allocating data objects for efficient reads in a mass storage subsystem
US9612956B2 (en) 2013-03-15 2017-04-04 Seagate Technology Llc Multi-tiered caching for data storage management in a device
US11086804B2 (en) * 2019-12-09 2021-08-10 Western Digital Technologies, Inc. Storage system and method for reducing read-retry duration

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4637023A (en) 1983-02-14 1987-01-13 Prime Computer, Inc. Digital data error correction method and apparatus
JP2576512B2 (ja) 1987-06-29 1997-01-29 ソニー株式会社 デ−タレコ−ダ
US5210851A (en) 1988-01-08 1993-05-11 Hewlett-Packard Company High capacity tape drive transparently writes and reads large packets of blocked data between interblock gaps
EP0551494A4 (en) * 1991-08-07 1995-03-01 Adaptec Inc Intelligent hardware for automatically reading and writing multiple sectors of data between a computer bus and a disk drive
US5454098A (en) 1992-09-28 1995-09-26 Conner Peripherals, Inc. Method of emulating access to a sequential access data storage device while actually using a random access storage device
WO1997027545A1 (en) * 1996-01-26 1997-07-31 Exabyte Corporation Dynamic control of magnetic tape drive
JP3323050B2 (ja) 1996-02-16 2002-09-09 株式会社東芝 ディスク再生装置
JPH10320913A (ja) 1997-05-23 1998-12-04 Sony Corp データ記録装置および方法、データ再生装置および方法、データ記録再生装置および方法、並びに伝送媒体

Also Published As

Publication number Publication date
DE10084669T1 (de) 2002-05-16
GB2366445B (en) 2003-07-30
JP2003501763A (ja) 2003-01-14
GB2366445A (en) 2002-03-06
WO2000075923A1 (en) 2000-12-14
US6366980B1 (en) 2002-04-02
GB0129826D0 (en) 2002-01-30
CN1369094A (zh) 2002-09-11

Similar Documents

Publication Publication Date Title
KR20020064142A (ko) 향상된 청각 및 시각 데이터 전송을 위한 디스크 드라이브
US5261072A (en) Compact disk data transfer system using cache memory
US6690882B1 (en) Method of operating a disk drive for reading and writing audiovisual data on an urgent basis
US7447832B2 (en) Automated on-line capacity expansion method for storage device
US6539518B1 (en) Autodisk controller
KR20010022465A (ko) 데이터 저장장치용 옵코드 구동 버퍼 관리자
JP2001135017A (ja) データ記憶装置及びデータ記憶装置用インタフェース装置
JP2010537309A (ja) ハードディスクドライブ・ファイルシステムのデータ破損を防止する方法及びシステム
JP5276663B2 (ja) ハードディスクにおけるトランスパレント・ウェア・レベリングのためのセクタ/トラック・リマッピング
JPH07281840A (ja) 2重化ディスク記録装置
JP4310821B2 (ja) 情報記録装置および方法
US7774560B2 (en) Storage emulator and method thereof
US8112583B2 (en) Data recording for a hard drive in response to commands
US6430652B1 (en) Method and apparatus for streaming data in a data processing system
JP2006302343A (ja) 情報記録再生装置
US7346265B2 (en) Recording/reproducing apparatus, recording/reproducing method, medium, and program
US8200869B2 (en) Storage system with alterable background behaviors
KR100644734B1 (ko) 기록/재생 장치, 기록/재생 방법 및 프리젠테이션 매체
JP2000276857A (ja) データ記録装置及びデータ記録方法並びにデータ再生装置及びデータ再生方法
JP3594265B2 (ja) ディスクキャッシュ装置
JP2008171566A (ja) データ再生装置及びデータ記録装置、並びにデータ再生方法及びデータ記録方法
KR20050079611A (ko) 기록 재생 장치
JPH11176103A (ja) ディジタル情報の記録再生システム及び同システムに適用する欠陥管理方法
US7016983B2 (en) System and method for controlling a communication bus
US6636463B2 (en) Method and apparatus for compensating data in reproducing optical disk

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application