KR100604930B1 - 디스크 드라이브의 어드레스 변환 방법 및 그 방법을사용하는 디스크 드라이브 - Google Patents

디스크 드라이브의 어드레스 변환 방법 및 그 방법을사용하는 디스크 드라이브 Download PDF

Info

Publication number
KR100604930B1
KR100604930B1 KR1020050005073A KR20050005073A KR100604930B1 KR 100604930 B1 KR100604930 B1 KR 100604930B1 KR 1020050005073 A KR1020050005073 A KR 1020050005073A KR 20050005073 A KR20050005073 A KR 20050005073A KR 100604930 B1 KR100604930 B1 KR 100604930B1
Authority
KR
South Korea
Prior art keywords
head
address
data transfer
disk drive
mapping
Prior art date
Application number
KR1020050005073A
Other languages
English (en)
Other versions
KR20060084274A (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 삼성전자주식회사
Priority to KR1020050005073A priority Critical patent/KR100604930B1/ko
Priority to US11/320,947 priority patent/US20060190699A1/en
Publication of KR20060084274A publication Critical patent/KR20060084274A/ko
Application granted granted Critical
Publication of KR100604930B1 publication Critical patent/KR100604930B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63CSKATES; SKIS; ROLLER SKATES; DESIGN OR LAYOUT OF COURTS, RINKS OR THE LIKE
    • A63C17/00Roller skates; Skate-boards
    • A63C17/01Skateboards
    • 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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • 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
    • 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
    • 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)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

디스크 드라이브의 어드레스 변환 방법 및 그 장치가 개시된다. 본 발명에 따른 어드레스 변환 방법은 헤드별 데이터 전송 속도에 기초하여 상대적으로 헤드의 데이터 전송속도가 높은 물리 어드레스를 상대적으로 낮은 논리 어드레스에 맵핑함으로써 디스크 드라이브의 물리 어드레스들과 논리 어드레스들을 맵핑하는 과정 및 디스크 드라이브의 논리 어드레스를 맵핑에서 대응하는 물리 어드레스로 변환하는 과정을 포함한다. 본 발명에 의하면, 헤드의 변경시점마다 발생하는 데이터 전송속도의 변화를 줄일 수 있다.

Description

