KR100899826B1 - 기억 장치, 기억 장치 제어 방법 및 제어 장치 - Google Patents

기억 장치, 기억 장치 제어 방법 및 제어 장치 Download PDF

Info

Publication number
KR100899826B1
KR100899826B1 KR1020070040314A KR20070040314A KR100899826B1 KR 100899826 B1 KR100899826 B1 KR 100899826B1 KR 1020070040314 A KR1020070040314 A KR 1020070040314A KR 20070040314 A KR20070040314 A KR 20070040314A KR 100899826 B1 KR100899826 B1 KR 100899826B1
Authority
KR
South Korea
Prior art keywords
recording
data
measured value
value
recording request
Prior art date
Application number
KR1020070040314A
Other languages
English (en)
Other versions
KR20080029738A (ko
Inventor
마사미 타시로
토시미츠 쿠메
Original Assignee
후지쯔 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후지쯔 가부시끼가이샤 filed Critical 후지쯔 가부시끼가이샤
Publication of KR20080029738A publication Critical patent/KR20080029738A/ko
Application granted granted Critical
Publication of KR100899826B1 publication Critical patent/KR100899826B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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
    • 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
    • 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
    • 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
    • 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/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10666Ring buffers, e.g. buffers wherein an iteratively progressing read or write pointer moves back to the beginning of the buffer when reaching the last storage cell
    • 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/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • G11B2020/10694Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control output interface, i.e. the way data leave the buffer, e.g. by adjusting the clock rate
    • 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/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • 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
    • 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/2537Optical 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)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 커맨드 처리 시간을 단축할 수 있는 기억 장치, 기억 장치 제어 방법, 제어 장치를 제공하는 것을 목적으로 한다.
외부 장치로부터의 기록 요구를 수신할 수 있는 기억 장치로서, 기억 매체의 트랙 상의 헤드 위치에 관한 제1 계측값을 계측하는 FMT 위치 카운터(51)와, 외부장치로부터의 기록 요구에 포함된 데이터인 기록 요구 데이터 중 수령이 종료된 데이터량에 관한 제2 계측값을 계측하는 데이터 수령 카운터(41)와, FMT 위치 카운터(51)에 의해 계측된 제1 계측값과 데이터 수령 카운터(41)에 의해 계측된 제2 계측값에 기초하여 트랙에의 데이터 기록의 제어를 행하는 시퀀셜 제어부(52)를 구비하였다.

Description

