KR20030022392A - 디스크 드라이브 장치 및 그 제어 장치 - Google Patents

디스크 드라이브 장치 및 그 제어 장치 Download PDF

Info

Publication number
KR20030022392A
KR20030022392A KR10-2003-7002058A KR20037002058A KR20030022392A KR 20030022392 A KR20030022392 A KR 20030022392A KR 20037002058 A KR20037002058 A KR 20037002058A KR 20030022392 A KR20030022392 A KR 20030022392A
Authority
KR
South Korea
Prior art keywords
data
sector
disk drive
sector information
disk
Prior art date
Application number
KR10-2003-7002058A
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 KR20030022392A publication Critical patent/KR20030022392A/ko

Links

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
    • 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/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • 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
    • G11B2020/1291Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
    • G11B2020/1294Increase of the access speed
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Landscapes

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

Abstract

디스크 드라이브 장치는, 섹터에 따라 데이터를 기억하는 디스크(11)와, 최대 전송 섹터수의 확장 가능한 정도를 나타내는 내용이 설정된 섹터 정보(D)를 기억하는 ROM(12) 및 RAM(13)과, 컨트롤러(101)로부터 섹터 정보(D)에 대해서 문의가 있었을 때에는, 섹터 정보(D)를 통지하고, 컨트롤러(101)로부터 최대 전송 섹터수를 확장하도록 지시된 상태에서 데이터 전송의 요구를 받았을 때에는, 상기 지시 및 요구에 따라서, 최대 전송 섹터수를 확장시켜, 디스크(11)로의 데이터의 기입 또는 디스크(11)로부터의 데이터의 독출을 행하는 제어부(14)를 구비한다.

Description

