IP Library Granted Patent US 10,353,773
Granted Patent B2
US 10,353,773 · App. 15/333,990 · Granted Jul 16, 2019

RAID storage system, storage controller and RAID array patrol method

Inventor: Tomofumi Hasegawa (Inagi, JP)
Assignees: KABUSHIKI KAISHA TOSHIBA; TOSHIBA DIGITAL SOLUTIONS CORPORATION
G06F11/1076G06F3/064G06F3/0619G06F3/0689
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 10,353,773
App. No.
15/333,990
Granted
Jul 16, 2019
Kind
B2
Abstract

According to one embodiment, a RAID storage system includes a RAID storage device and a storage controller. The RAID storage device includes at least one RAID array. The at least one RAID array has a plurality of stripe groups. The storage controller controls access to the at least one RAID array. The storage controller includes an input/output controller and a patrol controller. The input/output controller executes one of a write access and a read access to a requested stripe group in the at least one RAID array according to an access request from a host device. The patrol controller patrols a stripe group having been subjected to write access, more preferentially than other stripe groups.

Claims (45)

1. A redundant arrays of independent disks (RAID) storage system comprising:

a RAID storage device including at least one RAID array, the at least one RAID array having a plurality of stripe groups, each of the stripe groups comprising a set of a plurality of blocks including a redundant block; and

a storage controller which controls access to the at least one RAID array, wherein

the storage controller comprises

an input/output controller which executes one of a write access and a read access to a requested stripe group in the at least one RAID array according to an access request from a host device using the RAID storage device; and

a patrol controller which patrols, using read operation, a stripe group having been subjected to the write access, earlier than other stripe groups, and, upon completion of patrolling the stripe group earlier than the other stripe groups, lowers a patrol priority indicative of order to be patrolled and assigned to the stripe group having been patrolled earlier than the other stripe groups, and

the patrol controller

assigns a first patrol priority to a first stripe group in accordance with the write access to the first stripe group, the first patrol priority being a patrol priority higher than any other patrol priorities,

when patrolling the first stripe group in a state where the first stripe group is assigned with the first patrol priority, changes the first patrol priority assigned to the first stripe group to a third patrol priority in response to completion of the patrolling of the first stripe group, the third patrol priority being a patrol priority lower than the any other patrol priorities,

assigns a second patrol priority to the first stripe group in accordance with the read access to the first stripe group, the second patrol priority being a patrol priority lower than the first patrol priority but higher than the third patrol priority,

when patrolling the first stripe group in a state where the first stripe group is assigned with the second patrol priority, changes the second patrol priority assigned to the first stripe group to the third patrol priority in response to completion of the patrolling of the first stripe group,

patrols a stripe group assigned with the second patrol priority when any stripe group assigned with the first patrol priority is absent and

patrols a stripe group assigned with the third patrol priority when both any stripe group assigned with the first patrol priority and any stripe group assigned with the second patrol priority are absent.

2. The RAID storage system of claim 1 , wherein when patrolling the first stripe group in a state in where the first stripe group is assigned with the third patrol priority, the patrol controller keeps the third patrol priority assigned to the first stripe group at the third patrol priority even after the patrolling of the first stripe group has been completed.

3. The RAID storage system of claim 1 , wherein, when one or more third stripe groups are each newly assigned with the first patrol priority while one or more second stripe groups each assigned with the first patrol priority are being patrolled, the patrol controller patrols the one or more third stripe groups after the one or more second stripe groups have been patrolled but before one or more fourth stripe groups each assigned with the second patrol priority are patrolled.

4. The RAID storage system of claim 3 , wherein

the patrol controller

manages, using management information, a patrol priority assigned to each of the stripe groups and a patrol status indicative of a status concerning patrolling of each of the stripe groups;

updates the management information in accordance with a corresponding write access to each of the stripe groups, thereby setting, as the patrol status of each of the stripe groups, a first status indicating that each of the stripe groups is not yet patrolled, the first status further indicating that each of the stripe groups is in a state of waiting to be patrolled when each of the stripe groups is assigned with the first patrol priority;

updates the management information before starting to patrol the one or more second stripe groups, thereby changing the patrol status of the one or more second stripe groups from the first status to a second status indicating that the one or more second stripe groups are not yet patrolled and are in a state of being released from waiting to be patrolled;

discriminates between a time when the one or more second strip groups are assigned with the first patrol priority and a time when the one or more third strip groups are assigned with the first patrol priority based on whether each of the one or more second and the one or more third stripe groups is in the first status or in the second status; and

