IP Library Granted Patent US 10,573,391
Granted Patent B1
US 10,573,391 · App. 16/208,165 · Granted Feb 25, 2020

Enhanced flush transfer efficiency via flush prediction

Inventor: David Aaron Palmer (Boise, ID)
Assignee: Micron Technology, Inc.
G11C16/16G06F3/0688G11C7/109G11C7/1084G11C16/08
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,573,391
App. No.
16/208,165
Granted
Feb 25, 2020
Kind
B1
Abstract

Devices and techniques for enhanced flush transfer efficiency via flush prediction in a storage device are described herein. User data from a user data write can be stored in a buffer. The size of the user data stored in the buffer can be smaller than a write width for a storage device subject to the write. This size difference results in buffer free space. A flush trigger can be predicted. Additional data can be marshalled in response to the prediction of the flush trigger. The size of the additional data is less than or equal to the buffer free space. The additional data can be stored in the buffer free space. The contents of the buffer can be written to the storage device in response to the flush trigger.

Claims (48)

1. A memory controller for enhanced flush transfer efficiency via flush prediction, the memory controller comprising:

an interface to a storage device;

a buffer; and

processing circuitry to:

store user data from a user data write in a buffer, a size of the user data stored in the buffer being smaller than a write width for a storage device subject to the write resulting in buffer free space;

predict a flush trigger;

marshal additional data in response to the prediction of the flush trigger, the additional data of a size less than or equal to the buffer free space;

store the additional data to the buffer free space, the storing including maintaining a tag for the additional data in the buffer; and

write, via the interface, contents of the buffer to the storage device in response to the flush trigger.

2. The memory controller of claim 1 , wherein the processing circuitry is arranged to:

receive additional user data prior to writing the contents of the buffer to the storage device; and

replace, in the buffer, a portion of the additional data with the additional user data using the tag, the contents of the buffer including the user data, the additional user data, and a remaining portion of the additional data.

3. The memory controller of claim 1 , wherein the tag is a pointer into the buffer.

4. The memory controller of claim 1 , wherein the additional data is maintenance data of the storage device.

5. The memory controller of claim 1 , wherein the additional data is comingled with the user data based on physical addresses.

6. The memory controller of claim 5 , wherein the additional data includes metadata signifying that it is not user data.

7. The memory controller of claim 1 , wherein the additional data is segregated from the user data based on physical addresses.

8. The memory controller of claim 1 , wherein the flush trigger is at least one of receiving a flush command or expiration of a time period.

9. A method for enhanced flush transfer efficiency via flush prediction, the method comprising:

storing user data from a user data write in a buffer, a size of the user data stored in the buffer being smaller than a write width for a storage device subject to the write resulting in buffer free space;

predicting a flush trigger;

marshalling additional data in response to the prediction of the flush trigger, the additional data of a size less than or equal to the buffer free space;

storing the additional data to the buffer free space, the storing including maintaining a tag for the additional data in the buffer; and

writing contents of the buffer to the storage device in response to the flush trigger.

10. The method of claim 9 , comprising:

receiving additional user data prior to writing the contents of the buffer to the storage device; and

replacing, in the buffer, a portion of the additional data with the additional user data using the tag, the contents of the buffer including the user data, the additional user data, and a remaining portion of the additional data.

11. The method of claim 9 , wherein the tag is a pointer into the buffer.

12. The method of claim 9 , wherein the additional data is maintenance data of the storage device.

13. The method of claim 9 , wherein the additional data is comingled with the user data based on physical addresses.

14. The method of claim 13 , wherein the additional data includes metadata signifying that it is not user data.

15. The method of claim 9 , wherein the additional data is segregated from the user data based on physical addresses.

16. The method of claim 9 , wherein the flush trigger is at least one of receiving a flush command or expiration of a time period.

17. A machine readable medium including instructions for enhanced flush transfer efficiency via flush prediction, the instructions, when executed by processing circuitry, cause the processing circuitry to perform operations comprising:

storing user data from a user data write in a buffer, a size of the user data stored in the buffer being smaller than a write width for a storage device subject to the write resulting in buffer free space;

predicting a flush trigger;

marshalling additional data in response to the prediction of the flush trigger, the additional data of a size less than or equal to the buffer free space;

storing the additional data to the buffer free space, the storing including maintaining a tag for the additional data in the buffer; and

writing contents of the buffer to the storage device in response to the flush trigger.

18. The machine readable medium of claim 17 , wherein the operations comprise:

receiving additional user data prior to writing the contents of the buffer to the storage device; and

replacing, in the buffer, a portion of the additional data with the additional user data using the tag, the contents of the buffer including the user data, the additional user data, and a remaining portion of the additional data.

19. The machine readable medium of claim 17 , wherein the tag is a pointer into the buffer.

20. The machine readable medium of claim 17 , wherein the additional data is maintenance data of the storage device.

21. The machine readable medium of claim 17 , wherein the additional data is comingled with the user data based on physical addresses.

22. The machine readable medium of claim 21 , wherein the additional data includes metadata signifying that it is not user data.

23. The machine readable medium of claim 17 , wherein the additional data is segregated from the user data based on physical addresses.

24. The machine readable medium of claim 17 , wherein the flush trigger is at least one of receiving a flush command or expiration of a time period.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2019
From: PALMER, DAVID AARON
To: MICRON TECHNOLOGY, INC.
Reel/Frame 049936/0590 →
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 →
Cited By (1)
US 12,271,310