# US 12,216,943 B2 · Integrated pivot table in a logical-to-physical mapping

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

- Number: US 12,216,943 B2
- Document ID: US12216943B2
- Status: Granted
- Kind: B2
- Application number: 18/603,117
- Filed: 2024-03-12
- Published: 2024-07-04
- Granted: 2025-02-04
- Earliest claimed: 2021-05-07
- Applicants: Lodestar Licensing Group LLC
- Inventors: Giuseppe D'Eliseo; Luca Porzio; Stephen Hanna
- Web page: https://patentgrep.com/patent/US12216943B2

## CPC

- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/10: Address translation
- G06F 2212/7201: Logical to physical mapping or translation of blocks or pages
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, systems, and devices for integrating a pivot table in a logical-to-physical mapping of a memory system are described. The memory system may receive a read command and read a first entry of a first subset of mapping and a second entry of a second subset of mapping. The second entry may include at least a portion of a pivot table associated with physical addresses of a non-volatile memory device. The memory system may retrieve data from a physical address identified in the pivot table, rather than access a different portion of the logical-to-physical mapping. The memory system may transmit, to a host system, the data retrieved from the physical address identified in the pivot table.

## Claims

### Claim 1

A memory system, comprising:
one or more memory devices; and
one or more controllers coupled with the one or more memory devices and configured to cause the memory system to:
receive a plurality of write commands for a set of physical addresses of a first memory device of the one or more memory devices;
generate a pivot table to be included in a first subset of a mapping based at least in part on the set of physical addresses being consecutively indexed;
set, based at least in part on generating the pivot table, a flag in an entry of the first subset of the mapping, the entry comprising at least a portion of the pivot table associated with the set of physical addresses; and
write data to the set of physical addresses based at least in part on setting the flag.

### Claim 2 (depends on 1)

The memory system of claim 1, wherein the one or more controllers are configured to cause the memory system to:
determine that the set of physical addresses are consecutively indexed based at least in part on the plurality of write commands, wherein generating the pivot table is based at least in part on the set of physical addresses being consecutively indexed.

### Claim 3 (depends on 1)

The memory system of claim 1, wherein the one or more controllers are configured to cause the memory system to:
replace, based at least in part on generating the pivot table, a pointer included in the entry of the first subset of the mapping with the portion of the pivot table, wherein setting the flag in the entry of the first subset of the mapping is based at least in part on replacing the pointer included in the entry of the first subset of the mapping with the portion of the pivot table.

### Claim 4 (depends on 1)

The memory system of claim 1, wherein a second subset of the mapping comprises a plurality of intervals, each interval of the plurality of intervals comprising a respective set of physical addresses that are consecutively indexed.

### Claim 5 (depends on 4)

The memory system of claim 4, wherein:
the pivot table comprises a plurality of entries,
each entry of the plurality of entries represents a respective plurality of logical block addresses that are consecutively indexed, and
each entry of the plurality of entries comprises instructions to identify a respective starting physical address of each interval of the plurality of intervals of the second subset of the mapping.

### Claim 6 (depends on 4)

The memory system of claim 4, wherein a quantity of entries included in the pivot table is based at least in part on a size of the second subset of the mapping.

### Claim 7 (depends on 4)

The memory system of claim 4, wherein the pivot table comprises a data structure representing a compressed version of the second subset of the mapping.

### Claim 8 (depends on 1)

The memory system of claim 1, wherein the portion of the pivot table indicates whether the data is valid data or invalid data.

### Claim 9

A method, comprising:
receiving a plurality of write commands for a set of physical addresses of a memory device;
generating a pivot table to be included in a first subset of a mapping based at least in part on the set of physical addresses being consecutively indexed;
setting, based at least in part on generating the pivot table, a flag in an entry of the first subset of the mapping, the entry comprising at least a portion of the pivot table associated with the set of physical addresses; and
writing data to the set of physical addresses based at least in part on setting the flag.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
determining that the set of physical addresses are consecutively indexed based at least in part on receiving the plurality of write commands, wherein generating the pivot table is based at least in part on the set of physical addresses being consecutively indexed.

### Claim 11 (depends on 9)

The method of claim 9, further comprising:
replacing, based at least in part on generating the pivot table, a pointer included in the entry of the first subset of the mapping with the portion of the pivot table, wherein setting the flag in the entry of the first subset of the mapping is based at least in part on replacing the pointer included in the entry of the first subset of the mapping with the portion of the pivot table.

### Claim 12 (depends on 9)

The method of claim 9, wherein a second subset of the mapping comprises a plurality of intervals, each interval of the plurality of intervals comprising a respective set of physical addresses that are consecutively indexed.

### Claim 13 (depends on 12)

The method of claim 12, wherein:
the pivot table comprises a plurality of entries,
each entry of the plurality of entries represents a respective plurality of logical block addresses that are consecutively indexed, and
each entry of the plurality of entries comprises instructions to identify a respective starting physical address of each interval of the plurality of intervals of the second subset of the mapping.

### Claim 14 (depends on 12)

The method of claim 12, wherein a quantity of entries in the pivot table is based at least in part on a size of the second subset of the mapping.

### Claim 15 (depends on 12)

The method of claim 12, wherein the pivot table comprises a data structure representing a compressed version of the second subset of the mapping.

### Claim 16 (depends on 9)

The method of claim 9, wherein the portion of the pivot table indicates whether the data is valid data or invalid data.

### Claim 17

A non-transitory computer-readable medium storing code, the code comprising instructions executable by one or more processors to:
receive a plurality of write commands for a set of physical addresses of a memory device;
generate a pivot table to be included in a first subset of a mapping based at least in part on the set of physical addresses being consecutively indexed;
set, base at least in part on generating the pivot table, a flag in an entry of the first subset of the mapping, the entry comprising at least a portion of the pivot table associated with the set of physical addresses; and
write data to the set of physical addresses based at least in part on setting the flag.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the instructions are further executable by the one or more processors to:
determine that the set of physical addresses are consecutively indexed based at least in part on receiving the plurality of write commands, wherein generating the pivot table is based at least in part on the set of physical addresses being consecutively indexed.

### Claim 19 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein a second subset of the mapping comprises a plurality of intervals, each interval of the plurality of intervals comprising a respective set of physical addresses that are consecutively indexed.

### Claim 20 (depends on 19)

The non-transitory computer-readable medium of claim 19, wherein:
the pivot table comprises a plurality of entries,
each entry of the plurality of entries represents a respective plurality of logical block addresses that are consecutively indexed, and
each entry of the plurality of entries comprises instructions to identify a respective starting physical address of each interval of the plurality of intervals of the second subset of the mapping.