기억 장치, 기억 장치 제어 방법 및 제어 장치{STORAGE APPARATUS, STORAGE APPARATUS CONTROL METHOD, AND CONTROL APPARATUS}
도 1은 실시 형태 1에 따른 자기 디스크 장치 구성의 일례를 도시한 블록도.
도 2는 실시 형태 1에 따른 디스크 제어부 구성의 일례를 도시한 블록도.
도 3은 실시 형태 1에 따른 기록 커맨드 처리 동작의 일례를 도시한 흐름도.
도 4는 실시 형태 2에 따른 디스크 제어부 구성의 일례를 도시한 블록도.
도 5는 실시 형태 2에 따른 기록 커맨드 처리 동작의 일례를 도시한 흐름도.
도 6은 실시 형태 2에 따른 상태 카운터 갱신 처리 동작의 일례를 도시한 흐름도.
도 7은 실시 형태 2에 따른 기록 개소 기록부 테이블의 예를 도시한 도면.
도 8은 실시 형태 2에 따른 기록 개소 기록부의 비트맵의 예를 도시한 도면.
도 9는 실시 형태 2에 따른 기록 커맨드 처리의 구체예의 1번째 회전에 있어서의 각 블록의 수령과 각 섹터에의 기록의 시간 관계를 도시한 도면.
도 10은 실시 형태 2에 따른 기록 커맨드 처리의 구체예의 2번째 회전에 있어서의 각 블록의 수령과 각 섹터에의 기록의 시간 관계를 도시한 도면.
도 11은 실시 형태 2에 따른 기록 커맨드 처리 동작의 구체예에 있어서의 트랙(t)과 헤드 위치의 위치 관계를 도시한 도면.
도 12는 실시 형태 2에 따른 기록 커맨드 처리의 구체예에 있어서의 기록 개소 기록부의 테이블 내용을 도시한 도면.
도 13은 실시 형태 2에 따른 기록 커맨드 처리의 구체예에 있어서의 기록 개소 기록부의 비트맵의 내용을 도시한 도면.
도 14는 실시 형태 3에 따른 상태 카운터 갱신 처리 동작의 일례를 도시한 흐름도.
도 15는 실시 형태 4에 따른 제1 복수 트랙 기록 커맨드 처리 동작의 일례를 도시한 흐름도.
도 16은 실시 형태 4에 따른 제2 복수 트랙 기록 커맨드 처리 동작의 일례를 도시한 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
11 : 마이크로 프로세서
12 : 디스크 제어부
13 : 데이터 버퍼
14 : 모터 구동 제어부
15 : 헤드 위치 결정 제어부
16 : 판독 기록 제어부
21 : 스핀들 모터
22 : 액츄에이터
23 : 헤드
24 : 디스크 매체
31 : I/F 제어부
32 : 데이터 버퍼 관리부
33 : FMT
41 : 데이터 수령 카운터
42 : 데이터 흐름 제어부
51 : FMT 위치 카운터
52 : 시퀀셜 제어부
55 : 기록 개시 FMT 위치 카운터
56 : 기록 종료 블록 카운터
본 발명은 외부로부터의 기록 지시에 기초하여 매체에의 기록을 행하는 기억 장치, 기억 장치 제어 방법, 제어 장치에 관한 것이다.
종래, HDD(Hard Disk Drive)나 광디스크 장치 등의 기억 장치에 있어서, 호스트로부터 발행된 기록 커맨드는 그 기록 커맨드에 지정된 선두 블록으로부터 순서대로 매체에 기록된다.
또한, 본 발명과 관련이 있는 종래 기술로서, 판독 커맨드 실행 처리의 지연을 막는 동시에, 중복 데이터를 갖는 기록 커맨드 사이의 처리를 효율화하는 디스 크 장치가 있다(예컨대, 특허 문헌 1 참조).
[특허 문헌 1] 일본 특허 공개 제2001-209500호 공보
그러나, 매체가 회전체인 기억 장치의 경우, 기록 커맨드에 의해 지정된 선두 섹터에 헤드 위치가 도달할 때까지 기록 처리를 개시할 수 없기 때문에, 커맨드 처리 시간을 단축하기 어렵고, 기억 장치의 성능 향상의 방해가 되고 있었다.
본 발명은 전술한 문제점을 해결하기 위해 이루어진 것이며, 커맨드 처리 시간을 단축할 수 있는 기억 장치, 기억 장치 제어 방법, 제어 장치를 제공하는 것을 목적으로 한다.
전술한 과제를 해결하기 위해, 본 발명은 외부 장치로부터의 기록 요구를 수신할 수 있는 기억 장치로서, 기억 매체 트랙 상의 헤드 위치에 관한 제1 계측값을 계측하는 제1 계측부와, 외부 장치로부터의 기록 요구에 포함된 데이터인 기록 요구 데이터 중 수령이 종료된 데이터량에 관한 제2 계측값을 계측하는 제2 계측부와, 상기 제1 계측부에 의해 계측된 제1 계측값과 상기 제2 계측부에 의해 계측된 제2 계측값에 기초하여, 상기 트랙에 기록하는 데이터의 제어를 행하는 제어부를 구비한 것이다.
또한, 본 발명에 따른 기억 장치에 있어서, 상기 제1 계측값은 상기 트랙 상에 있어서 상기 기록 요구 데이터의 선두를 기록해야하는 위치로부터 현재의 헤드 위치까지 기록할 수 있는 데이터량으로 나타내고, 상기 제2 계측값은 상기 기록 요 구 데이터 중 수령이 종료된 데이터량으로 나타내는 것을 특징으로 한다.
또한, 본 발명에 따른 기억 장치에 있어서, 상기 제어부는 상기 제1 계측값이 상기 제2 계측값보다 작은 경우, 상기 기록 요구 데이터 중 상기 헤드 위치에 대응하는 데이터의 기록을 행하는 것을 특징으로 한다.
또한, 본 발명에 따른 기억 장치에 있어서, 상기 데이터량은 블록을 단위로서 나타내는 것을 특징으로 한다.
또한, 본 발명에 따른 기억 장치에 있어서, 상기 제어부는 상기 기록 요구 데이터의 기록이 완료되었다고 판단한 경우, 상기 외부 장치에 기록 요구에 대한 처리의 완료를 보고하는 것을 특징으로 한다.
또한, 본 발명에 따른 기억 장치에 있어서, 또한, 상기 기록 요구 데이터 중 기록이 행해진 블록수인 제3 계측값을 계측하는 제3 계측부를 구비하고, 상기 제어부는 기록을 개시한 제1 계측값을 개시 제1 계측값으로서 기억하며, 상기 제1 계측값과 상기 제2 계측값에 기초하여 연속하는 블록의 기록을 중단한 경우, 상기 개시한 제1 계측값과 상기 제3 계측부에 의해 계측된 제3 계측값에 기초하여, 다음에 기록해야하는 상기 기억 매체 상의 위치를 결정하는 것을 특징으로 한다.
또한, 본 발명에 따른 기억 장치에 있어서, 또한, 상기 기록 요구 데이터의 선두로부터 연속하여 기록을 완료한 블록수인 제4 계측값을 계측하는 제4 계측부를 구비하고, 상기 제어부는 상기 제4 계측부에 의해 계측된 제4 계측값이 상기 기록 요구 데이터 중 블록수인 요구 블록수 이상이 된 경우, 상기 기록 요구 데이터의 기록이 완료되었다고 판단하는 것을 특징으로 한다.
또한, 본 발명에 따른 기억 장치에 있어서, 상기 제어부는 상기 제4 계측부에 의해 계측된 연속 기록 블록수에 대응하는 데이터 버퍼를 해방하는 것을 특징으로 한다.
또한, 본 발명에 따른 기억 장치에 있어서, 또한, 상기 기록 요구 데이터 중 각 블록에 대해서 기록이 완료되었는지 여부의 정보를 기억하는 기록 정보 기억부를 구비하고, 상기 제어부는 상기 기록 정보 기억부에 기억된 정보에 기초하여, 기록이 완료된 블록의 기록을 행하지 않는 것을 특징으로 한다.
또한, 본 발명에 따른 기억 장치에 있어서, 상기 기억 장치가 복수의 기록 요구를 수신하고, 상기 복수의 기록 요구 중 블록의 논리 어드레스가 연속하고 있는 경우, 상기 제어부는 복수의 기록 요구에 포함된 데이터를 하나의 기록 요구 데이터로 하는 것을 특징으로 한다.
또한, 본 발명에 따른 기억 장치에 있어서, 상기 복수의 기록 요구에 있어서의 기록 요구의 순서에 따라, 상기 기록 요구에 대한 처리의 완료를 상기 외부 장치에 보고하는 것을 특징으로 한다.
또한, 본 발명에 따른 기억 장치에 있어서, 상기 기록 요구 데이터를 기록해야하는 상기 기억 매체 상의 위치가 복수의 트랙에 걸치는 경우, 상기 제1 계측부 는 상기 복수의 트랙을 통과시킨 값으로서 제1 계측값을 계측하는 것을 특징으로 한다.
또한, 본 발명에 따른 기억 장치에 있어서, 상기 기록 요구 데이터를 기록해야하는 상기 기억 매체 상의 위치가 복수의 트랙에 걸치는 경우, 상기 제2 계측부 는 트랙마다 제2 계측값을 계측하는 것을 특징으로 한다.
또한, 본 발명은 외부 장치로부터의 기록 요구를 수신할 수 있는 기억 장치의 제어를 행하는 기억 장치 제어 방법으로서, 기억 매체의 트랙 상의 헤드 위치에 관한 제1 계측값을 계측하는 동시에, 외부 장치로부터의 기록 요구에 포함된 데이터인 기록 요구 데이터 중 수령이 종료된 데이터량에 관한 제2 계측값을 계측하는 계측 단계와, 상기 계측 단계에 의해 계측된 제1 계측값과 상기 계측 단계에 의해 계측된 제2 계측값에 기초하여, 상기 트랙에 기록하는 데이터의 제어를 행하는 제어 단계를 실행하는 것이다.
전술한 과제를 해결하기 위해, 본 발명은 외부 장치로부터의 기록 요구를 수신할 수 있는 기억 장치의 제어를 행하는 제어 장치로서, 기억 매체의 트랙 상의 헤드 위치에 관한 제1 계측값을 계측하는 제1 계측부와, 외부 장치로부터의 기록 요구에 포함된 데이터인 기록 요구 데이터 중 수령이 종료된 데이터량에 관한 제2 계측값을 계측하는 제2 계측부와, 상기 제1 계측부에 의해 계측된 제1 계측값과 상기 제2 계측부에 의해 계측된 제2 계측값에 기초하여, 상기 트랙에 기록하는 데이터의 제어를 행하는 제어부를 구비한 것이다.
이하, 본 발명의 실시 형태에 대해서 도면을 참조하면서 설명한다.
실시 형태 1.
우선, 본 실시 형태에 따른 자기 디스크 장치(기억 장치)의 구성에 대해서 설명한다.
도 1은 본 실시 형태에 따른 자기 디스크 장치 구성의 일례를 도시하는 블록 도이다. 이 자기 디스크 장치는 마이크로 프로세서(11), 디스크 제어부(12), 데이터 버퍼(13), 모터 구동 제어부(14), 헤드 위치 결정 제어부(15), 판독 기록 제어부(16), 스핀들 모터(21), 액츄에이터(22), 헤드(23), 디스크 매체(24)를 구비한다.
마이크로 프로세서(11)는 디스크 제어부(12), 모터 구동 제어부(14), 헤드 위치 결정 제어부(15)의 제어를 행한다. 모터 구동 제어부(14)는 마이크로 프로세서(11)와 디스크 제어부(12)로부터의 지시에 따라 스핀들 모터(21)를 제어하고, 스핀들 모터(21)는 디스크 매체(24)를 회전시킨다. 헤드 위치 결정 제어부(15)는 마이크로 프로세서(11)와 디스크 제어부(12)로부터의 지시에 따라 액츄에이터(22)를 제어하고, 액츄에이터(22)는 헤드(23)를 이동시킨다.
디스크 제어부(12)는 PC(Personal Computer) 등의 상위 장치(호스트)에 접속된다. 호스트로부터 디스크 제어부(12)에 기록 커맨드가 보내진 경우, 기록하는 데이터는 판독 기록 제어부(16)에서 데이터에 따른 신호로 변환되고, 헤드(23)에 의해 디스크 매체(24)에 기록된다. 또한, 호스트로부터 디스크 제어부(12)에 판독 커맨드가 보내진 경우, 디스크 매체(24)로부터 헤드(23)에 판독된 신호는 판독 기록 제어부(16)에서 데이터로 변환되고, 디스크 제어부(12)로부터 호스트에 보내진다.
도 2는 본 실시 형태에 따른 디스크 제어부(12) 구성의 일례를 도시하는 블록도이다. 디스크 제어부(12)는 I/F(Interface) 제어부(31), 데이터 버퍼 관리부(32), FMT(33)(Disk Formatter)를 구비한다. 데이터 버퍼 관리부(32)는 데이터 수령 카운터(41), 데이터 흐름 제어부(42)를 구비한다. FMT(33)는 FMT 위치 카운터(51), 시퀀셜 제어부(52), 기록 개시 FMT 위치 카운터(55), 기록 종료된 블록 카운터(56)를 구비한다.
FMT(33)는 상위 장치로부터의 커맨드로 지시된 LBA(Logical Block Address)를 커맨드로 지시된 범위 내의 논리 어드레스인 FMT 위치 및 디스크 매체(24) 상의 물리 어드레스로 변환하여 커맨드 처리를 행한다.
I/F 제어부(31)는 상위 장치와의 I/F의 제어를 행한다. 데이터 수령 카운터(41)는 기록 커맨드 수령시에 호스트로부터 수령한 데이터량을 블록 단위로 나타내는 카운터이다. FMT 위치 카운터(51)는 기록 커맨드로 지정된 기록 요구 범위의 선두 섹터로부터의 논리 어드레스인 FMT 위치로서, 현재의 헤드 위치를 나타내는 카운터이다. 여기서, 블록은 섹터에 대응한다. 데이터 흐름 제어부(42)는 데이터 버퍼(13)(링 버퍼) 제어 등의 흐름 제어를 행한다. 시퀀셜 제어부(52)는 커맨드 처리의 제어를 행한다.
기록 개시 FMT 위치 카운터(55)는 최초에 기록을 행한 FMT 위치 카운터(51)값을 기억한다. 기록 종료 블록 카운터(56)는 기록이 완료된 섹터수를 나타내는 카운터이다.
다음에, 호스트로부터 기록 커맨드를 수령한 경우의 처리인 기록 커맨드의 처리 동작에 대해서 설명한다.
여기서, 기록 커맨드로 요구된 블록수를 요구 블록으로 한다. 도 3은 본 실시 형태에 따른 기록 커맨드 처리 동작의 일례를 나타내는 흐름도이다. 우선, 시 퀀셜 제어부(52)는 기록 개시 FMT 위치 카운터(55)값을 -1로 초기화하는 동시에 기록 종료 블록 카운터(56)값을 0으로 초기화한다(S41). 다음에, 시퀀셜 제어부(52)는 현재의 헤드 위치가 섹터의 선두인지 여부의 판단을 행하여 선두가 아닌 경우(S42, 아니요), 처리 S42로 되돌아가며, 선두인 경우(S42, 예), 다음 처리로 이행한다. 다음에, 시퀀셜 제어부(52)는 데이터 수령 카운터(41)값이 FMT 위치 카운터(51)값보다 큰지 여부의 판단을 행한다(S43).
데이터 수령 카운터(41)값이 FMT 위치 카운터(51)값보다 크지 않은 경우(S43, 아니요), 시퀀셜 제어부(52)는 기록 개시 FMT 위치 카운터(55)값이 -1인지 여부의 판단을 행하여 -1인 경우(S44, 예), 처리 S42로 되돌아가고, -1이 아닌 경우(S44, 아니요), 연속 처리 종료로서 이 흐름은 종료된다.
연속 처리는 기록 개시 FMT 위치에 대응하는 블록인 기록 개시 블록으로부터 연속하여 블록을 기록하는 처리이다. 연속 처리 종료의 경우, 기록 요구 범위 중 연속 처리로 기록할 수 없었던 블록인 미기록 블록의 기록이 필요해진다. 기록 개시 FMT 위치 카운터(55)값과 기록 종료 블록 카운터(56)값에 의해 기록 종료 범위를 특정할 수 있기 때문에, 연속 처리 종료 후, 다음에 헤드 위치가 선두 섹터에 도달한 시점에서, 시퀀셜 제어부(52)는 미기록 블록 중 다음 기록의 개시 블록을 특정하고, 미기록 블록의 기록을 행한다. 또한, 시퀀셜 제어부(52)는 기록 종료 블록 카운터(56)값이 요구 블록수 이상이 된 시점에서 호스트에 기록 커맨드 종료 상태 보고를 행한다.
데이터 수령 카운터(41)값이 FMT 위치 카운터(51)값보다 큰 경우(S43, 예), 시퀀셜 제어부(52)는 기록 개시 FMT 위치 카운터(55)값이 -1인지 여부의 판단을 행하여 -1이 아닌 경우(S45, 아니요), 처리 S47로 이행하고, -1인 경우(S45, 예), 다음 처리로 이행한다. 다음에, 시퀀셜 제어부(52)는 기록 개시 FMT 위치 카운터(55)값을 FMT 위치 카운터(51)값으로 한다(S46).
다음에, 1 섹터분의 기록 처리인 1 섹터 처리를 행하여(S47) 정상적으로 처리되었는지 여부의 판단을 행하여 정상적으로 처리되지 않은 경우(S48, 아니요), 이상 종료로서 이 흐름은 종료되고, 정상적으로 처리된 경우(S48, 예), 다음 처리로 이행한다. 다음에, 시퀀셜 제어부(52)는 기록 종료 블록 카운터(56)값을 증분하고, 요구 블록수분의 처리를 종료하였는지 여부(기록 종료 블록 카운터(56)값이 요구 블록수에 도달하였는지 여부)의 판단을 행하여 종료되지 않은 경우(S49, 아니요), 처리 S42로 되돌아가고, 종료된 경우(S49, 예), 정상 종료로서 이 흐름은 종료된다.
본 실시 형태에 의하면, 기록 커맨드에 의해 데이터를 수령한 경우, 수령이 종료된 블록 중 즉시 기록할 수 있는 블록으로부터 기록함으로써, 커맨드 처리 시간을 단축할 수 있다. 또한, 기록 개시 위치와 기록 종료 블록수를 기억함으로써, 다음에 기록 범위의 선두 섹터에 도달하였을 때에 기록 종료되지 않은 블록만의 기록을 행하고, 기록 요구 범위의 최종 섹터를 헤드 위치가 통과할 때까지 대기하는 일 없이, 커맨드 처리를 종료함으로써, 커맨드 처리 시간을 단축할 수 있다.
실시 형태 2.
본 실시 형태에 있어서는 기록 요구 범위에서의 블록이 기록 종료인지 여부 를 기록하는 자기 디스크 장치에 대해서 설명한다.
본 실시 형태에 따른 자기 디스크 장치의 구성은 실시 형태 1과 동일하다.
다음에, 디스크 제어부(12)의 구성에 대해서 설명한다.
도 4는 본 실시 형태에 따른 디스크 제어부(12) 구성의 일례를 나타내는 블록도이다. 이 도면에 있어서, 도 2와 동일 부호는 도 2에 표시된 대상과 동일하거나 또는 상당물을 나타내고 있으며, 여기서의 설명을 생략한다. 이 도면은 도 2와 비교하면, 기록 개시 FMT 위치 카운터(55), 기록 종료 블록 카운터(56) 대신에, 상태 카운터(53), 기록 개소 기록부(54)를 구비한다.
기록 개소 기록부(54)는 기록 커맨드로 지정된 기록 요구 범위의 요구 블록에 대해서 기록이 완료된 블록, 또는 기록이 완료되지 않은 블록을 기록한다. 상태 카운터(53)는 선두 섹터로부터 연속하여 기록 종료된 섹터수를 나타내는 카운터이다. 따라서, 상태 카운터(53)값이 기록 커맨드로 요구된 블록수인 요구 블록수 이상이 된 경우, 그 기록 커맨드 처리가 완료되게 된다. 또한, 상태 카운터(53)값은 기록 커맨드에 의해 확보된 데이터 버퍼(13) 영역 중 해방 가능한 양(블록수)을 나타내게 된다. 데이터 흐름 제어부(42)는 상태 카운터(53)값에 따라 데이터 버퍼(13) 해방 등의 흐름 제어를 행한다.
다음에, 기록 커맨드 처리 동작에 대해서 설명한다.
도 5는 본 실시 형태에 따른 기록 커맨드 처리 동작의 일례를 나타내는 흐름도이다. 우선, 디스크 제어부(12)는 기록 개소 기록부(54)를 초기화한다(S51). 다음에, 디스크 제어부(12)는 현재의 헤드 위치가 섹터의 선두인지 여부의 판단을 행하여 선두가 아닌 경우(S52, 아니요), 처리 S52로 되돌아가고, 선두인 경우(S52, 예), 다음 처리로 이행한다. 다음에, 디스크 제어부(12)는 데이터 수령 카운터(41)값이 FMT 위치 카운터(51)값보다 큰지 여부의 판단을 행하여 데이터 수령 카운터(41)값이 FMT 위치 카운터(51)값보다 크지 않은 경우(S53, 아니요), 처리 S52로 되돌아가고, 데이터 수령 카운터(41)값이 FMT 위치 카운터(51)값보다 큰 경우(S53,예), 다음 처리로 이행한다.
다음에, 디스크 제어부(12)는 기록 개소 기록부(54)를 참조하여, 현재의 섹터가 미기록 섹터인지 여부의 판단을 행하여 미기록 섹터가 아닌 경우(S54, 아니요), 처리 S52로 되돌아가고, 미기록 섹터인 경우(S54, 예), 다음 처리로 이행한다. 다음에, 디스크 제어부(12)는 현재의 섹터를 기록 종료로 하여 기록 개소 기록부(54)의 갱신을 행하고(S55), 1 섹터분의 기록 처리인 1 섹터 처리를 행하여(S56) 정상적으로 처리되었는지 여부의 판단을 행하고, 정상적으로 처리되지 않은 경우(S57, 아니요), 이상 종료로서 이 흐름은 종료되며, 정상적으로 처리된 경우(S57, 예), 다음 처리로 이행한다.
다음에, 디스크 제어부(12)는 상태 카운터 갱신 처리를 행하고(S58), 기록 개소 기록부(54)를 참조하여 요구 블록수분의 처리를 종료하였는지 여부[상태 카운터(53)값이 요구 블록수에 도달하였는지 여부]의 판단을 행하여 종료하지 않은 경우(S59, 아니요), 처리 S52로 되돌아가고, 종료한 경우(S59, 예), 정상 종료로서 이 흐름은 종료된다.
다음에, 상태 카운터 갱신 처리에 대해서 설명한다.
기록 커맨드 처리의 개시시, 상태 카운터(53)값은 0으로 초기화된다. 또한, 요구 블록수를 잠정 요구 블록수로 한다. 도 6은 본 실시 형태에 따른 상태 카운터 갱신 처리 동작의 일례를 나타내는 흐름도이다. 우선, 디스크 제어부(12)는 현재의 섹터보다 앞에 기록하는 섹터가 없는지 여부의 판단을 행한다(S61).
기록하는 섹터가 있는 경우(S61, 아니요), 디스크 제어부(12)는 직전의 섹터 기록이 종료하고 있는지 여부의 판단을 행하여 종료하지 않는 경우(S62, 아니요), 이 흐름은 종료하고, 종료하고 있는 경우(S62, 예), 처리 S63으로 이행한다.
기록하는 섹터가 없는 경우(S61, 예), 디스크 제어부(12)는 상태 카운터(53)값의 증분을 행한다(S63). 다음에, 디스크 제어부(12)는 직후의 섹터 기록이 종료하고 있는지 여부의 판단을 행하여 종료하지 않는 경우(S64, 아니요), 이 흐름은 종료하고, 종료하고 있는 경우(S64, 예), 다음 처리로 이행한다. 다음에, 디스크 제어부(12)는 디스크 제어부(12)는 상태 카운터(53)값의 증분을 행한다(S65).
다음에, 디스크 제어부(12)는 상태 카운터(53)값<잠정 요구 블록수의 조건을 만족하는지 여부의 판단을 행하여 조건을 만족하지 않는 경우(S66, 아니요), 처리 S64로 되돌아가고, 조건을 만족하는 경우(S66, 예), 호스트에 기록 커맨드 완료 상태 보고를 행하며(S67), 이 흐름은 종료한다.
다음에, 기록 개소 기록부(54)에 대해서 설명한다. 여기서는 기록 개소 기록부(54)가 테이블인 경우와 비트맵인 경우에 대해서 설명한다.
우선, 기록 개소 기록부(54)가 기록 요구 범위 중 미기록 블록의 범위인 미기록 블록 범위를 4개까지 기록할 수 있는 테이블인 경우에 대해서 설명한다. 처 리 S51에 의해 테이블에는 기록 요구 범위가 미기록 블록 범위로서 기록되고, 그 외에는 전부 무효로서 초기화된다. 도 7은 본 실시 형태에 따른 기록 개소 기록부의 테이블의 예를 나타내는 도면이다. 이 예는 FMT 위치(Fmt Cnt)=3, 4가 연속하여 기록된 경우를 나타낸다. 따라서, FMT 위치≤2의 범위(FMT 위치=0에서 2 블록분)와, FMT 위치≥5의 범위(FMT 위치=5로부터 4 블록분)가 미기록 블록으로서 기록되어 있다.
우선, 기록 개소 기록부(54)가, 블록마다의 기록 종료(1)인지 미기록(0)인지를 나타내는 피트를 기록할 수 있는 비트맵인 경우에 대해서 설명한다. 처리 S51에 의해, 비트는 전부 0으로서 초기화된다. 도 8은 본 실시 형태에 따른 기록 개소 기록부의 비트맵의 예를 나타내는 도면이다. 이 예는 FMT 위치(FMT 위치)=3, 4가 연속하여 기록된 경우를 나타낸다. 따라서, FMT 위치=3, 4의 비트만이 1로서 기록되어 있다.
다음에, 기록 커맨드 처리 동작의 구체예에 대해서 설명한다.
여기서, 데이터 수령 직전에 헤드 위치가 FMT 위치=0을 통과한 시점으로부터 디스크 매체(24)의 회전을 1번째 회전으로 하고, 다음 회전을 2번째 회전으로 한다. 도 9는 본 실시 형태에 따른 기록 커맨드 처리 구체예의 1번째 회전에 있어서의 각 블록의 수령과 각 섹터에의 기록 시간 관계를 나타내는 도면이다. 도 10은 본 실시 형태에 따른 기록 커맨드 처리 구체예의 2번째 회전에 있어서의 각 블록의 수령과 각 섹터에의 기록 시간 관계를 나타내는 도면이다.
이들 2개의 도면에서 횡축은 시각을 나타낸다. 상단의 "Data x"라고 적은 직사각형은 호스트로부터 수령한 데이터의 블록을 나타낸다. 블록의 위치는 수령한 시각에 대응하여 좌측으로부터 우측을 향하여 증가한다. 각 블록의 수령 완료 시점에 기록된 수치는 데이터 수령 카운터(41)값을 나타낸다. 또한, 하단의 "Sct x"라고 적은 직사각형은 섹터를 나타낸다. 섹터의 위치는 물리 어드레스에 대응하여, 좌측으로부터 우측을 향하여 증가한다. 각 섹터의 선두에 기록된 수치는 FMT 위치 카운터(51)값을 나타낸다. 섹터 아래에 적은 화살표는 그 범위의 섹터에의 기록을 나타낸다. 섹터 중, "Sct Slip"은 기록을 행하지 않는 섹터를 나타낸다. 여기서, x는 물리 어드레스를 나타낸다. 이 예에 있어서, 기록 요구 범위의 물리 어드레스는 n∼n+6, n+9∼n+10이다.
우선, 1번째 회전에 있어서, 디스크 제어부(12)는 호스트로부터의 데이터 수령을 개시하면, 데이터 수령 카운터(41)를 0으로 초기화하여 기동하는 동시에, 선두 섹터를 0으로 하여 FMT 위치 카운터(51)를 기동한다(S30). 블록 단위로 데이터가 수령되면, 데이터 수령 카운터(41)는 데이터 수령 카운터(41)값을 증분한다. 그 후, 물리 어드레스 n∼n+10을 포함하는 트랙(t)에의 온 트랙 제어(씨크(seek))가 완료된 시점에서(Data n+3을 수령 중, 헤드 위치는 Sct n+2의 도중), 디스크 제어부(12)는 데이터 수령 카운터(41)값과 FMT 위치 카운터(51)값을 비교하여(S31) 데이터 수령 카운터(41)값이 FMT 위치 카운터(51)값보다 크기 때문에[데이터 수령 카운터(41)값=3, FMT 위치 카운터(51)값=2], 다음 Sct n+3으로부터 기록을 개시한다(S32).
그 후, 디스크 제어부(12)는 Sct n+4의 기록을 완료한 시점에서, 데이터 수 령 카운터(41)값이 FMT 위치 카운터(51)값보다 크지 않기 때문에[데이터 수령 카운터(41)값=5, FMT 위치 카운터(51)값=5], 기록해야하는 데이터가 아직 수령되어 있지 않다고 판단하여 기록을 행하지 않고 대기한다. 그 후, Data n+10까지의 모든 데이터의 수령이 완료되고, 헤드 위치가 Sct n+9의 선두에 도달한 시점에서, 데이터 수령 카운터(41)값이 FMT 위치 카운터(51)값보다 크기 때문에[데이터 수령 카운터(41)값=9, FMT 위치 카운터(51)값=7], 디스크 제어부(12)는 다음 Sct n+9로부터 기록을 개시하고(S33), 기록 요구 범위의 최후인 Sct n+10까지 기록을 행한다.
그 후, 2번째 회전에 있어서, 헤드 위치가 Sct n의 선두에 도달한 시점에서, 데이터 수령 카운터(41)값이 FMT 위치 카운터(51)값보다 크기 때문에[데이터 수령 카운터(41)값=9, FMT 위치 카운터(51)값=0], 디스크 제어부(12)는 다음 Sct n으로부터 기록을 개시하고(S34), 또한 기록을 완료하지 않은 Sct n+2까지 기록을 행한다. 여기서, 상태 카운터(53)는 기록 종료된 섹터가 선두 섹터로부터 연속하기 때문에, 상태 카운터(53)값을 갱신하고, 데이터 흐름 제어부(42)는 상태 카운터(53)값만큼 데이터 버퍼(13) 영역의 해방을 행한다.
그 후, 헤드 위치가 Sct n의 선두에 도달한 시점에서, 데이터 수령 카운터(41)값이 FMT 위치 카운터(51)값보다 크기 때문에[데이터 수령 카운터(41)값=9, MT 위치 카운터(51)값=5], 디스크 제어부(12)는 다음 Sct n+5로부터 기록을 개시하고(S35), 아직 기록을 완료하지 않은 Sct n+6까지 기록을 행하여 호스트에 기록 커맨드 완료 상태 보고를 행한다(S36).
도 11은 본 실시 형태에 따른 기록 커맨드 처리 동작의 구체예에 있어서의 트랙(t)과 헤드 위치의 위치 관계를 나타내는 도면이다. 이 도면은 도 9 및 도 10의 구체예에 있어서의 트랙(t)과 헤드 위치의 위치 관계를 나타낸다. 큰 원은 트랙(t)을 나타낸다. 디스크 매체(24)를 기준으로 하면 헤드 위치는 좌회전하고 있다. 처리 S31, S32, S33, S34, S35는 도 9 및 도 10과 동일한 처리를 나타낸다.
도 12는 본 실시 형태에 따른 기록 커맨드 처리의 구체예에 있어서의 기록 개소 기록부의 테이블 내용을 나타내는 도면이다. 이 도면은 도 9 및 도 10과 동일한 처리 S31, S32, S33, S34, S35의 각 시점에서의 테이블 내용을 나타낸다. 또한, 각 테이블의 우측 숫자는 상태 카운터(53)값을 나타낸다. 우선, 처리 S31의 시점에서, 기록 요구 범위의 전부인 FMT 위치=0에서 m 블록분이 미기록 블록 범위로서 초기화되고, 상태 카운터(53)값=0으로 초기화된다. 여기서, m은 요구 블록수이다.
다음에, 처리 S32 완료 시점에서, FMT 위치=3, 4가 기록 종료가 되고, 미기록 블록 범위가 FMT 위치=0에서 3 블록분과 FMT 위치=5에서 m 블록분으로서 갱신된다. 다음에, 처리 S33 완료 시점에서 FMT 위치=7, 8이 기록 종료가 되며, 미기록 블록 범위가 FMT 위치=0에서 3 블록분, FMT 위치=5에서 2 블록분, FMT 위치=7에서 0 블록분으로서 갱신된다.
다음에, 처리 S34 완료 시점에서, FN4T 위치=0, 1, 2가 기록 종료되고, 미기록 블록 범위가 FMT 위치=0에서 0 블록분, FMT 위치=5에서 2 블록분, FMT 위치=7에서 0 블록분으로서 갱신된다. 또한, FMT 위치=5보다 앞이 모두 기록 종료되 었기 때문에, 상태 카운터(53)값=5가 된다. 다음에, 처리 S35 완료 시점에서 FMT 위치=5, 6이 기록 종료가 되며, 미기록 블록 범위가 FMT 위치= 0에서 0 블록분, FMT 위치=5에서 0 블록분, FMT 위치=7에서 0 블록분으로서 갱신된다. 또한, FMT 위치=9보다 앞이 모두 기록 종료되었기 때문에, 상태 카운터(53)값=9가 된다. 여기서, 기록 커맨드 완료 상태 보고가 행해진다.
도 13은 본 실시 형태에 따른 기록 커맨드 처리의 구체예에 있어서의 기록 개소 기록부의 비트맵의 내용을 나타내는 도면이다. 이 도면은 도 9 및 도 10과 동일한 처리 S31, S32, S33, S34, S35의 각 시점에서의 비트맵의 내용을 나타낸다. 우선, 처리 S31의 시점에서 기록 요구 범위의 전부인 FMT 위치=0에서 9까지가 미기록(0)으로 하여 초기화되고, 상태 카운터(53)값=0으로 초기화된다.
다음에, 처리 S32 완료 시점에서 FMT 위치=3, 4가 기록 종료(1)로서 갱신된다. 다음에, 처리 S33 완료 시점에서 FMT 위치=7, 8이 기록 종료(1)로서 갱신된다. 다음에, 처리 S34 완료 시점에서 FMT 위치=0, 1, 2가 기록 종료(1)로서 갱신된다. 또한, FMT 위치=5보다 앞이 모두 기록 종료(1)가 되었기 때문에, 상태 카운터(53)값=5가 된다. 다음에, 처리 S35 완료 시점에서 FMT 위치=5, 6이 기록 종료로서 갱신된다. 또한, FMT 위치=9보다 앞이 모두 기록 종료가 되었기 때문에, 상태 카운터(53)값=9가 된다. 여기서, 기록 커맨드 완료 상태 보고가 행해진다.
본 실시 형태에 의하면, 기록 요구 범위에서 미기록 블록 범위가 복수가 되고, 헤드 위치가 기록 요구 범위의 선두 섹터에 도달한 경우에도 기록해야하는 섹 터를 특정할 수 있으며, 기록 커맨드 처리를 효율적으로 행할 수 있다. 또한, 기록 종료된 블록수를 관리함으로써, 요구 블록수를 기록한 경우, 기록 요구 범위의 최종 섹터를 헤드 위치가 통과할 때까지 대기하는 일 없이, 호스트에 기록 커맨드 완료를 통지할 수 있기 때문에, 커맨드 처리 시간을 단축할 수 있다. 또한, 기록 커맨드 수령시 1번째 연속 처리로 미기록 블록의 범위가 복수가 된 경우에도 그 후, 미기록 블록을 특정하여 기록을 행할 수 있다.
실시 형태 3.
본 실시 형태에 있어서는 복수의 커맨드 시퀀셜 처리를 효율적으로 행하는 자기 디스크 장치에 대해서 설명한다.
본 실시 형태에 따른 자기 디스크 장치 및 디스크 제어부(12)의 구성은 실시 형태 2와 동일하다. 또한, 하나의 기록 커맨드에 대한 기록 커맨드 처리 동작은 실시 형태 2와 동일하다.
자기 디스크 장치가 호스트로부터 연속하여 수취한 복수의 커맨드에 있어서의 개시 LBA와 블록수에 의해, 어떤 커맨드의(개시 LBA+블록수)가 다음 기록 커맨드의 개시 LBA와 동일한 경우, 즉, 이들 커맨드의 LBA가 연속하고 있는 경우, 이들 커맨드는 시퀀셜 처리 가능하다고 판단된다. 이후, 시퀀셜 처리 가능한 복수의 커맨드를 시퀀셜 커맨드군으로 한다. 시퀀셜 처리는 시퀀셜 커맨드군 중의 블록을 하나의 커맨드 중 블록으로 보고 연속적으로 처리한다.
여기서, 종래의 자기 디스크 장치가 호스트로부터 시퀀셜 커맨드군을 수취한 경우, 자기 디스크 장치는 시퀀셜 커맨드군에 있어서 최초의 LBA에 헤드 위치가 도 달하고 나서 처리를 개시한다.
본 실시 형태에 따른 시퀀셜 처리는 시퀀셜 커맨드군 중의 블록 중 즉시 처리할 수 있는 블록으로부터 처리를 개시한다. 또한, 기록 커맨드 처리에 있어서, 요구 블록수는 시퀀셜 커맨드군 중 모든 요구 블록수의 합계가 된다. 또한, 실시 형태 2와 비교하면, 상태 카운터 갱신 처리 동작이 다르다.
다음에, 본 실시 형태에 관한 상태 카운터 갱신 처리에 대해서 설명한다.
시퀀셜 처리의 개시시, 상태 카운터(53)값은 0으로 초기화된다. 또한, 최초에 처리하는 기록 커맨드 중의 블록수를 잠정 요구 블록수로 한다. 도 14는 본 실시 형태에 따른 상태 카운터 갱신 처리 동작의 일례를 나타내는 흐름도이다. 이 도면에 있어서, 도 6과 동일 부호는 도 6에 나타낸 대상과 동일하거나 또는 상당 처리를 나타내고 있으며, 여기서의 설명을 생략한다. 도 6과 동일하게 처리 S61∼S67이 실행되고, 처리 S67 후, 디스크 제어부(12)는 시퀀셜 처리 가능한 다음 커맨드가 존재하는지 여부의 판단을 행하여 존재하지 않는 경우(S91, 아니요), 이 흐름은 종료하고, 존재하는 경우(S91, 예), 다음에 처리하는 기록 커맨드 중의 블록수를 잠정 요구 블록수에 가산하며(S92), 처리 S64로 되돌아간다. 즉, 디스크 제어부(12)는 하나의 커맨드에 대한 기록 커맨드 완료 상태 보고를 행한 후, 시퀀셜 처리 가능한 다음 커맨드가 존재하는 경우에, 잠정 요구 블록수를 증가시킴으로써, 상태 카운터(53)는 시퀀셜 커맨드군 중의 모든 블록수까지 카운트를 계속할 수 있다.
이 상태 카운터 갱신 처리에 의하면, 시퀀셜 커맨드군 중의 블록 중, 즉시 처리 가능한 블록으로부터 처리를 행함으로써, 커맨드 처리 시간을 단축할 수 있다. 또한, 시퀀셜 커맨드군 중 최종 블록에 대응하는 FMT 위치에 헤드 위치가 도달할 때까지 대기하는 일 없이, 커맨드 처리를 종료할 수 있다. 또한, 시퀀셜 커맨드군에 대하여, LBA 순의 커맨드마다 호스트에의 기록 커맨드 상태 보고를 행함으로써, 호스트측의 순서를 종래와 바꾸는 일 없이, 커맨드 처리 시간만큼을 단축할 수 있다.
실시 형태 4.
본 실시 형태에 있어서는 커맨드의 요구 범위가 복수의 트랙에 걸치는 경우에 효율적으로 처리하는 자기 디스크 장치에 대해서 설명한다.
본 실시 형태에 따른 자기 디스크 장치 및 디스크 제어부(12)의 구성은 실시 형태 2와 동일하다. 또한, 기록 커맨드 처리, 상태 카운터 갱신 처리 동작은 실시 형태 2와 동일하다.
다음에, 기록 요구 범위가 복수의 트랙에 걸치는 기록 커맨드에 대한 처리인 복수 트랙 기록 커맨드 처리 동작에 대해서 설명한다. 본 실시 형태에 따른 디스크 제어부(12)는 복수 트랙 기록 커맨드 처리로서, 트랙마다 FMT 위치 카운터의 보정을 행하는 제1 복수 트랙 기록 커맨드 처리, 트랙마다 데이터 수령 카운터의 보정을 행하는 제2 복수 트랙 기록 커맨드 처리 중 어느 하나를 실행한다.
우선, 제1 복수 트랙 기록 커맨드 처리에 대해서 설명한다.
도 15는 본 실시 형태에 따른 제1 복수 트랙 기록 커맨드 처리 동작의 일례를 나타내는 흐름도이다. 우선, 디스크 제어부(12)는 FMT 위치 카운터(51)값=0으 로 초기화하고(S71), 기록 커맨드로 지정된 선두 LBA를 물리 어드레스로 변환한다(S73). 다음에, 디스크 제어부(12)는 변환한 물리 어드레스에 대응하는 트랙 인 대상 트랙에의 씨크를 행한다(S74). 다음에, 디스크 제어부(12)는 대상 트랙에 있어서의 기록 커맨드 처리인 대상 트랙 처리를 행하고(S75), 정상적으로 처리되었는지 여부의 판단을 행하여 정상적으로 처리되지 않은 경우(S76, 아니요), 이상 종료로서 이 흐름은 종료하고, 정상적으로 처리된 경우(S76, 예), 다음 처리로 이행한다.
다음에, 디스크 제어부(12)는 요구 블록수분의 처리를 종료하였는지 여부의 판단을 행하여 종료한 경우(S77, 예), 정상 종료로서 이 흐름은 종료하고, 종료하지 않은 경우(S77, 아니요), 다음 처리로 이행한다. 다음에, 디스크 제어부(12)는 대상 트랙에 있어서 기록을 행한 블록수인 대상 트랙 완료 블록수를 FMT 위치 카운터(51)값으로 가산하고(S78), 다음 대상 트랙의 물리 어드레스를 지정하여 (S79) 처리 S74로 되돌아간다.
이 제1 복수 트랙 기록 커맨드 처리에 의하면, 데이터 수령 카운터(41)값 및 FMT 위치 카운터(51)값은 복수의 트랙에 걸쳐 일련의 값이 되고, 하나의 트랙에의 기록 커맨드 처리와 동일하게 하여, 용이하게 비교를 행할 수 있다.
다음에, 제2 복수 트랙 기록 커맨드 처리에 대해서 설명한다.
도 16은 본 실시 형태에 따른 제2 복수 트랙 기록 커맨드 처리 동작의 일례를 나타내는 흐름도이다. 우선, 디스크 제어부(12)는 데이터 수령 카운터(41)값=0으로 초기화하고(S81), 데이터의 수령을 개시하여(S82) 기록 커맨드로 지정된 선 두 LBA를 물리 어드레스로 변환한다(S83). 다음에, 디스크 제어부(12)는 변환한 물리 어드레스에 대응하는 트랙인 대상 트랙에의 씨크(seek)를 행한다(S84). 다음에, 디스크 제어부(12)는 대상 트랙에 있어서의 기록 커맨드 처리인 대상 트랙 처리를 행하여(S85) 정상적으로 처리되었는지 여부의 판단을 행하여 정상적으로 처리되지 않은 경우(S86, 아니요), 이상 종료로서 이 흐름은 종료하고, 정상적으로 처리된 경우(S86, 예), 다음 처리로 이행한다.
다음에, 디스크 제어부(12)는 요구 블록수분의 처리를 종료하였는지 여부의 판단을 행하여 종료한 경우(S87, 예), 정상 종료로서 이 흐름은 종료하고, 종료하지 않은 경우(S87, 아니요), 다음 처리로 이행한다. 다음에, 디스크 제어부(12)는 대상 트랙에 있어서 기록을 행한 블록수인 대상 트랙 완료 블록수를 데이터수령 카운터(41)값으로부터 감산하고(S88), 다음 대상 트랙의 물리 어드레스를 지정하여(S89) 처리 S84로 되돌아간다.
이 제2 복수 트랙 기록 커맨드 처리에 의하면, 데이터 수령 카운터(41)값 및 FMT 위치 카운터(51)값은 트랙마다 0으로부터 개시되는 값이 되며, 하나의 트랙에의 기록 커맨드 처리와 동일하게 하여, 용이하게 비교를 행할 수 있다.
본 실시 형태에 의하면, 기록 요구 범위가 복수 트랙에 걸치는 기록 커맨드라도 트랙마다 기록 커맨드 처리를 적용함으로써, 전체의 커맨드 처리 시간을 삭감할 수 있다.
또한, 전술한 실시 형태에 있어서는 호스트로부터의 커맨드가 기록 커맨드 인 경우의 커맨드 처리에 대해서 설명하였지만, 판독 커맨드의 커맨드 처리에도 적 용할 수 있다.
또한, 제어부는 실시 형태에 있어서의 시퀀셜 제어부에 대응한다. 또한, 제1 계측부는 실시 형태에 있어서의 FMT 위치 카운터에 대응한다. 또한, 제1 계측값은 실시 형태에 있어서의 FMT 위치 카운터값에 대응한다. 또한, 제2 계측부는 실시 형태에 있어서의 데이터 수령 카운터에 대응한다. 또한, 제2 계측값은 실시 형태에 있어서의 데이터 수령 카운터값에 대응한다. 또한, 제3 계측부는 실시 형태에 있어서의 기록 종료 블록 카운터에 대응한다. 또한, 제3 계측값은 실시 형태에 있어서의 기록 종료 블록 카운터값에 대응한다. 또한, 제4 계측부는 실시 형태에 있어서의 상태 카운터에 대응한다. 또한, 제4 계측값은 실시 형태에 있어서의 상태 카운터값에 대응한다.
또한, 계측 단계는 실시 형태에 있어서의 FMT 위치 카운터, 데이터 수령 카운터 처리, 기록 종료 블록 카운터, 상태 카운터의 처리에 대응한다. 또한, 제어 단계는 실시 형태에 있어서의 기록 커맨드 처리에 대응한다.
또한, 본 실시 형태에 따른 디스크 제어부는 기억 장치에 용이하게 적용할 수 있고, 기억 장치의 성능을 보다 높일 수 있다. 여기서, 기억 장치에는, 예컨대 자기 디스크 장치, 광디스크 장치, 광자기 디스크 장치 등이 포함된다.
(부기 1)
외부 장치로부터의 기록 요구를 수신할 수 있는 기억 장치로서,
기억 매체의 트랙 상의 헤드 위치에 관한 제1 계측값을 계측하는 제1 계측부와,
외부 장치로부터의 기록 요구에 포함된 데이터인 기록 요구 데이터 중 수령이 종료된 데이터량에 관한 제2 계측값을 계측하는 제2 계측부와,
상기 제1 계측부에 의해 계측된 제1 계측값과 상기 제2 계측부에 의해 계측된 제2 계측값에 기초하여, 상기 트랙에의 데이터 기록의 제어를 행하는 제어부를
구비하는 기억 장치.
(부기 2)
부기 1에 기재한 기록 장치에 있어서,
상기 제1 계측값은 상기 트랙 상에 있어서 상기 기록 요구 데이터의 선두를 기록해야하는 위치로부터 현재의 헤드 위치까지 기록할 수 있는 데이터량으로 나타내고, 상기 제2 계측값은 상기 기록 요구 데이터 중 수령이 종료된 데이터량으로 나타내는 것을 특징으로 하는 기억 장치.
(부기 3)
부기 2에 기재한 기억 장치에 있어서,
상기 제어부는 상기 제1 계측값이 상기 제2 계측값보다 작은 경우, 상기 기록 요구 데이터 중 상기 헤드 위치에 대응하는 데이터의 기록을 행하는 것을 특징으로 하는 기억 장치.
(부기 4)
부기 1 내지 부기 3 중 어느 하나에 기재한 기억 장치에 있어서,
상기 데이터량은 블록을 단위로서 나타내는 것을 특징으로 하는 기억 장치.
(부기 5)
부기 1 내지 부기 4 중 어느 하나에 기재한 기억 장치에 있어서,
상기 제어부는 상기 기록 요구 데이터의 기록이 완료되었다고 판단한 경우, 상기 외부 장치에 기록 요구에 대한 처리의 완료를 보고하는 것을 특징으로 하는 기억 장치.
(부기 6)
부기 4 또는 부기 5에 기재한 기억 장치에 있어서,
또한, 상기 기록 요구 데이터 중 기록이 행해진 블록수인 제3 계측값을 계측하는 제3 계측부를 구비하고,
상기 제어부는 기록을 개시한 제1 계측값을 개시 제1 계측값으로 하여 기억하고, 상기 제1 계측값과 상기 제2 계측값에 기초하여 연속하는 블록의 기록을 중단한 경우, 상기 개시한 제1 계측값과 상기 제3 계측부에 의해 계측된 제3 계측값에 기초하여 다음에 기록해야하는 상기 기억 매체 상의 위치를 결정하는 것을 특징으로 하는 기억 장치.
(부기 7)
외부 장치로부터의 기록 요구를 수신할 수 있는 기억 장치의 제어를 행하는 기억 장치 제어 방법으로서,
기억 매체의 트랙 상의 헤드 위치에 관한 제1 계측값을 계측하는 동시에, 외부 장치로부터의 기록 요구에 포함된 데이터인 기록 요구 데이터 중 수령이 종료된 데이터량에 관한 제2 계측값을 계측하는 계측 단계와,
상기 계측 단계에 의해 계측된 제1 계측값과 상기 계측 단계에 의해 계측된 제2 계측값에 기초하여, 상기 트랙에의 데이터 기록의 제어를 행하는 제어 단계를 실행하는 기억 장치 제어 방법.
(부기 8)
외부 장치로부터의 기록 요구를 수신할 수 있는 기억 장치의 제어를 행하는 제어 장치로서,
기억 매체의 트랙 상의 헤드 위치에 관한 제1 계측값을 계측하는 제1 계측부와,
외부 장치로부터의 기록 요구에 포함된 데이터인 기록 요구 데이터 중 수령이 종료된 데이터량에 관한 제2 계측값을 계측하는 제2 계측부와,
상기 제1 계측부에 의해 계측된 제1 계측값과 상기 제2 계측부에 의해 계측된 제2 계측값에 기초하여, 상기 트랙에의 데이터 기록의 제어를 행하는 제어부를 구비하는 제어 장치.
(부기 9)
부기 8에 기재한 제어 장치에 있어서,
상기 제1 계측값은 상기 트랙 상에 있어서 상기 기록 요구 데이터의 선두를 기록해야하는 위치로부터 현재의 헤드 위치까지 기록할 수 있는 데이터량으로 나타내고, 상기 제2 계측값은 상기 기록 요구 데이터 중 수령이 종료된 데이터량으로 나타내는 것을 특징으로 하는 제어 장치.
(부기 10)
부기 9에 기재한 제어 장치에 있어서,
상기 제어부는 상기 제1 계측값이 상기 제2 계측값보다 작은 경우, 상기 기록 요구 데이터 중 상기 헤드 위치에 대응하는 데이터의 기록을 행하는 것을 특징으로 하는 제어 장치.
(부기 11)
부기 8 내지 부기 10 중 어느 하나에 기재한 제어 장치에 있어서,
상기 데이터량은 블록을 단위로 하여 나타내는 것을 특징으로 하는 제어 장치.
(부기 12)
부기 8 내지 부기 11 중 어느 하나에 기재한 제어 장치에 있어서,
상기 제어부는 상기 기록 요구 데이터의 기록이 완료되었다고 판단한 경우, 상기 외부 장치에 기록 요구에 대한 처리의 완료를 보고하는 것을 특징으로 하는 제어 장치.
(부기 13)
부기 11 또는 부기 12에 기재한 제어 장치에 있어서,
상기 기록 요구 데이터 중 기록이 행해진 블록수인 제3 계측값을 계측하는 제3 계측부를 더 구비하고,
상기 제어부는 기록을 개시한 제1 계측값을 개시 제1 계측값으로서 기억하며, 상기 제1 계측값과 상기 제2 계측값에 기초하여 연속하는 블록의 기록을 중단한 경우, 상기 개시한 제1 계측값과 상기 제3 계측부에 의해 계측된 제3 계측값에 기초하여, 다음에 기록해야하는 상기 기억 매체 상의 위치를 결정하는 것을 특징으 로 하는 제어 장치.
(부기 14)
부기 11 내지 부기 13 중 어느 하나에 기재한 제어 장치에 있어서,
또한, 상기 기록 요구 데이터의 선두로부터 연속하여 기록을 완료한 블록수 인 제4 계측값을 계측하는 제4 계측부를 구비하고,
상기 제어부는 상기 제4 계측부에 의해 계측된 제4 계측값이 상기 기록 요구 데이터 중 블록수인 요구 블록수 이상이 된 경우, 상기 기록 요구 데이터의 기록이 완료되었다고 판단하는 것을 특징으로 하는 제어 장치.
(부기 15)
부기 14에 기재한 제어 장치에 있어서,
상기 제어부는 상기 제4 계측부에 의해 계측된 연속 기록 블록수에 대응하는 데이터 버퍼를 해방하는 것을 특징으로 하는 제어 장치.
(부기 16)
부기 11 내지 부기 15 중 어느 하나에 기재한 제어 장치에 있어서,
또한, 상기 기록 요구 데이터 중 각 블록에 대해서 기록이 완료되었는지 여부의 정보를 기억하는 기록 정보 기억부를 구비하고,
상기 제어부는 상기 기록 정보 기억부에 기억된 정보에 기초하여, 기록이 완료된 블록의 기록을 행하지 않는 것을 특징으로 하는 제어 장치.
(부기 17)
부기 11 내지 부기 16 중 어느 하나에 기재한 제어 장치에 있어서,
상기 제어 장치가 복수의 기록 요구를 수신하고, 상기 복수의 기록 요구 중 블록의 논리 어드레스가 연속하고 있는 경우, 상기 제어부는 복수의 기록 요구에 포함된 데이터를 하나의 기록 요구 데이터로 하는 것을 특징으로 하는 제어 장치.
(부기 18)
부기 17에 기재한 제어 장치에 있어서,
상기 복수의 기록 요구에 있어서의 기록 요구의 순서에 따라 상기 기록 요구에 대한 처리 완료를 상기 외부 장치에 보고하는 것을 특징으로 하는 제어 장치.
(부기 19)
부기 8 내지 부기 18에 기재한 제어 장치에 있어서,
상기 기록 요구 데이터를 기록해야하는 상기 기억 매체 상의 위치가 복수의 트랙에 걸치는 경우, 상기 제1 계측부는 상기 복수의 트랙을 통과시킨 값으로서 제1 계측값을 계측하는 것을 특징으로 하는 제어 장치.
(부기 20)
부기 8 내지 부기 18에 기재한 제어 장치에 있어서,
상기 기록 요구 데이터를 기록해야하는 상기 기억 매체 상의 위치가 복수의 트랙에 걸치는 경우, 상기 제2 계측부는 트랙마다 제2 계측값을 계측하는 것을 특징으로 하는 제어 장치.
본 발명에 의하면, 커맨드 처리 시간을 단축할 수 있다.

