IP Library › Granted Patent US 12,524,154
Granted Patent B2
US 12,524,154 · App. 18/674,776 · Granted Jan 13, 2026

System and method using metadata to directly read target data in storage nodes

Inventors: Ren Ren (Shanghai, CN); Pingjing Guo (Shanghai, CN); Junjie Yang (Shanghai, CN); Lijie Ye (Chengdu, CN)
Assignee: Huawei Technologies Co., Ltd.
G06F3/0611G06F3/0641G06F3/067
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,524,154
App. No.
18/674,776
Filed
May 24, 2024
Granted
Jan 13, 2026
Kind
B2
Art Unit
2136
USPC
711/154
Abstract

A data storage system, an intelligent network interface card, and a compute node are provided, and belong to the field of data storage. The data storage system includes a compute node and a plurality of storage nodes. The compute node stores metadata, and the metadata may indicate an address at which target data is stored in the plurality of storage nodes. According to this application, the compute node may directly read the target data from a corresponding storage node based on the address indicated by the metadata stored in the compute node, does not need to perform cross-node data forwarding by using the plurality of storage nodes, and does not need to perform a plurality of times of metadata searching. This effectively reduces a data reading delay and improves a data reading speed.

Claims (69)

1 . A data storage system comprising:

a compute circuit configured to obtain a write request comprising a logical address and to-be-written data, determine fingerprint information of the to-be-written data, obtain metadata, and read target data in a storage node based on the metadata comprising a fingerprint information set,

wherein the fingerprint information set comprises fingerprint information of deduplication data stored in the plurality of storage nodes,

wherein the storage node is among a plurality of storage nodes configured to persistently store the target data, and

wherein the metadata indicates an address at which the target data is stored in the plurality of storage nodes;

a compute node configured to store the logical address and the fingerprint information of the to-be-written data,

wherein the compute node comprises an intelligent network interface card,

wherein the intelligent network interface card comprises a storage circuit, a compute circuit and an input/output (I/O) circuit,

wherein the storage circuit is configured to store the metadata, and

the compute circuit is further configured to, based on finding the fingerprint information of the to-be-written data is in the fingerprint information set,

store the logical address and the fingerprint information of the to-be-written data in the storage circuit,

delete the to-be-written data, and

control the I/O circuit to send the fingerprint information of the to-be-written data and the logical address to the storage node.

2 . The data storage system according to claim 1 , wherein the logical address is a second logical address, and wherein the metadata comprises a correspondence between a first logical address and physical address information, and the compute circuit is further configured to:

obtain a read request comprising the first logical address;

search the correspondence for physical address information corresponding to the first logical address; and

read the target data in the storage node based on the found first physical address information.

3 . The data storage system according to claim 2 , wherein the intelligent network interface card further comprises an input/output (I/O) circuit;

the compute circuit is further configured to, based on the first physical address information not being found, control the I/O circuit to send the read request to the storage node;

the storage node is configured to obtain the first physical address information, obtain the target data in the storage node based on the first physical address information, and send the obtained target data and the physical address information to the I/O circuit; and

the I/O circuit is configured to store the first logical address and the first physical address information in the storage circuit.

4 . The data storage system according to claim 2 , wherein the physical address information comprises the fingerprint information of deduplication data or a physical address of snapshot data.

5 . The data storage system according to claim 1 , wherein

the compute circuit is further configured to, based on not finding the fingerprint information of the to-be-written data in the fingerprint information set, control the I/O circuit to send the write request to the storage node; and

the storage node is configured to store the to-be-written data based on the write request.

6 . The data storage system according to claim 5 , wherein the compute circuit is further configured to:

after the storage node stores the to-be-written data, search the correspondence for physical address information associated with the logical address; and

based on finding the physical address information associated with the logical address, update the physical address information associated with the logical address to the fingerprint information of the to-be-written data.

7 . The data storage system according to claim 1 , wherein the intelligent network interface card is a data processing unit (DPU).

8 . An intelligent network interface card that stores metadata indicating an address at which target data is stored in a plurality of storage nodes, the intelligent network interface card comprising: and

