Dynamically Reconfiguring Rebuild Agents For Erasure Code Rebuild
US-2015229338-A1 · Aug 13, 2015 · US
US2016004631A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016004631-A1 |
| Application number | US-201414323876-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jul 3, 2014 |
| Priority date | Jul 3, 2014 |
| Publication date | Jan 7, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for storing user data is provided. The method includes distributing the 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 performing analytics on user data and grouping portions of the user data according to results of the analytics. The method includes writing the user data to blocks of flash memory in the non-volatile solid-state memory, wherein each block receives portions of the user data grouped according to at least one of the results of the analytics.
Opening claim text (preview).
What is claimed is: 1 . A method for storing user data, comprising: distributing the 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; performing analytics on user data; grouping portions of the user data according to results of the analytics; and writing the user data to blocks of flash memory in the non-volatile solid-state memory, wherein each block receives portions of the user data grouped according to at least one of the results of the analytics. 2 . The method of claim 1 , wherein the analytics are through metadata and access patterns and are unrelated to access time of the user data in the non-volatile solid-state memory. 3 . The method of claim 1 , wherein the at least one of the results of the analytics indicates whether or not a portion of the user data is updated in non-volatile random-access memory (NVRAM). 4 . The method of claim 1 , wherein the at least one of the results of the analytics indicates whether or not a file is written end-to-end. 5 . The method of claim 1 , wherein the at least one of the results of the analytics indicates an expected file lifespan. 6 . The method of claim 1 , wherein the at least one of the results of the analytics indicates a usage pattern associated with an Internet Protocol (IP) address. 7 . The method of claim 1 , wherein the at least one of the results of the analytics indicates whether or not a file is updated more frequently than a specified parameter. 8 . A method for placing user data in a non-volatile solid-state storage, comprising: analyzing metadata and access patterns relative to user data; sorting the user data into a plurality of groups, based on results of the analyzing; and placing the plurality of groups of user data into blocks of flash memory in the non-volatile solid-state storage, such that a first block of flash memory in the non-volatile solid-state storage has at least a portion of a first one of the plurality of groups of user data and a second block of flash memory in the non-volatile solid-state storage has at least a portion of a second one of the plurality of groups of user data. 9 . The method of claim 8 , wherein the analyzing and sorting are performed by a host processor communicating with the non-volatile solid-state storage. 10 . The method of claim 8 , further comprising: obsoleting all of the user data in one of the blocks of flash memory in the non-volatile solid-state storage; and erasing the one of the blocks of flash memory, to recover the one of the blocks of flash memory for future writing. 11 . The method of claim 8 , wherein sorting the user data into a plurality of groups includes sorting the user data by file size. 12 . The method of claim 8 , wherein sorting the user data into a plurality of groups includes sorting the user data by expected file lifespan. 13 . The method of claim 8 , wherein sorting the user data into a plurality of groups includes sorting the user data by source Internet Protocol (IP) address. 14 . The method of claim 8 , wherein sorting the user data into a plurality of groups includes sorting the user data by whether or not the user data is updated in a non-volatile random-access memory (NVRAM) of the non-volatile solid-state storage prior to transfer to the flash memory. 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 sorter, coupled to the at least one non-volatile solid-state storage, the sorter configured to perform actions including: analyzing user data as to metadata and access patterns; and writing the user data into a plurality of blocks of the nonvolatile solid-state memory according to the analyzing, wherein each of the plurality of blocks of the nonvolatile solid-state memory receives portions of the user data grouped according to like characteristics based on the metadata and access patterns. 16 . The storage cluster of claim 15 , wherein writing the user data into a plurality of blocks comprises: writing at least portions of files having less than a specified file size to a first flash memory block; and writing at least portions of files having greater than or equal the specified file size to a second flash memory block. 17 . The storage cluster of claim 15 , further comprising: the at least one non-volatile solid-state storage further having non-volatile random-access memory (NVRAM), wherein writing the user data into a plurality of blocks comprises: writing at least portions of user data having updates in the NVRAM to a first flash memory block; and writing at least portions of user data that have no updates in the NVRAM to a second flash memory block. 18 . The storage cluster of claim 15 , wherein writing the user data comprises: writing at least portions of files of a first expected file lifespan to a first flash memory block; and writing at least portions of files of a second expected file lifespan to a second flash memory block. 19 . The storage cluster of claim 15 , wherein writing the user data comprises: writing at least portions of files that are written end-to-end to a first flash memory block; and writing at least portions of files that have updates to a second flash memory block. 20 . The storage cluster of claim 15 , wherein writing the user data comprises: writing at least portions of files that have a first Internet Protocol (IP) address to a first flash memory block; and writing at least portions of files that have a second IP address to a second flash memory block.
in block erasable memory, e.g. flash memory · CPC title
Cleaning, compaction, garbage collection, erase control · CPC title
for a range · CPC title
Performance improvement · CPC title
management of metadata or control data · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.