KR20110112125A - 디스크 장치 및 라이트 방법 - Google Patents
디스크 장치 및 라이트 방법 Download PDFInfo
- Publication number
- KR20110112125A KR20110112125A KR1020100031558A KR20100031558A KR20110112125A KR 20110112125 A KR20110112125 A KR 20110112125A KR 1020100031558 A KR1020100031558 A KR 1020100031558A KR 20100031558 A KR20100031558 A KR 20100031558A KR 20110112125 A KR20110112125 A KR 20110112125A
- Authority
- KR
- South Korea
- Prior art keywords
- sector
- data
- area
- buffer
- write
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/02—Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
- G11B5/09—Digital recording
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/48—Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
- G11B5/54—Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
- G11B5/55—Track change, selection or acquisition by displacement of the head
- G11B5/5521—Track change, selection or acquisition by displacement of the head across disk tracks
- G11B5/5526—Control therefor; circuits, track configurations or relative disposition of servo-information transducers and servo-information tracks for control thereof
- G11B5/553—Details
- G11B5/5547—"Seek" control and circuits therefor
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 영역에 저장하는 단계, 상기 복수의 데이터를 라이트할 섹터들 중 적어도 하나의 섹터에 저장되어 있는 데이터를 상기 버퍼의 제 2 영역 및 제 3 영역에 저장하는 단계 및 상기 버퍼의 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 상기 적어도 하나의 섹터 중 대응하는 섹터에 라이트하는 단계를 구비하고, 상기 버퍼의 제 2 영역 및 제 3 영역에 저장하는 단계는 상기 섹터에 저장되어 있는 데이터 중 상기 섹터에 라이트할 데이터에 대응하는 부분을 상기 버퍼의 제 2 영역에 저장하는 단계 및 상기 섹터에 저장되어 있는 데이터 중 상기 섹터에 라이트할 데이터에 대응하는 부분을 제외한 나머지 부분을 상기 버퍼의 제 3 영역에 저장하는 단계를 구비할 수 있다.
Description
본 발명은 디스크 장치에 관한 것으로, 특히 디스크 장치 및 상기 디스크 장치의 기록 방법에 관한 것이다.
디스크 장치는 호스트로부터 수신되는 데이터를 헤드를 이용하여 디스크에 물리적인 섹터 크기 단위로 라이트할 수 있다. 다만, 상기 디스크의 물리적인 섹터 크기와 상이한 크기의 데이터가 상기 호스트로부터 수신되는 경우에 문제가 될 수 있다.
본 발명이 해결하고자 하는 과제는 수신된 데이터의 크기와 디스크의 물리적인 섹터 크기가 상이한 경우 효율적으로 상기 디스크에 상기 수신된 데이터를 라이트할 수 있는 라이트 방법을 제공하는데 있다.
본 발명이 해결하고자 하는 다른 과제는 상기 라이트 방법을 이용하여 라이트 동작을 수행할 수 있는 디스크 장치를 제공하는데 있다.
상기 과제를 달성하기 위한 본 발명의 일 실시예에 따른 디스크 장치의 라이트 방법은 라이트할 섹터의 크기와 상이한 크기의 복수의 데이터를 버퍼의 제 1 영역에 저장하는 단계, 상기 복수의 데이터를 라이트할 섹터들 중 적어도 하나의 섹터에 저장되어 있는 데이터를 상기 버퍼의 제 2 영역 및 제 3 영역에 저장하는 단계 및 상기 버퍼의 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 상기 적어도 하나의 섹터 중 대응하는 섹터에 라이트하는 단계를 구비하고, 상기 버퍼의 제 2 영역 및 제 3 영역에 저장하는 단계는 상기 섹터에 저장되어 있는 데이터 중 상기 섹터에 라이트할 데이터에 대응하는 부분을 상기 버퍼의 제 2 영역에 저장하는 단계 및 상기 섹터에 저장되어 있는 데이터 중 상기 섹터에 라이트할 데이터에 대응하는 부분을 제외한 나머지 부분을 상기 버퍼의 제 3 영역에 저장하는 단계를 구비할 수 있다.
상기 디스크 장치의 라이트 방법은 상기 복수의 데이터를 라이트할 섹터들 중 상기 제 2 영역 및 제 3 영역에 저장하는 단계 또는 상기 라이트하는 단계를 수행한 섹터와 가장 근접한 섹터를 검색하는 단계 및 상기 검색된 섹터에 대하여 상기 제 2 영역에 저장하는 단계 및 상기 제 3 영역에 저장하는 단계를 수행하거나 상기 라이트하는 단계를 수행하는 단계를 더 구비할 수 있다.
상기 검색하는 단계는 상기 헤드가 라이트 동작을 수행하는 경우 상기 헤드의 탐색 시간에 대한 정보를 포함하는 제 1 테이블 및 상기 헤드가 리드 동작을 수행하는 경우 상기 헤드의 탐색 시간에 대한 정보를 포함하는 제 2 테이블을 이용하여, 상기 버퍼의 제 2 영역 및 제 3 영역에 저장된 데이터가 저장되어 있던 섹터와 가장 근접하고 상기 대응하는 데이터를 라이트할 섹터를 검색하는 단계일 수 있다.
상기 검색하는 단계는 동일 트랙의 섹터들 중 상기 제 2 영역 및 제 3 영역에 저장하는 단계 또는 상기 라이트하는 단계를 수행한 섹터와 가장 근접하고 상기 복수의 데이터 중 대응하는 데이터를 라이트할 섹터를 검색하는 단계 및 상기 동일 트랙에서 검색되지 않은 경우, 다른 트랙의 섹터들 중 상기 제 2 영역 및 제 3 영역에 저장하는 단계 또는 상기 라이트하는 단계를 수행한 섹터와 가장 근접하고 상기 복수의 데이터 중 대응하는 데이터를 라이트할 섹터가 섹터를 검색하는 단계를 구비할 수 있다.
상기 과제를 달성하기 위한 본 발명의 다른 일 실시예에 따른 디스크 장치의 라이트 방법은 호스트로부터 수신된 데이터를 버퍼의 제 1 영역에 저장하는 단계, 상기 수신된 데이터를 라이트할 섹터에 저장되어 있는 데이터를 리드하는 단계, 상기 리드된 데이터 중 상기 수신된 데이터에 대응하는 부분을 상기 버퍼의 제 2 영역에 저장하는 단계, 상기 리드된 데이터 중 상기 수신된 데이터에 대응하는 부분을 제외한 나머지 부분을 상기 버퍼의 제 3 영역에 저장하는 단계 및 상기 버퍼의 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 상기 섹터에 라이트하는 단계를 구비할 수 있다.
상기 디스크 장치의 라이트 방법은 상기 호스트로부터 상기 데이터를 수신하는 단계, 상기 수신된 데이터의 크기와 상기 수신한 데이터를 라이트할 섹터의 크기를 비교하는 단계, 상기 수신된 데이터의 크기가 상기 수신된 데이터를 라이트할 섹터의 크기와 상이한 경우, 상기 리드하는 단계, 상기 버퍼의 제 2 영역에 저장하는 단계, 상기 버퍼의 제 3 영역에 저장하는 단계 및 상기 라이트하는 단계를 수행하는 단계 및 상기 수신된 데이터의 크기가 상기 수신된 데이터를 라이트할 섹터의 크기와 동일한 경우, 상기 버퍼의 제 1 영역에 저장되어 있는 데이터를 상기 섹터에 라이트하는 단계를 더 구비할 수 있다.
상기 다른 과제를 달성하기 위한 본 발명의 다른 일 실시예에 따른 디스크 장치는 복수의 섹터들을 포함하는 복수의 트랙들을 구비하는 디스크, 상기 디스크에 데이터를 라이트하거나 상기 디스크로부터 데이터를 리드하는 헤드, 제 1 영역, 제 2 영역 및 제 3 영역을 포함하는 버퍼 및 호스트로부터 수신된 데이터를 상기 제 1 영역에 저장하고, 상기 섹터들 중 상기 수신된 데이터를 라이트할 섹터에 저장되어 있는 데이터를 리드하여 상기 제 2 영역 및 제 3 영역에 저장하며, 상기 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 상기 섹터에 라이트하도록 제어하는 제어부를 구비하고, 상기 제어부는 상기 리드된 데이터 중 상기 수신된 데이터에 대응하는 부분 및 나머지 부분을 각각 상기 제 2 영역 및 상기 제 3 영역에 저장할 수 있다.
상기 제어부는 상기 수신된 데이터의 크기와 상기 수신한 데이터를 라이트할 섹터의 크기가 상이한 경우, 상기 수신된 데이터를 라이트할 섹터에 저장되어 있는 데이터를 리드하여 상기 제 2 영역 및 제 3 영역에 저장하고, 상기 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 상기 섹터에 라이트하도록 제어하고, 상기 수신된 데이터의 크기와 상기 수신한 데이터를 라이트할 섹터의 크기가 동일한 경우, 상기 제 1 영역에 저장되어 있는 데이터를 상기 섹터에 라이트하도록 제어할 수 있다.
상기 제어부는 상기 복수의 데이터를 라이트할 섹터들 중 상기 제 2 영역 및 제 3 영역에 저장된 데이터가 저장되어 있던 섹터 또는 상기 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 라이트한 섹터와 가장 근접한 섹터를 검색할 수 있다.
상기 제어부는 상기 검색된 섹터에 저장되어 있는 데이터를 리드하여 상기 제 2 영역 및 제 3 영역에 저장하도록 제어하거나 상기 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 상기 검색된 섹터에 라이트하도록 제어할 수 있다.
본 발명에 기술적 사상에 의한 일 실시예에 따른 디스크 장치 및 라이트 방법은 수신된 데이터의 크기와 디스크의 물리적인 섹터 크기가 상이한 경우 효율적으로 상기 수신된 데이터를 기록할 수 있는 장점이 있다. 또한, 상기 수신된 데이터의 크기와 상이한 크기를 가지는 섹터들이 상기 디스크 상에 랜덤(random)하게 존재하는 경우에도 효율적으로 상기 수신된 데이터를 기록할 수 있는 장점이 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 기술적 사상에 의한 일 실시예에 따른 하드디스크 장치의 구성을 도시한 도면이다.
도 2는 도 1의 하드디스크 장치의 전기적인 회로를 도시한 블록도이다.
도 3은 본 발명의 기술적 사상에 의한 일 실시예에 따른 디스크 장치의 블록도이다.
도 4는 도 3의 디스크 장치의 라이트 방법의 일 실시예에 관한 흐름도이다.
도 5a는 도 3의 버퍼의 일 실시예를 도시한 도면이고, 도 5b는 도 3의 디스크의 하나의 섹터에 관한 일 실시예를 도시한 도면이다.
도 6은 도 3의 디스크 장치의 라이트 방법의 다른 일 실시예에 관한 흐름도이다.
도 7a는 도 3의 버퍼의 다른 일 실시예를 도시한 도면이고, 도 7b는 도 3의 디스크의 하나의 트랙에 관한 다른 일 실시예를 도시한 도면이다.
도 8은 도 3의 디스크의 일 실시예를 도시한 도면이다.
도 9는 도 3의 디스크의 다른 일 실시예를 도시한 도면이다.
도 10은 도 3의 디스크의 다른 일 실시예를 도시한 도면이다.
도 11a는 제 1 테이블의 일 실시예에 대한 도면이고, 도 11b는 제 2 테이블의 일 실시예에 대한 도면이다.
도 1은 본 발명의 기술적 사상에 의한 일 실시예에 따른 하드디스크 장치의 구성을 도시한 도면이다.
도 2는 도 1의 하드디스크 장치의 전기적인 회로를 도시한 블록도이다.
도 3은 본 발명의 기술적 사상에 의한 일 실시예에 따른 디스크 장치의 블록도이다.
도 4는 도 3의 디스크 장치의 라이트 방법의 일 실시예에 관한 흐름도이다.
도 5a는 도 3의 버퍼의 일 실시예를 도시한 도면이고, 도 5b는 도 3의 디스크의 하나의 섹터에 관한 일 실시예를 도시한 도면이다.
도 6은 도 3의 디스크 장치의 라이트 방법의 다른 일 실시예에 관한 흐름도이다.
도 7a는 도 3의 버퍼의 다른 일 실시예를 도시한 도면이고, 도 7b는 도 3의 디스크의 하나의 트랙에 관한 다른 일 실시예를 도시한 도면이다.
도 8은 도 3의 디스크의 일 실시예를 도시한 도면이다.
도 9는 도 3의 디스크의 다른 일 실시예를 도시한 도면이다.
도 10은 도 3의 디스크의 다른 일 실시예를 도시한 도면이다.
도 11a는 제 1 테이블의 일 실시예에 대한 도면이고, 도 11b는 제 2 테이블의 일 실시예에 대한 도면이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 기술적 사상에 의한 일 실시예에 따른 하드디스크 장치(10)의 구성을 도시한 도면이다.
하드디스크 장치(10)는 스핀들 모터(14)에 의하여 회전되는 적어도 하나의 이상의 디스크(12)를 포함하고 있다. 하드디스크 장치(10)는 디스크 표면에 인접되게 위치한 변환기(도면에 미도시)를 또한 포함하고 있다.
변환기는 각각의 디스크(12)의 자계를 감지하고 자화시킴으로써 회전하는 디스크(12)에서 정보를 읽거나 기록할 수 있다. 전형적으로 변환기는 각 디스크 표면에 결합되어 있다. 비록 단일의 변환기로 설명되어 있지만, 이는 디스크(12)를 자화시키기 위한 기록용 변환기(일명, writer)와 디스크(12)의 자계를 감지하기 위한 분리된 읽기용 변환기(일명, reader)로 이루어져 있다고 이해되어야 한다. 읽기용 변환기는 자기 저항(MR : Magneto-Resistive) 소자로부터 구성되어 진다.
변환기는 자기 헤드(16)에 통합되어 질 수 있다. 자기 헤드(16)는 변환기와 디스크 표면사이에 공기 베어링(air bearing)을 생성시키는 구조로 되어 있다. 자기 헤드(16)는 헤드 스택 어셈블리(HSA:22)에 통합되어 있다. 헤드 스택 어셈블리(22)는 보이스 코일(26)을 갖는 엑츄에이터 암(24)에 부착되어 있다. 보이스 코일(26)은 보이스 코일 모터(VCM : Voice Coil Motor 30)를 특정하도록 마그네틱 어셈블리(28)에 인접되게 위치하고 있다. 보이스 코일(26)에 공급되는 전류는 베어링 어셈블리(32)에 대하여 엑츄에이터 암(24)을 회전시키는 토오크를 발생시킨다. 엑츄에이터 암(24)의 회전은 디스크 표면을 가로질러 변환기를 이동시킬 것이다.
정보는 전형적으로 디스크(12)의 환상 트랙 내에 저장된다. 각 트랙(34)은 일반적으로 복수의 섹터를 포함하고 있다. 각 섹터는 데이터 필드(data field)와 서보 필드(servo field)를 포함하고 있다. 서보 필드에는 프리앰블(Preamble), 서보 어드레스/인덱스 마크(SAM/SIM), 그레이 코드 및 버스트 신호가 기록된다. 변환기는 다른 트랙에 있는 정보를 읽거나 기록하기 위하여 디스크 표면을 가로질러 이동된다.
본 발명에 적용되는 자기 헤드(16)는 디스크(12) 표면과 리더(reader) 및 라이터(writer) 사이에 공기 베어링 표면을 생성시키는 구조를 갖고, 공기 베어링 표면을 생성시키는 구조물을 가열시키는 히터(heater; 도면에 미도시)를 포함한다.
하드디스크 장치(10)에 복수개의 디스크(12)가 장착되는 경우에 각 디스크 면에 대응하여 복수개의 자기 헤드(16)가 장착된다. 예를 들어, 하드디스크 장치(10)에 2장의 디스크가 장착된 경우에, 4개의 자기 헤드(16)가 헤드 스택 어셈블리(22)에 탑재된다. 그리고, 복수의 자기 헤드(16) 각각에 히터를 포함하고 있다. 자기 헤드(16)를 간단히 헤드라 칭하기도 한다.
도 2는 도 1의 하드디스크 장치(10)의 전기적인 회로를 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명에 의한 디스크 드라이브는 디스크(12), 자기 헤드(16), 프리 앰프(210), 기록/판독 채널(220), 호스트 인터페이스(230), 제어부(240), ROM(250A), RAM(250B), 보이스 코일 모터(VCM) 구동부(260) 및 히터 전류 공급 회로(270)를 구비한다.
ROM(250A)에는 디스크 드라이브를 제어하는 펌웨어 및 제어 정보들이 저장되어 있다. RAM(250B)에는 드라이브 구동 초기에 ROM(250A) 또는 디스크(12)에서 읽어낸 디스크 드라이브 구동에 필요한 정보들이 저장된다.
제어부(240)는 호스트 인터페이스(230)를 통하여 호스트 기기(도면에 미도시)로부터 수신되는 명령을 분석하고, 분석된 결과에 상응하는 제어를 실행한다. 제어부(240)는 자기 헤드(16)의 움직임을 제어하기 위하여 보이스 코일 모터(VCM) 구동 회로(260)로 제어신호를 공급한다.
우선, 일반적인 하드디스크 장치의 동작을 설명하면 다음과 같다.
데이터 리드 모드에서, 하드디스크 장치는 디스크(12)로부터 자기 헤드(16)의 읽기용 변환기에 의하여 감지된 전기적인 신호를 프리 앰프(210)에서 일차적으로 증폭시킨다. 그리고, 기록/판독 채널(220)에서는 자동이득제어 회로(도면에 미도시)에 의하여 이득을 제어하여 프리 앰프(310)에서 증폭된 신호를 일정한 레벨로 증폭시키고, 자동이득제어 회로에 의하여 일정한 레벨로 증폭된 아날로그 신호를 호스트 기기(도면에 미도시)가 판독할 수 있는 디지털 신호로 부호화시키고, 스트림 데이터로 변환하여 호스트 인터페이스(230)를 통하여 호스트 기기로 전송한다.
다음으로 라이트 모드에서, 하드디스크 장치는 호스트 인터페이스(230)를 통하여 호스트 기기로부터 수신되는 데이터를 기록/판독 채널(220)에 의하여 기록 채널에 적합한 바이너리 데이터 스트림으로 변환시킨 후에 프리 앰프(210)에 의하여 증폭된 기록 전류를 자기 헤드(16)의 기록용 변환기를 통하여 디스크(12)에 기록시킨다.
기록/판독 채널(220)은 디스크(12)의 서보 필드에 기록된 프리앰블(Preamble), 서보 어드레스/인덱스 마크(SAM/SIM), 그레이 코드 및 버스트신호들을 재생하면서 트랙 시크 및 트랙 추종 제어에 필요한 정보를 제어부(240)에 제공한다. 기록/판독 채널(220)은 서보 카피 공정에서는 레퍼런스 헤드를 이용하여 복수의 디스크들 중의 하나의 디스크의 일면에 기록되어 있는 레퍼런스 서보 패턴을 재생하면서 트랙 시크 및 트랙 추종 제어에 필요한 정보를 제어부(240)에 제공한다.
도 1 및 도 2에서는 하드디스크 장치에 대하여 설명하였으나 본 발명이 하드디스크 장치에 한정되는 것은 아니며 디스크에 데이터를 라이트할 수 있는 디스크 장치인 경우 모두 본 발명이 적용될 수 있다.
도 3은 본 발명의 기술적 사상에 의한 일 실시예에 따른 디스크 장치(300)의 블록도이다.
도 3을 참조하면, 디스크 장치(300)는 디스크(310), 헤드(320), 제어부(330), 버퍼(340) 및 메모리(350)를 구비할 수 있다. 디스크(310)는 복수의 트랙들을 구비할 수 있고, 각각의 트랙은 복수의 섹터들을 구비할 수 있다. 헤드(320)는 디스크(310)에 데이터를 라이트하거나 디스크(310)로부터 데이터를 리드할 수 있다. 즉, 헤드(320)는 수신된 데이터를 디스크(310)의 대응하는 섹터에 라이트하거나 디스크(310)의 섹터로부터 데이터를 리드할 수 있다.
버퍼(340)는 호스트(HOST)로부터 수신된 데이터 또는 디스크(310)로부터 리드된 데이터를 저장할 수 있다. 버퍼(340)는 제 1 영역, 제 2 영역 및 제 3 영역으로 구분할 수 있으며, 버퍼(340)의 제 1 내지 제 3 영역 각각에 데이터를 저장하는 방법은 도 4 내지 도 7b를 참조하여 보다 상세하게 설명한다.
제어부(330)는 호스트(HOST)로부터 수신된 데이터를 버퍼(340)의 상기 제 1 영역에 저장할 수 있다. 제어부(330)는 상기 수신된 데이터의 크기와 상기 수신한 데이터를 라이트할 섹터의 크기가 상이한 경우, 디스크(310)의 상기 섹터들 중 상기 수신된 데이터를 라이트할 섹터에 저장되어 있는 데이터를 리드하여 상기 제 2 영역 및 제 3 영역에 저장할 수 있다. 즉, 제어부(330)는 상기 리드된 데이터 중 상기 수신된 데이터에 대응하는 부분 및 나머지 부분을 각각 상기 제 2 영역 및 제 3 영역에 저장할 수 있다. 또한, 제어부(330)는 상기 수신된 데이터의 크기와 상기 수신한 데이터를 라이트할 섹터의 크기가 동일한 경우, 상기 제 1 영역에 저장되어 있는 데이터를 대응하는 섹터에 라이트하도록 헤드(320)를 제어할 수 있다.
만약, 호스트(HOST)로부터 복수의 데이터가 수신되는 경우, 제어부(330)는 상기 수신된 데이터를 라이트할 섹터의 크기와 상이한 크기의 복수의 데이터를 버퍼(340)의 상기 제 1 영역에 저장할 수 있다. 제어부(330)는 상기 복수의 데이터를 라이트할 섹터들 중 상기 제 2 영역 및 제 3 영역에 저장된 데이터가 저장되어 있던 섹터 또는 상기 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 라이트한 섹터와 가장 근접한 섹터를 검색할 수 있다. 상기 가장 근접한 섹터를 검색한 경우, 제어부(330)는 상기 검색된 섹터에 저장되어 있는 데이터를 리드하여 상기 제 2 영역 및 제 3 영역에 저장하도록 제어하거나 상기 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 상기 검색된 섹터에 라이트하도록 제어할 수 있다. 제어부(330)가 상기 가장 근접한 섹터를 검색하는 경우 제 1 테이블 및 제 2 테이블을 이용할 수 있다. 상기 제 1 테이블은 헤드(320)가 라이트 동작을 수행하는 경우 헤드(320)의 탐색 시간에 대한 정보를 포함할 수 있다. 상기 제 2 테이블은 헤드(320)가 리드 동작을 수행하는 경우 헤드(320)의 탐색 시간에 대한 정보를 포함할 수 있다. 상기 제 1 테이블 및 제 2 테이블은 메모리(350)에 저장될 수 있다. 상기 제 1 테이블 및 제 2 테이블의 일 실시예에 관하여는 도 11a 및 도 11b에서 보다 상세하게 설명한다.
제어부(330)의 구체적인 동작에 관하여는 이하에서 보다 상세하게 설명한다.
도 4는 도 3의 디스크 장치(300)의 라이트 방법의 일 실시예에 관한 흐름도이다.
도 3 및 도 4를 참조하면, 제어부(330)는 호스트(HOST)로부터 수신된 데이터를 버퍼(340)의 상기 제 1 영역에 저장할 수 있다(S410). 제어부(330)는 상기 수신된 데이터의 크기와 상기 수신된 데이터를 라이트할 섹터의 크기를 비교할 수 있다(S420). S420 단계에서 비교한 결과, 상기 수신된 데이터의 크기와 상기 수신된 데이터를 라이트할 섹터의 크기가 상이한 경우, 제어부(330)는 상기 수신된 데이터를 라이트할 섹터에 저장되어 있는 데이터를 리드하도록 헤드(320)를 제어할 수 있다(S430). 제어부(330)는 상기 리드된 데이터 중 상기 수신된 데이터에 대응하는 부분을 버퍼(340)의 상기 제 2 영역에 저장할 수 있다(S440). 또한, 제어부(330)는 상기 리드된 데이터 중 상기 수신된 데이터에 대응하는 부분을 제외한 나머지 부분을 버퍼(340)의 상기 제 3 영역에 저장할 수 있다(S450). 제어부(330)는 버퍼(340)의 상기 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 상기 섹터에 라이트하도록 헤드(320)를 제어할 수 있다(S460).
S420 단계에서 비교한 결과, 상기 수신된 데이터의 크기와 상기 수신된 데이터를 라이트할 섹터의 크기가 동일한 경우, 제어부(330)는 버퍼(340)의 상기 제 1 영역에 저장되어 있는 데이터를 대응하는 섹터에 라이트하도록 헤드(320)를 제어할 수 있다(S470).
도 5a는 도 3의 버퍼(340)의 일 실시예를 도시한 도면이고, 도 5b는 도 3의 디스크(310)의 하나의 섹터(510)에 관한 일 실시예를 도시한 도면이다. 이하에서는 설명의 편의상 호스트(HOST)로부터 데이터(D1)가 수신되었고, 데이터(D1)를 섹터(510)에 라이트하고자 하는 경우에 대하여 설명한다.
도 3 내지 도 5b를 참조하면, 제어부(330)는 수신된 데이터(D1)를 버퍼(340)의 제 1 영역(A2)에 저장할 수 있다. 수신된 데이터(D1)가 섹터(510)에 저장되어 있는 데이터(B1, B2, B3, B4) 중 데이터(B2)를 대체하기 위한 데이터라고 가정한다. 예를 들어, 호스트(HOST)로부터 수신된 데이터(D1)의 크기는 512 [byte]이고 섹터(510)의 크기는 4 [kbyte]일 수 있다. 수신된 데이터(D1)의 크기는 섹터(510)의 크기와 상이하므로, 제어부(330)는 섹터(510)에 저장되어 있는 데이터(B1, B2, B3, B4)를 리드하여 버퍼(340)의 제 2 영역(A5) 및 제 3 영역(A1, A3, A4)에 저장할 수 있다. 즉, 제어부(330)는 리드된 데이터(B1, B2, B3, B4) 중 수신된 데이터(D1)에 대응하는 부분(B2)을 버퍼(340)의 제 2 영역(A5)에 저장할 수 있다. 또한, 제어부(330)는 리드된 데이터(B1, B2, B3, B4) 중 수신된 데이터(D1)에 대응하는 부분(B2)을 제외한 나머지 부분(B1, B3, B4)을 버퍼(340)의 제 3 영역(A1, A3, A4)에 저장할 수 있다. 제어부(330)는 버퍼(340)의 제 1 영역(A2) 및 제 3 영역(A1, A3, A4)에 저장되어 있는 데이터를 섹터(510)에 라이트하도록 헤드(320)를 제어할 수 있다.
도 5a 및 도 5b에서는 섹터(510) 크기의 1/4 크기의 데이터(D1)가 호스트(HOST)로부터 수신된 경우에 대하여 도시하고 있으나, 본 발명이 이 경우에 한정되는 것은 아니며 다양한 크기의 데이터(D1)가 호스트(HOST)로부터 수신되는 경우에도 버퍼(340)를 제 1 영역 내지 제 3 영역으로 구분함으로서 이상에서 설명한 것과 같이 동작할 수 있다.
도 6은 도 3의 디스크 장치(300)의 라이트 방법의 다른 일 실시예에 관한 흐름도이다.
도 6에서는 설명의 편의상 라이트할 섹터의 크기와 상이한 크기의 복수의 데이터가 수신되는 경우에 대하여 설명한다. 만약, 라이트할 섹터의 크기와 동일한 크기의 데이터가 수신되는 경우에는 도 4에서 설명한 것과 같이 디스크 장치(300)는 S470 단계를 수행함으로써 라이트 동작을 수행할 수 있다. 또한, 도 6과 관련하여서는 설명의 편의상 제 1 및 제 2 데이터가 호스트로부터 수신되고, 상기 제 1 및 제 2 데이터는 각각 제 1 및 제 2 섹터에 저장된다고 가정한다.
도 3 및 도 6을 참조하면, 제어부(330)는 라이트할 섹터의 크기와 상이한 크기의 복수의 데이터를 버퍼(340)의 제 1 영역에 저장할 수 있다(S610). 즉, 제어부(330)는 상기 제 1 및 제 2 데이터를 버퍼(340)의 상기 제 1 영역에 저장할 수 있다.
제어부(330)는 복수의 데이터를 라이트할 섹터들 중 적어도 하나의 섹터에 저장되어 있는 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장할 수 있다. 즉, 제어부(330)는 상기 제 1 섹터에 저장되어 있는 데이터를 리드하도록 헤드(320)를 제어할 수 있다. 그리고, 제어부(330)는 상기 리드된 데이터 중 상기 제 1 데이터에 대응하는 부분을 버퍼(340)의 제 2 영역에 저장하고(S620), 상기 리드된 데이터 중 상기 제 1 데이터에 대응하는 부분을 제외한 나머지 부분을 버퍼(340)의 제 3 영역에 저장할 수 있다(S630). 제어부(330)는 상기 복수의 데이터를 라이트할 섹터들 중 상기 제 1 섹터에 가장 근접한 섹터를 검색할 수 있다(S640). S640 단계는 상기 복수의 데이터를 라이트할 섹터들 중 S620 및 S630 단계를 수행한 섹터, S660 단계를 수행한 섹터 또는 S670 단계를 수행한 섹터와 가장 근접한 섹터를 검색할 수 있다. S630 단계를 수행한 결과 상기 제 1 섹터에 가장 근접하고 상기 제 2 데이터를 저장할 제 2 섹터가 검색될 수 있다. 제어부(330)는 상기 검색된 섹터에 대하여 리드 동작 또는 라이트 동작을 수행할 것인지 판단할 수 있다(S650). 예를 들어, 제어부(330)는 상기 검색된 섹터에 저장되어 있는 데이터가 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되어 있는 경우 상기 라이트 동작을 수행할 것으로 판단하고, 상기 검색된 섹터에 저장되어 있는 데이터가 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되어 있지 않은 경우 상기 리드 동작을 수행할 것으로 판단할 수 있다.
S650 단계에서 상기 리드 동작을 수행할 것으로 판단한 경우, 제어부(330)는 상기 검색된 제 2 섹터에 저장되어 있는 데이터를 리드하여 버퍼(340)의 제 2 영역 및 제 3 영역에 저장할 수 있다(S660). 즉, 제어부(330)는 상기 리드된 데이터 중 상기 제 2 데이터에 대응하는 부분을 버퍼(340)의 제 2 영역에 저장하고, 상기 리드된 데이터 중 상기 제 2 데이터에 대응하는 부분을 제외한 나머지 부분을 버퍼(340)의 제 3 영역에 저장할 수 있다.
상기 검색된 제 2 섹터에 저장되어 있는 데이터가 이미 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되어 있는 상태인 경우, S650 단계에서 상기 라이트 동작을 수행할 것으로 판단할 수 있다. 그러므로, 제어부(330)는 버퍼(340)의 제 1 영역에 저장되어 있는 상기 제 2 데이터 및 버퍼(340)의 제 3 영역에 저장되어 있는 상기 제 2 섹터에서 리드된 데이터를 상기 제 2 섹터에 라이트하도록 제어할 수 있다(S670).
제어부(330)는 상기 수신된 복수의 데이터에 대하여 라이트 동작을 완료하였는지 여부를 판단하여(S680), 상기 수신된 모든 복수의 데이터에 대하여 라이트 동작을 완료할 때까지 상기 S640 내지 S670 단계를 수행할 수 있다.
도 7a는 도 3의 버퍼(340)의 다른 일 실시예를 도시한 도면이고, 도 7b는 도 3의 디스크(310)의 하나의 트랙(710)에 관한 다른 일 실시예를 도시한 도면이다. 이하에서는 설명의 편의상 호스트로부터 제 1 데이터(D1) 및 제 2 데이터(D2)가 수신되었고, 제 1 데이터(D1) 및 제 2 데이터(D2)를 트랙(710)에 라이트하고자 하는 경우에 대하여 설명한다. 트랙(710)은 데이터(B1, B2, B3, B4)가 저장되어 있는 제 1 섹터(750), 데이터(B5, B6, B7, B8)가 저장되어 있는 제 2 섹터(760), 데이터(B9, B10, B11, B12)가 저장되어 있는 제 3 섹터(770) 등을 포함한다고 가정한다.
도 3, 도 6 내지 도 7b를 참조하면, 제어부(330)는 수신된 제 1 데이터(D1) 및 제 2 데이터(D2)를 버퍼(340)의 제 1 영역(A3, A5, A6)에 저장할 수 있다. 즉, 제어부(330)는 제 1 데이터(D1)를 버퍼(340)의 제 1 영역(A3)에 저장하고, 제 2 데이터(D2)를 버퍼(340)의 제 1 영역(A5, A6)에 저장할 수 있다. 수신된 제 1 데이터(D1)가 제 1 섹터(750)에 저장되어 있는 데이터(B1, B2, B3, B4) 중 데이터(B3)를 대체하기 위한 데이터라고 가정하고, 수신된 제 2 데이터(D2)가 제 3 섹터(770)에 저장되어 있는 데이터(B9, B10, B11, B12) 중 데이터(B9, B10)를 대체하기 위한 데이터라고 가정한다. 예를 들어, 호스트(HOST)로부터 수신된 제 1 데이터(D1) 및 제 2 데이터(D2) 각각의 크기는 512 [byte]이고 제 1 및 제 3 섹터(750, 770)의 크기는 4 [kbyte]일 수 있다.
수신된 제 1 데이터(D1)의 크기는 제 1 섹터(750)의 크기와 상이하므로, 제어부(330)는 제 1 섹터(750)에 저장되어 있는 데이터(B1, B2, B3, B4)를 리드하여 버퍼(340)의 제 2 영역(A9) 및 제 3 영역(A1, A2, A4)에 저장할 수 있다. 즉, 제어부(330)는 제 1 섹터(750)에서 리드된 데이터(B1, B2, B3, B4) 중 수신된 데이터(D1)에 대응하는 부분(B3)을 버퍼(340)의 제 2 영역(A9)에 저장할 수 있다. 또한, 제어부(330)는 제 1 섹터(750)에서 리드된 데이터(B1, B2, B3, B4) 중 수신된 데이터(D1)에 대응하는 부분(B3)을 제외한 나머지 부분(B1, B2, B4)을 버퍼(340)의 제 3 영역(A1, A2, A4)에 저장할 수 있다.
이후에, 제어부(340)는 제 1 섹터(750)와 가장 근접하고 제 2 데이터(D2)를 저장할 제 2 섹터(770)를 검색할 수 있다. 제 2 섹터(770)의 데이터(B9, B10, B11, B12)가 버퍼(340)에 저장되지 않은 상태이므로, 제어부(330)는 제 2 섹터(770)에 저장되어 있는 데이터(B9, B10, B11, B12)를 리드하여 버퍼(340)의 제 2 영역(A10, A11) 및 제 3 영역(A7, A8)에 저장할 수 있다. 즉, 제어부(330)는 제 2 섹터(770)에서 리드된 데이터(B9, B10, B11, B12) 중 수신된 제 2 데이터(D2)에 대응하는 부분(B9, B10)을 버퍼(340)의 제 2 영역(A10, A11)에 저장할 수 있다. 또한, 제어부(330)는 제 2 섹터(770)에서 리드된 데이터(B9, B10, B11, B12) 중 수신된 제 2 데이터(D2)에 대응하는 부분(B9, B10)을 제외한 나머지 부분(B11, B12)을 버퍼(340)의 제 2 영역(A7, A8)에 저장할 수 있다.
이후에, 제어부(340)는 제 2 섹터(770)와 가장 근접하고 라이트 동작이 완료되지 않은 제 1 데이터(D1)를 저장할 제 1 섹터(750)를 검색할 수 있다. 제어부(330)는 버퍼(340)의 제 1 영역(A3) 및 제 3 영역(A1, A2, A4)에 저장되어 있는 데이터를 제 1 섹터(750)에 라이트하도록 제어할 수 있다.
이후에, 제어부(340)는 제 1 섹터(750)와 가장 근접하고 라이트 동작이 완료되지 않은 제 2 데이터(D2)를 저장할 제 2 섹터(770)를 검색할 수 있다. 제어부(330)는 버퍼(340)의 제 1 영역(A5, A6) 및 제 3 영역(A7, A8)에 저장되어 있는 데이터를 제 2 섹터(770)에 라이트하도록 제어할 수 있다.
도 7a 및 도 7b에서는 제 1 섹터 및 제 3 섹터(750, 770) 크기의 1/4 크기인 제 1 및 제 2 데이터(D1, D2)가 호스트(HOST)로부터 수신된 경우에 대하여 도시하고 있으나, 본 발명이 이 경우에 한정되는 것은 아니며 다양한 크기와 다른 개수의 데이터가 호스트(HOST)로부터 수신되는 경우에도 버퍼(340)를 제 1 영역 내지 제 3 영역으로 구분함으로서 이상에서 설명한 것과 같이 동작할 수 있다.
도 8은 도 3의 디스크(310)의 일 실시예를 도시한 도면이다.
도 3, 도 6 및 도 8을 참조하면, 디스크(310)는 제 1 내지 제 3 트랙(T1, T2, T3)을 포함하고, 제 1 내지 제 3 트랙(T1, T2, T3) 각각은 복수의 섹터들을 포함할 수 있다. 즉, 제 1 트랙(T1)은 제 1 섹터(S1) 및 제 2 섹터(S2)를 포함할 수 있고, 제 2 트랙(T2)은 제 3 섹터(S3), 제 4 섹터(S4) 및 제 5 섹터(S5)를 포함할 수 있다. 이하에서는 도 6의 S640 단계의 일 실시예에 대하여 설명한다. 예를 들어, 제 1 내지 제 5 섹터(S1, S2, S3, S4, S5) 각각의 크기와 상이한 제 1 내지 제 5 데이터 각각을 제 1 내지 제 5 섹터(S1, S2, S3, S4, S5)에 라이트한다고 가정한다.
먼저 제 1 섹터(S1)와 관련하여 S620 단계 및 S630 단계를 수행하여 제 1 섹터(S1)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장하였다고 가정한다. 도 8의 경우는 동일한 트랙에서 상기 수신된 데이터를 라이트할 가장 근접한 섹터가 있는지를 먼저 판단하고, 상기 섹터가 없는 경우 다른 트랙에서 상기 수신된 데이터를 라이트할 가장 근접한 섹터가 있는지를 판단할 수 있다. 즉, 도 8의 경우, 제어부(330)는 제 1 내지 제 5 섹터(S1, S2, S3, S4, S5)에 대하여 저장되어 있는 데이터를 버퍼(340)에 저장하는 동작을 수행하고, 이후에 제 1 내지 제 5 섹터(S1, S2, S3, S4, S5)에 대하여 버퍼(340)의 대응하는 데이터를 라이트하는 동작을 수행하도록 제어할 수 있다.
제어부(330)는 S640 단계를 수행함에 있어서, 제 1 섹터(S1)가 포함된 제 1 트랙(T1)의 섹터들 중 상기 수신된 데이터를 저장할 섹터가 있는지 먼저 검색한다. 도 8의 경우 제 1 트랙(T1)에 상기 제 2 데이터를 라이트할 제 2 섹터(S2)가 있으므로, S640 단계에서 검색된 섹터는 제 2 섹터(S2)가 된다. 제 2 섹터(S2)에 대하여는 리드 동작을 먼저 수행하여야 하므로 제어부(330)는 S660 단계를 수행하여 제 2 섹터(S2)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장할 수 있다.
다음으로, 제어부(640)는 S640 단계를 수행함에 있어서, 제 2 섹터(S2)가 포함된 제 1 트랙(T1)의 섹터들 중에는 S660 단계를 수행할 섹터가 없으므로, 다른 트랙의 제 3 내지 제 5 섹터들(S3, S4, S5) 중 S660 단계를 수행할 가장 근접한 섹터를 검색한다. 도 8의 경우 제 2 트랙(T2)에 상기 제 3 데이터를 라이트할 제 3 섹터(S3)가 있으므로, S640 단계에서 검색된 섹터는 제 3 섹터(S3)가 된다. 제 3 섹터(S3)에 대하여는 리드 동작을 먼저 수행하여야 하므로 제어부(330)는 S660 단계를 수행하여 제 3 섹터(S3)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장할 수 있다.
다음으로, 제어부(640)는 S640 단계를 수행함에 있어서, 제 3 섹터(S3)가 포함된 제 2 트랙(T2)의 섹터들 중 상기 수신된 데이터를 저장할 가장 근접한 섹터가 있는지 검색한다. 도 8의 경우 제 2 트랙(T2)에 상기 제 4 데이터를 라이트할 제 4 섹터(S4)가 제 3 섹터(S3)에 가장 근접한 섹터이므로, S640 단계에서 검색된 섹터는 제 4 섹터(S4)가 된다. 제 4 섹터(S4)에 대하여는 리드 동작을 먼저 수행하여야 하므로 제어부(330)는 S660 단계를 수행하여 제 4 섹터(S4)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장할 수 있다.
다음으로, 제어부(640)는 S640 단계를 수행함에 있어서, 제 4 섹터(S4)가 포함된 제 2 트랙(T2)의 섹터들 중 상기 수신된 데이터를 저장할 가장 근접한 섹터가 있는지 검색한다. 도 8의 경우 제 2 트랙(T2)에 상기 제 5 데이터를 라이트할 제 5 섹터(S5)가 제 4 섹터(S4)에 가장 근접한 섹터이므로, S640 단계에서 검색된 섹터는 제 5 섹터(S5)가 된다. 제 5 섹터(S5)에 대하여는 리드 동작을 먼저 수행하여야 하므로 제어부(330)는 S660 단계를 수행하여 제 5 섹터(S5)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장할 수 있다.
이상으로 제 1 내지 제 5 섹터(S1, S2, S3, S4, S5)의 데이터는 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되었으므로, 제어부(330)는 S640 단계에서 제 5 섹터(S5)에 가장 근접하고 상기 저장된 데이터를 라이트할 섹터를 검색한다. 즉, 도 8의 경우 제어부(330)는 제 5 섹터(S5)에서 가장 근접하고 라이트 동작이 완료되지 않은 제 1 섹터(S1)를 검색할 수 있다. 다만, 이 경우 제어부(330)는 동일 트랙에서 라이트 동작이 완료되지 않고 가장 근접한 제 3 섹터(S3)를 S640 단계에서 검색할 수도 있다. 제어부(330)는 S670 단계를 수행하여 버퍼(340)의 제 1 영역 및 제 3 영역에 저장된 데이터 중 대응하는 데이터를 제 1 섹터(S1)에 라이트하도록 제어할 수 있다. 이후에는, S660 단계를 수행한 것과 동일한 순서, 즉 제 2 섹터(S2), 제 3 섹터(S3), 제 4 섹터(S4) 및 제 5 섹터(S5)의 순서로 S670 단계를 수행할 수 있다.
도 9는 도 3의 디스크(310)의 다른 일 실시예를 도시한 도면이다.
도 3, 도 6 및 도 9를 참조하면, 디스크(310)는 제 1 내지 제 3 트랙(T1, T2, T3)을 포함하고, 제 1 내지 제 3 트랙(T1, T2, T3) 각각은 복수의 섹터들을 포함할 수 있다. 즉, 제 1 트랙(T1)은 제 1 섹터(S1) 및 제 2 섹터(S2)를 포함할 수 있고, 제 2 트랙(T2)은 제 3 섹터(S3), 제 4 섹터(S4) 및 제 5 섹터(S5)를 포함할 수 있다. 이하에서는 도 6의 S640 단계의 일 실시예에 대하여 설명한다. 예를 들어, 제 1 내지 제 5 섹터(S1, S2, S3, S4, S5) 각각의 크기와 상이한 제 1 내지 제 5 데이터 각각을 제 1 내지 제 5 섹터(S1, S2, S3, S4, S5)에 라이트한다고 가정한다.
먼저 제 1 섹터(S1)와 관련하여 S620 단계 및 S630 단계를 수행하여 제 1 섹터(S1)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장하였다고 가정한다. 도 9의 경우는 동일한 트랙에서 상기 수신된 데이터를 라이트할 가장 근접한 섹터가 있는지를 먼저 판단하고, 상기 섹터가 없는 경우 다른 트랙에서 상기 수신된 데이터를 라이트할 가장 근접한 섹터가 있는지를 판단할 수 있다. 즉, 도 9의 경우, 제어부(330)는 제 1 내지 제 5 섹터(S1, S2, S3, S4, S5) 중 동일한 트랙의 섹터들에 대하여 저장되어 있는 데이터를 버퍼(340)에 저장하는 동작 또는 버퍼(340)의 대응하는 데이터를 라이트하는 동작을 우선적으로 수행하도록 제어할 수 있다.
제어부(330)는 S640 단계를 수행함에 있어서, 제 1 섹터(S1)가 포함된 제 1 트랙(T1)의 섹터들 중 상기 수신된 데이터를 저장할 섹터가 있는지 먼저 검색한다. 도 8의 경우 제 1 트랙(T1)에 상기 제 2 데이터를 라이트할 제 2 섹터(S2)가 있으므로, S640 단계에서 검색된 섹터는 제 2 섹터(S2)가 된다. 제 2 섹터(S2)에 대하여는 리드 동작을 먼저 수행하여야 하므로 제어부(330)는 S660 단계를 수행하여 제 2 섹터(S2)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 제 2 섹터(S2)가 포함된 제 1 트랙(T1)의 섹터들 중 제 1 섹터(S1)에 대하여 S670 단계를 수행하여야 하므로, S640 단계에서 검색된 섹터는 제 1 섹터(S1)가 된다. 제 1 섹터(S1)의 데이터는 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되었으므로, 제어부(330)는 S670 단계를 수행하여 버퍼(340)의 제 1 영역 및 제 3 영역에 저장된 데이터 중 대응하는 데이터를 제 1 섹터(S1)에 라이트하도록 제어할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 제 1 섹터(S1)가 포함된 제 1 트랙(T1)의 섹터들 중 제 2 섹터(S2)에 대하여 S670 단계를 수행하여야 하므로, S640 단계에서 검색된 섹터는 제 2 섹터(S2)가 된다. 제 2 섹터(S2)의 데이터는 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되었으므로, 제어부(330)는 S670 단계를 수행하여 버퍼(340)의 제 1 영역 및 제 3 영역에 저장된 데이터 중 대응하는 데이터를 제 2 섹터(S2)에 라이트하도록 제어할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 제 2 섹터(S2)가 포함된 제 1 트랙(T1)의 섹터들 중에는 S660 단계 또는 S670 단계를 수행할 섹터가 없으므로, 다른 트랙의 제 3 내지 제 5 섹터들(S3, S4, S5) 중 S660 단계를 수행할 가장 근접한 섹터를 검색한다. 도 9의 경우 제 2 트랙(T2)에 상기 제 3 데이터를 라이트할 제 3 섹터(S3)가 있으므로, S640 단계에서 검색된 섹터는 제 3 섹터(S3)가 된다. 제 3 섹터(S3)에 대하여는 리드 동작을 먼저 수행하여야 하므로 제어부(330)는 S660 단계를 수행하여 제 3 섹터(S3)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장할 수 있다.
다음으로, 제어부(640)는 S640 단계를 수행함에 있어서, 제 3 섹터(S3)가 포함된 제 2 트랙(T2)의 섹터들 중 상기 수신된 데이터를 저장할 가장 근접한 섹터가 있는지 검색한다. 도 9의 경우 제 2 트랙(T2)에 상기 제 4 데이터를 라이트할 제 4 섹터(S4)가 제 3 섹터(S3)에 가장 근접한 섹터이므로, S640 단계에서 검색된 섹터는 제 4 섹터(S4)가 된다. 제 4 섹터(S4)에 대하여는 리드 동작을 먼저 수행하여야 하므로 제어부(330)는 S660 단계를 수행하여 제 4 섹터(S4)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장할 수 있다.
다음으로, 제어부(640)는 S640 단계를 수행함에 있어서, 제 4 섹터(S4)가 포함된 제 2 트랙(T2)의 섹터들 중 상기 수신된 데이터를 저장할 가장 근접한 섹터가 있는지 검색한다. 도 9의 경우 제 2 트랙(T2)에 상기 제 5 데이터를 라이트할 제 5 섹터(S5)가 제 4 섹터(S4)에 가장 근접한 섹터이므로, S640 단계에서 검색된 섹터는 제 5 섹터(S5)가 된다. 제 5 섹터(S5)에 대하여는 리드 동작을 먼저 수행하여야 하므로 제어부(330)는 S660 단계를 수행하여 제 5 섹터(S5)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 제 5 섹터(S5)가 포함된 제 2 트랙(T2)의 섹터들 중 제 3 섹터(S3)에 대하여 S670 단계를 수행하여야 하므로, S640 단계에서 검색된 섹터는 제 3 섹터(S3)가 된다. 제 3 섹터(S3)의 데이터는 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되었으므로, 제어부(330)는 S670 단계를 수행하여 버퍼(340)의 제 1 영역 및 제 3 영역에 저장된 데이터 중 대응하는 데이터를 제 3 섹터(S3)에 라이트하도록 제어할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 제 3 섹터(S3)가 포함된 제 2 트랙(T2)의 섹터들 중 제 3 섹터(S3)에 대하여 S670 단계를 수행하여야 하므로, S640 단계에서 검색된 섹터는 제 4 섹터(S4)가 된다. 제 4 섹터(S4)의 데이터는 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되었으므로, 제어부(330)는 S670 단계를 수행하여 버퍼(340)의 제 1 영역 및 제 3 영역에 저장된 데이터 중 대응하는 데이터를 제 4 섹터(S4)에 라이트하도록 제어할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 제 4 섹터(S4)가 포함된 제 2 트랙(T2)의 섹터들 중 제 5 섹터(S5)에 대하여 S670 단계를 수행하여야 하므로, S640 단계에서 검색된 섹터는 제 5 섹터(S5)가 된다. 제 5 섹터(S5)의 데이터는 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되었으므로, 제어부(330)는 S670 단계를 수행하여 버퍼(340)의 제 1 영역 및 제 3 영역에 저장된 데이터 중 대응하는 데이터를 제 5 섹터(S5)에 라이트하도록 제어할 수 있다.
도 10은 도 3의 디스크(310)의 다른 일 실시예를 도시한 도면이다.
도 3, 도 6 및 도 10을 참조하면, 디스크(310)는 제 1 내지 제 3 트랙(T1, T2, T3)을 포함하고, 제 1 내지 제 3 트랙(T1, T2, T3) 각각은 복수의 섹터들을 포함할 수 있다. 즉, 제 1 트랙(T1)은 제 1 섹터(S1) 및 제 2 섹터(S2)를 포함할 수 있고, 제 2 트랙(T2)은 제 3 섹터(S3), 제 4 섹터(S4) 및 제 5 섹터(S5)를 포함할 수 있다. 이하에서는 도 6의 S640 단계의 일 실시예에 대하여 설명한다. 예를 들어, 제 1 내지 제 5 섹터(S1, S2, S3, S4, S5) 각각의 크기와 상이한 제 1 내지 제 5 데이터 각각을 제 1 내지 제 5 섹터(S1, S2, S3, S4, S5)에 라이트한다고 가정한다.
먼저 제 1 섹터(S1)와 관련하여 S620 단계 및 S630 단계를 수행하여 제 1 섹터(S1)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장하였다고 가정한다. 도 10의 경우는 트랙과 무관하게 상기 수신된 데이터를 라이트할 가장 근접한 섹터가 있는지를 판단할 수 있다.
제어부(330)는 S640 단계를 수행함에 있어서, 상기 수신된 데이터가 저장될 섹터들 중 제 1 섹터(S1)와 가장 근접한 섹터가 있는지 먼저 검색한다. 도 10의 경우 제 5 데이터를 라이트할 제 5 섹터(S5)가 제 1 섹터(S1)에 가장 근접한 섹터이므로, S640 단계에서 검색된 섹터는 제 5 섹터(S5)가 된다. 제 5 섹터(S5)에 대하여는 리드 동작을 먼저 수행하여야 하므로 제어부(330)는 S660 단계를 수행하여 제 5 섹터(S5)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 상기 수신된 데이터가 저장될 섹터들 중 제 5 섹터(S5)와 가장 근접한 섹터가 있는지 검색하므로, S640 단계에서 검색된 섹터는 제 1 섹터(S1)가 된다. 제 1 섹터(S1)의 데이터는 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되었으므로, 제어부(330)는 S670 단계를 수행하여 버퍼(340)의 제 1 영역 및 제 3 영역에 저장된 데이터 중 대응하는 데이터를 제 1 섹터(S1)에 라이트하도록 제어할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 상기 수신된 데이터가 저장될 섹터들 중 제 1 섹터(S1)와 가장 근접한 섹터가 있는지 검색하므로, S640 단계에서 검색된 섹터는 제 5 섹터(S5)가 된다. 제 5 섹터(S5)의 데이터는 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되었으므로, 제어부(330)는 S670 단계를 수행하여 버퍼(340)의 제 1 영역 및 제 3 영역에 저장된 데이터 중 대응하는 데이터를 제 5 섹터(S5)에 라이트하도록 제어할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 상기 수신된 데이터가 저장될 섹터들 중 제 5 섹터(S5)와 가장 근접한 섹터가 있는지 검색하므로, S640 단계에서 검색된 섹터는 제 4 섹터(S4)가 된다. 제 4 섹터(S4)에 대하여는 리드 동작을 먼저 수행하여야 하므로 제어부(330)는 S660 단계를 수행하여 제 4 섹터(S4)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 상기 수신된 데이터가 저장될 섹터들 중 제 4 섹터(S4)와 가장 근접한 섹터가 있는지 검색하므로, S640 단계에서 검색된 섹터는 제 3 섹터(S3)가 된다. 제 3 섹터(S3)에 대하여는 리드 동작을 먼저 수행하여야 하므로 제어부(330)는 S660 단계를 수행하여 제 3 섹터(S3)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 상기 수신된 데이터가 저장될 섹터들 중 제 3 섹터(S3)와 가장 근접한 섹터가 있는지 검색하므로, S640 단계에서 검색된 섹터는 제 2 섹터(S2)가 된다. 제 2 섹터(S2)에 대하여는 리드 동작을 먼저 수행하여야 하므로 제어부(330)는 S660 단계를 수행하여 제 2 섹터(S2)의 데이터를 버퍼(340)의 상기 제 2 영역 및 제 3 영역에 저장할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 상기 수신된 데이터가 저장될 섹터들 중 제 2 섹터(S2)와 가장 근접한 섹터가 있는지 검색하므로, S640 단계에서 검색된 섹터는 제 3 섹터(S3)가 된다. 제 3 섹터(S3)의 데이터는 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되었으므로, 제어부(330)는 S670 단계를 수행하여 버퍼(340)의 제 1 영역 및 제 3 영역에 저장된 데이터 중 대응하는 데이터를 제 3 섹터(S3)에 라이트하도록 제어할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 상기 수신된 데이터가 저장될 섹터들 중 제 3 섹터(S3)와 가장 근접한 섹터가 있는지 검색하므로, S640 단계에서 검색된 섹터는 제 2 섹터(S2)가 된다. 제 2 섹터(S2)의 데이터는 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되었으므로, 제어부(330)는 S670 단계를 수행하여 버퍼(340)의 제 1 영역 및 제 3 영역에 저장된 데이터 중 대응하는 데이터를 제 2 섹터(S2)에 라이트하도록 제어할 수 있다.
다음으로, 제어부(330)는 S640 단계를 수행함에 있어서, 상기 수신된 데이터가 저장될 섹터들 중 제 2 섹터(S2)와 가장 근접한 섹터가 있는지 검색하므로, S640 단계에서 검색된 섹터는 제 4 섹터(S4)가 된다. 제 4 섹터(S4)의 데이터는 버퍼(340)의 제 2 영역 및 제 3 영역에 저장되었으므로, 제어부(330)는 S670 단계를 수행하여 버퍼(340)의 제 1 영역 및 제 3 영역에 저장된 데이터 중 대응하는 데이터를 제 4 섹터(S4)에 라이트하도록 제어할 수 있다.
도 11a는 제 1 테이블(1110)의 일 실시예에 대한 도면이고, 도 11b는 제 2 테이블(1150)의 일 실시예에 대한 도면이다.
도 3, 도 11a 및 도 11b를 참조하면, 제 1 테이블(1110)은 헤드(320)가 라이트 동작을 수행하는 경우 헤드(320)의 탐색 시간에 대한 정보를 포함하는 테이블일 수 있다. 그리고, 제 2 테이블(1110)은 헤드(320)가 리드 동작을 수행하는 경우 헤드(320)의 탐색 시간에 대한 정보를 포함하는 테이블일 수 있다. 도 11a 및 도 11b에서 길이(length)는 실린더(cylinder)간 거리를 의미할 수 있다. 즉, 도 11a를 참조하면 헤드(320)가 라이트 동작을 위하여 2개의 트랙을 이동하는 시간은 1[μs]가 될 수 있다. 도 11b를 참조하면 헤드(320)가 리드 동작을 위하여 2개의 트랙을 이동하는 시간은 0.7[μs]가 될 수 있다. 다만, 도 11a의 제 1 테이블(1110) 및 도 11b의 제 2 테이블(1150)은 일 예를 도시한 것일 뿐 본 발명이 이 경우에 한정되는 것은 아니며, 경우에 따라 제 1 테이블(1110) 및 제 2 테이블(1150)은 다른 값을 가질 수도 있다.
제 1 테이블(1110) 및 제 2 테이블(1150)은 실험을 통하여 얻은 값을 이용하거나, 제 1 테이블(1110)은 실험을 통하여 얻은 값을 이용하고 제 2 테이블(1150)은 제 1 테이블(1110)을 이용하여 추정한 값을 이용할 수 있다. 또는, 제 2 테이블(1150)은 실험을 통해 얻은 값을 이용하고 제 1 테이블(1110)은 제 2 테이블(1150)을 이용하여 추정한 값을 이용할 수 있다.
제 1 테이블(1110) 및 제 2 테이블(1150)은 도 6의 S640 단계를 수행하는데 이용될 수 있다. 즉, 제어부(330)는 제 1 테이블(1110) 또는 제 2 테이블(1150)을 이용하여 상기 가장 근접한 섹터를 검색할 수 있다. 일반적으로 디스크 장치(300)가 라이트 동작을 수행하는 경우와 리드 동작을 수행하는 경우 헤드(320)의 탐색 시간이 상이하므로 도 11a 및 도 11b와 같은 두 개의 테이블을 이용할 수 있다. 만약, 디스크 장치(300)가 라이트 동작을 수행하는 경우와 리드 동작을 수행하는 경우 헤드(320)의 탐색 시간이 동일하다면 하나의 테이블을 이용할 수도 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Claims (11)
- 라이트할 섹터의 크기와 상이한 크기의 복수의 데이터를 버퍼의 제 1 영역에 저장하는 단계;
상기 복수의 데이터를 라이트할 섹터들 중 적어도 하나의 섹터에 저장되어 있는 데이터를 상기 버퍼의 제 2 영역 및 제 3 영역에 저장하는 단계; 및
상기 버퍼의 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 상기 적어도 하나의 섹터 중 대응하는 섹터에 라이트하는 단계를 구비하고,
상기 버퍼의 제 2 영역 및 제 3 영역에 저장하는 단계는,
상기 섹터에 저장되어 있는 데이터 중 상기 섹터에 라이트할 데이터에 대응하는 부분을 상기 버퍼의 제 2 영역에 저장하는 단계; 및
상기 섹터에 저장되어 있는 데이터 중 상기 섹터에 라이트할 데이터에 대응하는 부분을 제외한 나머지 부분을 상기 버퍼의 제 3 영역에 저장하는 단계를 구비하는 것을 특징으로 하는 디스크 장치의 라이트 방법. - 제1항에 있어서, 상기 디스크 장치의 라이트 방법은,
상기 복수의 데이터를 라이트할 섹터들 중 상기 제 2 영역 및 제 3 영역에 저장하는 단계 또는 상기 라이트하는 단계를 수행한 섹터와 가장 근접한 섹터를 검색하는 단계; 및
상기 검색된 섹터에 대하여 상기 제 2 영역에 저장하는 단계 및 상기 제 3 영역에 저장하는 단계를 수행하거나 상기 라이트하는 단계를 수행하는 단계를 더 구비하는 것을 특징으로 하는 디스크 장치의 라이트 방법. - 제2항에 있어서, 상기 수행하는 단계는,
상기 검색된 섹터에 저장되어 있는 데이터가 상기 버퍼의 제 2 영역 및 제 3 영역에 저장되어 있는 경우 상기 라이트하는 단계를 수행하는 단계; 및
상기 검색된 섹터에 저장되어 있는 데이터가 상기 버퍼의 제 2 영역 및 제 3 영역에 저장되어 있지 않은 경우 상기 제 2 영역에 저장하는 단계 및 상기 제 3 영역에 저장하는 단계를 수행하는 단계를 구비하는 것을 특징으로 하는 디스크 장치의 라이트 방법. - 제2항에 있어서, 상기 검색하는 단계는,
상기 헤드가 라이트 동작을 수행하는 경우 상기 헤드의 탐색 시간에 대한 정보를 포함하는 제 1 테이블 및 상기 헤드가 리드 동작을 수행하는 경우 상기 헤드의 탐색 시간에 대한 정보를 포함하는 제 2 테이블을 이용하여, 상기 버퍼의 제 2 영역 및 제 3 영역에 저장된 데이터가 저장되어 있던 섹터와 가장 근접하고 상기 대응하는 데이터를 라이트할 섹터를 검색하는 단계인 것을 특징으로 하는 디스크 장치의 라이트 방법. - 제2항에 있어서, 상기 검색하는 단계는,
동일 트랙의 섹터들 중 상기 제 2 영역 및 제 3 영역에 저장하는 단계 또는 상기 라이트하는 단계를 수행한 섹터와 가장 근접하고 상기 복수의 데이터 중 대응하는 데이터를 라이트할 섹터를 검색하는 단계; 및
상기 동일 트랙에서 검색되지 않은 경우, 다른 트랙의 섹터들 중 상기 제 2 영역 및 제 3 영역에 저장하는 단계 또는 상기 라이트하는 단계를 수행한 섹터와 가장 근접하고 상기 복수의 데이터 중 대응하는 데이터를 라이트할 섹터가 섹터를 검색하는 단계를 구비하는 것을 특징으로 하는 디스크 장치의 라이트 방법. - 호스트로부터 수신된 데이터를 버퍼의 제 1 영역에 저장하는 단계;
상기 수신된 데이터를 라이트할 섹터에 저장되어 있는 데이터를 리드하는 단계;
상기 리드된 데이터 중 상기 수신된 데이터에 대응하는 부분을 상기 버퍼의 제 2 영역에 저장하는 단계;
상기 리드된 데이터 중 상기 수신된 데이터에 대응하는 부분을 제외한 나머지 부분을 상기 버퍼의 제 3 영역에 저장하는 단계; 및
상기 버퍼의 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 상기 섹터에 라이트하는 단계를 구비하는 것을 특징으로 하는 디스크 장치의 라이트 방법. - 제6항에 있어서, 상기 디스크 장치의 라이트 방법은,
상기 호스트로부터 상기 데이터를 수신하는 단계;
상기 수신된 데이터의 크기와 상기 수신한 데이터를 라이트할 섹터의 크기를 비교하는 단계;
상기 수신된 데이터의 크기가 상기 수신된 데이터를 라이트할 섹터의 크기와 상이한 경우, 상기 리드하는 단계, 상기 버퍼의 제 2 영역에 저장하는 단계, 상기 버퍼의 제 3 영역에 저장하는 단계 및 상기 라이트하는 단계를 수행하는 단계; 및
상기 수신된 데이터의 크기가 상기 수신된 데이터를 라이트할 섹터의 크기와 동일한 경우, 상기 버퍼의 제 1 영역에 저장되어 있는 데이터를 상기 섹터에 라이트하는 단계를 더 구비하는 것을 특징으로 하는 디스크 장치의 라이트 방법. - 복수의 섹터들을 포함하는 복수의 트랙들을 구비하는 디스크;
상기 디스크에 데이터를 라이트하거나 상기 디스크로부터 데이터를 리드하는 헤드;
제 1 영역, 제 2 영역 및 제 3 영역을 포함하는 버퍼; 및
호스트로부터 수신된 데이터를 상기 제 1 영역에 저장하고, 상기 섹터들 중 상기 수신된 데이터를 라이트할 섹터에 저장되어 있는 데이터를 리드하여 상기 제 2 영역 및 제 3 영역에 저장하며, 상기 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 상기 섹터에 라이트하도록 제어하는 제어부를 구비하고,
상기 제어부는,
상기 리드된 데이터 중 상기 수신된 데이터에 대응하는 부분 및 나머지 부분을 각각 상기 제 2 영역 및 상기 제 3 영역에 저장하는 것을 특징으로 하는 디스크 장치. - 제8항에 있어서, 상기 제어부는,
상기 수신된 데이터의 크기와 상기 수신한 데이터를 라이트할 섹터의 크기가 상이한 경우, 상기 수신된 데이터를 라이트할 섹터에 저장되어 있는 데이터를 리드하여 상기 제 2 영역 및 제 3 영역에 저장하고, 상기 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 상기 섹터에 라이트하도록 제어하고,
상기 수신된 데이터의 크기와 상기 수신한 데이터를 라이트할 섹터의 크기가 동일한 경우, 상기 제 1 영역에 저장되어 있는 데이터를 상기 섹터에 라이트하도록 제어하는 것을 특징으로 하는 디스크 장치. - 제8항에 있어서, 상기 제어부는,
상기 수신된 데이터를 라이트할 섹터의 크기와 상이한 크기의 복수의 데이터를 상기 제 1 영역에 저장하도록 제어하고, 상기 복수의 데이터를 라이트할 섹터들 중 상기 제 2 영역 및 제 3 영역에 저장된 데이터가 저장되어 있던 섹터 또는 상기 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 라이트한 섹터와 가장 근접한 섹터를 검색하며, 상기 검색된 섹터에 저장되어 있는 데이터를 리드하여 상기 제 2 영역 및 제 3 영역에 저장하도록 제어하거나 상기 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 상기 검색된 섹터에 라이트하도록 제어하는 것을 특징으로 하는 디스크 장치. - 제10항에 있어서, 상기 디스크 장치는,
상기 헤드가 라이트 동작을 수행하는 경우 상기 헤드의 탐색 시간에 대한 정보를 포함하는 제 1 테이블 및 상기 헤드가 리드 동작을 수행하는 경우 상기 헤드의 탐색 시간에 대한 정보를 포함하는 제 2 테이블을 저장하는 메모리를 더 구비하고,
상기 제어부는,
상기 제 1 테이블 및 제 2 테이블을 이용하여 상기 복수의 데이터를 라이트할 섹터들 중 상기 제 2 영역 및 제 3 영역에 저장된 데이터가 저장되어 있던 섹터 또는 상기 제 1 영역 및 제 3 영역에 저장되어 있는 데이터를 라이트한 섹터와 가장 근접한 섹터를 검색하는 것을 특징으로 하는 디스크 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100031558A KR20110112125A (ko) | 2010-04-06 | 2010-04-06 | 디스크 장치 및 라이트 방법 |
US13/079,943 US20110242695A1 (en) | 2010-04-06 | 2011-04-05 | Disk device and related write method |
JP2011084475A JP2011222015A (ja) | 2010-04-06 | 2011-04-06 | ディスク装置及びそのライト方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100031558A KR20110112125A (ko) | 2010-04-06 | 2010-04-06 | 디스크 장치 및 라이트 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110112125A true KR20110112125A (ko) | 2011-10-12 |
Family
ID=44709408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100031558A KR20110112125A (ko) | 2010-04-06 | 2010-04-06 | 디스크 장치 및 라이트 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110242695A1 (ko) |
JP (1) | JP2011222015A (ko) |
KR (1) | KR20110112125A (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9070378B2 (en) * | 2012-10-10 | 2015-06-30 | Seagate Technology Llc | Partial write system |
JP6089844B2 (ja) * | 2013-03-22 | 2017-03-08 | 富士通株式会社 | 制御装置,ストレージ装置,及び制御プログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5257362A (en) * | 1991-03-08 | 1993-10-26 | International Business Machines Corporation | Method and means for ensuring single pass small read/write access to variable length records stored on selected DASDs in a DASD array |
US5459850A (en) * | 1993-02-19 | 1995-10-17 | Conner Peripherals, Inc. | Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks |
US6003120A (en) * | 1993-12-30 | 1999-12-14 | Intel Corporation | Method and apparatus for performing variable length processor write cycles |
US5813025A (en) * | 1994-08-10 | 1998-09-22 | Unisys Corporation | System and method for providing variable sector-format operation to a disk access system |
US6324604B1 (en) * | 1998-07-07 | 2001-11-27 | Emc Corporation | Magnetic disk storage for storing data in disk block size from fixed length of host block in non-integer multiple of the disk block size |
US6343343B1 (en) * | 1998-07-31 | 2002-01-29 | International Business Machines Corporation | Disk arrays using non-standard sector sizes |
US8019925B1 (en) * | 2004-05-06 | 2011-09-13 | Seagate Technology Llc | Methods and structure for dynamically mapped mass storage device |
US8510497B2 (en) * | 2009-07-29 | 2013-08-13 | Stec, Inc. | Flash storage device with flexible data format |
-
2010
- 2010-04-06 KR KR1020100031558A patent/KR20110112125A/ko not_active Application Discontinuation
-
2011
- 2011-04-05 US US13/079,943 patent/US20110242695A1/en not_active Abandoned
- 2011-04-06 JP JP2011084475A patent/JP2011222015A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JP2011222015A (ja) | 2011-11-04 |
US20110242695A1 (en) | 2011-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6002544A (en) | Head positioning control system for use in a disk drive using different target velocity data for read and write seeks | |
US6710953B1 (en) | Method and disk drive for improving data storage capacity of data tracks using push-down wedges | |
KR100412344B1 (ko) | 헤드비행고도에 따른 데이타 라이트 제어방법 | |
EP1396846B1 (en) | Method and apparatus for controlling hard disc drive | |
US6078460A (en) | Head positioning control system for use in a disk drive | |
US7423835B2 (en) | Method and apparatus for servo control using spiral servo information in a disk drive | |
US7715140B2 (en) | Method of determining size of error and write control method for hard disc drive, hard disc drive using the write control method, and media storing computer programs for executing the methods | |
US7898757B2 (en) | Hard disk drive with divided data sectors and hard disk drive controller for controlling the same | |
US7602571B2 (en) | Apparatus and method to control flying height of magnetic head in retry mode and disk drive using the same | |
KR100555536B1 (ko) | 데이터 저장 시스템에서의 적응적 리트라이 제어 방법 및이를 이용한 디스크 드라이브 | |
KR20110112125A (ko) | 디스크 장치 및 라이트 방법 | |
US7463445B2 (en) | Method of controlling track seek in HDD and a recording medium therefor | |
JP4317527B2 (ja) | データ保存装置におけるヘッド動作制御方法,及びそれを利用したディスクドライブ,及びディスクドライブの設計方法 | |
US20060164747A1 (en) | Method of determining format parameters of HDD | |
US7663832B2 (en) | Method of compensating for track zero position in reference servo track copying system and disc drive using the same | |
US7454560B2 (en) | Method and apparatus to perform improved retry in data storage system | |
US7649705B2 (en) | Data read retry with read timing adjustment for eccentrity of disc in data storage device | |
US7466505B2 (en) | Dummy write method for improving performance of data storage system and apparatus therefor | |
US7212368B2 (en) | Head switching method and system using track number matching | |
US20100328811A1 (en) | Method of controlling reading or writing operation of disk drive | |
KR20110101978A (ko) | 디스크 장치 및 기록 방법 | |
KR100594261B1 (ko) | 데이터 저장 장치에서의 연속적인 헤드 위치 제어 방법 및이를 이용한 디스크 드라이브 | |
KR100660842B1 (ko) | 하드디스크 드라이브의 채널 파라메터 최적화 방법 및이에 적합한 장치 | |
KR100640619B1 (ko) | 하드디스크 드라이브의 동작 파라메터 설정 방법 및 이에적합한 기록 매체 | |
US20110249358A1 (en) | Apparatus and method of detecting a defective sector in a disk drive |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |