[go: up one dir, main page]

KR20080010492A - Vendor unique command execution method and device - Google Patents

Vendor unique command execution method and device Download PDF

Info

Publication number
KR20080010492A
KR20080010492A KR1020060070505A KR20060070505A KR20080010492A KR 20080010492 A KR20080010492 A KR 20080010492A KR 1020060070505 A KR1020060070505 A KR 1020060070505A KR 20060070505 A KR20060070505 A KR 20060070505A KR 20080010492 A KR20080010492 A KR 20080010492A
Authority
KR
South Korea
Prior art keywords
command
sequence
controller
vendor unique
test sequence
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020060070505A
Other languages
Korean (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 KR1020060070505A priority Critical patent/KR20080010492A/en
Publication of KR20080010492A publication Critical patent/KR20080010492A/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/02Recording, reproducing, or erasing methods; Read, write or erase circuits therefor

Landscapes

  • Engineering & Computer Science (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

벤더 유니크 명령 수행 방법과 그 장치가 개시된다. 상기 벤더 유니크 명령 수행 방법은 하드디스크 드라이브에 구비된 컨트롤러가 호스트 시스템으로부터 호스트 인터페이스를 통하여 입력되는 명령 시퀀스를 수신하는 단계, 상기 컨트롤러가 수신된 상기 명령 시퀀스가 벤더 유니크 명령을 수행하기 위한 명령 시퀀스인지를 상기 컨트롤러에 저장된 테스트 시퀀스와 비교하는 단계, 및 비교결과 상기 명령 시퀀스가 벤더 유니크 명령을 수행하기 위한 명령 시퀀스인 경우 상기 컨트롤러가 상기 명령 시퀀스에 포함된 데이터를 벤더 유니크 명령으로 인식하는 단계를 구비한다.Disclosed are a vendor unique command execution method and apparatus. The vendor unique command execution method may include receiving a command sequence input by a controller provided in a hard disk drive through a host interface from a host system, and whether the command sequence received by the controller is a command sequence for performing a vendor unique command. Comparing the test sequence with a test sequence stored in the controller, and when the comparison result is a command sequence for performing a vendor unique command, the controller recognizes data included in the command sequence as a vendor unique command. do.

Description

벤더 유니크 명령 수행방법 및 그 장치{Method for processing vender unique command and apparatus thereof}Method for processing vender unique command and apparatus

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다. The detailed description of each drawing is provided in order to provide a thorough understanding of the drawings cited in the detailed description of the invention.

도 1은 본 발명의 실시예에 따른 하드디스크 드라이브 중 컨트롤러와 호스트 인터페이스를 나타내는 기능 블록도이다.1 is a functional block diagram illustrating a controller and a host interface in a hard disk drive according to an exemplary embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 벤더 유니크 명령 수행 방법의 플로우 챠트를 나타낸다.2 is a flowchart of a vendor unique instruction execution method according to an embodiment of the present invention.

본 발명은 벤더 유니크 명령을 수행하는 방법과 그 장치에 관한 것으로, 보다 상세하게는 호스트 시스템의 OS(operating system)에서 지원하는 명령만을 사용하여 벤더 유니크 명령을 수행할 수 있도록 하는 방법과 그 장치에 관한 것이다.The present invention relates to a method and apparatus for performing a vendor unique command, and more particularly, to a method and apparatus for enabling a vendor unique command to be executed using only a command supported by an operating system (OS) of a host system. It is about.

벤더 유니크 명령은 디바이스(예컨대, 하드디스크 드라이브)의 각 제작자가 자체의 어플리케이션(application) 또는 고유의 목적을 달성하기 위해 제공하는 각종 명령들로서 주로 디바이스 자체의 성능을 테스트하거나 업그레이드(up-grade)등 을 위해 사용된다.Vendor unique commands are various commands provided by each manufacturer of a device (eg, a hard disk drive) to achieve its own application or a specific purpose, and mainly test or upgrade the performance of the device itself. Used for

이러한 벤더 유니크 명령을 수행하기 위한 방법으로는 각 제작자가 작성한 자체의 어플리케이션을 별도로 이용하거나 상기 벤더 유니크 명령을 수행하기 위하여 별도의 추가적인 동작이 필요하게 되었다. 이는 호스트 시스템이 멀티 태스킹(multi tasking) 환경의 OS를사용함으로써 하드디스크 드라이브의 잘못된 사용이 다른 작업(task)에 치명적인 문제를 야기할 수 있으므로, OS가 하드디스크 드라이브로 보내는 명령에 제한을 두고 있기 때문이다.As a method for executing the vendor unique command, a separate additional operation is required to separately use an application written by each manufacturer or to execute the vendor unique command. This limits the commands that the OS sends to the hard disk drive because the host system uses the OS in a multi tasking environment, so misuse of the hard disk drive can cause fatal problems for other tasks. Because.

예컨대, 종래의 하드 디스크 드라이브의 펌웨어(firmware)를 업데이트 하기 위해서는 싱글 유저(single user)환경인 DOS 및 필요로 하는 프로그램을 플로피(floppy) 디스켓에 저장하고 상기 플로피 디스켓을 이용해서 호스트 시스템을 부팅하여 상기 필요로 하는 프로그램을 구동시켰다. 또는, Window™에 스페셜 디바이스 드라이버(Special device driver)를 만들어서 사용한 후 제거하는 방법을 사용하였다. For example, in order to update the firmware of a conventional hard disk drive, DOS, a single user environment, and a required program are stored in a floppy diskette, and the host system is booted using the floppy diskette. The required program was run. Or, a special device driver was created in Window ™, and then used.

DOS를 이용하는 방법은 플로피 드라이버가 장착되어 있지 않은 환경에서는 사용하기 어렵고, 또한 최근의 OS들은 DOS를 제공하지 않는 경우도 있어서 문제점이 있다. 또한, 스페셜 디바이스 드라이버를 사용하는 방법은 업체마다 다른 스페셜 디바이스 드라이버를 만들어야 하고 잠깐 동안의 사용을 위해서 인스톨/언인스톨(install/uninstall) 과정이 필요하므로 불편하다.The method of using DOS is difficult to use in an environment without a floppy driver, and recent OSs have a problem in that they do not provide DOS. In addition, the method of using a special device driver is inconvenient because a company needs to make a special device driver differently and requires an install / uninstall process for a short time.

그러므로, 일반적인 OS 환경에서 간편하게 벤더 유니크 명령을 수행할 수 있는 방법이 절실히 요구된다.Therefore, there is an urgent need for a method that can easily perform vendor unique commands in a general OS environment.

따라서 본 발명이 이루고자 하는 기술적인 과제는 일반적인 OS 환경에서 간편하게 벤더 유니크 명령을 수행할 수 있는 방법과 장치를 제공하는 것이다.Accordingly, the technical problem to be achieved by the present invention is to provide a method and apparatus for easily performing a vendor unique command in a general OS environment.

상기 기술적 과제를 달성하기 위한 벤더 유니크 명령 수행방법은 하드디스크 드라이브에 구비된 컨트롤러가 호스트 시스템으로부터 호스트 인터페이스를 통하여 입력되는 명령 시퀀스를 수신하는 단계, 상기 컨트롤러가 수신된 상기 명령 시퀀스가 벤더 유니크 명령을 수행하기 위한 명령 시퀀스인지를 상기 컨트롤러에 저장된 테스트 시퀀스와 비교하는 단계, 및 비교결과 상기 명령 시퀀스가 벤더 유니크 명령을 수행하기 위한 명령 시퀀스인 경우 상기 컨트롤러가 상기 명령 시퀀스에 포함된 데이터를 벤더 유니크 명령으로 인식하는 단계를 구비한다.A method for performing a vendor unique command for achieving the technical problem includes receiving a command sequence input by a controller provided in a hard disk drive through a host interface from a host system, wherein the command sequence received by the controller is configured to perform a vendor unique command. Comparing a test sequence stored in the controller with a test sequence stored in the controller; and when the comparison result is a command sequence for executing a vendor unique command, the controller may compare data included in the command sequence to a vendor unique command. Recognizing step.

상기 테스트 시퀀스는 읽기 명령 또는 쓰기 명령 중에서 적어도 하나로 구성될 수 있다.The test sequence may include at least one of a read command and a write command.

상기 테스트 시퀀스의 마지막 명령은 쓰기 명령일 수 있다.The last command of the test sequence may be a write command.

상기 벤더 유니크 명령으로 인식되는 상기 명령 시퀀스에 포함된 데이터는 상기 마지막 명령인 상기 쓰기 명령의 섹터 카운터에 상응하는 섹터에 기록될 수 있다.Data included in the command sequence recognized as the vendor unique command may be recorded in a sector corresponding to a sector counter of the write command which is the last command.

상기 컨트롤러에 저장된 테스트 시퀀스와 비교하는 단계는 상기 컨트롤러가 상기 명령 시퀀스의 n 번째 명령과 상기 테스트 시퀀스의 m 번째 명령을 비교하는 단계, 비교결과 같은 경우에는 상기 컨트롤러는 상기 명령 시퀀스의 (n+1) 번째 명 령과 상기 테스트 시퀀스의 (m+1) 번째 명령을 비교하고, 비교결과 같지 않은 경우에는 상기 컨트롤러는 상기 n 번째 명령을 정상적인 명령으로 처리하여 수행하고 상기 명령 시퀀스의 (n+1) 번째 명령과 상기 테스트 시퀀스의 1번째 명령을 비교하는 단계를 구비할 수 있다.Comparing with the test sequence stored in the controller, the controller compares the n-th command of the command sequence and the m-th command of the test sequence, if the comparison result is equal to (n + 1) of the command sequence ) Th command is compared with the (m + 1) th command of the test sequence, and if it is not the same as the result of the comparison, the controller processes the nth command as a normal command and executes (n + 1) of the command sequence. And comparing the first command with the first command of the test sequence.

상기 컨트롤러에 저장된 테스트 시퀀스와 비교하는 단계는 상기 섹터 카운터에 상응하는 섹터의 첫번째 섹터에 저장된 데이터를 상기 컨트롤러에 저장된 소정의 포맷과 비교하는 단계를 포함할 수 있다.The comparing with the test sequence stored in the controller may include comparing data stored in the first sector of the sector corresponding to the sector counter with a predetermined format stored in the controller.

상기 기술적 과제를 달성하기 위한 하드 디스크 드라이브는 호스트 시스템으로부터 출력되는 명령시퀀스를 수신하는 호스트 인터페이스 및 상기 호스트 인터페이스로부터 출력되는 상기 명령시퀀스를 수신하는 컨트롤러를 구비하며, 상기 컨트롤러는 수신된 상기 명령 시퀀스가 벤더 유니크 명령을 수행하기 위한 명령 시퀀스인지를 상기 컨트롤러에 저장된 테스트 시퀀스와 비교하고, 입력된 상기 명령 시퀀스가 상기 벤더 유니크 명령을 수행하기 위한 상기 명령 시퀀스인 경우 상기 컨트롤러가 상기 명령 시퀀스에 포함된 데이터를 상기 벤더 유니크 명령으로 인식한다.In order to accomplish the above technical problem, a hard disk drive includes a host interface for receiving a command sequence output from a host system and a controller for receiving the command sequence output from the host interface, wherein the controller is configured to receive the command sequence. Compare the test sequence stored in the controller with a test sequence for executing a vendor unique command, and if the inputted command sequence is the command sequence for performing the vendor unique command, the controller includes data included in the command sequence. Is recognized as the vendor unique command.

상기 컨트롤러는 상기 명령 시퀀스의 쓰기 명령의 쓰기 데이터에 포함된 데이터에 기초하여 상기 벤더 유니크 명령으로 인식하는 하드디스크 드라이브.And the controller recognizes the vendor unique command based on data included in write data of a write command of the command sequence.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings which illustrate preferred embodiments of the present invention and the contents described in the accompanying drawings.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.

도 1은 본 발명의 실시예에 따른 하드디스크 드라이브의 기능 블록도이다.1 is a functional block diagram of a hard disk drive according to an embodiment of the present invention.

도 1을 참조하면, 하드디스크 드라이브(100)는 컨트롤러(110) 및 호스트 인터페이스(120)를 구비한다. 물론 상기 하드디스크 드라이브(100)는 다수의 데이터 저장 매체들(예컨대, 자기 디스크들), 스핀들 모터, 다수의 자기 헤드들, 보이스 코일 모터(Voice coil motor; VCM), 엑츄에이터, 전치 증폭기, 리드/라이트(Read/Write; R/W) 채널 회로, VCM 구동부, 스핀들 모터 구동부, 및 메모리 등을 더 구비할 수 있으나, 본 명세서에서는 설명의 편의를 위하여 상기 컨트롤러(110) 및 상기 호스트 인터페이스(120)를 중심으로 설명하며, 다른 구성요소에 대한 설명은 생략하기로 한다.Referring to FIG. 1, the hard disk drive 100 includes a controller 110 and a host interface 120. Of course, the hard disk drive 100 may include a plurality of data storage media (eg, magnetic disks), a spindle motor, a plurality of magnetic heads, a voice coil motor (VCM), an actuator, a preamplifier, a lead / A read / write (R / W) channel circuit, a VCM driver, a spindle motor driver, and a memory may be further provided. However, in the present specification, the controller 110 and the host interface 120 are provided for convenience of description. It will be described with reference to, and description of the other components will be omitted.

상기 호스트 인터페이스(120)는 호스트 시스템(예컨대, 컴퓨터)으로부터 출력되는 명령시퀀스를 수신한다. The host interface 120 receives a command sequence output from a host system (eg, a computer).

상기 컨트롤러(110)는 상기 호스트 인터페이스(120)로부터 출력되는 상기 명령시퀀스를 수신하고, 상기 명령 시퀀스에 상응하는 동작을 하기 위해 리드/라이트 채널회로(미도시), VCM 구동부(미도시), 스핀들 모터 구동부(미도시), 또는 메모리(미도시) 등을 제어하게 된다.The controller 110 receives the command sequence output from the host interface 120 and read / write channel circuits (not shown), VCM driver (not shown), and spindles to perform operations corresponding to the command sequences. The motor driver (not shown) or the memory (not shown) is controlled.

상기 컨트롤러(110)는 수신된 상기 명령 시퀀스가 벤더 유니크 명령을 수행하기 위한 명령 시퀀스인지를 상기 컨트롤러(110)에 저장된 테스트 시퀀스와 비교하고, 입력된 상기 명령 시퀀스가 상기 벤더 유니크 명령을 수행하기 위한 명령 시 퀀스인 경우 상기 컨트롤러(110)는 상기 명령 시퀀스에 포함된 데이터를 상기 벤더 유니크 명령으로 인식한다.The controller 110 compares whether the received command sequence is a command sequence for performing a vendor unique command with a test sequence stored in the controller 110, and the input command sequence is for executing the vendor unique command. In the case of the command sequence, the controller 110 recognizes the data included in the command sequence as the vendor unique command.

상기 명령 시퀀스를 상기 컨트롤러(110)에 저장된 테스트 시퀀스와 비교하는 방법을 도 2를 참조하여 설명하면 다음과 같다.A method of comparing the command sequence with the test sequence stored in the controller 110 will be described with reference to FIG. 2 as follows.

도 2는 본 발명의 실시예에 따른 벤더 유니크 명령 수행 방법의 플로우 챠트를 나타낸다.2 is a flowchart of a vendor unique instruction execution method according to an embodiment of the present invention.

도 1과 도 2를 참조하면, 상기 컨트롤러(110)는 호스트 시스템으로부터 출력되는 상기 명령 시퀀스 중 어느 하나의 명령을 상기 호스트 인터페이스(120)를 통하여 수신한다(S10).1 and 2, the controller 110 receives one command of the command sequence output from the host system through the host interface 120 (S10).

상기 어느 하나의 명령은 커맨드(예컨대, 리드(read)커맨드 또는 라이트(write)커맨드) 및 상기 커맨드에 필요한 파라미터(예컨대, LBA(logical block adress), 섹터 카운터 등)를 포함한다. The one command includes a command (eg, a read command or a write command) and a parameter (eg, a logical block adress (LBA), a sector counter, etc.) required for the command.

상기 컨트롤러(110)는 수신된 상기 어느 하나의 명령(예컨대, n(n은 자연수) 번째 명령)이 상기 테스트 시퀀스의 첫 번째 명령과 동일한지를 비교한다(S20). 상기 테스트 시퀀스에 포함된 명령은 가능하면 일반적인 하드디스크 드라이브 동작 환경에서 발생하지 않는 명령이면서도 상기 호스트 시스템의 OS가 상기 하드디스크 드라이브에 제한 없이 보낼수 있는 종류의 커맨드(예컨대, 리드커맨드 또는 라이트커맨드)인 것이 바람직하다. 즉, 상기 테스트 시퀀스에 포함된 각각의 명령이 일반적으로 하드디스크 드라이브 동작 환경에서 발생하지 않는 명령이고, 이러한 명령들을 적어도 하나 포함하는 명령 조합을 상기 테스트 시퀀스로 사용함으로써 입력 되는 명령 시퀀스가 벤더 유니크 명령을 수행하기 위한 명령 시퀀스인지, 일반적인 명령 시퀀스인지를 확실히 알 수 있게 되는 것이다.The controller 110 compares whether the received one command (eg, n (n is a natural number) th command) is equal to the first command of the test sequence (S20). The command included in the test sequence is a command that does not occur in a normal hard disk drive operating environment, but is a type of command (for example, a lead command or a light command) that the OS of the host system can send to the hard disk drive without restriction. It is preferable. That is, each command included in the test sequence is a command that generally does not occur in a hard disk drive operating environment, and a command sequence input by using a command combination including at least one of these commands as the test sequence is a vendor unique command. It is possible to know for sure whether it is a command sequence or a general command sequence.

도 2에서는 상기 테스트 시퀀스의 첫 번째 명령은 "Read 0x55ab, 1"이고 5개의 명령들의 조합을 상기 테스트 시퀀스가 포함하는 경우를 예를 들어 설명하지만, 본 발명의 권리범위가 이에 한정되는 것은 아니다. In FIG. 2, the first command of the test sequence is "Read 0x55ab, 1", and the test sequence includes a combination of five commands. For example, the scope of the present invention is not limited thereto.

수신된 상기 어느 하나의 명령이 상기 테스트 시퀀스의 첫 번째 명령과 동일하면 상기 컨트롤러(110)는 상기 어느 하나의 명령(n 번째 명령)의 다음 명령(n+1 번째 명령)과 상기 테스트 시퀀스의 두 번째 명령을 비교하게 된다(S30). 수신된 상기 어느 하나의 명령이 상기 테스트 시퀀스의 첫 번째 명령과 동일하지 않으면 상기 컨트롤러(110)는 상기 어느 하나의 명령(n번째 명령)을 일반적인 명령과 동일하게 수행하고, 다음 명령(n+1 번째 명령)을 수신하여 상기 테스트 시퀀스의 첫 번째 명령과 다시 비교하게 된다(S20).If the received one command is the same as the first command of the test sequence, the controller 110 determines whether the next command (n + 1th command) of the one command (nth command) and the test sequence are two. The first command is to be compared (S30). If the received one command is not the same as the first command of the test sequence, the controller 110 performs the one command (nth command) as a general command, and the next command (n + 1). The first command) is compared with the first command of the test sequence again (S20).

