Method for implementing an indexed jump table
AssigneeWestern Digital Corporation
InventorJeffrey L. Williams
Life of this patent
Estimating the term…
Abstract
A method for processing interface messages, such as SCSI messages, using an indexed jump table. Two single-dimensional tables are implemented by the method described. The first table stores index values for all valid sequence instruction locations for which an ATN signal can be detected. The second table stores index values for all valid interface messages. The index values of these two tables are used as entry points to the indexed jump table whose elements contain addresses to message handling functions.
Claims5
In a computer system, a method for processing interface messages comprising the steps of:
- implementing a multi-element sequence table wherein the table elements are index values corresponding to sequence instruction locations and have values representative of valid sequence instruction locations that expect messages and invalid sequence instruction locations that do not expect messages, the sequence table having a first number of elements;
- implementing a multi-element message table wherein the table elements are index values corresponding to a list of messages and have values representative of supported interface messages and unsupported interface messages, the message table having a second number of elements;
- and
- creating a jump table indexed by the valid sequence instruction values of the sequence table and by the supported interface message values of the message table to provide the address of an appropriate message handling function call, the jump table having a third number of elements, the third number being less tan the product of the first number and the second number.
A disk drive device comprising:
- a disk enclosure;
- a disk rotatably coupled to the disk enclosure;
- a disk drive controller that manages the writing of data to the disk and the reading of data from the disk, comprising an interface message processor which comprises:
- a multi-element sequence table wherein the table elements are index values corresponding to sequence instruction locations and have values representative of valid sequence instruction locations that expect messages and invalid sequence instruction locations that do not expect messages, the sequence table having a first number of elements;
- a multi-element message table wherein the table elements are index values corresponding to a list of messages and have values representative of supported interface messages and unsupported messages, the message table having a second number of elements;
- and
- a jump table indexed by the valid sequence instruction values of the sequence table and by the supported interface message values of the message table, to provide the address of an appropriate message handling function call, the jump table having a third number of elements, the third number being less than the product of the first number and the second number.
Dependencies are inferred from the claim text.