×

System and method for tolerating a failed page in a flash device

  • US 9,047,214 B1
  • Filed: 05/22/2012
  • Issued: 06/02/2015
  • Est. Priority Date: 05/22/2012
  • Status: Active Grant
First Claim
Patent Images

1. A method of programming data to a plurality of flash memory devices, the method comprising:

  • associating two or more flash memory pages or integer fractions of flash memory pages from one or more integrated circuits or planes with a page stripe, wherein a page is associated with a set of primary ECC codewords;

    associating two or more page stripes from different integrated circuits or planes with a page grid, wherein the page grid is associated with a group of tertiary ECC codewords, wherein the tertiary ECC is usable as an erasure code, and wherein a last page stripe of the page grid has a reduced payload capacity;

    receiving data to be programmed;

    error correction encoding the received data to be stored within each page stripe to generate at least primary ECC codewords for the pages or integer fractions of pages of the page stripe, wherein the primary ECC codewords comprise both data and primary parity;

    calculating tertiary ECC parity across the page grid, wherein a tertiary ECC codeword includes a number of symbols including both the data and the primary parity of the primary ECC codewords residing on every page no greater than the erasure capability of the tertiary ECC codeword;

    arranging the tertiary parity data, wherein the tertiary parity data is broken up and spread for programming across the last page stripe of the page grid; and

    programming the pages of the page grid to store at least the received data, the primary parity data, and the tertiary parity data, wherein each bit of the received data is protected by both primary parity and tertiary parity, wherein the data and the primary parity of primary ECC codewords are stored within the same page or same integer fraction of the page;

    wherein at least performing error correction encoding is performed in an integrated circuit.

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