Patent ID: 8352681
Filing Date: 2013-01-08
Classification: G06F

Abstract:
1. A storage system, comprising: a memory set with a command queue for temporarily retaining one or more commands from a host device; and a control unit for storing the commands issued from the host device in the command queue, and executing the commands stored in the command queue in the order that the commands were stored in the command queue, wherein the control unit is configured to: set a copy queue for temporarily retaining one or more copy commands from among the commands issued from the host device in the memory; move copy commands including, among the commands from the host device stored in the command queue to the copy queue, the copy commands including a first copy command for copying data from a first storage area to a second storage area and a second copy command for copying data from a third storage area to a fourth storage area, each of the first storage area and the second storage area including a first plurality of storage regions, and each of the third storage area and the fourth storage area including a second plurality of storage regions; generate first management information and second management information, the first management information managing whether or not data has been copied according to the first copy command for each of the first plurality of storage regions included in the first storage area and the second storage area, the second management information managing whether or not data has been copied according to the second copy command for each of the second plurality of storage regions included in the third storage area and the fourth storage area; send, after generating the first management information, an execution completion reply of copy processing to the host device as a sender of the first copy command, in response to the first copy command; send, after generating the second management information, an execution completion reply of copy processing to the host device as the sender of the second copy command, in response to the second copy command; and execute, in the background, the copy commands that were moved to the copy queue in the order that the copy commands were stored in the copy queue, wherein if the control unit receives the second copy command after receiving the first copy command, and receives a write command to write to at least one storage region in the second storage area where data has not been copied based on the first management information and the second management information, the control unit is configured to: determine whether or not the at least one storage region is also included in the fourth storage area; if the at least one storage region is not included in the fourth storage area, write, after copying data from the first storage area to the at least one storage region according to the first copy command, data to the at least one storage region according to the write command, and update the first management information; and if the at least one storage region is not-included in the fourth storage area, write, after copying data from the fourth storage area to the at least one storage region according to the second copy command, data to the at least one storage region according to the write command, and update the first management information and the second management information, without copying data from the first storage area to the at least one storage region according to the first copy command.