# US 8,572,309 B2 · Apparatus and method to protect metadata against unexpected power down

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

- Number: US 8,572,309 B2
- Document ID: US8572309B2
- Status: Granted
- Kind: B2
- Application number: 12/619,938
- Filed: 2009-11-17
- Published: 2010-09-16
- Granted: 2013-10-29
- Earliest claimed: 2009-03-12
- Assignees: Marvell World Trade Ltd.
- Applicants: Luan Ton-That; Lau Nguyen; Gwoyuh Hwu
- Inventors: Luan Ton-That; Lau Nguyen; Gwoyuh Hwu
- Web page: https://patentgrep.com/patent/US8572309B2

## CPC

- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 11/1441: {Resetting or repowering}
- G06F 2212/7207: management of metadata or control data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system includes first memory configured to store first metadata to associate logical addresses with physical addresses. Second memory is configured to include the physical addresses, to store first data based on the physical addresses, and to store portions of the first metadata when a status of a predetermined group of the physical addresses is changed. A recovery module is configured to update the first metadata based on the portions of the first metadata stored in the second memory.

## Claims

### Claim 1

A system, comprising:
a first memory configured to store first metadata to associate logical addresses with physical addresses;
a second memory having the physical addresses, wherein the second memory is configured to
store first data based on the physical addresses of the second memory, and
store portions of the first metadata i) in response to a status of a predetermined group of the physical addresses being changed, and ii) regardless of whether the system is being powered down; and
a recovery module configured to, in response to a determination that the system was powered down improperly, update the first metadata stored in the first memory based on the portions of the first metadata stored in the second memory,
wherein the first metadata includes a first lookup table to associate the logical addresses with the physical addresses of the second memory,
wherein the first metadata includes a second lookup table to associate the physical addresses of the second memory with the logical addresses,
wherein the predetermined group of the physical addresses is a wide erase block unit (WERU),
wherein the first metadata includes identifiers for a plurality of WERUs, and wherein the identifiers correspond to respective bins, and
wherein the first metadata includes an activity log to indicate when a first identifier for one of the plurality of WERUs is changed.

### Claim 2 (depends on 1)

The system of claim 1, wherein the first memory includes volatile memory, and the second memory includes a flash memory module.

### Claim 3 (depends on 1)

The system of claim 1, wherein the bins include a working bin, a partial bin, a valid bin, and a free bin.

### Claim 4 (depends on 1)

The system of claim 1, wherein the second memory stores the portions of the first metadata when the first identifier is changed.

### Claim 5 (depends on 4)

The system of claim 4, wherein the portions of the first metadata include portions of the second lookup table associated with the one of the plurality of WERUs.

### Claim 6 (depends on 5)

The system of claim 5, wherein the recovery module updates the first lookup table based on (i) the portions of the second lookup table and (ii) the activity log.

### Claim 7 (depends on 6)

The system of claim 6, wherein the recovery module retrieves the portions of the second lookup table and the activity log from the second memory when the system powers up.

### Claim 8

A method for operating a device, the method comprising:
storing, in a first memory, first metadata that associates logical addresses with physical addresses, wherein the physical addresses are associated with a second memory;
storing, in the second memory, first data based on the physical addresses of the second memory;
storing portions of the first metadata in the second memory i) in response to a status of a predetermined group of the physical addresses being changed, and ii) regardless of whether the device is powered down;
in response to a determination that the device was powered down improperly, updating the first metadata stored in the first memory based on the portions of the first metadata stored in the second memory;
associating the logical address with the physical addresses of the second memory based on a first lookup table included in the first metadata;
associating the physical addresses of the second memory with the logical addresses based on a second lookup table included in the first metadata,
wherein the predetermined group of the physical addresses is a wide erase block unit (WERU), and
wherein the first metadata includes identifiers for a plurality of WERUs, and wherein the identifiers correspond to respective bins; and
indicating when a first identifier for one of the plurality of WERUs is changed using an activity log included in the first metadata.

### Claim 9 (depends on 8)

The method of claim 8, further comprising storing the portions of the first metadata in the second memory when the first identifier is changed.

### Claim 10 (depends on 9)

The method of claim 9, wherein the portions of the first metadata include portions of the second lookup table associated with the one of the plurality of WERUs.

### Claim 11 (depends on 10)

The method of claim 10, further comprising updating the first lookup table based on the portions of the second lookup table and the activity log.

### Claim 12 (depends on 11)

The method of claim 11, further comprising retrieving the portions of the second lookup table and the activity log from the second memory when the device powers up.