즉, 도 2에서는 상기 컨트롤러(110)는 LBA 0x55ab에서 1개의 섹터를 읽도록 VCM 구동부를 제어하게 되고, 다음 명령(n+1 번째 명령)을 수신하여 상기 테스트 시퀀스의 첫 번째 명령과 다시 비교하게 된다(S20).That is, in FIG. 2, the controller 110 controls the VCM driver to read one sector at LBA 0x55ab, and receives the next command (n + 1 th command) to compare it with the first command of the test sequence again. (S20).

상기 컨트롤러(110)는 상기 명령(n+1 번째 명령)과 상기 테스트 시퀀스의 두 번째 명령("Read 0x55aa, 1")을 비교하고(S30), 비교한 결과가 동일하면 다음 명령(n+2 번째 명령)과 상기 테스트 시퀀스의 세 번째 명령("Read 0x55ad, 1")을 비교하게 된다(S40). 상기 명령(n+1 번째 명령)과 상기 테스트 시퀀스의 두 번째 명령("Read 0x55aa, 1")을 비교한 결과(S30), 동일하지 않으면 상기 컨트롤러(110)는 수신된 상기 명령 시퀀스의 n 번째 명령부터 (n+1) 번째 명령을 순차적으로 수행하게 된다. 즉, 상기 첫 번째 비교결과(S20)가 동일하고, 두 번째 비교결과(S30)가 동일하지 않은 경우에는 상기 n 번째 명령은 수행된 적이 없으므로 순차적으로 n 번째 명령과 (n+1) 번째 명령을 수행하게 되는 것이다(S80).The controller 110 compares the command (n + 1 th command) with the second command of the test sequence ("Read 0x55aa, 1") (S30). If the comparison result is the same, the next command (n + 2) The first command) and the third command of the test sequence ("Read 0x55ad, 1") are compared (S40). As a result of comparing the command (n + 1 th command) with the second command ("Read 0x55aa, 1") of the test sequence (S30), if not the same, the controller 110 receives the nth order of the received command sequence. Command (n + 1) th command will be executed sequentially. That is, when the first comparison result (S20) is the same and the second comparison result (S30) is not the same, the nth command has not been performed, so the nth command and the (n + 1) th command are sequentially executed. Will be performed (S80).

