IP Library › Granted Patent US 10,042,560
Granted Patent B2
US 10,042,560 · App. 15/449,027 · Granted Aug 7, 2018

Method and storage array for processing a write data request

Inventors: Wei Zhang (Shenzhen, CN); Xianhong Lu (Shenzhen, CN); Mingchang Wei (Shenzhen, CN); Chenyi Zhang (Shenzhen, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F3/061G06F3/0619G06F3/0638G06F3/0659G06F3/0683G06F12/0871G06F2212/1016G06F2212/1032G06F2212/152G06F2212/261G06F2212/604
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,042,560
App. No.
15/449,027
Filed
Mar 3, 2017
Granted
Aug 7, 2018
Kind
B2
Art Unit
2131
USPC
711/113
Abstract

According to a write data request processing method and a storage array provided in the embodiments of the present invention, a controller is connected to a cache device via a switching device, an input/output manager is connected to the controller via the switching device, and the input/output manager is connected to a cache device via the switching device. The controller obtains a cache address from the cache device for to-be-written data according to the write data request, the controller sends an identifier of the cache device and the cache address to the input/output manager via the switching device, and the input/output manager writes the to-be-written data to the cache address via the switching device.

Claims (39)

1. A method for processing a write data request in a storage array comprising an input/output manager, a switching device, a first controller, and a first cache device, and wherein the input/output manager, the first controller and the first cache device are coupled to the switching device, and the switching device is coupled to a storage unit in the storage array; the method comprising:

sending, by the input/output manager, a write data request to the first controller via the switching device;

obtaining, by the first controller for the write data request, a first cache address in the first cache device for storing data of the write data request;

sending, by the first controller, an identifier of the first cache device and the first cache address to the input/output manager, via the switching device; and

writing, by the input/output manager, the data of the write data request to the first cache address via the switching device according to the identifier of the first cache device and the first cache address.

2. The method according to claim 1 , wherein the write data request includes an address of the data; and the method further comprises:

receiving, by the input/output manager, a response sent by the first cache device, indicating that the data is written successfully;

sending a notification to the first controller from the input/output manager via the switching device, that the data is written to the first cache address; and

establishing by the first controller, according to the notification, a correspondence among the address of the data, the identifier of the first cache device, and the first cache address.

3. The method according to claim 1 , wherein the storage array further comprises a second cache device, wherein the second cache device is coupled to the switching device, and the method further comprises:

obtaining, by the first controller for the write data request, a second cache address from the second cache device for storing the data;

sending, by the first controller, an identifier of the second cache device and the second cache address to the input/output manager, via the switching device; and

writing, by the input/output manager, the data to the second cache address via the switching device, according to the identifier of the second cache device and the second cache address.

4. The method according to claim 1 , wherein the storage array further comprises a second cache device, wherein the second cache device is coupled to the switching device, the method further comprising:

obtaining, by the first controller for the write data request, a second cache address from the second cache device for storing the data;

sending, by the first controller, a write data instruction to the first cache device via the switching device, wherein the write data instruction includes an identifier of the second cache device and the second cache address; and

writing, by the first cache device, according to the write data instruction, the data to the second cache address, via the switching device.

5. The method according to claim 1 , wherein the write data request includes an address of the data, wherein the address of the data comprises an identifier of a target logical unit (LU) in which the data is located, a logical block address of the data, and a length of the data; and the method further comprising:

querying, by the input/output manager, according to the identifier of the target LU, a homing relationship between the target LU and the first controller that is stored in the input/output manager, and identifying that the first controller is a home controller of the target LU; and

sending, by the input/output manager, the write data request to the first controller via the switching device.

6. The method according to claim 1 , wherein the write data request includes an address of the data, wherein the address of the data comprises an identifier of a target logical unit (LU) in which the data is located, a logical block address of the data, and a length of the data; the storage array further including a second controller, wherein the second controller is coupled to the switching device; the method further comprising:

sending, by the input/output manager, the write data request to the second controller via the switching device;

determining, by the second controller according to the identifier of the target LU, that the first controller is a home controller of the target LU; and

sending, by the second controller, the write data request to the first controller via the switching device.

7. A storage array, including an input/output manager, a switching device, a first controller, and a first cache device, wherein the input/output manager, the first controller, and the first cache device are coupled to the switching device; and the switching device is coupled to a storage unit in the storage array;

the input/output manager is configured to send a write data request to the first controller via the switching device;

the first controller is configured to obtain, a first cache address in the first cache device for storing data of the write data request, for the write data request, and send an identifier of the first cache device and the first cache address to the input/output manager via the switching device; and

the input/output manager is further configured to write the data to the first cache address via the switching device according to the identifier of the first cache device and the first cache address.

8. The storage array according to claim 7 , wherein the write data request includes an address of the data;

the input/output manager is further configured to receive from the first cache device, a response indicating that the data is written successfully, and send a notification to the first controller, via the switching device, that the data is written to the first cache address; and

the first controller is further configured to establish a correspondence among the address of the data, the identifier of the first cache device, and the first cache address, according to the notification.

9. The storage array according to claim 7 , wherein the storage array further comprises a second cache device, wherein the second cache device is coupled to the switching device;

the first controller is further configured to obtain, for the write data request, a second cache address from the second cache device for storing the data, and send an identifier of the second cache device and the second cache address to the input/output manager via the switching device; and

the input/output manager is further configured to write the data to the second cache address via the switching device, according to the identifier of the second cache device and the second cache address.

10. The storage array according to claim 7 , wherein the first controller is further configured to obtain a second cache address from the second cache device for storing the data for the write data request, and send a write data instruction to the first cache device via the switching device, wherein the write data instruction includes an identifier of the second cache device and the second cache address; and

the first cache device is configured to write the data to the second cache address via the switching device, according to the write data instruction.

11. The storage array according to claim 7 , wherein the write data request includes an address of the data, wherein the address of the data comprises an identifier of a target logical unit (LU) in which the data is located, a logical block address of the data, and a length of the data; and the input/output manager is further configured to query a homing relationship between the target LU and the first controller that is stored in the input/output manager according to the identifier of the target LU, identify that the first controller is a home controller of the target LU, and send the write data request to the first controller via the switching device.

12. The storage array according to claim 7 , wherein the write data request includes an address of the data, wherein the address of the data comprises an identifier of a target logical unit (LU) in which the data is located, a logical block address of the data, and a length of the data; the storage array further comprises a second controller, wherein the second controller is coupled to the switching device; the input/output manager is further configured to send the write data request to the second controller via the switching device;

the second controller is further configured to determine that the first controller is a home controller of the target LU according to the identifier of the target LU, and send the write data request to the first controller via the switching device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2017
From: ZHANG, WEI; LU, XIANHONG; WEI, MINGCHANG; ZHANG, CHENYI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 041622/0471 →
Continuity (2)
Continuation PCTCN2014086531 · Sep 15, 2014
Related Publication 20170177223A1 · Jun 22, 2017