KR100688523B1 - Hard disk drive and method for reading data - Google Patents

Hard disk drive and method for reading data Download PDF

Info

Publication number
KR100688523B1
KR100688523B1 KR1020050005069A KR20050005069A KR100688523B1 KR 100688523 B1 KR100688523 B1 KR 100688523B1 KR 1020050005069 A KR1020050005069 A KR 1020050005069A KR 20050005069 A KR20050005069 A KR 20050005069A KR 100688523 B1 KR100688523 B1 KR 100688523B1
Authority
KR
South Korea
Prior art keywords
pattern
read
host
data
detected
Prior art date
Application number
KR1020050005069A
Other languages
Korean (ko)
Other versions
KR20060084270A (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 KR1020050005069A priority Critical patent/KR100688523B1/en
Publication of KR20060084270A publication Critical patent/KR20060084270A/en
Application granted granted Critical
Publication of KR100688523B1 publication Critical patent/KR100688523B1/en

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F41WEAPONS
    • F41BWEAPONS FOR PROJECTING MISSILES WITHOUT USE OF EXPLOSIVE OR COMBUSTIBLE PROPELLANT CHARGE; WEAPONS NOT OTHERWISE PROVIDED FOR
    • F41B11/00Compressed-gas guns, e.g. air guns; Steam guns
    • F41B11/70Details not provided for in F41B11/50 or F41B11/60
    • F41B11/71Electric or electronic control systems, e.g. for safety purposes
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F41WEAPONS
    • F41BWEAPONS FOR PROJECTING MISSILES WITHOUT USE OF EXPLOSIVE OR COMBUSTIBLE PROPELLANT CHARGE; WEAPONS NOT OTHERWISE PROVIDED FOR
    • F41B11/00Compressed-gas guns, e.g. air guns; Steam guns
    • F41B11/50Magazines for compressed-gas guns; Arrangements for feeding or loading projectiles from magazines
    • F41B11/57Electronic or electric systems for feeding or loading
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F41WEAPONS
    • F41BWEAPONS FOR PROJECTING MISSILES WITHOUT USE OF EXPLOSIVE OR COMBUSTIBLE PROPELLANT CHARGE; WEAPONS NOT OTHERWISE PROVIDED FOR
    • F41B11/00Compressed-gas guns, e.g. air guns; Steam guns
    • F41B11/60Compressed-gas guns, e.g. air guns; Steam guns characterised by the supply of compressed gas
    • F41B11/68Compressed-gas guns, e.g. air guns; Steam guns characterised by the supply of compressed gas the gas being pre-compressed before firing
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F41WEAPONS
    • F41BWEAPONS FOR PROJECTING MISSILES WITHOUT USE OF EXPLOSIVE OR COMBUSTIBLE PROPELLANT CHARGE; WEAPONS NOT OTHERWISE PROVIDED FOR
    • F41B11/00Compressed-gas guns, e.g. air guns; Steam guns
    • F41B11/70Details not provided for in F41B11/50 or F41B11/60
    • F41B11/72Valves; Arrangement of valves

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 하드 디스크로부터 효율적으로 데이터를 독출하는 방법에 관한 것으로, 본 발명에 따른 데이터 독출 방법은 호스트의 운영 체계의 종류 또는 파일 시스템의 종류에 따라서 호스트로부터 전송될 커맨드들의 패턴을 검출하고, 패턴 검출 여부에 기초하여 디스크 상에서 독출이 예상되는 영역을 결정하고, 결정된 영역에서 검출된 패턴에 해당하는 독출을 수행함으로써, 호스트의 운영 체계의 종류 또는 파일 시스템의 종류에 따라서 적합한 일률적인 캐시 알고리즘을 적용하여 하드 디스크로부터의 데이터 독출을 수행할 수 있다.The present invention relates to a method for efficiently reading data from a hard disk. The data reading method according to the present invention detects a pattern of commands to be transmitted from a host according to a type of an operating system of a host or a type of a file system. By determining an area to be read on the disk based on whether the pattern is detected and performing a read corresponding to the pattern detected in the determined area, a uniform cache algorithm suitable for the type of the operating system of the host or the type of the file system is obtained. Can be applied to read data from the hard disk.

Description

하드 디스크 드라이브 및 데이터 독출 방법{Hard disk drive and method for reading data}Hard disk drive and method for reading data}

도 1은 종래의 하드 디스크 드라이브의 구성도이다.1 is a block diagram of a conventional hard disk drive.

도 2는 본 발명의 바람직한 일 실시예에 따른 하드 디스크 드라이브의 구성도이다.2 is a block diagram of a hard disk drive according to an embodiment of the present invention.

