KR100546377B1 - Method for improving data transmission speed in data storage system and disc drive using the same - Google Patents
Method for improving data transmission speed in data storage system and disc drive using the same Download PDFInfo
- Publication number
- KR100546377B1 KR100546377B1 KR1020030062183A KR20030062183A KR100546377B1 KR 100546377 B1 KR100546377 B1 KR 100546377B1 KR 1020030062183 A KR1020030062183 A KR 1020030062183A KR 20030062183 A KR20030062183 A KR 20030062183A KR 100546377 B1 KR100546377 B1 KR 100546377B1
- Authority
- KR
- South Korea
- Prior art keywords
- command
- received
- mode
- prediction
- host device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013500 data storage Methods 0.000 title claims abstract description 24
- 230000005540 biological transmission Effects 0.000 title claims abstract description 17
- 230000007704 transition Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 4
- 239000013307 optical fiber Substances 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- 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/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- 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/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/1075—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
- G11B2020/10759—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
- G11B2020/10768—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data by pre-caching the initial portion of songs or other recorded or downloaded data for starting playback instantly
-
- 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
- G11B2020/1291—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
- G11B2020/1294—Increase of the access speed
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2508—Magnetic discs
- G11B2220/2516—Hard disks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
본 발명은 데이터 저장 장치 및 그 제어 방법에 관한 것으로서, 특히 호스트 기기로부터 전송되는 명령의 규칙성을 이용하여 데이터를 처리하는 데이터 저장 시스템에서의 데이터 전송 속도 향상 방법 및 이를 이용한 디스크 드라이브에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data storage device and a control method thereof, and more particularly, to a data transmission speed improving method and a disk drive using the same in a data storage system for processing data using regularity of commands transmitted from a host device.
본 발명의 제1실시 예에 의한 데이터 저장 시스템에서의 데이터 전송 속도 향상 방법은 데이터 저장 시스템의 제어 방법에 있어서, (a) 호스트 기기로부터 수신되는 명령의 규칙성을 분석하는 단계, (b) 상기 단계(a)의 판단 결과 상기 호스트 기기로부터 수신되는 명령의 규칙성이 있는 경우에, 다음 수신될 예측 명령을 분석하는 단계 및 (c) 상기 예측 명령을 실행하기 위한 선행 준비 모드를 실행하는 단계를 포함함을 특징으로 한다.In a method of improving a data transmission speed in a data storage system according to a first embodiment of the present invention, the method of controlling a data storage system includes the steps of: (a) analyzing regularity of a command received from a host device; Analyzing the predicted command to be received next, if the regularity of the command received from the host device is determined as a result of step (a), and (c) executing a preparatory mode for executing the predicted command. It is characterized by including.
Description
도 1은 본 발명이 적용되는 디스크 드라이브의 구성의 평면도이다.1 is a plan view of a configuration of a disk drive to which the present invention is applied.
도 2는 본 발명에 의한 데이터 전송 속도 향상 방법이 적용되는 디스크 드라이브의 전기적인 회로 구성도이다.2 is an electrical circuit diagram of a disk drive to which a data transmission speed improving method according to the present invention is applied.
도 3은 본 발명의 제1실시 예에 의한 데이터 저장 시스템에서의 데이터 전송 속도 향상 방법의 흐름도이다.3 is a flowchart illustrating a data transmission speed improving method in a data storage system according to a first embodiment of the present invention.
도 4는 본 발명의 제2실시 예에 의한 데이터 저장 시스템에서의 데이터 전송 속도 향상 방법의 흐름도이다.4 is a flowchart illustrating a data transmission speed improving method in a data storage system according to a second embodiment of the present invention.
도 5는 호스트 기기에서의 규칙성 있는 모드를 실행하는 예를 설명하기 프로세스 동작 순서를 나타내는 도면이다.5 is a diagram illustrating a process operation procedure for explaining an example of executing a regular mode in the host device.
도 6은 도 5의 프로세스를 실행하는 디스크 드라이브의 동작 순서를 나타내는 도면이다.FIG. 6 is a diagram illustrating an operation sequence of a disk drive for executing the process of FIG. 5.
도 7은 디스크 드라이브에서 규칙적으로 처리되는 스트림 순서를 나타내는 도면이다. 7 is a diagram illustrating a stream order that is regularly processed in the disk drive.
본 발명은 데이터 저장 장치 및 그 제어 방법에 관한 것으로서, 특히 호스트 기기로부터 전송되는 명령의 규칙성을 이용하여 데이터를 처리하는 데이터 저장 시스템에서의 데이터 전송 속도 향상 방법 및 이를 이용한 디스크 드라이브에 관한 것이다.BACKGROUND OF THE
일반적으로 멀티미디어 시스템은 오디오/비디오 신호를 처리하는 A/V 기기와 A/V 기기에서 처리된 데이터를 저장하는 저장수단을 포함한다. 저장수단의 일 예로서 하드디스크 드라이브가 이용된다. 디스크 드라이브는 접속된 호스트 기기 즉, A/V 기기의 컨트롤러로부터 전송되는 명령에 따라서 데이터의 쓰기 또는 읽기 모드를 실행한다.In general, a multimedia system includes an A / V device that processes an audio / video signal and storage means for storing data processed by the A / V device. As an example of the storage means, a hard disk drive is used. The disk drive executes a write or read mode of data in accordance with a command transmitted from the connected host device, that is, the controller of the A / V device.
그리고, 하드디스크 드라이브가 PVR(Personal Video Recorder) 기기의 데이터 저장 수단으로 이용되는 경우에, 규칙적으로 읽기 또는 쓰기 모드를 반복하여 실행하는 경우가 많이 발생된다.In addition, when a hard disk drive is used as a data storage means of a personal video recorder (PVR) device, there are many cases in which a read or write mode is repeatedly executed.
종래의 기술에 따르면 하드디스크 드라이브가 규칙적으로 읽기 또는 쓰기 모드가 반복하여 실행하는 경우에, 호스트 기기로부터 읽기 또는 쓰기 명령을 입력받은 후에 이를 해독하고 해독된 명령을 실행함으로써 데이터 전송 속도를 높이는데 한계가 있는 문제점이 있었다.According to the related art, when the hard disk drive regularly executes a read or write mode repeatedly, the hard disk drive receives a read or write command from a host device, decrypts it, and executes the decrypted command. There was a problem with that.
본 발명이 이루고자하는 기술적 과제는 상술한 문제점을 해결하기 위하여 호 스트 기기로부터 수신되는 명령의 규칙성을 이용하여 데이터 처리 속도를 향상시키기 위한 데이터 저장 시스템에서의 데이터 전송 속도 향상 방법 및 이를 이용한 디스크 드라이브를 제공하는데 있다.SUMMARY OF THE INVENTION In order to solve the above problems, a technical object of the present invention is to improve a data transmission speed in a data storage system for improving data processing speed by using a regularity of a command received from a host device, and a disk drive using the same. To provide.
상기 기술적 과제를 달성하기 위하여 본 발명의 제1실시 예에 의한 데이터 저장 시스템에서의 데이터 전송 속도 향상 방법은 데이터 저장 시스템의 제어 방법에 있어서, (a) 호스트 기기로부터 수신되는 명령의 규칙성을 분석하는 단계, (b) 상기 단계(a)의 판단 결과 상기 호스트 기기로부터 수신되는 명령의 규칙성이 있는 경우에, 다음 수신될 예측 명령을 분석하는 단계 및 (c) 상기 예측 명령을 실행하기 위한 선행 준비 모드를 실행하는 단계를 포함함을 특징으로 한다.In order to achieve the above technical problem, a method of improving data transmission speed in a data storage system according to a first embodiment of the present invention is a control method of a data storage system, the method comprising: (a) analyzing regularity of a command received from a host device; (B) analyzing the prediction command to be received next if there is regularity of the command received from the host device as a result of the determination of step (a); and (c) prior to executing the prediction command. And executing the ready mode.
상기 기술적 과제를 달성하기 위하여 본 발명의 제2실시 예에 의한 데이터 저장 시스템에서의 데이터 전송 속도 향상 방법은 데이터 저장 시스템의 제어 방법에 있어서, (a) 호스트 기기로부터 규칙적인 명령이 전송되고 있음을 알리는 특정 명령이 수신되는지를 판단하는 단계, (b) 상기 특정 명령이 수신되는 경우에, 예상 모드로 천이시켜 다음 수신될 예측 명령을 분석하는 단계 및 (c) 상기 예측 명령을 실행하기 위한 선행 준비 모드를 실행하는 단계를 포함함을 특징으로 한다.In order to achieve the above technical problem, the data transmission speed improving method of the data storage system according to the second embodiment of the present invention is a control method of the data storage system, which means that (a) a regular command is transmitted from a host device. Determining whether a specific command to be informed is received, (b) when the specific command is received, transitioning to a predictive mode to analyze a predicted command to be received next, and (c) preparatory preparation for executing the predicted command. And executing the mode.
상기 다른 기술적 과제를 달성하기 위하여 본 발명의 제1실시 예에 의한 디스크 드라이브는 데이터 저장 장치에 있어서, 호스트 기기와의 데이터 송/수신 처리를 실행하는 호스트 인터페이스, 디스크 드라이브를 제어하는 펌웨어 및 제어 정보를 내장하는 메모리, 쓰기 모드에서 상기 호스트 인터페이스를 통하여 상기 호스 트 기기로부터 수신되는 데이터를 저장하고, 읽기 모드에서 디스크로부터 재생한 데이터를 저장하는 버퍼, 상기 호스트 인터페이스를 통하여 상기 호스트 기기로부터 수신되는 명령의 규칙성을 분석하여, 규칙성이 있는 경우에 다음 수신될 예측 명령을 분석하고, 분석된 상기 예측 명령을 실행하기 위한 선행 준비 모드를 실행시키도록 제어하는 콘트롤러 및 상기 호스트 인터페이스를 통하여 수신되어 상기 버퍼에 저장된 데이터를 디스크에 기록하거나, 또는 상기 디스크로부터 데이터를 읽어내어 상기 버퍼에 저장하기 위한 데이터 처리를 실행하는 기록/판독 회로를 포함함을 특징으로 한다.Disc drive according to the first embodiment of the present invention in order to achieve the above another technical problem, in the data storage device, a host interface for performing data transmission / reception process with the host device, firmware and control information for controlling the disk drive A memory having a built-in memory, a buffer for storing data received from the host device through the host interface in a write mode, a buffer for storing data reproduced from a disk in a read mode, and a command received from the host device through the host interface. A regularity of the controller to analyze a prediction command to be received next if there is regularity and to execute a preliminary preparation mode for executing the analyzed prediction command and received through the host interface. The data stored in the buffer And a write / read circuit for performing data processing for writing to a disc or reading data from the disc and storing the data in the buffer.
상기 다른 기술적 과제를 달성하기 위하여 본 발명의 제2실시 예에 의한 디스크 드라이브는 데이터 저장 장치에 있어서, 호스트 기기와의 데이터 송/수신 처리를 실행하는 호스트 인터페이스, 디스크 드라이브를 제어하는 펌웨어 및 제어 정보를 내장하는 메모리, 쓰기 모드에서 상기 호스트 인터페이스를 통하여 상기 호스트 기기로부터 수신되는 데이터를 저장하고, 읽기 모드에서 디스크로부터 재생한 데이터를 저장하는 버퍼, 상기 호스트 기기로부터 규칙적인 명령이 전송되고 있음을 알리는 특정 명령이 수신되는지를 판단하여 상기 특정 명령이 수신되는 경우에, 예상 모드로 천이시켜 다음 수신될 예측 명령을 분석하고, 상기 예측 명령을 실행하기 위한 선행 준비 모드를 실행시키도록 제어하는 콘트롤러 및 상기 호스트 인터페이스를 통하여 수신되어 상기 버퍼에 저장된 데이터를 디스크에 기록하거나, 또는 상기 디스크로부터 데이터를 읽어내어 상기 버퍼에 저장하기 위한 데이터 처리를 실행하는 기록/판독 회로를 포함함을 특징으로 한다.In accordance with another aspect of the present invention, a disk drive includes a host interface that executes data transmission / reception processing with a host device, firmware for controlling the disk drive, and control information in a data storage device. A memory having a built-in memory, a buffer for storing data received from the host device through the host interface in a write mode, a buffer for storing data played back from the disk in a read mode, and notifying that a regular command is being transmitted from the host device. A controller for judging whether a specific command is received and, when the specific command is received, transitioning to a prediction mode to analyze a prediction command to be received next, and executing a preliminary preparation mode for executing the prediction command; Number through host interface And a write / read circuit for writing data stored in the buffer to a disc or performing data processing for reading data from the disc and storing the data in the buffer.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명이 적용되는 디스크 드라이브(10)의 구성을 보여준다. 드라이브(10)는 스핀들 모터(14)에 의하여 회전되는 적어도 하나의 자기 디스크(12)를 포함하고 있다. 디스크 드라이브(10)는 디스크 표면(18)에 인접되게 위치한 변환기(16)를 또한 포함하고 있다.1 shows a configuration of a
변환기(16)는 각각의 디스크(12)의 자계를 감지하고 자화시킴으로써 회전하는 디스크(12)에서 정보를 읽거나 기록할 수 있다. 전형적으로 변환기(16)는 각 디스크 표면(18)에 결합되어 있다. 비록 단일의 변환기(16)로 도시되어 설명되어 있지만, 이는 디스크(12)를 자화시키기 위한 기록용 변환기와 디스크(12)의 자계를 감지하기 위한 분리된 읽기용 변환기로 이루어져 있다고 이해되어야 한다. 읽기용 변환기는 자기 저항(MR : Magneto-Resistive) 소자로부터 구성되어 진다. 변환기(16)는 통상적으로 헤드(Head)라 칭해지기도 한다.The
변환기(16)는 슬라이더(20)에 통합되어 질 수 있다. 슬라이더(20)는 변환기(16)와 디스크 표면(18)사이에 공기 베어링(air bearing)을 생성시키는 구조로 되어 있다. 슬라이더(20)는 헤드 짐벌 어셈블리(22)에 결합되어 있다. 헤드 짐벌 어셈블리(22)는 보이스 코일(26)을 갖는 엑츄에이터 암(24)에 부착되어 있다. 보이스 코일(26)은 보이스 코일 모터(VCM : Voice Coil Motor 30)를 특정하는 마그네틱 어셈블리(28)에 인접되게 위치하고 있다. 보이스 코일(26)에 공급되는 전류는 베어링 어셈블리(32)에 대하여 엑츄에이터 암(24)을 회전시키는 토오크를 발생시킨 다. 엑츄에이터 암(24)의 회전은 디스크 표면(18)을 가로질러 변환기(16)를 이동시킬 것이다.The
정보는 전형적으로 디스크(12)의 환상 트랙내에 저장된다. 각 트랙(34)은 일반적으로 복수의 섹터를 포함하고 있다. 각 섹터는 데이터 필드(data field)와 식별 필드(identification field)를 포함하고 있다. 식별 필드는 섹터 및 트랙(실린더)을 식별하는 그레이 코드(Gray code)로 구성되어 있다. 변환기(16)는 다른 트랙에 있는 정보를 읽거나 기록하기 위하여 디스크 표면(18)을 가로질러 이동된다.The information is typically stored in an annular track of the
도 2는 본 발명이 적용되는 디스크 드라이브의 전기적인 회로를 보여준다.2 shows an electrical circuit of a disk drive to which the present invention is applied.
도 2에 도시된 바와 같이, 본 발명에 의한 디스크 드라이브는 디스크(12), 변환기(16), 프리 앰프(210), 기록/판독 채널(220), 버퍼(230), 콘트롤러(240), 메모리(250) 및 호스트 인터페이스(260)를 구비한다.As shown in FIG. 2, the disk drive according to the present invention includes a
위의 프리 앰프(210) 및 기록/판독 채널(220)을 포함하는 회로 구성을 기록/판독 회로라 칭하기로 한다.The circuit configuration including the
메모리(250)에는 디스크 드라이브를 제어하기 위한 각종 프로그램 및 데이터들이 저장되어 있으며, 특히 본 발명의 제1,2실시 예에 의한 디스크 드라이브에서의 데이터 전송 속도를 향상시키기 위한 방법인 도 3 및 도 4의 흐름도를 실행시키기 위한 프로그램 및 데이터들이 저장되어 있다. 이때 메모리(250)는 비휘발성 메모리로 설계한다.Various programs and data for controlling the disk drive are stored in the
버퍼(230)에는 콘트롤러(240)의 제어에 의하여 쓰기 모드에서 호스트 인터페이스(260)를 통하여 호스트 기기(도면에 미도시)로부터 수신되는 데이터를 일시적 으로 저장되고, 읽기 모드에서 디스크(12)로부터 재생한 데이터를 일시적으로 저장된다.The
콘트롤러(240)는 디스크 드라이브를 총괄적으로 제어하며, 특히 호스트 인터페이스(260)를 통하여 호스트 기기로부터 수신되는 명령의 규칙성을 분석하여, 규칙성이 있는 경우에 다음 수신될 예측 명령을 분석하고, 분석된 예측 명령을 실행하기 위한 선행 준비 모드를 실행시키고, 선행 준비 모드를 실행시킨 후에, 예측 명령과 호스트 기기로부터 다음 수신된 명령이 일치하는지 비교하여 예측 명령과 수신된 명령이 일치하는 경우에는 예측 명령을 실행시키고, 그렇지 않은 경우에는 수신된 명령을 실행시키도록 제어한다. 위의 선행 준비 모드는 예측 명령이 읽기 명령인 경우에는 미리 예상되는 디스크 영역에 저장된 데이터를 디스크로부터 독출하여 버퍼에 저장하는 모드이고, 예측 명령이 쓰기 명령인 경우에는 미리 예상되는 디스크 트랙 위치로 변환기(16)를 이동시키는 모드이다. 그리고, 명령의 규칙성은 수신되는 명령어와 섹터 위치 정보를 이용하여 판단하는 것이 효과적이다.The
즉, 일 예로서 만일 호스트 기기에서 도 5와 같이 영상의 재생 및 녹화를 반복적으로 실행하는 경우에, 호스트 기기는 일 예로서 도 6과 같이 LBA10000에 960섹터의 정보를 읽어들인 후, LBA50000에 960섹터의 정보를 쓰고, 다시 LBA10960에서 다시 960섹터의 정보를 읽어 들이는 규칙성이 있는 모드 실행을 디스크 드라이브에 요구한다. 이럴 경우, 디스크 드라이브의 콘트롤러(240)는 호스트 기기로부터 순차적으로 수신되는 명령어와 섹터 위치를 분석하여 연속하여 입력되는 명령에 어떠한 규칙성이 있음을 인식한다.That is, as an example, if the host device repeatedly plays and records an image as shown in FIG. 5, the host device reads 960 sectors of information into the LBA10000 as shown in FIG. It asks the disk drive to run a regular mode that writes sector information and reads back 960 sectors from LBA10960. In this case, the
콘트롤러(240)는 호스트 기기로부터 디스크 드라이브로 입력되는 명령에 규칙성이 있다고 인식된 경우에, 다음에 호스트 기기로부터 입력될 명령을 예측한다. 즉, 도 6과 같이 동작할 것을 요구하는 명령이 디스크 드라이브로 입력되는 경우에, LBA10960에서 960 섹터의 정보를 읽어들인 후에 다음 ? 부분을 실행하기 위하여 입력될 명령은 LBA50960에 960섹터를 쓰기 위한 명령이 입력될 것을 예측할 수 있을 것이다.When the
이에 따라서, 콘트롤러(240)는 변환기(12)를 LBA50960의 위치로 이동시키도록 선행 준비 모드를 실행시킨다.Accordingly,
이와 같은 선행 준비 모드를 실행한 후에, 호스트 기기로부터 입력되는 명령이 예측된 명령과 동일하게 LBA50960에 960섹터를 쓰기 위한 명령이 입력되면, 선행 준비 모드로부터 예측된 명령을 연속하여 실행시키고, 만일 예측된 명령과 다른 명령이 입력되는 경우에는 입력된 명령을 실행시키도록 제어한다.After executing such a preliminary preparation mode, if a command for writing 960 sectors to the LBA50960 is input in the same manner as the command inputted from the host device, the instruction predicted from the preliminary preparation mode is executed continuously. If a command different from the specified command is inputted, the input command is executed to be executed.
콘트롤러(240)는 또한 다음과 같이 설계할 수도 있다.
즉, 수신되는 명령의 규칙성을 디스크 드라이브에서 판단하지 않고, 호스트 기기에서 명령의 규칙성을 판단하여, 규칙성이 있는 것으로 판단되는 경우에 이를 알리는 특정 명령(SET_REGULAR)을 호스트 기기에서 디스크 드라이브로 전송한다. 콘트롤러(240)는 호스트 기기에서 발생된 특정 명령(SET_REGULAR)이 수신되는지를 판단하여 특정 명령(SET_REGULAR)이 수신되는 경우에, 예상 모드로 천이시켜 다음 수신될 예측 명령을 분석하고, 분석된 예측 명령을 실행하기 위한 선행 준비 모드를 실행시키고, 선행 준비 모드를 실행시킨 후에, 예측 명령과 호스트 기기로부터 다음 수신된 명령이 일치하는지 비교하여 예측 명령과 수신된 명령이 일치하는 경우에는 예측 명령을 실행시키고, 그렇지 않은 경우에는 수신된 명령을 실행시키도록 제어하도록 설계할 수 있다.That is, the disk drive does not determine the regularity of the received command, but determines the regularity of the command in the host device, and sends a specific command (SET_REGULAR) to the disk drive from the host device to notify the user when it is determined that there is regularity. send. The
우선, 일반적인 디스크 드라이브의 동작을 설명하면 다음과 같다.First, the operation of a general disk drive will be described.
데이터 판독(Read) 모드에서, 디스크 드라이브는 디스크(12)로부터 변환기(16 ; 일명 헤드라 칭함)에 의하여 감지된 전기적인 신호를 프리 앰프(210)에서 신호 처리에 용이하도록 증폭시킨다. 그리고 나서, 기록/판독 채널(220)에서는 증폭된 아날로그 신호를 호스트 기기(도면에 미도시)가 판독할 수 있는 디지털 신호로 부호화시키고, 스트림 데이터로 변환하여 버퍼(230)에 일시 저장시킨 후에 호스트 인터페이스(260)를 통하여 호스트 기기로 전송한다. In the data read mode, the disc drive amplifies the electrical signal sensed by the converter 16 (also called head) from the
반대로 데이터의 기록(Write) 모드에서, 디스크 드라이브는 호스트 인터페이스(260)를 통하여 호스트 기기로부터 데이터를 입력받아 버퍼(230)에 일시 저장시킨 후에, 버퍼(230)에 저장된 데이터를 순차적으로 출력하여 기록/판독 채널(220)에 의하여 기록 채널에 적합한 바이너리 데이터 스트림으로 변환시킨 후에 프리 앰프(210)에 의하여 증폭된 기록 전류를 변환기(16)를 통하여 디스크(12)에 기록시킨다.In contrast, in the write mode of the data, the disk drive receives data from the host device through the
그러면, 본 발명의 제1실시 예에 의한 디스크 드라이브와 호스트 기기간의 데이터 전송 속도 향상 방법에 대하여 도 3의 흐름도를 참조하여 설명하기로 한다.Next, a method of improving a data transfer speed between a disk drive and a host device according to the first embodiment of the present invention will be described with reference to the flowchart of FIG. 3.
우선, 디스크 드라이브의 콘트롤러(240)는 호스트 기기로부터 호스트 인터페이스(260)를 경유하여 입력되는 명령을 분석한다(S301). First, the
단계301(S301)의 분석 결과 입력되는 명령이 규칙성이 있는지를 판단한다(S302). 연속적으로 입력되는 명령에 규칙성이 있는지 여부는 명령어 및 LBA 정보(섹터 정보)를 이용하여 판단할 수 있다. It is determined whether the command inputted as a result of analysis in step 301 (S301) is regular (S302). Whether there is regularity in a command that is continuously input may be determined using the command and LBA information (sector information).
단계302(S302)의 판단 결과 호스트 기기로부터 입력되는 명령에 규칙성이 있는 것으로 판단된 경우에, 콘트롤러(240)는 호스트 기기로부터 다음에 입력될 명령을 이미 입력된 명령의 규칙성에 근거하여 예측한다(S303).When it is determined that the command input from the host device is regular as a result of the determination in step 302 (S302), the
단계303(S303)의 예측 결과 예측된 명령이 읽기 명령인 경우에는 미리 예상되는 LBA 값으로부터 예상된 섹터의 정보를 읽어들여 버퍼(230)에 저장시킨다(S304, S305). 즉, 일 예로서 도 6에와 같이 규칙성이 있는 경우에 LBA50000에 960섹터의 정보를 쓰고 난 후에는 호스트 기기로부터 다음 명령이 입력되기 전에 미리 예측된 명령에 따라서 LBA10960으로부터 960섹터의 정보를 읽어들여 버퍼(230)에 저장시키는 선행 준비 모드를 실행한다. If the predicted command is a read command as a result of the prediction in step 303 (S303), information on the expected sector is read from the LBA value expected in advance and stored in the buffer 230 (S304 and S305). That is, as an example, in the case of regularity as shown in FIG. 6, after writing 960 sectors of information to the LBA50000, the information of 960 sectors is read from the LBA10960 according to a command predicted before the next command is input from the host device. To execute the preliminary preparation mode for storing in the
만일, 단계303(S303)의 예측 결과 예측된 명령이 쓰기 명령인 경우에는 미리 예상되는 LBA 값의 위치로 변환기(16)를 이동시킨다(S306, S307). 즉, 일 예로서 도 6에서 LBA10960으로부터 960섹터의 정보를 읽어낸 후에는 호스트 기기로부터 다음 명령이 입력되기 전에 미리 예측된 명령에 따라서 LBA50960의 위치로 변환기(16)를 이동시키는 선행 준비 모드를 실행한다.If the predicted command is a write command as a result of the prediction in step 303 (S303), the
이와 같이, 예측된 명령에 따른 선행 준비 모드를 실행한 후에, 호스트 기기로부터 명령을 수신하여 호스트 기기로부터 실제 입력되는 다음 명령과 예측된 다음 명령이 일치하는지를 비교한다(S308, S309).In this way, after executing the preliminary preparation mode according to the predicted command, a command is received from the host device and the next command actually input from the host device is compared with the predicted next command (S308, S309).
단계309(S309)의 비교 결과 호스트 기기로부터 실제 입력되는 다음 명령과 예측된 다음 명령이 일치하는 경우에는, 예측된 명령을 수행한 후에 단계303(S303)으로 피드백 시킨다(S310).If the next command actually input from the host device matches the predicted next command as a result of the comparison in step 309 (S309), the process returns to step 303 (S303) after the predicted command is performed (S310).
그러나, 단계309(S309)의 비교 결과 호스트 기기로부터 실제 입력되는 다음 명령과 예측된 다음 명령이 일치하지 않는 경우에는, 예측된 명령을 무시하고 입력된 명령을 수행한 후에 단계301(S301)로 피드백 된다(S311).However, if the next command actually input from the host device and the next predicted command do not match as a result of the comparison in step 309 (S309), the feedback is ignored and the feedback is returned to step 301 (S301) after performing the input command. It becomes (S311).
다음으로, 본 발명의 제2실시 예에 의한 디스크 드라이브와 호스트 기기간의 데이터 전송 속도 향상 방법에 대하여 도 4의 흐름도를 참조하여 설명하기로 한다.Next, a method of improving a data transfer speed between a disk drive and a host device according to a second embodiment of the present invention will be described with reference to the flowchart of FIG. 4.
도 4의 흐름도에 의한 본 발명의 제2실시 예와 도 3의 흐름도에 의한 본 발명의 제1실시 예의 차이는 다음과 같다.The difference between the second embodiment of the present invention according to the flowchart of FIG. 4 and the first embodiment of the present invention according to the flowchart of FIG. 3 is as follows.
본 발명의 제1실시 예에서는 디스크 드라이브 측에서 호스트 기기로부터 입력되는 명령을 직접 분석하여 입력되는 명령의 규칙성 여부를 판정하는데 비하여, 본 발명의 제2실시 예에서는 호스트 기기 측에서 호스트 기기에서 디스크 드라이브로 전송하는 명령의 규칙성 여부를 판정하여 규칙성이 있는 경우에 이를 알리는 특정 명령(SET_REGULAR)을 생성시켜 디스크 드라이브로 전송한다는 점에서 근본적인 차이가 있다. In the first embodiment of the present invention, the disc drive side directly analyzes the command input from the host device to determine whether the input command is regular. In the second embodiment of the present invention, the disc in the host device at the host device side is determined. There is a fundamental difference in determining whether or not the command to be transmitted to the drive is regular and generating a specific command (SET_REGULAR) to notify the user if there is regularity.
그러면, 본 발명의 제2실시 예에 대하여 세부적으로 설명하기로 한다.Next, a second embodiment of the present invention will be described in detail.
우선, 디스크 드라이브의 콘트롤러(240)는 호스트 기기로부터 호스트 인터페이스(260)를 경유하여 규칙적인 명령이 전송되고 있음을 알리는 특정 명령(SET_REGULAR)이 입력되는지를 판단한다(S401).First, the
단계401(S401)의 판단 결과 특정 명령(SET_REGULAR)이 디스크 드라이브로 입력되지 않는 경우에는, 다음 명령이 입력될 때까지 기다렸다가 입력되는 실제 명령을 실행한다(S411).If the specific command SET_REGULAR is not input to the disk drive as a result of the determination in step 401 (S401), wait until the next command is input before executing the actual command input (S411).
그러나, 단계401(S401)의 판단 결과 특정 명령(SET_REGULAR)이 디스크 드라이브로 입력되는 경우에, 콘트롤러(240)는 디스크 드라이브를 예상 모드로 천이시킨 후에 연속하여 입력되는 명령의 규칙성에 근거하여 다음 수신될 명령을 예측한다(S403).However, when a specific command SET_REGULAR is input to the disk drive as a result of the determination in step 401 (S401), the
단계403(S403)의 예측 결과 예측된 명령이 읽기 명령인 경우에는 미리 예상되는 LBA 값으로부터 예상된 섹터의 정보를 읽어들여 버퍼(230)에 저장시킨다(S404, S405). 즉, 일 예로서 도 6에서 LBA50000에 960섹터의 정보를 쓰고 난 후에는 호스트 기기로부터 다음 명령이 입력되기 전에 미리 예측된 명령에 따라서 LBA 10960으로부터 960섹터의 정보를 읽어들여 버퍼(230)에 저장시키는 선행 준비 모드를 실행한다.If the predicted command is a read command as a result of the prediction in step 403 (S403), information on the expected sector is read from the LBA value expected in advance and stored in the buffer 230 (S404 and S405). That is, as an example, after writing 960 sectors of information to the LBA50000 in FIG. 6, before the next command is input from the host device, 960 sectors of information is read from the
만일, 단계403(S403)의 예측 결과 예측된 명령이 쓰기 명령인 경우에는 미리 예상되는 LBA 값의 위치로 변환기(16)를 이동시킨다(S406, S407). 즉, 일 예로서 도 6에서 LBA10960으로부터 960섹터의 정보를 읽어낸 후에는 호스트 기기로부터 다음 명령이 입력되기 전에 미리 예측된 명령에 따라서 LBA50960의 위치로 변환기(16)를 이동시키는 선행 준비 모드를 실행한다.If the predicted command is a write command as a result of the prediction in step 403 (S403), the
이와 같이, 예측된 명령에 따른 선행 준비 모드를 실행한 후에, 호스트 기기로부터 명령을 수신하여 호스트 기기로부터 실제 입력되는 다음 명령과 예측된 다 음 명령이 일치하는지를 비교한다(S408, S409).As such, after executing the preliminary preparation mode according to the predicted command, a command is received from the host device and the next command actually input from the host device is compared with the predicted next command (S408, S409).
단계409(S409)의 비교 결과 호스트 기기로부터 실제 입력되는 다음 명령과 예측된 다음 명령이 일치하는 경우에는, 예측된 명령을 수행한 후에 단계403(S403)으로 피드백되어 위의 단계들을 반복하여 실행한다(S410).As a result of the comparison of step 409 (S409), if the next command actually predicted and the next predicted command match, the predicted command is fed back to step 403 (S403), and the above steps are repeated. (S410).
그러나, 단계409(S409)의 비교 결과 호스트 기기로부터 실제 입력되는 다음 명령과 예측된 다음 명령이 일치하지 않는 경우에는, 예측된 명령을 무시하고 입력된 명령을 수행한다(S411).However, if the next command actually input from the host device and the predicted next command do not match as a result of the comparison in step 409 (S409), the inputted command is ignored (S411).
이와 같이, 디스크 드라이브에서 호스트 기기로부터 입력되는 명령의 규칙성을 판단하여, 일정한 규칙성이 있는 경우에 다음 명령을 미리 예측하여 예측된 다음 명령을 선행시킴으로써 시크 시간(Seek Time)을 줄일 수 있게 되어 데이터 전송 속도를 높일 수 있게 되었다. 특히, 예측되는 다음 명령이 읽기 명령인 경우에는 실제 다음 명령이 입력되기 전에 예측되는 데이터를 선행하여 읽어들여 버퍼(230)에 저장시켜 놓고 다음 명령을 기다림으로써 시크 시간 및 데이터 전송 시간을 단축시킬 수 있게 되었다.As described above, when the disk drive determines the regularity of the command input from the host device, when the predetermined regularity exists, the seek time can be reduced by predicting the next command in advance and preceding the predicted next command. The data transfer rate can be increased. In particular, when the next predicted command is a read command, the seek time and data transfer time can be shortened by reading the predicted data beforehand and storing the predicted data in the
추가적으로, 디스크 드라이브는 도 7과 같이 스트림이 주기적으로 반복되어 수신되는 경우에 다음에 수신되는 스트림을 예측하여 실제 명령이 입력되기 전에 선행하여 데이터 처리할 수 있도록 프로그램할 수도 있다. In addition, when the stream is repeatedly received as shown in FIG. 7, the disk drive may predict a next received stream and program the data to be processed before the actual command is input.
본 발명은 방법, 장치, 시스템 등으로서 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필연적으로 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되어 질 수 있으며 또는 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. 프로세서 판독 가능 매체는 정보를 저장 또는 전송할 수 있는 어떠한 매체도 포함한다. 프로세서 판독 가능 매체의 예로는 전자 회로, 반도체 메모리 소자, ROM, 플레쉬 메모리, 이레이져블 ROM(EROM : Erasable ROM), 플로피 디스크, 광 디스크, 하드디스크, 광 섬유 매체, 무선 주파수(RF) 망, 등이 있다. 컴퓨터 데이터 신호는 전자 망 채널, 광 섬유, 공기, 전자계, RF 망, 등과 같은 전송 매체 위로 전파될 수 있는 어떠한 신호도 포함된다. The invention can be practiced as a method, apparatus, system, or the like. When implemented in software, the constituent means of the present invention are code segments that necessarily perform the necessary work. The program or code segments may be stored in a processor readable medium or transmitted by a computer data signal coupled with a carrier on a transmission medium or network. Processor readable media includes any medium that can store or transmit information. Examples of processor-readable media include electronic circuits, semiconductor memory devices, ROMs, flash memory, erasable ROM (EROM), floppy disks, optical disks, hard disks, optical fiber media, radio frequency (RF) networks, Etc. Computer data signals include any signal that can propagate over transmission media such as electronic network channels, optical fibers, air, electromagnetic fields, RF networks, and the like.
첨부된 도면에 도시되어 설명된 특정의 실시 예들은 단지 본 발명의 예로서 이해되어 지고, 본 발명의 범위를 한정하는 것이 아니며, 본 발명이 속하는 기술 분야에서 본 발명에 기술된 기술적 사상의 범위에서도 다양한 다른 변경이 발생될 수 있으므로, 본 발명은 보여지거나 기술된 특정의 구성 및 배열로 제한되지 않는 것은 자명하다. 즉, 본 발명은 하드디스크 드라이브를 포함하는 각종 디스크 드라이브에 적용될 수 있을 뿐만 아니라, 다양한 종류의 데이터 저장 장치에 적용될 수 있음은 당연한 사실이다.Specific embodiments shown and described in the accompanying drawings are only to be understood as an example of the present invention, not to limit the scope of the invention, but also within the scope of the technical spirit described in the present invention in the technical field to which the present invention belongs As various other changes may occur, it is obvious that the invention is not limited to the specific constructions and arrangements shown or described. That is, it is a matter of course that the present invention can be applied not only to various disk drives including hard disk drives, but also to various kinds of data storage devices.
상술한 바와 같이, 본 발명에 의하면 디스크 드라이브에 입력되는 명령의 규칙성을 분석하여 규칙성이 있는 경우에 미리 다음 입력될 명령을 예측하여 예측된 다음 명령을 실제 명령이 입력되기 전에 선행하여 실행시키도록 제어함으로써, 데이터 전송 속도를 높일 수 있는 효과가 발생된다. As described above, according to the present invention, the regularity of the command input to the disk drive is analyzed to predict the next command to be input in advance if there is regularity, and then execute the predicted next command before the actual command is input. By controlling so that the data transmission speed can be increased.
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030062183A KR100546377B1 (en) | 2003-09-05 | 2003-09-05 | Method for improving data transmission speed in data storage system and disc drive using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030062183A KR100546377B1 (en) | 2003-09-05 | 2003-09-05 | Method for improving data transmission speed in data storage system and disc drive using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050024935A KR20050024935A (en) | 2005-03-11 |
KR100546377B1 true KR100546377B1 (en) | 2006-01-26 |
Family
ID=37231994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030062183A KR100546377B1 (en) | 2003-09-05 | 2003-09-05 | Method for improving data transmission speed in data storage system and disc drive using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100546377B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101535500B1 (en) * | 2013-03-28 | 2015-07-09 | 아토리서치(주) | Speculative platform system for financial trading and the method |
-
2003
- 2003-09-05 KR KR1020030062183A patent/KR100546377B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050024935A (en) | 2005-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4733400B2 (en) | Automatic data update method in data storage system and disk drive using the same | |
US20050182951A1 (en) | Method of securely erasing data and hard disk drive using the same | |
JP2006139902A (en) | Recording density varying method of data recording medium, disk drive using the same, setting method of recording density, and data recording method | |
US7193799B2 (en) | Apparatus and method of removing resonance frequency in system | |
US20060044659A1 (en) | Method and apparatus for magnetization test of write head in a disk drive | |
KR100555536B1 (en) | Method for controlling adaptive retry process in data storage system and disc drive using the same | |
KR100564573B1 (en) | Method for protecting data in data storage system and disc drive using the same | |
US20050015648A1 (en) | Disk storage apparatus capable of concurrently processing data streams | |
EP1396850B1 (en) | Method and apparatus for writing and inspecting servo information on disc drive | |
KR100604901B1 (en) | Method for performing recovery of reassign sectors in data storage system and disc drive using the same | |
KR100546377B1 (en) | Method for improving data transmission speed in data storage system and disc drive using the same | |
KR100524989B1 (en) | Method for improving retry process in data storage system and disc drive using the same | |
KR100594249B1 (en) | Method for controlling adaptive data access in data storage system and disc drive using the same | |
KR100594264B1 (en) | Method for controlling retry process in data storage system and disc drive using the same | |
KR100564624B1 (en) | Method for designing write and read frequency in data storage system and disk drive using the same | |
KR100699880B1 (en) | Method for managing track defect of maintenance cylinder in data storage system and disc drive using the same | |
KR100660842B1 (en) | Method for optimalizing channel parameter of harddisk drive and apparatus thterfor | |
KR20030021679A (en) | Dummy writing method and apparatus for improving a performance in a data storage system | |
KR100699877B1 (en) | Method for preserving data of the defect sector and disc drive using the same | |
KR100594261B1 (en) | Method for controlling continuously position of head in data storage device and disc drive using the same | |
KR20050082088A (en) | Method for controlling movement of head in data storage unit and disk drive using the same | |
KR100604832B1 (en) | Method for setting mater/slave mode in data storage unit and disk drive using the same | |
KR100640607B1 (en) | Method for controlling restoration from alarm state to normal state and disk drive using the same | |
KR100189927B1 (en) | Hard disk drive control device and method | |
JPH04360001A (en) | Erase method and device for helical scan recording |
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: 20100114 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |