Stripe based memory operation
First Claim
Patent Images
1. A method for stripe-based memory operation, comprising:
- writing data in a first stripe having a particular stripe size and being across a storage volume of a plurality of memory devices;
updating a portion of the first stripe including;
writing updated data in a portion of a second stripe, the second stripe having the particular stripe size and being across the storage volume of the plurality of memory devices; and
invalidating the portion of the first stripe; and
maintaining the invalid portion of the first stripe and a remainder of the first stripe until the first stripe is reclaimed.
8 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure includes methods and devices for stripe-based memory operation. One method embodiment includes writing data in a first stripe across a storage volume of a plurality of memory devices. A portion of the first stripe is updated by writing updated data in a portion of a second stripe across the storage volume of the plurality of memory devices. The portion of the first stripe is invalidated. The invalid portion of the first stripe and a remainder of the first stripe are maintained until the first stripe is reclaimed. Other methods and devices are also disclosed.
27 Citations
55 Claims
-
1. A method for stripe-based memory operation, comprising:
-
writing data in a first stripe having a particular stripe size and being across a storage volume of a plurality of memory devices; updating a portion of the first stripe including; writing updated data in a portion of a second stripe, the second stripe having the particular stripe size and being across the storage volume of the plurality of memory devices; and invalidating the portion of the first stripe; and maintaining the invalid portion of the first stripe and a remainder of the first stripe until the first stripe is reclaimed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for stripe-based memory operation, comprising:
-
writing original data in a first stripe across a storage volume of a plurality of memory devices; updating at least a fragment of the written original data, wherein updating includes writing updated data in a second stripe without reading or copying the written original data; and wherein the method includes writing unrelated data in the second stripe concurrent with writing the updated data in the second stripe, wherein the unrelated data is unrelated to the original data in the first stripe and the updated data in the second stripe. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for stripe-based memory operation, comprising:
-
writing data in a stripe across a storage volume of a plurality of memory devices; detecting an error associated with a portion of the stripe; effectively removing the portion of the stripe from the stripe in response to detecting the error; and operating the stripe without the removed portion. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
-
29. Memory system control circuitry, comprising:
non-volatile memory control circuitry configured to; write original data associated with a plurality of addresses in a first stripe across a plurality of channels; write updated data associated with at least one of the plurality of addresses in a second stripe across the plurality of channels without reading or copying the original data in the first stripe; and write unrelated data in the second stripe concurrent with writing the updated data in the second stripe, wherein the unrelated data is unrelated to the original data in the first stripe and the updated data in the second stripe. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37)
-
38. Memory system control circuitry, comprising:
-
non-volatile memory control circuitry configured to; write received data in a stripe across a plurality of channels; and detect an error associated with a portion of the stripe; and memory management circuitry configured to effectively remove the portion of the stripe from the stripe in response to the non-volatile memory control circuitry detecting the error; wherein the non-volatile memory control circuitry is further configured to operate the stripe without the removed portion of the stripe. - View Dependent Claims (39, 40, 41, 42, 43, 44)
-
-
45. A memory system, comprising:
-
control circuitry; and a plurality of solid state memory devices, wherein; each of the plurality of solid state memory devices is coupled to the control circuitry by a respective one of a plurality of channels; and the plurality of solid state memory devices provide a storage volume for the memory system; wherein the control circuitry is configured to; write data in a stripe across the storage volume of the plurality of solid state memory devices across the plurality of channels; read data from a portion of the stripe across one of the plurality of channels; and reclaim portions of the storage volume on a stripe-basis in response to one or more of the group including; all portions of the particular stripe having an invalid indication in the block table; and a garbage collection threshold amount of portions of the particular stripe having an invalid indication in the block table, wherein the threshold amount of portions is greater than one and less than all portions. - View Dependent Claims (46, 47, 48, 49, 50, 51)
-
-
52. A method for stripe-based memory operation, comprising:
-
writing original data in a first stripe across a storage volume of a plurality of memory devices; updating at least a fragment of the written original data, wherein updating includes writing updated data in a second stripe without reading or copying the written original data; calculating respective first level error correction data based on each fragment of the original data; calculating second level error correction data based on the original data; wherein writing the original data includes writing the original data and the first level error correction data in a first subset of the plurality of memory devices, and writing the second level error correction data in a second subset of the plurality of memory devices; detecting an error in a fragment of original data in the first stripe, wherein the error is uncorrectable with the first level error correction data; and correcting the error, wherein correcting the error includes; creating replacement data for the fragment of original data based on at least a remainder of the original data and the second level error correction data in the first stripe; and writing the replacement data in a third stripe without writing the remainder of the original data in the third stripe. - View Dependent Claims (53)
-
-
54. A memory system, comprising:
-
control circuitry; a volatile memory coupled to the control circuitry and storing a block table; a plurality of solid state memory devices, wherein; each of the plurality of solid state memory devices is coupled to the control circuitry by a respective one of a plurality of channels; the plurality of solid state memory devices provide a storage volume for the memory system; and a copy of the block table is stored in at least one of the plurality of solid state memory devices; wherein the control circuitry is configured to; write data in a stripe across the storage volume of the plurality of solid state memory devices across the plurality of channels; read data from a portion of the stripe across one of the plurality of channels; reclaim portions of the storage volume on a stripe-basis; maintain a block table with information regarding validity of portions of the stripe; indicate that a portion of the stripe is invalid in the block table in response to updated data corresponding to the portion of the stripe being written to another stripe; and operate the stripe without the invalid portion. - View Dependent Claims (55)
-
Specification