×

FLASH-based Memory System With Variable Length Page Stripes Including Data Protection Information

  • US 20110040926A1
  • Filed: 09/05/2009
  • Published: 02/17/2011
  • Est. Priority Date: 08/11/2009
  • Status: Active Grant
First Claim
Patent Images

1. A FLASH memory based solid state storage system comprising:

  • (a) a printed circuit board;

    (b) a fixed number of FLASH memory chips mounted to the printed circuit board, each FLASH memory chip having the same physical construction and including a plurality of FLASH memory cells arranged to store a plurality of pages of digital data and a chip-level communications bus interface capable of receiving and sending digital data to be stored in, and retrieved from, FLASH memory cells within the FLASH memory chip; and

    (c) a system controller mounted to the printed circuit board, the system controller including a plurality of system communication bus interfaces, each system communication bus interface being coupled by a system communications bus to one or more chip-level communication bus interfaces such that the system controller can provide digital data to and retrieve digital data from memory cells within the one or more FLASH memory chips, the system controller further including an external communications bus interface capable of receiving digital data to be stored within the storage system;

    (d) wherein the system controller is configured to store data received over the external communications bus in the plurality of FLASH memory chips in the form of page stripes, each page stripe comprising a plurality of pages of information stored in physical memory locations within the FLASH memory chips, each of the plurality of pages of information being stored in a FLASH memory chip that is different from each of the FLASH memory chips in which the other pages of information within the page stripe are stored, the plurality of pages making up each page stripe including;

    (i) a plurality of data pages, and(ii) at least one data protection page containing data protection information that may be used to reconstruct data stored in a data page within the page stripe that becomes corrupted or unavailable, the data protection information for a given page stripe being obtained by performing a logical operation on the information within the data pages for the given page stripe; and

    (e) wherein the system controller is further configured to create page stripes using information associated with physical memory locations previously used to store information that are available for the storage of different information such that at least some of the created page stripes stored by the system controller include;

    (i) a first page stripe stored within the plurality of FLASH memory chips, the first page stripe having N data pages and one data protection page, where N is an integer greater than three and equal to one less than the number of FLASH memory chips; and

    (ii) a second page stripe stored within the plurality of FLASH memory chips, the second page stripe having M data pages and one data protection page, where M is an integer less than N and wherein the second page stripe includes a physical memory location previously included in a page stripe having N data pages.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×