# US 10,503,702 B2 · Information processing device, information processing method, and program

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

- Number: US 10,503,702 B2
- Document ID: US10503702B2
- Status: Granted
- Kind: B2
- Application number: 14/765,366
- Filed: 2013-10-23
- Published: 2016-03-24
- Granted: 2019-12-10
- Earliest claimed: 2013-02-04
- Assignees: Fixstars Corporation
- Applicants: Fixstars Corporation
- Inventors: Satoshi Miki
- Web page: https://patentgrep.com/patent/US10503702B2

## CPC

- G06F 16/1847: {specifically adapted to static storage, e.g. adapted to flash memory or SSD}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0643: {Management of files}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 12/0238: {Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory}
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

There is provided an information processing device comprising an NV memory that is a non-volatile recording medium, a file system unit that manages one or more files stored in the NV memory, and a memory management unit that secures one or more areas of the NV memory that are ready to be used by the file system unit to store a file, and allocates the secured one or more areas to a running process in response to a request from the running process. According to the information processing device, when the NV memory is used both as a main memory and a storage, inconsistencies in the file system caused by an abnormal termination of the system are reduced.

## Claims

### Claim 1

A non-transitory computer readable medium storing a program for causing a computer that is capable of accessing an NV memory that is a non-volatile recording medium to function as an information processing device comprising:
a file system unit that manages one or more files stored in the NV memory, a receiving unit that receives a request for allocation of one or more areas from a running process, and
a memory management unit that secures one or more areas of the NV memory that are ready to be used by the file system unit to store a file, and allocates the secured one or more areas to the running process in response to the request,
wherein the file system unit manages each of the one or more file that is composed of one or more areas of the NV memory by storing a file identifier of the file in association with one or more area identifiers of the one or more areas,
the memory management unit selects one or more areas from areas of the NV memory that compose none of the one or more files managed by the file system unit in response to the request, allocates the selected one or more areas to the running process, and manages the one or more areas allocated to the running process by storing area identifiers of the one or more areas in association with a process identifier of the running process,
the memory management unit stores one or more area identifies of the one or more areas allocated to the running process in association with a file identifier, and
the file system unit manages the one or more areas allocated to the running process as a file identified by the file identifier.

### Claim 2

A non-transitory computer readable medium storing a program for causing a computer that is capable of accessing an NV memory that is a non-volatile recording medium to function as an information processing device comprising:
a file system unit that manages one or more files stored in the NV memory,
a receiving unit that receives a request for allocation of one or more areas from a running process, and
a memory management unit that secures one or more areas of the NV memory that are ready to be used by the file system unit to store a file, and allocates the secured one or more areas to the running process in response to the request,
wherein the memory management unit acquires area identifiers of areas that compose the one or more files managed by the file system unit, and manages the areas as unallocated areas by storing the acquired area identifiers,
the memory management unit selects one or more areas from the unallocated areas in response to the request, allocates the selected one or more areas to the running process, and manages the one or more areas allocated to the running process by storing area identifiers of the one or more areas in association with a process identifier of the running process, and
the memory management unit deletes the one or more areas allocated to the running process from the unallocated areas.

### Claim 3 (depends on 2)

The non-transitory computer readable medium storing a program according to claim 2, wherein the memory management unit acquires area identifiers of all areas that compose the one or more files managed by the file system unit and stores the acquired area identifiers for identifying unallocated areas before the receiving unit receives the request.

### Claim 4 (depends on 2)

The non-transitory computer readable medium storing a program according to claim 2, wherein the memory management unit acquires area identifiers of areas of a number meeting with a size requested by the running process, the areas composing the one or more files managed by the file system, and stores the acquired area identifiers for identifying unallocated areas after the receiving unit receives the request.

### Claim 5

A non-transitory computer readable medium storing a program for causing a computer that is capable of accessing an NV memory that is a non-volatile recording medium to function as an information processing device comprising:
a file system unit that manages one or more files stored in the NV memory,
a receiving unit that receives a request for allocation of one or more areas from a running process, and
a memory management unit that secures one or more areas of the NV memory that are ready to be used by the file system unit to store a file, and allocates the secured one or more areas to the running process in response to the request,
wherein the file system unit manages a new file by selecting one or more areas from areas of the NV memory that compose none or the files managed by the file system and storing one or more area identifiers of the selected one or more areas in association with a file identifier of the new file in response to the request, and
the memory management unit allocates the one or more areas composing the new file to the running process in response to the request, and manages the one or more areas allocated to the running process by storing area identifiers of the one or more areas in association with a process identifier of the running process.
