×

Memory system with variable length page stripes including data protection information

  • US 9,983,927 B2
  • Filed: 09/07/2015
  • Issued: 05/29/2018
  • Est. Priority Date: 08/11/2009
  • Status: Active Grant
First Claim
Patent Images

1. A non-volatile memory based solid state storage system comprising:

  • a printed circuit board;

    a plurality of non-volatile memory chips mounted to the printed circuit board, each non-volatile memory chip divided into planes, each plane divided into blocks, each block divided into pages, and each page including a plurality of non-volatile memory cells arranged to store a page of digital data, each non-volatile memory chip including a chip-level communications bus interface capable of receiving and sending digital data to be stored in, and retrieved from, non-volatile memory cells within the non-volatile memory chip; and

    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 non-volatile memory chips, the system controller further including an external communications bus interface capable of receiving digital data to be stored within the storage system;

    wherein the system controller is configured to store data received over the external communications bus in the plurality of non-volatile memory chips in the form of page stripes, each page stripe comprising a plurality of pages stored in the non-volatile memory chips, each of the plurality of pages being stored in a non-volatile memory chip that is different from, but in the same plane and block as, each of the non-volatile memory chips in which the other pages within the page stripe are stored, the plurality of pages making up each page stripe including;

    a plurality of data pages, andat 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 bitwise logical operation on the information within the data pages for the given page stripe;

    the page stripes stored by the system controller including;

    a first page stripe stored within the plurality of non-volatile memory chips, the first page stripe having N data pages and one data protection page, where N is an integer greater than three; and

    a second page stripe stored within the plurality of non-volatile memory chips, the second page stripe having M data pages and one data protection page, where M is an integer less than N, wherein each of the data pages within the second page stripe is stored within a non-volatile memory chip and a plane that also store data from a data page within the first page stripe and the data protection page for the first page stripe and the data protection page for the second page stripe can be located at any page location within the first page stripe and the second page stripe, respectively, including a first page location in the first and second data stripes.

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