Claims (10)

  1. 외부 장치로부터의 기록 요구를 수신할 수 있는 기억 장치로서,
    기억 매체의 트랙 상의 헤드 위치에 관한 제1 계측값을 계측하는 제1 계측부와,
    외부 장치로부터의 기록 요구에 포함된 데이터인 기록 요구 데이터 중 수령이 종료된 데이터량에 관한 제2 계측값을 계측하는 제2 계측부와,
    상기 제1 계측부에 의해 계측된 제1 계측값과 상기 제2 계측부에 의해 계측된 제2 계측값에 기초하여, 상기 트랙으로의 데이터 기록의 제어를 행하는 제어부
    를 구비하고,
    상기 제1 계측값은 상기 트랙 상에 있어서 상기 기록 요구 데이터의 선두를 기록해야하는 위치로부터 현재의 헤드 위치까지 기록할 수 있는 데이터량으로 나타내고, 상기 제2 계측값은 상기 기록 요구 데이터 중 수령이 종료된 데이터량으로 나타내는 것인, 기억 장치.
  2. 삭제
  3. 제1항에 있어서, 상기 제어부는 상기 제1 계측값이 상기 제2 계측값보다 작은 경우, 상기 기록 요구 데이터 중 상기 헤드 위치에 대응하는 데이터의 기록을 행하는 것을 특징으로 하는 기억 장치.
  4. 외부 장치로부터의 기록 요구를 수신할 수 있는 기억 장치의 제어를 행하는 기억 장치 제어 방법으로서,
    기억 매체의 트랙 상의 헤드 위치에 관한 제1 계측값을 계측하고, 외부 장치로부터의 기록 요구에 포함된 데이터인 기록 요구 데이터 중 수령이 종료된 데이터량에 관한 제2 계측값을 계측하는 계측 단계와,
    상기 계측 단계에 의해 계측된 제1 계측값과 상기 계측 단계에 의해 계측된 제2 계측값에 기초하여, 상기 트랙으로의 데이터 기록의 제어를 행하는 제어 단계
    를 실행하며,
    상기 제1 계측값은 상기 트랙 상에 있어서 상기 기록 요구 데이터의 선두를 기록해야하는 위치로부터 현재의 헤드 위치까지 기록할 수 있는 데이터량으로 나타내고, 상기 제2 계측값은 상기 기록 요구 데이터 중 수령이 종료된 데이터량으로 나타내는 것인, 기억 장치 제어 방법.
  5. 외부 장치로부터의 기록 요구를 수신할 수 있는 기억 장치의 제어를 행하는 제어 장치로서,
    기억 매체의 트랙 상의 헤드 위치에 관한 제1 계측값을 계측하는 제1 계측부와,
    외부 장치로부터의 기록 요구에 포함된 데이터인 기록 요구 데이터 중 수령이 종료된 데이터량에 관한 제2 계측값을 계측하는 제2 계측부와,
    상기 제1 계측부에 의해 계측된 제1 계측값과 상기 제2 계측부에 의해 계측된 제2 계측값에 기초하여, 상기 트랙으로의 데이터 기록의 제어를 행하는 제어부
    를 구비하고,
    상기 제1 계측값은 상기 트랙 상에 있어서 상기 기록 요구 데이터의 선두를 기록해야하는 위치로부터 현재의 헤드 위치까지 기록할 수 있는 데이터량으로 나타내고, 상기 제2 계측값은 상기 기록 요구 데이터 중 수령이 종료된 데이터량으로 나타내는 것인, 제어 장치.
  6. 삭제
  7. 제5항에 있어서, 상기 제어부는 상기 제1 계측값이 상기 제2 계측값보다 작은 경우, 상기 기록 요구 데이터 중 상기 헤드 위치에 대응하는 데이터의 기록을 행하는 것을 특징으로 하는 제어 장치.
  8. 제5항 또는 제7항 중 어느 한 항에 있어서, 상기 데이터량은 블록을 단위로 하여 나타내는 것을 특징으로 하는 제어 장치.
  9. 제5항 또는 제7항 중 어느 한 항에 있어서, 상기 제어부는 상기 기록 요구 데이터의 기록이 완료되었다고 판단한 경우, 상기 외부 장치에 기록 요구에 대한 처리의 완료를 보고하는 것을 특징으로 하는 제어 장치.
  10. 제8항에 있어서, 상기 기록 요구 데이터 중 기록이 행해진 블록수인 제3 계측값을 계측하는 제3 계측부를 더 구비하고,
    상기 제어부는 기록을 개시한 제1 계측값을 개시 제1 계측값으로서 기억하며, 상기 제1 계측값과 상기 제2 계측값에 기초하여 연속하는 블록의 기록을 중단한 경우, 상기 개시 제1 계측값과 상기 제3 계측부에 의해 계측된 제3 계측값에 기 초하여, 다음에 기록해야하는 상기 기억 매체 상의 위치를 결정하는 것을 특징으로 하는 제어 장치.
