Data Distribution Method In Storage System, Distribution Apparatus, And Storage System
Abstract
Embodiments of the present disclosure provide a storage system, including a distribution apparatus and a storage device; the storage device includes at least two storage controllers and multiple storage units, where each storage unit is configured with any one of the at least two storage controllers as a home storage controller; and the distribution apparatus includes a front-end interface and at least two back-end interfaces, where the front-end interface is configured to connect to a host device, and each back-end interface is connected to each storage controller in a one-to-one correspondence manner.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A storage system, comprising:
a storage device comprising at least two storage controllers and multiple storage units, each storage unit coupled to one storage controller as a home storage controller; a distribution apparatus coupled to a host device and the at least two storage controller; and the distribution apparatus is configured to:
receive, an input/output (TO) read/write instruction sent by the host device, wherein the IO read/write instruction comprises an identifier of a to-be-read/written storage unit;
determine, according to the identifier, one home storage controller corresponding to the to-be-read/written storage unit; and
forward the IO read/write instruction to the home storage controller corresponding to the to-be-read/written storage unit.
2 . The storage system according to claim 1 , wherein the distribution apparatus comprising a front-end interface configured to be coupled to the host device; and at least two back-end interfaces, wherein each back-end interface is configured to be coupled to one storage controller;
the distribution apparatus is further configured to:
receive, using the front-end interface, the IO read/write instruction sent by the host device;
forward, using the back-end interface, the IO read/write instruction to the home storage controller corresponding to the to-be-read/written storage unit.
3 . The storage system according to claim 2 , wherein each back-end interface is coupled to one storage controller by Peripheral Component Interconnect Express (PCIe).
4 . The storage system according to claim 1 , wherein the distribution apparatus is further configured to save route configuration information, and the route configuration information is used to record a correspondence between each storage unit and home storage controller configured for each storage unit; and
the distribution apparatus is configured to search the route configuration information according to the identifier of the to-be-read/written storage unit and carried in the IO read/write instruction, to determine the home storage controller corresponding to the to-be-read/written storage unit.
5 . The storage system according to claim 1 , wherein the home storage controller corresponding to the to-be-read/written storage unit is further configured to:
allocate, when receiving the IO read/write instruction, a storage address from a cache or memory of the home storage controller for the IO read/write instruction; and send the storage address to the distribution apparatus; and wherein the distribution apparatus is further configured to forward the storage address to the host device.
6 . The storage system according to claim 5 , wherein the IO read/write instruction is a write operation instruction, and the home storage controller corresponding to the to-be-read/written storage unit is further configured to receive data corresponding to the IO read/write instruction and written at the storage address by the host device in a direct memory access (DMA) manner.
7 . The storage system according to claim 5 , wherein the IO read/write instruction is a read operation instruction, and the home storage controller corresponding to the to-be-read/written storage unit is further configured to receive a direct memory access (DMA) read request sent by the host device according to the storage address, and send, to the host device, data corresponding to the IO read/write instruction and at the storage address.
8 . The storage system according to claim 7 , wherein the home storage controller corresponding to the to-be-read/written storage unit is configured to:
after receiving the read operation instruction, determine whether the data corresponding to the read operation instruction is saved in the cache or memory of the home storage controller; and if the data corresponding to the read operation instruction is saved in the cache or memory of the home storage controller, acquire the storage address of the data corresponding to the read operation instruction and in the cache or memory of the home storage controller; or if the data corresponding to the read operation instruction is not saved in the cache or memory of the home storage controller, read, from the to-be-read/written storage unit, the data corresponding to the read operation instruction, write the data into the cache or memory of the home storage controller, and use a written address as the storage address.
9 . The storage system according to claim 1 , wherein the distribution apparatus is further configured to:
receive information about a storage unit homed by each storage controller and configured in the system; and establish route configuration information according to the received information about the storage unit homed by each storage controller and configured in the system.
10 . The storage system according to claim 9 , wherein each storage controller is further configured to:
establish a communication link to the distribution apparatus during system initialization; and send, to the distribution apparatus using the communication link, the information about the storage unit homed by the storage controller and that is configured in the system.
11 . A distribution apparatus, comprising:
at least one processor, a host interaction unit, and a switch unit coupled to the the at least one processor, wherein the host interaction unit coupling to the at least one processor using the switch unit; the host interaction unit is coupled to a host device; and the switch unit is coupled to at least two storage controllers in a storage device, wherein each storage unit is coupled to one storage controller as a home storage controller; the host interaction unit is configured to:
receive an IO read/write instruction sent by the host device, wherein the IO read/write instruction comprises an identifier of a to-be-read/written storage unit; and
forward the IO read/write instruction to the the at least one processor using the switch unit; and
the at least one processor is configured to:
receive the IO read/write instruction forwarded by the host interaction unit;
determine, according to the identifier, one home storage controller corresponding to the to-be-read/written storage unit; and
forward the IO read/write instruction to the one home storage controller corresponding to the to-be-read/written storage unit.
12 . The distribution apparatus according to claim 11 , wherein the host interaction unit comprising a front-end interface configured to be coupled to the host device; and at least two back-end interfaces, wherein each back-end interface is configured to be coupled to one storage controller;
the host interaction unit is further configured to:
receive, using the front-end interface, the IO read/write instruction sent by the host device;
forward, using the back-end interface, the IO read/write instruction to the home storage controller corresponding to the to-be-read/written storage unit.
13 . The distribution apparatus according to claim 11 , wherein each back-end interface is coupled to one storage controller by Peripheral Component Interconnect Express (PCIe).
14 . The distribution apparatus according to claim 13 , wherein the switch unit is further configured to save route configuration information, and the route configuration information is used to record a correspondence between each storage unit and the home storage controller configured for each storage unit; and
the at least one processor is configured to search the route configuration information according to the identifier of the to-be-read/written storage unit and carried in the IO read/write instruction, to determine the home storage controller corresponding to the to-be-read/written storage unit.
15 . The distribution apparatus according to claim 14 , wherein the at least one processor is further configured to:
receive information about a storage unit homed by each storage controller and initially configured in a system; and establish the route configuration information according to the received information about the storage unit homed by each storage controller and initially configured in the system.
16 . The distribution apparatus according to claim 15 , wherein the at least one processor is further configured to:
receive updated information about the storage unit homed by each storage controller; and update the route configuration information according to the received updated information about the storage unit homed by each storage controller.
17 . The distribution apparatus according to claim 11 , wherein the at least one processor is further configured to:
receive a storage address sent by the home storage controller corresponding to the to-be-read/written storage unit; and forward the received storage address to the host device, wherein the host device operates, according to the storage address, data corresponding to the IO read/write instruction, and the storage address is allocated from a cache or memory of the home storage controller for the IO read/write instruction after the home storage controller corresponding to the to-be-read/written storage unit receives the IO read/write instruction.
18 . The distribution apparatus according to claim 11 , wherein a Peripheral Component Interconnect Express (PCIe) link is used for connection between the at least one processor and the switch unit and between the host interaction unit and the switch unit, and the at least one processor is configured as a PCIe root complex of the host interaction unit and each back-end interface;
the host interaction unit is configured to receive the IO read/write instruction sent by the host device, and send the IO read/write instruction to the PCIe root complex using the PCIe link; and the at least one processor is configured to receive the IO read/write instruction sent by the host interaction unit using the PCIe link.
19 . The distribution apparatus according to claim 11 , wherein each back-end interface is connected, using a Peripheral Component Interconnect Express (PCIe) non-transparent bridge, to each storage controller connected in a one-to-one correspondence manner;
the at least one processor is configured to:
after receiving the IO read/write instruction, determine the back-end interface connected to the home storage controller corresponding to the to-be-read/written storage unit;
fill a destination address of the IO read/write instruction as an address of the back-end interface connected to the home storage controller corresponding to the to-be-read/written storage unit; and
send the IO read/write instruction using a PCIe link; and
the back-end interface connected to the home storage controller corresponding to the to-be-read/written storage unit is configured to:
receive the IO read/write instruction;
map the destination address of the IO read/write instruction to an address of the home storage controller corresponding to the to-be-read/written storage unit; and
send the IO read/write instruction using the PCIe non-transparent bridge.Join the waitlist — get patent alerts
Track US2019324643A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.