IP Library Granted Patent US 11,379,355
Granted Patent B2
US 11,379,355 · App. 16/175,579 · Granted Jul 5, 2022

Power-on-time based data relocation

Inventors: Kishore Kumar Muchherla (Fremont, CA); Renato C. Padilla (Folsom, CA); Sampath K. Ratnam (Boise, ID); Saeed Sharifi Tehrani (San Diego, CA); Peter Feeley (Boise, ID); Kevin R. Brandt (Boise, ID)
Assignee: Micron Technology, Inc.
G06F12/0246G06F3/0614G06F3/0646G06F3/0683G06F12/121
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 11,379,355
App. No.
16/175,579
Granted
Jul 5, 2022
Kind
B2
Abstract

A total estimated occupancy value of a first data on a first data block of a plurality of data blocks is determined. To determine the total estimated occupancy value of the first data block, a total block power-on-time (POT) value of the first data block is determined. Then, a scaling factor is applied to the total block POT value to determine the total estimated occupancy value of the first data block. Whether the total estimated occupancy value of the first data block satisfies a threshold criterion is determined. Responsive to determining that the total estimated occupancy value of the first data block satisfies the threshold criterion, data stored at the first data block is relocated to a second data block of the plurality of data blocks.

Claims (58)

1. A system comprising:

a memory component, the memory component comprising a plurality of data blocks; and

a processing device, operatively coupled with the memory component, the processing device is to:

determine a total block power-on-time (POT) value of a first data block of the plurality of data blocks;

apply a scaling factor to the total block POT value to determine a total estimated occupancy value of the first data block, wherein the scaling factor is based on an expected amount of time for which the system is powered on during a given period of time, the total estimated occupancy value indicating how long data has been stored on at least one of a least recently written page of the first data block or a most recently written page of the first data block;

determine whether the total estimated occupancy value of the first data block satisfies a threshold criterion;

responsive to determining that the total estimated occupancy value of the first data block satisfies the threshold criterion, determine whether the first data block is one of a subset of the plurality of data blocks for which it has been determined that respective total estimated occupancy values for data blocks of the subset satisfy the threshold criterion; and

responsive to determining that the first data block is one of the subset of the plurality of data blocks, relocate data stored at a first portion of the subset of the plurality of data blocks to a second data block in a first relocation operation and relocate data stored at a second portion of the subset of the plurality of data blocks to a third data block in a second relocation operation.

2. The system of claim 1 , wherein to determine the total block POT value of the first data block, the processing device is to:

responsive to receiving a request to write data on an initial page of the first data block, determine an initial block POT value of the first data block, the first data block comprising a plurality of pages including the initial page.

3. The system of claim 2 , wherein to determine the total block POT value of the first data block, the processing device is further to:

determine a difference between a current system POT value of the system and the initial block POT value of the first data block.

4. The system of claim 3 , wherein the current system POT value of the system is incremented when the system is powered on and is not incremented when the system is powered off.

5. The system of claim 1 , wherein:

to apply the scaling factor to the total block POT value, the processing device is to:

multiply the scaling factor for the plurality of data blocks with the total block POT value of the first data block.

6. The system of claim 1 , wherein:

the scaling factor comprises a ratio of an expected amount of time for which the system is powered on during the day to a total amount of time in a day; and

to apply the scaling factor to the total block POT value, if the scaling factor is a non-zero value, the processing device is to:

divide the total block POT value of the first data block by the scaling factor for the plurality of data blocks.

7. A system comprising:

a memory component, the memory component comprising a plurality of data blocks; and

a processing device, operatively coupled with the memory component, the processing device is to:

detect a power-on event in the system;

responsive to detecting the power-on event in the system, executing a POT timer that increments a system POT value of the system;

receive a request to write a first data on an initial page of a first data block of the plurality of data blocks;

responsive to receiving the request to write the first data on an initial page from a plurality of pages of the first data block, determine an initial block POT value of the first data block from the POT timer;

determine a total block POT value of the first data block by determining a difference between the initial block POT value of the first data block and a current system POT value of the system from the POT timer;

