IP Library Granted Patent US 11,635,909
Granted Patent B2
US 11,635,909 · App. 16/963,705 · Granted Apr 25, 2023

Disk array device, control method for disk array device, and control program for disk array device

Inventor: Toshitaka Nakashima (Kanagawa, JP)
Assignee: NEC PLATFORMS, Ltd.
G06F3/0655G06F3/0604G06F3/064G06F3/065G06F3/0652G06F3/0679
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,635,909
App. No.
16/963,705
Granted
Apr 25, 2023
Kind
B2
Abstract

A control method includes: converting a first write command received from a host to a second write command for each SSD belonging to an active pool, holding, with respect to the SSD, an end address of data written in the immediately prior second write command, and holding a discontinuity count, which is the number of times the end address and the write address for the newest second write command are discontinuous; and when the discontinuity count for a first SSD among the SSDs belonging to the active pool exceeds an upper limit value, copying a plurality of data, for all of the data held by the first SSD, to a region to which the write address is continuous in a second SSD that belongs to a standby pool and is initialized, deleting the first SSD from the active pool, and adding the second SSD to the active pool.

Claims (52)

1. A disk array device comprising:

a plurality of solid state drives (SSDs) including an active SSD pool comprising a first set of the SSDs that are available as write destinations and a standby SSD pool comprising a remainder of the SSDs that are not available as write destinations;

an input/output control configured to receive from a host a plurality of first write instructions that each include respective write data to be written to the active SSD pool and, for each first write instruction:

for each SSD belonging to the active SSD pool, convert the respective first write instruction to a respective second write instruction and provide the respective second write instruction to the respective SSD, the respective second write instruction including the respective write data and a respective start physical address at which the write data is to be stored in the respective SSD,

wherein each SSD in the active SSD pool is configured to, for each first write instruction:

receive the respective second write instruction;

determine a respective start internal address corresponding to the respective start physical address; and

write the respective write data beginning at the respective start internal address and ending at a respective actual end internal address,

wherein the input/output controller is further configured to, for each first write instruction and for each SSD in the active SSD pool:

derive a respective expected end internal address corresponding to the respective actual end internal address at which writing of the respective write data ended;

detect whether there is a discontinuity between the respective expected end internal address and the respective actual end internal address; and

in response to detecting the discontinuity, increment a respective discontinuity count for the respective SS, and

a replacement control unit configured to, when the respective discontinuity count relating to a first SSD belonging to the active SSD pool exceeds a predetermined upper limit value:

indicate an allowable decrease in write capacity in the first SSD;

copy the write data stored on the first SSD to a region of continuous write destination addresses in a second SSD belonging to the standby SSD pool;

remove the first SSD from the active SSD pool; and

add the second SSD to the active SSD pool.

2. A control method for a disk array

including a plurality of solid state drives (SSDs) including an active SSD pool comprising a first set of the SSDs that are available as write destinations and a standby SSD pool comprising a remainder of the SSDs that are not available as write destinations, the control method comprising:

receiving from a host a plurality of first write instructions that each include respective write data to be written to the active SSD pool and, for each first write instruction:

for each SSD belonging to the active SSD pool, converting the respective first write instruction to a respective second write instruction and provide the respective second write instruction to the respective SSD, the respective second write instruction including the respective write data and a respective start physical address at which the write data is to be stored in the respective SSD,

wherein each SSD in the active SSD pool is configured to, for each first write instruction:

receive the respective second write instruction;

determine a respective start internal address corresponding to the respective start physical address; and

write the respective write data beginning at the respective start internal address and ending at a respective actual end internal address,

wherein the control method further comprises, for each first write instruction and for each SSD in the active SSD pool:

deriving a respective expected end internal address corresponding to the respective actual end internal address at which writing of the respective write data ended;

detecting that there is a discontinuity between the respective expected end internal address and the respective actual end internal address;

in response to detecting the discontinuity, incrementing a respective discontinuity count for the respective SSD,

wherein for a first SSD belonging to the active SSD pool, the respective discontinuity count exceeds a predetermined upper limit value,

and wherein the control method further comprises, in response to the respective discontinuity count relating to the first SSD belonging to the active SSD pool exceeding the predetermined upper limit value:

indicating an allowable decrease in write capacity in the first SSD;

copying the write data stored on the first SSD to a region of continuous write destination addresses in a second SSD belonging to the standby SSD pool;

removing the first SSD from the active SSD pool; and

adding the second SSD to the active SSD pool.

3. A non-transitory storage medium storing a control program for a disk array device,

including a plurality of solid state drives (SSDs) including an active SSD pool comprising a first set of the SSDs that are available as write destinations and a standby SSD pool comprising a remainder of the SSDs that are not available as write destinations, the control program executable by the disk array device to perform processing comprising:

receiving from a host a plurality of first write instructions that each include respective write data to be written to the active SSD pool and, for each first write instruction:

for each SSD belonging to the active SSD pool, converting the respective first write instruction to a respective second write instruction and provide the respective second write instruction to the respective SSD, the respective second write instruction including the respective write data and a respective start physical address at which the write data is to be stored in the respective SSD,

wherein each SSD in the active SSD pool is configured to, for each first write instruction:

receive the respective second write instruction;

determine a respective start internal address corresponding to the respective start physical address; and

write the respective write data beginning at the respective start internal address and ending at a respective actual end internal address,

wherein the processing further comprises, for each first write instruction and for each SSD in the active SSD pool:

deriving a respective expected end internal address corresponding to the respective actual end internal address at which writing of the respective write data ended;

detecting whether there is a discontinuity between the respective expected end internal address and the respective actual end internal address; and

in response to detecting the discontinuity, increment a respective discontinuity count for the respective SSD,

and wherein the processing further comprises, when the respective discontinuity count relating to a first SSD belonging to the active SSD pool exceeds a predetermined upper limit value:

indicating an allowable decrease in write capacity in the first SSD;

copying the write data stored on the first SSD to a region of continuous write destination addresses in a second SSD belonging to the standby SSD pool;

removing the first SSD from the active SSD pool; and

adding the second SSD to the active SSD pool.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2020
From: NAKASHIMA, TOSHITAKA
To: NEC PLATFORMS, LTD.
Reel/Frame 054573/0709 →
Priority Claims (1)
JP JP2018-031468 · Feb 26, 2018 · national
Continuity (1)
Related Publication 20210081137A1 · Mar 18, 2021