an input/output (I/O) circuit, a storage circuit configured to store the metadata, and a compute circuit configured to obtain the metadata, and read the target data in the storage node based on the metadata,

wherein the intelligent network interface card is configured to obtain the metadata, and read the target data in the storage node based on the metadata,

wherein the metadata further comprises a fingerprint information set and

wherein the fingerprint information set comprises fingerprint information of deduplication data stored in the plurality of storage nodes; and

the compute circuit is further configured to obtain a write request comprising a logical address and to-be-written data, determine fingerprint information of the to-be-written data and, in response to determining the fingerprint information of the to-be-written data is in the fingerprint information set,

i. store in the storage circuit the logical address and the fingerprint information of the to-be-written data,

ii. delete the to-be-written data, and

iii. control the I/O circuit to send to the storage node the fingerprint information of the to-be-written data and the logical address, so that the storage node stores the logical address and the fingerprint information of the to-be-written data.

9 . The intelligent network interface card according to claim 8 , wherein the logical address is a second logical address, and wherein the metadata comprises a correspondence between a first logical address and physical address information, and the compute circuit is configured to:

obtain a read request comprising the first logical address;

search the correspondence for first physical address information associated with the first logical address; and

read the target data in the storage node based on the found first physical address information.

10 . The intelligent network interface card according to claim 9 , further comprising an input/output (I/O) circuit;

wherein the compute circuit is further configured to, based on not finding the first physical address information, control the I/O circuit to send the read request to the storage node; and

the I/O circuit is configured to receive the target data and the first physical address information obtained by the storage node based on the read request, and store the first logical address and the first physical address information in the storage circuit.

11 . The intelligent network interface card according to claim 10 , wherein the physical address information comprises fingerprint information of deduplication data or a physical address of snapshot data.

12 . The intelligent network interface card according to claim 9 , wherein the physical address information comprises the fingerprint information of deduplication data or a physical address of snapshot data.

13 . The intelligent network interface card according to claim 8 , wherein

the compute circuit is further configured to: based on the fingerprint information of the to-be-written data not being found in the fingerprint information set, control the I/O circuit to send the write request to the storage node, so that the storage node stores the to-be-written data based on the write request.

14 . The intelligent network interface card according to claim 13 , wherein

the compute circuit is further configured to: after the storage node stores the to-be-written data, search the correspondence for physical address information associated with the logical address; and based on the physical address information associated with the logical address being found, update the physical address information associated with the logical address to the fingerprint information of the to-be-written data.

15 . The intelligent network interface card according to claim 8 , wherein the intelligent network interface card is a data processing unit (DPU).

16 . An intelligent network interface card comprising an input/output (I/O) circuit, a storage circuit configured to store metadata and a compute circuit configured to obtain the metadata, and read target data in a storage node based on the metadata,

wherein the metadata indicates an address at which the target data is stored in a plurality of storage nodes,

wherein information in the metadata includes a correspondence between a logical address and physical address information, and

wherein the metadata further comprises a fingerprint information set which comprises fingerprint information of deduplication data stored in the plurality of storage nodes; and

the compute circuit is configured to:

obtain a read request comprising a first logical address:

search the correspondence for physical address information associated with the first logical address;

obtain a write request comprising a second logical address and to-be-written data;

determine fingerprint information of the to-be-written data; and

based on the fingerprint information of the to-be-written data being found in the fingerprint information set, store the second logical address and the fingerprint information of the to-be-written data in the storage circuit, delete the to-be-written data, and control the I/O circuit to send the fingerprint information of the to-be-written data and the second logical address to the storage node, so that the storage node stores the second logical address and the fingerprint information of the to-be-written data.

17 . The intelligent network interface card according to claim 16 , further comprising an input/output (I/O) circuit;

the compute circuit is further configured to, based on not finding the physical address information, control the I/O circuit to send the read request to the storage node; and

the I/O circuit is configured to receive the target data and the physical address information obtained by the storage node based on the read request, and store the logical address and the physical address information in the storage circuit.

18 . The intelligent network interface card according to claim 16 , wherein the physical address information comprises fingerprint information of deduplication data or a physical address of snapshot data.

19 . The intelligent network interface card according to claim 16 , wherein the compute circuit is further configured to:

based on the fingerprint information of the to-be-written data not being found in the fingerprint information set, control the I/O circuit to send the write request to the storage node, so that the storage node stores the to-be-written data based on the write request.

20 . The intelligent network interface card according to claim 16 , wherein the intelligent network interface card is a data processing unit (DPU).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2025
From: REN, REN; GUO, PINGJING; YANG, JUNJIE; YE, LIJIE
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 072179/0333 →
Priority Claims (1)
CN 202111413317.4 · Nov 25, 2021 · national
Continuity (2)
Continuation PCTCN2022107045 · Jul 21, 2022
Related Publication 20240311013A1 · Sep 19, 2024
References Cited (98)
US 6208999B1 · Spilo · 2001 [cited by examiner]
US 7475321B2 · Gurumurthi · 2009 [cited by examiner]
US 8396841B1 · Janakiraman · 2013 [cited by examiner]
US 8429359B1 · Desai · 2013 [cited by examiner]
US 8538919B1 · Nielsen · 2013 [cited by examiner]
US 8572163B1 · Bromley · 2013 [cited by examiner]
US 8593678B2 · Ohishi · 2013 [cited by examiner]
US 8732403B1 · Nayak · 2014 [cited by examiner]
US 9075705B2 · Hikichi · 2015 [cited by examiner]
US 9092182B2 · Ohishi · 2015 [cited by examiner]
US 9344596B2 · Ohishi · 2016 [cited by examiner]
US 9715434B1 · Xu · 2017 [cited by examiner]
US 9733836B1 · Garg · 2017 [cited by examiner]
US 9800291B1 · Ben David · 2017 [cited by examiner]
US 9892803B2 · Reed · 2018 [cited by examiner]
US 10108543B1 · Duggal · 2018 [cited by examiner]
US 10108544B1 · Duggal · 2018 [cited by examiner]
US 10228858B1 · Stoakes · 2019 [cited by examiner]
US 10346076B1 · Jonnala · 2019 [cited by examiner]
US 10365983B1 · Foley · 2019 [cited by examiner]
US 10430279B1 · Dittia · 2019 [cited by examiner]
US 10664165B1 · Faibish · 2020 [cited by examiner]
US 10795812B1 · Duggal · 2020 [cited by examiner]
US 10866742B1 · Patterson · 2020 [cited by examiner]
US 11119668B1 · Keller · 2021 [cited by examiner]
US 11144399B1 · Yarimi · 2021 [cited by examiner]
US 11550479B1 · Shatsky · 2023 [cited by examiner]
US 11704043B1 · Throgmorton · 2023 [cited by examiner]
US 20040039880A1 · Pentkovski · 2004 [cited by examiner]
US 20040117414A1 · Braun · 2004 [cited by examiner]
US 20060005074A1 · Yanai · 2006 [cited by examiner]
US 20060143406A1 · Chrysos · 2006 [cited by examiner]
US 20060156155A1 · Gurumurthi · 2006 [cited by examiner]
US 20080140902A1 · Townsend · 2008 [cited by examiner]
US 20080144079A1 · Pandey · 2008 [cited by examiner]
US 20080307020A1 · Ko · 2008 [cited by examiner]
US 20090041230A1 · Williams · 2009 [cited by examiner]
US 20090089483A1 · Tanaka · 2009 [cited by examiner]
US 20090204650A1 · Wong · 2009 [cited by examiner]
US 20100077013A1 · Clements · 2010 [cited by examiner]
US 20100082672A1 · Kottomtharayil · 2010 [cited by examiner]
US 20100088296A1 · Periyagaram · 2010 [cited by examiner]
US 20100125553A1 · Huang · 2010 [cited by examiner]
US 20100174881A1 · Anglin · 2010 [cited by examiner]
US 20100281081A1 · Stager · 2010 [cited by examiner]
US 20100333116A1 · Prahlad · 2010 [cited by examiner]
US 20110236049A1 · Haga · 2011 [cited by examiner]
US 20110302358A1 · Yu · 2011 [cited by examiner]
US 20130024423A1 · Doshi · 2013 [cited by examiner]
US 20130173554A1 · Ubukata · 2013 [cited by examiner]
US 20140114932A1 · Mallaiah · 2014 [cited by examiner]
US 20150161000A1 · Kim · 2015 [cited by examiner]
US 20150205816A1 · Periyagaram · 2015 [cited by examiner]
US 20150261776A1 · Attarde · 2015 [cited by examiner]
US 20160196216A1 · Lee · 2016 [cited by examiner]
US 20160196320A1 · Borowiec · 2016 [cited by examiner]
US 20160246799A1 · Constantinescu · 2016 [cited by examiner]
US 20160350324A1 · Wang · 2016 [cited by examiner]
US 20170010809A1 · Hironaka · 2017 [cited by examiner]
US 20170038978A1 · Li · 2017 [cited by examiner]
US 20170132082A1 · Resch · 2017 [cited by examiner]
US 20170132086A1 · Blackburn · 2017 [cited by examiner]
US 20170300422A1 · Szubbocsev · 2017 [cited by examiner]
US 20180138921A1 · Arelakis · 2018 [cited by examiner]
US 20180314727A1 · Epstein · 2018 [cited by examiner]
US 20190215365A1 · Chopra · 2019 [cited by examiner]
US 20200065256A1 · Palmer · 2020 [cited by examiner]
US 20200089420A1 · Sharoni · 2020 [cited by examiner]
US 20200133773A1 · Lingarajappa · 2020 [cited by examiner]
US 20200183846A1 · Cui · 2020 [cited by examiner]
US 20200250104A1 · Byun · 2020 [cited by examiner]
US 20200250158A1 · Hutchison · 2020 [cited by examiner]
US 20200264985A1 · Lee · 2020 [cited by examiner]
US 20200310686A1 · Truong · 2020 [cited by examiner]
US 20200349084A1 · Byun · 2020 [cited by examiner]
US 20200356282A1 · Wu · 2020 [cited by examiner]
US 20200409849A1 · Nallan Chakravarthi · 2020 [cited by examiner]
US 20210036714A1 · Martin · 2021 [cited by examiner]
US 20210318826A1 · Wei · 2021 [cited by examiner]
US 20210326207A1 · Zhan · 2021 [cited by examiner]
US 20210374021A1 · Santhakumar · 2021 [cited by examiner]
US 20220035788A1 · Aharoni · 2022 [cited by examiner]
US 20220121563A1 · Kamran · 2022 [cited by examiner]
US 20220155986A1 · Meiri · 2022 [cited by examiner]
US 20220187991A1 · Keller · 2022 [cited by examiner]
US 20220222113A1 · Shatsky · 2022 [cited by examiner]
US 20220342758A1 · Tal · 2022 [cited by examiner]
US 20220414102A1 · Shatsky · 2022 [cited by examiner]
US 20230068214A1 · Inglis · 2023 [cited by examiner]
US 20230112692A1 · Richard · 2023 [cited by examiner]
CN 112527186A · 2021 [cited by applicant]
EP 381447A · 1990 [cited by examiner]
TW 201214170A · 2012 [cited by examiner]
WO WO2013157103A1 · 2013 [cited by examiner]
Kevin Deierling, “What is DPU?”, May 20, 2020, pp. 1-6, https://blogs.nvidia.com/blog/whats-a-dpu-data-processing-unit/ (Year: 2020). [cited by examiner]
Kevin Deierling, “Achieving a Cloud-Scale Architecture with DPUs”, Jun. 18, 2021, pp. 1-7, https://web.archive.org/web/20210619040517/https://developer.nvidia.com/blog/achieving-a-cloud-scale-architecture-with-dpus/ (Ye… [cited by examiner]
Martin H. Davis, “An Intelligent Network Interface Card”, IEEE, 1999, pp. 1-6, https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=822056 (Year: 1999). [cited by examiner]
David Geer, “Reducing the Storage Burden via Data Deduplication”, Industry Trends, Dec. 2008, pp. 15-17, https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4712493 (Year: 2008). [cited by examiner]