Patent ID: 7743209
Filing Date: 2010-06-22
Classification: G06F

Abstract:
1. A storage system, comprising: a first interface coupled to a host computer; a second interface coupled to a plurality of disk drives configured to store data; a cache memory configured to store data read from/written to the disk drives; a first control unit having a first processor configured to control data transfer between the first and second interfaces and the cache memory; a second control unit having a second processor configured to control data transfer between the first and second interfaces and the cache memory; a first local memory configured to store control data used by the first processor; and a second local memory configured to store control data used by the second processor, wherein: each disk drive includes: a first user data storing area configured to store user data; and a first control data storing area configured to store the control data used by the first processor; the cache memory includes: a second user data storing area configured to store the user data; and a second control data storing area configured to store the control data used by the first processor; wherein the first control unit includes a virtualization unit configured to allocate a memory space of the first control data storing area to a virtual address accessible from the first processor, and reading control data specified by the virtual address to a physical address of the first local memory to transfer the control data to the first processor; wherein the virtualization unit comprises page information and cache memory management information configured to store a local memory valid flag indicating whether or not an entry corresponding to the virtual address exists on the first local memory; wherein when the host computer accesses the virtual address, the virtualization unit references the page information to retrieve information indicating whether or not the entry corresponding to the virtual address exists on the first local memory, wherein if the entry exists on the first local memory then the virtualization unit accesses the first local memory, wherein if the entry does not exist on the first local memory then the virtualization unit transfers the control data from the first control data storing area to the first local memory, wherein the virtualization unit converts between a storage position of the control data in the second control data storing area and the virtual address based on the cache memory management information, reads the control data specified by the virtual address from the second control data storing area to the physical address of the first local memory, and transfers the control data to the first processor; wherein the first control unit includes a first backup unit configured to copy the cache memory management information on the first local memory to the second local memory, wherein the second control unit includes a write back unit configured to copy the control data used by the first processor on the cache memory to a disk drive in the plurality of disk drives and, when the first processor causes a failure, the write back unit references the cache management information on the second local memory and copies the control data on the cache memory to the disk drive, wherein the first control unit comprises a resource partitioning management unit configured to set a rate of the second user data storing area to the second control data storing area on the cache memory and resource partitioning management information configured to store the rate of the second user data storing area to the second control data storing area on the cache memory, and wherein the first control unit includes a second backup unit configured to copy the resource partitioning management information to the cache memory.