상기 컨트롤러(110)는 상기 명령(n+2 번째 명령)과 상기 테스트 시퀀스의 세 번째 명령("Read 0x55ad, 1")을 비교하고(S40), 비교한 결과가 동일하면 다음 명령(n+3 번째 명령)과 상기 테스트 시퀀스의 네 번째 명령("Read 0x55ac, 1")을 비교하게 된다(S50). 상기 명령(n+2 번째 명령)과 상기 테스트 시퀀스의 세 번째 명령("Read 0x55ad, 1")을 비교한 결과(S40), 동일하지 않으면 상기 컨트롤러(110)는 수신된 상기 명령 시퀀스의 n 번째 명령부터 (n+2) 번째 명령을 순차적으로 수행하게 된다(S80). The controller 110 compares the command (n + 2th command) and the third command (“Read 0x55ad, 1”) of the test sequence (S40). If the comparison result is the same, the next command (n + 3) The first command) and the fourth command of the test sequence ("Read 0x55ac, 1") are compared (S50). As a result of comparing the command (n + 2 th command) with the third command ("Read 0x55ad, 1") of the test sequence (S40), if not the same, the controller 110 receives the nth of the received command sequence. The (n + 2) th command is sequentially executed from the command (S80).

상기 컨트롤러(110)는 상기 명령(n+3 번째 명령)과 상기 테스트 시퀀스의 네 번째 명령("Read 0x55ac, 1")을 비교하고(S50), 비교한 결과가 동일하면 다음 명령(n+4 번째 명령)과 상기 테스트 시퀀스의 다섯 번째 명령("Write 0x55aa")을 비교하게 된다(S60). 상기 명령(n+3 번째 명령)과 상기 테스트 시퀀스의 네 번째 명령("Read 0x55ac, 1")을 비교한 결과(S50), 동일하지 않으면 상기 컨트롤러(110)는 수신된 상기 명령 시퀀스의 n 번째 명령부터 (n+3) 번째 명령을 순차적으로 수행하게 된다(S80).The controller 110 compares the command (n + 3th command) with the fourth command of the test sequence ("Read 0x55ac, 1") (S50). If the comparison result is the same, the next command (n + 4) Th command) and the fifth command of the test sequence ("Write 0x55aa") are compared (S60). As a result of comparing the command (n + 3 th command) and the fourth command ("Read 0x55ac, 1") of the test sequence (S50), if not the same, the controller 110 receives the nth of the received command sequence. The command (n + 3) th order is performed sequentially (S80).

