Methods and structure for SCSI/IDE translation in a storage subsystem
First Claim
1. A storage subsystem comprising:
- a storage controller adapted for controlling SCSI storage devices using SCSI command and status information exchanges and adapted for coupling to a host system for receiving host I/O requests wherein said command and status information exchanges include one or more SCSI command descriptor blocks generated by said storage controller;
a non-SCSI storage device adapted to process non-SCSI command and status information exchanges; and
a conversion element coupling said storage controller to said storage device for converting between SCSI command and status information exchanged used by said storage controller and non-SCSI command and for converting status information exchanges used by said non-SCSI storage device, wherein the conversion element is adapted to generate multiple non-SCSI commands in response to receipt of a SCSI command exchange from said storage controller.
9 Assignments
0 Petitions
Accused Products
Abstract
Methods and associated structure operable within a SCSI-based storage subsystem to adapt the storage controller for use with non-SCSI disk drives. A firmware layer of the present invention intercepts SCSI read/write requests and pass through command blocks (CDBs) generated by the storage management core of the controller and translates the requests and command structures into corresponding command structures for transmission to a non-SCSI disk drive. In like manner, the firmware layer of the present invention receives status information from non-SCSI disk drives and translates the status information into corresponding SCSI compatible status information. In one exemplary preferred embodiment, a storage subsystem designed for interaction with SCSI disk drives may be adapted in accordance with the present invention to utilize lower-cost, commodity disk drives such as IDE compatible disk drives.
-
Citations
12 Claims
-
1. A storage subsystem comprising:
-
a storage controller adapted for controlling SCSI storage devices using SCSI command and status information exchanges and adapted for coupling to a host system for receiving host I/O requests wherein said command and status information exchanges include one or more SCSI command descriptor blocks generated by said storage controller;
a non-SCSI storage device adapted to process non-SCSI command and status information exchanges; and
a conversion element coupling said storage controller to said storage device for converting between SCSI command and status information exchanged used by said storage controller and non-SCSI command and for converting status information exchanges used by said non-SCSI storage device, wherein the conversion element is adapted to generate multiple non-SCSI commands in response to receipt of a SCSI command exchange from said storage controller. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A storage controller comprising:
-
a SCSI-based RAID storage control core element;
an IDE interface for coupling said storage controller to a plurality of IDE disk drives;
a SCSI/IDE command conversion element for converting commands generated by said SCSI-based RAID storage controller core element for application to an IDE disk drive coupled to said IDE interface wherein said commands include one or more SCSI command descriptor blocks generated by said core element; and
an IDE/SCSI status conversion element for converting status information received from an IDE disk drive coupled to said IDE interface for application to said SCSI-based RAID storage control core element, wherein the command conversion element is adapted to generate multiple commands for application to the IDE disk drive in response to receipt of a SCSI command from said RAID storage controller.
-
-
8. A system comprising:
-
a plurality of non-SCSI storage devices; and
a SCSI-based storage controller communicatively coupled to said plurality of non-SCSI storage devices wherein said SCSI-based storage controller includes;
storage management core means for managing storage of data on said plurality of non-SCSI storage devices; and
SCSI command conversion means for converting SCSI commands generated by said storage management core means for application to said plurality of non-SCSI storage devices wherein said SCSI commands include one or more SCSI command descriptor blocks generated by said SCSI-based storage controller, wherein the conversion means further comprises;
command mapping means for mapping each SCSI command to a corresponding sequence of one or more IDE commands, wherein the conversion means is adapted to generate multiple IDE commands in response to receipt of a SCSI command from said storage controller. - View Dependent Claims (9, 10)
-
-
11. A method operable within a storage controller comprising the steps of:
-
generating SCSI commands to manipulate data stored on disk drive associated with said storage controller wherein said SCSI commands include one or more SCSI command descriptor blocks generated by said storage controller;
converting said SCSI commands to non-SCSI commands wherein the conversion includes converting a SCSI command into multiple non-SCSI command; and
providing a mapping table wherein entries of the table maps a corresponding SCSI command to a conversion function for generating said non-SCSI commands, wherein the step of converting said SCSI commands comprises;
looking up said SCSI command in said mapping table to identify the corresponding conversion function; and
invoking said corresponding conversion function to generate said non-SCSI commands. - View Dependent Claims (12)
-
Specification