IP Library Granted Patent US 10,783,096
Granted Patent B2
US 10,783,096 · App. 16/117,092 · Granted Sep 22, 2020

Storage system and method of controlling I/O processing

Inventors: Takashi Nagao (Tokyo, JP); Tomohiro Yoshihara (Tokyo, JP); Kohei Tatara (Tokyo, JP); Miho Kobayashi (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F13/1668G06F13/102
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,783,096
App. No.
16/117,092
Granted
Sep 22, 2020
Kind
B2
Abstract

A storage system provides a logical volume to a computer, manages the logical volume and a port receiving an I/O request for the logical volume in correspondence with each other, and holds assigned processor management information for managing correspondence between a processor for executing I/O processing based on an I/O request accumulated in a queue and an assigned port being a port corresponding to the queue. The processor identifies an assigned port on the basis of the assigned processor management information, executes I/O processing for the logical volume corresponding to the assigned port, and executes I/O processing on the basis of an I/O request received via the assigned port corresponding to another operation core.

Claims (54)

1. A storage system for providing a storage area to a computer, the storage system comprising:

a plurality of storage media configured to store data; and

a plurality of controllers, each having a plurality of processors, wherein the controllers each include:

an interface having a plurality of ports connected to the computer and receiving an I/O request to the storage media;

a plurality of memory, each of which is connected to one of the plurality of controllers and shared by the plurality of processors included in a connected controller, configured to store a plurality of queues each accumulating an I/O request received by each of the plurality of ports; and

the plurality of processors each having a plurality of operation cores configured to execute I/O processing based on the I/O request and a cache memory configured to store data related to the I/O processing,

the storage system

generates a logical volume from storage areas of the plurality of storage media, and provides the logical volume to the computer, and

manages the logical volume and a port configured to receive an I/O request for the logical volume in correspondence with each other,

the memory stores assigned processor management information for managing correspondence between each of the processors configured to execute I/O processing based on the I/O request accumulated in each of the queues and an assigned port being a port corresponding to the queue, and

the processor

identifies the assigned port on the basis of the assigned processor management information,

acquires the I/O request received via the assigned port and accumulated in a queue corresponding to the assigned port,

executes I/O processing for the logical volume corresponding to the assigned port while storing data related to the acquired I/O request in the cache memory, and

controls execution of I/O processing based on an I/O request received via the assigned port corresponding to another processor included in a same controller, on the basis of the assigned processor management information and usage rate of the processor.

2. The storage system according to claim 1 , wherein

the assigned processor management information manages correspondence between an operation core of the processor and the assigned port, and

an operation core of the processor

controls execution of I/O processing based on an I/O request received via an assigned port corresponding to another operation core on the basis of the assigned processor management information, and

in selection of an assigned port corresponding to the other operation core, selects an assigned port corresponding to another operation core in the same processor in priority to an assigned port corresponding to an operation core in another processor.

3. The storage system according to claim 2 , wherein

when controlling execution of I/O processing based on an I/O request received via an assigned port corresponding to an operation core of the other processor, an operation core of the processor releases correspondence between the operation core of the other processor and the assigned port.

4. The storage system according to claim 2 , wherein

when the queue corresponding to the assigned port has no I/O request received via the assigned port and a usage rate of the operation core is smaller than a threshold value, an operation core of the processor controls execution of I/O processing based on an I/O request received via an assigned port corresponding to the other operation core, on the basis of the assigned processor management information.

5. The storage system according to claim 1 , wherein

at least one of the processors

calculates a load of I/O processing on each of the plurality of ports,

changes allocation of the plurality of ports to the plurality of processors to reduce a difference between total values of loads on ports assigned to the processor, and

updates the assigned processor management information on the basis of a result of changing the allocation.

6. A method of controlling I/O processing executed by a storage system configured to provide a storage area to a computer,

the storage system including a plurality of storage media configured to store data, and a plurality of controllers,

the controllers each including an interface having a plurality of ports connected to the computer and receiving an I/O request to the storage media, a plurality of memory configured to store a plurality of queues each accumulating an I/O request received by each of the plurality of ports, and a plurality of processors each having a plurality of operation cores configured to execute I/O processing based on the I/O request and a cache memory configured to store data related to the I/O processing,

wherein the plurality of memory is each connected to one of the plurality of controllers and shared by the plurality of processors included in a connected controller,

the storage system

generating a logical volume from storage areas of the plurality of storage media and providing the logical volume to the computer, and

managing the logical volume and a port configured to receive an I/O request for the logical volume in correspondence with each other,

the memory storing assigned processor management information for managing correspondence between each of the processors configured to execute I/O processing based on the I/O request accumulated in each of the queues and an assigned port being a port corresponding to the queue,

the method of controlling I/O processing comprising:

a first step of identifying the assigned port on the basis of the assigned processor management information by using the processor;

a second step of acquiring the I/O request received via the assigned port and accumulated in a queue corresponding to the assigned port by using the processor;

a third step of executing I/O processing for the logical volume corresponding to the assigned port while storing data related to the acquired I/O request in the cache memory by using the processor; and

a fourth step of controlling execution of I/O processing based on an I/O request received via the assigned port corresponding to another processor included in a same controller, on the basis of the assigned processor management information and a usage rate of the processor by using the processor.

7. The method of controlling I/O processing according to claim 6 , wherein

the assigned processor management information manages correspondence between an operation core of the processor and the assigned port,

the fourth step includes a fifth step of controlling execution of I/O processing based on an I/O request received via an assigned port corresponding to another operation core, on the basis of the assigned processor management information by using an operation core of the processor, and

the fifth step includes selecting an assigned port corresponding to another operation core in the same processor in priority to an assigned port corresponding to an operation core in another processor, by using an operation core of the processor, when an assigned port corresponding to the other operation core is selected.

8. The method of controlling I/O processing according to claim 7 , wherein

the fifth step includes releasing correspondence between an operation core of the other processor and the assigned port, by using an operation core of the processor, when execution of I/O processing based on an I/O request received via an assigned port corresponding to an operation core of the other processor is controlled.

9. The method of controlling I/O processing according to claim 7 , wherein

the fifth step includes controlling execution of I/O processing based on an I/O request received via an assigned port corresponding to the other operation core, on the basis of the assigned processor management information, by using an operation core of the processor, when the queue corresponding to the assigned port has no I/O request received via the assigned port, and a usage rate of the operation core is smaller than a threshold value.

10. The method of controlling I/O processing according to claim 6 , further comprising:

calculating a load of I/O processing of each of the plurality of ports by using the at least one processor;

changing allocation of the plurality of ports to the plurality of processors to reduce a difference between total values of loads on ports allocated to the processor, by using the at least one processor; and

updating the assigned processor management information on the basis of a result of changing the allocation, by using the at least one processor.

Assignments (2)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2018
From: NAGAO, TAKASHI; YOSHIHARA, TOMOHIRO; TATARA, KOHEI; KOBAYASHI, MIHO
To: HITACHI, LTD.
Reel/Frame 046751/0635 →
Priority Claims (1)
JP 2018-051462 · Mar 19, 2018 · national
Continuity (1)
Related Publication 20190286583A1 · Sep 19, 2019