도 3은 본 발명의 바람직한 일 실시예에 따른 디스크 독출 방법의 흐름도이다.3 is a flowchart of a disc reading method according to an exemplary embodiment of the present invention.

본 발명은 하드 디스크 드라이브에 관한 것으로써, 특히 하드 디스크로부터 효율적으로 데이터를 독출하는 방법에 관한 것이다.The present invention relates to a hard disk drive, and more particularly, to a method for efficiently reading data from a hard disk.

도 1은 종래의 하드 디스크 드라이브의 구성도이다.1 is a block diagram of a conventional hard disk drive.

도 1을 참조하면, 본 실시예에 따른 하드 디스크 드라이브(12)는 ATA 인터페이스(121), 제어부(122), 독출부(123), 및 버퍼(124)로 구성된다.Referring to FIG. 1, the hard disk drive 12 according to the present exemplary embodiment includes an ATA interface 121, a controller 122, a reader 123, and a buffer 124.

ATA 인터페이스(121)는 ATA 규격에 따라 호스트(11)의 운영 체계 또는 파일 시스템과 하드 디스크 드라이브(12)를 연결한다. 파일 시스템은 파일에 명칭을 부 여하고, 파일의 저장 또는 검색을 위한 논리적 위치를 결정하는 운영 체계의 일부분이다.The ATA interface 121 connects the hard disk drive 12 with an operating system or file system of the host 11 according to the ATA standard. The file system is the part of the operating system that names the file and determines the logical location for storing or retrieving the file.

제어부(122)는 ATA 인터페이스(221)를 경유하여 호스트(21)로부터 독출 섹터 커맨드(read sector command)를 수신하고, 수신된 독출 섹터 커맨드를 해석함으로써 독출하고자 하는 데이터의 시작 LBA(Logical Block Address) 및 크기를 파악한다. 또한, 제어부(222)는 이와 같이 파악된 시작 LBA 및 크기를 갖는 데이터가 버퍼(227)에 저장되어 있는 지를 확인하고, 만일 버퍼(227)에 해당 데이터가 저장되어 있는 것으로 확인된 경우에는 ATA 인터페이스(221)를 경유하여 호스트(21)로 버퍼(227)에 저장된 데이터를 전송한다. The control unit 122 receives a read sector command from the host 21 via the ATA interface 221 and interprets the received read sector command to start the data LBA (Logical Block Address). And size. In addition, the controller 222 checks whether the data having the start LBA and the size determined as described above is stored in the buffer 227, and if it is confirmed that the data is stored in the buffer 227, the ATA interface. The data stored in the buffer 227 is transmitted to the host 21 via the 221.

독출부(226)는 제어부(222)의 지시에 따라 제어부(222)에 의해 파악된 시작 LBA 및 크기에 해당하는 독출을 수행하고, 이와 같이 독출된 데이터를 버퍼(124)에 저장한다. 버퍼(227)는 디스크로부터 독출된 데이터를 일시적으로 저장한다.The read unit 226 performs a read corresponding to the start LBA and the size determined by the controller 222 according to the instruction of the controller 222, and stores the read data in the buffer 124. The buffer 227 temporarily stores data read from the disc.

상기된 바와 같이, 종래의 하드 디스크 드라이브(12)는 호스트(11)의 운영 체계 또는 파일 시스템과 무관하게 하드 디스크로부터 데이터를 독출한다. 즉, 종래의 하드 디스크 드라이브(12)는 호스트(11)의 운영 체계의 종류 또는 파일 시스템의 종류에 무관하게 일률적인 캐시 알고리즘을 적용하여 하드 디스크로부터의 데이터 독출을 수행함으로 인하여 데이터 독출 수행 과정이 비효율적이라는 문제점이 있었다. As described above, the conventional hard disk drive 12 reads data from the hard disk regardless of the operating system or file system of the host 11. That is, the conventional hard disk drive 12 performs a data read process by applying a uniform cache algorithm regardless of the operating system or file system of the host 11 to read data from the hard disk. There was a problem of inefficiency.

본 발명이 이루고자 하는 기술적 과제는 호스트의 운영 체계의 종류 또는 파 일 시스템의 종류에 따라서 적합한 일률적인 캐시 알고리즘을 적용하여 하드 디스크로부터의 데이터 독출을 수행하는 장치 및 방법을 제공하는데 있다. 또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다. An object of the present invention is to provide an apparatus and method for reading data from a hard disk by applying a uniform cache algorithm suitable for a host operating system or a file system. Further, the present invention provides a computer-readable recording medium having recorded thereon a program for executing the above method on a computer.

