IP Library Granted Patent US 8,370,566
Granted Patent B2
US 8,370,566 · App. 13/276,212 · Granted Feb 5, 2013

System and method for increasing capacity, performance, and flexibility of flash storage

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,370,566
App. No.
13/276,212
Granted
Feb 5, 2013
Kind
B2
Abstract

In one embodiment, an interface circuit is configured to couple to one or more flash memory devices and is further configured to couple to a host system. The interface circuit is configured to present at least one virtual flash memory device to the host system, wherein the interface circuit is configured to implement the virtual flash memory device using the one or more flash memory devices to which the interface circuit is coupled.

Claims (31)

1. An interface circuit configured to couple to one or more flash memory devices, each having a respective capacity, and further configured to couple to a host system, the interface circuit comprising:

a read-only memory (ROM) storing fixed configuration information associated with the one or more flash memory devices; and

discovery logic configured to:

detect a physical configuration of the one or more flash memory devices, and determine a virtual configuration for the one or more flash memory devices based on, at least in part, the detected physical configuration and based on, at least in part, the fixed configuration information stored in the ROM; and

configuration logic configured to:

store the virtual configuration as a virtual flash memory device having a capacity.

2. The interface circuit as recited in claim 1 wherein the virtual flash memory device has a capacity greater than the capacity of any one of the one or more flash memory devices.

3. The interface circuit as recited in claim 1 wherein the virtual flash memory device has a capacity equal to a sum of the capacities of the one or more flash memory devices.

4. The interface circuit as recited in claim 1 wherein the interface circuit is configured to compute a parameter of the virtual flash memory device.

5. The interface circuit as recited in claim 4 wherein the parameter is reported to the host system.

6. The interface circuit as recited in claim 1 wherein the interface circuit is configured to translate a protocol implemented by the host system to a protocol implemented by the one or more flash memory devices.

7. The interface circuit as recited in claim 1 wherein the interface circuit is configured to detect a block of bad data locations in the virtual flash memory device and to remap addresses in the block from a one set of storage locations in the one or more flash memory devices to a different set of storage locations in the one or more flash memory devices.

8. The interface circuit as recited in claim 1 wherein the interface circuit is configured to generate an erasure operation independent of a write operation.

9. The interface circuit as recited in claim 8 wherein the erasure operation erases a block in the one of the one or more flash memory devices, wherein the block has been marked as garbage for garbage collection.

10. The interface circuit as recited in claim 8 wherein the erasure operation is generated by the interface circuit to pre-erase unused blocks in the one or more flash memory devices.

11. The interface circuit as recited in claim 1 further comprising one or more buffers configured to store write operations provided by the host system, wherein the interface circuit is configured to report that an erasure operation corresponding to a write operation has completed prior to actual completion of the erasure operation, and wherein the interface circuit is configured to store the write operation in the buffer until the erasure operation is actually complete.

12. The interface circuit as recited in claim 1 further comprising a translation unit configured to receive a request from the host system to access at least one of the one or more flash memory devices, wherein information associated with the request is based on the virtual configuration for the one or more virtual flash memory devices, and translate the request received from the host system to a translated request that includes information associated with the physical configuration for the one or more flash memory devices.

13. The interface circuit as recited in claim 1 wherein the configuration logic is further configured to present a first standard interface to the host system and to provide a second interface to the one or more flash memory devices that differ from the first standard interface.

14. An apparatus comprising:

one or more flash memory devices; and

an interface circuit coupled to the one or more flash memory devices and further configured to couple to a host system, wherein the interface circuit comprises:

a read-only memory (ROM) storing fixed configuration information associated with the one or more flash memory devices; and

discovery logic configured to:

detect a physical configuration for the one or more flash memory devices, and determine a virtual configuration for the one or more flash memory devices based on, at least in part, the detected physical configuration and based on, at least in part, the fixed configuration information stored in the ROM; and

configuration logic configured to:

store the virtual configuration as a virtual flash memory device.

15. The apparatus as recited in claim 14 wherein the interface circuit and the one or more flash memory devices are stacked.

16. The apparatus as recited in claim 14 wherein the one or more flash memory devices and the interface circuit are integrated onto a single semiconductor substrate.

17. The apparatus as recited in claim 14 wherein the interface circuit further comprises a translation unit configured to receive a request from the host system to access at least one of the one or more flash memory devices, wherein information associated with the request is based on the virtual configuration for the one or more virtual flash memory devices, and translate the request received from the host system to a translated request that includes information associated with the physical configuration for the one or more flash memory devices.

18. The apparatus as recited in claim 14 wherein the configuration logic is further configured to present a first standard interface to the host system and to provide a second interface to the one or more flash memory devices that differ from the first standard interface.

19. The apparatus as recited in claim 18 wherein the first standard interface is pin-compatible with a previous generation of flash memory devices.

Assignments (3)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2012
From: DANILAK, RADOSLAV; SMITH, MICHAEL J.S.; RAJAN, SURESH NATARAJAN
To: METARAM, INC.
Reel/Frame 027924/0370 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2012
From: METARAM, INC.
To: GOOGLE INC.
Reel/Frame 027924/0552 →