Patent ID: 7937553

Claim:
A storage controller, which provides a storage area to a higher-level device, comprising: a higher-level communication controller for controlling communications with the higher-level device; a lower-level communication controller for controlling communications with a storage device; and a shared memory area, which is shared by the higher-level communication controller and the lower-level communication controller, the higher-level communication controller and the lower-level communication controller respectively comprising: a plurality of communication interfaces for communications with a communication partner; a microprocessor for using the communication interfaces to control a data transfer with the communication partner; and a virtual memory controller, which creates a virtual memory to be associated with a storage area of a physical memory, the virtual memory controller respectively allocating a virtual memory capacity to each of a prescribed plurality of functions realized by the microprocessor, and variably controlling the virtual memory capacity allocated to the respective prescribed functions, the virtual memory controller respectively controls the virtual memory capacity allocated to the prescribed functions using a capacity management queue for managing the virtual memory capacity prepared for each prescribed function, and the virtual memory controller manages an unused capacity not allocated to any of the prescribed functions from among a total capacity of the virtual memory, using an unused capacity management queue.