发明名称 Green eMMC device (GeD) controller with DRAM data persistence, data-type splitting, meta-page grouping, and diversion of temp files for enhanced flash endurance
摘要 A controller for a Super Enhanced Endurance Device (SEED) or Solid-State Drive (SSD) increases flash endurance using a DRAM buffer. Host accesses to flash are intercepted by the controller and categorized as data types of paging files, temporary files, meta-data, and user data files, using address ranges and file extensions read from meta-data tables. Paging files and temporary files are optionally written to flash. Full-page and partial-page data are grouped into multi-page meta-pages by data type in the DRAM before storage by lower-level flash devices such as eMMC, UFS, or iSSD. Caches in the DRAM buffer for storing each data type are managed and flushed to the flash devices by the controller. Write dates are stored for pages or blocks for management functions. A spare/swap area in DRAM reduces flash wear. Reference voltages are adjusted when error correction fails.
申请公布号 US9405621(B2) 申请公布日期 2016.08.02
申请号 US201414298808 申请日期 2014.06.06
申请人 Super Talent Technology, Corp. 发明人 Yu Frank;Ma Abraham C.;Chen Shimon
分类号 G06F12/00;G06F13/00;G06F13/28;G06F11/10;G06F3/06;G11C29/00;G06F12/02;G11C11/56;G06F12/08;G11C13/00 主分类号 G06F12/00
代理机构 gPatent LLC 代理人 Auvinen Stuart T.;gPatent LLC
主权项 1. An enhanced-endurance Solid-State Drive (SSD) controller comprising: a host interface for receiving host reads and host writes from a host; a data write cache for storing host write data; a data read cache for storing data for reading by the host; a grouping engine for grouping data stored in the data write cache into meta-pages; an un-grouping engine for un-grouping data in stored in meta-pages into ungrouped data for storage in the data read cache; wherein meta-pages are sent from the grouping engine to a flash memory device, and meta-pages stored in the flash memory device are received by the un-grouping engine; a multi-channel flash interface for transferring data from the grouping engine in a plurality of stripes for writing to a plurality of flash memory devices, and for reading a plurality of stripes from the plurality of flash memory devices for transfer to the un-grouping engine; a dynamic-random-access memory (DRAM) buffer interface for interfacing to a DRAM buffer for storing the data write cache, the data read cache, and buffers for the grouping engine and for the un-grouping engine; a flush manager for flushing data stored in the DRAM buffer to the plurality of flash memory devices when power is lost; a resume manager for fetching flushed data from the plurality of flash memory devices and fore writing to the DRAM buffer when power is restored; a file type identifier for generating a data type for a host write received by the host interface from the host; a data split manager for sorting host write data based on the data type generated by the file type identifier; wherein the data write cache stores host write data having a user data type; a meta-data cache, in the DRAM buffer, for storing host write data having a meta-data data type; a paging cache, in the DRAM buffer, for storing host write data having a paging file data type; and a temp cache, in the DRAM buffer, for storing host write data having a temp data type; wherein the temp cache is not flushed to the plurality of flash memory devices by the flush manager; wherein the meta-data cache is flushed to the plurality of flash memory devices by the flush manager.
地址 San Jose CA US