Profile-Dependent Write Placement of Data into a Non-Volatile Solid-State Storage

US2016004631A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016004631-A1
Application numberUS-201414323876-A
CountryUS
Kind codeA1
Filing dateJul 3, 2014
Priority dateJul 3, 2014
Publication dateJan 7, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016004631A1 cover?
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 per…
Who is the assignee on this patent?
Pure Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0246. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jan 07 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).