Systems and methods for storage parallelism
First Claim
Patent Images
1. A method, comprising:
- streaming a data segment to a single write buffer corresponding to a virtual page comprising at least two physical pages, each physical page defined within a respective solid-state storage element of a plurality of solid-state storage elements;
programming contents of the single write buffer to the virtual page, such that a first portion of the datai segment is programmed to a first one of the physical pages, and a second portion of the data segment is programmed to a second one of the physical pages; and
initializing a storage division comprising a plurality of virtual pages by;
relocating valid data stored on the virtual pages of the storage division to virtual pages of another storage division of the plurality of solid-state storage elements; and
erasing the storage division.
14 Assignments
0 Petitions
Accused Products
Abstract
One method includes streaming a data segment to a write buffer corresponding to a virtual page including at least two physical pages. Each physical page is defined within a respective solid-state storage element. The method also includes programming contents of the write buffer to the virtual page, such that a first portion of the data segment is programmed to a first one of the physical pages, and a second portion of the data segment is programmed to a second one of the physical pages.
301 Citations
17 Claims
-
1. A method, comprising:
-
streaming a data segment to a single write buffer corresponding to a virtual page comprising at least two physical pages, each physical page defined within a respective solid-state storage element of a plurality of solid-state storage elements; programming contents of the single write buffer to the virtual page, such that a first portion of the datai segment is programmed to a first one of the physical pages, and a second portion of the data segment is programmed to a second one of the physical pages; and initializing a storage division comprising a plurality of virtual pages by; relocating valid data stored on the virtual pages of the storage division to virtual pages of another storage division of the plurality of solid-state storage elements; and erasing the storage division. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus, comprising:
-
a storage controller configured to perform storage operations on at least two solid-state storage elements of a plurality of solid-state storage elements; a storage bus configured to couple the at least two solid-state storage elements to the storage controller in parallel; and a single write data module configured to store a data segment on two or more solid-state storage elements of the plurality of solid-state storage elements, wherein the single write data module is configured to stream a plurality of data segments to a virtual page, the virtual page comprises a respective page of each solid-state storage element of the plurality of solid-state storage elements, each solid-state storage element comprising respective storage divisions, each storage division comprising a respective page of the virtual page, and, in response to a failure of one of the storage divisions of the virtual page, the storage controller is configured to map a replacement storage division into the virtual page. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A computer-program product comprising program code configured for execution by a computing device to cause the computing device to perform operations, comprising:
-
transferring data of a data block from a single write buffer to at least two different storage units of respective, independent flash storage elements of a plurality of flash storage elements; generating a single write command configured to store the data of the data block on the at least two storage units of the respective, independent flash storage elements; and initializing a storage division comprising a plurality of virtual pages by; relocating valid data stored on the virtual pages of the storage division to virtual pages of another storage division of the plurality of flash storage elements; and erasing the storage division. - View Dependent Claims (14, 15, 16, 17)
-
Specification