Method and system of reading and writing data by a disk drive apparatus
AssigneeInternational Business Machines Corporation
InventorsAtsushi Kanamaru, Takashi Kuroda, Hiromi Nishimiya, Takahiro Saito, Hiroshi Uchiike
Life of this patent
Estimating the term…
Abstract
The present invention includes a method of reading and writing data on a recording medium, and a system including a disk drive apparatus and a disk drive apparatus controller. According to the method of the present invention, data can be read in the middle of a plurality of write commands provided that the addresses of the read/write data locations do not overlap. This method and system results in improved read/write times.
Claims12
A data writing method of writing write data that is requested to write by a host device on a recording medium, comprising:
- comparing a logical block address of a leading write command awaiting execution with a logical block address of a following write command that is newly issued to determine the positional relation of logical block addresses of said leading write command and said following write command;
- determining whether a distance between said logical block address of said leading write command and said logical address of said following write command is equal to or less than a predetermined distance in the case where said logical block address of said leading write command and said logical block address of said following write command are determined to be separate;
- and
- writing data corresponding to said leading write command and data corresponding to said following write command sequentially on said recording medium in the case where the distance between said logical block address of said leading write command and said logical block address of said following write command is determined to be equal to or less than said predetermined distance.
A data reading method when a host device issues a data read request while a data write request is waiting to be executed, comprising:
- determining whether there is any overlap between a logical block address of a write command and a logical block address of a read command by comparing said logical block address of said write command which is waiting execution with said logical block address of said read command that is newly issued;
- and
- executing said read command before executing all said write commands in the case where there is no overlap between said logical block address of said write command and said logical block address of said read command.
A disk drive apparatus comprising:
- a randomly accessible disk-shaped recording medium;
- a command cache for retaining a write command sent from an external device until said command is executed;
- means for determining whether there is any overlap between the logical block address of said write command retained in said command cache and the logical block address of said write command newly sent from said external device;
- means, in response to determining that there is no overlap, for determining whether the distance between the logical block address of said write command retained in said command cache and the logical block address of said newly sent write command is greater than a predetermined distance;
- and
- means, in response to determining that the distance between the logical block address of said write command retained in said command cache and the logical block address of said newly sent write command is not greater than said predetermined distance, for instructing that write data corresponding to said two commands be written in said recording medium sequentially.
A disk drive apparatus comprising:
- a randomly accessible disk-shaped recording medium;
- a command cache for retaining a write command sent from an external device until said command is executed;
- a means for determining the relation between a logical block address of a read command for a read request sent from said external device and the logical block address of said write command retained in said command cache;
- and
- means for instructing a read in response to determining the relation between a logical block address of a read command for a read request sent from said external device and the logical block address of said write command retained in said command cache.
A disk drive apparatus controller that controls data writing to a randomly accessible disk-shaped recording medium, comprising of:
- a command cache for retaining a leading write command sent in advance from an external device until said command is executed;
- means for determining whether there exists said leading write command of which distance from a following write command newly sent from said external device is equal to or less than a predetermined distance at logical block addresses;
- and
- means, in response to determining that there exists said leading write command which has distance equal to or less than said predetermined distance, for instructing that said following write command be executed ahead of said leading write command.
A disk drive apparatus controller that controls data reading from a randomly accessible disk-shaped recording medium, comprising:
- a command cache for retaining a plurality of leading write commands sent in advance from an external device until said commands are executed;
- means for determining whether there exists a leading write command that overlaps a read command newly sent from said external device at logical block addresses;
- and
- means, in response to determining that there exists no leading write command that overlaps said read command at the logical block addresses, for instructing that said read command be executed ahead of said write command.
Dependencies are inferred from the claim text.