상기 기술적 과제를 해결하기 위한 본 발명에 따른 데이터 독출 방법은 호스트의 운영 체계의 종류 또는 파일 시스템의 종류에 따라서 상기 호스트로부터 전송될 커맨드들의 패턴을 검출하는 단계; 상기 패턴 검출 여부에 기초하여 디스크 상에서 독출이 예상되는 영역을 결정하는 단계; 및 상기 결정된 영역에서 상기 패턴에 해당하는 독출을 수행하는 단계를 포함한다. According to an aspect of the present invention, there is provided a data reading method, the method comprising: detecting a pattern of commands to be transmitted from the host according to a type of an operating system of a host or a type of a file system; Determining an area on the disc to be read based on whether the pattern is detected; And performing a read corresponding to the pattern in the determined region.

상기 다른 기술적 과제를 해결하기 위한 본 발명에 따른 하드 디스크 드라이브는 호스트의 운영 체계의 종류 또는 파일 시스템의 종류에 따라서 상기 호스트로부터 전송될 커맨드들의 패턴을 검출하는 패턴 검출부; 상기 패턴 검출 여부에 기초하여 디스크 상에서 독출이 예상되는 영역을 결정하는 예상 영역 결정부; 및 상기 결정된 영역에서 상기 패턴에 해당하는 독출을 수행하는 독출부를 포함한다. According to another aspect of the present invention, there is provided a hard disk drive including: a pattern detector configured to detect a pattern of commands to be transmitted from the host according to a type of an operating system of a host or a type of a file system; An expected area determiner configured to determine an area to be read on the disc based on whether the pattern is detected; And a reading unit which reads the pattern in the determined area.

상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 데이터 독출 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다. In order to solve the above further technical problem, the present invention provides a computer-readable recording medium having recorded thereon a program for executing the above-described data reading method on a computer.

이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 바람직한 일 실시예에 따른 하드 디스크 드라이브의 구성도이다.2 is a block diagram of a hard disk drive according to an embodiment of the present invention.

도 2를 참조하면, 본 실시예에 따른 하드 디스크 드라이브(22)는 ATA 인터페이스(221), 제어부(222), 패턴 검출부(223), 패턴 데이터베이스(224), 예상 영역 결정부(225), 독출부(226), 및 버퍼(227)로 구성된다.Referring to FIG. 2, the hard disk drive 22 according to the present embodiment may include an ATA interface 221, a controller 222, a pattern detector 223, a pattern database 224, a predicted area determiner 225, and a dock. It consists of an exit 226 and a buffer 227.

ATA 인터페이스(221)는 ATA 규격에 따라 호스트(21)의 운영 체계 또는 파일 시스템과 하드 디스크 드라이브(22)를 연결한다. 파일 시스템은 파일에 명칭을 부여하고, 파일의 저장 또는 검색을 위한 논리적 위치를 결정하는 운영 체계의 일부분이다.The ATA interface 221 connects the hard disk drive 22 with an operating system or file system of the host 21 according to the ATA standard. The file system is the part of the operating system that names the file and determines the logical location for storing or retrieving the file.

제어부(222)는 ATA 인터페이스(221)를 경유하여 호스트(21)로부터 독출 섹터 커맨드(read sector command)를 수신하고, 수신된 독출 섹터 커맨드를 해석함으로써 독출하고자 하는 데이터의 시작 LBA(Logical Block Address) 및 크기를 파악한다. 또한, 제어부(222)는 이와 같이 파악된 시작 LBA 및 크기를 갖는 데이터가 버퍼(227)에 저장되어 있는 지를 확인하고, 만일 버퍼(227)에 해당 데이터가 저장되어 있는 것으로 확인된 경우에는 ATA 인터페이스(221)를 경유하여 호스트(21)로 버퍼(227)에 저장된 데이터를 전송한다. The control unit 222 receives a read sector command from the host 21 via the ATA interface 221 and interprets the received read sector command to start the data LBA (Logical Block Address). And size. In addition, the controller 222 checks whether the data having the start LBA and the size determined as described above is stored in the buffer 227, and if it is confirmed that the data is stored in the buffer 227, the ATA interface. The data stored in the buffer 227 is transmitted to the host 21 via the 221.

특히, 본 실시예에 따른 제어부(222)는 디스크에 대한 독출을 나타내는 일련의 커맨드들 중 독출 섹터 커맨드만을 수신한 상태에서, 패턴 검출부(223)에 의해 독출 섹터 커맨드 이후에 전송될 커맨드들의 패턴이 검출되었다면, 패턴 검출부(223)에 의해 검출된 패턴에 해당하는 커맨드들을 수신했는지 여부에 무관하게, 독 출부(226)에 의해 독출된 데이터를 전송한다. In particular, the controller 222 according to the present exemplary embodiment receives a read sector command from among a series of commands indicating a read to the disc, and the pattern of the command to be transmitted after the read sector command is detected by the pattern detector 223. If detected, the data read by the reader 226 is transmitted regardless of whether or not commands corresponding to the pattern detected by the pattern detector 223 are received.