상기 컨트롤러(110)는 상기 (n+4) 번째 명령(예컨대, "Write 0x55aa, sector counter")의 일부(예컨대, "Write 0x55aa")가 상기 테스트 시퀀스의 다섯 번째 명 령("Write 0x55aa")과 동일하면(S60) 상기 (n+4) 번째 명령의 나머지 부분(sector counter)에 기초하여 벤더 유니크 명령을 수행하게 된다(S90). 즉, 상기 테스트 시퀀스의 마지막 명령이 라이트 명령인 경우에는 라이트 커맨드(Write)와 LBA는 상기 (n+4)번째 명령과 비교를 수행할 때 사용되고, 수신된 명령(n+4번째 명령)에 포함되는 쓰기 데이터(write data)는 실행할 벤더 유니크 명령에 관한 데이터를 포함하게 된다.The controller 110 may determine that a portion of the (n + 4) th command (eg, “Write 0x55aa, sector counter”) (eg, “Write 0x55aa”) is the fifth command of the test sequence (“Write 0x55aa”). If it is equal to (S60) to perform a vendor unique command based on the remainder (sector counter) of the (n + 4) th command (S90). That is, when the last command of the test sequence is a write command, the write command and the LBA are used when performing the comparison with the (n + 4) th command and included in the received command (n + 4th command). The write data to be included includes data regarding vendor unique instructions to be executed.

