Optimizing write/erase operations in memory devices
First Claim
Patent Images
1. A method of controlling write/erase operations in a memory device including memory blocks, said blocks being exposed to wear as a result of repeated erasures, the method comprising:
- arranging the blocks in the memory device in orderly logical positions;
storing erase counts associated with the memory blocks in a table, entering as an i-th entry in the table a number of erasures performed on a block in an i-th position in the memory device;
creating a chain storing block numbers and corresponding erase counts for memory blocks that are available for writing at a certain instant of time;
selecting for writing, out of the blocks of said memory device available for writing, the block having the lowest erase count in said chain; and
writing data in said block having the lowest erase count in said chain.
9 Assignments
0 Petitions
Accused Products
Abstract
A method controls write/erase operations in a memory device including memory blocks that are exposed to wear as a result of repeated erasures. The method includes: storing the erase counts of the memory blocks, creating a chain storing the erase counts of the memory blocks that are available for writing at a certain instant of time, and selecting for writing, out of the blocks in the memory device available for writing, the block having the lowest erase count in the chain.
-
Citations
31 Claims
-
1. A method of controlling write/erase operations in a memory device including memory blocks, said blocks being exposed to wear as a result of repeated erasures, the method comprising:
-
arranging the blocks in the memory device in orderly logical positions; storing erase counts associated with the memory blocks in a table, entering as an i-th entry in the table a number of erasures performed on a block in an i-th position in the memory device; creating a chain storing block numbers and corresponding erase counts for memory blocks that are available for writing at a certain instant of time; selecting for writing, out of the blocks of said memory device available for writing, the block having the lowest erase count in said chain; and writing data in said block having the lowest erase count in said chain. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of controlling write/erase operations in a memory device including memory blocks, said blocks being exposed to wear as a result of repeated erasures, the method comprising:
-
storing erase counts of said memory blocks, each erase count reflecting the number of erasures of an associated one of the memory blocks; creating a chain storing block numbers and corresponding erase counts for memory blocks that are available for writing at a certain instant of time, wherein creating the chain comprises storing for each said block available for writing; a block number; an associated erase count; and a pointer to a subsequent element in the chain; selecting for writing, out of the blocks of said memory device available for writing, the block having the lowest erase count in said chain; and writing data in said block having the lowest erase count in said chain, wherein creating said chain comprises performing, for each said block available for writing, the operations of; reading an associated erase count; creating a corresponding element for said chain including a block number and said erase count previously read; and inserting the element thus created in said chain.
-
-
17. A computer system, comprising:
-
a memory device including memory blocks that are exposed to wear as a result of repeated erasures; storing means for storing erase counts of the memory blocks, each erase count reflecting the number of erasures of an associated one of the memory blocks; means for creating a chain storing block numbers and corresponding erase counts of the memory blocks that are available for writing at a certain instant of time; and means for selecting for writing, out of the blocks of the memory device available for writing, the block having the lowest erase count in the chain, wherein the means for creating the chain include means for; accessing each block of the memory device that is available for writing; reading from the storing means the erase count associated with the block; creating a corresponding element for the chain including a block number and the erase count previously read; and inserting the element thus created in the chain. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A computer product for controlling write/erase operations in a memory device including memory blocks that are exposed to wear as a result of repeated erasures, the computer product being loadable into a memory of a digital computer and comprising instruction code portions for performing, when the product is run on a computer, the following operations:
-
storing erase counts of the memory blocks, each erase count reflecting the number of erasures of an associated one of the memory blocks; creating a chain storing block numbers and corresponding erase counts of the memory blocks that are available for writing at a certain instant of time; and selecting for writing, out of the blocks of the memory device available for writing, the block having the lowest erase count in the chain, wherein creating the chain comprising performing, for each the block available for writing, the operations of; reading an associated erase count; creating a corresponding element for the chain including a block number and the erase count previously read; and inserting the element thus created in the chain. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A system comprising:
-
a plurality of memory blocks arranged in orderly logical positions and that are exposed to wear as a result of repeated erasures; and a processing unit configured to; store erase counts for the memory blocks in the plurality of memory blocks in a table, entering an erase count for a respective block in a corresponding position in the table; create a chain storing block numbers and corresponding erase counts for memory blocks in the plurality of memory blocks that are available for writing; and select a memory block in the chain having a lowest erase count. - View Dependent Claims (30, 31)
-
Specification