패턴 검출부(223)는 호스트(21)의 운영 체계의 종류 또는 파일 시스템의 종류에 따라서 제어부(222)에 수신된 독출 섹터 커맨드 이후에 전송될 커맨드들의 패턴을 검출한다. 대표적인 운영 체계로는 윈도우(Windows)와 리눅스(Linux)를 들 수 있고, 대표적인 파일 시스템으로는 FAT(File Allocation Table)와 NTFS(New Technology File System)를 들 수 있다. The pattern detector 223 detects a pattern of commands to be transmitted after the read sector command received by the controller 222 according to the type of the operating system of the host 21 or the type of the file system. Representative operating systems include Windows and Linux, and representative file systems include FAT (File Allocation Table) and NTFS (New Technology File System).

하드 디스크에 저장된 특정 파일에 접근하기 위하여, 운영 체계는 일반적으로 파일 정보 데이터베이스의 위치, 루트 폴더의 위치, 특정 파일이 저장된 폴더의 위치, 특정 파일의 순서로 검색한다. 그런데, 운영 체계의 종류에 상기된 파일의 접근 순서는 의존적이기 때문에 운영 체계에 따라서 적합한 캐시 알고리즘을 구현한다면 효율적인 데이터 독출을 수행할 수 있다.To access a specific file stored on the hard disk, the operating system generally searches in the order of the location of the file information database, the location of the root folder, the location of the folder where the particular file is stored, and the order of the particular file. However, since the access order of the files described above is dependent on the type of operating system, if a suitable cache algorithm is implemented according to the operating system, efficient data reading can be performed.

FAT의 파일 접근 과정은 다음과 같다. 먼저, 루트 폴더에서 파일의 위치 정보를 가지고 있는 파일 엔트리를 검색한다. 이어서, 파일 엔트리에 기록된 첫 번째 클러스터의 위치를 검색한다. 이어서, 파일 할당 테이블에서 첫 번째 클러스터에 해당하는 영역을 검색하고, 이 영역에 기록된 두 번째 클러스터의 위치를 검색한다. 이어서, 파일 할당 테이블에서 두 번째 클러스터에 해당하는 영역을 검색하고, 이 영역에 기록된 세 번째 클러스터의 위치를 검색한다. 상기된 과정을 파일의 끝을 만날 때까지 반복함으로써 파일의 모든 위치 정보를 수집할 수 있다.The file access process of the FAT is as follows. First, the file entry in the root folder containing the location information of the file is searched. Then, the position of the first cluster recorded in the file entry is retrieved. Then, the region corresponding to the first cluster is searched in the file allocation table, and the position of the second cluster recorded in this region is searched. Then, the area corresponding to the second cluster is searched in the file allocation table, and the position of the third cluster recorded in this area is searched. By repeating the above process until the end of the file, all the location information of the file can be collected.

NTFS의 파일 접근 과정은 다음과 같다. 먼저, 루트 폴더를 읽는다. 이어서, 인덱스 버퍼를 사용하면, 인덱스 버퍼에서 폴더 또는 파일을 검색하고, 인덱스 버 퍼를 사용하지 않는다면, 루트 폴더에서 폴더 또는 파일을 검색한다. 폴더를 검색한 경우라면, 다시 이 폴더를 읽고 상기된 과정을 파일의 끝을 만날 때까지 반복한다.NTFS file access process is as follows. First, read the root folder. Then, using an index buffer, search for a folder or file in the index buffer; otherwise, search for a folder or file in the root folder. If you searched for a folder, read this folder again and repeat the above process until you reach the end of the file.

상기된 바와 같이, 운영 체계의 종류 또는 파일 시스템의 종류에 따라서 파일의 접근 방식이 다름을 알 수 있다. 따라서, 디스크로부터 데이터를 독출할 때에 운영 체계들 또는 파일 시스템들이 동일한 독출 동작을 수행함에도 불구하고, 운영 체계의 종류 또는 파일 시스템의 종류에 따라 다른 커맨드들의 패턴을 갖게 된다.As described above, it can be seen that the access method of the file varies depending on the type of operating system or the type of file system. Thus, even when operating systems or file systems perform the same read operation when reading data from a disk, they have patterns of different commands depending on the type of operating system or the type of file system.