디스크 드라이브의 어드레스 변환 방법 및 그 방법을 사용하는 디스크 드라이브{Method for transforming address of a disk drive and the disk using the method}
도1a는 본 발명의 일 실시예에 따른 HDD의 평면도이다.
도1b는 도1a의 HDD에 관한 전기 회로의 개략도이다.
도2a는 헤드별 특성이 상이한 일반적인 HDD에서 헤드별 데이터 전송속도를 나타내는 그래프이다.
도2b는 종래의 어드레스 변환 방법을 사용한 도2a의 HDD에서 순차적 판독/기록 동작의 결과이다.
도3은 본 발명의 일 실시예에 따른 어드레스 변환 방법의 흐름도이다.
도4는 도3의 어드레스 변환 방법을 사용한 도2a의 HDD에서 순차적 판독/기록 동작의 결과이다.
도5a 및 도5b는 실제 성능 테스트 프로그램을 이용하여 종래의 어드레스 변환 방법 및 도4의 어드레스 변환 방법을 테스트한 결과이다.
본 발명은 디스크 드라이브의 어드레스 변환 방법 및 그 디스크 드라이브에 관한 것으로서, 보다 상세하게는 헤드별 특성이 상이한 디스크 드라이브의 어드레스 변환 방법 및 그 방법을 사용하는 디스크 드라이브에 관한 것이다.
일반적으로, HDD는 복수의 헤드들을 구비한다. 각 헤드는 대응하는 하드 디스크 표면에 데이터를 기록하고 판독한다.
하드 디스크 표면에는 복수의 트랙들이 동심원 형상으로 존재한다. 트랙은 데이터를 기록하기 위한 구획이다. 하드 디스크 표면의 최외주 트랙으로부터 내주를 향해 순서대로 0, 1, …과 같이 트랙 번호가 할당된다.
연속하는 복수의 트랙들은 존(zone)을 형성한다. 하드 디스크 표면은 복수의 존들로 구성된다. 최외각 존으로부터 순서대로 존0, 존1, …이 된다.
HDD는 복수의 하드 디스크들이 겹쳐져서 구성될 수 있다. 이때, 각 하드 디스크에서의 동일 번호 트랙들은 원통형으로 배치된다. 이것을 실린더라고 한다. 각 실린더에는 트랙 번호와 같은 번호가 할당된다. 즉, 최외주 실린더로부터 순서대로 실린더0, 실린더1, …이 된다. 따라서, 트랙은 대응하는 헤드 번호와 실린더 번호로부터 특정될 수 있다.
각 트랙은 복수의 섹터들로 분할된다. 하드 디스크에 대한 통상의 데이터 판독/기록 동작은 섹터 단위로 행해진다.
섹터를 어드레스(address)하는 방식으로서 CHS(Cylinder Head Sector) 방식이 있다. CHS 방식은 실린더, 헤드, 섹터의 순서대로 물리 어드레스(Physical Address)를 지정함으로써 원하는 데이터에 엑세스하는 어드레스 방식이다.
CHS 방식에서 HDD에 대한 호스트가 지정할 수 있는 CHS 파라미터에는 한계가 있다. 이에 따라, 논리 블록 어드레스(Logical Blocd Address: LBA) 방식이 사용되고 있다. LBA 방식은 실린더 번호, 헤드 번호, 섹터 번호를 0으로부터 시작되는 논리적 일련번호로 표현하는 방식이다.
LBA 방식의 HDD는 LBA를 물리 어드레스로 변환함으로써 원하는 데이터에 엑세스한다. HDD의 어드레스 변환 방법은 LBA를 물리 어드레스로 변환하는 방법이다.
한편, HDD를 구성하는 복수의 헤드들에 있어서 헤드별 특성은 일반적으로 동일하다. 여기서, 헤드별 특성이란 헤드별 인치당 비트수(Bit Per Inch), 헤드별 인치당 트랙수(Track Per Inch), 헤드별 트랙수 및 헤드별 트랙당 섹터수 등이다. 그러므로, 헤드별 데이터 전송속도가 동일하다. 따라서, 종래의 어드레스 변환 방법은 헤드별 데이터 전송속도를 고려하지 않았다.
그러나, HDD는 헤드별 특성이 상이하도록 제조될 수 있다. 이에 따라, 하나의 HDD 내에서 헤드별 데이터 전송속도가 상이할 수 있다.
헤드별 특성이 상이한 HDD에 종래의 어드레스 변환 방법을 사용하면 헤드별 전송속도의 차이로 인하여 헤드의 변경시점마다 데이터 전송속도의 굴곡이 생긴다는 문제점이 발생한다. 따라서, 순차적 판독/기록(SEQUENTIAL READ/WRITE) 동작시 데이터 전송속도가 빨라졌다 느려졌다하는 현상이 생긴다.
종래의 어드레스 변환 방법에 의하면 헤드별 특성이 상이한 HDD에서 상대적으로 낮은 LBA는 상대적으로 데이터 전송속도가 낮은 헤드의 물리 어드레스로도 변환될 수 있다.
그런데, HDD의 성능을 테스트하는 프로그램들은 대부분 낮은 LBA에서 HDD를 테스트한다. 그리고, OS(Operating System)에서 자주 사용하는 시스템 프로그램, 디렉토리, FAT(File Allocation Table) 등은 대부분 낮은 LBA에 위치한다.
따라서, 종래의 어드레스 변환 방법은 헤드별 특성이 상이한 HDD에서의 성능 테스트 및 OS 구동에 있어서 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는 헤드별 데이터 전송 속도가 상이한 디스크 드라이브의 어드레스 변환 방법에 있어서, 헤드별 데이터 전송 속도를 고려하여 물리 어드레스들과 논리 어드레스들을 맵핑함으로써 데이터 전송 속도의 변화를 감소시키는 어드레스 변환 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 기술적 과제는 헤드별 데이터 전송 속도가 상이한 디스크 드라이브에 있어서, 헤드별 데이터 전송속도에 기초하여 논리 어드레스를 물리 어드레스로 변환함으로써 데이터 전송 속도의 변화를 감소시키는 디스크 드라이브를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 어드레스 변환 방법은, 헤드별 데이터 전송 속도에 기초하여 상대적으로 헤드의 데이터 전송속도가 높은 물리 어드레스를 상대적으로 낮은 논리 어드레스에 맵핑함으로써 상기 디스크 드라이브의 물리 어드레스들과 논리 어드레스들을 맵핑하는 과정 및 상기 디스크 드라이브의 논리 어드레스를 상기 맵핑에서 대응하는 물리 어드레스로 변환 하는 과정을 포함한다.
상기의 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 디스크 드라이브는 데이터 전송 속도가 개별적으로 결정되는 복수의 헤드들 및 상기 헤드별 데이터 전송 속도에 기초하여 상대적으로 낮은 논리 어드레스를 상대적으로 헤드의 데이터 전송 속도가 높은 물리 어드레스로 변환하는 제어부를 포함한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다.
도1a는 본 발명의 일 실시예에 따른 하드 디스크 드라이브(HDD)의 평면도이다. 도1a를 참조하면, HDD(100)는 스핀들 모터(spindle motor)(104)에 의해 회전되는 하나 또는 그 이상의 자기 디스크들(102)을 포함할 수 있다.
스핀들 모터(104)는 HDD(100)의 베이스 플레이트(base plate)(106)에 장착될 수 있다. HDD(100)는 디스크들(102)을 싸는 커버(108)를 더 포함할 수 있다.
HDD(100)는 복수의 헤드들(110)을 포함할 수 있다. 각 헤드(110)는 회전 디스크(102)에 인접하여 위치한다. 각 헤드(20)는 디스크들(102)의 자기장들을 자화하고 감지하는 분리된 기록 및 판독 소자들(둘 다 미도시)을 구비할 수 있다.
각 헤드(110)는 플렉슈어(flexure)(112)에 장착되어 헤드 짐벌 어셈블리(Head Gimbal Assembly: HGA)를 형성하여 수평이 유지될 수 있다. 플렉슈어(112)는 액튜에이터 암(actuator arm)(114)에 부착되고, 액튜에이터 암(114)은 베어링 어셈블리(116)에 의해 베이스 플레이트(106)에 회전 가능하게 장착된다.
복수의 헤드들(110)에 있어서 헤드별 특성은 각각 개별적이다. 즉, 헤드별 인치당 비트수(Bit Per Inch), 헤드별 인치당 트랙수(Track Per Inch), 헤드별 트랙수 및 헤드별 트랙당 섹터수 등은 각 헤드에 대하여 개별적이다. 그러므로, 헤드별 데이터 전송속도가 상이할 수 있다. 이러한 헤드별 특성은 디스크(102)의 시스템 실린더에 기록될 수 있다.
보이스 코일(118)은 자석 어셈블리(120)에 연결되어 보이스 코일 모터(VCM)를 생성한다. 보이스 코일(118)에 전류를 제공하는 것은 액튜에이터 암(114)을 회전시키는 토크(torque)를 생성하고 헤드들(110)이 디스크들(102)의 표면들을 가로질러 이동하게 한다.
HDD(100)는 인쇄 회로 기판(printed circuit board) 어셈블리(124)를 더 포함할 수 있다. 인쇄 회로 기판 어셈블리(124)는 인쇄 회로 기판(128)에 연결된 복수의 집적회로들(126)을 포함할 수 있다. 인쇄 회로 기판(128)은 전선들(미도시)에 의하여 보이스 코일(118), 헤드들(110), 및 스핀들 모터(104)에 연결된다.
도1b는 도1a의 HDD(100)에 관한 전기 회로의 개략도이다. 도1b를 참조하면, 회로(150)는 헤드(110)에 연결되는 전치-증폭 회로(152)를 포함할 수 있다. 전치-증폭 회로(152)는 판독/기록 채널 회로(162)에 연결된 판독 데이터 채널(154) 및 기록 데이터 채널(156)을 갖는다.
전치-증폭 회로(152)는 또한 제어부(164)에 연결된 판독/기록 인에이블 게이트(160)를 갖는다. 데이터는 판독/기록 인에이블 게이트(160)를 인에이블함으로써 디스크(102)상에 기록되거나 디스크(102)로부터 판독될 수 있다.
판독/기록 채널 회로(162)는 각각 판독 및 기록 채널(166, 168)을 통하여, 그리고 각각 판독 및 기록 게이트(170, 172)를 통하여 제어부(164)에 연결된다. 판독 게이트(170)는 데이터가 디스크(102)로부터 판독되어야 할 때 인에이블된다. 기록 게이트(172)는 디스크(102)에 데이터를 기록할 때 인에이블되어야 한다.
제어부(164)는 소프트웨어 루틴에 따라서 동작하는 디지털 신호 프로세서가 될 수 있다. 여기서, 소프트웨어 루틴은 디스크(102)로부터 데이터를 기록하고 판독하는 루틴을 포함한다.
판독/기록 채널 회로(162)와 제어부(164)는 또한 HDD(100)의 보이스 코일 모터와 스핀들 모터(104)를 제어하는 모터 제어 회로(174)에 연결될 수 있다.
제어부(164)는 비-휘발성 메모리 디바이스(176)에 연결될 수 있다. 예를 들면, 비-휘발성 메모리 디바이스(176)는 읽기용 기억 장치("ROM")일 수 있다. 비-휘발성 메모리 디바이스(176)는 제어부(164) 및 HDD(100)를 동작시키는 명령어들을 저장할 수 있다. 양자택일로, 제어부(164)는 HDD(100)를 동작시키는 펌웨어를 가질 수 있다.
도2a는 헤드별 특성이 상이한 일반적인 하드 디스크 드라이브(Hard Disk Drive: HDD)에서 헤드별 데이터 전송속도를 나타내는 그래프이다. 도2a를 참조하면, 존0 내지 존3는 디스크 표면의 존들 중에서 일부의 존들이다. 헤드0는 디스크의 한 표면에 대응하는 헤드이고, 헤드1은 디스크의 다른 표면에 대응하는 헤드이다. 존 번호와 헤드 번호는 물리 블록 어드레스(Physical Block Address: PBA)를 형성한다.
존0에서 헤드별 데이터 전송속도를 비교하면, 헤드0의 데이터 전송속도는 60000 KBytes/s, 헤드1의 데이터 전송속도는 53000 KBytes/s으로 각각 다르다. 존1에서 헤드별 데이터 전송속도를 비교하면, 헤드0의 데이터 전송속도는 55000 KBytes/s, 헤드1의 데이터 전송속도는 48000 KBytes/s으로 각각 다르다. 존2와 존3에서도 헤드들의 데이터 전송속도는 각각 다르다.
이것은 헤드별 특성이 각각 상이하기 때문이다. 여기서, 헤드별 특성은 인치당 비트수(Bit Per Inch), 헤드별 인치당 트랙수(Track Per Inch), 헤드별 트랙수 및 헤드별 트랙당 섹터수 등이다. 이것들 중에서 특히 헤드별 트랙당 섹터수는 헤드별 데이터 전송 속도와 직접적인 관련이 있다.
도2a에서 데이터 전송 속도를 내림차순으로 정렬하면, (존0, 헤드0)의 60000 KBytes/s, (존1, 헤드0)의 55000 KBytes/s, (존0, 헤드1)의 53000 KBytes/s, (존2, 헤드0)의 50000 KBytes/s, (존1, 헤드1)의 48000 KBytes/s, (존3, 헤드0)의 45000 KBytes/s, (존2, 헤드1)의 44000 KBytes/s, (존3, 헤드1)의 41000 KBytes/s, …이다.
따라서, PBA를 데이터 전송 속도가 높은 것부터 나열하면, (존0, 헤드0), (존1, 헤드0), (존0, 헤드1), (존2, 헤드0), (존1, 헤드1), (존3, 헤드0), (존2, 헤드1), (존3, 헤드1), …이다.
그러나, 종래의 어드레스 변환 방법은 헤드별 데이터 전송 속도를 고려하지 않는다. 종래의 어드레스 변환 방법에 따르면 단순히 (존0, 헤드0), (존0, 헤드1), (존1, 헤드0), (존1, 헤드1), (존2, 헤드0), (존2, 헤드1), (존3, 헤드0), (존3, 헤드1), …의 순서에 따라 논리 블록 어드레스(Logical Block Address: LBA)가 오 름차순으로 맵핑된다.
도2b는 종래의 어드레스 변환 방법을 사용한 도2a의 HDD에서 순차적 판독/기록(SEQUENTIAL READ/WRITE) 동작의 결과이다. 도2b에서, 가로축은 순차적인 LBA들이고, 세로축은 헤드의 데이터 전송속도이다.
도2b를 참조하면, LBA 00000 내지 09999에서의 데이터 전송속도는 60000 KBytes/s이다. 그리고, 헤드가 변경되는 LBA 10000 내지 19999에서의 데이터 전송속도는 LBA 00000 내지 09999에서의 데이터 전송속도보다 낮은 53000 KBytes/s이다.
그러나, 다시 헤드가 변경되는 LBA 20000 내지 29999에서 데이터 전송속도는 LBA 10000 내지 19999에서의 데이터 전송속도보다 높은 55000 KBytes/s이다. 그리고, 도1b의 그래프는 그 이후의 영역들에 있어서도 굴곡진 모습을 보인다.
이처럼, 종래의 어드레스 변환 방법에 의하면 순차적 판독/기록(SEQUENTIAL READ/WRITE) 동작시 데이터 전송 속도가 빨라졌다 느려졌다 하는 현상이 발생한다.
도3은 본 발명의 일 실시예에 따른 어드레스 변환 방법의 흐름도이다. 도3을 참조하면, 디스크 드라이브에서 헤드별 트랙당 섹터수가 분류된다(S310). 헤드별 트랙당 섹터수는 헤드별 데이터 전송 속도와 직접적으로 관련이 있다. 일반적으로 트랙당 섹터수가 많을수록 헤드의 데이터 전송 속도는 빨라진다.
헤드별 트랙당 섹터수에 기초하여 디스크 드라이브의 물리 어드레스들과 논리 어드레스들이 맵핑된다(S320). 이때, 상대적으로 헤드의 트랙당 섹터수가 많은 물리 어드레스가 상대적으로 낮은 논리 어드레스에 맵핑된다. 즉, 상대적으로 헤드 의 데이터 전송속도가 높은 물리 어드레스가 상대적으로 낮은 논리 어드레스에 맵핑된다.
예를 들어, 도2a와 같은 헤드별 데이터 전송 속도를 갖는 HDD에서 (존0, 헤드0), (존1, 헤드0), (존0, 헤드1), (존2, 헤드0), (존1, 헤드1), (존3, 헤드0), (존2, 헤드1), (존3, 헤드1), …의 순서에 따라 LBA가 오름차순으로 맵핑된다.
도4는 도3의 어드레스 변환 방법을 사용한 도2a의 HDD에서 순차적 판독/기록 동작의 결과이다. 도4를 참조하면, LBA 00000 내지 09999에서의 데이터 전송속도는 60000 KBytes/s이다. 헤드가 변경되는 LBA 10000 내지 19999에서의 데이터 전송속도는 LBA 00000 내지 09999에서의 데이터 전송속도보다 낮은 55000 KBytes/s이다.
그리고, 다시 헤드가 변경되는 LBA 20000 내지 29999에서 데이터 전송속도는 LBA 10000 내지 19999에서의 데이터 전송속도보다 낮은 53000 KBytes/s이다. 도4의 그래프는 그 이후의 영역들에 있어서도 일정한 모습을 보인다.
따라서, 도2b와 같이 종래의 어드레스 변환 방법을 사용했을때 데이터 전송 속도가 빨라졌다 느려졌다 하는 현상이 해소된다.
다시 도3을 참조하면, 표2와 같은 맵핑 테이블이 디스크 드라이브의 시스템 실린더에 기록된다(S330).
상기 과정들(S310 내지 S330)은 디스크 드라이브의 제조 공정 중에 수행될 수 있다.
디스크 드라이브에 전원이 인가되면 디스크 드라이브는 시스템 실린더에 기록된 맵핑 테이블을 메모리에 업로드한다(S340). 그리고, 디스크 드라이브는 논리 어드레스를 물리 어드레스로 변환할 필요가 있을 때, 논리 어드레스를 업로드된 맵핑 테이블에서 대응하는 물리 어드레스로 변환한다(S350).
도5a 및 도5b는 실제 성능 테스트 프로그램을 이용하여 종래의 어드레스 변환 방법 및 도4의 어드레스 변환 방법을 테스트한 결과이다. 도5a는 종래의 어드레스 변환 방법을 테스트한 결과이고, 도5b는 도4의 어드레스 변환 방법을 테스트한 결과이다. 도5a 및 도5b에서 가로축은 LBA이고 세로축은 헤드의 데이터 전송속도이다.
도5a에서 종래의 어드레스 변환 방법을 사용하면 심한 굴곡들이 형성되는 것을 볼 수 있다. 반면에 도5b에서 도4의 어드레스 변환 방법을 사용하면 심한 굴곡들이 형성되지 않음을 볼 수 있다.
물리 어드레스들과 논리 어드레스들의 맵핑 테이블을 생성함에 있어서, 헤드별 트랙당 섹터수 이외에도 헤드별 데이터 속도를 결정하는 다른 헤드별 특성이 사용될 수 있다. 그리고, 헤드별 데이터 속도를 직접 측정하고, 측정 결과에 기초하여 맵핑 테이블을 생성할 수도 있다.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
상술한 바와 같이 본 발명에 따르면, 헤드별 특성이 상이한 HDD에서 헤드의 변경시점마다 발생하는 데이터 전송속도의 변화를 줄일 수 있다. 따라서, 순차적 판독 기록/동작시 데이터 전송속도가 빨라졌다 느려졌다하는 현상이 해소된다.
또한, 헤드의 데이터 전송속도가 높은 물리 어드레스에 낮은 LBA를 맵핑시킹으로써 HDD의 성능 테트스 및 OS 구동에 있어서 제품의 성능을 향상시킬 수 있다.