KR1020070040314A 2006-09-29 2007-04-25 기억 장치, 기억 장치 제어 방법 및 제어 장치 KR100899826B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006266515A JP2008084507A (ja) 2006-09-29 2006-09-29 記憶装置、記憶装置制御方法、制御装置
JPJP-P-2006-00266515 2006-09-29

Publications (2)

Publication Number Publication Date
KR20080029738A KR20080029738A (ko) 2008-04-03
KR100899826B1 true KR100899826B1 (ko) 2009-05-27

Family

ID=39256018

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070040314A KR100899826B1 (ko) 2006-09-29 2007-04-25 기억 장치, 기억 장치 제어 방법 및 제어 장치

Country Status (4)

Country Link
US (1) US20080082742A1 (ko)
JP (1) JP2008084507A (ko)
KR (1) KR100899826B1 (ko)
CN (1) CN101154417A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10643707B2 (en) * 2017-07-25 2020-05-05 Western Digital Technologies, Inc. Group write operations for a data storage device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060069441A (ko) * 2003-08-04 2006-06-21 코닌클리케 필립스 일렉트로닉스 엔.브이. 데이터 블록 기록장치 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
JP2001209500A (ja) * 2000-01-28 2001-08-03 Fujitsu Ltd ディスク装置およびディスク装置のリード・ライト処理方法
US7424497B1 (en) * 2005-01-27 2008-09-09 Network Appliance, Inc. Technique for accelerating the creation of a point in time prepresentation of a virtual file system
US7769723B2 (en) * 2006-04-28 2010-08-03 Netapp, Inc. System and method for providing continuous data protection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060069441A (ko) * 2003-08-04 2006-06-21 코닌클리케 필립스 일렉트로닉스 엔.브이. 데이터 블록 기록장치 및 방법

