Preparing your result...
Loading...
Press Esc to dismiss this message

Variable stripe RAID support using virtual LUNs (19-Jan-2010)

Thumbnail
IP.com Prior Art Database Disclosure (Source: IPCOM)
Disclosure Number IPCOM000191964D dated 19-Jan-2010
Originally published in Prior Art Database
Disclosed by: Unspecified
Country: United Kingdom
Related People
Howard Winter - INVENTOR
Disclosure File: 4 pages / 115.0 KB / English (United Kingdom)

Enabling a RAID controller to support a mixture of stripe sizes and configurations over the same array simultaneously and dynamically, thereby allowing stripe sizes to be optimised for different data types and access patterns.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 72% of the total text.

 

Variable stripe RAID support using virtual LUNs

Introduction

Existing RAID controllers, once configured, normally have a fixed stripe size and configuration (raid 0, 1, 5 or 6 etc) over the entire array (or sub-arrays). 

This invention allows a RAID controller to support a mixture of stripe sizes and configurations over the same array simultaneously and dynamically.

Optimal stripe size may vary for different data types and access patterns; one size does not necessarily fit all.

Some file systems use variable-sized stripes to improve performance, reliability and avoid read-modify-write.  These are not currently supported by hardware RAID controllers.

One stripe configuration may not be appropriate for all data types, i.e. mixtures of critical and non-critical data.  Therefore the ability to support a mixture of stripe sizes and configurations is useful.

Description of the invention

·         The array is presented as a number of virtual LUNs.

·         Each virtual LUN represents a different way of accessing the same array of disks.

·         Each virtual LUN represents a different stripe size and configuration.

·         The LUN number is used to direct the operation of the RAID controller, otherwise it functions as a ‘dumb’ block device.

·         It assumes the stripe is formed of contiguous reads or writes in the configuration determined by the LUN number.

·         The user is responsible for policing of non-compatible or overlapping stripes.

·         Rebuild is driven by reads – it may be possible to use spare space (520/528B blocks) to tag a stripe configuration for auto-rebuild.

Consider an existing RAID array with the following configuration:-

·         8 data drives and 1 parity drive.

·         Drive block size of 512 bytes, stripe size of 8 KB = 16 blocks.

LBA

Disk 1

Disk 2

Disk 3

Disk 4

Disk 5

Disk 6

Disk 7

Disk 8

Disk 9

0

D0

D2

D4

D6

D8

D10

D12

D14

P0

1

D1

D3

D5

D7

D9

D11

D13

P1

D15

2

D0

D2

D4

D6

D8

D10

P0

D12

D14

3

D1

D3

D5

D7

D9

P1

D11

D13

D15

 

 

 

 

 

 

 

 

 

 

N

 

 

 

 

 

 

 

 

 

By way of example consider a RAID controller with a number of virtual LUNs.  The same array of disks can be represented in many ways:

Virtual LUN

 

Configuration

0

Raw 512B

1

512B + mirror

2

1KB stripe + parity

3

2KB stripe + parity

4

4KB stripe + parity

5,6,7,8

8,16,32,64KB stripe + parity

9

128KB stripe + parity

Obviously many more options exist, including raid 6, non-modulo 2 sizes and alternative alignments.

Virtual LUN 0, RAW 512B:

LBA

Disk 1

Disk 2

Disk 3

Disk 4

Disk 5

Disk 6

Disk 7

Disk 8

Disk 9

N

 

D0

D0

 

 

 

N+1

 

 

 

 

D0

D0

 

D0

 

Virtual LUN 1, 512B + mirror:

LBA

Disk 1

Disk 2

Disk 3

Disk 4

Disk 5

Disk 6

Disk 7

Disk 8

Disk 9

N

 

 

D0

M0

D1

M0

 

 

..

N+1

 

D2

M2

 

 

 

 

 

 

Virtual LUN 3, 2KB + parity:

LBA

Disk 1

Disk 2

Disk 3

Disk 4

Disk 5

Disk 6

Disk 7

Disk 8

Disk 9

N

D0

D1

D2

D3

P0

 

 

 

 

N+1

 

 

 

 

 

 

D0

D1

D2

N+2

D3

P0

 

 

 

 

 

D0

D1

N+3

D2

D3

P0

 

 

 

 

 

 

Virtual LUN 5, 8KB + parity:

LBA

Disk 1

Disk 2

Disk 3

Disk 4

Disk 5

Disk 6

Disk 7

Disk 8

Disk 9

N

D...

(Source: IPCOM)
First page image
(Source: IPCOM)