×

Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages

  • US 9,021,336 B1
  • Filed: 05/22/2012
  • Issued: 04/28/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:

  • receiving data to be programmed;

    arranging the received data for distribution among a page stripe such that sequentially received data is to be programmed among the page stripe, wherein the page stripe comprises two or more flash memory pages or two or more integer fractions of flash memory pages;

    error correction encoding data to be stored within a particular page or integer fraction to generate primary parity symbols for primary codewords;

    generating information portions of secondary codewords by selecting portions of primary codewords, wherein secondary codewords are at least partially orthogonal to primary codewords;

    error correction encoding the information portions of the secondary codewords to generate secondary parity symbols for the secondary codewords;

    arranging the secondary parity symbols for distribution within the page stripe such that the secondary parity symbols of each secondary codeword are spread out across each page of the page stripe when programmed; and

    programming the page stripe with the arranged received data, the primary parity symbols, and the arranged secondary parity symbols;

    wherein at least error correction encoding data, generating information portions, and error correction encoding the information portions are performed by an integrated circuit;

    wherein at least error correction encoding data, generating information portions, and error correction encoding the information portions are performed concurrently with write operations for an end user.

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