Patent ID: 7404021
Filing Date: 2008-07-22
Classification: G06F

Abstract:
1. An integrated I/O controller integrated into a single integrated circuit device for transceiving data as a plurality of data blocks between at least one host and a RAID disk array, comprising: a host interface subsystem coupled to the at least one host for receiving host commands and transceiving said data blocks with the at least one host in response to the host commands via a host exchange controller, said host interface subsystem also including a command decode controller for parsing host commands to identify data flow type host commands and non data flow type commands, wherein said host exchange controller maintains a host exchange table comprising a plurality of table entries, receives a host command, and adds a new table entry to said host exchange table corresponding to said host command, each table entry being associated with a tag, and outputs the tag associated with the new table entry, and said command decode controller maintains a command queue comprising a plurality of queue entries, receives the tag associated with the new table entry, adds a new queue entry corresponding to said tag, and outputs a range operation request; a micro-controller subsystem coupled to the host interface subsystem for processing non data flow type host commands; a RAID mapping controller, separate from the micro-controller subsystem, coupled to the host interface subsystem, for mapping logical block addresses of the data flow type host commands into disk block addresses of a plurality of disks of the RAID disk array; and a disk interface subsystem, coupled to said plurality of disks of said RAID disk array for transceiving said data blocks with the plurality of disks using the disk block addresses generated by the RAID mapping controller; wherein, for each data flow type host command, said command decode controller communicates an associated logical block address to the RAID mapping controller, said RAID mapping controller converts the associated logical block address to an associated disk block address, and said disk interface subsystem accesses the plurality of disks using said associated disk block address.