또한, 상기 (n+4) 번째 명령의 나머지 부분(sector counter)에 기초하여 한번더 상기 명령 시퀀스가 상기 벤더 유니크 명령을 수행하기 위한 명령 시퀀스인지를 판단할 수도 있다(S70). In addition, it may be determined whether the command sequence is a command sequence for performing the vendor unique command once again based on the remaining counter of the (n + 4) th command (S70).

예컨대, 상기 섹터 카운터(sector counter)에 상응하는 섹터의 첫 번째 섹터에 저장된 데이터를 상기 컨트롤러(110)에 저장된 소정의 포맷(format)과 비교할 수 있다. For example, data stored in the first sector of a sector corresponding to the sector counter may be compared with a predetermined format stored in the controller 110.

상기 컨트롤러(110)에 저장된 소정의 포맷(format)이 벤더 유니크 포맷인The predetermined format stored in the controller 110 is a vendor unique format.

WORD 0,1 : CommandWORD 0,1: Command

WORD 2,3,4,5 : LBAWORD 2,3,4,5: LBA

WORD 6,7 : CounterWORD 6,7: Counter

WORD 8,9 : OptionWORD 8,9: Option

WORD 10~25 : passkeyWORD 10 ~ 25: passkey

WORD 255 : ChecksumWORD 255: Checksum

