IP Library Granted Patent US 12,613,636
Granted Patent B2
US 12,613,636 · App. 17/940,222 · Granted Apr 28, 2026

Storage system, request processing method, and switch

Inventors: Wei Zha (Shenzhen, CN); Changjun He (Chengdu, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F3/0613G06F3/0659G06F3/0673
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 12,613,636
App. No.
17/940,222
Granted
Apr 28, 2026
Kind
B2
Abstract

A storage system includes a switch and a plurality of storage nodes. The switch is configured to receive a first request from a client. The first request includes an identifier of a storage partition. The switch queries an entry in a forwarding table based on the identifier to determine a target storage node in the plurality of storage nodes. The entry includes a mapping relationship between the identifier and the target storage node. The switch sends the first request to the target storage node. The target storage node is configured to receive the first request from the switch.

Claims (91)

1 . A storage system comprising:

a plurality of storage nodes comprising a target storage node;

a switch configured to:

receive a first request from a client, wherein the first request comprises an identifier of a storage partition;

query an entry in a forwarding table based on the identifier to determine the target storage node in the plurality of storage nodes, wherein the entry comprises a mapping relationship between the identifier and the target storage node; and

send the first request to the target storage node; and

a controller configured to:

receive a second request from the client;

determine the target storage node in the plurality of storage nodes based on the second request; and

send the second request to the target storage node,

wherein the target storage node is configured to:

receive the second request from the controller;

generate the identifier of the storage partition based on the second request; and

send the identifier to the controller,

wherein the controller is further configured to:

receive the identifier from the target storage node; and

send the entry that comprises the mapping relationship between the identifier and

the target storage node to the switch, and

wherein the switch is further configured to:

receive the entry from the controller; and

update the forwarding table based on the entry.

2 . The storage system of claim 1 , wherein the target storage node is configured to:

receive the first request from the switch;

generate a request processing result based on the first request; and

send the request processing result to the switch, and

wherein the switch is further configured to:

receive the request processing result; and

send the request processing result to the client.

3 . The storage system of claim 1 , wherein the target storage node is further configured to:

allocate a storage resource from a server partition corresponding to the identifier of the storage partition based on the first request when the first request is a data write request; and

send an address of the target storage node to the switch;

and the switch is further configured to:

receive the address of the target storage node; and

send a response message comprising the address of the target storage node to the client.

4 . The storage system of claim 1 , wherein the controller is further configured to update a partition mapping table in the controller based on the mapping relationship.

5 . The storage system of claim 1 , wherein the controller is further configured to update a storage node status table in the controller based on the mapping relationship.

6 . A request processing method implemented by a storage system comprising a switch and a plurality of storage nodes, wherein the plurality of storage nodes comprises a target storage node, and wherein the request processing method comprises:

receiving, by the switch, a first request from a client, wherein the first request comprises an identifier of a storage partition;

querying, by the switch, an entry in a forwarding table based on the identifier to determine the target storage node in the plurality of storage nodes, wherein the entry comprises a mapping relationship between the identifier and the target storage node;

sending, by the switch, the first request to the target storage node;

receiving, by the target storage node, the first request from the switch;

receiving, by a controller of the storage system, a second request from the client;

determining, by the controller, the target storage node in the plurality of storage nodes based on the second request;

sending, by the controller, the second request to the target storage node;

receiving, by the target storage node, the second request from the controller;

generating, by the target storage node, the identifier of the storage partition based on the second request;

sending, by the target storage node, the identifier to the controller;

receiving, by the controller, the identifier from the target storage node;

sending, by the controller, the entry that comprises the mapping relationship between the identifier and the target storage node to the switch; and

receiving, by the switch, the entry from the controller, and updating the forwarding table based on the entry.

7 . The request processing method of claim 6 , further comprising:

generating, by the target storage node, a request processing result based on the first request;

sending, by the target storage node, the request processing result to the switch; and

receiving, by the switch, the request processing result, and sending the request processing result to the client.

8 . The request processing method of claim 6 , further comprising:

allocating, by the target storage node, a storage resource from a server partition corresponding to the identifier of the storage partition based on the first request when the first request is a data write request;

sending, by the target storage node, an address of the target storage node to the switch;

receiving, by the switch, the address of the target storage node; and

sending, by the switch, a response message comprising the address of the target storage node to the client.

9 . The request processing method of claim 8 , further comprising updating, by the controller, a partition mapping table in the controller based on the mapping relationship.

10 . The request processing method of claim 8 , further comprising updating, by the controller, a storage node status table in the controller based on the mapping relationship.

11 . The storage system of claim 1 , wherein the target storage node is further configured to:

read data from the storage partition based on the first request to obtain read data when the first request is a data read request; and

send the read data to the switch.

12 . The storage system of claim 3 , wherein the switch is further configured to:

receive a data write command from the client, wherein the data write command comprises to-be-written data; and

send the data write command to the target storage node based on the forwarding table.

13 . The storage system of claim 12 ,

wherein the target storage node is further configured to:

write the to-be-written data to the storage resource based on the data write command; and

send a data write result to the switch; and

wherein the switch is further configured to:

receive the data write result; and

send the data write result to the client.

14 . The storage system of claim 4 , wherein the controller has a function of a name server, and wherein the partition mapping table comprises a mapping relationship between a virtual name server and a storage node.

15 . The storage system of claim 1 , wherein the entry in the forwarding table further comprises an input port and an output port corresponding to the target storage node.

16 . The request processing method of claim 6 , wherein the target storage node is further configured to:

read data from the storage partition based on the first request to obtain read data when the first request is a data read request; and

send the read data to the switch.

17 . The request processing method of claim 8 , wherein the switch is further configured to:

receive a data write command from the client, wherein the data write command comprises to-be-written data; and

send the data write command to the target storage node based on the forwarding table.

18 . The request processing method of claim 17 , wherein

the target storage node is further configured to:

write the to-be-written data to the storage resource based on the data write command; and

send a data write result to the switch; and

wherein the switch is further configured to:

receive the data write result; and

send the data write result to the client.

19 . The request processing method of claim 9 , wherein the controller has a function of a name server, and wherein the partition mapping table comprises a mapping relationship between a virtual name server and a storage node.

20 . The request processing method of claim 6 , wherein the entry in the forwarding table further comprises an input port and an output port corresponding to the target storage node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2022
From: ZHA, WEI; HE, CHANGJUN
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 061672/0697 →
Priority Claims (2)
CN 202010159006.9 · Mar 9, 2020 · national
CN 202010568783.9 · Jun 19, 2020 · national
Continuity (2)
Continuation PCTCN2020114222 · Sep 9, 2020
Related Publication 20230004304A1 · Jan 5, 2023
References Cited (63)
US 9507720B2 · Yu · 2016 [cited by examiner]
US 10545667B1 · Magerramov · 2020 [cited by examiner]
US 11321021B2 · Luo · 2022 [cited by examiner]
US 11436157B2 · Luo · 2022 [cited by examiner]
US 11614867B2 · Feng · 2023 [cited by examiner]
US 11762555B2 · Yang · 2023 [cited by examiner]
US 11762741B2 · Takubo · 2023 [cited by examiner]
US 12038851B2 · Luo · 2024 [cited by examiner]
US 12346589B2 · Luo · 2025 [cited by examiner]
US 20150106420A1 · Warfield et al. · 2015 [cited by applicant]
US 20150106578A1 · Warfield et al. · 2015 [cited by applicant]
US 20170111450A1 · Zhou · 2017 [cited by applicant]
US 20170336998A1 · Gu · 2017 [cited by examiner]
US 20180212875A1 · Zhu · 2018 [cited by examiner]
US 20190140947A1 · Zhuang · 2019 [cited by examiner]
US 20200285591A1 · Luo · 2020 [cited by examiner]
US 20200356282A1 · Wu · 2020 [cited by examiner]
US 20210056074A1 · Zhu · 2021 [cited by examiner]
US 20220100384A1 · Yang · 2022 [cited by examiner]
US 20220342775A1 · Takubo · 2022 [cited by examiner]
US 20220382685A1 · Luo · 2022 [cited by examiner]
US 20230004304A1 · Zha · 2023 [cited by examiner]
US 20230015979A1 · Luo · 2023 [cited by examiner]
US 20250165150A1 · Zhang · 2025 [cited by examiner]
US 20250291505A1 · Luo · 2025 [cited by examiner]
CN 103795570A · 2014 [cited by applicant]
CN 104135539A · 2014 [cited by applicant]
CN 104301146A · 2015 [cited by applicant]
CN 105516263A · 2016 [cited by examiner]
CN 105610716A · 2016 [cited by applicant]
CN 106936731A · 2017 [cited by applicant]
CN 107491270B · 2020 [cited by examiner]
CN 109582213B · 2020 [cited by examiner]
CN 112130758A · 2020 [cited by examiner]
CN 109995813B · 2021 [cited by examiner]
CN 112527492A · 2021 [cited by examiner]
CN 113377280A · 2021 [cited by examiner]
CN 113391769A · 2021 [cited by examiner]
CN 115248720A · 2022 [cited by examiner]
CN 116048413B · 2023 [cited by examiner]
CN 116774905A · 2023 [cited by examiner]
CN 116954523B · 2024 [cited by examiner]
CN 118860297B · 2024 [cited by examiner]
CN 117311605B · 2025 [cited by examiner]
CN 120050289A · 2025 [cited by examiner]
CN 120295578A · 2025 [cited by examiner]
CN 120596533A · 2025 [cited by examiner]
EP 3196776A1 · 2017 [cited by applicant]
EP 3531266A1 · 2019 [cited by examiner]
EP 3531666A1 · 2019 [cited by examiner]
EP 3739440A1 · 2020 [cited by examiner]
EP 3531666B1 · 2021 [cited by examiner]
EP 4030296A1 · 2022 [cited by examiner]
EP 4102788A1 · 2022 [cited by examiner]
EP 4116815A1 · 2023 [cited by examiner]
EP 3985949B1 · 2024 [cited by examiner]
WO 2016023370A1 · 2016 [cited by applicant]
WO WO2019062856A1 · 2019 [cited by examiner]
WO WO2019127021A1 · 2019 [cited by examiner]
WO WO2019170004A1 · 2019 [cited by examiner]
WO WO2021179556A1 · 2021 [cited by examiner]
WO WO2021190232A1 · 2021 [cited by examiner]
WO WO2024164614A1 · 2024 [cited by examiner]