# US 10,120,791 B2 · Data read apparatus, data read method, and storage medium storing data read program

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

- Number: US 10,120,791 B2
- Document ID: US10120791B2
- Status: Granted
- Kind: B2
- Application number: 14/855,628
- Filed: 2015-09-16
- Published: 2016-03-24
- Granted: 2018-11-06
- Earliest claimed: 2014-09-18
- Assignees: Casio Computer Co., Ltd.
- Applicants: Casio Computer Co., Ltd.
- Inventors: Shunsuke Yamada
- Web page: https://patentgrep.com/patent/US10120791B2

## CPC

- G06F 12/00: Accessing, addressing or allocating within memory systems or architectures (digital input from, or digital output to record carriers, e.g. to disk storage units, G06F3/06)
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 2212/7207: management of metadata or control data
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A data read apparatus includes a nonvolatile memory comprising a plurality of blocks, each of the blocks including an area storing block information, in which a position of a next block is written, or storing the block information and file management information, and an area storing actual data; a volatile memory; a power-on circuit configured to turn on supply of power to the nonvolatile memory and the volatile memory; and a processor. The processor is configured to: read out the block information stored in each of the blocks of the nonvolatile memory, or the block information and the file management information, when the supply of power was turned on by the power-on circuit, and register the read-out block information, or the block information and the file management information, in the volatile memory as file position information.

## Claims

### Claim 1

A data read apparatus comprising:
a nonvolatile memory comprising a plurality of blocks, each of the blocks including an area storing block information, in which a position of a next block is written, and file management information, and an area storing actual data;
a volatile memory;
a power-on circuit configured to turn on supply of power to the nonvolatile memory and the volatile memory; and
a processor,
the processor being configured to:
(1) read out the block information stored in each of the blocks of the nonvolatile memory, or the block information and the file management information, when the supply of power was turned on by the power-on circuit;
(2) register the read-out block information, or the block information and the file management information, in the volatile memory as file position information;
(3) read out a series of actual data of a file associated with the file management information stored in the nonvolatile memory, by referring to the file position information registered in the volatile memory;
(4) successively write and manage, each time an update of the file occurs, the file management information after the update in a plurality of file management information areas that are sequentially ordered in a certain block of the nonvolatile memory to store the file management information;
(5) count-up, when updating the file, so that a number of times that the file has been updated is stored in an update number management area that is set in the certain block of the non-volatile memory to store the number of times the file has been updated;
(6) determine which file management information area is currently being used based on the number of times the file has been updated which is stored in the update number management area; and
(7) read out a series of actual data associated with the file management information stored in the nonvolatile memory, by referring to the file position information registered in the volatile memory.

### Claim 2 (depends on 1)

The data read apparatus of claim 1, wherein the file management information stored in the nonvolatile memory is stored in a block in which first actual data of a corresponding file is stored,
a position of a next block is a block position at which actual data following first actual data is stored, and
the processor is configured to:
(1) read out, at a time of reading out the block information stored in each of the blocks of the nonvolatile memory, or the block information and the file management information, and registering the read-out block information, or the block information and the file management information, in the volatile memory as the file position information, the block information stored in each of the blocks of the nonvolatile memory, or the block information and the file management information, (2) store the block information in a first area of the volatile memory, and (3) store the file management information in a second area of the volatile memory in association with a block position at which the file management information was read out; and
read out, at a time of reading out the series of actual data associated with the file management information from the nonvolatile memory, actual data of a corresponding block stored in the nonvolatile memory by referring to a block position associated with the file management information of the volatile memory of a read target, and read out actual data of a corresponding bock stored in the nonvolatile memory by referring to a next block position of the volatile memory which is next to the block position where the actual data was read out, thereby reading out the actual data as the series of actual data associated with the file management information.

### Claim 3 (depends on 1)

The data read apparatus of claim 1, wherein the processor is configured to:
write, in the block information stored in each of the blocks of the nonvolatile memory, information indicating whether a corresponding block is a free block or not;
store, in accordance with the information indicating the free block in the block information stored in the volatile memory, actual data of a write target file in the corresponding block of the nonvolatile memory;
write the block information and the file management information in the block of the nonvolatile memory in which the actual data of the write target file was stored; and
update the file position information stored in the volatile memory, based on the block information and the file management information written in the block of the nonvolatile memory.

### Claim 4 (depends on 1)

The data read apparatus of claim 1, wherein the processor is configured to:
determine, when the file is updated, whether current file management information is written in a terminal-end file management information area of the plural set file management information areas, based on the number of times of update of the file, which was stored in the update number management area;
(1) save the current file management information, which is stored in the terminal-end file management information area, in another block, when it was determined that the current file management information is written in the terminal-end file management information area of the plural set file management information areas, (2) and, after the file management information stored in each of the file management information areas was deleted, write back the saved current file management information to a first one of the file management information areas; and
update, in accordance with update of the file, the current file management information which was written back to the first one of the management information areas.

### Claim 5

A non-transitory computer readable storage medium having stored therein a program for controlling a processor of an electric device which includes a nonvolatile memory comprising a plurality of blocks, each of the blocks including an area storing block information, in which a position of a next block is written, and file management information, and an area storing actual data, a volatile memory, and a power-on circuit configured to turn on supply of power to the nonvolatile memory and the volatile memory, the program causing the processor to execute:
(1) read out the block information stored in each of the blocks of the nonvolatile memory, or the block information and the file management information, when the supply of power was turned on by the power-on circuit, and
(2) register the read-out block information, or the block information and the file management information, in the volatile memory as file position information;
(3) read out a series of actual data of a file associated with the file management information stored in the nonvolatile memory, by referring to the file position information registered in the volatile memory;
(4) successively write and manage, each time an update of the file occurs, the file management information after the update in of a plurality of file management information areas that are sequentially ordered in a certain block of the nonvolatile memory to store the file management information;
(5) count-up, when updating the file, so that a number of times that the file has been updated is stored in an update number management area that is set in the certain block of the non-volatile memory to store the number of times the file has been updated;
(6) determine which file management information area is currently being used based on the number of times the file has been updated which is stored in the update number management area; and
(7) read out a series of actual data associated with the file management information stored in the nonvolatile memory, by referring to the file position information registered in the volatile memory.

### Claim 6

A data read method of an electric device which includes a nonvolatile memory comprising a plurality of blocks, each of the blocks including an area storing block information, in which a position of a next block is written, and file management information, and an area storing actual data, a volatile memory, and a power-on circuit configured to turn on supply of power to the nonvolatile memory and the volatile memory, the method comprising:
(1) reading out the block information stored in each of the blocks of the nonvolatile memory, or the block information and the file management information, when the supply of power was turned on by the power-on circuit, and
(2) registering the read-out block information, or the block information and the file management information, in the volatile memory as file position information;
(3) reading out a series of actual data of a file associated with the file management information stored in the nonvolatile memory, by referring to the file position information registered in the volatile memory;
(4) successively writing and managing, each time an update of the file occurs, the file management information after the update in of a plurality of file management information areas that are sequentially ordered in a certain block of the nonvolatile memory to store the file management information;
(5) counting-up, when updating the file, so that a number of times that the file has been updated is stored in an update number management area that is set in the certain block of the non-volatile memory to store the number of times the file has been updated;
(6) determining which file management information area is currently being used based on the number of times the file has been updated which is stored in the update number management area; and
(7) reading out a series of actual data associated with the file management information stored in the nonvolatile memory, by referring to the file position information registered in the volatile memory.
