Integrated circuit I/O pad cell modeling |
| OF THE PREFERRED EMBODIMENT In the design of integrated circuits, including application specific ... |
|
Method for design optimization using logical and physical information |
| The present invention provides a method for optimizing a layout design, which minimizes the ... |
|
RC netlist reduction for timing and noise analysis |
| Embodiments of the present invention relate to a method and apparatus for generating a netlist ... |
|
Method for rotating a binary image |
| What is claimed is: 1. A method for rotating binary data by 90 degrees, comprising the steps of: ... |
|
Apparatus for high speed image rotation |
| It is a principal object of the present invention to provide an improved high speed character ... |
|
Method and apparatus for providing rotation of digital image data |
| The invention provides a framestore architecture that permits direct addressing of digital image ... |
|
Digital computer having unique instruction decoding logic |
| The present invention employs a gate array, embodied in a single integrated circuit packaged in a ... |
|
Wireless vehicle monitoring system |
| A main object of the present invention is to provide a wireless vehicular safety monitoring system, ... |
|
|
Conflict detection for queued command handling in disk drive controller
| Details |
Inventors: Holmes, Richard M.;
Assignee: Western Digital Technologies, Inc. (Lake Forest, CA)
Primary Examiner: Gaffin; Jeffrey
Assistant Examiner: Perveen; Rehana
Attorney, Agent or Firm: Shara, Esq.; Milad G., Smith, Esq.; Glenn R.
A conflict detection method for a disk drive controller is used to handle a conflict potentially occurring if the execution sequence of queued commands sent from a host to a controller is reordered to optimize disk drive transfers. The conflict detection method determines if there is an address range overlap between two queued commands. If an overlap exists, a conflict flag is set. The controller microprocessor utilizes this flag to restrict command reordering and prevent a conflict from producing erroneous data. Conflict detection and command reordering restriction are facilitated by a queued command RAM and a command FIFO. The queued command RAM stores command parameters indexed by command tag values. These parameters include command direction (read or write), LBA, block count, a valid flag and a conflict flag. The conflict detection method compares the address range of a new command with the address range of valid commands in the command RAM to determine range overlaps. If an overlap exists with a new write command, the conflict flag is set for both the write command and the overlapping commands in the queued command RAM. The microprocessor accesses the queued command RAM to determine which chronologically ordered commands in the FIFO must be executed in sequence. |
|
DETAILED DESCRIPTION One aspect of the present invention is a conflict detection method for a disk drive controller, such a conflict potentially occurring if the execution sequence of queued commands sent from a host is reordered to optimize disk drive data transfers. The conflict detection method comprises the steps of decoding a first command, where the first command is a queued read or a write, and reading an associated first logical block address (LBA) and first block count, where the first LBA and the first block count define a first address range. The method further comprises the steps of decoding a second command, where the second command is a write, and reading an associated second LBA and a second block count, where the second LBA and the second block count define a second address range. The method also comprises the steps of detecting an overlap between the first address range and the second address range and setting a conflict flag based on the overlap. In addition the method comprises the step of restricting command reordering based upon the flag in order to prevent the conflict from occurring. In one embodiment, the conflict detection method described in the previous paragraph further comprises the steps of reading a tag value associated with the first command, creating an entry in random access memory (RAM) according to the tag value, and storing the first LBA and the first block count in the entry, wherein the setting step comprises the substep of storing a set bit in the entry corresponding to the conflict flag. The method may also comprise the steps of unloading the first command in chronological order from a first-in-first-out (FIFO) memory and reading the set bit from the RAM entry, wherein the restricting step comprises the substep of processing the first command before any subsequent commands in the FIFO. In another embodiment, the conflict detection method further comprises the steps of reading a tag value associated with the second command, creating an entry in random access memory (RAM) according to the tag value, and storing the second LBA and the second block count in the entry, wherein the setting step comprises the substep of storing the conflict flag in the entry
|
|