즉, 패턴 검출부(223)는 제어부(222)에 의해 해석된 독출 섹터 커맨드를 참조하여, 이 독출 섹터 커맨드 이후에 이어지는 커맨드들의 패턴을 데이터베이스(224)로부터 검출한다. 데이터베이스(224)는 운영 체계 각각의 커맨드 패턴들 및 파일 시스템 각각의 커맨드 패턴들을 저장하고 있다. 데이터베이스(224)는 다수의 커맨드들 각각 이후에 이어지는 커맨드들의 패턴들을 저장하고 있다.That is, the pattern detector 223 refers to the read sector command interpreted by the controller 222 and detects the pattern of the commands following the read sector command from the database 224. The database 224 stores command patterns of each operating system and command patterns of each of the file system. The database 224 stores patterns of commands that follow each of the plurality of commands.

예상 영역 결정부(225)는 패턴 검출부(223)에서 커맨드 패턴이 검출되면, 이 커맨드 패턴에 기초하여 디스크 상에서 데이터 독출이 예상되는 영역을 결정한다. 보다 상세하게 설명하면, 예상 영역 결정부(225)는 제어부(222)에 의해 파악된 크기에 패턴 검출부(223)에서 검출된 커맨드 패턴에 해당하는 크기를 가산함으로써 디스크 상에서 데이터 독출이 예상되는 영역을 결정한다. When the command pattern is detected by the pattern detector 223, the predicted area determiner 225 determines an area on which the data is expected to be read on the disk based on the command pattern. In more detail, the predicted area determiner 225 adds the size corresponding to the command pattern detected by the pattern detector 223 to the size determined by the controller 222 to determine an area where data is expected to be read on the disc. Decide

예를 들어, 파일 시스템이 FAT인 경우라면, 파일 엔트리에 기록된 클러스터의 위치를 검색하고, 파일 할당 테이블에서 이 클러스터에 해당하는 영역을 검색하는 과정이 계속적으로 반복될 것이다. 종래에는 호스트(21)로부터 커맨드를 수신할 때마다 클러스터의 위치 및 영역을 검색하였으나, 본 실시예에 따르면, 패턴 검출부(223)에서 검출된 커맨드 패턴에 기초하여 디스크 상에서 독출이 예상되는 영역을 미리 결정한다. 결국, 본 실시예에 따르면, 운영 체계의 종류 또는 파일 시스템의 종류에 따라서 적합한 캐시 알고리즘을 선택할 수 있게 된다. For example, if the file system is FAT, the process of searching for the location of the cluster recorded in the file entry and searching for the area corresponding to this cluster in the file allocation table will be repeated continuously. Conventionally, whenever a command is received from the host 21, the location and area of the cluster are searched. However, according to the present exemplary embodiment, the area on which the read is expected on the disc is based on the command pattern detected by the pattern detector 223 in advance. Decide As a result, according to the present embodiment, it is possible to select a suitable cache algorithm according to the type of operating system or the type of file system.

독출부(226)는 제어부(222)의 지시에 따라 예상 영역 결정부(225)에 의해 결정된 영역에서 패턴 검출부(223)에서 검출된 커맨드 패턴에 해당하는 독출을 수행한다. 보다 상세하게 설명하면, 독출부(226)는 패턴 검출부(223)에서 검출된 커맨드 패턴에 해당하는 커맨드들을 수신하지 않은 상태에서도 커맨드 패턴에 해당하는 독출을 수행하고, 이와 같이 독출된 데이터를 버퍼(227)에 미리 저장해 놓는다. 이에 따라, 제어부(222)는 호스트(21)로부터 커맨드 패턴에 해당하는 커맨드들을 수신하는 즉시, 버퍼(227)에 저장된 데이터를 호스트(21)에 제공할 수 있다. The read unit 226 performs a read corresponding to the command pattern detected by the pattern detector 223 in the area determined by the predicted area determiner 225 according to the instruction of the controller 222. In more detail, the read unit 226 performs a read corresponding to the command pattern even without receiving commands corresponding to the command pattern detected by the pattern detector 223, and stores the read data in the buffer ( 227). Accordingly, the controller 222 may provide data stored in the buffer 227 to the host 21 immediately after receiving commands corresponding to the command pattern from the host 21.

