×

Green eMMC device (GeD) controller with DRAM data persistence, data-type splitting, meta-page grouping, and diversion of temp files for enhanced flash endurance

  • US 9,405,621 B2
  • Filed: 06/06/2014
  • Issued: 08/02/2016
  • Est. Priority Date: 12/28/2012
  • Status: Active Grant
First Claim
Patent Images

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.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×