Green NAND device (GND) driver with DRAM data persistence for enhanced flash endurance and performance
First Claim
1. A Super Enhanced Endurance Device (SEED) Solid State Drive (SSD) with a Green NAND Device (GND) driver comprising:
- a host interface for receiving host reads and host writes from a host GND driver with capabilities of encryption, compression, meta-page grouping;
a controller for controlling access to a flash memory and to a SEED Dynamic-Random-Access Memory (DRAM) buffer in response to host reads and host writes received by the host interface, the controller writing host data to the SEED DRAM buffer;
the SEED DRAM buffer for storing a host Endurance Translation Layer (ETL);
a flash interface for accessing a flash memory or a flash memory devicean error-correction code (ECC) manager for generating ECC code to append to grouped meta-pages written to the flash memory;
a bad page manager for tracking bad pages of the flash memory; and
a wear leveler for assigning new data to empty blocks of the flash memory having a low erase count or move the block data with low erase count to an empty high erase count block;
a data type of file type identifier received from a host GND driver;
a data split manager for sorting host write data based on the data type generated by the file type identifier;
a data write cache for storing host write data having a user data type;
a meta-data cache for storing host write data having a meta-data data type;
a paging cache for storing host write data having a paging file data type;
a temp cache for storing host write data having a temp data type.
0 Assignments
0 Petitions
Accused Products
Abstract
A Green NAND Device (GND) driver application queries AC line and battery status and then stores an image of processor states and caches and a resume routine to DRAM when power failure occurs. A DRAM image is then stored to flash memory for a persistent mode when battery power is available. The image in DRAM may be a partial image that includes entries, flushed caches, processor contexts, ramdisks, write caches, and a resume context. Endurance of flash memory is increased by a Super Enhanced Endurance Device (SEED) SSD. In a power down mode, the GND driver limits DRAM use and only caches in DRAM data that can be deleted on power down. Host accesses to flash are intercepted by the GND driver and categorized by data type. Paging files and temporary files cached in DRAM are optionally written to flash.
22 Citations
4 Claims
-
1. A Super Enhanced Endurance Device (SEED) Solid State Drive (SSD) with a Green NAND Device (GND) driver comprising:
-
a host interface for receiving host reads and host writes from a host GND driver with capabilities of encryption, compression, meta-page grouping; a controller for controlling access to a flash memory and to a SEED Dynamic-Random-Access Memory (DRAM) buffer in response to host reads and host writes received by the host interface, the controller writing host data to the SEED DRAM buffer; the SEED DRAM buffer for storing a host Endurance Translation Layer (ETL); a flash interface for accessing a flash memory or a flash memory device an error-correction code (ECC) manager for generating ECC code to append to grouped meta-pages written to the flash memory; a bad page manager for tracking bad pages of the flash memory; and a wear leveler for assigning new data to empty blocks of the flash memory having a low erase count or move the block data with low erase count to an empty high erase count block; a data type of file type identifier received from a host GND driver; a data split manager for sorting host write data based on the data type generated by the file type identifier; a data write cache for storing host write data having a user data type; a meta-data cache for storing host write data having a meta-data data type; a paging cache for storing host write data having a paging file data type; a temp cache for storing host write data having a temp data type.
-
-
2. A Super Enhanced Endurance Device (SEED) Solid State Drive (SSD) with a Green NAND Device (GND) driver comprising:
-
a host interface for receiving host reads and host writes from a host GND driver with capabilities of encryption, compression, meta-page grouping; a controller for controlling access to a flash memory and to a SEED Dynamic-Random-Access Memory (DRAM) buffer in response to host reads and host writes received by the host interface, the controller writing host data to the SEED DRAM buffer; the SEED DRAM buffer for storing a host Endurance Translation Layer (ETL); a flash interface for accessing a flash memory or a flash memory device an error-correction code (ECC) manager for generating ECC code to append to grouped meta-pages written to the flash memory; a bad page manager for tracking bad pages of the flash memory; and a wear leveler for assigning new data to empty blocks of the flash memory having a low erase count or move the block data with low erase count to an empty high erase count block; a DRAM buffer, controlled by the controller; a spare/swap area in the DRAM buffer; wherein the controller uses the spare/swap area in the DRAM buffer to merge valid data in the flash memory with new data from the host to generate combined data when over-writing a full page or a partial page of an existing block in the flash memory, by writing new data to a spare block in the DRAM buffer related to the existing block in the flash memory, and when the spare block is needed by additional new data for a different block in the flash memory, writing a combination of the spare block with the new data and data from the existing block in the flash memory into a swap block in the flash memory and marking a page status for pages of the existing block in the flash memory as a garbage page. - View Dependent Claims (3)
-
-
4. A Super Enhanced Endurance Device (SEED) Solid State Drive (SSD) with a Green NAND Device (GND) driver comprising:
-
a host interface for receiving host reads and host writes from a host GND driver with capabilities of encryption, compression, meta-page grouping; a controller for controlling access to a flash memory and to a SEED Dynamic-Random-Access Memory (DRAM) buffer in response to host reads and host writes received by the host interface, the controller writing host data to the SEED DRAM buffer; the SEED DRAM buffer for storing a host Endurance Translation Layer (ETL); a flash interface for accessing a flash memory or a flash memory device an error-correction code (ECC) manager for generating ECC code to append to grouped meta-pages written to the flash memory; a bad page manager for tracking bad pages of the flash memory; and a wear leveler for assigning new data to empty blocks of the flash memory having a low erase count or move the block data with low erase count to an empty high erase count block; a power backup supply on a host that provides power to the SEED SSD or a backup power supply on the SEED SSD that provides power to the SEED SSD when the host is off; a processor in a low power state and a timer that is kept alive when the host is off; wherein the DRAM and the flash memory have no power provided; wherein when the timer reaches a timeout threshold, the timer wakes up the processor and power is provided to the DRAM and to the flash memory; whereby the processor checks a write date of a flash block and refreshes the flash block when a retention time is over a retention limit.
-
Specification