Management of memory units
First Claim
Patent Images
1. A method for memory management, the method comprising:
- maintaining, by a memory controller, read counters for each flash memory entity in a flash memory array coupled to the memory controller, the read counters being configured to store indications about effects of read operations on associated flash memory entities and being configured to be incremented each time associated flash memory entities are subjected to a read operation;
calculating, with reference to a first read counter associated with a first flash memory entity, an estimate of an effect of read operations on the first flash memory entity; and
performing, by the memory controller, at least one memory management operation in response to the estimate of the effect of read operations on the first flash memory entity, wherein the at least one memory management operation is performed with reference to a programming parameter that is chosen based on a read disturb scenario and which indicates whether the at least one memory management operation is to move a data unit from the first flash memory entity to another flash memory entity having a same or lower density level, wherein the calculating of the estimate of the effect of read operations is responsive to a relationship between (a) a bit error rate of data stored in a group of flash memory cells that belongs to the first flash memory entity and (b) a number of program erase cycles that the group of flash memory cells has undergone.
8 Assignments
0 Petitions
Accused Products
Abstract
A method for memory management, the method may include calculating, by a memory controller, an estimate of an effect of read operations on a first flash memory entity; and performing, by the memory controller, at least one memory management operation in response to the estimate of the effect of read operations on the first flash memory entity.
-
Citations
21 Claims
-
1. A method for memory management, the method comprising:
- maintaining, by a memory controller, read counters for each flash memory entity in a flash memory array coupled to the memory controller, the read counters being configured to store indications about effects of read operations on associated flash memory entities and being configured to be incremented each time associated flash memory entities are subjected to a read operation;
calculating, with reference to a first read counter associated with a first flash memory entity, an estimate of an effect of read operations on the first flash memory entity; and
performing, by the memory controller, at least one memory management operation in response to the estimate of the effect of read operations on the first flash memory entity, wherein the at least one memory management operation is performed with reference to a programming parameter that is chosen based on a read disturb scenario and which indicates whether the at least one memory management operation is to move a data unit from the first flash memory entity to another flash memory entity having a same or lower density level, wherein the calculating of the estimate of the effect of read operations is responsive to a relationship between (a) a bit error rate of data stored in a group of flash memory cells that belongs to the first flash memory entity and (b) a number of program erase cycles that the group of flash memory cells has undergone. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- maintaining, by a memory controller, read counters for each flash memory entity in a flash memory array coupled to the memory controller, the read counters being configured to store indications about effects of read operations on associated flash memory entities and being configured to be incremented each time associated flash memory entities are subjected to a read operation;
-
10. A non-transitory computer readable medium that stores instructions that once executed by the computer cause the computer to execute the stages of:
- maintaining read counters for each flash memory entity in a flash memory array, the read counters being configured to store indications about effects of read operations on associated flash memory entities and being configured to be incremented each time associated flash memory entities are subjected to a read operation;
calculating, with reference to a first read counter associated with a first flash memory entity, an estimate of an effect of read operations on the first flash memory entity; and
performing at least one memory management operation in response to the estimate of the effect of read operations on the first flash memory entity, wherein the at least one memory management operation is performed with reference to a programming parameter that is chosen based on a read disturb scenario and which indicates whether the at least one memory management operation is to move a data unit from the first flash memory entity to another flash memory entity having a same or lower density level, wherein the calculating of the estimate of the effect of read operations is responsive to a relationship between (a) a bit error rate of data stored in a group of flash memory cells that belongs to the first flash memory entity and (b) a number of program erase cycles that the group of flash memory cells has undergone. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
- maintaining read counters for each flash memory entity in a flash memory array, the read counters being configured to store indications about effects of read operations on associated flash memory entities and being configured to be incremented each time associated flash memory entities are subjected to a read operation;
-
18. A memory controller that comprises a read circuit, a write circuit, a read effect estimating circuit, and a memory management circuit;
- wherein the read circuit is arranged to assist in reading data from a first flash memory entity;
wherein the write circuit is arranged to assist in writing data to the first flash memory entity;
wherein the read effect estimating circuit is arranged to maintain read counters for each flash memory entity in a flash memory array, the read counters being configured to store indications about effects of read operations on associated flash memory entities and being configured to be incremented each time associated flash memory entities are subjected to a read operation;
calculate, with reference to a first read counter associated with the first flash memory entity, an estimate of an effect of read operations on the first flash memory entity;
wherein the memory management circuit is arranged to perform at least one memory management operation in response to the estimate of the effect of read operations on the first flash memory entity; and
wherein the at least one memory management operation is performed with reference to a programming parameter that is chosen based on a read disturb scenario and which indicates whether the at least one memory management operation is to move a data unit from the first flash memory entity to another flash memory entity having a same or lower density level, wherein the read effect estimating circuit is arranged to calculate the estimate of the effect of read operations on the first flash memory entity in response to a relationship between (a) a bit error rate of data stored in a group of flash memory cells that belongs to the first flash memory entity and (b) a number of program erase cycles that the group of flash memory cells has undergone. - View Dependent Claims (19, 20, 21)
- wherein the read circuit is arranged to assist in reading data from a first flash memory entity;
Specification