보다 상세하게 설명하면, 독출부(226)는 패턴 검출부(223)에서 커맨드 패턴이 검출된 경우에 제어부(222)에 의해 파악된 시작 LBA 및 예상 영역 결정부(225)에 의해 가산된 크기에 해당하는 독출을 수행하고, 이와 같이 독출된 데이터를 버퍼(227)에 저장한다. 또한, 독출부(226)는 패턴 검출부(223)에서 커맨드 패턴이 검출되지 않은 경우에는 제어부(222)에 의해 파악된 시작 LBA 및 크기에 해당하는 독출만을 수행하고, 이와 같이 독출된 데이터를 버퍼(227)에 저장한다. 버퍼(227)는 디스크로부터 독출된 데이터를 일시적으로 저장한다.In more detail, when the command pattern is detected by the pattern detector 223, the reader 226 corresponds to the starting LBA detected by the controller 222 and the size added by the predicted area determiner 225. The read data is stored in the buffer 227. In addition, when the command pattern is not detected by the pattern detector 223, the readout unit 226 reads only the start LBA and the size determined by the controller 222, and stores the read data in the buffer ( 227). The buffer 227 temporarily stores data read from the disc.

도 3은 본 발명의 바람직한 일 실시예에 따른 디스크 독출 방법의 흐름도이다.3 is a flowchart of a disc reading method according to an exemplary embodiment of the present invention.

도 3을 참조하면, 본 실시예에 따른 디스크 독출 방법은 다음과 같은 단계들로 구성된다. 본 실시예에 따른 디스크 독출 방법은 도 2에 도시된 하드 디스크 드라이브(22)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 하드 디스크 드라이브(22)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 디스크 독출 방법에도 적용된다. Referring to Fig. 3, the disc reading method according to the present embodiment consists of the following steps. The disc reading method according to the present embodiment is composed of steps that are processed in time series in the hard disk drive 22 shown in FIG. Therefore, even if omitted below, the contents described above with respect to the hard disk drive 22 are also applied to the disk reading method according to the present embodiment.

31 단계에서 하드 디스크 드라이브(22)는 ATA 인터페이스(221)를 경유하여 호스트(21)로부터 독출 섹터 커맨드를 수신한다. In step 31, the hard disk drive 22 receives a read sector command from the host 21 via the ATA interface 221.

32 단계에서 하드 디스크 드라이브(22)는 31 단계에서 수신된 독출 섹터 커맨드를 해석함으로써 독출하고자 하는 데이터의 시작 LBA 및 크기를 파악한다.In step 32, the hard disk drive 22 determines the start LBA and size of data to be read by interpreting the read sector command received in step 31.

33 단계에서 하드 디스크 드라이브(22)는 32 단계에서 파악된 시작 LBA 및 크기를 갖는 데이터가 버퍼(227)에 저장되어 있는 지를 확인한다.In step 33, the hard disk drive 22 checks whether data having the starting LBA and the size identified in step 32 is stored in the buffer 227.

34 단계에서 하드 디스크 드라이브(22)는 33 단계에서 버퍼(227)에 해당 데이터가 저장되어 있지 않은 것으로 확인된 경우에는 호스트(21)의 운영 체계의 종류 또는 파일 시스템의 종류에 따라서 31 단계에서 수신된 독출 섹터 커맨드 이후에 전송될 커맨드들의 패턴을 검출한다. In step 34, when the hard disk drive 22 determines that the data is not stored in the buffer 227 in step 33, the hard disk drive 22 receives in step 31 according to the type of the operating system or the file system of the host 21. A pattern of commands to be transmitted after the read sector command is detected.

35 단계에서 하드 디스크 드라이브(22)는 34 단계에서 커맨드 패턴이 검출된 경우에는 32 단계에서 파악된 크기에 34 단계에서 검출된 커맨드 패턴에 해당하는 크기를 가산함으로써 디스크 상에서 독출이 예상되는 영역을 결정한다. In step 35, when the command pattern is detected in step 34, the hard disk drive 22 determines the area to be read on the disc by adding the size corresponding to the command pattern detected in step 34 to the size found in step 32. do.

36 단계에서 하드 디스크 드라이브(22)는 34 단계에서 커맨드 패턴이 검출되지 않은 경우에는 32 단계에서 파악된 시작 LBA 및 크기만에 해당하는 독출을 수행 하고, 34 단계에서 커맨드 패턴이 검출된 경우에는 32 단계에서 파악된 시작 LBA 및 35 단계에서 가산된 크기에 해당하는 독출을 수행한다.In step 36, if the command pattern is not detected in step 34, the hard disk drive 22 reads only the starting LBA and size determined in step 32, and in step 34, if the command pattern is detected in step 34 Readout corresponds to the starting LBA identified in step and the size added in step 35.

37 단계에서 하드 디스크 드라이브(22)는 36 단계에서 독출된 데이터를 버퍼(227)에 저장한다.In step 37, the hard disk drive 22 stores the data read in step 36 in the buffer 227.

