KR100660896B1 - 벤더 특정 명령 실행 방법 및 이를 이용한 디스크 드라이브 - Google Patents

벤더 특정 명령 실행 방법 및 이를 이용한 디스크 드라이브 Download PDF

Info

Publication number
KR100660896B1
KR100660896B1 KR1020050115889A KR20050115889A KR100660896B1 KR 100660896 B1 KR100660896 B1 KR 100660896B1 KR 1020050115889 A KR1020050115889 A KR 1020050115889A KR 20050115889 A KR20050115889 A KR 20050115889A KR 100660896 B1 KR100660896 B1 KR 100660896B1
Authority
KR
South Korea
Prior art keywords
phase
command
read
vendor specific
disk drive
Prior art date
Application number
KR1020050115889A
Other languages
English (en)
Inventor
최진원
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020050115889A priority Critical patent/KR100660896B1/ko
Application granted granted Critical
Publication of KR100660896B1 publication Critical patent/KR100660896B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • 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

Landscapes

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

Abstract

본 발명은 데이터 저장 시스템의 제어 방법 및 장치에 관한 것으로서, 특히 벤더 특정 명령을 효율적으로 실행시키기 위한 방법 및 장치에 관한 것이다.
본 발명에 따른 벤더 특정 명령 실행 방법은 기록매체의 특정된 영역에 대한 리드/라이트 명령이 입력되는 지를 판단하는 단계; 및 상기 기록매체의 특정된 영역에 대한 리드/라이트 명령이 입력된 경우에, 상기 리드/라이트 명령을 무시하고 입력되는 아웃-페이즈 커맨드 블록(out-phase command block)에 포함된 벤더 특정 명령을 실행하는 단계를 포함함을 특징으로 한다.

Description

