Patent ID: 8352663
Filing Date: 2013-01-08
Classification: G06F

Abstract:
1. A data storage apparatus comprising: a plurality of controllers connected with a host device and a plurality of storage devices via interfaces and connected with each other by first data transfer paths, which transfers data between said plurality of controllers, each of the plurality of controllers coupling a cache memory, respectively; a plurality of processors, each of which controlling a controller of said plurality of controllers, respectively; and each of the plurality of processors respectively controlling second data transfer paths via which a controller of the plurality of controllers transfer data to and from the host device, the plurality of storage devices, the cache memory and a processor of the plurality of processors; wherein each of said plurality of controllers has at least one data-processing portion for transferring data to the first and second data transfer paths, the data-processing portion of each of the plurality of controllers transferring data sent from a processor corresponding to a controller having the data-processing portion; wherein the plurality of controllers have dual data transfer paths to each other by said first and second data transfer paths; wherein said plurality of processors provide said storage devices as a plurality of logical units to said host device, and share control data between each other, wherein said plurality of processors share control data between each other and the shared control data are transferred via said first data transfer paths, wherein said data-processing portion has a header detection portion for detecting first header information constituting data, a selection portion for selecting from a plurality of data sets from which a coupled data set is to be created, a header creation portion for creating second header information about the coupled data set, coupled data creation portion for creating the coupled data set from the selected data sets and from the second header information, a first buffer for starting data transfer when a first buffer capacity is reached or a first timeout value is reached, a second buffer for starting data transfer when a second buffer capacity is reached or a second timeout value is reached, and a data storage portion for storing data sets having transfer lengths greater than a second threshold value into the first buffer and storing data sets having transfer lengths smaller than the second threshold value into the second buffer; wherein said selection portion selects from said plurality of data sets which have continuous addresses of transfer destination and which use the same data transfer path; and wherein said plurality of data sets are data sets stored in the second buffer.