이라고 한다면, 상기 (n+4) 번째 명령의 첫 번째 섹터의 데이터와 상기 포맷 을 비교하여, 상기 포맷과 상기 첫 번째 섹터의 데이터의 포맷이 일치하는 경우에는 두 번째 섹터의 데이터는 상기 첫 번째 섹터에 상응하는 벤더 유니크 명령의 데이터로 사용하게 된다. 상기 소정의 포맷은 벤더(vendor)마다 다를 수 있다. 상기의 포맷은 일실시예에 불과하고, 본 발명의 권리범위가 이에 한정되지는 않는다.In this case, the data of the first sector of the (n + 4) th command is compared with the format, and if the format of the format and the data of the first sector are identical, the data of the second sector is the first sector. It is used as the data of the vendor unique instruction corresponding to the. The predetermined format may vary from vendor to vendor. The above format is merely an example, and the scope of the present invention is not limited thereto.

상기 테스트 시퀀스는 도 2에 도시된 바와 같이 리드(읽기) 명령 및/또는 라이트(쓰기) 명령 만으로 구성될 수 있다.As illustrated in FIG. 2, the test sequence may include only a read (read) command and / or a write (write) command.

또한, 상기 테스트 시퀀스의 마지막 명령은 수행하고자 하는 벤더 유니크 명령 및 상기 벤더 유니크 명령에 필요한 데이터를 포함할 수 있는 명령(예컨대, 쓰기명령)인 것이 바람직하다.Also, the last command of the test sequence may be a vendor unique command to be executed and a command (eg, a write command) that may include data required for the vendor unique command.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

