IP Library Patent Application 16678810
Patent Application
App. No. 16/678,810

APPARATUS AND METHOD FOR INCORPORATING MULTI-ACTUATOR HARD DISK DRIVES INTO TRADITIONAL RAID ARRAYS

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 None
App. No.
16/678,810
Abstract

A method for operating a storage controller to write to a group of multi-actuator disk drives includes receiving a data stream, performing RAID mapping to a preselected RAID level, organizing the data stream into at least one data stream, creating at least one parity data stream, organizing each data stream and parity data stream into blocks of data, dividing each data stream and each parity data stream into groups of blocks of data assigned to a logical unit representing a drive and an actuator, blocks of data from a data stream and parity stream assigned to a different drive, sequential groups of blocks of data assigned substantially equally to logical units representing actuators in each drive, providing each group of blocks of data to a target port associated with the drive to which it has been assigned, and sending each group of blocks of data from the target port.

Claims (46)

1 . A method for operating a storage controller to aggregate a group of multi-actuator disk drives in a multi-actuator disk drive system comprising:

receiving in the storage controller a data stream including data to be written to the group of multi-actuator disk drives;

performing RAID mapping across the group of multi-actuator disk drives on the data stream to a preselected RAID level;

organizing the data stream into at least one data stream, the number of data streams selected to implement the preselected RAID level;

creating at least one parity data stream, the number of parity data streams selected to implement the preselected RAID level;

organizing each of the at least one data stream and each of the at least one parity data stream into blocks of data;

dividing each of the at least one data stream and each of the at least one parity data stream into groups of blocks of data assigned to a logical unit representing an individual actuator of an individual multi-actuator disk drive of the group of multi-actuator disk drives, blocks of data from the of the at least one data stream assigned to the logical unit representing a different multi-actuator disk drive from that assigned to each of the at least one parity data stream, sequential ones of the groups of blocks of data of each of the of the at least one data stream and the at least one parity data stream assigned substantially equally to logical units representing different actuators in each individual multi-actuator disk drive;

providing each group of blocks of data to a target port in the storage controller associated with the multi-actuator disk drive to which it has been assigned; and

sending each group of blocks of data from the target port in the storage controller.

2 . The method of claim 1 wherein dividing each of the at least one data stream and each of the at least one parity data stream into groups of blocks of data comprises dividing each of the at least one data stream and each of the at least one parity data stream such that each of the groups of blocks of data have an equal number of data block regions.

3 . The method of claim 1 wherein:

creating at least one parity data stream comprises creating a parity data stream that is a function of data from more than one data stream.

4 . The method of claim 1 wherein organizing each of the at least one data stream and each of the at least one parity data stream into blocks of data comprises organizing each of the at least one data stream and each of the at least one parity data stream into up to chunk size groups of blocks of data.

5 . The method of claim 4 wherein the chunk size is chosen to be less than one half of an average write request size.

6 . The method of claim 1 , further comprising:

issuing read commands to read groups of blocks of data from the group of multi-actuator disk drives;

receiving groups of blocks of data at the storage controller, each group of blocks of data associated with the logical unit representing the individual actuator in the individual multi-actuator disk drive, each group of blocks of data associated with the individual multi-actuator disk drive being received at the respective assigned target port;

separately interleaving the sequential ones of the groups of blocks of data received in each assigned target port from all of the individual actuators in the associated multi-actuator disk drive; and

performing RAID mapping to assemble the separately interleaved groups of blocks of data from each multi-actuator disk drive into a single data stream in an order implementing mapping of the preselected RAID level.

7 . The method of claim 6 wherein receiving groups of blocks of data in the storage controller comprises receiving chunk size groups of blocks of data at the respective assigned target port in the storage controller.

8 . The method of claim 6 wherein assembling the separately interleaved groups of blocks of data from each multi-actuator disk drive into the single data stream in an order implementing mapping of the preselected RAID level comprises:

identifying first groups of blocks of data representing a data stream and identifying second groups of data representing a parity data stream; and

assembling the first groups of blocks of data representing the data stream into the single data stream.

9 . A storage controller to control a group of multi-actuator disk drives in a multi-actuator disk drive system, the storage controller comprising a host port and target ports, the storage controller configured to:

receive at the host port a data stream including data to be written to the group of multi-actuator disk drives;

perform RAID mapping across the group of multi-actuator disk drives on the data stream to a preselected RAID level;

organize the data stream into at least one data stream, the number of data streams selected to implement the preselected RAID level;

create at least one parity data stream, the number of parity data streams selected to implement the preselected RAID level;

organize each of the at least one data stream and the at least one parity data stream into blocks of data;

divide each of the at least one data stream and each of the at least one parity data stream into groups of blocks of data assigned to a logical unit representing an individual actuator of an individual multi-actuator disk drive of the group of multi-actuator disk drives, blocks of data from the of the at least one data stream assigned to the logical unit representing a different multi-actuator disk drive from that assigned to each of the at least one parity data stream, sequential ones of the groups of blocks of data of each of the of the at least one data stream and the at least one parity data stream assigned substantially equally to logical units representing different actuators in each individual multi-actuator disk drive;

provide each group of blocks of data to a respective one of the target ports in the storage controller associated with multi-actuator disk drive to which it has been assigned; and

send each group of blocks of data from the target port in the storage controller.

10 . The storage controller of claim 9 wherein the division of each of the at least one data stream and each of the at least one parity data stream into groups of blocks of data comprises:

dividing each of the at least one data stream and each of the at least one parity data stream such that each of the groups of blocks of data have an equal number of data block regions.

11 . The storage controller of claim 9 configured to create at least one parity data stream comprises creating a parity data stream that is a function of data from more than one data stream.

12 . The storage controller of claim 9 wherein the organization of each of the at least one data stream and each of the at least one parity data stream into blocks of data comprises:

organize each of the at least one data stream and each of the at least one parity data stream into up to chunk size groups of blocks of data.

13 . The storage controller of claim 12 configured to choose the chunk size to be less than one half of an average write request size.

14 . The storage controller of claim 9 further configured to:

receive groups of blocks of data at the storage controller, each group of blocks of data associated with the logical unit representing the individual actuator in the individual multi-actuator disk drive, each group of blocks of data associated with the individual multi-actuator disk drive being received at the respective assigned target port;

separately interleave the sequential ones of the groups of blocks of data received in each assigned target port from all of the individual actuators in the associated multi-actuator disk drive; and

perform RAID mapping to assemble the separately interleaved groups of blocks of data from each multi-actuator disk drive into a single data stream in an order implementing mapping of the preselected RAID level.

15 . The storage controller of claim 14 wherein the storage controller is configured to receive chunk size groups of blocks of data at the respective assigned target port in the storage controller.

16 . The storage controller of claim 14 wherein the storage controller is configured to perform RAID mapping to assemble the separately interleaved groups of blocks of data from each multi-actuator disk drive into the single data stream in the order implementing mapping of the preselected RAID level by:

identifying first groups of blocks of data representing a data stream and identifying second groups of data representing a parity data stream; and

assembling the first groups of blocks of data representing the data stream into the single data stream.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0335 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059263/0001 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 19, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 058214/0625 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052856/0909 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2019
From: CALDWELL, ROBERT E., JR.
To: MICROCHIP TECHNOLOGY INC.
Reel/Frame 050961/0607 →