×

NON-VOLATILE MEMORY AND METHOD WITH ADAPTIVE LOGICAL GROUPS

  • US 20150186270A1
  • Filed: 12/30/2013
  • Published: 07/02/2015
  • Est. Priority Date: 12/30/2013
  • Status: Active Grant
First Claim
Patent Images

1. A nonvolatile memory, comprising:

  • an array of memory cells organized into blocks as erase units and physical pages as read/write units, each physical page for storing a logical page of data, each logical page having a logical address assigned by a host;

    a plurality of logical groups provided by partitioning a logical address space of the host into non-overlapping groups of sequential logical addresses, each logical group consisting a plurality of corresponding logical pages;

    a controller, for writing data from a host write in either a first or second write stream;

    a pool of erase blocks for allocating multiple blocks in the first write stream, each of the multiple blocks being open in parallel in the first write stream for writing logical group by logical group, and for allocating blocks sequentially in the second write stream, each of the blocks being open one at a time for writing logical page by logical page;

    said controller, responsive to the data having at least a predetermined size or its logical addresses following sequentially a previous write in a partially filled block in the first stream, for writing the data to the first write stream, otherwise, for writing the data to the second write stream;

    a group-level map for tracking logical groups stored among the plurality of blocks in the first write stream, said group-level map being maintained in said non-volatile memory with a copy cached in a RAM of said controller;

    a page-level map for tracking obsolete pages among the logical groups written in the first write stream and updated pages of the obsolete pages written in the first and second write streams, said page-level map being maintained in said non-volatile memory with at least a portion of a copy cached in the RAM of said controller; and

    said controller performing garbage collection independently on each of the first and second write streams without data being copied between each of the first and second write streams.

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