IP Library Granted Patent US 8,271,737
Granted Patent B2
US 8,271,737 · App. 12/473,081 · Granted Sep 18, 2012

Cache auto-flush in a solid state memory device

Assignee: Spansion LLC
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 8,271,737
App. No.
12/473,081
Granted
Sep 18, 2012
Kind
B2
Abstract

A device, system and method in which data in a write cache, that must at some point be written to non-volatile memory, is written to non-volatile memory after expiration of a threshold time period during which no new host commands are received. If either the last dirty entry is written back or a host command is received during the write-back process, the time threshold time period and auto-flush process is restarted.

Claims (47)

1. A solid state memory device comprising:

a solid state non-volatile memory array;

a cache coupled to the non-volatile memory array; and

a processor arranged to control the writing of data from the cache to the non-volatile memory array and operative to enable actions including:

starting a threshold time period when the cache contains dirty data;

re-starting the threshold time period on receipt of one of a plurality of host commands;

writing the dirty data to the non-volatile memory array on expiration of the threshold time period; and terminating the writing of dirty data to the non-volatile memory array and re-starting the threshold time period when the cache contains dirty data either on receipt of one of the plurality of host commands or after a last set of dirty data from the cache is written to the non-volatile memory.

2. The memory device of claim 1 , wherein the processor is operative to further enable actions including:

determining that the cache contains dirty data; and

determining the threshold time period based on a timer.

3. The memory device of claim 1 , wherein the processor is operative to further enable actions including:

setting the threshold time period so that the writing of the dirty data to the non volatile memory does not exceed a maximum number of write accesses for a predicted life span of the non-volatile memory.

4. The memory device of claim 1 , wherein the processor is further operative to enable actions including:

setting the threshold time period based on the number of dirty entries in the cache or the frequency of host commands.

5. The memory device of claim 1 , wherein writing the dirty data to the non-volatile memory array takes place according to an amount of time that the dirty data has remained in the cache.

6. The memory device of claim 1 , wherein writing the dirty data to the non-volatile memory array includes application of wear-leveling techniques.

7. The memory device of claim 1 , wherein the non-volatile memory array is NAND flash memory.

8. A method for managing caching comprising:

determining that a memory cache contains dirty data;

starting a threshold time period when the memory cache contains dirty data;

re-starting the threshold time period on receiving a host command of a plurality of host commands;

writing the dirty data from the memory cache to a solid state non-volatile memory array on expiration of the threshold time period; and

terminating the writing of dirty data from the memory cache to the solid state non volatile memory array and re-starting the threshold time period when the cache contains dirty data either on receipt of a host command of the plurality of host commands or after a last set of dirty data from the cache is written to the solid state non-volatile memory.

9. The method of claim 8 , wherein the threshold time period is determined based on a timer.

10. The method of claim 8 , wherein the threshold time period is set so that the writing of the dirty data to the non-volatile memory does not exceed a maximum number of write accesses for a predicted life span of the non-volatile memory.

11. The method of claim 8 , further comprising:

setting the threshold time period based on the number of dirty entries in the cache or the frequency of host commands.

12. The method of claim 8 , wherein writing the dirty data to the non-volatile memory array takes place according to an amount of time that the dirty data has remained in the cache.

13. The method of claim 8 , wherein writing the dirty data to the non-volatile memory array includes application of wear-leveling techniques.

14. The method of claim 8 , wherein the non-volatile memory array is NAND flash memory.

15. A solid state drive comprising:

a host interface;

a solid state non-volatile memory array;

a cache coupled to the host interface and the non-volatile memory array; and

a processor for controlling the writing of data from the cache to the non-volatile memory array and operative to enable actions including:

starting a threshold time period when the cache contains dirty data;

re-starting the threshold time period on receipt of one of a plurality of host commands;

writing the dirty data to the non-volatile memory array on expiration of the threshold time period; and

terminating the writing of dirty data to the non-volatile memory array and re-starting the threshold time period either on receipt of one of the plurality of host commands or after a last set of dirty data from the cache is written to the non-volatile memory.

16. The drive of claim 15 , wherein the processor is operative to enable further actions including:

determining the threshold time period based on a timer.

17. The drive of claim 15 , wherein the processor is operative to enable further actions including:

setting the threshold time period so that the writing of the dirty data to the non-volatile memory does not exceed a maximum number of write accesses for a predicted life span of the non-volatile memory.

18. The drive of claim 15 , wherein the processor is further operative to enable actions for:

setting the threshold time period based on the number of dirty entries in the cache or the frequency of host commands.

19. The drive of claim 15 , wherein writing the dirty data to the non-volatile memory array takes place according to an amount of time that the dirty data has remained in the cache.

20. The drive of claim 15 , wherein writing the dirty data to the non-volatile memory array includes application of wear-leveling techniques.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2016
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MONTEREY RESEARCH, LLC
Reel/Frame 040911/0238 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 11, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 039708/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2015
From: SPANSION, LLC
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 036051/0256 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Dec 30, 2014
From: BARCLAYS BANK PLC
To: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY INC.; SPANSION TECHNOLOGY LLC
Reel/Frame 034715/0305 →
SECURITY AGREEMENT Recorded Aug 23, 2012
From: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY INC.; SPANSION TECHNOLOGY LLC
To: BARCLAYS BANK PLC
Reel/Frame 028837/0076 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2009
From: CHEN, RICHARD; HSUEH, REX; HOU, PING
To: SPANSION LLC
Reel/Frame 022906/0890 →
Continuity (1)
Related Publication 20100306448A1 · Dec 2, 2010