38 단계에서 하드 디스크 드라이브(22)는 33 단계에서 버퍼(227)에 해당 데이터가 저장되어 있는 것으로 확인된 경우에는 ATA 인터페이스(221)를 경유하여 호스트(21)로 버퍼(227)에 저장된 데이터를 전송하고, 33 단계에서 버퍼(227)에 해당 데이터가 저장되어 있지 않은 것으로 확인된 경우에는 37 단계에서 버퍼(227)에 저장된 데이터를 ATA 인터페이스(221)를 경유하여 호스트(21)로 전송한다. In step 38, when the hard disk drive 22 determines that the data is stored in the buffer 227 in step 33, the hard disk drive 22 sends the data stored in the buffer 227 to the host 21 via the ATA interface 221. If it is determined in step 33 that the data is not stored in the buffer 227, the data stored in the buffer 227 is transmitted to the host 21 via the ATA interface 221 in step 37.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium.

상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.The computer-readable recording medium may be a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (for example, a CD-ROM, DVD, etc.) and a carrier wave (for example, the Internet). Storage medium).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관 점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

본 발명에 따르면, 호스트의 운영 체계의 종류 또는 파일 시스템의 종류에 따라서 적합한 일률적인 캐시 알고리즘을 적용하여 하드 디스크로부터의 데이터 독출을 수행함으로써 효율적으로 데이터 독출을 수행할 수 있다는 효과가 있다. 즉, 하드 디스크에 대한 부팅 시간 및 독출 수행 시간을 감축할 수 있다는 효과가 있다. According to the present invention, data read from the hard disk can be efficiently performed by applying a uniform cache algorithm suitable for the type of the operating system of the host or the type of the file system. That is, the booting time and the read execution time for the hard disk can be reduced.

Claims (9)

(a) 호스트의 운영 체계의 종류 또는 파일 시스템의 종류에 따라서 상기 호스트로부터 전송될 커맨드들의 패턴을 검출하는 단계;(a) detecting a pattern of commands to be transmitted from the host according to the type of operating system of the host or the type of file system; (b) 상기 패턴 검출 여부에 기초하여 디스크 상에서 독출이 예상되는 영역을 결정하는 단계; 및(b) determining an area on the disc to be read based on whether the pattern is detected; And (c) 상기 결정된 영역에서 상기 패턴에 해당하는 독출을 수행하는 단계를 포함하는 것을 특징으로 하는 데이터 독출 방법. (c) performing a read corresponding to the pattern in the determined region. 제 1 항에 있어서, The method of claim 1, 상기 (c) 단계는 상기 호스트로부터 상기 패턴에 해당하는 커맨드들을 수신 했는지 여부에 무관하게, 상기 패턴에 해당하는 데이터를 독출하는 것을 특징으로 하는 데이터 독출 방법. Step (c) reads the data corresponding to the pattern, regardless of whether or not received the command corresponding to the pattern from the host. 제 2 항에 있어서, The method of claim 2, 상기 호스트로부터 상기 패턴에 해당하는 커맨드들을 수신하는 즉시, 상기 패턴에 해당하는 커맨드의 수신 여부에 무관하게 독출된 데이터를 일시적으로 저장하는 버퍼에 저장된 데이터를 상기 호스트로 전송하는 단계를 더 포함하는 것을 특징으로 하는 데이터 독출 방법. Immediately receiving the commands corresponding to the pattern from the host, and transmitting the data stored in a buffer to temporarily store the read data regardless of whether the command corresponding to the pattern is received. Characteristic data reading method. 제 1 항에 있어서,The method of claim 1, 상기 (a) 단계는 상기 호스트로부터 수신된 소정 커맨드 이후에 전송될 커맨드들의 패턴을 검출하고,Step (a) detects a pattern of commands to be transmitted after a predetermined command received from the host, 상기 (c) 단계는 상기 패턴이 검출된 경우에 상기 소정 커맨드에 해당하는 독출 및 상기 패턴에 해당하는 독출을 수행하는 것을 특징으로 하는 데이터 독출 방법. In the step (c), when the pattern is detected, the data corresponding to the predetermined command and the data corresponding to the pattern are read. 제 4 항에 있어서,The method of claim 4, wherein 상기 (c) 단계는 상기 패턴이 검출되지 않은 경우에 상기 소정 커맨드에 해당하는 독출만을 수행하는 것을 특징으로 하는 데이터 독출 방법. In the step (c), when the pattern is not detected, only the read corresponding to the predetermined command is performed. 제 4 항에 있어서,The method of claim 4, wherein 상기 (b) 단계는 상기 소정 커맨드에 해당하는 크기에 상기 패턴 검출부에 의해 검출된 패턴에 해당하는 크기를 가산함으로써 상기 영역을 결정하는 것을 특징으로 하는 데이터 독출 방법. In the step (b), the area is determined by adding the size corresponding to the pattern detected by the pattern detection unit to the size corresponding to the predetermined command. 제 1 항에 있어서,The method of claim 1, 상기 (a) 단계는 다수의 커맨드들 각각 이후에 이어지는 커맨드들의 패턴들을 저장하고 있는 데이터베이스로부터 상기 커맨드들의 패턴을 검출하는 것을 특징으로 하는 데이터 독출 방법. The step (a) of detecting a pattern of the command from a database that stores the pattern of subsequent commands after each of a plurality of commands. 호스트의 운영 체계의 종류 또는 파일 시스템의 종류에 따라서 상기 호스트로부터 전송될 커맨드들의 패턴을 검출하는 패턴 검출부;A pattern detector detecting a pattern of commands to be transmitted from the host according to a type of an operating system or a file system of a host; 상기 패턴 검출 여부에 기초하여 디스크 상에서 독출이 예상되는 영역을 결정하는 예상 영역 결정부; 및An expected area determiner configured to determine an area to be read on the disc based on whether the pattern is detected; And 상기 결정된 영역에서 상기 패턴에 해당하는 독출을 수행하는 독출부를 포함하는 것을 특징으로 하는 하드 디스크 드라이브. And a read unit configured to perform a read corresponding to the pattern in the determined area. 제 1 항 내지 제 7 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체. A computer-readable recording medium having recorded thereon a program for executing the method of claim 1 on a computer.
KR1020050005069A 2005-01-19 2005-01-19 Hard disk drive and method for reading data KR100688523B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050005069A KR100688523B1 (en) 2005-01-19 2005-01-19 Hard disk drive and method for reading data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050005069A KR100688523B1 (en) 2005-01-19 2005-01-19 Hard disk drive and method for reading data