벤더 특정 명령 실행 방법 및 이를 이용한 디스크 드라이브{Method for executing a vendor specific command and disk drive using the same}
도 1은 본 발명이 적용되는 디스크 드라이브의 헤드 디스크 어셈블리의 평면도이다.
도 2는 본 발명에 따른 벤더 특정 명령 실행 방법이 적용되는 디스크 드라이브의 전기적인 회로 구성도이다.
도 3은 본 발명에 따른 벤더 특정 명령 실행 방법의 흐름도이다.
본 발명은 데이터 저장 시스템의 제어 방법 및 장치에 관한 것으로서, 특히 벤더 특정 명령을 효율적으로 실행시키기 위한 방법 및 장치에 관한 것이다.
일반적으로, 데이터 저장 장치의 하나인 하드디스크 드라이브는 자기 헤드에 의해 디스크에 기록된 데이터를 재생하거나, 디스크에 사용자 데이터를 기록함으로써 컴퓨터 시스템 운영에 기여하게 된다. 이와 같은 하드디스크 드라이브는 점차 고용량화, 고밀도화 및 소형화되면서 디스크 회전 방향의 기록 밀도인 BPI(Bit Per Inch)와 직경 방향의 기록 밀도인 TPI(Track Per Inch)가 증대되는 추세에 있으므 로 그에 따라 더욱 정교한 메커니즘이 요구된다.
하드디스크 드라이브는 하나의 LBA 영역을 가지고 있으며, 하드디스크 드라이브의 사용자들은 그 영역에 윈도우(Window)와 같은 멀티 태스킹 오퍼레이팅 시스템(Multi tasking operating system)을 설치하여 사용한다. 하드디스크 드라이브 공급자인 벤더(vendor)는 새로운 펌웨어(firmware) 코드의 다운로드나 하드디스크 드라이브의 특정 설정을 변경하는 것과 같은 작업을 수행하는 패치(patch) 프로그램을 일반 사용자가 수행할 수 있는 환경을 제공하여야 한다.
종래의 기술에 따르면 이를 위하여 MS-DOS용 패치 프로그램을 제공하였으며, 일반 사용자는 MS-DOS 부팅 가능한 플로피 디스켓으로 시스템을 부팅하여 패치 프로그램을 실행하여야 하는 사용상 불편한 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 상술한 문제점을 해결하기 위하여 하드디스크 드라이브에서 특정 조건에 대한 명령을 벤더 특정 명령으로 해석하여 실행하는 벤더 특정 명령 실행 방법 및 이를 이용한 디스크 드라이브를 제공하는데 있다.
상기 기술적 과제를 달성하기 위하여 본 발명에 따른 벤더 특정 명령 실행 방법은 기록매체의 특정된 영역에 대한 리드/라이트 명령이 입력되는 지를 판단하는 단계; 및 상기 기록매체의 특정된 영역에 대한 리드/라이트 명령이 입력된 경우에, 상기 리드/라이트 명령을 무시하고 입력되는 아웃-페이즈 커맨드 블록(out- phase command block)에 포함된 벤더 특정 명령을 실행하는 단계를 포함함을 특징으로 한다.
상기의 다른 기술적 과제를 달성하기 위하여 본 발명에 따른 디스크 드라이브는 데이터 저장 장치에 있어서, 정보를 저장하는 디스크; 및 상기 디스크의 특정된 영역에 대한 리드/라이트 명령이 입력되는 경우에, 상기 리드/라이트 명령을 무시하고 입력되는 아웃-페이즈 커맨드 블록(out-phase command block)에 포함된 벤더 특정 명령을 실행시키도록 제어하는 컨트롤러를 포함함을 특징으로 한다.
위에서, 기록매체의 특정된 영역은 데이터 저장 장치에서 않는 영역으로 설정할 수 있으며, 일 예로서, 기록매체의 특정된 영역은 LBA 0과 파티션이 시작되는 LBA 주소 값 사이에 존재하는 영역으로 설정할 수 있다.
그리고, 벤더 특정 명령은 하나의 아웃-페이즈(out-phase)와 인-페이즈(in-phase)의 조합으로 구성되도록 설계하고, 아웃-페이즈(out-phase)와 짝이 되는 인-페이즈(in-phase)를 확인하기 위하여 매 명령마다 다른 태그 정보를 아웃-페이즈 커맨드 블록 및 인-페이즈 상태 블록에 삽입하는 것이 효과적이다.
또한, 인-페이즈의 상태(status) 블록은 벤더 특정 명령의 상태를 리포트하기 위한 태스크 파일 정보를 포함하는 것이 효과적이다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세히 설명하기로 한다.
본 발명에 따른 기록매체의 저장 영역 관리 방법이 적용되는 데이터 저장 장치인 하드 디스크 드라이브는 기구적인 부품들로 구성된 HDA(Head Disk Assembly) 와 전기 회로의 결합으로 이루어진다.
도 1은 본 발명이 적용되는 하드 디스크 드라이브의 HDA(Head Disk Assembly; 10)의 구성을 보여준다.
헤드 디스크 어셈블리(10)는 스핀들 모터(14)에 의하여 회전되는 적어도 하나의 자기 디스크(12)를 포함하고 있다. 디스크 드라이브는 디스크(12) 표면에 인접되게 위치한 변환기(16)를 또한 포함하고 있다.
변환기(16)는 각각의 디스크(12)의 자계를 감지하고 자화시킴으로써 회전하는 디스크(12)에서 정보를 읽거나 기록할 수 있다. 전형적으로 변환기(16)는 각 디스크(12) 표면에 결합되어 있다. 비록 단일의 변환기(16)로 도시되어 설명되어 있지만, 이는 디스크(12)를 자화시키기 위한 기록용 변환기와 디스크(12)의 자계를 감지하기 위한 분리된 읽기용 변환기로 이루어져 있다고 이해되어야 한다. 읽기용 변환기는 자기 저항(MR : Magneto-Resistive) 소자로부터 구성되어 진다. 변환기(16)는 통상적으로 헤드(Head)라 칭해지기도 한다.
변환기(16)는 슬라이더(20)에 통합되어 질 수 있다. 슬라이더(20)는 변환기(16)와 디스크(12) 표면사이에 공기 베어링(air bearing)을 생성시키는 구조로 되어 있다. 슬라이더(20)는 헤드 짐벌 어셈블리(22)에 결합되어 있다. 헤드 짐벌 어셈블리(22)는 보이스 코일(26)을 갖는 엑츄에이터 암(24)에 부착되어 있다. 보이스 코일(26)은 보이스 코일 모터(VCM : Voice Coil Motor 30)를 특정하는 마그네틱 어셈블리(28)에 인접되게 위치하고 있다. 보이스 코일(26)에 공급되는 전류는 베어링 어셈블리(32)에 대하여 엑츄에이터 암(24)을 회전시키는 토오크를 발생시킨다. 엑 츄에이터 암(24)의 회전은 디스크(12) 표면을 가로질러 변환기(16)를 이동시킬 것이다.
정보는 전형적으로 디스크(12)의 환상 트랙 내에 저장된다. 각 트랙(34)은 일반적으로 복수의 섹터를 포함하고 있다. 각 섹터는 데이터 필드(data field)와 식별 필드(identification field)를 포함하고 있다. 식별 필드는 섹터 및 트랙(실린더)을 식별하는 그레이 코드(Gray code)로 구성되어 있다. 변환기(16)는 다른 트랙에 있는 정보를 읽거나 기록하기 위하여 디스크(12) 표면을 가로질러 이동된다.
디스크(12)는 크게 디스크 드라이브에 관련된 정보를 저장하는 메인터넌스 실린더(Maintenance Cylinder; 일반적으로 MC라 칭함) 영역과 사용자 데이터 영역으로 나누어진다. 메인터넌스 실린더 영역에는 디펙 리스트(defect list) 정보와 리드/라이트 최적화 파라미터(parameter) 정보들을 포함하여 디스크 드라이브에 관련된 각종 정보들이 저장되며, 사용자가 임의로 액세스할 없는 영역이다. 그리고, 사용자 데이터 영역은 사용자가 데이터를 실질적으로 라이트하거나 리드할 수 있는 영역이다.
하드디스크 드라이브는 기본적으로 파티션 테이블(Partition Table; PT), 마스터 부트 레코드(Master Boot Record; MBR), FAT(File Allocation Table)에 의해 관리된다.
파티션은 주 파티션과 확장 파티션으로 나뉘어 진다. LBA는 선형 주소 방식으로 물리적 위치를 나타내는 방식이며, 1개의 블록은 통상 512바이트로 구성된다. 즉, 물리적으로 가장 처음 부분이 주 파티션이 위치하는 곳이며 이곳을 마스터 부 트 레코드라고도 부른다. 주 파티션은 4개의 확장 파티션으로 나누는 것이 가능하며, 확장 파티션도 다시 4개의 다른 확장 파티션으로 나누는 것이 가능하다.
파티션 테이블은 논리적 디스크의 부트 레코드 위치와 확장 파티션의 위치를 알려주며, 내부적으로 실린더 수, 헤드 수, 섹터 수 등의 정보를 포함하고 있다.
마스터 부트 레코드는 부팅에 관련된 작업을 수행하며, 부트 프로그램 이외에 운영체제에 필수적인 디스크에 대한 주요 특성의 목록을 저장하고 있다. 항목들 중에는 섹터당 바이트 수, 디스크의 총섹터 수, 트랙당 섹터 수, 헤드의 개수 등의 정보가 들어 있으며, 파일 및 저장 형태를 주관하게 된다.
한편, 파티션(partition)이란 하나의 물리적 디스크를 몇 개의 영역으로 나누어 관리가 용이하게 하는 것으로서, 운영체제가 여러 가지인 경우 각각의 고유 파일 시스템을 고유의 영역에 독립적으로 유지할 수 있게 하며, 하나의 파티션이 손실되더라도 다른 파티션 영역은 손실로부터 보호할 확률을 높이기 위해 사용된다.
도 2는 하드 디스크 드라이브를 제어할 수 있는 전기 시스템(40)을 보여준다. 전기 시스템(40)은 리드/라이트(R/W) 채널 회로(44) 및 프리 앰프 회로(46)에 의하여 변환기(16)에 결합된 컨트롤러(42)를 포함하고 있다.
컨트롤러(42)는 디지털 신호 프로세서(DSP : Digital Signal Processor), 마이크로프로세서, 마이크로컨트롤러 등이 된다. 컨트롤러(42)는 호스트 인터페이스 회로(54)를 통하여 호스트 기기(도면에 미도시)로부터 수신되는 커맨드(command)에 따라서 디스크(12)로부터 정보를 읽거나 또는 디스크(12)에 정보를 기록하기 위하여 리드/라이트 채널 회로(44)를 제어한다.
그리고, 컨트롤러(42)는 보이스 코일(26)에 구동 전류를 공급하는 VCM 구동 회로(48)에 또한 결합되어 있다. 컨트롤러(42)는 보이스 코일 모터의 여기 및 변환기(16)의 움직임을 제어하기 위하여 VCM 구동부(48)로 제어신호를 공급한다.
ROM(50)에는 디스크 드라이브를 제어하는 펌웨어 및 각종 제어 데이터들이 저장되어 있다. 물론 도 3에 도시된 본 발명에 따른 벤더 특정 명령 실행 방법의 흐름도를 실행시키기 위한 프로그램들도 저장되어 있다.
RAM(52)에는 디스크 드라이브에 전원이 공급되면 디스크(12)의 메인터넌스 실린더(Maintenance Cylinder) 위치에서 읽어낸 디스크 드라이브 정보들이 로딩된다.
우선, 일반적인 디스크 드라이브의 동작을 설명하면 다음과 같다.
데이터 읽기(Read) 모드에서, 디스크 드라이브는 디스크(12)로부터 변환기(16)에 의하여 감지된 전기적인 신호를 프리 앰프(46)에서 신호 처리에 용이하도록 증폭시킨다. 그리고 나서, 리드/라이트 채널 회로(44)에서는 컨트롤러(42)에서 생성되는 섹터 펄스에 따라서 디스크(12)로부터 읽어낸 신호를 디지털 신호로 부호화시키고, 스트림 데이터로 변환하여 호스트 인터페이스 회로(54)를 통하여 호스트 기기로 전송한다.
다음으로 쓰기(Write) 모드에서, 디스크 드라이브는 호스트 인터페이스 회로(54)를 통하여 호스트 기기(도면에 미도시)로부터 데이터를 입력받아 호스트 인터 페이스 회로(54)의 내부 버퍼(도면에 미도시)에 일시 저장시킨 후에, 버퍼에 저장된 데이터를 순차적으로 출력하여 리드/라이트 채널 회로(44)에 의하여 디스크(12)의 기록 채널에 적합한 바이너리 데이터 스트림으로 변환시킨 후에 섹터 펄스가 발생되는 시점에 프리 앰프(46)에 의하여 증폭된 기록 전류로 변환기(16)를 통하여 디스크(12)에 기록시킨다.
본 발명에 따르면, 컨트롤러(42)는 디스크 드라이브에서 실제로 사용하지 않는 영역(일 예로서, LBA 0과 파티션이 시작되는 LBA 주소 값 사이에 존재하는 LBA 주소)에 대한 리드/라이트 명령이 입력되는 경우에, 리드/라이트 명령을 무시하고 입력되는 아웃-페이즈 커맨드 블록(out-phase command block)에 포함된 벤더 특정 명령을 실행시키도록 제어한다. 여기에서, 벤더 특정 명령은 하나의 아웃-페이즈(out-phase)와 인-페이즈(in-phase)의 조합으로 구성되도록 설계하고, 인-페이즈의 상태(status) 블록은 벤더 특정 명령의 상태를 리포트하기 위한 태스크 파일 정보를 포함하도록 설계한다.
하드디스크 드라이브의 LBA 0에는 MBR이 존재하며, 특히 오프셋 0xc6 ~ 0xc9에 있는 4바이트 값은 첫 번째 파티션이 시작되는 LBA 주소를 지시한다. 또한, MBR의 0x1fe ~ 0x1ff의 두 바이트가 0x55 0xaa 인지를 검사하여 LBA 0에 저장된 MBR이 유효한지 검사한다.
하드디스크 드라이브의 컨트롤러(42)는 하드디스크 드라이브에 전원이 공급될 때, LBA 0을 리드(READ)해서 유효한 MBR로 판정되면 0xc6 ~ 0xc9의 값(N)을 확인함으로써 OS가 사용하지 않는 LBA 영역을 알아낸다. 본 발명에서는 하나의 LBA 주소만을 사용함으로 LBA n에 대한 리드/라이트 명령이 입력되는 경우에, n이 0 < n < N 인 조건을 만족하면 이를 벤더(vendor) 특정 명령으로 인식하고, 이어서 입력되는 아웃-페이즈 커맨드 블록(out-phase command block)에 포함된 벤더 특정 명령을 실행시킨다.
LBA n을 사용해서 보내는 벤더 특정 명령은 하나의 아웃-페이즈(out-phase)와 인-페이즈(in-phase)의 조합으로 구성한다. 두 명령 사이에 다른 일반 명령이 끼어 들 수 있으나, 하나의 벤더 특정 명령이 종료하기 전에 새로운 벤더 특정 명령이 입력되면 이전의 벤더 특정 명령은 자동으로 취소시킨다. out-phase와 in-phase의 구성은 표 1-4와 같다.
[표 1: out-phase 전체 구성도]
BLOCK 0 COMMAND BLOCK
BLOCK 1 WRITE DATA BLOCK 0
... ...
BLOCK M WRITE DATA BLOCK M-1
[표 2: out- phase command block 구성도]
offset length title description
0x000 4 Signature Vendor specific 명령임을 나타내는 signature "VUCM"
0x004 4 tag in-phase와 sync를 맞추기 위한 tag
0x008 4 Data direction 0 : non-data, 1 : read, 2 : write
0x00c 4 Transfer length DATA BLOCK LENGTH
0x010 2 Feature register Vendor specific 명령을 위한 taskfile regiseter.
0x012 2 Sector count register
0x014 2 Sector number register
0x016 2 Cylinder low register
0x018 2 cylinder high register
0x01a 2 device head register
0x01c 2 command register
0x01e 0x1e2 Reserved
[표 3: in-phase 전체 구성도]
BLOCK 0 STATUS BLOCK
BLOCK 1 READ DATA BLOCK 0
... ...
BLOCK M READ DATA BLOCK M-1
[표 4: in-phase status block 구성도]
offset length title description
0x000 4 Signature Vendor specific 명령임을 나타내는 signature "VUST"
0x004 4 tag out-phase와 sync를 맞추기 위한 tag
0x008 4 Reserved
0x00c 4 Reserved
0x010 2 Feature register Vendor specific 명령의 status를report하기 위한 taskfile regiseter.
0x012 2 Sector count register
0x014 2 Sector number register
0x016 2 Cylinder low register
0x018 2 cylinder high register
0x01a 2 device head register
0x01c 2 command register
0x01e 0x1e2 Reserved
위의 표에서 태그(tag)는 각 out-phase의 짝이 되는 in-phase를 확인하기 위해 사용된다. 어떤 값이든 상관없으나, 매 명령마다 다른 값을 보내는 것이 바람직하다.
out-phase와 in-phase를 조합하여 NON-DATA, READ, WRITE의 세가지 프로토콜을 구현하는 방법은 다음과 같다.
[NON-DATA]
커맨드 블록의 데이터 방향(Data direction)을 0, 전송 길이(Transfer length)를 0으로 설정한다. out-phase와 in-phase는 모두 1섹터이다.
[READ]
커맨드 블록의 데이터 방향(Data direction)을 1, 전송 길이(Transfer length)를 READ DATA BLOCK의 수(M)로 설정한다. out-phase는 1섹터, in-phase는 1+M 섹터이다.
[WRITE]
커맨드 블록의 데이터 방향(Data direction)을 2, 전송 길이(Transfer length)를 WRITE DATA BLOCK의 수(M)로 설정한다. out-phase는 1+M 섹터, in-phase는 1섹터이다.
그러면, 본 발명에 대한 벤더 특정 명령 실행 방법을 도 3의 흐름도를 참조하여 설명하기로 한다.
하드디스크 드라이브는 특정 LBA 주소에 대한 READ/WRITE 명령이 입력되는지를 판단한다(S310). 여기에서, 특정 LBA 주소는 일 예로서, 위에서 설명한 바와 같 이, 하드디스크 드라이브에서 실제로 사용하지 않는 영역(일 예로서, LBA 0과 파티션이 시작되는 LBA 주소 값(N) 사이에 존재하는 LBA 주소)에 대한 LBA 주소로 결정한다. 물론 본 발명이 이에 한정되는 것은 아니며, 다양한 방법에 따라 다른 LBA 주소로 결정할 수도 있다.
단계310(S310)의 판단 결과 특정 LBA 주소에 대한 READ/WRITE 명령이 입력된 경우에 입력된 READ/WRITE 명령을 무시하고, 하드디스크 드라이브는 이를 벤더 특정 명령으로 인식한다(S320). 즉, LBA n에 대한 리드/라이트 명령이 입력되는 경우에, n이 0 < n < N 인 조건을 만족하면, 이를 벤더(vendor) 특정 명령으로 인식하여 입력된 READ/WRITE 명령을 무시한다.
그리고 나서, 하드디스크 드라이브는 이어서 입력되는 표 2의 아웃-페이즈 커맨드 블록(out-phase command block)에 포함된 벤더 특정 명령을 실행시킨다(S330). 그리고 나서, 하드디스크 드라이브는 아웃-페이즈(out-phase)와 쌍을 이루는 표 4와 같은 인-페이즈(in-phase)의 상태 블록을 통하여 벤더 특정 명령의 상태를 호스트 기기(도면에 미도시)로 리포트한다.
이와 같은 동작에 의하여 벤더 특정 명령을 실행함으로써, 간단하게 하드디스크 드라이브에 새로운 펌웨어 코드를 다운로드하거나 패치 프로그램을 실행시킬 수 있게 되었다.
본 발명은 방법, 장치, 시스템 등으로서 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필연적으로 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되어 질 수 있으며 또는 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. 프로세서 판독 가능 매체는 정보를 저장 또는 전송할 수 있는 어떠한 매체도 포함한다. 프로세서 판독 가능 매체의 예로는 전자 회로, 반도체 메모리 소자, ROM, 플레쉬 메모리, 이레이져블 ROM(EROM : Erasable ROM), 플로피 디스크, 광 디스크, 하드디스크, 광 섬유 매체, 무선 주파수(RF) 망, 등이 있다. 컴퓨터 데이터 신호는 전자 망 채널, 광 섬유, 공기, 전자계, RF 망, 등과 같은 전송 매체 위로 전파될 수 있는 어떠한 신호도 포함된다.
첨부된 도면에 도시되어 설명된 특정의 실시 예들은 단지 본 발명의 예로서 이해되어 지고, 본 발명의 범위를 한정하는 것이 아니며, 본 발명이 속하는 기술 분야에서 본 발명에 기술된 기술적 사상의 범위에서도 다양한 다른 변경이 발생될 수 있으므로, 본 발명은 보여지거나 기술된 특정의 구성 및 배열로 제한되지 않는 것은 자명하다. 즉, 본 발명은 하드디스크 드라이브를 포함하는 각종 디스크 드라이브에 적용될 수 있을 뿐만 아니라, 다양한 종류의 데이터 저장 장치에 적용될 수 있음은 당연한 사실이다.
상술한 바와 같이, 본 발명에 의하면 디스크 드라이브에서 특정 조건에 맞게 입력된 READ/WRITE 명령을 벤더 특정 명령으로 인식하고, 이어서 입력되는 아웃-페이즈 커맨드 블록(out-phase command block)에 포함된 벤더 특정 명령을 실행시킴으로써, FDD나 CD-ROM 등과 같은 별도의 장치의 추가없이 디스크 드라이브만으로 패치 프로그램을 실행할 수 있는 사용상 편리한 효과가 발생된다. 즉, 편리하게 디 스크 드라이브의 설정 정보를 업데이트 시키거나, 새로운 펌웨어를 다운로드할 수 있는 효과가 발생된다.

