×

Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED)

  • US 9,720,616 B2
  • Filed: 11/09/2015
  • Issued: 08/01/2017
  • Est. Priority Date: 06/18/2008
  • Status: Active Grant
First Claim
Patent Images

1. A retention flash drive system comprising:

  • a retention manager that is periodically activated when a retention-check timer has elapsed, the retention manager sending a vendor command to a flash drive that causes the flash drive to move physical blocks of data before a data-retention limit is reached wherein data stored in flash memory is lost, the retention manager also commanding a Solid-State Drive (SSD) to move a logical block before the data-retention limit is reached;

    an upper-level file filter driver, for executing on a host, for intercepting high-level host writes to a flash drive;

    an encryption/decryption engine, coupled to receive high-level host writes intercepted by the upper-level file filter driver, for generating encrypted data and for decrypting encrypted data;

    a compression/decompression engine, coupled to receive high-level host writes from the upper-level file filter driver, for generating compressed data and for decompressing compressed data;

    wherein compressed data and encrypted data are sent to a File System Driver (FSD) executing on the host;

    a lower-level file filter driver, for executing on the host, for intercepting lower-level file system host writes to a flash drive system;

    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 volume manager for transfer to a flash memory, and meta-pages stored in the flash memory are received by the un-grouping engine;

    a file priority tag sorter for generating a data type for a host write received;

    a task policy assignor for assigning a priority to tasks including writing of host write data by the data type, wherein priority is a function of the data type from the file priority tag sorter;

    a performance adjustor for adjusting priority of tasks;

    a target assignor for sorting host write data based on the data type generated by the file priority tag sorter;

    a flush manager for flushing data stored in a host DRAM to a SSD DRAM and then to a flash memory of a flash drive system when power is lost;

    a resume manager reloader for fetching flushed data from the flash memory of the flash drive system and then to the host DRAM when power is restored; and

    a disk miniport driver for managing vendor-specific functions of the flash drive system.

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