Publications (2)

Publication Number Publication Date
KR20060084270A KR20060084270A (en) 2006-07-24
KR100688523B1 true KR100688523B1 (en) 2007-03-02

Family

ID=37174387

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050005069A KR100688523B1 (en) 2005-01-19 2005-01-19 Hard disk drive and method for reading data

Country Status (1)

Country Link
KR (1) KR100688523B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004013852A1 (en) * 2002-08-06 2004-02-12 Sony Corporation Disk reproduction device and disk reproduction method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004013852A1 (en) * 2002-08-06 2004-02-12 Sony Corporation Disk reproduction device and disk reproduction method

Also Published As

Publication number Publication date
KR20060084270A (en) 2006-07-24

Similar Documents

Publication Publication Date Title
KR100801015B1 (en) Hybrid hard disk drive and data storing method
JP6221086B2 (en) System operating system boot, prefetch controller, storage device, method, program, and computer-readable recording medium performed using prefetch technology
US7325112B2 (en) High-speed snapshot method
US9753659B2 (en) Generating enumerated information in which a plurality of files are enumerated in a sequential medium
US8423709B2 (en) Controller
CN107729558B (en) Method, system and device for defragmenting file system and computer storage medium
US20120124319A1 (en) Methods and structure for tuning storage system performance based on detected patterns of block level usage
US6640258B2 (en) Method and apparatus for command queue ordering with a sort time reduction algorithm
US20180181307A1 (en) Information processing device, control device and method
US9430168B2 (en) Recording medium storing a program for data relocation, data storage system and data relocating method
CN114371814B (en) Data processing method and device and solid state disk
KR100688523B1 (en) Hard disk drive and method for reading data
US10725710B2 (en) Hierarchical storage device, hierarchical storage control device, computer-readable recording medium having hierarchical storage control program recorded thereon, and hierarchical storage control method
EP1423783A2 (en) Method and system for reducing fragmentation
CN106649131A (en) Solid state disk, logic address range conflict monitoring method and logic address range conflict monitoring system
US6725327B1 (en) Space-efficient expected access time algorithm for hard disk drive command queue ordering
KR100977179B1 (en) Method and System for Searching malicious code
US20100070699A1 (en) Hybrid hard disk drive capable of storing file having specified condition, a method of controlling the same, and recording medium adapted for executing the method
JP3093657B2 (en) FBA-CKD conversion method
JP4540556B2 (en) Data access method and program thereof
KR100674947B1 (en) Method and apparatus for analyzing commands of hard disk drive
CN117908758A (en) Hard disk data clearing method, device and computer readable storage medium
JP3641254B2 (en) Computer system
JP5708053B2 (en) Information processing apparatus, defragmentation method, and defragmentation program
JPH05128050A (en) Method for data retrieval control in electronic computer system

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: 20100216

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee