Storage controller and method of controlling storage controller
AssigneeHitachi, Ltd.
InventorsKei Sato, Takeo Fujimoto, Osamu Sakaguchi
Life of this patent
Estimating the term…
Abstract
The storage controller of the present invention is able to reduce the amount of purge message communication and increase the processing performance of the storage controller. Each microprocessor creates and saves a purge message every time control information in the shared memory is updated. After a series of update processes are complete, the saved purge messages are transmitted to each microprocessor. To the control information, attribute corresponding to its characteristics is established, and cache control and purge control are executed depending on the attribute.
Claims15
A storage controller for controlling data inputs and outputs between a host computer and a storage device, comprising:
- a cache memory for storing data inputs and outputs between the host computer and the storage device;
- a shared memory for storing common control information that is required for at least one of command processing and control processing performed by the storage controller, the common control information including program setting information;
- a plurality of microprocessor packages each including a plurality of microprocessors, a package memory to which at least a portion of the common control information stored in the shared memory is copied as local control information items for the plurality of microprocessors of the microprocessor package, a plurality of local memory units which are respectively provided in correspondence with the microprocessors of the microprocessor package, and a plurality of purge message storage units that are respectively included within the local memory units of the microprocessor package for storing purge messages that are each transmitted from the microprocessor corresponding to the respective local memory unit for the purge message storage unit and that are each for reporting that the local control information items stored in the package memories of the other microprocessor packages are invalid;
- and
- a control information synchronization management unit for managing whether each of the local control information items is in sync with the common control information,
- wherein, in cases where the common control information is updated by any of the microprocessors, the updating microprocessor creates a purge message, stores the purge message in the purge message storage unit of the respective local memory unit for the microprocessor, and transmits a consolidated purge message, into which a plurality of purges messages that have identical, contiguous, or overlapping update locations and are stored in the purge message storage unit of the respective local memory unit for the microprocessor are consolidated, asynchronously with the common control information being updated to a specified one or more of the other microprocessor packages.
A method of controlling a storage controller having a cache memory for storing data inputs and outputs between a host computer and a storage device, a shared memory which stores common control information that is required for at least one of command processing and control processing performed by the storage controller and includes program setting information, a plurality of microprocessor packages each including a plurality of microprocessors, a package memory, a plurality of local memory units respectively provided in correspondence with the microprocessors of the microprocessor package, and a plurality of purge message storage units that are respectively included within the local memory units of the microprocessor package, the method comprising:
- copying at least a portion of the common control information which is stored in the shared memory as local control information to the package memory of each of the microprocessor packages as local control information items for the plurality of microprocessors of the microprocessor package;
- in cases where the common control information is updated by any of the microprocessors, creating and saving a purge message indicating that the local control information stored in the package memories of the other microprocessor packages are invalid in the purge message storage unit respectively included within the local memory unit corresponding to the microprocessor;
- in cases where a series of processes for updating the common control information are completed by any of the microprocessors, transmitting a plurality of saved purge messages that have identical, contiguous, or overlapping update locations and are stored in the purge message storage unit of the respective local memory unit for the microprocessor as a consolidated purge message into which the plurality of saved purged messages are consolidated to a specified one or more of the other microprocessor packages;
- and
- accessing, by each of the microprocessors of the other microprocessor packages which have received the consolidated purge message, the shared memory to acquire the information of an invalid section in cases where such information is used.
Dependencies are inferred from the claim text.