# US 2017/0286244 A1 · Object storage system, controller and storage medium

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

- Number: US 2017/0286244 A1
- Document ID: US20170286244A1
- Status: Published application
- Kind: A1
- Application number: 15/266,034
- Filed: 2016-09-15
- Published: 2017-10-05
- Earliest claimed: 2016-03-29
- Assignees: Kabushiki Kaisha Toshiba
- Applicants: Kabushiki Kaisha Toshiba
- Inventors: Kazuhiro Fukutomi; Shingo Tanaka
- Web page: https://patentgrep.com/patent/US20170286244A1

## CPC

- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/064: {Management of blocks}
- G06F 3/0673: {Single storage device}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 11/0751: {Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06)}
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- G06F 11/14: Error detection or correction of the data by redundancy in operations (error detection or correction of the data by redundancy in hardware G06F11/16)
- G06F 11/10: Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F 2201/805: Real-time
- G06F 2201/85: Active fault masking without idle spares
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

According to one embodiment, an object storage system is configured to store a key and a value in association with each other. The object storage system includes a first storage region, a second storage region and a controller. The controller is configured to control the first storage region and the second storage region. The controller is configured to store the value in the first storage region, and to store first information and second information in the second storage region. The first information is used for managing an association between the key and a storage position of the value. The second information is used for managing a position of a defective storage area in the first storage region.

## Claims

### Claim 1

An object storage system configured to store a key and a value in association with each other, the object storage system comprising:
a first storage region;
a second storage region; and
a controller configured to control the first storage region and the second storage region,
wherein the controller is configured to:
store the value in the first storage region; and
store first information and second information in the second storage region, the first information being used for managing an association between the key and a storage position of the value, the second information being used for managing a position of a defective storage area in the first storage region.

### Claim 2 (depends on 1)

The object storage system of claim 1, wherein the controller comprises a write processor configured to:
determine whether there is a defective storage area in a storage area reserved in the first storage region as a write area for a write value or not based on the second information;
execute, when determining that there is a defective storage area, write processing of writing the write value in the first storage region by arranging the write value for an area other than the defective storage area in the storage area reserved in the first storage region to avoid the defective storage area; and
execute, when determining that there is no defective storage area, write processing of writing the write value in the first storage region by arranging the write value for the entire storage area reserved in the first storage region.

### Claim 3 (depends on 2)

The object storage system of claim 2, wherein the write processor is configured to execute the write processing by sequential writing.

### Claim 4 (depends on 2)

The object storage system of claim 2, wherein the write processor is configured to align at least one of a size and a position of the storage area reserved in the first storage region as the write area for the write value, and a size and a position of an area excluded from the storage area reserved in the first storage region and including the defective storage area, with an integral multiple of a predetermined size or position.

### Claim 5 (depends on 2)

The object storage system of claim 2, wherein the write processor is configured to update, when a write error occurs in the write processing, the second information to add information of a position of a storage area in which the write error is occurred.

### Claim 6 (depends on 5)

The object storage system of claim 5, wherein the write processor is configured to execute the write processing by rearranging the write value for the storage area reserved in the first storage region to avoid the defective storage area based on the updated second information.

### Claim 7 (depends on 5)

The object storage system of claim 5, wherein the write processor is configured to:
reserve a new storage area in the first storage region as a write area for the write value, the new storage area being different from the storage area reserved in the first storage region and including the storage area in which the write error is occurred; and
execute write processing of writing the write value in the first storage region by arranging the write value for the new storage area reserved in the first storage region.

### Claim 8 (depends on 1)

The object storage system of claim 1, wherein the controller comprises a read processor configured to:
specify a storage area in the first storage region as a read area for read value based on the first information;
determine whether there is a defective storage area in the specified storage area or not based on the second information; and
execute, when determining that there is a defective storage area, read processing of reading the read value from the first storage region by extending the storage area in the first storage region as the read area for the read value for a size of the defective storage area, and return the read value to a requester.

### Claim 9 (depends on 8)

The object storage system of claim 8, wherein the read processor is configured to execute the read processing by sequential reading.

### Claim 10 (depends on 8)

The object storage system of claim 8, wherein the read processor is configured to update, when a read error occurs in the read processing, the second information to add information of a position of a storage area in which the read error is occurred, and to return a read error to the requester.

### Claim 11 (depends on 10)

The object storage system of claim 10, wherein the read processor is configured to update the first information to replace a value indicating a storage position of the read value in which the read error is occurred with a predetermined value which is not be used in the first storage region.

### Claim 12 (depends on 11)

The object storage system of claim 11, wherein the read processor is configured to return a read error to the requester, when specifying the storage area in the first storage region as the read area for the read value based on the first information and when obtaining the predetermined numerical value as the numerical value indicating the storage position of the read value.

### Claim 13 (depends on 10)

The object storage system of claim 10, wherein the read processor is configured to update the first information to delete information of a key of the read value in which the read error is occurred.

### Claim 14 (depends on 13)

The object storage system of claim 13, wherein the read processor is configured to return a read error to the requester, when specifying the storage area in the first storage region as the read area for the read value based on the first information and when determining that the information of the key of the read value is not included in the first information.

### Claim 15

A controller of an object storage system configured to store a key and a value in association with each other, the controller comprising a processor configured to:
store the value in a first storage region of the object storage system; and
store first information and second information in a second storage region of the object storage system, the first information being used for managing an association between the key and a storage position of the value, the second information being used for managing a position of a defective storage area in the first storage region.

### Claim 16

A non-transitory computer-readable storage medium having stored thereon a computer program which is executable by a computer which controls an object storage system configured to store a key and a value in association with each other, the computer program controlling the computer to execute functions of:
storing the value in a first storage region of the object storage system;
storing first information and second information in a second storage region of the object storage system, the first information being used for managing an association between the key and a storage position of the value in the first storage region, the second information being used for managing a position of a defective storage area in the first storage region.
