CROSS-REFERENCE TO RELATED APPLICATION

The present application claims priority from Japanese application JP 2020-141524, filed on Aug. 25, 2020, the contents of which is hereby incorporated by reference into this application.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to communication between controllers.

2. Description of the Related Art

In a storage system that requires processing performance for access to data, performance can be improved by distributing processing to a plurality of controllers. In such a storage system, it is necessary to equalize a load in order to prevent deterioration in the performance due to load concentration on a specific controller and to utilize controller resources to the maximum. In order to prevent an increase in communication overhead in access processing, it is necessary to eliminate processing dependence between the controllers as much as possible and complete the access processing inside each controller.

Thus, in a storage system having a plurality of controllers, first, it is necessary to allocate access processing to each controller such that loads of the controllers are equalized in units (hereinafter, collectively referred to as LUs) in which the access processing is independently performed as in, for example, logical units (LUs). Since the LU is recognized as a device and a storage area independent of a host that is an access source, the access processing can be executed independently for the LUs. In other words, the controller that executes the access processing of each LU is fixed to one, it is possible to avoid an overhead due to communication between the controllers.

In addition to the access processing of the LU, it is also necessary to separate the storage area managed by each controller (writing data and relocating data). In particular, in a storage system in which data is dynamically arranged like a log structure, the communication between the controllers occurs due to exclusive control when data is stored in a shared storage area from the plurality of controllers. Thus, the storage area in which writing is performed by each controller is separated, and thus, it is possible to dynamically arrange data without performing the exclusive control between the controllers.

In this regard, WO2014/147657A discloses a method of avoiding deterioration in the performance due to the communication between the controllers by performing allocation of the storage area to be managed and used by each controller to the storage area capable of being shared by the plurality of controllers constituting a storage and avoiding the sharing of the storage area from the plurality of controllers such that the controller that accesses each unit of the storage area is a single controller. WO2014/147657A discloses a method of allocating processing to an added controller of the storage by management of each controller, change of the allocation of the storage area to be used, and movement of the access processing of the LU between the controllers in the storage including the plurality of controllers.

SUMMARY OF THE INVENTION

In a storage system in which an access load fluctuates, the allocation of the access processing changes according to the fluctuation in the access load in order to maintain a state in which the loads between the controllers are equalized. When the access processing is allocated in units of LUs, the low-load controller needs to take over the access processing of the LU from the high-load controller. At this time, even after the access processing of the LU moves, it is necessary to minimize the communication overhead by maintaining a state in which the processing dependence between the controllers in the access processing of the LU and the storage area management is eliminated as much as possible.

On the other hand, when the access processing of the LU moves between the controllers, the processing dependence between the controllers occurs due to the separation between the controller that performs the access processing of the LU and the controller that manages the storage area. In order to resolve this dependence, it is necessary to move authority for the storage area management used by the LU between the controllers.

However, when the data of the LU for which the controller of a movement source performs the access processing is mixed in the storage area, it is difficult to move the authority for the storage area management. For example, in storage area management using a log structure for the purpose of preventing deterioration in performance of a solid state drive (SSD) used as a storage medium and random Write that causes lifespan consumption, it is necessary to aggregate and continuously store Write data for each LU in the identical storage area. When the storage system has a deduplication function, deduplication of data between the LUs is required in order to enhance an effect of data reduction and improve capacity efficiency. At this time, in order for the plurality of LUs to share data, it is necessary to refer to the identical storage area. Thus, the processing dependence between the controllers occurs due to the movement of the access processing of the LU.

That is, in the storage system in which the plurality of controllers shares the storage area, data of the plurality of LUs are stored in a mixed state for each part which is a unit of management and allocation in the shared storage area, and thus, the processing dependence between the controllers occurs due to the movement of the access processing of the LU. Accordingly, there is a problem that a lot of communication is required. In the storage area management in which data is dynamically arranged like the log structure, communication and exclusive control between the controllers occur due to determination and change of data arrangement in the access processing of the LU, and thus, the deterioration in the performance is caused. The controller that manages the storage area needs to relocate the stored data by performing garbage collection and defragmentation (hereinafter, these are collectively referred to as GC). Along with this relocation, the notification and exclusive control from the controller that manages the storage area for the controller that performs the access processing of the LU of data arrangement information after the relocation occur, and thus, the deterioration in the performance is caused.

In this regard, WO2014/147657A assumes that the data of each LU is stored separately in different storage areas, and does not consider the movement of the access processing of the LUs that share the storage area. That is, WO2014/147657A does not disclose a method of moving the access processing of the LU between the controllers when the storage area management or data deduplication by the log structure is performed in the storage.

The present invention has been made in consideration of the above points, and an object of the present invention is to propose a storage system or the like that can eliminate processing dependence between controllers as much as possible.

In order to solve such a problem, the present invention provides a storage system that includes one or more storage media and a plurality of controllers that provides a storage function to a host and in which the plurality of controllers shares a storage area of the storage medium. The storage area in which data is written and data is relocated is allocated to each controller. Each controller moves authority for access processing to data in a logical area allocated to the controller between the controllers. For a first storage area in which there is data related to the logical areas of the plurality of controllers by moving the authority for the access processing from a first controller to a second controller, each of the first controller and the second controller writes data after update related to a Write request to the storage area allocated to an own controller and deletes data before update in the first storage area, and moves data for which the own controller has the authority for the access processing in the first storage area to another storage area allocated to the own controller while taking over the allocation of the first storage area in relocation processing of relocating data.

In the above configuration, the data for which the own controller has the authority for the access processing in the first storage area is moved to another storage area allocated to the own controller while taking over the allocation of the first storage area. Thus, in the movement of the authority for the access processing between the controllers, it is possible to reduce the processing dependence between the controllers even when the data as the target of each access processing is mixed in the storage area. As a result, it is possible to improve performance by adding a controller in the storage system and improve usage efficiency of controller resources.

According to the present invention, communication between the controllers can be appropriately performed. Other objects, configurations, and effects will be made apparent in the descriptions of the following embodiments.