Claims (9)

  1. 헤드별 데이터 전송 속도가 상이한 디스크 드라이브의 어드레스 변환 방법에 있어서,
    상기 헤드별 데이터 전송 속도에 기초하여 상대적으로 헤드의 데이터 전송속도가 높은 물리 어드레스를 상대적으로 낮은 논리 어드레스에 맵핑함으로써 상기 디스크 드라이브의 물리 어드레스들과 논리 어드레스들을 맵핑하는 과정;및
    상기 디스크 드라이브의 논리 어드레스를 상기 맵핑에서 대응하는 물리 어드레스로 변환하는 과정을 포함함을 특징으로 하는 어드레스 변환 방법.
  2. 제1항에 있어서, 상기 어드레스 맵핑 과정은
    상기 디스크 드라이브에서 헤드별 트랙당 섹터수를 분류하는 과정;및
    상기 헤드별 트랙당 섹터수에 기초하여 상대적으로 헤드의 트랙당 섹터수가 많은 물리 어드레스를 상대적으로 낮은 논리 어드레스에 맵핑함으로써 상기 디스크 드라이브의 물리 어드레스들과 논리 어드레스들을 맵핑하는 과정을 포함함을 특징으로 하는 어드레스 변환 방법.
  3. 제1항에 있어서, 상기 어드레스 변환 과정은
    상기 맵핑에 따른 맵핑 테이블을 상기 디스크 드라이브에 기록하는 과정;및
    상기 디스크 드라이브의 논리 어드레스를 상기 기록된 맵핑 테이블에서 대응하는 물리 어드레스로 변환하는 과정을 포함함을 특징으로 하는 어드레스 변환 방법.
  4. 제3항에 있어서, 상기 맵핑 테이블 기록 과정은
    상기 디스크 드라이브의 시스템 실린더에 기록함을 특징으로 하는 어드레스 변환 방법.
  5. 헤드별 데이터 전송 속도가 상이한 디스크 드라이브에 있어서,
    상기 데이터 전송 속도가 개별적으로 결정되는 복수의 헤드들;및
    상기 헤드별 데이터 전송 속도에 기초하여 상대적으로 낮은 논리 어드레스를 상대적으로 헤드의 데이터 전송 속도가 높은 물리 어드레스로 변환하는 제어부를 포함하는 것을 특징으로 하는 디스크 드라이브.
  6. 제5항에 있어서, 상기 제어부는
    상기 헤드별 트랙당 섹터수에 기초하여 상대적으로 낮은 논리 어드레스를 상대적으로 헤드의 트랙당 섹터수가 많은 물리 어드레스로 변환하는 것을 특징으로 하는 디스크 드라이브.
  7. 제5항에 있어서,
    물리 어드레스들과 논리 어드레스들을 상기 헤드별 데이터 전송 속도에 기초하여 맵핑한 맵핑 테이블이 저장된 디스크를 더 포함하고,
    상기 제어부는 논리 어드레스를 상기 맵핑 테이블에서 대응하는 물리 어드레스로 변환하는 것을 특징으로 하는 디스크 드라이브.
  8. 제7항에 있어서, 상기 디스크는
    상기 맵핑 테이블을 시스템 실린더에 저장하는 것을 특징으로 하는 디스크 드라이브.
  9. 제7항에 있어서,
    전원이 인가되면 상기 디스크로부터 상기 맵핑 테이블을 다운로드하는 메모리를 더 포함하는 것을 특징으로 하는 디스크 드라이브.
