Super-Endurance Solid-State Drive with Endurance Translation Layer (ETL) and Diversion of Temp Files for Reduced Flash Wear
First Claim
1. A super-endurance flash drive comprising:
- a host interface for receiving host reads and host writes from a host;
a dynamic-random-access memory (DRAM) buffer for storing data;
a flash memory for storing data that is retained when power is lost, the flash memory being block-erasable and page-writeable;
a controller for controlling access to the flash memory and to the DRAM buffer in response to host reads and host writes received by the host interface, the controller writing host data to the DRAM buffer;
an Endurance Translation Layer (ETL) implemented in the DRAM buffer and controlled by the controller that uses the ETL to provide temporary storage to reduce flash wear;
a data write cache stored in the DRAM buffer and managed by the controller, wherein the controller manages non-temporary data;
a Redundant Array of Individual Disks (RAID) structure of data distribution in the DRAM buffer for writing new data across several channels of the flash memory, the RAID structure managed by the controller; and
a backup power supply for powering the DRAM buffer and the flash memory and the controller when power is lost, the backup power supply having a sufficient capacity for the controller to copy target data in the ETL to the flash memory according to a policy.
2 Assignments
0 Petitions
Accused Products
Abstract
A flash drive has increased endurance and longevity by reducing writes to flash. An Endurance Translation Layer (ETL) is created in a DRAM buffer and provides temporary storage to reduce flash wear. A Smart Storage Switch (SSS) controller assigns data-type bits when categorizing host accesses as paging files used by memory management, temporary files, File Allocation Table (FAT) and File Descriptor Block (FDB) entries, and user data files, using address ranges and file extensions read from FAT. Paging files and temporary files are never written to flash. Partial-page data is packed and sector mapped by sub-sector mapping tables that are pointed to by a unified mapping table that stores the data-type bits and pointers to data or tables in DRAM. Partial sectors are packed together to reduce DRAM usage and flash wear. A spare/swap area in DRAM reduces flash wear. Reference voltages are adjusted when error correction fails.
480 Citations
21 Claims
-
1. A super-endurance flash drive comprising:
-
a host interface for receiving host reads and host writes from a host; a dynamic-random-access memory (DRAM) buffer for storing data; a flash memory for storing data that is retained when power is lost, the flash memory being block-erasable and page-writeable; a controller for controlling access to the flash memory and to the DRAM buffer in response to host reads and host writes received by the host interface, the controller writing host data to the DRAM buffer; an Endurance Translation Layer (ETL) implemented in the DRAM buffer and controlled by the controller that uses the ETL to provide temporary storage to reduce flash wear; a data write cache stored in the DRAM buffer and managed by the controller, wherein the controller manages non-temporary data; a Redundant Array of Individual Disks (RAID) structure of data distribution in the DRAM buffer for writing new data across several channels of the flash memory, the RAID structure managed by the controller; and a backup power supply for powering the DRAM buffer and the flash memory and the controller when power is lost, the backup power supply having a sufficient capacity for the controller to copy target data in the ETL to the flash memory according to a policy. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An Endurance Translation Layer (ETL) method to increase endurance of a flash memory that has a low specified erase-cycle lifetime comprising:
-
controlling access to the flash memory and to a dynamic-random-access memory (DRAM) buffer in response to host reads and host writes received by a host interface, using a controller to write host data to the DRAM buffer; creating an ETL in the DRAM buffer that is controlled by the controller and using the ETL to provide temporary storage to reduce flash wear; distributing data in the DRAM buffer to form a Redundant Array of Individual Disks (RAID) structure of data distribution in the DRAM buffer for writing new data across several channels of the flash memory, the RAID structure managed by the controller; searching a mapping table for a matching entry for the logical address from a standard host write; reading data-type bits and a pointer from the matching entry; identifying a data-type to be a non-temporary data-type; wherein the controller manages non-temporary data. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An Endurance Translation Layer (ETL) method to increase endurance of a flash memory that has a low specified erase-cycle lifetime comprising:
-
creating an ETL in a dynamic-random-access memory (DRAM) buffer that is controlled by a controller and using the ETL to provide temporary storage to reduce flash wear; creating a spare/swap area in the DRAM buffer; operating a controller to use the spare/swap area in the DRAM buffer to merge valid data in a flash memory with new data to generate combined data; and writing the combined data to the flash memory; whereby a spare/swap function is performed by the controller using the DRAM buffer rather than the flash memory. - View Dependent Claims (19, 20, 21)
-
Specification