IP Library Granted Patent US 9,857,977
Granted Patent B2
US 9,857,977 · App. 15/193,263 · Granted Jan 2, 2018

Physical address management in solid state memory

Inventors: Charles J. Camp (Sugar Land, TX); Timothy J. Fisher (Cypress, TX); Kevin E. Sallese (Fulshear, TX)
Assignee: International Business Machines Corporation
G06F3/0604G06F3/0614G06F3/0659G06F3/0665G06F3/0679G06F12/0246G06F12/10G06F3/0638G06F12/1027G06F2212/152G06F2212/214G06F2212/651G06F2212/657G06F2212/7201G06F2212/7205
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,857,977
App. No.
15/193,263
Granted
Jan 2, 2018
Kind
B2
Abstract

A storage system includes a memory controller connected to a solid state memory device and a read status table that tracks a pending read from the solid state memory device and a physical address of the solid state memory device that is associated with the pending read. The memory controller releases the physical address for reassignment when the read status table indicates that no pending reads are associated with the physical address. In certain embodiments, the read status table may be included within the memory controller. In certain embodiments, subsequent to the release of the physical address, erase operations may erase data at the physical address and the physical address may be reassigned to a new logical address by ensuing host write operations.

Claims (53)

1. A method for managing old physical addresses in a solid state memory device comprising:

tracking in a read status table pending reads from the solid state memory device and tracking in the read status table physical addresses within the solid state memory device associated with the pending reads;

assigning a first logical address to a particular physical address within the solid state memory device;

delaying a release of the particular physical address for reassignment to a second logical address when the read status table indicates that there is a pending read from the particular physical address; and

releasing the particular physical address for reassignment to the second logical address when the read status table indicates that there is no pending reads from the particular physical address.

2. The method of claim 1 , further comprising:

reassigning the second logical address to the particular physical address subsequent to the particular physical address being released.

3. The method of claim 1 , wherein tracking in the read status table pending reads from the solid state memory device and tracking in the read status table physical addresses within the solid state memory device associated with the pending reads, comprises:

receiving a read command comprising the first logical address;

determining the particular physical address from the first logical address, and;

querying the read status table for an entry associated with the particular physical address.

4. The method of claim 1 , wherein tracking in the read status table pending reads from the solid state memory device and tracking in the read status table physical addresses within the solid state memory device associated with the pending reads, comprises:

populating a read pending entry in the read status table associated with the particular physical address.

5. The method of claim 4 , wherein populating the read pending entry in the read status table, comprises:

incrementing a read pending count.

6. The method of claim 5 , wherein tracking in the read status table pending reads from the solid state memory device and tracking in the read status table physical addresses within the solid state memory device associated with the pending reads, comprises:

decrementing the read pending count upon the completion of the read from the particular physical address.

7. A method for managing old physical addresses in a solid state memory device comprising:

tracking in a read status table pending reads from the solid state memory device and tracking in the read status table physical addresses within the solid state memory device associated with the pending reads;

assigning a first logical address to a particular physical address within the solid state memory device; and

delaying a release of the particular physical address for reassignment to a second logical address when the read status table indicates that there is a pending read from the particular physical address.

8. The method of claim 7 , further comprising:

reassigning the second logical address to the particular physical address subsequent to the particular physical address being released.

9. The method of claim 7 , wherein tracking in the read status table pending reads from the solid state memory device and tracking in the read status table physical addresses within the solid state memory device associated with the pending reads, comprises:

receiving a read command comprising the first logical address;

determining the particular physical address from the first logical address, and;

querying the read status table for an entry associated with the particular physical address.

10. The method of claim 7 , wherein tracking in the read status table pending reads from the solid state memory device and tracking in the read status table physical addresses within the solid state memory device associated with the pending reads, comprises:

populating a read pending entry in the read status table associated with the particular physical address.

11. The method of claim 10 , wherein populating the read pending entry in the read status table, comprises:

incrementing a read pending count.

12. The method of claim 11 , wherein tracking in the read status table pending reads from the solid state memory device and tracking in the read status tablephysical addresses within the solid state memory device associated with the pending reads, comprises:

decrementing the read pending count upon the completion of the read from the particular physical address.

13. A method for managing old physical addresses in a solid state memory device comprising:

tracking pending reads from physical addresses of a solid state memory device;

assigning a first logical address to a particular physical address within the solid state memory device; and

delaying a release of a particular physical address for reassignment to a second logical address when a read is pending from the particular physical address.

14. The method of claim 13 , further comprising:

assigning the second logical address to the particular physical address subsequent to the particular physical address being released.

15. The method of claim 13 , wherein tracking pending reads from physical addresses of the solid state memory device, comprises:

a read command comprising the first logical address;

determining the particular physical address from the first logical address, and;

querying a read status table for an entry associated with the particular physical address.

16. The method of claim 13 , wherein tracking pending reads from physical addresses of the solid state memory device, comprises:

populating a read pending entry in a read status table associated with the particular physical address.

17. The method of claim 16 , wherein populating the read pending entry in the read status table, comprises:

incrementing a read pending count.

18. The method of claim 17 , wherein tracking pending reads from physical addresses of the solid state memory device, further comprises:

decrementing the read pending count upon the completion of the read from the particular physical address.

19. The method of claim 13 , further comprising:

tracking pending writes to physical addresses of the solid state memory device.

20. The method of claim 19 , wherein tracking pending writes to physical addresses of the solid state memory device, comprises:

populating a write pending entry in a write status table associated with the particular physical address.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2016
From: CAMP, CHARLES J.; FISHER, TIMOTHY J.; SALLESE, KEVIN E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039012/0742 →
Continuity (2)
Continuation 14073614 · Nov 6, 2013
Related Publication 20160306556A1 · Oct 20, 2016