Information processing system for controlling storage device
AssigneeKioxia Corporation
InventorShinichi Kanno
Life of this patent
Estimating the term…
Abstract
According to one embodiment, when it is determined that a first storage device of a plurality of storage devices is to be removed and an additional storage device is connected to a storage controller, the storage controller writes update data portions corresponding to data portions already written to the first storage device to any storage device selected from remaining one or more storage devices of the plurality of storage devices except for the first storage device and the additional storage device. Further, the storage controller writes update data portions corresponding to data portions already written to the remaining one or more storage devices to any storage device selected from the remaining one or more storage devices and the additional storage device.
Claims16
An information processing system, comprising:
- a plurality of storage devices each including a nonvolatile memory;
- and
- a storage controller configured to:
- write each of data portions corresponding to logical addresses belonging to a first logical address space to any storage device selected from the plurality of storage devices, in accordance with write requests received from a host;
- manage mapping between the logical addresses and addresses indicative of storage locations in the storage devices to which the data portions are written, by using an address translation table;
- and
- when it is determined that a first storage device of the plurality of storage devices is to be removed and an additional storage device including a nonvolatile memory is connected to the storage controller:
- control the first storage device in a first mode in which data write is inhibited and data read is permitted;
- execute, in response to receiving, from the host, first subsequent write requests designating first logical addresses corresponding to data portions already written to the first storage device, first processing of writing first update data portions corresponding to the data portions already written to the first storage device, to any storage device selected from the additional storage device and remaining one or more storage devices of the plurality of storage devices except for the first storage device, without writing the first update data portions to the first storage device, and update the address translation table such that addresses indicative of storage locations mapped to the first logical addresses are changed from addresses indicative of storage locations in the first storage device to addresses indicative of storage locations in the any storage device of the plurality of storage devices to which the first update data portions are written;
- and
- execute, in response to receiving, from the host, second subsequent write requests designating second logical addresses corresponding to data portions already written to the remaining one or more storage devices of the plurality of storage devices, second processing of writing second update data portions corresponding to the data portions already written to the remaining one or more storage devices, to any storage device selected from the remaining one or more storage devices and the additional storage device, and update the address translation table such that addresses indicative of storage locations mapped to the second logical addresses are changed from addresses indicative of storage locations in the remaining one or more storage devices to addresses indicative of storage locations in the any storage device to which the second update data portions are written.
An information processing system, comprising:
- a plurality of storage devices each including a nonvolatile memory;
- and
- a storage controller configured to:
- write each of data portions corresponding to logical addresses belonging to a first logical address space to any storage device selected from the plurality of storage devices, in accordance with write requests received from a host;
- manage mapping between the logical addresses and addresses indicative of storage locations in the storage devices to which the data portions are written, by using an address translation table;
- and
- when it is determined that a first storage device of the plurality of storage devices is to be removed and an additional storage device of the plurality of storage devices is connected to the storage controller:
- control the first storage device in a first mode in which data write is inhibited and data read is permitted;
- execute, in response to receiving, from the host, first subsequent write requests designating first logical addresses corresponding to data portions already written to the first storage device, first processing of writing first update data portions corresponding to the data portions already written to the first storage device, to the additional storage device, without writing the first update data portions to the first storage device, and update the address translation table such that addresses indicative of storage locations mapped to the first logical addresses are changed from addresses indicative of storage locations in the first storage device to addresses indicative of storage locations in the additional storage device to which the first update data portions are written;
- execute, in response to receiving, from the host, second subsequent write requests designating second logical addresses corresponding to data portions already written to remaining one or more storage devices of the plurality of storage devices except for the first storage device, second processing of writing second update data portions corresponding to the data portions already written to the remaining one or more storage devices, to the additional storage device, and update the address translation table such that addresses indicative of storage locations mapped to the second logical addresses are changed from addresses indicative of storage locations in the remaining one or more storage devices to addresses indicative of storage locations in the additional storage device to which the second update data portions are written;
- and
- after free regions are allocated in the remaining one or more storage devices by the second write processing, execute, in response to receiving, from the host, further subsequent write requests, the further subsequent write requests including write requests designating third logical addresses corresponding to data portions already written to the first storage device and write requests designating fourth logical addresses corresponding to data portions already written to the remaining one or more storage devices, third processing of writing third update data portions corresponding to the data portions already written to the first storage device and fourth update data portions corresponding to data portions already written to the remaining one or more storage devices, to the remaining one or more storage devices, and update the address translation table such that addresses indicative of storage locations mapped to the third logical addresses and addresses indicative of storage locations mapped to the fourth logical addresses are changed to addresses indicative of storage locations in the remaining one or more storage devices to which the third update data portions and the fourth update data portions are written.
Dependencies are inferred from the claim text.