determine a total estimated occupancy value of the first data block by applying a scaling factor to the total block POT value of the first data block, wherein the scaling factor is based on an expected amount of time for which the system is powered on during a given period of time, the total estimated occupancy value indicating how long data has been stored on at least one of a least recently written page of the first data block or a most recently written page of the first data block;

responsive to determining that the total estimated occupancy value of the first data block satisfies a threshold criterion, determine whether the first data block is one of a subset of the plurality of data blocks for which it has been determined that respective total estimated occupancy values for data blocks of the subset satisfy the threshold criterion; and

responsive to determining that the first data block is one of the subset of the plurality of data blocks, relocate data stored at a first portion of the subset of the plurality of data blocks to a second data block in a first relocation operation and relocate data stored at a second portion of the subset of the plurality of data blocks to a third data block in a second relocation operation.

8. The system of claim 7 , wherein:

to apply the scaling factor to the total block POT value to determine the total estimated occupancy value of the first data block, the processing device is to:

multiply the scaling factor for the plurality of data blocks with the total block POT value of the first data block.

9. The system of claim 7 , wherein the current system POT value of the system is incremented when the system is powered on and is not incremented when the system is powered off.

10. The system of claim 7 , wherein:

the scaling factor comprises a ratio of an expected amount of time for which the system is powered on to a total amount of time in a day; and

to apply the scaling factor to the total block POT value to determine the total estimated occupancy value of the first data block, if the scaling factor is a non-zero value, the processing device is to:

divide the total block POT value of the first data block by the scaling factor for the plurality of data blocks.

11. A method comprising:

determining a total estimated occupancy value of a first data block of a plurality of data blocks in a system, the determining of the total estimated occupancy value of the first data block comprising:

determining a total block POT value of the first data block, and

applying a scaling factor to the total block POT value to determine the total estimated occupancy value of the first data block, wherein the scaling factor is based on an expected amount of time for which the system is powered on during a given period of time, the total estimated occupancy value indicating how long data has been stored on at least one of a least recently written page of the first data block or a most recently written page of the first data block;

determining whether the total estimated occupancy value of the first data satisfies a threshold criterion;

responsive to determining that the total estimated occupancy value of the first data block satisfies the threshold criterion, determining whether the first data block is one of a subset of the plurality of data blocks for which it has been determined that respective total estimated occupancy values for data blocks of the subset satisfy the threshold criterion; and

responsive to determining that the first data block is one of the subset of the plurality of data blocks, relocating data stored at a first portion of the subset of the plurality of data blocks to a second data block in a first relocation operation and relocating data stored at a second portion of the subset of the plurality of data blocks to a third data block in a second relocation operation.

12. The method of claim 11 , wherein determining of the total block POT value of the first data block comprising:

responsive to receiving a request to write data on an initial page of the first data block, determining an initial block POT value of the first data block, the first data block comprising a plurality of pages including the initial page.

13. The method of claim 12 , wherein determining of the total block POT value of the first data block further comprising:

determining a difference between a current system POT value of the system and the initial block POT value of the first data block.

14. The method of claim 13 , wherein the current system POT value of the system is incremented when the system is powered on and is not incremented when the system is powered off.

15. The method of claim 11 , wherein:

applying of the scaling factor to the total block POT value comprising:

multiplying the scaling factor for the plurality of data blocks with the total block POT value of the first data block.

16. The method of claim 11 , wherein:

the scaling factor comprises a ratio of an expected amount of time for which the system is powered on to a total amount of time in a day; and

if the scaling factor is a non-zero value, applying of the scaling factor to the total block POT value comprises:

dividing the total block POT value of the first data block by the scaling factor for the plurality of data blocks.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051041/0317 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050724/0392 →
SUPPLEMENT NO. 12 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048948/0677 →
SUPPLEMENT NO. 3 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048951/0902 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2018
From: MUCHHERLA, KISHORE KUMAR; PADILLA, RENATO C.; RATNAM, SAMPATH K.; SHARIFI TEHRANI, SAEED; FEELEY, PETER; BRANDT, KEVIN R.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047362/0107 →
Continuity (1)
Related Publication 20200133834A1 · Apr 30, 2020