Method for wear leveling in a nonvolatile memory
First Claim
Patent Images
1. A method for writing and reading data in electrically erasable and programmable nonvolatile memory cells comprising:
- defining data pages in a first nonvolatile memory zone;
defining in the data pages programmable data blocks;
defining in a second nonvolatile memory zone, metadata pages comprising metadata structures associated with the data pages present in the first nonvolatile memory zone and wherein each of the data pages is associated with a metadata structure of the metadata pages, each metadata structure including a wear counter containing a value representative of a number of times that the data page associated with the metadata structure has been erased;
attributing to each metadata page a wear counter containing a value representative of a number of times that a metadata page to which the wear counter is attributed has been erased;
arranging a wear counter of a metadata page inside the metadata page;
before erasing the metadata page, writing in the second nonvolatile memory zone a temporary information structure comprising;
an address in the second nonvolatile memory zone of the metadata page and a wear counter of the metadata page; and
after having erased the metadata page;
reading the wear counter from the temporary information structure;
incrementing the wear counter read from the temporary information structure; and
writing the incremented wear counter in the erased metadata page.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for writing and reading data memory cells, comprising: defining in a first memory zone erasable data pages and programmable data blocks; and, in response to write commands of data, writing data in erased blocks of the first memory zone, and writing, in a second memory zone, metadata structures associated with data pages and comprising, for each data page, a wear counter containing a value representative of the number of times that the page has been erased.
32 Citations
23 Claims
-
1. A method for writing and reading data in electrically erasable and programmable nonvolatile memory cells comprising:
-
defining data pages in a first nonvolatile memory zone; defining in the data pages programmable data blocks; defining in a second nonvolatile memory zone, metadata pages comprising metadata structures associated with the data pages present in the first nonvolatile memory zone and wherein each of the data pages is associated with a metadata structure of the metadata pages, each metadata structure including a wear counter containing a value representative of a number of times that the data page associated with the metadata structure has been erased; attributing to each metadata page a wear counter containing a value representative of a number of times that a metadata page to which the wear counter is attributed has been erased; arranging a wear counter of a metadata page inside the metadata page; before erasing the metadata page, writing in the second nonvolatile memory zone a temporary information structure comprising;
an address in the second nonvolatile memory zone of the metadata page and a wear counter of the metadata page; andafter having erased the metadata page; reading the wear counter from the temporary information structure; incrementing the wear counter read from the temporary information structure; and writing the incremented wear counter in the erased metadata page. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An integrated circuit comprising:
-
a processing unit; and at least one nonvolatile memory, communicatively coupled to the processing unit, comprising electrically erasable and programmable memory cells, wherein the processing unit is configured to receive write or read commands and to execute commands that cause the following to be performed; defining data pages in a first nonvolatile memory zone; defining in the data pages programmable data blocks; defining in a second nonvolatile memory zone, metadata pages comprising metadata structures associated with the data pages present in the first nonvolatile memory zone and wherein each of the data pages is associated with a metadata structure of the metadata pages, each metadata structure including a wear counter containing a value representative of a number of times that the data page associated with the metadata structure has been erased; attributing to each metadata page a wear counter containing a value representative of a number of times that a metadata page to which the wear counter is attributed has been erased; arranging a wear counter of a metadata page inside the metadata page; before erasing the metadata page, writing in the second nonvolatile memory zone a temporary information structure comprising;
an address in the second nonvolatile memory zone of the metadata page and a wear counter of the metadata page; andafter having erased the metadata page; reading the wear counter from the temporary information structure; incrementing the wear counter read from the temporary information structure; and writing the incremented wear counter in the erased metadata page. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A portable device comprising:
-
a portable device housing; and an integrated circuit within the housing, the integrated circuit comprising; a processing unit; and at least one nonvolatile memory, communicatively coupled to the processing unit, comprising electrically erasable and programmable memory cells, wherein the processing unit is configured to receive write or read commands and to execute commands that cause the following to be performed; defining data pages in a first nonvolatile memory zone; defining in the data pages programmable data blocks; defining in a second nonvolatile memory zone, metadata pages comprising metadata structures associated with the data pages present in the first nonvolatile memory zone and wherein each of the data pages is associated with a metadata structure of the metadata pages, each metadata structure including a wear counter containing a value representative of a number of times that the data page associated with the metadata structure has been erased; attributing to each metadata page a wear counter containing a value representative of a number of times that a metadata page to which the wear counter is attributed has been erased; arranging a wear counter of a metadata page inside the metadata page; before erasing the metadata page, writing in the second nonvolatile memory zone a temporary information structure comprising;
an address in the second nonvolatile memory zone of the metadata page and a wear counter of the metadata page; andafter having erased the metadata page; reading the wear counter from the temporary information structure; incrementing the wear counter read from the temporary information structure; and writing the incremented wear counter in the erased metadata page. - View Dependent Claims (20, 21, 22, 23)
-
Specification