상술한 바와 같이 본 발명에 따른 벤더 유니크 명령 수행 방법 및 그 장치는 모든 OS가 지원하는 명령만을 사용하여 하드디스크 드라이브에 벤더 유니크한 명령을 보낼 수 있도록 함으로써, Window™, Linux™ 등과 같은 OS상에서 플로피 디스크, DOS, 디바이스 드라이버 없이도 직접 하드 디스크 드라이브에 벤더 유니크한 명령을 보낼 수 있는 효과가 있다.As described above, the method and apparatus for performing a vendor unique command according to the present invention allow a vendor unique command to be sent to a hard disk drive using only commands supported by all operating systems, thereby providing a floppy on an OS such as Window ™ or Linux ™. This allows you to send vendor-unique commands directly to your hard disk drive without the need for disks, DOS, or device drivers.

Claims (8)

하드디스크 드라이브에 구비된 컨트롤러가 호스트 시스템으로부터 호스트 인터페이스를 통하여 입력되는 명령 시퀀스를 수신하는 단계;Receiving a command sequence input from the host system via a host interface, the controller provided in the hard disk drive; 상기 컨트롤러가 수신된 상기 명령 시퀀스가 벤더 유니크 명령을 수행하기 위한 명령 시퀀스인지를 상기 컨트롤러에 저장된 테스트 시퀀스와 비교하는 단계; 및 Comparing, by the controller, whether the received command sequence is a command sequence for executing a vendor unique command with a test sequence stored in the controller; And 비교결과 상기 명령 시퀀스가 벤더 유니크 명령을 수행하기 위한 명령 시퀀스인 경우 상기 컨트롤러가 상기 명령 시퀀스에 포함된 데이터를 벤더 유니크 명령으로 인식하는 단계를 구비하는 벤더 유니크 명령 수행방법.And comparing, by the controller, data included in the command sequence as a vendor unique command when the command sequence is a command sequence for performing a vendor unique command. 제1항에 있어서,The method of claim 1, 상기 테스트 시퀀스는 읽기 명령 또는 쓰기 명령 중에서 적어도 하나로 구성된 시퀀스인 벤더 유니크 명령 수행방법.And the test sequence is a sequence consisting of at least one of a read command and a write command. 제1항에 있어서,The method of claim 1, 상기 테스트 시퀀스의 마지막 명령은 쓰기 명령인 벤더 유니크 명령 수행방법.And a last command of the test sequence is a write command. 제3항에 있어서,The method of claim 3, 상기 벤더 유니크 명령으로 인식되는 상기 명령 시퀀스에 포함된 데이터는,The data included in the command sequence recognized as the vendor unique command, 상기 마지막 명령인 상기 쓰기 명령의 섹터 카운터에 상응하는 섹터에 기록된 벤더 유니크 명령 수행방법.And a vendor unique command recorded in a sector corresponding to a sector counter of the last command being the last command. 제1항에 있어서, 상기 컨트롤러에 저장된 테스트 시퀀스와 비교하는 단계는,The method of claim 1, wherein the comparing with the test sequence stored in the controller comprises: 상기 컨트롤러가 상기 명령 시퀀스의 n 번째 명령과 상기 테스트 시퀀스의 m 번째 명령을 비교하는 단계;The controller comparing the n th command of the command sequence with the m th command of the test sequence; 비교결과 같은 경우에는 상기 컨트롤러는 상기 명령 시퀀스의 (n+1) 번째 명령과 상기 테스트 시퀀스의 (m+1) 번째 명령을 비교하고, 비교결과 같지 않은 경우에는 상기 컨트롤러는 상기 n 번째 명령을 정상적인 명령으로 처리하여 수행하고 상기 명령 시퀀스의 (n+1) 번째 명령과 상기 테스트 시퀀스의 1번째 명령을 비교하는 단계를 구비하는 벤더 유니크 명령 수행방법.In the case of a comparison result, the controller compares the (n + 1) th command of the command sequence with the (m + 1) th command of the test sequence. And performing the processing as an instruction and comparing the (n + 1) th instruction of the instruction sequence with the first instruction of the test sequence. 제4항에 있어서, 상기 컨트롤러에 저장된 테스트 시퀀스와 비교하는 단계는,The method of claim 4, wherein the comparing with the test sequence stored in the controller comprises: 상기 섹터 카운터에 상응하는 섹터의 첫번째 섹터에 저장된 데이터를 상기 컨트롤러에 저장된 소정의 포맷과 비교하는 단계를 포함하는 벤더 유니크 명령 수행방법.And comparing the data stored in the first sector of the sector corresponding to the sector counter with a predetermined format stored in the controller. 호스트 시스템으로부터 출력되는 명령시퀀스를 수신하는 호스트 인터페이스; 및A host interface for receiving a command sequence output from the host system; And 상기 호스트 인터페이스로부터 출력되는 상기 명령시퀀스를 수신하는 컨트롤러를 구비하는 하드디스크 드라이브에 있어서,A hard disk drive having a controller for receiving the command sequence output from the host interface, 상기 컨트롤러는 수신된 상기 명령 시퀀스가 벤더 유니크 명령을 수행하기 위한 명령 시퀀스인지를 상기 컨트롤러에 저장된 테스트 시퀀스와 비교하고, 입력된 상기 명령 시퀀스가 상기 벤더 유니크 명령을 수행하기 위한 명령 시퀀스인 경우 상기 컨트롤러가 상기 명령 시퀀스에 포함된 데이터를 상기 벤더 유니크 명령으로 인식하는 하드디스크 드라이브.The controller compares whether the received command sequence is a command sequence for executing a vendor unique command with a test sequence stored in the controller, and if the input command sequence is a command sequence for performing the vendor unique command, the controller Hard disk drive for recognizing data included in the command sequence as the vendor unique command. 제 7항에 있어서, 상기 컨트롤러는 The method of claim 7, wherein the controller 상기 명령 시퀀스의 쓰기 명령의 쓰기 데이터에 포함된 데이터에 기초하여 상기 벤더 유니크 명령으로 인식하는 하드디스크 드라이브.And a hard disk drive recognizing the vendor unique command based on data included in write data of a write command of the command sequence.
KR1020060070505A 2006-07-27 2006-07-27 Vendor unique command execution method and device Ceased KR20080010492A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060070505A KR20080010492A (en) 2006-07-27 2006-07-27 Vendor unique command execution method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060070505A KR20080010492A (en) 2006-07-27 2006-07-27 Vendor unique command execution method and device