디스크 드라이브 장치 및 그 제어 장치{DISC DRIVE DEVICE AND ITS CONTROLLER}
최근, 대용량의 하드디스크 드라이브(이하「HDD」라고 생략하여 씀)를 보조 기억 장치로서 내장한 디지털 민생 기기가 보급되기 시작하고 있다.
디지털 민생 기기 중 오디오 비디오(이하「AV」라고 생략하여 씀) 용도 방향으로는, HDD 이외에도 DVD-RAM 등으로 대표되는 광 디스크를 취급하는 광 디스크 드라이브도 보조 기억 장치로서 이용되는데, 기록 용량의 점에서는 현시점에서 HDD쪽이 우위이다. 또한, 데이터를 판독하는 헤드부도 HDD용의 자기 헤드쪽이 광 디스크용의 픽업보다도 경량이기 때문에 헤드의 이동은 HDD쪽이 고속이고, AV 용도로 필요가 높은 동시 녹화 재생 등의 기능을 실현하는 데에 램덤 액세스 성능이 우수한 HDD쪽이 유리하다.
또, HDD를 AV 용도의 디지털 민생 기기의 보조 기억 장치로서 이용하는데 있어서는, HDD에 AV 용도 전용의 제어 명령을 실장하면 비용이 높아지기 때문에, 일반적인 퍼스널 컴퓨터(이하「PC」라고 생략하여 씀) 환경에서 사용되는 HDD를 유용하는 것이 요망되고 있다.
여기에서, HDD를 구비한 PC 환경에 대해서 설명한다.
도 1은 상술한 바와 같은 PC 환경을 도시하는 구성도이다.
이 도 1에 도시하는 PC 환경은, 호스트가 되는 PC(901)와, PC(901)에 제어되는 HDD(902)와, PC(901)에 제어되어 DVD-RAM으로부터 데이터를 독출한다든지, 거기에 데이터를 기입한다든지 하는 광 디스크 드라이브(903)로 구성되어 있다.
PC(901)는, CPU 등의 제어 기기를 구비한 PC 본체(901a)와, 디스플레이(901b)를 구비하고 있고, PC 본체(901a)와 HDD(902)의 사이에서 데이터의 전송이 행해지며, PC 본체(901a)와 광 디스크 드라이브(903)의 사이에서 데이터의 전송이 행해진다.
이와 같은 PC 환경에서는, 주변 기기의 제어용 프로토콜로서 규격화된 SCSI(Small Computer System Interface), ATA(Advanced Technology Attachment), ATAPI(Advanced Technology Attachment Packet Interface), SBP-2(Serial Bus Protocol) 등이 이용되고 있다. 이 중, 현재 가장 일반적으로 사용되고 있는 것이 ATA 규격 및 ATAPI 규격이다.
ATA 규격은, Western Digital사에 의해서 1986년에 사양이 통합된 HDD용의 IDE(Integrated Drive Electronics) 인터페이스를 베이스로, 1988년에 다수의 드라이브 메이커가 ANSI(American National Standard Institute)에서 사양을 통일한 인터페이스 규격이다.
ATAPI 규격은, 당초 HDD 전용이었던 ATA 규격을 베이스로, CD-ROM 등의 광 디스크 드라이브를 포함하는 4대까지의 드라이브 접속이 가능하도록 확장되어 있다.
또 상기 양 규격에서는 드라이브와 호스트의 접속에 40핀의 커넥터와 40심의 플랫 케이블이 표준적으로 이용된다.
이와 같은 PC 환경에서 일반적으로 이용되고 있는 ATA 규격 및 ATAPI 규격은, CPU가 직접 드라이브를 제어하는 IDE 규격을 베이스로 하고 있기 때문에, 간단한 인터페이스 회로로 접속이 가능한 점에서 비용 메리트는 크고, PC 환경에서는 부족한 상태가 되는 ISA 카드 슬롯을 절약할 수 있다고 하는 이점도 있다.
그리고 ATA 규격 및 ATAPI 규격은, HDD 및 광 디스크 드라이브에 대한 데이터의 기입이나 판독을 가능하게 하기 때문에, AV 용도의 디지털 민생 기기의 기억 장치를 실현하는 데에 적합하다. 또, AV 용도의 디지털 민생 기기의 기억 장치는, 1차 기록 또는 보존 기록이라고 하는 용도에 따라 분리되어 사용되는 것이 일반적이고, HDD는 주로 1차 기록에 적합하고, DVD-RAM 등의 기입 가능한 광 디스크는 리무버블 미디어인 특성을 살려서 보존 기록용에 적합하다.
그러나, 호스트와 HDD의 사이에서 데이터를 전송시킬 때에는, 호스트로부터 HDD에 대해서 데이터 전송을 요구하는 명령이 발행되지만, 그 명령에 의해 전송되는 데이터의 양은 HDD의 섹터나 그 취급에 의해서 제한되고, 도 1에 도시하는 바와 같은 PC 환경에서 사용되는 HDD를 그대로, 대량의 데이터의 전송을 요하는 AV 용도로서 사용하려고 하는 경우에는, 상기 제한에 의해서 호스트로부터의 명령의 발행수가 많아지고, 그 결과, 명령 오버헤드가 커져서, 데이터의 전송에 걸리는 시간이 길어져 데이터 전송 효과가 저하해 버린다는 문제가 있다.
예를 들면, DVD-RAM 등의 광 디스크의 섹터 사이즈는 일반적으로 2048바이트인 것에 반해서, HDD의 섹터 사이즈는 일반적으로 512바이트로 작고, DVD-RAM의 섹터 사이즈의 1/4이기 때문에, 호스트는 동일 데이터량을 취급하는 경우에도, HDD에 대해서는 광 디스크 드라이브에 비해서 4배의 액세스 제어가 필요하게 되어, 데이터 액세스 처리에서의 명령 오버헤드가 커진다.
여기서 구체적으로, 호스트로부터 ATA 규격에 대응하는 HDD에 512K바이트의 데이터가 기입되는 동작에 대해서, 도 2를 참조하여 설명한다.
도 2는 호스트로부터 HDD에 데이터가 기입되는 동작을 도시하는 시퀀스도이다.
먼저, 호스트는 HDD에 대해서 디바이스 정보(D2)를 요구하는 디바이스 정보 요구 명령(IDENTIFY DEVICE 명령=ECh)을 발행한다(단계 S840). 여기에서, 디바이스 정보(D2)란 이것을 유지하는 HDD에 관한 정보로서, 이 디바이스 정보(D2)에는 적어도 그 HDD에 대응한 전송 모드를 나타내는 전송 모드 정보가 포함되어 있다. 또 전송 모드란 데이터의 전송 레이트 등에 의해서 종류가 구별된 전송 방식으로서, 상술한 전송 모드 정보에는 예를 들면 멀티 워드 DMA 전송이나 Ultra DMA 전송 등의 전송 모드가 나타나 있다.
이 디바이스 정보 요구 명령을 받은 HDD는 스스로가 유지하는 디바이스 정보(D2)를 호스트에 송신한다(단계 S842).
이와 같은 디바이스 정보(D2)를 호스트가 취득하면(단계 S844), 호스트는, 상기 디바이스 정보(D2)의 전송 모드 정보로부터, 호스트와 HDD의 사이에서 설정 가능한 전송 모드를 특정하고, 디바이스 설정 명령(SET_FEATURES 명령=EFh)을 발행함으로써, 그 특정된 전송 모드를 HDD에 대해서 지정한다(단계 S846). 즉, 이 디바이스 설정 명령에서는, FEATURES 레지스터에, 전송 모드를 지정하는 취지의 서브코드(03h)가 설정되고, SECTOR_COUNT 레지스터에, 특정된 전송 모드를 지시하는 파라미터가 설정되어 있다.
그리고 상기 디바이스 설정 명령에 의해서 전송 모드가 지정된 HDD는 그 지정에 따라서 전송 모드를 설정한다(단계 S848).
다음에, 호스트는, 기입 명령(WRITE_SECTORS 명령=30h)을 발행함으로써, HDD에 대해서 데이터의 기입을 요구하고, 그 요구를 받은 HDD는 데이터의 기입을 실행한다(단계 S850).
여기서, 상기 기입 명령의 SECTOR_COUNT 레지스터에는 HDD에 대해서 기입을 요구하는 섹터의 수가 설정되어 있다. 다시 말하면, 이 레지스터는 8비트 길이이고, 이 레지스터에 파라미터로서 01h∼FFh를 설정한 경우, 호스트는 1∼255개의 섹터에 대해서 데이터의 기입을 요구 가능하고, HDD는 1∼255개까지의 섹터에 대해서 데이터의 기입이 가능한다. 그리고, 상기 레지스터에 파라미터로서 FFh가 설정된 기입 명령을 받을 때마다, HDD는 128K바이트(255개 ×512바이트)의 데이터의 기입을 행한다.
그러나, 호스트가 512K바이트의 데이터를 HDD에 기입하도록 하고 있는 것에대해서, 상기 기입 명령을 1회만 발행한 것 만으로는 SECTOR_COUNT 레지스터가 8비트 길이이기 때문에, HDD에 대해서 최대에서도 128K바이트의 데이터밖에 기입을 행할 수 없고, 호스트는 또한 상술과 동일한 기입 명령을 3회 실행하는 동시에(단계 S852, S854, S856), SECTOR_COUNT 레지스터에 파라미터로서 04h가 설정된 기입 명령을 발행한다(단계 S858).
이와 같은 HDD에 대해서, 광 디스크 드라이브에서는 DVD-RAM의 섹터 사이즈가 2048바이트이기 때문에, 1회의 기입 명령의 실행으로 512K바이트의 데이터의 기입이 가능하게 된다.
이와 같이, 상기 종래의 PC 환경용의 HDD를 그대로 AV 용도로서 사용하는 경우에는, 기입 명령의 발행 횟수가 많아지기 때문에, 데이터의 전송에 걸리는 시간이 길어져서 데이터 전송 효율이 저하해 버린다.
본 발명은, 하드디스크 드라이브 등의 디스크 드라이브 장치 및 그 제어장치에 관한 것으로, 특히 대량의 데이터를 상호 전송하는 디스크 드라이브 장치 및 그 제어 장치에 관한 것이다.
도 1은 종래예의 HDD를 이용한 PC 환경을 도시하는 구성도,
도 2는 상기와 동일한 HDD에 데이터가 기입되는 동작을 도시하는 시퀀스도,
도 3은 본 발명의 실시 형태에서의 HDD 및 컨트롤러를 구비한 AV 시스템의 외관 구성도,
도 4는 상기와 동일한 HDD의 기기 블록도,
도 5는 상기와 동일한 HDD가 보유하는 디바이스 정보의 내용을 도시하는 테이블도,
도 6은 상기와 동일한 컨트롤러가 HDD에 데이터를 기입하는 동작을 도시하는 시퀀스도,
도 7(a) 및 도 (b)는 상기와 동일한 HDD에 데이터가 기입되는 모양을 모식적으로 도시하는 설명도,
도 8(a)∼도 8(c)는 상기와 동일한 HDD에 데이터가 기입되는 모양을 모식적으로 도시하는 다른 설명도,
도 9는 상기와 동일한 ATA 규격에 준한 디바이스 정보를 도시하는 테이블도,
도 10은 상기와 동일한 ATA 규격의 기입 명령의 내용을 도시하는 명령 설명도,
도 11은 상기와 동일한 컨트롤러로부터 HDD에 데이터가 ATA 규격에 준하여 기입되는 동작을 도시하는 시퀀스도,
도 12는 상기와 동일한 ATA 규격에 준한 다른 디바이스 정보를 도시하는 테이블도,
도 13은 상기와 동일한 컨트롤러로부터 HDD에 데이터가 ATA 규격에 준하여 기입되는 동작을 도시하는 다른 시퀀스도,
도 14는 상기와 동일한 기입 명령 송신 후에 있어서 데이터가 HDD에 기입될 때의 컨트롤러 및 HDD의 동작을 도시하는 흐름도,
도 15는 일반적인 ATA 규격에 의한 호스트와 디바이스 사이에서의 데이터 전송 순서를 도시하는 흐름도,
도 16은 일반적인 ATAPI 규격에 의한 호스트와 디바이스 사이에서의 데이터 전송 순서를 도시하는 흐름도,
도 17은 ATA 규격 및 ATAPI 규격에서의 독출시와 기입시의 레지스터를 비교하여 도시하는 비교 설명도,
도 18은 ATAPI 규격의 기입 명령의 내용을 도시하는 명령 설명도,
도 19은 본 발명의 실시 형태에서의 다른 디바이스 정보를 도시하는 테이블도이다.
그래서, 본 발명은 이러한 문제점을 감안하여, 데이터 전송 효율을 향상시켜 AV 용도에 적합한 디스크 드라이브 장치 및 그 제어 장치를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해서, 본 발명에 관한 디스크 드라이브 장치는, 외부의 장치와의 사이에서 상호 데이터의 전송을 행하는 디스크 드라이브 장치로서, 섹터를 따라 데이터를 기억하는 디스크와, 데이터 전송시에 있어서의 상기 디스크의 섹터의 취급에 관한 제약의 완화 가능한 정도를 나타내는 내용의 섹터 정보를 기억하는 기억부와, 상기 외부 장치로부터 섹터 정보에 대해서 문의가 있었을 때에는, 상기 섹터 정보를 통지하고, 상기 외부 장치로부터 상기 제약을 완화하도록 지시된 상태에서 데이터 전송의 요구를 받았을 때에는, 상기 지시 및 요구에 따라서, 상기 디스크로의 데이터의 기입, 또는 상기 디스크로부터의 데이터의 독출을 행하는 제어부를 구비한 것을 특징으로 한다.
이것에 의해, 상기 외부 장치로부터의 지시에 따라서, 데이터 전송시에 있어서의 상기 디스크의 섹터의 취급에 관한 제약이 완화되기 때문에, 제어부가 디스크에 데이터를 기입한다든지, 디스크로부터 데이터를 독출한다든지 하는 데에 걸리는 시간을 단축하여, 데이터 전송 효율을 향상시킬 수 있으며, 그 결과, 대량의 데이터를 전송할 수 있고, AV 용도로 충분이 적응시킬 수 있다.
여기서, 상기 섹터 정보에는, 한번에 액세스 가능한 섹터의 수의 확장 가능한 정도를 나타내는 내용이 설정되어 있고, 상기 제어부는, 상기 제약을 완화하도록 지시되었을 때에는, 상기 섹터의 수를 확장하는 것을 특징으로 하여도 된다.
이것에 의해, 상기 외부 장치로부터의 지시에 따라서, 데이터 전송시에 있어서의 한번에 액세스 가능한 섹터의 수가 확장되기 때문에, 대량의 데이터를 전송할 때에 제어부가 디스크에 액세스하는 횟수를 저감하고, 디스크에 데이터를 기입한다든지, 디스크로부터 데이터를 독출한다는지 하는 데에 걸리는 시간을 단축하여, 데이터 전송 효율을 향상시킬 수 있다.
또, 상기 섹터 정보에는, 상기 제어부에 의해서 간주되는 상기 섹터의 1개당 사이즈의 확장 가능한 정도를 나타내는 내용이 설정되어 있고, 상기 제어부는, 상기 외부 장치로부터 상기 제약을 완화하도록 지시된 상태에서 데이터 전송의 요구를 받았을 때에는, 상기 섹터의 사이즈를 확장하고, 상기 확장된 사이즈에 상당하는 상기 디스크의 일부를 1개의 섹터로서 취급하는 것을 특징으로 하여도 된다.
이것에 의해, 예를 들면 데이터 전송시에 있어서의 한번에 액세스 가능한 섹터의 수가 제한되어 있어도, 상기 외부 장치로부터의 지시에 따라서, 제어부에 의해서 간주되는 섹터의 1개당의 사이즈가 확장되고, 제어부가 상기 사이즈에 상당하는 디스크의 일부를 1개의 섹터로서 취급하기 때문에, 대량의 데이터를 전송할 때에 제어부가 디스크에 액세스하는 횟수를 저감하고, 디스크에 데이터를 기입한다든지, 디스크로부터 데이터를 독출한다든지 하는 데에 걸리는 시간을 단축하여, 데이터 전송 효율을 향상시킬 수 있다.
또한, 상기 제어부는, 상기 외부 장치로부터 상기 제약을 완화하도록 지시된 상태에서 섹터의 어드레스를 지정하여 데이터 전송의 요구를 받았을 때에는, 상기 섹터의 사이즈를 정수배로 확장하고, 상기 확장된 사이즈에 상당하는 다수개의 섹터를 1개의 섹터로서 취급하는 동시에, 상기 지정된 어드레스를 상기 사이즈의 배수에 따라서 변환하고, 변환된 어드레스에 대응하는 섹터로의 데이터의 기입, 또는 상기 섹터로부터의 데이터의 독출을 행하는 것을 특징으로 하여도 된다.
이것에 의해, 상기 외부 장치로부터 지정되는 어드레스는 상기 사이즈의 배수에 따라서 변환되기 때문에, 상기 외부 장치는 상기 사이즈가 확장되고 있는지의 여부에 따라서 지정하는 어드레스를 변경할 필요가 없고, 상기 외부 장치에서의 제어 처리가 번잡하게 되는 것을 방지할 수 있다.
또, 상기 섹터 정보에는, 상기 외부 장치로부터 상기 디스크의 각 섹터에 할당된 어드레스를 지정하여 데이터 전송의 요구를 받을 때에 있어서의 상기 어드레스의 지정 범위의 확장 가능한 정도를 나타내는 내용이 설정되어 있고, 상기 제어부는, 상기 외부 장치로부터 상기 제약을 완화하도록 지시되었을 때에는, 상기 어드레스의 지정 범위를 확장하는 것을 특징으로 하여도 된다.
이것에 의해, 상기 외부 장치로부터의 지시에 따라서, 어드레스의 지정 범위가 확장되기 때문에, 대량의 데이터를 전송할 수 있다.
여기서 본 발명에 관한 디스크 드라이브 장치의 제어 장치는, 섹터에 따라 데이터를 기억하는 디스크를 구비하는 동시에, 데이터 전송시에 있어서의 상기 디스크의 섹터의 취급에 관한 제약의 완화 가능한 정도를 나타내는 내용의 섹터 정보를 가지고, 상기 제약을 완화하도록 지시된 상태에서 데이터 전송의 요구를 받았을 때에는, 상기 지시 및 요구에 따라서, 상기 디스크로의 데이터의 기입, 또는 상기 디스크로부터의 데이터의 독출을 행하는 디스크 드라이브 장치를 제어하는 제어 장치로서, 디스크 드라이브 장치에 대해서 섹터 정보에 대해서 문의하고, 상기 섹터 정보에 근거하여 디스크 드라이브 장치에 대해서 상기 제약을 완화하도록 지시한 후에 데이터 전송을 요구하고, 상기 디스크 드라이브 장치와의 사이에서 상호 데이터를 전송하는 것을 특징으로 한다.
이것에 의해, 데이터 전송시에 있어서의 상기 디스크의 섹터의 취급에 관한 제약이 완화되기 때문에, 디스크에 데이터가 기입된다든지, 디스크로부터 데이터가 독출된다든지 하는 데에 걸리는 시간을 단축하여, 데이터 전송 효율을 향상시킬 수 있으며, 그 결과, 대량의 데이터를 전송할 수 있고, AV 용도로 충분히 적응시킬 수있다.
여기서, 상기 섹터 정보에는 한번에 액세스 가능한 섹터의 수의 확장 가능한 정도를 나타내는 내용이 설정되어 있고, 상기 제어 장치는 상기 섹터수의 확장 가능한 정도에 근거하여, 상기 섹터의 수를 확장하도록 디스크 드라이브 장치에 지시하는 것을 특징으로 하여도 된다.
이것에 의해, 데이터 전송시에 있어서의 한번에 액세스 가능한 섹터의 수가 확장되기 때문에, 대량의 데이터를 전송할 때에 디스크로의 액세스 횟수를 저감하고, 디스크에 데이터가 기입된다든지, 디스크로부터 데이터가 독출된다든지 하는 데에 걸리는 시간을 단축하여, 데이터 전송 효율을 향상시킬 수 있다.
또한, 본 발명은, 섹터에 따라서 데이터를 기억하는 디스크를 구비하는 디스크 드라이브 장치와, 상기 디스크 드라이브 장치를 제어하는 제어 장치의 사이에서, 상호 데이터를 전송시키는 데이터의 전송 방법으로서 실현한다든지, 컴퓨터에 실행시키는 프로그램으로서 실현하는 것도 가능하다.
이하, 본 발명의 실시 형태에서의 데이터의 전송 방법에 대해서 도면을 참조하면서 설명한다.
도 3은 본 발명의 실시 형태에서의 디스크 드라이브 장치 및 그 제어 장치를 구비한 AV 시스템의 외관 구성도이다.
이 AV 시스템은, 데이터 전송 효율을 향상시켜 AV 용도에 적합한 HDD(102) 및 컨트롤러(101)를 구비한 것으로서, 텔레비전(104)과, DVD-RAM으로부터 데이터를 독출한다든지, 거기에 데이터를 기입한다든지 하는 광 디스크 드라이브(103)와, 디스크 드라이브 장치인 상기 HDD(102)와, 2개의 스피커(105)와, 텔레비전(104), 광 디스크 드라이브(103), HDD(102), 및 양 스피커(105)를 제어하는 제어 장치인 상기 컨트롤러(101)로 구성되어 있다.
이 컨트롤러(101)는, 호스트로서 HDD(102) 및 광 디스크 드라이브(103) 등을 제어하여, 텔레비전(104)에서 수신된 화상 데이터나 음성 데이터를 HDD(102)나DVD-RAM에 기억시킨다든지, HDD(102)나 DVD-RAM으로부터 독출한 화상 데이터나 음악 데이터에 근거하여, 텔레비전(104)의 디스플레이에 화상을 표시시킨다든지, 양 스피커(105)로부터 음악을 출력시킨다든지 한다.
도 4는 HDD(102)의 구성 기기 블록도이다.
HDD(102)는, 컨토롤러(101)와의 사이에서 통신 인터페이스를 도모하는 인터페이스부(10)와, 인터페이스부(10)를 통해서 컨트롤러(101)로부터 수신한 데이터를 예를 들면 30G바이트까지 기억하는 디스크(11)와, HDD(102)의 섹터에 관한 정보인 섹터 속성 정보(D)를 보유하는 ROM(12)과, 일시적으로 정보를 기억하는 RAM(13)과, 인터페이스부(10), 디스크(11), ROM(12), 및 RAM(13)을 제어하는 제어부(14)를 구비하고 있다.
이와 같은 HDD(102)는, PC 환경에 이용되는 것으로서, 디스크(11)에는 종래예와 동일하게 1개당 512바이트의 섹터가 다수개 형성되어 있고, HDD(102)의 제어부(14)는 컨트롤러(101)로부터 데이터의 전송을 요구하는 명령을 수취하면, 그 명령으로 지정되는 섹터수만큼 디스크(11)에 데이터를 기입한다든지, 디스크(11)로부터 데이터를 독출한다든지 한다.
도 5는 본 실시 형태에서의 섹터 속성 정보(D)의 내용을 도시하는 테이블도이다.
이 섹터 속성 정보(D)에는, 컨트롤러(101)로부터 상기 명령을 받을 때마다 데이터를 기입한다든지 독출한다든지 하는 대상이 되는 디스크(11)의 섹터의 최대의 수(최대 전송 섹터수)가 확장 가능한지의 여부를 나타내는 정보와, 현재 그 최대 전송 섹터수를 확장하도록 설정되어 있는지의 여부를 나타내는 정보와, 디스크(11)의 물리적인 섹터 사이즈를 논리적으로 확장 가능한지의 여부를 나타내는 정보와, 현재 그 섹터 사이즈를 논리적으로 확장하도록 설정되어 있는지의 여부를 나타내는 정보가 포함되어 있다. 여기서, 논리적으로 섹터 사이즈를 확장한다는 것은, 제어부(14)가 물리적으로 정해진 다수개의 섹터를 1개의 섹터로서 간주하고, 제어부(14)에서 본 섹터 사이즈를 확장하는 것으로, 이하, 이와 같이 제어부(14)에서 본 섹터 사이즈를 논리 섹터 사이즈라고 한다.
예를 들면 도 5에 도시하는 섹터 속성 정보(D)는, 최대 전송 섹터수가 통상의 설정에서는 2개인 바, 10개까지 확장할 수 있고, 현재에서는 도 5 중의 동그라미 표시로 나타내는 바와 같이 통상의 설정, 다시 말하면 최대 전송 섹터수가 2개로서 설정되어 있는 것을 나타낸다. 또한, 이 섹터 속성 정보(D)는, 논리 섹터 사이즈가 통상의 설정에서는 물리적인 섹터 사이즈와 같은 500바이트인 바, 2000바이트까지 확장할 수 있고, 현재에서는 도 5 중 동그라미 표시로 나타내는 바와 같이 통상의 설정, 다시 말하면 논리 섹터 사이즈가 500바이트로서 설정되어 있는 것을 나타낸다.
여기서, 본 실시 형태에서의 컨트롤러(101)는, HDD(102)와의 사이에서 데이터의 전송을 행하려고 할 때에는, 먼저 HDD(102)에 대해서 섹터 속성 정보(D)를 문의하고, 전송하려고 하는 데이터량에 대해서 현재의 최대 전송 섹터수나 논리 섹터 사이즈를 확장시킬 필요가 있는지의 여부를 판별하고, 확장을 요한다고 판별하면, 이들의 각 설정을 변경하여 섹터 속성 정보(D)를 갱신시킨다. 그리고,컨트롤러(101)는 설정된 최대 전송 섹터수를 넘지 않는 섹터수를 지정하고, 그 섹터수에 대해서 데이터의 전송을 HDD(102)에 요구하는 명령을 발행함으로써 데이터의 전송을 행한다.
한편, 본 실시 형태에서의 HDD(102)의 제어부(14)는, 그 섹터 속성 정보(D)의 최대 전송 섹터수나 논리 섹터 사이즈의 각 설정에 따라서, 디스크(11)에 데이터를 기입한다든지, 그곳으로부터 데이터를 독출한다든지, 예를 들면, 최대 전송 섹터수가 확장되어 10개로 설정되어 있을 때에는, 컨트롤러(101)로부터의 한번의 상기 명령으로 최대 10개의 섹터에 대해서 데이터의 기입을 행한다. 또, 논리 섹터 사이즈가 확장되어 2000바이트로 설정되어 있을 때에는, 제어부(14)는 1개당의 섹터 사이즈를 2000바이트로 간주하고, 다시 말하면 4개의 섹터를 1개의 섹터로 간주하고, 컨트롤러(101)로부터 지정되는 섹터수에 대해서 데이터의 기입을 행한다. 즉, 본 실시 형태에서의 HDD(102)는, 컨트롤러(101)로부터의 지시에 따라서, 최대 전송 섹터수나 논리 섹터 사이즈를 확장하는 것이다.
이것에 의해, 본 실시 형태에서의 HDD(102) 및 컨트롤러(101)에서는, 상호간에 대량의 데이터를 전송할 때에는, 섹터 속성 정보(D)의 설정을 변경하여 최대 전송 섹터수나 논리 섹터 사이즈를 확장시킴으로써, 데이터를 디스크(11)에 기입한다든지, 그곳으로부터 데이터를 독출한다든지 할 때의 명령 오버헤드를 작게 하고, 대량 데이터의 전송에 걸리는 시간을 단축하여 데이터 전송 효율을 향상시킬 수 있다.
이와 같은 본 실시 형태에서의 컨토롤러(101)가 HDD(102)에 데이터를 기입하는 동작에 대해서 도 6을 참조하여 설명한다.
도 6은 컨트롤러(101)가 HDD(102)에 데이터를 기입하는 동작을 도시하는 시퀀스도이다.
먼저, 호스트인 컨트롤러(101)가 HDD(102)에 대해서 섹터 속성 정보(D)를 요구한다(단계 S100).
이 요구를 인터페이스부(10)를 통해서 받은 HDD(102)의 제어부(14)는, ROM(12)에 놓여져 있는 섹터 속성 정보(D)를 독출하여(단계 S102), 컨트롤러(101)에 송신한다(단계 S104). 여기서, 섹터 속성 정보(D)의 독출원을 ROM(12)으로 하였지만, ROM(12)으로부터 독출되는 것은, HDD(102)의 전원이 투입된 후 한번도 독출되지 않을 때에 행해지고, 이미 독출된 적이 있는 경우에는 섹터 속성 정보(D)가 RAM(13)에 보존되어 있기 때문에, 다시 섹터 속성 정보(D)를 독출할 때에는 RAM(13)으로부터 독출된다.
HDD(102)로부터 섹터 속성 정보(D)를 수신한 컨트롤러(101)는, 이 섹터 속성 정보(D)로부터, 현재 설정되어 있는 대량 전송 섹터수 및 논리 섹터 사이즈를 파악하는 동시에, 최대 전송 섹터수 및 논리 섹터 사이즈 중 적어도 어느 하나가 확장 가능한지의 여부를 판별한다(단계 S106). 그리고, 컨트롤러(101)는, HDD(102)에 전송하려고 하는 데이터량과 비교하여 현재 설정되어 있는 최대 전송 섹터수(예를 들면, 「2」)가 작고, 그 확장이 가능하다고 판별하였을 때에는, HDD(102)에 대해서 최대 전송 섹터수의 확장을 지시한다. 또 이 때, 컨트롤러(101)는, HDD(102)에 전송하려고 하는 데이터량과 비교하여 현재 설정되어 있는 논리 섹터 사이즈(예를들면 「500바이트」)가 작고, 그 확장이 가능하다고 판별하였을 때에는, HDD(102)에 대해서 논리 섹터 사이즈의 확장을 지시한다(단계 S108)).
최대 전송 섹터수의 확장이 지시되었을 때에는, HDD(102)의 제어부(14)는, 섹터 속성 정보(D)에 설정되어 있는 최대 전송 섹터수를 예를 들면 「2」에서「10」으로 변경하고, 이와 같이 변경된 섹터 속성 정보(D)를 RAM(13)에 기억시킨다. 또, 논리 섹터 사이즈의 확장이 지시되었을 때에는, HDD(102)의 제어부(14)는, 섹터 속성 정보(D)에 설정되어 있는 논리 섹터 사이즈를 예를 들면「500바이트」에서「2000바이트」로 변경하고, 이와 같이 변경된 섹터 속성 정보(D)를 RAM(13)에 기억시킨다. 그 결과, 최대 전송 섹터수 및 논리 섹터 사이즈 중 적어도 어느 하나의 확장 설정이 행해진 것이 된다(단계 S110).
그리고, 컨트롤러(101)가 HDD(102)에 대해서 데이터의 기입을 요구하는 명령을, 상기 최대 전송 섹터수를 넘지 않는 섹터수를 지정하여 발행하고, 데이터를 송신하면, HDD(102)의 제어부(14)는, 컨트롤러(101)로부터 송신되어 온 데이터를, 지정된 섹터수만큼 디스크(11)에 기입한다(단계 S112).
도 7은 최대 전송 섹터수의 설정을 확장하였을 때에 데이터가 HDD(102)에 기입되는 모양을 모식적으로 나타내는 설명도로서, (a)는 최대 전송 섹터수를 「2」로 한 경우의 상기 모양을 나타내고, (b)는 최대 전송 섹터수를 「10」으로 한 경우의 상기 모양을 나타낸다.
컨트롤러(101)가 5000바이트의 데이터를 HDD(102)로 전송하도록 한 경우에, 최대 전송 섹터수가 「2」로 설정되고, 논리 섹터 사이즈가 500바이트로 설정되어있으면, 도 7(a)에 도시하는 바와 같이, 컨트롤러(101)는 데이터의 기입을 요구하는 명령을 5회 발행하지 않으면 안되지만, 최대 전송 섹터수를 「10」으로 확장 설정함으로써, 도 7(b)에 도시하는 바와 같이, 컨트롤러(101)에 의한 상기 명령의 발행 횟수를 1회로 삭감할 수 있다.
이와 같이, 최대 전송 섹터수를 확장함으로써, 컨트롤러(101)가 HDD(102)에 명령을 발행하는 횟수를 줄일 수 있고, 데이터의 전송에 걸리는 시간을 짧게 할 수 있다.
도 8은 논리 섹터 사이즈의 설정을 확장하였을 때에 데이터가 HDD(102)에 기입되는 모양을 모식적으로 도시하는 설명도로서, (a)는 논리 섹터 사이즈를 500바이트로 한 경우의 상기 모양을 나타내고, (b)는 논리 섹터 사이즈를 그 4배인 2000바이트로 한 경우의 상기 모양을 나타낸다.
상술과 동일하게, 컨트롤러(101)가 6000바이트의 데이터를 HDD(102)로 전송하도록 한 경우에, 최대 전송 섹터수가 「1」로 설정되고, 논리 섹터 사이즈가 500바이트로 설정되어 있으면, 도 8(a)에 도시하는 바와 같이, 컨트롤러(101)는 데이터의 기입을 요구하는 명령을 12회 발행하지 않으면 안되지만, 논리 섹터 사이즈를 2000바이트로 확장 설정함으로써, 도 8(b)에 도시하는 바와 같이, 컨트롤러(101)에 의한 상기 명령의 발행 횟수를 3회로 삭감할 수 있다.
이와 같이, 논리 섹터 사이즈를 확장하는 것에 의해서도, 컨트롤러(101)가 HDD(102)에 명령을 발행하는 횟수를 삭감할 수 있고, 데이터의 전송에 걸리는 시간을 짧게 할 수 있다.
그런데, 도 8(a)에 도시하는 바와 같이, 논리 섹터 사이즈를 확장시키고 있지 않은 경우, 컨트롤러(101)는 데이터의 기입을 요구하는 명령을 발행할 때에는, 그 명령을 발행할 때마다, 데이터가 기입되는 디스크(11)의 섹터의 어드레스를, 「1」,「2」,「3」…과 같이 지정한다. 그러나, 도 8(b)에 도시하는 바와 같이, 논리 섹터 사이즈를 확장시킨 경우, 논리 섹터 사이즈를 확장시키고 있지 않은 경우와 마찬가지로, 컨트롤러(101)에 어드레스를 지정시킨 것에서는 잘못된 어드레스가 지정되어 버린다.
그래서 본 실시 형태의 HDD(102)의 제어부(14)는, 논리 섹터 사이즈의 확장된 비율에 따라서, 컨트롤러(101)로부터 지정되는 어드레스를 변환한다. 예를 들면, 컨트롤러(101)가 어드레스 「2」로부터의 섹터에 대해서 데이터의 기입을 요구하는 경우, HDD(102)의 제어부(14)는, 논리 섹터 사이즈가 확장되어 있지 않으면, 컨트롤러(101)로부터 지정된 바와 같이, 어드레스「2」로부터의 섹터에 대해서 데이터의 기입을 행하지만, 논리 섹터 사이즈가 4배로 확장되어 있으면, 지정된 어드레스 「2」를, 상기 확장된 비율을 기초로 어드레스「5」로 변환하고, 이 어드레스「5」로부터의 섹터에 대해서 데이터의 기입을 행한다.
즉, HDD(102)의 제어부(14)에 상술한 바와 같은 어드레스의 변환을 행하게 함으로써, 잘못된 어드레스가 지정되는 것을 방지할 수 있고, 또, 컨트롤러(101)에 논리 섹터 사이즈의 확장의 유무에 따라서 지정하는 어드레스를 변경시키지 않고, 컨트롤러(101)에서의 제어 처리가 번잡하게 되는 것을 방지할 수 있다. 또, 상술한 바와 같이 제어부(14)에 어드레스를 변환시킴으로써, 컨트롤러(101)에 HDD(102)의 섹터의 어드레스를 자기의 상황이 좋은 어드레스로서 인식시킬 수 있고, 예를 들면 도 8(c)에 도시하는 바와 같이, 컨트롤러(101)가 어드레스 「101」,「102」,「103」을 지정하여 명령을 발행하면, HDD(102)의 제어부(14)는 그 명령이 발행될 때마다, 어드레스 「1」로부터의 섹터로의 데이터의 기입과, 어드레스 「5」로부터의 섹터로의 데이터의 기입과, 어드레스「9」로부터의 섹터로의 데이터의 기입을 행한다.
여기서, 본 실시 형태에서의 HDD(102) 및 컨트롤러(101)에서, 상호의 사이에서 행해지는 데이터의 전송을 ATA 규격에 적용시켜도 된다.
이 경우, HDD(102)에 관한 정보인 디바이스 정보(D1)가 ROM(12)에 보유되어 있고, 이 디바이스 정보(D1)에 상술한 섹터 속성 정보(D)를 포함시킨다.
먼저, 최대 전송 섹터수를 확장시키는 경우에 대해서 설명한다.
도 9는 최대 전송 섹터수에 관한 섹터 속성 정보(D)를 포함하는 디바이스 정보(D1)를 도시하는 테이블도이다.
도 9에 도시하는 바와 같이, 이 디바이스 정보(D1)에서는, 최대 전송 섹터수가 확장 가능한지의 여부를 나타내는 동시에, 확장 가능한 최대 전송 섹터수를 나타내는 정보(d2)(이하「유효 비트 정보」라고 함)가 워드(129)의 비트(8∼11)에 입력되고, 현재 그 최대 전송 섹터수를 확장하도록 설정되어 있는지의 여부를 나타내는 정보(d1)(이하 「확장 모드 정보」라고 함)가 워드(129)의 비트(12∼15)에 입력되어 있다.
즉, 이 디바이스 정보(D1)에는, 종래로부터 이용되고 있는 ATA 규격의 디바이스 정보와 마찬가지로, 논리 실린더수, 특정 설정, 메이저 버전 넘버, 마이너 버전 넘버, 및 전송 모드 정보인 UltraDMA 전송 모드 설정 정보가 포함되어 있는 동시에, 종래에서는 벤더 정의로서 할당되어 있었던 워드(129)의 8비트에, 상기 확장 모드 정보(d1) 및 유효 비트 정보(d2)가 섹터 속성 정보(D)로서 포함된다.
컨트롤러(101)는, 이 디바이스 정보(D1)를 요구하여 취득하면, 이 디바이스 정보(D1)의 유효 비트 정보(d2)로부터 최대 전송 섹터수가 확장가능한지의 여부를 판별하는 동시에, 확장 가능하면 어느만큼 확장 가능한지를 판단하고, 또한, 디바이스 정보(D1)의 확장 모드 정보(d1)로부터, 최대 전송 섹터수가 현재 확장하도록 설정되어 있는지의 여부를 판별하고, 최대 전송 섹터수를 확장시킬 때에는, 디바이스 설정 명령(SET_FEATURES 명령)에 의해 HDD(102)에 대해서 확장을 지시한다. 그리고, 컨트롤러(101)는, 데이터의 전송을 요구하는 명령을 발행할 때에는, 그 확장시킨 최대 전송 섹터수를 넘지 않는 범위에서 섹터수를 지정한다.
한편, HDD(102)의 제어부(14)는, 상술한 바와 같이, 확장의 지시를 받으면, 디바이스 정보(D1)의 확장 모드 정보(d1)의 설정을 변경하고, 컨트롤러(101)로부터 데이터의 전송을 요구하는 명령을 받았을 때에는, 디바이스 정보(D1)의 유효 비트 정보(d2)에서 나타내는 범위만큼 최대 전송 섹터수를 확장한 상태에서, 컨트롤러(101)로부터 지시되는 섹터수에 대해서 데이터의 전송을 행한다.
구체적으로는, HDD(102)는, 확장 모드 정보(d1)의 비트(12)가 「0」이면, 최대 전송 섹터수를 확장하지 않도록 설정(통상 설정)되어 있고, 확장 모드 정보(d1)의 비트(12)가 「1」이면, 최대 전송 섹터수를 확장하도록 설정(확장 설정)되어 있다. 또, 유효 비트 정보(d2)의 설정 파라미터가 「0000」이면, 이 유효 비트 정보(d2)는 최대 전송 섹터수의 확장이 불가능한 것을 나타내고, 유효 비트 정보(d2)의 설정 파라미터가 「0001」이면, 이 유효 비트 정보(d2)는 통상 설정의 최대 전송 섹터수를 2배로 확장 가능한 것을 나타내고, 또한, 유효 비트 정보(d2)의 설정 파라미터가 「0100」이면, 이 유효 비트 정보(d2)는 통상 설정의 최대 전송 섹터수를 16배로 확장 가능한 것을 나타낸다.
예를 들면, 컨트롤러(101)는 HDD(102)에 데이터를 기입하려고 할 때, 취득한 디바이스 정보(D1)의 유효 비트 정보(d2)의 설정 파라미터가 「0000」이면, 최대 전송 섹터수가 확장 불가능하다고 판별하여, 디바이스 설정 명령에 의한 HDD(102)에 대한 최대 전송 섹터수의 확장 지시를 행하지 않고, 디바이스 정보(D1)의 확장 모드 정보(d1)의 비트(12)가 「0」으로 되어 있는 상태에서, 기입 명령(WRITE_SECTORS 명령=30h)을 발행하고, 그 기입 명령의 SECTOR_COUNT 레지스터에 의해, 통상 설정의 최대 전송 섹터수의 범위 내에서 기입 섹터수를 지시한다.
도 10은 ATA 규격의 기입 명령(WRITE_SECTOR 명령)의 내용을 도시하는 명령 설명도이다.
도 10에 도시하는 바와 같이, 이 기입 명령은 7바이트 길이로 구성되고, COMMAND 레지스터에는 명령 코드(30h=WRITE_SECTOR)가 나타나고, SECTOR_NUMBER 레지스터, CYLINDER_LOW 레지스터, 및 CYLINDER_HIGH 레지스터의 각 8비트와, DEVICE_HEAD 레지스터의 하위 4비트에는 디스크(11)의 기입 위치(LBA(Logical Block Address))가 28비트 길이로 나타나고, 상술한 SECTOR_COUNT 레지스터에는 기입 섹터수가 8비트 길이로 나타난다.
즉, 상술한 바와 같이 컨트롤러(101)가 최대 전송 섹터수의 확장 지시를 행하지 않는 경우(통상 설정의 경우)에, HDD(102)의 제어부(14)가 기입 명령을 받으면, 제어부(14)는, 8비트 길이의 SECTOR_COUNT 레지스터의 설정 파라미터만을 기입 섹터수라고 해석하기 때문에, 컨트롤러(101)는, 확장 모드 정보(d1)의 비트(12)가 「0」으로 되어 있는 상태에서는 255를 넘는 기입 섹터수를 지시할 수 없고, HDD(102)의 최대 전송 섹터수가 255로 설정되어 있게 된다.
한편, 컨트롤러(101)가 취득한 디바이스 정보(D1)의 유효 비트 정보(d2)가 「0100」이면, 컨트롤러(101)는 기입 명령의 SECTOR_COUNT 레지스터에 더하여 FEATURES 레지스터의 4비트도 기입 섹터수의 지시에 이용해도 좋다고 판단한다. 다시 말하면, 유효 비트 정보(d2)에 나타나는 파라미터는 기입 섹터수의 지시에 사용 가능한 FEATURES 레지스터의 비트 길이를 의미하고 있다. 그리고 디바이스 정보(D1)의 확장 모드 정보(d1)의 비트(12)가 「0」이면, 컨트롤러(101)는, HDD(102)가 현재의 최대 전송 섹터수를 확장하고 있지 않다고 판단하고, 또한 이것으로부터 HDD(102)에 기압하려고 하는 데이터량과 비교하여 최대 전송 섹터수「255」가 작다고 판단하면, 디바이스 설정 명령에 의해 HDD(102)에 대해서 최대 전송 섹터수의 확장을 지시하고, HDD(102)의 제어부(14)는 확장 모드 정보(d1)의 비트(12)를 「1」로 설정한다. 그 결과, HDD(102)의 제어부(14)는, 컨트롤러(101)로부터 기입 명령을 받았을 때에는, 상기 디바이스 정보(D1)의 확장 모드 정보(d1) 및 유효 비트 정보(d2)에 근거하여, FEATURES 레지스터의 비트(0∼3)와, SECTOR_COUNT의 비트(0∼7)의 합계 12비트 길이로 지시되는 파라미터를 기입 섹터수로서 해석한다. 다시 말하면, 이 때에는, 제어부(14)는 12비트 길이로 기입 섹터수를 판독하기 때문에, HDD(102)의 최대 전송 섹터수가 4096으로 확장된 것이 된다.
여기서, 최대 전송 섹터수를 확장시키고, 컨트롤러(101)로부터 HDD(102)에 데이터가 기입되는 동작의 흐름에 대해서, 도 11을 참조하여 설명한다.
도 11은 컨트롤러(101)로부터 HDD(102)에 데이터가 기입되는 동작을 도시하는 시퀀스도이다.
먼저, 컨트롤러(101)는 HDD(102)에 대해서 디바이스 정보(D1)를 요구하는 디바이스 정보 요구 명령(IDENTIFY DEVICE 명령=ECh)을 발행한다(단계 S120).
이 디바이스 정보 요구 명령을 받은 HDD(102)의 제어부(14)는, ROM(12) 또는 RAM(13)으로부터 디바이스 정보(D1)를 독출하고, 이것을 컨트롤러(101)에 송신한다(단계 S122).
이 디바이스 정보(D1)를 컨트롤러(101)가 취득하면(단계 S124), 컨트롤러(101)는, 디바이스 정보(D1)의 전송 모드 정보로부터, 자신과 HDD(102)의 사이에서 설정 가능한 전송 모드를 특정하는 동시에, 디바이스 정보(D1)의 섹터 속성 정보(D)로부터, 현재 설정되어 있는 HDD(102)의 최대 전송 섹터수를 파악하고, 최대 전송 섹터수가 확장 가능한지의 여부를 판별한다(단계 S126).
여기서 컨트롤러(101)는, 이곳으로부터 HDD(102)에 기입하려고 하는 512K바이트의 데이터량에 대해서, 현재 설정되어 있는 255의 최대 전송 섹터수가 작다고 판별되면, HDD(102)에 대해서 최대 전송 섹터수의 확장을 지시하는 디바이스 설정명령(SET_FEATURES 명령=EFh)을 발행한다(단계 S128).
이 디바이스 설정 명령에서는, 최대 전송 섹터수의 확장을 지시하는 동시에, 상술한 바와 같이 특정된 전송 모드를 HDD(102)에 대해서 지정한다. 즉, 이 디바이스 설정 명령에서는, FEATURES 레지스터에 전송 모드를 지정하는 취지의 서브 코드(03h)가 설정되고, SECTOR_COUNT 레지스터에 특정된 전송 모드를 지시하는 파라미터가 설정되고, SECTOR_NUMBER 레지스터에 최대 전송 섹터수를 확장하도록 지시하는 파라미터(01h)가 설정되어 있다.
그리고 HDD(102)의 제어부(14)는, 상기 디바이스 설정 명령에 의해서, 디바이스 정보(D1)의 워드(88)에, 컨트롤러(101)로부터 지정된 전송 모드를 설정하고, 디바이스 정보(D1)의 확장 모드 정보(d1)의 비트(12)의 값을 「0」에서「1」로 고쳐 써서 갱신하고, 갱신 후의 디바이스 정보(D1)를 RAM(13)에 보존함으로써, 최대 전송 섹터수의 확장을 설정한다(단계 S130). 또 이 때, 디바이스 정보(D1)의 유효 비트 정보(d2)에 「0100」이 설정되어 있으면, HDD(102)의 제어부(14)는, 컨트롤러(101)로부터 보내지는 기입 명령에서의 FEATURES 레지스터의 비트(0∼3)와, SECTOR_CONUT 레지스터의 비트(0∼7)의 합계 12비트 길이로 나타나는 파라미터를 기입 섹터수로서 인식하고, 최대 전송 섹터수가 4096으로 확장된 것이 된다.
다음에, 컨트롤러(101)는, 기입 명령(WRITE_SECTORS 명령=30h)을 발행함으로써, HDD(102)에 대해서 데이터의 기입을 요구하고, 그 요구를 받은 HDD(102)는 데이터의 기입을 실행한다(단계 S132).
여기서, 컨트롤러(101)는, 취득한 디바이스 정보(D1)의 유효 비트 정보(d2)로부터, 기입 명령에서의 FEATURES 레지스터의 비트(0∼3)와, SECTOR_COUNT의 비트(0∼7)의 합계 12비트 길이로, 기입 섹터수를 지시할 수 있다고 인식하고 있고, HDD(102)에 전송하는 데이터량에 따라서, 상기 기입 명령의 FEATURES 레지스터에 파라미터로서 04h를 설정하고, SECTOR_COUNT 레지스터에 파라미터로서 00h를 설정하고 있다.
그 결과, HDD(102)의 제어부(14)는, 상기 각 파라미터로부터 기입 섹터수가 1024로 지정되었다고 인식하고, 디스크(11)에서의 1024개의 섹터에 대해서 데이터의 기입을 행하고, 또, HDD(102)의 디스크(11)의 섹터 사이즈가 512바이트이기 때문에, 512K바이트(1024개 ×512바이트)까지의 데이터를 디스크(11)에 기입한다.
이와 같이, 본 실시 형태에서는, 종래 512K바이트의 데이터를 HDD에 기입시키는 데에 5회의 명령의 발행을 요하고 있었던 것에 반해서, 1회의 발행으로 HDD(102)에 데이터를 기입하는 것이 가능해진다.
다음에, 최대 전송 섹터수 및 논리 섹터 사이즈를 확장시키는 경우에 대해서 설명한다.
도 12는, 최대 전송 섹터수 및 논리 섹터 사이즈에 관한 섹터 속성 정보(D)를 포함하는 디바이스 정보(D1)를 도시하는 테이블도이다.
도 12에 도시하는 바와 같이, 이 디바이스 정보(D1)에서는, 논리 섹터 사이즈가 확장 가능한지의 여부를 나타내는 동시에 확장 가능한 논리 섹터 사이즈를 나타내는 정보(d3)(이하「유효 속성 정보」라고 함)가 워드(129)의 비트(4∼7)에 입력되고, 확장되는 논리 섹터 사이즈가 얼마인지를 나타내는 정보(d4)(이하「설정속성 정보」라고 함)가 워드(129)의 비트(0∼3)에 입력되어 있고, 전술한 확장 모드 정보(d1)에는, 상기 설정 속성 정보(d4)에 나타나는 논리 섹터 사이즈에 현재 확장하도록 설정되어 있는지의 여부를 나타내는 정보도 포함되어 있다.
즉, 이 디바이스 정보(D1)에는, 종래에서는 헤더 정의로서 할당되어 있었던 워드(129)의 8비트에, 상기 확장 모드 정보(d1), 유효 비트 정보(d2), 유효 속성 정보(d3), 및 설정 속성 정보(d4)가 섹터 속성 정보(D)로서 포함되어 있다.
컨트롤러(101)는, 이 디바이스 정보(D1)를 요구하여 취득하면, 이 디바이스 정보(D1)의 유효 속성 정보(d3)로부터 논리 섹터 사이즈가 확장 가능한지의 여부를 판별하는 동시에, 확장 가능하면 어느만큼 확장 가능한지를 판단하고, 또한, 디바이스 정보(D1)의 설정 속성 정보(d4) 및 확장 모드 정보(d1)로부터, 논리 섹터 사이즈가 현재 어느 정도 설정되어 있는지를 판별하고, 논리 섹터 사이즈를 확장시킬 때에는, 디바이스 설정 명령(SET_FEATURES 명령)에 의해 HDD(102)에 대해서 논리 섹터 사이즈의 확장을 지시한다. 그리고 HDD(102)의 제어부(14)는, 상술한 바와 같이 논리 섹터 사이즈의 확장의 지시를 받으면, 논리 섹터 사이즈를 확장하도록 현재 설정되어 있지 않으면, 이것을 확장하도록 확장 모드 정보(d1)의 설정을 변경하고, 상기 확장 지시에 따른 논리 섹터 사이즈가 되도록 설정 속성 정보(d4)를 변경한다. 그 결과, 제어부(14)는, 컨트롤러(101)로부터 데이터의 전송을 요구하는 명령을 받았을 때에는, 디바이스 정보(D1)의 설정 속성 정보(d4)로 나타나는 논리 섹터 사이즈로, 컨트롤러(101)로부터 지정되는 섹터수에 대해서 데이터의 전송을 행한다.
구체적으로는, HDD(102)는, 확장 모드 정보(d1)의 비트(13)가 「0」이면, 논리 섹터 사이즈를 확장하지 않도록, 다시 말하면 논리 섹터 사이즈가 물리적인 섹터 사이즈와 같게 되도록 설정(통상 설정)되어 있고, 확장 모드 정보(d1)의 비트(13)가 「1」이면, 논리 섹터 사이즈를 물리적인 섹터 사이즈로부터 확장하도록 설정(확장 설정)되어 있다. 또, 유효 속성 정보(d3)를 나타내는 비트(4∼7) 중, 비트(7)만이 「1」일 때에는, 이 유효 속성 정보(d3)는, 논리 섹터 사이즈가 논리적인 섹터 사이즈와 같은 512바이트로서, 논리 섹터 사이즈를 확장할 수 없는 것을 나타내는 한편, 유효 속성 정보(d3)를 나타내는 비트(4∼7) 중 비트(6, 7)가 「1」일 때에는, 이 유효 속성 정보(d3)는 1024바이트까지 확장 가능한 것을 나타내고, 비트(5, 6, 7)가 「1」일 때에는, 1024바이트 또는 2048바이트까지 확장 가능한 것을 나타내며, 비트(4∼7)의 전부가 「1」일 때에는 1024바이트 또는 2048 또는 2352바이트까지 확장 가능한 것을 나타낸다. 또한, 상술한 바와 같이 유효 속성 정보(d3)를 나타내는 비트(4∼7)가 모두 「1」일 때에, 설정 속성 정보(d4)를 나타내는 비트(0∼3) 중 비트(0)만이 「1」인 경우에는, 이 설정 속성 정보(d4)는 확장 모드 정보(d1)의 비트(13)의 값에 따라서, 논리 섹터 사이즈가 2352바이트로 확장되는 것을 나타내며, 설정 속성 정보(d4)의 비트(1)만이 「1」인 경우에는, 이 논리 섹터 사이즈는 확장 모드 정보(d1)의 비트(13)의 값에 따라서 2048로 확장되는 것을 나타낸다.
예를 들면, 컨트롤러(101)는, HDD(102)에 데이터를 기입하려고 할 때, 취득한 디바이스 정보(D1)의 유효 속성 정보(d3)의 비트(7)만이 「1」이면, 논리 섹터사이즈가 확장 불가능하다고 판별한다.
한편, 컨트롤러(101)가 취득한 디바이스 정보(D1)의 유효 속성 정보(d3)의 비트(5∼7)가 「1」이고, 설정 속성 정보(d4)의 비트(3)만이 「1」이고, 확장 모드 정보(d1)의 비트(13)가 「0」이면, 컨트롤러(101)는, 논리 섹터 사이즈가 현재 512바이트로 설정되어 있지만, 이것을 1024바이트 또는 2048바이트까지 확장하는 것이 가능하다고 판단한다. 그리고, 컨트롤러(101)는, 이것으로부터 HDD(102)에 기입하려고 하는 데이터량과 비교하여 논리 섹터 사이즈「512바이트」가 작다고 판단하면, 디바이스 설정 명령에 의해 HDD(102)에 대해서 논리 섹터 사이즈의 확장을 지시하고, HDD(102)의 제어부(14)는 확장 모드 정보(d1)의 비트(13)를 「1」로 설정하는 동시에, 설정 속성 정보(d4)의 비트(1)만을 「1」로 설정한다. 그 결과, HDD(102)의 제어부(14)는, 컨트롤러(101)로부터 기입 명령을 받았을 때에는, 상기 디바이스 정보(D1)의 확장 모드 정보(d1) 및 설정 속성 정보(d4)에 근거하여, 논리 섹터 사이즈를 2048바이트라고 해석하고, 상기 기입 명령에 의해 지정된 섹터수에 2048바이트를 곱한 양의 데이터를 디스크(11)에 기입한다.
여기서, 논리 섹터 사이즈가 확장되고, 컨트롤러(101)로부터 HDD(102)에 데이터가 기입되는 동작의 흐름에 대해서, 도 13을 참조하여 설명한다.
도 13은, 컨트롤러(101)로부터 HDD(102)에 데이터가 기입되는 동작을 나타내는 시퀀스도이다.
여기서 설명하는 HDD(102)의 디바이스 정보(D1)에서는, 미리 확장 모드 정보(d1)를 나타내는 비트(12∼15)의 전부에 「0」이 설정되고, 유효 속성정보(d3)를 나타내는 비트(4∼7)의 전부에 「1」이 설정되고, 설정 속성 정보(d4)를 나타내는 비트(0∼3) 중, 비트(3)에만 「1」이 설정되어 있다. 즉, 이 HDD(102)는, 논리 섹터 사이즈를 1024바이트 또는 2048바이트 또는 2352바이트로 확장 가능한 것으로서, 초기 상태에서는 논리 섹터 사이즈가 512바이트로 설정되고, 다시 말하면 확장 설정되어 있지 않으며, 물리적인 섹터 사이즈를 그대로 그 사이즈로서 취급한다.
먼저, 컨트롤러(101)는 HDD(102)에 대해서 디바이스 정보(D1)를 요구하는 디바이스 정보 요구 명령(IDENTIFY DEVICE 명령=ECh)을 발행한다(단계 S140).
이 디바이스 정보 요구 명령을 받은 HDD(102)의 제어부(14)는, ROM(12) 또는 RAM(13)으로부터 디바이스 정보(D1)를 독출하고, 이것을 컨트롤러(101)에 송신한다(단계 S142).
이 디바이스 정보(D1)를 컨트롤러(101)가 취득하면(단계 S144), 컨트롤러(101)는 디바이스 정보(D1)의 전송 모드 정보로부터, 자신과 HDD(102)의 사이에서 설정 가능한 전송 모드를 특정하는 동시에, 디바이스 정보(D1)의 확장 모드 정보(d1) 및 유효 속성 정보(d3) 및 설정 속성 정보(d4)로부터, 현재 설정되어 있는 HDD(102)의 논리 섹터 사이즈를 파악하고, 논리 섹터 사이즈가 확장 가능한지의 여부를 판별한다(단계 S146).
여기서 컨트롤러(101)는, 이곳으로부터 HDD(102)로 전송하려고 하는 512K바이트의 데이터량에 대해서, 현재 설정되어 있는 HDD(102)의 논리 섹터 사이즈가 작다고 판단되면, HDD(102)에 대해서 논리 섹터 사이즈의 확장과, 확장하는 논리 섹터 사이즈를 지시하는 동시에, 상술한 바와 같이 특정된 전송 모드를 지정하는 내용을 포함하는 디바이스 설정 명령(SET_EFATURES 명령=EFh)을 발행한다(단계 S148).
즉, 이 디바이스 설정 명령에서는, FEATURES 레지스터에, 전송 모드를 지정하는 취지의 서브 코드(03h)가 설정되고, SECTOR_COUNT 레지스터에, 특정된 전송 모드를 지시하는 파라미터가 설정되고, CYLINDER_HIGH 레지스터에, 논리 섹터 사이즈의 확장을 지시하는 파라미터(02h)가 설정되고, SECTOR_NUMBER 레지스터에 확장하는 논리 섹터 사이즈를 지시하는 파라미터(E2h)가 설정되어 있다.
그리고 HDD(102)의 제어부(14)는, 상기 디바이스 설정 명령에 의해서, 디바이스 정보(D1)의 워드(88)에 컨트롤러(101)로부터 지정된 전송 모드를 설정하고, 디바이스 정보(D1)의 확장 모드 정보(d1)의 비트(13)를 「0」에서「1」로 고쳐쓰고, 설정 속성 정보(d4)에서의 비트(3)를 「1」에서「0」으로 고쳐쓰고, 설정 속성 정보(d4)에서의 비트(1)를 「0」에서「1」로 고쳐쓴다. 이와 같이 제어부(14)는, 디바이스 정보(D1)를 갱신하고, 갱신 후의 디바이스 정보(D1)를 RAM(13)에 보존함으로써, 논리 섹터 사이즈의 확장을 설정한다(단계 S150).
이것에 의해, HDD(102)는, 디스크(11)의 4개의 섹터를 1개의 섹터로 간주하여 취급하도록 설정되고, 논리 섹터 사이즈가 512바이트에서 1028바이트로 확장된다.
다음에, 컨트롤러(101)는, 도 2의 단계 S850과 동일하게, 기입 명령(WRITE_SECTORS 명령=30h)을 발행함으로써, HDD(102)에 대해서 데이터의 기입을 요구하고, 그 요구를 받은 HDD(102)는 데이터의 기입을 실행한다(단계 S152).
여기서, 상기 기입 명령의 SECTOR_COUNT 레지스터에는 파라미터로서 FFh가 설정되어 있기 때문에, HDD(102)의 제어부(14)는, 상기 파라미터로부터 기입 섹터수를 255로 인식하고, 255개의 섹터에 대해서 데이터의 기입을 행한다.
그 결과, HDD(102)의 제어부(14)는, 디스크(11)의 논리 섹터 사이즈가 1024바이트로 확장되어 있기 때문에, 상기 1회의 기입 명령에 의해 512K바이트(255개 ×1024바이트)까지의 데이터를 디스크(11)에 기입한다.
이와 같이, 본 실시 형태에서는, 최대 전송 섹터수를 확장시키는 경우와 동일하게, 논리 섹터 사이즈를 확장시키는 것에 의해서도, 종래예에서 요하고 있었던 5회의 명령 발행 횟수를 1회로 삭감할 수 있다.
여기서, 컨트롤러(101)가 상술한 바와 같은 기입 명령을 송신한 후의 컨트롤러(101) 및 HDD(102)의 동작에 대해서 도 14를 참조하여 설명한다.
도 14는 기입 명령 송신 후에 있어서 1개의 논리 섹터 사이즈의 데이터가 HDD(102)에 기입될 때의 컨트롤러(101) 및 HDD(102)의 동작을 도시하는 흐름도이다.
먼저, HDD(102)의 제어부(14)는 디스크(11)에 데이터를 기입할 준비를 한다(단계 S160).
그리고, 데이터를 기입할 준비가 완료되면(단계 S160의 Y), HDD(102)의 제어부(14)는, STATUS 레지스터의 BSY 비트를 「0」, DRQ 비트를 「1」로 한다(단계 S162).
다음에, 컨트롤러(101)가, 상기 STATUS 레지스터로부터 HDD(102)의 준비가 완료되어 있는 것을 알면(단계 S164의 Y), 전송하려고 하는 데이터를 DATA 레지스터에 기입한다(단계 S166).
그리고, HDD(102)의 제어부(14)는, 1개의 논리 섹터 사이즈분의 데이터의 전송이 종료하였다고 판단하면(단계 S168), STATUS 레지스터의 BSY 비트를 「1」로, DRQ 비트를 「0」으로 하여, 디스크(11)로의 데이터의 기입을 실행하고(단계 S170), 이것이 종료하면, STATUS 레지스터의 BSY 비트를 「0」으로 한다(단계 S172).
이와 같이 BSY 비트가 「0」이 되면, 컨트롤러(101)는 STATUS 레지스터를 읽고, 정상적으로 기입이 행해졌는지의 여부를 확인한다(단계 S174).
그런데, 광 디스크 드라이브(103)와 컨트롤러(101)의 사이에서 행해지는 데이터 전송을 ATA 규격과 다른 ATAPI 규격에 준하여 행하도록 하여도 된다. 즉, 컨트롤러(101)에, ATA 규격과 ATAPI 규격을 분리해서 사용하고, HDD(102) 및 광 디스크 드라이브(103)를 제어시켜도 된다.
여기서, ATA 규격과 ATAPI 규격의 차이에 대해서 설명한다.
도 15는 일반적인 ATA 규격에 의한 호스트와 디바이스 사이에서의 데이터 전송 순서를 도시하는 흐름도이다.
먼저, 호스트는 데이터의 전송처 또는 전송원이 되는 디바이스의 선택(디바이스 셀렉션)을 실행한다(단계 S800).
다음에, 호스트는, FEATURES 레지스터, SECTOR_NUMBER 레지스터,SECTOR_COUNT 레지스터, CYLINDER_HIGH 레지스터, CYLINDER_LOW 레지스터, 및 DEVICE_HEAD 레지스터 등의 각 레지스터에 파라미터를 설정한다(단계 S802).
그리고 호스트는, 데이터 전송의 명령을 발행하고(단계 S804), 디바이스와의 사이에서 데이터의 전송을 행한다(단계 S806).
데이터의 전송이 종료하면(단계 S808), 호스트는, ERROR 레지스터, SECTOR_NUMBER 레지스터, SECTOR_COUNT 레지스터, CYLINDER_HIGH 레지스터, CYLINDER_LOW 레지스터, DEVICE_HEAD 레지스터, 및 STATUS 레지스터의 각 레지스터를 읽어, 정상적으로 완료하였는지의 여부를 체크한다(단계 S810).
도 16은 일반적인 ATAPI 규격에 의한 호스트와 디바이스 사이에서의 데이터 전송 순서를 도시하는 흐름도이다.
ATAPI 규격에서도 상술한 ATA 규격과 동일하게, 먼저 호스트는 디바이스 셀렉션을 실행한다(단계 S820).
다음에, 호스트는, FEATURES 레지스터, SECTOR_COUNT 레지스터, BYTE_COUNT_LIMIT 레지스터, 및 DEVICE_HEAD 레지스터 등의 각 레지스터에 파라미터를 설정한다(단계 S822),
여기서 호스트는 데이터 전송의 명령을 발행하고(단계 S824), DATA 레지스터에 명령 패킷을 기입하고(단계 S826), 디바이스와의 사이에서 데이터의 전송을 행한다(단계 S828).
그리고 데이터의 전송이 종료하면(단계 S830), 호스트는, ERROR 레지스터를 읽어, 정상적으로 완료하였는지의 여부를 체크한다(단계 S832).
여기서, 상술한 것으로부터도 알 수 있는 바와 같이, 상기 양 규격에서는 레지스터가 다른 경우가 있다.
도 17은 ATA 규격 및 ATAPI 규격에서의 독출시와 기입시의 레지스터를 비교하여 도시하는 비교 설명도이다.
이 도 17에 도시하는 바와 같이, 독출 기입시에는, 상기 양 규격에 공통하여 DATA 및 DEVICE_HEAD의 레지스터가 이용되고 있는 한편으로, ATAPI 규격에서는 INTERRUPT_REASON, BYTE_COUNT(LSB), BYTE_COUNT(MSB)의 레지스터가 이용되고, ATA 규격에서는 SECTOR_COUNT, SECTOR_NUMBER, CYLINDER_LOW, CYLINDER_HIGH의 레지스터가 이용되는 바와 같이, 상기 양 규격에서 다른 레지스터도 이용되고 있다. 또, 상기 양 규격과 함께, 독출시에는 ALTERNATE_STATUS, ERROR, COMMAND라는 레지스터가 이용되는 한편으로, 기입시에는 DEVICE_CONTROL, FEATURES, STATUS라는 레지스터가 이용되는 바와 같이, 독출시와 기입시에 다른 레지스터가 이용된다.
이와 같이, ATA 규격과 ATAPI 규격에서는 데이터의 전송 순서나 레지스터를 기본적으로 같게 하면서도 다른 점이 있고, 기입 명령의 내용도 다르다.
도 18은 ATAPI 규격의 기입 명령(WRITE 10 명령)의 내용을 도시하는 명령 설명도이다.
도 18에 도시하는 바와 같이, ATAPI 규격의 기입 명령은 12바이트 길이로 구성되어 있고, 워드(0)에는 Operation_Code(2Ah=WRITE10)이 나타나고, 워드(2∼5)에는 미디어의 기입 위치(LBA)가 32비트 길이로 나타나고, 워드(7∼8)에는 기입 섹터수(Transfer Length)가 16비트 길이로 나타난다.
다시 말하면, 도 18에 도시하는 ATAPI 규격의 기입 명령과, 도 10에 도시하는 ATA 규격의 기입 명령을 비교하면, 양 명령의 사이에서, 기입 섹터수를 나타내는 비트 길이와, LBA를 나타내는 비트 길이가 다르기 때문에, 호스트가 한쪽의 드라이브와의 사이에서의 데이터 전송을 ATA 규격에 준하여 행하고, 다른쪽의 드라이브와의 사이에서의 데이터 전송을 ATAPI 규격에 준하여 행하는 경우에는, 양 드라이브에 대해서 각 규격에 따른 다른 취급을 호스트에 시킬 필요가 있고, 호스트가 행하는 제어 처리가 번잡하게 되어 버리는 경우가 있다. 또한, 양 드라이브에서의 물리적인 섹터 사이즈가 다른 경우에는, 상기 제어 처리가 더욱 번잡하게 되어 버린다.
그러나, 본 실시 형태에서는, 컨트롤러(101)가 HDD(102)를 ATA 규격에 준하여 데이터의 전송을 행하고, 광 디스크 드라이브(103)를 ATAPI 규격에 준하여 데이터의 전송을 행하는 경우에도, 컨트롤러(101)가 행하는 HDD(102) 및 광 디스크 드라이브(103)에 대한 제어 처리를 공통화하여 간략화할 수 있다.
즉, HDD(102)의 디스크(11)와, 광 디스크 드라이브(103)의 DVD-RAM의 물리적인 섹터 사이즈가 달라도, 상술한 바와 같이 HDD(102)의 논리 섹터 사이즈를 확장시킴으로써, 상기 양 섹터 사이즈를 같게 할 수 있고, 또한, HDD(102)의 최대 전송 섹터수를 확장시킴으로써, 다시 말하면, ATA 규격에서의 기입 명령의 기입 섹터수를 나타내는 비트의 범위를, FEATURES 레지스터까지 확장함으로써, HDD(102)에 대한 기입 명령의 기입 섹터수를 나타내는 비트 길이와, 광 디스크 드라이브(103)에 대한 기입 명령의 기입 섹터수를 나타내는 비트 길이를 같게 할 수 있다.
또, 본 실시 형태에서는, 최대 전송 섹터수를 확장시키는 것과 동일하게, 디바이스 정보(D1)에 소정의 정보를 설정하고, HDD(102)의 제어부(14)에, 기입 명령의 LBA를 나타내는 비트의 범위를 상기 소정의 정보에 근거하여 확장하여 인식시킴으로써, HDD(102)에 대한 기입 명령의 LBA를 나타내는 비트 길이와, 광 디스크 드라이브(103)에 대한 기입 명령의 LBA를 나타내는 비트 길이를 같게 할 수 있다.
도 19는 상기 소정의 정보가 설정된 디바이스 정보(D1)를 나타내는 테이블도이다.
도 19에 도시하는 바와 같이, 이 디바이스 정보(D1)에서는, 기입 명령의 LBA를 나타내는 비트 범위를 확장하여 인식 가능한지의 여부를 나타내는 동시에 확장 가능한 비트 길이를 나타내는 정보(d6)(이하「LBA 유효 비트 정보」라고 함)가 워드(130)의 비트(8∼11)에 입력되고, 현재 그 비트 범위를 확장하여 인식하도록 설정되어 있는지의 여부를 나타내는 정보(d5)(이하「LBA 확장 모드 정보」라고 함)가 워드(130)의 비트(12∼15)에 입력되어 있다.
즉, 이 디바이스 정보(D1)에는, 종래에서는 벤더 정의로서 할당되어 있었던 워드(130)의 8비트에 상기 LBA 확장 모드 정보(d5) 및 LBA 유효 비트 정보(d6)가 상기 소정의 정보로서 포함된다.
컨트롤러(101)는, 이 디바이스 정보(D1)를 요구하여 취득하면, 이 디바이스 정보(D1)의 LBA 유효 비트 정보(d6)로부터, 기입 명령에서 LBA를 나타내는 비트 범위가 확장 가능한지의 여부를 판별하는 동시에, 확장 가능하면 어느만큼 확장 가능한지를 판단하고, 또한, 디바이스 정보(D1)의 LBA 확장 모드 정보(d5)로부터, 현재LBA를 나타내는 비트 범위를 확장하여 인식하도록 설정되어 있는지의 여부를 판별하고, 이것을 확장하여 인식시키도록 설정할 때에는, 디바이스 설정 명령(SET_FEATURES 명령)에 의해 HDD(102)에 대해서 확장을 지시한다.
그리고 HDD(102)의 제어부(14)는, 상술한 바와 같이 확장의 지시를 받으면, 디바이스 정보(D1)의 LBA 확장 모드 정보(d5)의 설정을 변경하고, 컨트롤러(101)로부터 기입 명령을 받았을 때에는, 디바이스 정보(D1)의 LBA 유효 비트 정보(d6)에서 나타내는 비트 길이만큼 확장한 범위를, LBA를 나타내는 비트 범위로서 인식하고, 그 LBA에 대응하는 섹터에 대해서 데이터의 기입을 행한다.
구체적으로는, HDD(102)는, LBA 확장 모드 정보(d5)의 비트(12)가 「0」이면, 비트 길이를 확장하여 인식하지 않도록 설정(통상 설정)되어 있고, LBA 확장 모드 정보(d5)의 비트(12)가 「1」이면, 비트 길이를 확장하여 인식하도록 설정(확장 설정)되어 있다. 또, LBA 유효 비트 정보(d6)의 설정 파라미터가 「0000」이면, 이 LBA 유효 비트 정보(d6)는, LAB를 나타내는 비트 길이를 확장하여 인식할 수 없는 것을 나타내고, LBA 유효 비트 정보(d6)의 설정 파라미터가 「0001」이면, 이 유효 비트 정보(d2)는 LBA를 나타내는 비트 길이를 통상 설정의 28비트 길이로부터 1비트만큼 확장하여 인식하는 것이 가능한 것을 나타내며, 또한, 유효 비트 정보(d2)의 설정 파라미터가 「0100」이면, 이 유효 비트 정보(d2)는 LBA를 나타내는 비트 길이를 통상 설정의 28 비트 길이로부터 4비트만큼 확장하여 인식하는 것이 가능한 것을 나타낸다.
예를 들면, 컨트롤러(101)는, HDD(102)에 데이터를 기입하려고 할 때, 취득한 디바이스 정보(D1)의 LBA 유효 비트 정보(d6)의 설정 파라미터가 「0000」이면, 상술한 바와 같이 비트 길이를 확장하여 인식할 수 없다고 판별한다.
한편, 컨트롤러(101)가 취득한 디바이스 정보(D1)의 LBA 유효 비트 정보(d6)가 「0100」이면, 컨트롤러(101)는 기입 명령의 SECTOR_NUMBER 레지스터, CYLINDER_LOW 레지스터 및 CYLINDER_HIGH 레지스터의 24비트와, DEVICE_HEAD 레지스터의 하위 4비트의 합계 28비트에 더하여, FEATURES 레지스터의 4비트도, LBA의 지시에 이용해도 좋다고 판단한다. 그리고 디바이스 정보(D1)의 LBA 확장 모드 정보(d5)의 비트(12)가 「0」이면, 이것을 「1」로 설정한다. 그 결과, HDD(102)의 제어부(14)는, 컨트롤러(101)로부터 기입 명령을 받았을 때에는, 상기 디바이스 정보(D1)의 LBA 확장 모드 정보(d5) 및 LBA 유효 비트 정보(d6)에 기초하여, FEATURES 레지스터의 4비트를 더한 합계 32비트 길이로 지시되는 파라미터를 LBA로서 해석하고, 그 LBA로 나타내는 섹터에 데이터의 기입을 행한다.
이와 같이, 본 실시 형태에서는, 최대 전송 섹터수와 논리 섹터 사이즈와 함께, LBA를 나타내는 비트의 범위를 확장시킴으로써, ATA 규격과 ATAPI 규격에서 컨트롤러(101)의 제어 처리의 공통화 및 간이화를 도모할 수 있다. 또, 이와 같이 LBA를 나타내는 비트의 범위를 확장시킴으로써, 대량의 데이터를 전송할 수 있다.
이상, 본 발명에 관한 디스크 드라이브 장치 및 그 제어 장치에 대해서 실시 형태를 이용하여 설명하였지만, 본 발명은 이 실시 형태에 한정되는 것은 아니다.
예를 들면, 상기 실시 형태에서는, 광 디스크 드라이브(103)에, DVD-RAM으로부터의 데이터의 독출이나 DVD-RAM으로의 데이터의 기입을 행하게 하였지만, CD-R/RW나 DVD-R에 대해서 데이터의 판독을 행하도록 하여도 된다. 또, 광 디스크 드라이브(103) 대신에, 예를 들면, SD(Secure Digital)(주식회사 도시바의 상표) 메모리 카드에 대해서 데이터의 판독을 행하는 드라이브를 컨트롤러(101)에 제어시켜도 된다.
또, 상기 실시 형태에서는, 섹터 속성 정보를, ATA 규격으로 미리 정해지는 디바이스 정보 중 벤더 정의 영역인 워드(129 및 130)로 설정하였지만, 다른 벤더 정의 영역으로 설정하여도 된다.
또한, 상기 실시 형태에서는, 컨트롤러(101)로부터 HDD(102)에 대해서, 디바이스 설정 명령의 SECTOR_NUMBER 레지스터를 이용하여, 최대 전송 섹터수를 확장하도록 지시시켰지만, 다른 레지스터를 이용해도 되고, 또한 본 실시 형태에서는, 기입 명령의 SECTOR_COUNT 레지스터에 더하여 FEATURES 레지스터를 이용하여 기입 섹터수를 지정시켰지만, SECTOR_COUNT 레지스터에 더하여 다른 레지스터를 이용하여 지정시켜도 좋다.
본 발명에 관한 디스크 드라이브 장치 및 그 제어 장치는, 컴퓨터의 보조 기억 장치로서, 특히 AV 용도의 보조 기억 장치 및 그것을 제어하는 제어 장치로서 이용하는 데에 적합하다.

