# US 2014/0208013 A1 · Memory system

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

- Number: US 2014/0208013 A1
- Document ID: US20140208013A1
- Status: Published application
- Kind: A1
- Application number: 14/226,510
- Filed: 2014-03-26
- Published: 2014-07-24
- Earliest claimed: 2008-02-29
- Assignees: Kabushiki Kaisha Toshiba
- Applicants: Kabushiki Kaisha Toshiba
- Inventors: Junji YANO; Hidenori MATSUZAKI; Kosuke HATSUDA; Shigehiro ASANO; Shinichi KANNO; Toshikatsu HIDA
- Web page: https://patentgrep.com/patent/US20140208013A1

## CPC

- G06F 11/1451: {by selection of backup contents}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/06: Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication (G06F12/08 takes precedence)
- G11C 7/20: Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
- G11C 11/5628: {Programming or writing circuits; Data input circuits}
- G11C 16/0483: {comprising cells having several storage transistors connected in series}
- G11C 16/10: Programming or data input circuits
- G11C 16/105: {Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written}
- G06F 11/1471: involving logging of persistent data for recovery
- G06F 2212/7207: management of metadata or control data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A memory system includes a volatile first storing unit, a nonvolatile second storing unit, and a controller. The controller performs data transfer, stores management information including a storage position of the data stored in the second storing unit into the first storing unit, and performs data management while updating the management information. The second storing unit has a management information storage area for storing management information storage information including management information in a latest state and a storage position of the management information. The storage position information is read by the controller during a startup operation of the memory system and includes a second pointer indicating a storage position of management information in a latest state in the management information storage area and a first pointer indicating a storage position of the second pointer. The first pointer is stored in a fixed area in the second storing unit and the second pointer is stored in an area excluding the fixed area in the second storing unit.

## Claims

### Claim at position 1

1-20. (canceled)

### Claim 21

A memory system comprising:
a volatile memory;
a nonvolatile memory configured to store management information indicating a storage location of data, a first pointer, and a second pointer; and
a controller configured to read out at least one part of the management information from the nonvolatile memory into the volatile memory, and to manage data, and to update the management information,
the first pointer indicating a storage location of the second pointer,
the second pointer indicating a storage location of the management information, wherein
the nonvolatile memory stores:
backup information indicating contents of the management information, the management information being stored in the volatile memory; and
update information indicating a change in the contents before and after updating the management information, wherein
the controller is configured to control saving of the backup information or the update information, and to update the first pointer when the second pointer is updated multiple times.

### Claim 22 (depends on 21)

The memory system according to claim 21, wherein the controller is configured to save the management information stored in the volatile memory into the nonvolatile memory and to update the second pointer.

### Claim 23 (depends on 22)

The memory system according to claim 22, wherein, when reading out the management information into the volatile memory, the controller is configured to:
read the first pointer and acquire the storage location of the second pointer; and
after reading the first pointer, read the second pointer and acquire the storage location of the management information.

### Claim 24 (depends on 21)

The memory system according to claim 21, wherein
the first pointer is stored in a fixed area whose storage location in the nonvolatile memory is fixed and the second pointer is stored in a variable area whose storage location in the nonvolatile memory is variable, and
the second pointer is more frequently updated than the first pointer.

### Claim 25 (depends on 21)

The memory system according to claim 21, wherein the controller is configured to save the backup information in a backup storage area of the nonvolatile memory when an update storage area of the nonvolatile memory is full with the update information.

### Claim 26 (depends on 21)

The memory system according to claim 21, wherein
the nonvolatile memory includes a plurality of blocks, each of the plurality of blocks being a data erasing unit and including a plurality of pages, each of the plurality of pages being a data programming unit,
the first pointer is stored in a first block selected from the plurality of blocks and the second pointer is stored in a second block selected from the plurality of blocks, and
when all of the plurality of pages in the second block are full with the second pointer, the controller is configured to acquire a third block for writing the second pointer and to write a new version of the first pointer in a new page of the first block.

### Claim 27 (depends on 24)

The memory system according to claim 24, wherein the first pointer is multiplexed in the fixed area.

### Claim 28 (depends on 24)

The memory system according to claim 24, wherein the second pointer is multiplexed in the variable area.

### Claim 29 (depends on 21)

The memory system according to claim 21, wherein the nonvolatile memory is capable of storing multiple bits in one memory cell.

### Claim 30

A method of controlling a memory system comprising:
storing management information for data management, a first pointer, and a second pointer in a nonvolatile memory;
reading the first pointer to acquire a storage location of the second pointer;
reading the second pointer to acquire a storage location of the management information;
reading out at least one part of the management information from the nonvolatile memory into a volatile memory;
updating the management information;
saving backup information indicating contents of the management information;
saving update information indicating a change in the contents before and after updating the management information;
updating the second pointer; and
updating the first pointer when the second pointer is updated multiple times.

### Claim 31 (depends on 30)

The method according to claim 30, wherein,
in the saving of the backup information, when a predetermined condition is satisfied, the backup information is saved and the second pointer is updated.

### Claim 32 (depends on 30)

The method according to claim 30, wherein,
in the saving of the backup information, the backup information is stored in a backup storage area of the nonvolatile memory, and
in the saving of the update information, the update information is stored in an update storage area of the nonvolatile memory.

### Claim 33 (depends on 30)

The method according to claim 30, wherein,
in the saving of the backup information, the backup information is saved in a backup storage area of the nonvolatile memory when an update storage area of the nonvolatile memory is full with the update information.

### Claim 34 (depends on 30)

The method according to claim 30, wherein
the nonvolatile memory includes a plurality of blocks, each of the plurality of blocks being a data erasing unit and including a plurality of pages, each of the plurality of pages being a data programming unit,
the first pointer is stored in a first block selected from the plurality of blocks and the second pointer is stored in a second block selected from the plurality of blocks, and
when all of the plurality of pages in the second block are full with the second pointer, acquiring a third block for writing the second pointer and writing a new version of the first pointer in a new page of the first block.

### Claim 35 (depends on 30)

The method according to claim 30, further comprising:
multiplexing the first pointer in a fixed area whose storage location in the nonvolatile memory is fixed.

### Claim 36 (depends on 30)

The method according to claim 30, further comprising:
multiplexing the second pointer in a variable area whose storage location in the nonvolatile memory is variable.

### Claim 37 (depends on 30)

The method according to claim 30, wherein the nonvolatile memory is capable of storing multiple bits in one memory cell.

### Claim 38

A memory system comprising:
a controller configured to manage data; and
a nonvolatile memory configured to store management information, a first pointer, and a second pointer,
the first pointer indicating a storage location of the second pointer,
the second pointer indicating a storage location of a piece of information for data management in the nonvolatile memory, wherein
the controller is configured to control saving of at least backup information or update information, and to update the first pointer when the second pointer is updated multiple times,
the backup information indicating contents of the management information,
the update information indicating a change in the contents.

### Claim 39

A memory system comprising:
a nonvolatile memory configured to store a piece of information for data management; and
a controller configured to control updating of a first pointer when a second pointer is updated multiple times,
the first pointer indicating a storage location of the second pointer,
the second pointer indicating a storage location of the piece of information in the nonvolatile memory.
