×

Command queuing smart storage transfer manager for striping data to raw-NAND flash modules

  • US 8,176,238 B2
  • Filed: 05/10/2011
  • Issued: 05/08/2012
  • Est. Priority Date: 12/02/2003
  • Status: Expired due to Fees
First Claim
Patent Images

1. A multi-level flash memory storage system comprising:

  • a host which uses a downstream interface to a plurality of multi-level flash memory storage subsystems;

    a plurality of multi-level flash memory storage subsystems, each multi-level flash memory storage subsystem further comprising;

    volatile memory sector buffer means for temporarily storing host data in a volatile memory that loses data when power is disconnected;

    a Smart Storage Switch (SSS) which comprises;

    an upstream interface to a host for receiving host commands to access Non-Volatile Memory (NVM) and for receiving host data and a host address;

    a smart storage transaction manager that manages transactions from the host;

    a virtual storage processor that maps the host address to an assigned flash module to generate a Logical Block Address (LBA), the virtual storage processor performing a first level of mapping;

    a virtual storage bridge between the smart storage transaction manager and a LBA bus;

    a first-level stripping mapper, in the Smart Storage Switch, that maps the LBA to a plurality of flash memory modules;

    wherein first-level striping is performed before the host data is sent to flash memory modules;

    a plurality of flash memory modules, wherein a flash module in the plurality of flash modules comprises;

    a NVM controller, coupled to the LBA bus to receive the LBA generated by the virtual storage processor and to receive the host data from the virtual storage bridge;

    a second-level mapper, in the NVM controller, for mapping the LBA to a Physical Block Address (PBA);

    a local clock source, within each of the plurality of flash modules, for generating local clocks for clocking the NVM controllers and interfaces to raw-NAND flash memory chips;

    wherein local clocks are generated within each of the plurality of flash modules;

    raw-NAND flash memory chips, coupled to the NVM controller, for storing the host data at a block location identified by the PBA generated by the second-level mapper in the NVM controller;

    wherein a flash memory module is a striping non-volatile-memory (NVM) system which comprises;

    a module interface to the virtual storage bridge that generates striping data, address and commands;

    wherein the raw-NAND flash memory chips comprise a plurality of NVM devices each having a plurality of NVM memory blocks for storing stripping data that retains data when power is disconnected;

    a NVM storage processor that assigns SSS commands to an assigned device in the plurality of NVM devices, the storage processor also storing attributes obtained from each of the plurality of NVM devices, the attributes including memory capacities, wherein the NVM storage processor reports an aggregate sum of the memory capacities to the SSS;

    a data striping unit for segmenting SSS data into data segments stored on several of the plurality of NVM devices; and

    a storage bridge, coupled between the NVM storage processor and the plurality of NVM devices;

    wherein flash memory is arranged as blocks of multiple pages, wherein pages are written and blocks are erased, wherein individual pages are not individually erasable except by erasing all pages in a physical block;

    wherein flash memory is further arranged into a plurality of planes that are plane-interleaved and accessible in parallel;

    further comprising;

    a volatile logical-physical mapping table storing mapping entries, wherein a mapping entry stores a logical address of data from the SSS and a physical block address (PBA) indicating a location of the data within the flash memory;

    wherein a mapping entry further comprises a plane number and a page number;

    a table restorer for restoring mapping entries in the volatile logical-physical mapping table by accessing blocks of flash memory in a plane-interleaved order,wherein the volatile logical-physical mapping table is restored from flash memory in the plane-interleaved order using a second least-significant-bit (LSB) as a most-significant bit (MSB) of the physical block address,whereby address mapping is performed to access the raw-NAND flash memory chips.

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