patrols the one or more second stripe groups having been changed to the second status earlier than the one or more third stripe groups.

5. The RAID storage system of claim 4 , wherein

the patrol controller updates the management information in response to completion of patrolling of each of the stripe groups, thereby changing the patrol status of each of the stripe groups from the first or the second status to a third status indicative of completion of patrolling; and

updates the management information after the one or more fourth stripe groups have been patrolled but before at least one fifth stripe group assigned with the third priority is patrolled, thereby setting the first status as the patrol status of the at least one fifth stripe group.

6. The RAID storage system of claim 4 , wherein

the storage controller further comprises a memory, and

the management information is stored in the memory.

7. A storage controller controlling access to at least one redundant arrays of independent disks (RAID) array included in a RAID storage device, the at least one RAID array having a plurality of stripe groups, each of the stripe groups comprising a set of a plurality of blocks including a redundant block, the storage controller comprising:

an input/output controller which executes one of a write access and a read access to a requested stripe group in the at least one RAID array according to an access request from a host device using the RAID storage device; and

a patrol controller which patrols, using read operation, a stripe group having been subjected to the write access, earlier than other stripe groups, and, upon completion of patrolling the stripe group earlier than the other stripe groups, lowers a patrol priority indicative of order to be patrolled and assigned to the stripe group having been patrolled earlier than the other stripe groups, wherein

the patrol controller

assigns a first patrol priority to a first stripe group in accordance with the write access to the first stripe group, the first patrol priority being a patrol priority higher than any other patrol priorities,

when patrolling the first stripe group in a state where the first stripe group is assigned with the first patrol priority, changes the first patrol priority assigned to the first stripe group to a third patrol priority in response to completion of the patrolling of the first stripe group, the third patrol priority being a patrol priority lower than the any other patrol priorities,

assigns a second patrol priority to the first stripe group in accordance with the read access to the first stripe group, the second patrol priority being a patrol priority lower than the first patrol priority but higher than the third patrol priority,

when patrolling the first stripe group in a state where the first stripe group is assigned with the second patrol priority, changes the second patrol priority assigned to the first stripe group to the third patrol priority in response to completion of the patrolling of the first stripe group,

patrols a stripe group assigned with the second patrol priority when any stripe group assigned with the first patrol priority is absent; and

patrols a stripe group assigned with the third patrol priority when both any stripe group assigned with the first patrol priority and any stripe group assigned with the second patrol priority are absent.

8. A method, in a storage controller controlling access to at least one redundant arrays of independent disks (RAID) array included in a RAID storage device, of patrolling the at least one RAID array, the at least one RAID array having a plurality of stripe groups, each of the stripe groups comprising a set of a plurality of blocks including a redundant block, the method comprising:

assigning a first patrol priority to a first stripe group in accordance with a write access to the first stripe group, the first patrol priority being a patrol priority higher than any other patrol priorities;

when patrolling the first stripe group in a state where the first stripe group is assigned with the first patrol priority, changing the first patrol priority assigned to the first stripe group to a third patrol priority in response to completion of the patrolling of the first stripe group, the third patrol priority being a patrol priority lower than the any other patrol priorities;

assigning a second patrol priority to the first stripe group in accordance with a read access to the first stripe group, the second patrol priority being a patrol priority lower than the first patrol priority but higher than the third patrol priority;

when patrolling the first stripe group in a state where the first stripe group is assigned with the second patrol priority, changing the second patrol priority assigned to the first stripe group to the third patrol priority in response to completion of the patrolling of the first stripe group;

patrolling a stripe group assigned with the second patrol priority when any stripe group assigned with the first patrol priority is absent; and

patrolling a stripe group assigned with the third patrol priority when both any stripe group assigned with the first patrol priority and any stripe group assigned with the second patrol priority are absent.

Assignments (2)
CHANGE OF NAME Recorded Nov 26, 2018
From: TOSHIBA SOLUTIONS CORPORATION
To: TOSHIBA DIGITAL SOLUTIONS CORPORATION
Reel/Frame 048155/0536 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2016
From: HASEGAWA, TOMOFUMI
To: KABUSHIKI KAISHA TOSHIBA; TOSHIBA SOLUTIONS CORPORATION
Reel/Frame 040122/0985 →
Priority Claims (1)
JP 2016-151250 · Aug 1, 2016 · national
Continuity (1)
Related Publication 20180032398A1 · Feb 1, 2018