Claims (29)

  1. 외부의 장치와의 사이에서 상호 데이터의 전송을 행하는 디스크 드라이브 장치에 있어서,
    섹터에 따라서 데이터를 기억하는 디스크와,
    데이터 전송시에 있어서의 상기 디스크에서 취급되는 물리 섹터수에 관한 제약의 완화 가능한 정도를 나타내는 내용의 섹터 정보를 기억하는 기억부와,
    상기 외부 장치로부터 섹터 정보에 대해서 문의가 있었을 때에는, 상기 섹터 정보를 통지하고, 상기 외부 장치로부터 상기 제약을 완화하도록 지시된 상태에서 데이터 전송의 요구를 받았을 때에는, 상기 지시 및 요구에 따라서, 상기 디스크로의 데이터의 기입, 또는 상기 디스크로부터의 데이터의 독출을 행하는 제어부를 구비한 것을 특징으로 하는 디스크 드라이브 장치.
  2. 제1항에 있어서, 상기 제어부는, 상기 외부 장치로부터 상기 제약을 완화하도록 지시되었을 때에는, 상기 지시 내용을 상기 섹터 정보에 포함시켜 설정하는 것을 특징으로 하는 디스크 드라이브 장치.
  3. 제2항에 있어서, 상기 섹터 정보에는, 한번에 액세스 가능한 물리 섹터수의 확장 가능한 정도를 나타내는 내용이 설정되어 있고,
    상기 제어부는, 상기 제약을 완화하도록 지시되었을 때에는, 상기 물리 섹터수를 확장하는 것을 특징으로 하는 디스크 드라이브 장치.
  4. 제3항에 있어서, 상기 디스크 드라이브 장치는, 상기 외부 장치와의 사이에서 ATA 규격에 준하여 데이터의 전송을 행하고,
    상기 섹터 정보는, 데이터의 전송이 행해지기 전에 외부 장치로부터 ATA 규격에 준하여 요구되는 디스크 드라이브 장치에 관한 드라이브 고유 정보에 포함되는 것을 특징으로 하는 디스크 드라이브 장치.
  5. 제4항에 있어서, 상기 섹터 정보는, 상기 드라이브 고유 정보의 벤더 정의로서 할당된 동일 워드 내에 설정되는 것을 특징으로 하는 디스크 드라이브 장치.
  6. 제2항에 있어서, 상기 섹터 정보에는,
    상기 제어부에 의해서 간주되는 상기 물리 섹터의 1개당의 사이즈의 확장 가능한 정도를 나타내는 내용이 더 설정되어 있고,
    상기 제어부는, 상기 외부 장치로부터 상기 제약을 완화하도록 지시된 상태에서 데이터의 전송의 요구를 받았을 때에는, 상기 사이즈를 확장하고, 상기 확장된 사이즈에 상당하는 상기 디스크의 일부를 1개의 논리 섹터로서 치급하는 것을 특징으로 하는 디스크 드라이브 장치.
  7. 제6항에 있어서, 상기 제어부는, 상기 외부 장치로부터 상기 제약을 완화하도록 지시된 상태에서 논리 섹터의 어드레스를 지정하여 데이터 전송의 요구를 받았을 때에는, 상기 확장된 사이즈에 상당하는 다수개의 물리 섹터를 1개의 논리 섹터로서 취급하는 동시에,
    상기 지정된 어드레스를 상기 물리 섹터의 개수에 따라 변환하고, 변환된 어드레스에 대응하는 물리 섹터로의 데이터의 기입, 또는 상기 물리 섹터로부터의 데이터의 독출을 행하는 것을 특징으로 하는 디스크 드라이브 장치.
  8. 제2항에 있어서, 상기 섹터 정보에는,
    상기 외부 장치로부터 상기 디스크의 각 물리 섹터에 할당된 어드레스를 지정하여 데이터 전송의 요구를 받을 때에 있어서의 상기 어드레스의 지정 범위의 확장 가능한 정도를 나타내는 내용이 더 설정되어 있고,
    상기 제어부는, 상기 외부 장치로부터 상기 제약을 완화하도록 지시되었을 때에는, 상기 어드레스의 지정 범위를 확장하는 것을 특징으로 하는 디스크 드라이브 장치.
  9. 섹터에 따라서 데이터를 기억하는 디스크를 구비하는 동시에, 데이터 전송시에 있어서의 상기 디스크에서 취급되는 물리 섹터수에 관한 제약의 완화 가능한 정도를 나타내는 내용의 섹터 정보를 갖고, 상기 제약을 완화하도록 지시된 상태에서 데이터 전송의 요구를 받았을 때에는, 상기 지시 및 요구에 따라, 상기 디스크로의 데이터의 기입, 또는 상기 디스크로부터의 데이터의 독출을 행하는 디스크 드라이브 장치를 제어하는 제어 장치에 있어서,
    디스크 드라이브 장치에 대해서 섹터 정보에 대해 문의하고, 상기 섹터 정보에 기초하여, 디스크 드라이브 장치에 대해서 상기 제약을 완화하도록 지시한 후에 데이터 전송을 요구하고, 상기 디스크 드라이브 장치와의 사이에서 상호 데이터를 전송하는 것을 특징으로 하는 제어 장치.
  10. 제9항에 있어서, 상기 섹터 정보에는, 한번에 액세스 가능한 물리 섹터수의 확장 가능한 정도를 나타내는 내용이 설정되어 있고,
    상기 제어 장치는, 상기 물리 섹터수의 확장 가능한 정도에 기초하여, 상기 물리 섹터수를 확장하도록 디스크 드라이브 장치에 지시하는 것을 특징으로 하는 제어 장치.
  11. 제10항에 있어서, 상기 제어 장치는, 상기 디스크 드라이브 장치와의 사이에서 ATA 규격에 준하여 데이터의 전송을 행하고,
    ATA 규격에 준하여 상기 디스크 드라이브 장치에 관한 드라이브 고유 정보를 요구할 때에, 상기 섹터 정보에 대해 문의하는 것을 특징으로 하는 제어 장치.
  12. 외부의 장치와의 사이에서 상호 데이터의 전송을 행하고, 섹터에 따라서 데이터를 기억하는 디스크를 구비하는 디스크 드라이브 장치에서의 데이터의 전송 방법에 있어서,
    데이터 전송시에 있어서의 상기 디스크에서 취급되는 물리 섹터수에 관한 제약의 완화 가능한 정도를 나타내는 내용의 섹터 정보를 기억하는 섹터 정보 기억 단계와,
    상기 외부 장치로부터 섹터 정보에 대해 문의가 있었을 때에는, 상기 섹터 정보를 통지하는 섹터 정보 통지 단계와,
    상기 외부 장치로부터 상기 제약의 완화를 촉진하는 지시를 접수하는 지시 접수 단계와,
    상기 외부 장치로부터 데이터 전송의 요구를 받았을 때에는, 상기 지시 및 요구에 따라, 상기 디스크로의 데이터의 기입, 또는 상기 디스크로부터의 데이터의 독출을 행하는 데이터 전송 단계를 포함하는 것을 특징으로 하는 데이터의 전송 방법.
  13. 제12항에 있어서, 상기 섹터 정보 기억 단계에서,
    상기 섹터 정보에는, 한번에 액세스 가능한 물리 섹터수의 확장 가능한 정도를 나타내는 내용이 설정되어 있고,
    상기 지시 접수 단계에서,
    상기 제약의 완화를 촉진하는 지시를 접수하였을 때에는, 상기 물리 섹터수를 확장하는 것을 특징으로 하는 데이터의 전송 방법.
  14. 제12항에 있어서, 상기 섹터 정보 기억 단계에서,
    상기 섹터 정보에는, 상기 제어부에 의해 간주되는 상기 물리 섹터의 1개당의 사이즈의 확장 가능한 정도를 나타내는 내용이 더 설정되어 있고,
    상기 지시 접수 단계에서,
    상기 제약의 완화를 촉진하는 지시를 접수하였을 때에는, 상기 사이즈를 확장하고,
    상기 데이터 전송 단계에서,
    상기 확장된 사이즈에 상당하는 상기 디스크의 일부를 1개의 논리 섹터로서 취급하는 것을 특징으로 하는 데이터의 전송 방법.
  15. 제12항에 있어서, 상기 섹터 정보 기억 단계에서,
    상기 섹터 정보에는, 상기 외부 장치로부터 상기 디스크의 각 물리 섹터에 할당된 어드레스를 지정하여 데이터 전송의 요구를 받을 때에 있어서의 상기 어드레스의 지정 범위의 확장 가능한 정도를 나타내는 내용이 더 설정되어 있고,
    상기 지시 접수 단계에서,
    상기 제약을 완화하도록 지시되었을 때에는, 상기 어드레스의 지정 범위를 확장하는 것을 특징으로 하는 데이터의 전송 방법.
  16. 섹터에 따라서 데이터를 기억하는 디스크를 구비하는 동시에, 데이터 전송시에 있어서의 상기 디스크에서 취급되는 물리 섹터수에 관한 제약의 완화 가능한 정도를 나타내는 내용의 섹터 정보를 갖고, 상기 제약을 완화하도록 지시된 상태에서데이터 전송의 요구를 받았을 때에는, 상기 지시 및 요구에 따라, 상기 디스크로의 데이터의 기입, 또는 상기 디스크로부터의 데이터의 독출을 행하는 디스크 드라이브 장치를 제어하는 제어 방법에 있어서,
    상기 디스크 드라이브 장치에 대해서 섹터 정보에 대해 문의하는 섹터 정보 문의 단계와,
    상기 섹터 정보에 기초하여, 디스크 드라이브 장치에 대해서 상기 제약을 완화하도록 지시하는 지시 단계와,
    상기 지시 단계 후에, 상기 디스크 드라이브 장치에 대해서 데이터의 전송을 요구하는 데이터 전송 요구 단계와,
    상기 디스크 드라이브 장치와의 사이에서 서로 데이터를 전송하는 데이터 전송 단계를 포함하는 것을 특징으로 하는 제어 방법.
  17. 제16항에 있어서, 상기 섹터 정보에는, 한번에 액세스 가능한 물리 섹터수의 확장 가능한 정도를 나타내는 내용이 설정되어 있고,
    상기 지시 단계에서,
    상기 물리 섹터수의 확장 가능한 정도에 기초하여, 상기 물리 섹터수를 확장하도록 디스크 드라이브 장치에 지시하는 것을 특징으로 하는 제어 방법.
  18. 섹터에 따라서 데이터를 기억하는 디스크를 구비하는 디스크 드라이브 장치와, 상기 디스크 드라이브 장치를 제어하는 제어 장치의 사이에서, 상호 데이터를전송시키는 데이터의 전송 방법에 있어서,
    상기 디스크 드라이브 장치가, 데이터 전송시에 있어서의 상기 디스크에서 취급되는 물리 섹터수에 관한 제약의 완화 가능한 정도를 나타내는 내용의 섹터 정보를 기억하는 섹터 정보 기억 단계와,
    상기 제어 장치로부터 디스크 드라이브 장치에 대해서, 섹터 정보에 대해 문의하는 섹터 정보 문의 단계와,
    상기 디스크 드라이브 장치가, 상기 문의에 따라, 상기 섹터 정보를 상기 제어 장치에 대해서 통지하는 섹터 정보 통지 단계와,
    상기 제어 장치가, 상기 섹터 정보에 기초하여, 디스크 드라이브 장치에 대해서 상기 제약을 완화하도록 지시하는 지시 단계와,
    상기 디스크 드라이브 장치가 상기 지시를 접수하는 지시 접수 단계와,
    상기 지시 단계 후에, 상기 제어 장치로부터 디스크 드라이브 장치에 대해서, 데이터의 전송을 요구하는 데이터 전송 요구 단계와,
    상기 디스크 드라이브 장치가, 상기 지시 및 요구에 따라, 상기 디스크로의 데이터의 기입, 또는 상기 디스크로부터의 데이터의 독출을 행함으로써, 상기 제어 장치와 디스크 드라이브 장치의 사이에서 데이터를 전송시키는 데이터 전송 단계를 포함하는 것을 특징으로 하는 데이터의 전송 방법.
  19. 제18항에 있어서, 상기 지시 접수 단계에서,
    상기 디스크 드라이브 장치가 상기 지시 내용을 상기 섹터 정보에 포함시켜설정하는 것을 특징으로 하는 데이터의 전송 방법.
  20. 제19항에 있어서, 상기 섹터 정보 기억 단계에서,
    상기 섹터 정보에는, 한번에 액세스 가능한 물리 섹터수의 확장 가능한 정도를 나타내는 내용이 설정되어 있고,
    상기 지시 접수 단계에서,
    상기 지시를 접수한 디스크 드라이브 장치는 상기 물리 섹터수를 확장하는 것을 특징으로 하는 데이터의 전송 방법.
  21. 제20항에 있어서, 상기 데이터의 전송 방법은, ATA 규격에 준한 것이며,
    상기 섹터 정보 문의 단계에서,
    상기 제어 장치는, ATA 규격에 준하여 상기 디스크 드라이브 장치에 관한 드라이브 고유 정보를 요구할 때에, 섹터 정보에 대해 문의하는 것을 특징으로 하는 데이터의 전송 방법.
  22. 제21항에 있어서, 상기 섹터 정보 기억 단계에서,
    섹터 정보는, 상기 드라이브 고유 정보의 벤더 정의로서 할당된 동일 워드 내에 설정되는 것을 특징으로 하는 데이터의 전송 방법.
  23. 제19항에 있어서, 상기 섹터 정보 기억 단계에서,
    상기 섹터 정보에는, 상기 디스크 드라이브 장치에 의해서 간주되는 상기 물리 섹터의 1개당의 사이즈의 확장 가능한 정도를 나타내는 내용이 더 설정되어 있고,
    상기 지시 접수 단계에서,
    상기 지시를 접수한 디스크 드라이브 장치는 상기 사이즈를 확장하고,
    상기 데이터 전송 단계에서,
    상기 디스크 드라이브 장치는, 상기 확장된 사이즈에 상당하는 상기 디스크의 일부를 1개의 논리 섹터로서 취급하는 것을 특징으로 하는 데이터의 전송 방법.
  24. 제23항에 있어서, 상기 지시 접수 단계에서,
    상기 지시를 접수한 디스크 드라이브 장치는 상기 사이즈를 정수배로 확장하고,
    상기 데이터 전송 요구 단계에서,
    상기 제어 장치는, 논리 섹터의 어드레스를 지정하여 데이터의 전송을 요구하고,
    상기 데이터 전송 단계에서,
    상기 디스크 드라이브 장치는, 상기 확장된 사이즈에 상당하는 다수개의 물리 섹터를 1개의 논리 섹터로서 취급하는 동시에, 상기 지정된 어드레스를 상기 물리 섹터의 개수에 따라 변환하고, 변환된 어드레스에 대응하는 물리 섹터로의 데이터의 기입, 또는 상기 물리 섹터로부터의 데이터의 독출을 행하는 것을 특징으로하는 데이터의 전송 방법.
  25. 제19항에 있어서, 상기 섹터 정보 기억 단계에서,
    상기 섹터 정보에는, 상기 제어 장치로부터 상기 디스크의 각 물리 섹터에 할당된 어드레스를 지정하여 데이터 전송의 요구를 받았을 때에 있어서의 상기 어드레스의 지정 범위의 확장 가능한 정도를 나타내는 내용이 더 설정되어 있고,
    상기 지시 접수 단계에서,
    상기 지시를 접수한 디스크 드라이브 장치는 상기 어드레스의 지정 범위를 확장하는 것을 특징으로 하는 데이터의 전송 방법.
  26. 섹터에 따라서 데이터를 기억하는 디스크를 구비하는 디스크 드라이브 장치와, 상기 디스크 드라이브 장치를 제어하는 제어 장치의 사이에서, 상호 데이터를 전송시키기 위한 프로그램에 있어서,
    상기 디스크 드라이브 장치가, 데이터 전송시에 있어서의 상기 디스크에서 취급되는 물리 섹터수에 관한 제약의 완화 가능한 정도를 나타내는 내용의 섹터 정보를 기억하는 섹터 정보 기억 단계와,
    상기 제어 장치로부터 디스크 드라이브 장치에 대해서, 섹터 정보에 대해서 문의하는 섹터 정보 문의 단계와,
    상기 디스크 드라이브 장치가, 상기 문의에 따라, 상기 섹터 정보를 상기 제어 장치에 대해서 통지하는 섹터 정보 통지 단계와,
    상기 제어 장치가, 상기 섹터 정보에 기초하여, 디스크 드라이브 장치에 대해서 상기 제약을 완화하도록 지시하는 지시 단계와,
    상기 디스크 드라이브 장치가 상기 지시를 접수하는 지시 접수 단계와,
    상기 지시 단계 후에, 상기 제어 장치로부터 디스크 드라이브 장치에 대해서, 데이터의 전송을 요구하는 데이터 전송 요구 단계와,
    상기 디스크 드라이브 장치가, 상기 지시 및 요구에 따라, 상기 디스크로의 데이터의 기입, 또는 상기 디스크로부터의 데이터의 독출을 행함으로써, 상기 제어 장치와 디스크 드라이브 장치의 사이에서 데이터를 전송시키는 데이터 전송 단계를 포함하는 것을 특징으로 하는 프로그램.
  27. 제26항에 있어서, 상기 섹터 정보 기억 단계에서,
    상기 섹터 정보에는, 한번에 액세스 가능한 물리 섹터수의 확장 가능한 정도를 나타내는 내용이 설정되어 있고,
    상기 지시 접수 단계에서,
    상기 지시를 접수한 디스크 드라이브 장치는 상기 물리 섹터수를 확장하는 것을 특징으로 하는 프로그램.
  28. 제26항에 있어서, 상기 섹터 정보 기억 단계에서,
    상기 섹터 정보에는, 상기 디스크 드라이브 장치에 의해서 간주되는 상기 물리 섹터의 1개당의 사이즈의 확장 가능한 정도를 나타내는 내용이 더 설정되어 있고,
    상기 지시 접수 단계에서,
    상기 지시를 접수한 디스크 드라이브 장치는 상기 사이즈를 확장하고,
    상기 데이터 전송 단계에서,
    상기 디스크 드라이브 장치는, 상기 확장된 사이즈에 상당하는 상기 디스크의 일부를 1개의 섹터로서 취급하는 것을 특징으로 하는 프로그램.
  29. 제26항에 있어서, 상기 섹터 정보 기억 단계에서,
    상기 섹터 정보에는, 상기 제어 장치로부터 상기 디스크의 각 물리 섹터에 할당된 어드레스를 지정하여 데이터 전송의 요구를 받았을 때에 있어서의 상기 어드레스의 지정 범위의 확장 가능한 정도를 나타내는 내용이 더 설정되어 있고,
    상기 지시 접수 단계에서,
    상기 지시를 접수한 디스크 드라이브 장치는 상기 어드레스의 지정 범위를 확장하는 것을 특징으로 하는 프로그램.