Publications (1)

Publication Number Publication Date
KR20080010492A true KR20080010492A (en) 2008-01-31

Family

ID=39222477

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060070505A Ceased KR20080010492A (en) 2006-07-27 2006-07-27 Vendor unique command execution method and device

Country Status (1)

Country Link
KR (1) KR20080010492A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10168958B2 (en) * 2016-08-02 2019-01-01 Canon Kabushiki Kaisha Information processing system, method in information processing system, and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10168958B2 (en) * 2016-08-02 2019-01-01 Canon Kabushiki Kaisha Information processing system, method in information processing system, and storage medium

Similar Documents

Publication Publication Date Title
KR101087431B1 (en) Automatic execution method using semiconductor storage device
US8380922B1 (en) Data storage device comprising host interface state machine blocking on target logical block address
CN103502933B (en) Dynamically redirect boot to another operating system
US20010039612A1 (en) Apparatus and method for fast booting
US20080091874A1 (en) System and method for loading programs from hdd independent of operating system
US6418541B1 (en) Method of testing computer system with hard disk
US8266611B2 (en) Hard disk drive with disk embedded DOS boot image and firmware download method
TWI450194B (en) Method and system for processing operating system, computer readable storage medium storing the method
CN108459823B (en) An operating system installation method and device
JP2003005973A (en) Method and device and program for multi-machine network install using writeable media
CN104536788B (en) Make the system and method for the installation automation of application
US8661237B2 (en) System and method for booting a plurality of servers from a shared boot image stored on a USB boot image sharer
US20170109175A1 (en) Selective loading of components within a node to speed up maintenance actions
JP2000222179A (en) Computer system and method for operating computer system
CN103294578B (en) Method for obtaining instruction of triggering function
JP5985529B2 (en) Apparatus, method and device for rapid resumption from hibernation
TW201504937A (en) Virtual storage devices formed by selected partitions of a physical storage device
US20130097412A1 (en) Performing A Boot Sequence In A Multi-Processor System
US7849300B2 (en) Method for changing booting sources of a computer system and a related backup/restore method thereof
JP5063587B2 (en) Configuring devices to use information from the device table
KR20080010492A (en) Vendor unique command execution method and device
US20090210589A1 (en) Dynamic Vital Product Data Update Based on an Installed Feature Card
KR101110715B1 (en) Method and apparatus to control booting a system
KR100425285B1 (en) Monitor driver install method and recording medium recorded the same method
US20060080518A1 (en) Method for securing computers from malicious code attacks

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20060727

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20071026

Patent event code: PE09021S01D

PG1501 Laying open of application
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20080410

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20071026

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I