# US 8,543,757 B2 · Techniques of maintaining logical to physical mapping information in non-volatile memory systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,543,757 B2
- Document ID: US8543757B2
- Status: Granted
- Kind: B2
- Application number: 12/821,423
- Filed: 2010-06-23
- Published: 2011-12-29
- Granted: 2013-09-24
- Earliest claimed: 2010-06-23
- Assignees: SanDisk Technologies LLC
- Applicants: Sergey Anatolievich Gorobets; Robert George Young
- Inventors: Sergey Anatolievich Gorobets; Robert George Young
- Web page: https://patentgrep.com/patent/US8543757B2

## CPC

- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 2212/7205: Cleaning, compaction, garbage collection, erase control
- G06F 2212/7207: management of metadata or control data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A non-volatile memory system writes logical to physical conversion data to the same memory blocks as user data, and as part of the same page as a segment of user data, as data segments are received and written. When a data block is subsequently compacted and obsolete data removed, the user data from the block is written to a one block and some or all of the logical to physical conversion data from the block is written to another block dedicated for the storage of such logical to physical mapping data.

## Claims

### Claim 1

A method of operating a memory system that includes a memory circuit having an array of non-volatile memory cells and a controller circuit, the controller overseeing the transfer of user data between a host and the memory array and managing the storage of user data on the memory array, the method comprising:
receiving from the host at the controller one or more segments of user data identified by a respective logical address;
assigning by the controller of a respective physical address in a first block of the memory array to each of the segments of user data;
maintaining by the controller of a mapping of the correspondence between the respective logical and physical addresses for each of the segments of user data;
writing a first set of one or more of the segments of user data as a plurality of write pages to the corresponding assigned physical addresses in the first block of the memory array;
writing the logical to physical mapping for the first set of segments of user data to a write page of the first block, wherein the logical to physical mapping includes the logical to physical mapping of one or more of the segments of user data written to the first block prior to writing the logical to physical mapping thereto; and
subsequently performing a data consolidation operation including:
consolidating segments of the first set of segments of user data from the first block into a second block; and
writing the logical to physical mapping for the consolidated segments of the first set of segments to a third block dedicated to storing logical to physical mappings.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
maintaining the logical to physical mapping for the first set of segments of user data in RAM memory on the controller prior to writing the logical to physical mapping for the first set of segments of user data to the first block.

### Claim 3 (depends on 1)

The method of claim 1, wherein the logical to physical mapping for the first set of segments of user data to the first block is written to the first block as part of the same write page as a segment of user data.

### Claim 4 (depends on 1)

The method of claim 1, wherein the consolidated segments include fragments of data from a logical group of data.

### Claim 5 (depends on 1)

The method of claim 1, wherein the memory circuit includes a plurality of erase blocks operated by the controller in a binary mode and a plurality of erase blocks operated by the controller in a multi-state mode, where the first, second and third blocks are binary blocks.

### Claim 6 (depends on 1)

The method of claim 1, wherein consolidating segments of the first set of segments of user data includes removing obsolete segments and the logical to physical mapping corresponding to the obsolete segments.

### Claim 7 (depends on 1)

The method of claim 1, further comprising, prior to performing the data consolidation operation:
writing a second set of one or more of the segments of user data to the corresponding assigned physical addresses of the memory array; and
writing the logical to physical mapping for the second set of segments of user data to the first block, and
wherein the data consolidation operation further includes:
consolidating segments of the second set of segments of user data from the first block into the second block; and
writing the logical to physical mapping for the consolidated segments of the second set of segments into the second block as part of the same page as user data of the consolidated segments of the second set of segments.

### Claim 8 (depends on 1)

The method of claim 1, wherein the segments of data correspond to a portion of a logical group of data spanning multiple pages.
