Patent ID: 8489826

Claim:
A storage controller comprising: first interface modules for transmitting/receiving information to/from host computers; second interface modules for transmitting/receiving information to/from storage devices; processing modules for processing data based on commands inputted from the host computers via the first interface modules; memory modules for temporarily storing data stored/fetched in/from the storage devices; and one or more relay processing modules each connected to the first interface modules, the second interface modules, the processing modules and the memory modules and transmitting/receiving signals to/from each of the connected modules, wherein the relay processing modules each include a plurality of function blocks integrating functions for controlling the respective modules and, when connected to the respective modules, the function blocks corresponding to the connected modules among the plurality of function blocks are validated and the other function blocks are invalidated, and wherein the relay processing modules each includes: a plurality of function selection blocks arranged on a plurality of signal transmission paths that connect a set of groups, each group including one or more of the function blocks, to the respective modules; and a selection setting block for recording a selection instruction signal input from the outside of the relay processing module and outputting the inputted selection instruction signal to the respective function selection blocks, and wherein each of the function selection blocks selects one of the function blocks belonging to the respective group in response to a selection instruction signal from the selection setting block, connects the selected function block and the respective module, and even when a selection instruction signal from the outside of the relay processing module stops, holds a record of an inputted selection instruction signal.