Back to results
US 11,579,777 B2Granted
Data writing method, client server, and system
AssigneeHuawei Technologies Co., Ltd.
InventorsSiwei Luo, Lei Zhang, Feng Wang, Xin Fang
Life of this patent
Estimating the term…
Abstract
In a method disclosed for writing data, a device receives data, divides the data into one or more data fragments, obtains a first parity fragment based on the one or more data fragments and a second parity fragment of a written data fragment in a stripe distributed across a plurality of nodes, stores the one or more data fragments and the first parity fragment in the stripe.
Claims4
A data writing method, comprising:
- receiving, by a device, second data;
- obtaining, by the device, data fragments from the second data according to a stripe unit size of stripes in a storage system;
- identifying a target stripe for writing the second data, wherein the target stripe comprises a plurality of data units and at least one parity unit distributed across a plurality of data nodes and at least one parity node in the storage system;
- storing, by the device, the data fragments of the second data into corresponding data units of the target stripe;
- writing, by the device, the data fragments of the second data into the at least one parity node for buffering the second data;
- receiving, by the device, first data;
- dividing, by the device, the first data into data fragments based on the stripe unit size;
- storing, by the device, the data fragments of the first data into corresponding data units of the target stripe subsequent to the data fragments of the second data stored in the target stripe;
- writing, by the device, the data fragments of the first data into the at least one parity node for buffering the first data;
- indicating, by the device to the at least one parity node, that the target stripe is full;
- generating, by the at least one parity node in response to the target stripe being full, at least one parity fragment of the target stripe based on data fragments corresponding to the target stripe buffered on the at least one parity node;
- and
- storing, by the at least one parity node, the at least one parity fragment into the at least one parity unit of the target stripe.
10 more elements
A storage system comprising:
- a client server;
- and
- a plurality of data nodes and at least one parity node;
- wherein the client server is configured to:
- receive second data;
- obtain data fragments from the second data according to a stripe unit size of stripes in the storage system;
- identify a target stripe for writing the second data, wherein the target stripe comprises a plurality of data units and at least one parity unit distributed across the plurality of data nodes and the at least one parity node in the storage system;
- store the data fragments of the second data into corresponding data units of the target stripe;
- write the data fragments of the second data into the at least one parity node for buffering the second data;
- receive first data;
- divide the first data into data fragments based on the stripe unit size;
- store the data fragments of the first data into corresponding data units of the target stripe subsequent to the data fragments of the second data stored in the target stripe;
- write the data fragments of the first data into the at least one parity node for buffering the first data;
- and
- indicate, to the at least one parity node, that the target stripe is full;
- wherein the at least one parity node is configured to:
- in response to the target stripe being full, generate at least one parity fragment of the target stripe based on data fragments corresponding to the target stripe buffered on the at least one parity node;
- and
- store the at least one parity fragment into the at least one parity unit of the target stripe.
16 more elements
Dependencies are inferred from the claim text.