KR1020050005073A 2005-01-19 2005-01-19 디스크 드라이브의 어드레스 변환 방법 및 그 방법을사용하는 디스크 드라이브 KR100604930B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050005073A KR100604930B1 (ko) 2005-01-19 2005-01-19 디스크 드라이브의 어드레스 변환 방법 및 그 방법을사용하는 디스크 드라이브
US11/320,947 US20060190699A1 (en) 2005-01-19 2005-12-30 Method, medium, and apparatus transforming addresses of discs in a disc drive

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050005073A KR100604930B1 (ko) 2005-01-19 2005-01-19 디스크 드라이브의 어드레스 변환 방법 및 그 방법을사용하는 디스크 드라이브

Publications (2)

Publication Number Publication Date
KR20060084274A KR20060084274A (ko) 2006-07-24
KR100604930B1 true KR100604930B1 (ko) 2006-07-28

Family

ID=36914209

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050005073A KR100604930B1 (ko) 2005-01-19 2005-01-19 디스크 드라이브의 어드레스 변환 방법 및 그 방법을사용하는 디스크 드라이브

Country Status (2)

Country Link
US (1) US20060190699A1 (ko)
KR (1) KR100604930B1 (ko)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101202537B1 (ko) 2006-05-12 2012-11-19 애플 인크. 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
CN103258572B (zh) * 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
WO2008026203A2 (en) * 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8060759B1 (en) * 2007-06-29 2011-11-15 Emc Corporation System and method of managing and optimizing power consumption in a storage system
US9158466B1 (en) 2007-06-29 2015-10-13 Emc Corporation Power-saving mechanisms for a dynamic mirror service policy
US7882373B1 (en) 2007-06-29 2011-02-01 Emc Corporation System and method of reducing power consumption in a storage system through shortening of seek distances
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
WO2009050703A2 (en) 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
KR101509836B1 (ko) 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001184812A (ja) 1999-12-24 2001-07-06 Toshiba Corp ディスク記憶装置
JP2002074847A (ja) * 2000-08-25 2002-03-15 Nippon Hoso Kyokai <Nhk> ハードディスク装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3779004B2 (ja) * 1996-10-18 2006-05-24 松下電器産業株式会社 記録装置、および記録方法
US5761007A (en) * 1997-02-05 1998-06-02 International Business Machines Corporation Disk drive with multiple actuators on a single axis having different inertia characteristics
US6128717A (en) * 1998-01-20 2000-10-03 Quantum Corporation Method and apparatus for storage application programming interface for digital mass storage and retrieval based upon data object type or size and characteristics of the data storage device
US7012771B1 (en) * 2002-01-26 2006-03-14 Maxtor Corporation Per zone variable BPI for improving storage device capacity and yield

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001184812A (ja) 1999-12-24 2001-07-06 Toshiba Corp ディスク記憶装置
JP2002074847A (ja) * 2000-08-25 2002-03-15 Nippon Hoso Kyokai <Nhk> ハードディスク装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
14074847 *

Also Published As

Publication number Publication date
KR20060084274A (ko) 2006-07-24
US20060190699A1 (en) 2006-08-24

Similar Documents

Publication Publication Date Title
KR100604930B1 (ko) 디스크 드라이브의 어드레스 변환 방법 및 그 방법을사용하는 디스크 드라이브
US7830632B2 (en) Large data block written on overlapping tracks in a hard disk drive
US7567400B2 (en) Method and apparatus for improving the error rate of track information on a magnetic storage device
KR100871647B1 (ko) 하드디스크 드라이브, 하드디스크 드라이브의 기록파라미터를 최적화하는 방법 및 그 방법을 수행하는 컴퓨터프로그램을 기록한 기록 매체
US8325434B2 (en) Method and apparatus for preserving data of a storage device
US8131920B2 (en) Method and system for dynamically allocating read and write sequence randomizer
JP2008016023A (ja) 可変媒体特性を有する記憶媒体付オブジェクトベース記憶装置
US8014095B2 (en) Mixed format disk drive
US8014245B2 (en) System and method of defect description of a data storage medium
KR20070093332A (ko) 헤드를 위한 스큐 테이블 생성 방법과 이 방법을 수행하는처리 장치를 구비한 하드 디스크 드라이브
KR20010053204A (ko) 가변 디스크 드라이브 실린더 기록 시스템
KR100801011B1 (ko) 하드디스크 드라이브, 하드디스크 드라이브의 데이터포맷을 결정하는 방법 및 그 방법을 수행하는 컴퓨터프로그램을 기록한 기록매체
US8854758B2 (en) Track defect map for a disk drive data storage system
US7898757B2 (en) Hard disk drive with divided data sectors and hard disk drive controller for controlling the same
US9064504B1 (en) Electronic system with media recovery mechanism and method of operation thereof
KR100855981B1 (ko) 각각의 헤드들에 대하여 기록 팩터를 별도로 설정하는디스크 드라이브의 기록 팩터 설정 방법 및 디스크드라이브
US20060164747A1 (en) Method of determining format parameters of HDD
US8032699B2 (en) System and method of monitoring data storage activity
US8279547B2 (en) Method of setting zone layout of recording medium, and apparatus using method
US20100238585A1 (en) Method of controlling flying height of magnetic head of hard disk drive
KR100264795B1 (ko) 콘스턴트-덴시티 기록형태의 자기 디스크상의 존 크기 최적화방법
JP2009277342A (ja) ディスクドライブ装置及びディスクドライブ装置の動作方法
Kumar et al. Western digital hard drive color differences
KR20080006361A (ko) 디펙 검사 인자의 변경을 이용한 디펙 관리 방법 및 그방법을 사용하는 하드 디스크 드라이브
KR100264796B1 (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
FPAY Annual fee payment

Payment date: 20120706

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130705

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee