METHODS FOR TAG-GROUPING OF BLOCKS IN STORAGE DEVICES
First Claim
1. A method for storing data, the method comprising the steps of:
- (a) receiving data to be stored in a memory that includes at least three blocks, wherein each said block, for storing said data, has at least one metadata value, associated with said each block, that is dependent upon a writing time of said each block;
(b) grouping said at least three blocks into at least two block groups, wherein at least one said block group contains at least two blocks;
(c) associating a respective metadata value with each said block group; and
(d) associating said respective metadata value of a respective block group with each block storing said data contained in said respective block group, without storing a dedicated copy of said at least one metadata value for each said block.
3 Assignments
0 Petitions
Accused Products
Abstract
Embodiments described herein disclose methods, devices, and media for storing data. Methods including the steps of: receiving data to be stored in a memory that includes at least three blocks, wherein each block, for storing the data, has at least one metadata value, associated with each block, that is dependent upon a writing time of each block; grouping at least three blocks into at least two block groups, wherein at least one block group contains at least two blocks; associating a respective metadata value with each block group; and associating the respective metadata value of a respective block group with each block storing the data contained in the respective block group, without storing a dedicated copy of at least one metadata value for each block. In some embodiments, at least one metadata value is stored in a block-group table.
-
Citations
30 Claims
-
1. A method for storing data, the method comprising the steps of:
-
(a) receiving data to be stored in a memory that includes at least three blocks, wherein each said block, for storing said data, has at least one metadata value, associated with said each block, that is dependent upon a writing time of said each block; (b) grouping said at least three blocks into at least two block groups, wherein at least one said block group contains at least two blocks; (c) associating a respective metadata value with each said block group; and (d) associating said respective metadata value of a respective block group with each block storing said data contained in said respective block group, without storing a dedicated copy of said at least one metadata value for each said block. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for storing data, the method comprising the steps of:
-
(a) receiving data to be stored in a memory that includes at least three blocks, wherein each said block, for storing said data, has at least one metadata value, associated with said each block, that is dependent upon a writing time of said each block; (b) grouping said at least three blocks into at least two block groups, wherein at least one said block group contains at least two blocks; (c) associating a sequential tag with each said block group, wherein a first block group having a previous sequential tag is indicative of being written to earlier in time than a second block group having a subsequent sequential tag; and (d) associating a respective metadata value with each respective sequential tag. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method for storing data, the method comprising the steps of:
-
(a) receiving data to be stored in a memory that includes at least three word-lines, and wherein each said word-line, for storing said data, has at least one metadata value, associated with said each word-line, that is dependent upon a writing time of said each word-line; (b) grouping said at least three word-lines into at least two word-line groups, wherein at least one said word-line group contains at least two word-lines; (c) associating a respective metadata value with each said word-line group; and (d) associating said respective metadata value of a respective word-line group with each word-line storing said data contained in said respective word-line group, without storing a dedicated copy of said at least one metadata value for each said word-line. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A method for storing data, the method comprising the steps of:
-
(a) receiving data to be stored in a memory that includes at least three word-lines, and wherein each said word-line, for storing said data, has at least one metadata value, associated with said each word-line, that is dependent upon a writing time of said each word-line; (b) grouping said at least three word-lines into at least two word-line groups, wherein at least one said word-line group contains at least two word-lines; (c) associating a sequential tag with each said word-line group, wherein a first word-line group having a previous sequential tag is indicative of being written to earlier in time than a second word-line group having a subsequent sequential tag; and (d) associating a respective metadata value with each respective sequential tag. - View Dependent Claims (20, 21, 22)
-
-
23. A memory device comprising:
(a) a controller for storing data in a memory that includes at least three blocks, wherein each said block, for storing said data, has at least one metadata value, associated with said each block, that is dependent upon a writing time of said each block, said controller configured for; (i) grouping said at least three blocks into at least two block groups, wherein at least one said block group contains at least two blocks; (ii) associating a respective metadata value with each said block group; and (iii) associating said respective metadata value of a respective block group with each block storing said data contained in said respective block group, without storing a dedicated copy of said at least one metadata value for each said block.
-
24. A memory device comprising:
(a) a controller for storing data in a memory that includes at least three blocks, wherein each said block, for storing said data, has at least one metadata value, associated with said each block, that is dependent upon a writing time of said each block, said controller configured for; (i) grouping said at least three blocks into at least two block groups, wherein at least one said block group contains at least two blocks; (ii) associating a sequential tag with each said block group, wherein a first block group having a previous sequential tag is indicative of being written to earlier in time than a second block group having a subsequent sequential tag; and (iii) associating a respective metadata value with each respective sequential tag.
-
25. A memory device comprising:
(a) a controller for storing data in a memory that includes at least three word-lines, wherein each said word-line, for storing said data, has at least one metadata value, associated with said each word-line, that is dependent upon a writing time of said each word-line, said controller configured for; (i) grouping said at least three word-lines into at least two word-line groups, wherein at least one said word-line group contains at least two word-lines; (ii) associating a respective metadata value with each said word-line group; and (iii) associating said respective metadata value of a respective word-line group with each word-line storing said data contained in said respective word-line group, without storing a dedicated copy of said at least one metadata value for each said word-line.
-
26. A memory device comprising:
(a) a controller for storing data in a memory that includes at least three word-lines, wherein each said word-line, for storing said data, has at least one metadata value, associated with said each word-line, that is dependent upon a writing time of said each word-line, said controller configured for; (i) grouping said at least three word-lines into at least two word-line groups, wherein at least one said word-line group contains at least two word-lines; (ii) associating a sequential tag with each said word-line group, wherein a first word-line group having a previous sequential tag is indicative of being written to earlier in time than a second word-line group having a subsequent sequential tag; and (iii) associating a respective metadata value with each respective sequential tag.
-
27. A computer-readable storage medium having computer-readable code embodied therein, the computer-readable code comprising:
(a) driver code for a memory device having a memory that includes at least three blocks, wherein each said block, for storing data, has at least one metadata value, associated with said each block, that is dependent upon a writing time of said each block, said driver code configured for; (i) grouping said at least three blocks into at least two block groups, wherein at least one said block group contains at least two blocks; (ii) associating a respective metadata value with each said block group; and (iii) associating said respective metadata value of a respective block group with each block storing said data contained in said respective block group, without storing a dedicated copy of said at least one metadata value for each said block.
-
28. A computer-readable storage medium having computer-readable code embodied therein, the computer-readable code comprising:
(a) driver code for a memory device having a memory that includes at least three blocks, wherein each said block, for storing data, has at least one metadata value, associated with said each block, that is dependent upon a writing time of said each block, said driver code configured for; (i) grouping said at least three blocks into at least two block groups, wherein at least one said block group contains at least two blocks; (ii) associating a sequential tag with each said block group, wherein a first block group having a previous sequential tag is indicative of being written to earlier in time than a second block group having a subsequent sequential tag; and (iii) associating a respective metadata value with each respective sequential tag.
-
29. A computer-readable storage medium having computer-readable code embodied therein, the computer-readable code comprising:
(a) driver code for a memory device having a memory that includes at least three word-lines, wherein each said word-lines, for storing data, has at least one metadata value, associated with said each word-lines, that is dependent upon a writing time of said each word-lines, said driver code configured for; (i) grouping said at least three word-lines into at least two word-line groups, wherein at least one said word-line group contains at least two word-lines; (ii) associating a respective metadata value with each said word-line group; and (iii) associating said respective metadata value of a respective word-line group with each word-line storing said data contained in said respective word-line group, without storing a dedicated copy of said at least one metadata value for each said word-line.
-
30. A computer-readable storage medium having computer-readable code embodied therein, the computer-readable code comprising:
(a) driver code for a memory device having a memory that includes at least three word-lines, wherein each said word-lines, for storing data, has at least one metadata value, associated with said each word-lines, that is dependent upon a writing time of said each word-lines, said driver code configured for; (i) grouping said at least three word-lines into at least two word-line groups, wherein at least one said word-line group contains at least two word-lines; (ii) associating a sequential tag with each said word-line group, wherein a first word-line group having a previous sequential tag is indicative of being written to earlier in time than a second word-line group having a subsequent sequential tag; and (iii) associating a respective metadata value with each respective sequential tag.
Specification