发明名称 Virtual Memory Device (VMD) Application/Driver for Enhanced Flash Endurance
摘要 A Virtual-Memory Device (VMD) driver and application execute on a host to increase endurance of flash memory attached to a Super Enhanced Endurance Device (SEED) or Solid-State Drive (SSD). Host accesses to flash are intercepted by the VMD driver using upper and lower-level filter drivers 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 before storage by the SSD. Ramdisks and caches for storing each data type in the host DRAM are managed and flushed to the SSD by the VMD driver. 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.
申请公布号 US2015106557(A1) 申请公布日期 2015.04.16
申请号 US201414575943 申请日期 2014.12.18
申请人 Super Talent Technology Corp. 发明人 Yu Frank;Ma Abraham C.;Chen Shimon;Yan Yi Syu
分类号 G06F3/06;G11C13/00;G11C11/56;G06F12/02 主分类号 G06F3/06
代理机构 代理人
主权项 1. A method for refreshing a flash memory comprising: obtaining a current date; for a current block in a list of blocks in the flash memory: (a) reading a block status table for an erase count of the current block and for a write date of the current block that indicates when the current block was last written; calculating a first time delay as a difference of the write date and the current date; comparing the first time delay to a retention time; when the first time delay exceeds the retention time, moving all valid pages in the current block to empty pages in a spare block in a dynamic-random-access memory (DRAM); when the spare block in the DRAM is full, moving data from the spare block in DRAM to a spare block in the flash memory; erasing the current block; selecting another block in the list of blocks of flash memory as the current block and repeating from (a) until all blocks in the list of blocks have been processed, whereby flash blocks are refreshed.
地址 San Jose CA US