Claims (12)

  1. (a) 기록매체의 특정된 영역에 대한 리드/라이트 명령이 입력되는 지를 판단하는 단계; 및
    (b) 상기 기록매체의 특정된 영역에 대한 리드/라이트 명령이 입력된 경우에, 상기 리드/라이트 명령을 무시하고 입력되는 아웃-페이즈 커맨드 블록(out-phase command block)에 포함된 벤더 특정 명령을 실행하는 단계를 포함함을 특징으로 하는 벤더 특정 명령 실행 방법.
  2. 제1항에 있어서, 상기 기록매체의 특정된 영역은 데이터 저장 장치에서 않는 영역으로 설정함을 특징으로 하는 벤더 특정 명령 실행 방법.
  3. 제1항에 있어서, 상기 기록매체의 특정된 영역은 LBA 0과 파티션이 시작되는 LBA 주소 값 사이에 존재하는 영역임을 특징으로 하는 벤더 특정 명령 실행 방법.
  4. 제1항에 있어서, 상기 벤더 특정 명령은 하나의 아웃-페이즈(out-phase)와 인-페이즈(in-phase)의 조합으로 구성됨을 특징으로 하는 벤더 특정 명령 실행 방법.
  5. 제4항에 있어서, 상기 아웃-페이즈(out-phase)와 짝이 되는 인-페이즈(in- phase)를 확인하기 위하여 매 명령마다 다른 태그 정보를 아웃-페이즈 커맨드 블록 및 인-페이즈 상태 블록에 삽입함을 특징으로 하는 벤더 특정 명령 실행 방법.
  6. 제4항에 있어서, 상기 인-페이즈의 상태(status) 블록은 벤더 특정 명령의 상태를 리포트하기 위한 태스크 파일 정보를 포함함을 특징으로 하는 벤더 특정 명령 실행 방법.
  7. 데이터 저장 장치에 있어서,
    정보를 저장하는 디스크; 및
    상기 디스크의 특정된 영역에 대한 리드/라이트 명령이 입력되는 경우에, 상기 리드/라이트 명령을 무시하고 입력되는 아웃-페이즈 커맨드 블록(out-phase command block)에 포함된 벤더 특정 명령을 실행시키도록 제어하는 컨트롤러를 포함함을 특징으로 하는 디스크 드라이브.
  8. 제7항에 있어서, 상기 디스크의 특정된 영역은 디스크 드라이브에서 실제로 사용하지 않는 영역으로 설정함을 특징으로 하는 디스크 드라이브.
  9. 제7항에 있어서, 상기 디스크의 특정된 영역은 LBA 0과 파티션이 시작되는 LBA 주소 값 사이에 존재하는 LBA 주소로 설정함을 특징으로 하는 디스크 드라이브.
  10. 제7항에 있어서, 상기 벤더 특정 명령은 하나의 아웃-페이즈(out-phase)와 인-페이즈(in-phase)의 조합으로 구성됨을 특징으로 하는 디스크 드라이브.
  11. 제10항에 있어서, 상기 아웃-페이즈(out-phase)와 짝이 되는 인-페이즈(in-phase)를 확인하기 위하여 매 명령마다 다른 태그 정보를 아웃-페이즈 커맨드 블록 및 인-페이즈 상태 블록에 삽입함을 특징으로 하는 디스크 드라이브.
  12. 제10항에 있어서, 상기 인-페이즈의 상태(status) 블록은 벤더 특정 명령의 상태를 리포트하기 위한 태스크 파일 정보를 포함함을 특징으로 하는 디스크 드라이브.
