IP Library Granted Patent US 9,176,866
Granted Patent B2
US 9,176,866 · App. 14/080,950 · Granted Nov 3, 2015

Active recycling for solid state drive

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,176,866
App. No.
14/080,950
Granted
Nov 3, 2015
Kind
B2
Abstract

A solid state drive and a method for providing active recycling for the solid state drive are disclosed. The solid state drive includes a plurality of blocks and each of the plurality of blocks includes a plurality of pages. The method steps include receiving a read request from a data requester; identifying at least one page containing data requested by the read request; determining whether the at least one page belongs to a block identified for active recycling; writing the at least one page to a different block when the at least one page belongs to the block identified for active recycling; and sending the at least one page to the data requester in response to the read request.

Claims (46)

1. A method for providing active recycling for a solid state drive, the solid state drive including a plurality of blocks and each of the plurality of blocks including a plurality of pages, the method comprising:

receiving a read request from a data requester;

identifying at least one page containing data requested by the read request;

determining whether the at least one page belongs to a block identified for active recycling;

writing the at least one page to a different block when the at least one page belongs to the block identified for active recycling; and

sending the at least one page to the data requester in response to the read request.

2. The method of claim 1 , further comprising:

maintaining a valid page count for each of the plurality of blocks of the solid state drive.

3. The method of claim 2 , further comprising:

identifying a predetermined number of blocks for active recycling based on the valid page count for each of the plurality of blocks.

4. The method of claim 3 , wherein a block is identified for active recycling when said block is among the predetermined number of blocks having least number of valid pages.

5. The method of claim 2 , wherein a block is identified for active recycling when the valid page count for said block is below a predefined threshold.

6. The method of claim 1 , wherein the different block where the at least one page is written to is not identified for active recycling.

7. The method of claim 1 , wherein the different block where the at least one page is written to is a new block.

8. A solid state drive, comprising:

a plurality of blocks for providing data storage, wherein each of the plurality of blocks includes a plurality of pages; and

a controller for controlling operations of the solid state drive, wherein upon receiving a read request from a data requester, the controller is configured to:

identify at least one page containing data requested by the read request;

determine whether the at least one page belongs to a block identified for active recycling;

write the at least one page to a different block when the at least one page belongs to the block identified for active recycling; and

send the at least one page to the data requester in response to the read request.

9. The solid state drive of claim 8 , further comprising:

a valid page count table for maintaining a valid page count for each of the plurality of blocks of the solid state drive.

10. The solid state drive of claim 9 , further comprising:

an active recycle table for identifying a subset of the plurality of blocks considered for active recycling, wherein the subset of the plurality of blocks considered for active recycling is identified based on the valid page count for each of the plurality of blocks.

11. The solid state drive of claim 10 , wherein a block is identified for active recycling when said block is among a predetermined number of blocks having least number of valid pages.

12. The solid state drive of claim 10 , wherein a block is identified for active recycling when the valid page count for said block is below a predefined threshold.

13. The solid state drive of claim 8 , wherein the different block where the at least one page is written to is not identified for active recycling.

14. The solid state drive of claim 8 , wherein the different block where the at least one page is written to is a new block.

15. The solid state drive of claim 8 , further comprising:

a recording mechanism for tracking status of the at least one page, wherein the status of the at least one page indicates the at least one page is to be skipped during a garbage collection process after the at least one page is written to the different block.

16. The solid state drive of claim 8 , further comprising:

a buffer for buffering the at least one page containing data requested by the read request.

17. A solid state drive, comprising:

a plurality of blocks for providing data storage, wherein each of the plurality of blocks includes a plurality of pages;

a valid page count table for maintaining a valid page count for each of the plurality of blocks of the solid state drive;

an active recycle table for identifying a subset of the plurality of blocks considered for active recycling, wherein the subset of the plurality of blocks considered for active recycling is identified based on the valid page count for each of the plurality of blocks; and

a controller for controlling operations of the solid state drive, wherein upon receiving a read request from a data requester, the controller is configured to:

identify at least one page containing data requested by the read request;

determine whether the at least one page belongs to a block identified in the active recycle table;

write the at least one page to a different block when the at least one page belongs to a block identified in the active recycle table; and

send the at least one page to the data requester in response to the read request.

18. The solid state drive of claim 17 , wherein a block is identified for active recycling when said block is among a predetermined number of blocks having least number of valid pages.

19. The solid state drive of claim 17 , wherein a block is identified for active recycling when the valid page count for said block is below a predefined threshold.

20. The solid state drive of claim 17 , further comprising:

a recording mechanism for tracking status of the at least one page, wherein the status of the at least one page indicates the at least one page is to be skipped during a garbage collection process after the at least one page is written to the different block.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2015
From: LSI CORPORATION
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 034773/0535 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS INCLUDED IN SECURITY INTEREST PREVIOUSLY RECORDED AT REEL/FRAME (032856/0031) Recorded Nov 6, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034177/0257 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2013
From: XU, PENG; MA, LIZHAO
To: LSI CORPORATION
Reel/Frame 031609/0085 →