Reducing flash memory write amplification and latency
First Claim
Patent Images
1. A method of storing data to a nonvolatile solid-state memory, comprising:
- distributing data from a host to a plurality of nonvolatile solid-state memories using a RAID-0 technique;
based on a utilization of a first region of a first one of the plurality of nonvolatile solid-state memories, selecting the first region of the first one of the plurality of nonvolatile solid-state memories for garbage collection;
copying valid data from a region of a nonvolatile random access memory to at least the first region of the first one of the plurality of nonvolatile solid-state memories as part of a process of garbage collection; and
while the process of garbage collection is being performed, distributing the data from the host to a subset of the plurality of nonvolatile solid-state memories using the RAID-0 technique, the subset of the plurality of nonvolatile solid-state memories not including the first one of the plurality of nonvolatile solid-state memories selected for garbage collection.
8 Assignments
0 Petitions
Accused Products
Abstract
Data is distributed to solid-state disks (SSDs) using the RAID-0 technique. Based on a utilization of a first region of a first one of the SSDs, the first region is selected for garbage collection. Valid data from the first region is copied to an active region of the first one of the SSDs as part of a process of garbage collection. While the process of garbage collection is being performed, data is distributed to a subset of the SSDs using the RAID-0 technique where the subset of the SSDs does not include the first one of the plurality of nonvolatile solid-state memories selected for garbage collection.
4 Citations
20 Claims
-
1. A method of storing data to a nonvolatile solid-state memory, comprising:
-
distributing data from a host to a plurality of nonvolatile solid-state memories using a RAID-0 technique; based on a utilization of a first region of a first one of the plurality of nonvolatile solid-state memories, selecting the first region of the first one of the plurality of nonvolatile solid-state memories for garbage collection; copying valid data from a region of a nonvolatile random access memory to at least the first region of the first one of the plurality of nonvolatile solid-state memories as part of a process of garbage collection; and while the process of garbage collection is being performed, distributing the data from the host to a subset of the plurality of nonvolatile solid-state memories using the RAID-0 technique, the subset of the plurality of nonvolatile solid-state memories not including the first one of the plurality of nonvolatile solid-state memories selected for garbage collection. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A nonvolatile solid-state memory storage system, comprising:
-
a plurality of nonvolatile solid-state memories; and a nonvolatile solid-state memory driver configured to distribute data from a host to the plurality of nonvolatile solid-state memories using a RAID-0 technique and configured to, based on a utilization of a first region of a first one of the plurality of nonvolatile solid-state memories, select the first region of the first one of the plurality of nonvolatile solid-state memories for garbage collection, and configured to copy valid data from a region of a nonvolatile random access memory to at least the first region of the first one of the plurality of nonvolatile solid-state memories as part of a process of garbage collection, and configured to, while the process of garbage collection is being performed, distribute the data from the host to a subset of the plurality of nonvolatile solid-state memories using the RAID-0 technique, the subset of the plurality of nonvolatile solid-state memories not including the first one of the plurality of nonvolatile solid-state memories selected for garbage collection. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable medium having instructions stored thereon for storing data to a nonvolatile solid-state memory that, when executed by a computer, at least instruct the computer to:
-
distribute data from a host to a plurality of nonvolatile solid-state memories using a RAID-0 technique; based on a utilization of a first region of a first one of the plurality of nonvolatile solid-state memories, select the first region of the first one of the plurality of nonvolatile solid-state memories for garbage collection; copy valid data from the first region of the first one of the plurality of nonvolatile solid-state memories to an active region of the first one of the plurality of nonvolatile solid-state memories as part of a process of garbage collection; and while the process of garbage collection is being performed, distribute the data from the host to a subset of the plurality of nonvolatile solid-state memories using the RAID-0 technique, the subset of the plurality of nonvolatile solid-state memories not including the first one of the plurality of nonvolatile solid-state memories selected for garbage collection. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification