IP Library Granted Patent US 9,280,463
Granted Patent B2
US 9,280,463 · App. 13/951,207 · Granted Mar 8, 2016

Semiconductor memory garbage collection

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 9,280,463
App. No.
13/951,207
Granted
Mar 8, 2016
Kind
B2
Abstract

For semiconductor memory garbage collection, an identification module identifies a garbage collection time window for at least one block of a flash memory array. A garbage collection module garbage collects a first block of the flash memory array with a highest garbage collection level and an open garbage collection time window.

Claims (33)

1. An apparatus comprising:

an identification module that identifies a garbage collection time window for at least one block of a flash memory array and determines a garbage collection level for the at least one block, wherein the garbage collection level is determined from at least one of a free pages number and a partial pages number for each block;

a garbage collection module garbage that collects a first block of the flash memory array with a highest garbage collection level and an open garbage collection time window; and

wherein at least a portion of the identification module and the garbage collection module comprise one or more of hardware and program code, the program code stored on one or more computer readable storage media.

2. The apparatus of claim 1 , wherein the garbage collection level is a critical level in response to at least one of the free pages number being less than a critical free pages threshold and the partial pages number being less than a critical partial pages threshold, the garbage collection level is a middle level in response to at least one of the free pages number being less than a middle free pages threshold and not less than the critical free pages threshold, and the partial pages number being less than a middle partial pages threshold and not less than the critical partial pages threshold, and the garbage collection level is a warning level in response to at least one of the free pages number being less than a warning free pages threshold and not less than the middle free pages number, and the partial pages number being less than a warning free pages threshold and not less than the middle free pages threshold.

3. The apparatus of claim 1 , wherein the garbage collection time window is identified in response to at least one of a storage device workload being less than a work threshold and a block workload being less than the work threshold.

4. The apparatus of claim 1 , wherein data of the first block is stored redundantly and the garbage collection module further:

updates at least one other block with redundant data from a write request directed to the first block in response to receiving the write request during the garbage collection for the first block;

indicates that the write request is complete; and

writes data from the write request to the first block in response to completing the garbage collection.

5. The apparatus of claim 1 , wherein data of the first block is stored redundantly and the garbage collection module further:

reconstructs the data of the first block from at least one other block in response to receiving a read directed to the first block during the garbage collection for the first block; and

communicates the reconstructed data in response to the read.

6. The method of claim 1 , wherein the memory array is Negated AND or NOT AND (NAND) Flash memory array.

7. A method for semiconductor memory garbage collection comprising:

identifying, by use of a processor, a garbage collection time window for at least one block of a flash memory array;

determining a garbage collection level for the at least one block, wherein the garbage collection level is determined from at least one of a free pages number and a partial pages number for each block; and

garbage collecting a first block of the flash memory array with a highest garbage collection level and an open garbage collection time window.

8. The method of claim 7 , wherein the garbage collection level is a critical level in response to at least one of the free pages number being less than a critical free pages threshold and the partial pages number being less than a critical partial pages threshold, the garbage collection level is a middle level in response to at least one of the free pages number being less than a middle free pages threshold and not less than the critical free pages threshold, and the partial pages number being less than a middle partial pages threshold and not less than the critical partial pages threshold, and the garbage collection level is a warning level in response to at least one of the free pages number being less than a warning free pages threshold and not less than the middle free pages number, and the partial pages number being less than a warning free pages threshold and not less than the middle free pages threshold.

9. The method of claim 7 , wherein the garbage collection time window is identified in response to a storage device workload being less than a work threshold.

10. The method of claim 7 , wherein the garbage collection time window is identified in response to a block workload being less than a work threshold.

11. The method of claim 7 , wherein data of the first block is stored redundantly and further comprising:

updating at least one other block with redundant data from a write request directed to the first block in response to receiving the write request during the garbage collection for the first block;

indicating that the write request complete; and

writing data from the write request to the first block in response to completing the garbage collection.

12. The method of claim 7 , wherein data of the first block is stored redundantly and further comprising:

reconstructing the data of the first block from at least one other block in response to receiving a read directed to the first block during the garbage collection for the first block; and

communicating the reconstructed data in response to the read.

13. A computer program product for semiconductor memory garbage collection, the computer program product comprising a non-transitory computer readable storage medium having program code embodied therein, the program code readable/executable by a processor to:

identifying a garbage collection time window for at least one block of a flash memory array;

determining a garbage collection level for the at least one block, wherein the garbage collection level is determined from at least one of a free pages number and a partial pages number for each block; and

garbage collecting a first block of the flash memory array with a highest garbage collection level and an open garbage collection time window.

14. The computer program product of claim 13 , wherein the garbage collection level is a critical level in response to at least one of the free pages number being less than a critical free pages threshold and the partial pages number being less than a critical partial pages threshold, the garbage collection level is a middle level in response to at least one of the free pages number being less than a middle free pages threshold and not less than the critical free pages threshold, and the partial pages number being less than a middle partial pages threshold and not less than the critical partial pages threshold, and the garbage collection level is a warning level in response to at least one of the free pages number being less than a warning free pages threshold and not less than the middle free pages number, and the partial pages number being less than a warning free pages threshold and not less than the middle free pages threshold.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: GLOBALFOUNDRIES INC.
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 054633/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY DATA PREVIOUSLY RECORDED ON REEL 036331 FRAME 0044. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 21, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S.2 LLC
Reel/Frame 036953/0823 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 036779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC COMPANY
Reel/Frame 036331/0044 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2013
From: GAO, XUE DONG; LONG, MIN; NIELSEN, KARL A.; QIAN, HAI BO; STEFFAN, JEFFREY R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030880/0104 →