KR10-2003-7002058A 2001-06-13 2002-06-12 디스크 드라이브 장치 및 그 제어 장치 KR20030022392A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001178108 2001-06-13
JPJP-P-2001-00178108 2001-06-13
PCT/JP2002/005881 WO2002103697A1 (fr) 2001-06-13 2002-06-12 Unite de disque et controleur

Publications (1)

Publication Number Publication Date
KR20030022392A true KR20030022392A (ko) 2003-03-15

Family

ID=19018857

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7002058A KR20030022392A (ko) 2001-06-13 2002-06-12 디스크 드라이브 장치 및 그 제어 장치

Country Status (5)

Country Link
US (1) US20030023807A1 (ko)
EP (1) EP1324334A4 (ko)
KR (1) KR20030022392A (ko)
CN (1) CN1463430A (ko)
WO (1) WO2002103697A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100713769B1 (ko) * 2005-02-17 2007-05-04 후지쯔 가부시끼가이샤 디스크 관리 장치 및 디스크 관리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
US7898757B2 (en) 2007-07-18 2011-03-01 Samsung Electronics Co., Ltd. Hard disk drive with divided data sectors and hard disk drive controller for controlling the same

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005024622A2 (en) * 2003-09-11 2005-03-17 Koninklijke Philips Electronics N.V. Retrieving data from an information carrier
JP4970078B2 (ja) * 2007-02-21 2012-07-04 株式会社東芝 不揮発性メモリシステム
JPWO2009087976A1 (ja) * 2008-01-11 2011-05-26 パナソニック株式会社 光ディスク制御装置
US20110022793A1 (en) * 2008-03-31 2011-01-27 Gaspard Walter A Systems And Methods For Accessing Hard Disk Drives
CN102211426B (zh) * 2010-04-06 2015-03-25 Jnc株式会社 使用伸长性无纺布的复合体
KR20120098325A (ko) * 2011-02-28 2012-09-05 에스케이하이닉스 주식회사 비휘발성 메모리 시스템 및 이를 위한 특성 정보 설정 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181610A (ja) * 1992-01-07 1993-07-23 Hokkaido Nippon Denki Software Kk 磁気ディスク装置制御方式
US5706472A (en) * 1995-02-23 1998-01-06 Powerquest Corporation Method for manipulating disk partitions
JP3444056B2 (ja) * 1995-10-20 2003-09-08 ソニー株式会社 記録再生装置及び記録再生方法
JP3704767B2 (ja) * 1995-11-16 2005-10-12 ソニー株式会社 情報記録装置
US5812883A (en) * 1995-11-22 1998-09-22 Mitsubishi Chemical America, Inc. System for reading and storing formatting information after formatting a first storage medium and using the stored formatting information to format a second storage medium
JP2000200153A (ja) * 1999-01-07 2000-07-18 Nec Corp デ―タ転送システムおよびデ―タ転送方法
US6385711B1 (en) * 1999-04-26 2002-05-07 Dell Products, L.P. 1394 hard disk sector format selection
JP2001118335A (ja) * 1999-10-14 2001-04-27 Internatl Business Mach Corp <Ibm> データ記録・再生装置、データ記録方法、データ再生方法、データ記録・再生方法、ハードディスクコントローラおよびavデータの記録・再生方法
JP2001222380A (ja) * 2000-02-07 2001-08-17 Hitachi Ltd 外部記憶装置とそれを備えた情報処理システム
JP2001228979A (ja) * 2000-02-14 2001-08-24 Hitachi Ltd ディスク装置のインターフェース制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100713769B1 (ko) * 2005-02-17 2007-05-04 후지쯔 가부시끼가이샤 디스크 관리 장치 및 디스크 관리 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
US7898757B2 (en) 2007-07-18 2011-03-01 Samsung Electronics Co., Ltd. Hard disk drive with divided data sectors and hard disk drive controller for controlling the same

Also Published As

Publication number Publication date
WO2002103697B1 (fr) 2003-03-06
WO2002103697A1 (fr) 2002-12-27
CN1463430A (zh) 2003-12-24
EP1324334A1 (en) 2003-07-02
US20030023807A1 (en) 2003-01-30
EP1324334A4 (en) 2007-11-14

Similar Documents

Publication Publication Date Title
US6918054B2 (en) Storage apparatus and control method thereof
EP1389760B1 (en) Data transfer control system, program and data transfer control method
US7284103B2 (en) Data copy method
US8924606B2 (en) Storage system and data transfer control method
KR20050066228A (ko) 플래시 메모리의 데이터 관리 장치 및 방법
JP2004086503A (ja) メモリカード認識システム、メモリカード・ホスト機器、メモリカード、記憶領域切り替え方法及び記憶領域切り替えプログラム
KR20030022392A (ko) 디스크 드라이브 장치 및 그 제어 장치
US6092170A (en) Data transfer apparatus between devices
US8266328B2 (en) Disk device assigned ID codes for storage areas of external storage device
WO2009123603A1 (en) Systems and methods for accessing hard disk drives
US7546403B2 (en) Method and apparatus for a disc drive client interface
US20080256289A1 (en) Memory apparatus to write and read data, and method thereof
JP2003077219A (ja) ディスクドライブ装置及びその制御装置
JP4979206B2 (ja) 情報処理方法および情報処理装置
US6915359B2 (en) Data transfer device, data transfer method, data transfer program and computer readable storage medium thereof
JP4232678B2 (ja) 情報処理装置および情報処理方法、並びにプログラムおよびプログラム記録媒体
US20050262297A1 (en) Disk drive connected to host system via memory interface circuit, and interface connecting method
US7363428B2 (en) Microprocessor with hot routine memory and method of operation
JP4432533B2 (ja) インタフェース制御装置および方法、並びにプログラム
TW200413940A (en) Method and apparatus for handling data transfers
US20080040536A1 (en) Method and apparatus for device to request and operate an external buffer provided from the host
JP3546741B2 (ja) ハードディスクユニット及びそれに用いるユーザ領域設定方法並びにその制御プログラムを記録した記録媒体
JP2008117491A (ja) 記録装置、記録方法、およびプログラム
US20010005844A1 (en) Peripheral unit and computer system
JP4269915B2 (ja) 記録再生装置及び方法、並びに記録再生システム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid