IP Library Granted Patent US 8,275,945
Granted Patent B2
US 8,275,945 · App. 12/026,362 · Granted Sep 25, 2012

Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer

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,275,945
App. No.
12/026,362
Granted
Sep 25, 2012
Kind
B2
Abstract

A memory system is provided. The system includes a controller that regulates read and write access to one or more FLASH memory devices that are employed for random access memory applications. A buffer component operates in conjunction with the controller to regulate read and write access to the one or more FLASH devices. Wear leveling components along with read and write processing components are provided to facilitate efficient operations of the FLASH memory devices.

Claims (29)

1. A memory system, comprising:

a controller that regulates read and write timing access to one or more FLASH memory devices employed for random access memory applications and to a dynamic random access memory (DRAM) buffer component that operates as a data staging area for incoming system writes by receiving, during a data burst, incoming write data for the one or more FLASH memory devices, wherein the controller reads write data from the DRAM buffer component and application data from the one or more FLASH memory devices;

a memory management unit that updates the one or more FLASH memory devices with the incoming system writes received by the DRAM buffer component at a frequency selected to sustain a frequently written sector in the DRAM buffer as a function of a capacity of the DRAM buffer component and provided at least one sector being cached in the DRAM buffer component before the one or more FLASH memory device are updated; and

wherein the memory management unit maintains a sector-based write activity log and determines whether to move respective data of the incoming write data from the DRAM buffer component to the one or more FLASH memory devices during a background operation based at least in part on buffer write activity recorded in the sector-based write activity log at a time determined based on at least one of write times associated with the one or more FLASH memory devices, bandwidth of the one or more FLASH memory devices, or sector size associated with the one or more FLASH memory devices,

wherein the memory management unit is bypassed for incoming system writes related to a low write demand application; and

wherein during the data burst the incoming write data is written to the DRAM buffer component at a high rate over a short period of time and the write data is moved at a slower rate to the one or more FLASH memory devices during the background operation.

2. The memory system of claim 1 , the DRAM buffer component is sized to accommodate all memory writes from an application and captures the incoming write data in a DRAM buffer that is sized based on an application associated with the incoming write data.

3. The memory system of claim 2 , the DRAM buffer component is provided as part of a dual inline memory module package and the DRAM buffer is sized to temporarily hold data for a working set of the application associated with the incoming write data.

4. The memory system of claim 1 , the one or more FLASH memory devices are provided as part of a dual inline memory module package.

5. The memory system of claim 1 , the controller is provided as an application specific integrated circuit that occupies an expansion memory slot of a computer and operates a data transfer component to move data from the DRAM buffer component to the one or more FLASH memory devices.

6. The memory system of claim 1 , data from the one or more FLASH memory devices is moved to the DRAM buffer component during background operations of a computer, where writes to the one or more FLASH memory devices are faster than application writes to the DRAM buffer component.

7. The memory system of claim 6 , further comprising a page table to move data in sectors between devices.

8. The memory system of claim 1 , further comprising an operating system component that provides a free list of available sectors in the one or more FLASH memory devices or the DRAM buffer component, where the free list is employed to re-map memory locations within the one or more FLASH memory devices.

9. The memory system of claim 1 , further comprising a component to determine when pages should be evicted from the DRAM buffer component and into the one or more FLASH memory devices.

10. The memory system of claim 1 , further comprising a configuration register for applications having a low write demand on memory.

11. The memory system of claim 1 , further comprising an address and data bus having at least two channels, where background data transfer is performed in accordance with at least one of the at least two channels.

12. The memory system of claim 11 , further comprising at least one channel configured as a DRAM channel.

13. The memory system of claim 11 , further comprising at least one channel configured as a FLASH memory channel.

14. The memory system of claim 1 , further comprising a victim page handling component.

15. The memory system of claim 14 , further comprising an evict sector component to facilitate data transfer.

16. The memory system of claim 14 , further comprising a write activity log to facilitate background data transfers.

17. The memory system of claim 14 , further comprising a sector data merge control component to facilitate background data transfers.

18. A memory system, comprising:

means for receiving data at a random access device during a data burst, wherein the data is incoming write data for a FLASH memory device;

means for controlling write access to ath_.ee FLASH memory device and reading write data from the random access device and application data from the FLASH memory device;

means for accessing a computer bus to communicate with the FLASH memory device; and means for transferring data from the random access device to the FLASH memory device;

wherein the means for controlling maintains a sector-based write activity log and determines whether to move respective data of the incoming write data from the random access device to the FLASH memory device based at least in part on a frequently written sector being retained in the random access device as long as possible based on a data capacity of the random access device component, at least one sector being cached in the random access device component before the one or more FLASH memory device are updated, a buffer write activity recorded in the sector-based write activity log at a time determined based on at least one of write times associated with the FLASH memory device, bandwidth of the FLASH memory device, or sector size associated with the FLASH memory device

wherein the means for controlling is bypassed for incoming system writes related to a low write demand application; and

wherein during the data burst the incoming write data is written to the random access device component at a high rate over a short period of time and the write data is moved at a slower rate to the FLASH memory device during the background operation.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2025
From: MONTEREY RESEARCH LLC
To: SOUTHFORK IP HOLDINGS LLC
Reel/Frame 071421/0880 →
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 →
RELEASE OF SECURITY INTEREST Recorded Mar 13, 2015
From: BARCLAYS BANK PLC
To: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY LLC
Reel/Frame 035201/0159 →
SECURITY AGREEMENT Recorded Jun 4, 2010
From: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY INC.; SPANSION TECHNOLOGY LLC
To: BARCLAYS BANK PLC
Reel/Frame 024522/0338 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2008
From: TZENG, TZUNGREN
To: SPANSION LLC
Reel/Frame 020469/0008 →