Method and system for implementing disk IO command splitting
AssigneeNVIDIA Corporation
InventorRadoslav Danilak
Life of this patent
Estimating the term…
Abstract
A method and system for disk I/O (input output) command splitting in a computer system. The method includes tracking a head position of a disk drive. Upon receiving a request for data from the disk drive, a first split access is executed to read a first portion of the data and a second split access is executed to read a second portion of the data. The second split access is executed after a rotation of the disk drive. The first split access and the second split access are used to fulfill the request for data.
Claims19
A method for splitting a disk I/O (input output) command in a computer system, comprising:
- tracking a head position of a disk drive, and mapping a plurality of bad sectors of the disk drive by recording a time variation incurred for reading each track of the disk drive, and accounting for the bad sectors in each track, and the time variation caused by each corresponding bad sector, when computing the head position;
- receiving a request for data from the disk drive;
- executing a first split access to read a first portion of the data;
- and
- executing a second split access to read a second portion of the data after a rotation of the disk drive, wherein the first split access and the second split access are used to fulfill the request for data for the disk I/O command.
A computer system for implementing a command splitting method for efficient disk I/O (input output), comprising:
- a processor;
- a system memory coupled to the processor;
- a bridge component coupled to the processor;
- and
- a disk controller coupled to the bridge component, wherein the processor executes software code stored in the system memory, the software code causing the computer system to implement a method comprising:
- tracking a head position of a disk drive, and mapping a plurality of bad sectors of the disk drive by recording a time variation incurred for reading each track of the disk drive, and accounting for the bad sectors in each track, and the time variation caused by each corresponding bad sector, when computing the head position;
- receiving a request for data from the disk drive;
- executing a first split access to read a first portion of the data for a disk I/O command;
- and
- executing a second split access to read a second portion of the data after a rotation of the disk drive, wherein the first split access and the second split access are used to fulfill the request for data for the disk I/O command.
A computer memory having computer readable code which when executed by a processor of a computer system cause the computer system to implement a command splitting method for efficient disk I/O (input output), comprising:
- tracking a head position of a disk drive, and mapping a plurality of bad sectors of the disk drive by recording a time variation incurred for reading each track of the disk drive, and accounting for the bad sectors in each track, and the time variation caused by each corresponding bad sector, when computing the head position;
- recording a time stamp for a last command completion of the disk drive;
- computing the head position of the disk drive by using the time stamp for the last command completion;
- receiving a request for data from the disk drive for a disk I/O command;
- analyzing the request to determine whether the request should be converted into a first split access and a second split access;
- and
- if the request should be converted:
- executing a first split access to read a first portion of the data;
- and
- executing a second split access to read a second portion of the data after a rotation of the disk drive, wherein the first split access and the second split access are used to fulfill the request for data for the disk I/O command.
Dependencies are inferred from the claim text.