KR1020050115889A 2005-11-30 2005-11-30 벤더 특정 명령 실행 방법 및 이를 이용한 디스크 드라이브 KR100660896B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050115889A KR100660896B1 (ko) 2005-11-30 2005-11-30 벤더 특정 명령 실행 방법 및 이를 이용한 디스크 드라이브

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050115889A KR100660896B1 (ko) 2005-11-30 2005-11-30 벤더 특정 명령 실행 방법 및 이를 이용한 디스크 드라이브

Publications (1)

Publication Number Publication Date
KR100660896B1 true KR100660896B1 (ko) 2006-12-26

Family

ID=37815397

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050115889A KR100660896B1 (ko) 2005-11-30 2005-11-30 벤더 특정 명령 실행 방법 및 이를 이용한 디스크 드라이브

Country Status (1)

Country Link
KR (1) KR100660896B1 (ko)

Similar Documents

Publication Publication Date Title
KR101517761B1 (ko) 데이터 저장 위치 관리 방법 및 이를 데이터 저장 시스템
JP5325683B2 (ja) キャッシュフラッシュ制御方法及び装置並びにこれを利用したデータ保存システム
JP4733400B2 (ja) データ保存システムでの自動データアップデート方法及びそれを利用したディスクドライブ
KR20060042133A (ko) 데이터 기억 장치, 그 제어 방법 및 자기 디스크 기억 장치
KR100464440B1 (ko) 디스크 드라이브의 디펙트 처리 방법, 이에 적합한 기록매체 및 디스크 드라이브
JP2006139902A (ja) データ記録媒体の記録密度可変方法,それを利用したディスクドライブ,記録密度の設定方法,およびデータ記録方法
EP1564738A2 (en) Method for partitioning hard disc drive and hard disc drive adapted thereto
US7487388B2 (en) Method of recovering reallocation sectors in data storage system and disc drive using the same
JP2005267240A (ja) デフラグメントを行う方法及び記憶装置
KR100660896B1 (ko) 벤더 특정 명령 실행 방법 및 이를 이용한 디스크 드라이브
KR100524989B1 (ko) 데이터 저장 시스템에서의 리트라이 개선 방법 및 이를이용한 디스크 드라이브
KR100585098B1 (ko) 적응적 리트라이 제어 방법 및 이를 이용한 디스크 드라이브
KR20070096081A (ko) 저장매체의 마스터 부트 레코드 복구 방법 및 이를 이용한디스크 드라이브
KR100699880B1 (ko) 데이터 저장 시스템에서의 메인터넌스 실린더의 트랙 디펙관리 방법 및 이를 이용한 디스크 드라이브
KR100640668B1 (ko) 기록매체의 저장 영역 관리 방법 및 이를 이용한 디스크드라이브
KR20050081408A (ko) 데이터 저장 시스템에서의 적응적 데이터 액세스 제어방법 및 이를 이용한 디스크 드라이브
KR100699877B1 (ko) 데이터 저장 시스템에서의 디펙 섹터의 데이터 보존 방법및 이를 이용한 디스크 드라이브
KR100723512B1 (ko) 캐쉬 버퍼 제어 방법 및 이를 이용한 디스크 드라이브
KR100618835B1 (ko) 데이터 저장 시스템에서의 적응적 섹터 재 할당 방법 및이를 이용한 디스크 드라이브
KR100734312B1 (ko) 다중 인터페이스를 지원하는 데이터 저장 장치 및 그 제어방법
KR100640619B1 (ko) 하드디스크 드라이브의 동작 파라메터 설정 방법 및 이에적합한 기록 매체
KR100585165B1 (ko) 데이터 저장 장치 및 데이터 보호 방법
KR100604832B1 (ko) 데이터 저장 장치에서의 마스터/슬레이브 설정 방법 및이를 이용한 디스크 드라이브
KR100189927B1 (ko) 하드 디스크 드라이브 제어장치 및 그 방법
KR20070082816A (ko) 저장매체의 빠른 포맷 방법 및 이를 이용한 디스크드라이브

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20091214

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee