Storage controller and storage control method
AssigneeHitachi, Ltd.
InventorsToshiya Seki, Eiju Katsuragi, Takashi Sakaguchi
Life of this patent
Estimating the term…
Abstract
A storage control technique with which, even if not data, but only its management information is deleted, a host system can recognize storage areas storing unnecessary data and so use them effectively. When a file system in the host system deletes the management information for data stored in a page in a pool volume, a control circuit writes ‘0’ in all the areas in the deletion target page in response to a command from the host system. The control circuit then detects the page where ‘0’ is written in all of its areas and releases it from allocation to the corresponding virtual volume.
Claims10
A storage controller having a control circuit for controlling the migration of data between a host system and a storage apparatus, the migration being performed in response to a data write request or data read request sent from the host system to the storage apparatus, said control circuit comprising:
- a first volume accessible by the host system, having no real storage area in the storage apparatus allocated thereto;
- a second volume having a real storage area allocated thereto;
- and
- a control table defining the correspondence relationships between logical areas in the first volume the host system accesses and the real storage areas in the second volume, wherein
- when the host system makes a request to write data in a logical area in the first volume, the control circuit establishes correspondences between the logical area in the first volume and the real storage area in the second volume in the control table, the real storage area in the second volume being mapped onto the logical areas of the first volume, the real storage area in the second volume and the logical areas of the first volume being mapped in units of pages, each page being defined as a collection of slots,
- when the host system makes a request to read data from the logical area in the first volume, the control circuit reads, by referring to the control table, data from the real storage area in the second volume corresponding to the read-requested logical area and provides the requested data to the host system, and
- in response to a host system's request to delete the data, including when a file system in the host system deletes the data by deleting the management information for that data, the control circuit releases the real storage area in the second volume from its correspondence relationship with the logical area that is the data storage destination by storing specified data in the real storage area that is to be released from the correspondences,
- wherein, in response to a command from a specific program in the host system, the control circuit writes ‘0’ as the specified data in all areas of the real storage area that is to be released from the correspondences,
- wherein the control circuit keeps the real storage area where the specified data has been written in the second volume as a reserved storage area,
- when the control circuit judges that no real storage area in the second volume is registered in the control table as corresponding to the host-accessed logical area in the first volume, the control circuit provides the reserved storage area to the host system,
- wherein, when the control circuit searches the second volume for a page having ‘0’ set for all bits, the control circuit deletes the page having ‘0’ set for all bits from the mapping table when one of (1) the creation of a remote copy pair, (2) a command sent from an operator, or (3) a predetermined timing, occurs.
A storage control method for a storage controller having a control circuit for controlling the migration of data between a host system and a storage apparatus, the migration being performed in response to a data write request or data read request sent from the host system to the storage apparatus, wherein
- the control circuit detects a storage area storing unnecessary data that is not accessed by the host system and releases that storage area from allocation to the host system, the method comprising the steps of:
- when the host system makes a request to write data in a logical area in the first volume, establishing correspondences between the logical area in the first volume and the real storage area in the second volume in the control table, including mapping the real storage area in the second volume onto the logical areas of the first volume, the real storage area in the second volume and the logical areas of the first volume being mapped in units of pages, each page being defined as a collection of slots;
- when the host system makes a request to read data from the logical area in the first volume, reading, by referring to the control table, data from the real storage area in the second volume corresponding to the read-requested logical area and providing the requested data to the host system;
- in response to a host system's request to delete the data, releasing the real storage area in the second volume from its correspondence relationship with the logical area that is the data storage destination;
- storing specified data in the real storage area that is to be released from the correspondences;
- when a file system in the host system deletes the data by deleting the management information for that data, writing, in response to a command from a specific program in the host system, the specified data in the real storage area that is to be released from the correspondences, including forcibly writing ‘0’ as the specified data in the real storage area;
- keeping the real storage, area where the specified data has been written in the second volume, as a reserved storage area;
- providing the reserved storage area to the host system when the control circuit judges that no real storage area in the second volume is registered in the control table as corresponding to the host-accessed logical area in the first volume;
- when searching the second volume for a page having ‘0’ set for all bits, deleting the page having ‘0’ set for all bits from the mapping table when one of (1) the creation of a remote copy pair, (2) a command sent from an operator, or (3) a predetermined timing, occurs.
Dependencies are inferred from the claim text.