Also Published As

Publication number Publication date
KR20080029738A (ko) 2008-04-03
US20080082742A1 (en) 2008-04-03
CN101154417A (zh) 2008-04-02
JP2008084507A (ja) 2008-04-10

Similar Documents

Publication Publication Date Title
US9607631B2 (en) Enhanced capacity recording
US7339761B1 (en) Method for wedge time shift calibration in a disk drive
JP5392788B2 (ja) 可変媒体特性を有する記憶媒体付オブジェクトベース記憶装置
US6310741B1 (en) Magnetic disk apparatus with data track reassigning function
CN101308683A (zh) 磁盘驱动装置及其数据重写方法
US5603002A (en) Hard disk drive having buffer memory employing directory based cache controller with data replacement scheme
JP5058060B2 (ja) データ記憶装置及び隣接トラック書き直し処理方法。
JP2009110287A (ja) アクセス制御装置およびアクセス制御方法
KR100242761B1 (ko) 데이터 저장 시스템 및 이를 포맷하기 위한 방법
KR100594301B1 (ko) 데이터 저장 매체의 기록 밀도 가변 방법 및 이를 이용한 디스크 드라이브
US20120162809A1 (en) Magnetic disk drive and method of accessing a disk in the drive
JPH08152975A (ja) ディスク装置及びデータ書込読出方法
KR100555536B1 (ko) 데이터 저장 시스템에서의 적응적 리트라이 제어 방법 및이를 이용한 디스크 드라이브
KR100899826B1 (ko) 기억 장치, 기억 장치 제어 방법 및 제어 장치
US5801897A (en) Head positioning control system for use in a disk storage system
KR20090011247A (ko) 디스크 디펙트 목록 생성 방법, 디스크 디펙트 목록 저장매체, 및 하드디스크 드라이브 제어 방법
KR100855981B1 (ko) 각각의 헤드들에 대하여 기록 팩터를 별도로 설정하는디스크 드라이브의 기록 팩터 설정 방법 및 디스크드라이브
KR100524989B1 (ko) 데이터 저장 시스템에서의 리트라이 개선 방법 및 이를이용한 디스크 드라이브
US7649705B2 (en) Data read retry with read timing adjustment for eccentrity of disc in data storage device
WO2000048068A1 (en) Magnetic disk device and disk access method therefor
JP7252448B2 (ja) テープ装置、制御装置および読み出し制御プログラム
JP4228590B2 (ja) 記憶装置
JP2002216426A (ja) 情報記録システム
JP2503371B2 (ja) ディスク・システム
KR20060069441A (ko) 데이터 블록 기록장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee