Self-describing data format for DMA in a non-volatile solid-state storage
First Claim
1. A method of applying a data format in a direct memory access transfer, comprising:
- distributing user data throughout a plurality of storage nodes through erasure coding, each of the plurality of storage nodes having nonvolatile solid-state memory for user data storage;
reading a self-describing data portion that is one of a plurality of self-describing data portions from a first memory of the nonvolatile solid-state memory, each of the plurality of self-describing data portions comprising a self-contained combination of data, a destination section having information regarding a destination of the data, and a status section having information about transfer of the data from the first memory to a second memory of the nonvolatile solid-state memory;
extracting the destination from the self-describing data portion; and
writing the data, from the self-describing data portion, to the second memory of the nonvolatile solid-state memory according to the destination and the information in the status section of the self-describing data portion.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of applying a data format in a direct memory access transfer is provided. The method includes distributing user data throughout a plurality of storage nodes through erasure coding, wherein the plurality of storage nodes are housed within a single chassis that couples the storage nodes as a cluster, each of the plurality of storage nodes having nonvolatile solid-state memory for user data storage. The method includes reading a self-describing data portion from a first memory of the nonvolatile solid-state memory and extracting a destination from the self-describing data portion. The method includes writing data, from the self-describing data portion, to a second memory of the nonvolatile solid-state memory according to the destination.
266 Citations
20 Claims
-
1. A method of applying a data format in a direct memory access transfer, comprising:
-
distributing user data throughout a plurality of storage nodes through erasure coding, each of the plurality of storage nodes having nonvolatile solid-state memory for user data storage; reading a self-describing data portion that is one of a plurality of self-describing data portions from a first memory of the nonvolatile solid-state memory, each of the plurality of self-describing data portions comprising a self-contained combination of data, a destination section having information regarding a destination of the data, and a status section having information about transfer of the data from the first memory to a second memory of the nonvolatile solid-state memory; extracting the destination from the self-describing data portion; and writing the data, from the self-describing data portion, to the second memory of the nonvolatile solid-state memory according to the destination and the information in the status section of the self-describing data portion. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of moving data by direct memory access (DMA), comprising:
-
directing a DMA unit to move data from a first memory to a second memory; extracting, using the DMA unit, destination information from a self-describing data portion in the first memory, wherein a plurality of self-describing data portions are within the first memory, each of the self-describing data portions comprising a self-contained combination of data, a destination section having information regarding a destination of the data, and a status section having information about transfer of the data from the first memory to a second memory of the nonvolatile solid-state memory; extracting, using the DMA unit, the data from the self-describing data portion; and writing, using the DMA unit, the data to a destination in the second memory according to the destination information and the information in the status section of the self-describing data portion. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A storage cluster, comprising:
-
a plurality of storage nodes within a single chassis, each of the plurality of storage nodes having nonvolatile solid-state memory for storage of user data, the nonvolatile solid-state memory comprising; a first memory, configured to hold a plurality of self-describing data portions, each comprising a self-contained combination of data, a destination section having information regarding a destination of the data, and a status section having information about transfer of the data from the first memory to a second memory of the nonvolatile solid-state memory; a second memory; and a direct memory access (DMA) unit, configured to perform actions including; extracting a destination from one of the plurality of self-describing data portions in the first memory; and writing data, from the one of the plurality of self-describing data portions, to the destination in the second memory. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification