IP Library Granted Patent US 10,275,541
Granted Patent B2
US 10,275,541 · App. 15/229,301 · Granted Apr 30, 2019

Proactive corrective actions in memory based on a probabilistic data structure

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,275,541
App. No.
15/229,301
Granted
Apr 30, 2019
Kind
B2
Abstract

The present disclosure includes apparatuses and methods for proactive corrective actions in memory based on a probabilistic data structure. A number of embodiments include a memory, and circuitry configured to input information associated with a subset of data stored in the memory into a probabilistic data structure and proactively determine, at least partially using the probabilistic data structure, whether to take a corrective action on the subset of data stored in the memory.

Claims (71)

1. An apparatus, comprising:

a memory; and

circuitry configured to:

input identification information associated with a subset of data stored in the memory into a probabilistic data structure, wherein the probabilistic data structure is configured to capture a frequency at which the identification information associated with the subset of data is input into the probabilistic data structure; and

proactively determine, at least partially using the probabilistic data structure, whether to take a corrective action on the subset of data stored in the memory.

2. The apparatus of claim 1 , wherein the probabilistic data structure is based on a counting Bloom filter.

3. The apparatus of claim 1 , wherein:

the subset of data stored in the memory is a block of data; and

the inputted information includes identification information for the block of data.

4. The apparatus of claim 1 , wherein the corrective action includes programming data of the subset stored in single level cells of the memory to multilevel cells of the memory.

5. The apparatus of claim 1 , wherein the corrective action includes programming data of the subset stored in multilevel cells of the memory to single level cells of the memory.

6. A method for operating memory, comprising:

inputting identification information associated with a subset of data stored in a memory into a probabilistic data structure, wherein the probabilistic data structure is configured to capture a frequency at which the identification information associated with the subset of data is input into the probabilistic data structure;

performing, by the probabilistic data structure, an operation on the inputted identification information; and

proactively determining whether to take a corrective action on the subset of data based, at least in part, on a result of the operation performed by the probabilistic data structure.

7. The method of claim 6 , wherein performing the operation on the inputted identification information includes:

processing the inputted identification information by a number of hash functions of the probabilistic data structure, wherein an output of each respective hash function corresponds to a different counter of the probabilistic data structure; and

updating each of the different counters to which the output of each respective hash function corresponds.

8. The method of claim 7 , wherein the method includes updating each of the different counters by a quantity of pages in the subset of data on which a sense operation was performed.

9. The method of claim 7 , wherein the method includes updating each of the different counters by a quantity of times the subset of data was accessed during a sense or program operation performed on at least a portion of the subset of data.

10. The method of claim 7 , wherein the method includes updating each of the different counters by a quantity of program and/or erase cycles performed on at least a portion of the subset of data.

11. The method of claim 7 , wherein the result of the operation performed by the probabilistic data structure corresponds to a value of each of the different counters after they have been updated.

12. The method of claim 7 , wherein the number of hash functions is two.

13. An apparatus, comprising:

a memory; and

circuitry configured to:

determine whether identification information associated with a subset of data stored in the memory is stored in a cache;

input the identification information associated with the subset of data into a probabilistic data structure upon determining the identification information is not stored in the cache, wherein the probabilistic data structure is configured to capture a frequency at which the identification information associated with the subset of data is input into the probabilistic data structure;

perform, using the probabilistic data structure, an operation on the inputted identification information; and

proactively determine whether to take a corrective action on the subset of data based, at least in part, on a result of the operation.

14. The apparatus of claim 13 , wherein the circuitry is configured to:

determine whether the result of the operation meets or exceeds a particular threshold; and

store the identification information in the cache upon determining the result of the operation meets or exceeds the particular threshold.

15. The apparatus of claim 13 , wherein the circuitry is configured to, upon determining the identification information associated with the subset of data is stored in the cache:

update a counter associated with the identification information stored in the cache;

determine whether a value of the counter meets or exceeds a particular threshold upon updating the counter; and

determine whether to take the corrective action on the subset of data based, at least in part, on whether the value of the counter meets or exceeds the particular threshold.

16. The apparatus of claim 15 , wherein the circuitry is configured to take the corrective action upon determining the value of the counter meets or exceeds the particular threshold.

17. The apparatus of claim 15 , wherein the circuitry is configured to remove the identification information associated with the subset of data from the cache upon determining the value of the counter meets or exceeds the particular threshold.

18. The apparatus of claim 13 , wherein performing the operation on the inputted identification information includes:

processing the inputted identification information by a number of hash functions of the probabilistic data structure, wherein an output of each respective hash function corresponds to a different counter of the probabilistic data structure; and

decreasing or resetting each of the different counters to which the output of each respective hash function corresponds if a program operation was performed on at least a portion of the subset of data.

19. The apparatus of claim 13 , wherein:

a size of the probabilistic data structure is given by M×d, wherein M is a quantity of counters of the probabilistic data structure and d is a quantity of bits of each respective counter.

20. The apparatus of claim 13 , wherein the apparatus includes two level memory, wherein a first level of the two level memory includes the probabilistic data structure and a second level of the two level memory includes the cache.

21. The apparatus of claim 13 , wherein the apparatus includes triple level memory, wherein a first level and a second level of the triple level memory include the probabilistic data structure and a third level of the triple level memory includes the cache.

22. A method for operating memory, comprising:

performing, by a probabilistic data structure, an operation on identification information associated with a subset of data stored in a memory, wherein the probabilistic data structure is configured to capture a frequency at which the identification information associated with the subset of data is input into the probabilistic data structure;

determining whether a result of the operation performed by the probabilistic data structure meets or exceeds a particular threshold; and

proactively determining whether to take a corrective action on the subset of data based, at least in part, on whether the result of the operation performed by the probabilistic data structure meets or exceeds the particular threshold.

23. The method of claim 22 , wherein the method includes storing the identification information in a cache upon determining the result of the operation performed by the probabilistic data structure meets or exceeds the particular threshold.

24. The method of claim 22 , wherein the method includes resetting a counter of the probabilistic data structure corresponding to the identification information upon determining the result of the operation performed by the probabilistic data structure meets or exceeds the particular threshold.

25. The method of claim 22 , wherein the corrective action includes a relocation of the subset of data to a different location in the memory.

26. The method of claim 22 , wherein the particular threshold is an adjustable threshold.

27. An apparatus, comprising:

a memory; and

circuitry configured to:

perform a sense operation to sense at least a portion of a block of data stored in the memory;

input identification information for the sensed block of data into a counting Bloom filter, wherein the counting Bloom filter is configured to capture a frequency at which the identification information for the sensed block of data is input into the probabilistic data structure; and

proactively determine, at least partially using the counting Bloom filter, whether to take corrective action on the block of data.

28. The apparatus of claim 27 , wherein the circuitry is configured to determine the identification information for the block of data by mapping a logical block address associated with the sense operation.

29. The apparatus of claim 27 , wherein the circuitry is configured to:

perform a program operation on at least a portion of a block of data stored in the memory;

determine whether identification information for the programmed block of data is stored in a cache;

input the identification information for the programmed block of data into the counting Bloom filter upon determining the identification information for the programmed block of data is not stored in the cache;

perform, using the counting Bloom filter, an operation on the inputted identification information for the programmed block of data; and

reset corresponding counters of the counting Bloom filter upon performing the operation.

30. The apparatus of claim 29 , wherein the circuitry is configured to remove the identification information for the currently programmed block of data from the cache upon determining the identification information for the programmed block of data is stored in the cache.

31. The apparatus of claim 29 , wherein:

performing the operation includes processing the inputted identification information for the programmed block of data by a number of hash functions of the counting Bloom filter, wherein an output of each respective hash function corresponds to a different counter of the counting Bloom filter; and

resetting the counting Bloom filter includes resetting each of the different counters to which the output of each respective hash function corresponds.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050680/0268 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
SUPPLEMENT NO. 2 TO PATENT SECURITY AGREEMENT Recorded Feb 10, 2017
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041671/0902 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2016
From: SHARIFI TEHRANI, SAEED; PARTHASARATHY, SIVAGNANAM
To: MICRON TECHNOLOGY, INC.
Reel/Frame 039352/0031 →