IP Library Granted Patent US 9,268,644
Granted Patent B1
US 9,268,644 · App. 13/449,628 · Granted Feb 23, 2016

Systems and methods for raid acceleration

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 9,268,644
App. No.
13/449,628
Granted
Feb 23, 2016
Kind
B1
Abstract

A RAID module for a RAID controller that includes a thin RAID layer and a thin disk layer. The thin RAID layer sits between an operating system layer and a RAID stack, and intercepts and fields requests and I/Os made the between operating system and the RAID stack. The thin disk layer sits between the RAID stack and the disks that comprise the array, and intercepts and fields requests and I/Os made between the RAID stack and the array. The module may maintain a bitmap with an entry corresponding to each stripe of the array. When the module detects that a stripe has zero data, the entry in the bitmap for the stripe is set to 0. When the module detects that data has been written to a stripe, the entry in the bitmap for the stripe is set to 1.

Claims (20)

1. A method comprising:

intercepting, by a thin disk layer located between a RAID stack and a RAID array, a read I/O that was sent from the RAID stack directed to the RAID array, wherein the RAID array comprises a plurality of stripes which are managed by the RAID stack;

determining, by the thin disk layer, a stripe associated with the I/O;

retrieving, by the thin disk layer, a bitmap associated with the RAID array, wherein the bitmap comprises an entry associated with each of the plurality of stripes and each entry has a corresponding value;

determining, by the thin disk layer, that the corresponding value associated with the determined stripe in the bitmap indicates that the strip contains invalid data;

without providing the I/O to the RAID array, discarding, by the thin disk layer, the I/O and providing, by the thin disk layer, zero data to the RAID stack as a response to the sent I/O; and

providing, by a thin RAID layer located between the RAID stack and an operating system or application layer, an error message to the operating system or application layer indicating that the stripe contains invalid data.

2. The method of claim 1 , wherein the I/O is an initialization related I/O and further comprising sending, by the thin disk layer, a message to the RAID stack purporting that the discarded I/O was received and completed by the RAID array.

3. A data storage system, comprising:

a storage server;

a physical storage device associated with storage server;

a processing unit associated with the storage server; and

one or more modules for execution on the processing unit operable to:

intercept, by a thin disk layer located between a RAID stack and a RAID array, a read I/O that was sent from the RAID stack directed to the RAID array, wherein the RAID array comprises a plurality of stripes which are managed by the RAID stack;

determine, by the thin disk layer, a stripe associated with the I/O;

retrieve, by the thin disk layer, a bitmap associated with the RAID array, wherein the bitmap comprises an entry associated with each of the plurality of stripes and each entry has a correspond value;

determine, by the thin disk layer, that the corresponding value associated with the determined stripe in the bitmap contains invalid data;

without providing the I/O to the RAID array, to discard, by the thin disk layer, the I/O and to provide, by the thin disk layer, zero data to the RAID stack as a response to the sent I/O; and

provide, by a thin RAID layer located between the RAID stack and an operating system or application layer, an error message to an operating system or application layer indicating that the stripe contains invalid data.

4. The data storage system of claim 3 , wherein the I/O is an initialization related I/O, and wherein the one or more modules for execution on the processing unit are further operable to send, by the thin disk layer, a message to the RAID stack purporting that the discarded I/O was received and completed by the RAID array.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC,
To: AMZETTA TECHNOLOGIES, LLC,
Reel/Frame 053007/0151 →
CHANGE OF NAME Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 053007/0233 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2012
From: SUBRAMANIAN, SRIKUMAR; GOPALAKRISHNAN, SANKARJI; GANAPATHY, NARAYANASWAMI
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 028899/0740 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2012
From: CHATTERJEE, EXECUTRIX OF ESTATE OF PARESH CHATTERJEE, UDITA
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 028899/0829 →