IP Library Granted Patent US 7,958,343
Granted Patent B2
US 7,958,343 · App. 11/517,778 · Granted Jun 7, 2011

BIOS bootable RAID support

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 7,958,343
App. No.
11/517,778
Granted
Jun 7, 2011
Kind
B2
Abstract

A computing apparatus comprises a system Read-Only Memory (ROM) comprising a system Basic Integrated Operating System (BIOS) that implements Redundant Array of Independent Disks (RAID) protection on a boot volume.

Claims (63)

1. A computing apparatus comprising:

a System Read-Only Memory (ROM) comprising a system Basic Integrated Operating System (BIOS) configured prior to boot to implement Redundant Array of Independent Disks (RAID) protection on a boot volume during boot, the system BIOS operational as a distinct RAID device that implements RAID mapping and is configured to coexist with software RAID drivers subsequently loaded by an operating system.

2. The apparatus according to claim 1 further comprising:

the system Basic Integrated Operating System (BIOS) configured to implement the Redundant Array of Independent Disks (RAID) protection adapted for supporting a plurality of different disks and disk controllers for designs of a plurality of manufacturers.

3. The apparatus according to claim 1 further comprising:

the system Basic Integrated Operating System (BIOS) configured to execute during system Power-On Self Test and concealing a configurable number of physical disk drives attached to a disk controller from an operating system.

4. The apparatus according to claim 1 further comprising:

the system Basic Integrated Operating System (BIOS) configured to implement the Redundant Array of Independent Disks (RAID) protection adapted to function in cooperation with a plurality of disk controllers for RAID-on-RAID support and extended redundancy protection.

5. The apparatus according to claim 1 further comprising:

the system Basic Integrated Operating System (BIOS) configured to logically re-vector into a BIOS interrupt execution chain that performs a plurality of disk access functions during operating system loading, the system BIOS logically re-vectoring into the BIOS interrupt execution chain subsequent to re-vectoring into the BIOS interrupt execution chain by at least one hardware disk controller.

6. The apparatus according to claim 5 further comprising:

the system Basic Integrated Operating System (BIOS) configured for, subsequent to logically re-vectoring into the BIOS interrupt execution chain, executing a BIOS interrupt function specifying a target physical disk drive.

7. The apparatus according to claim 1 further comprising:

the system Basic Integrated Operating System (BIOS) configured to remap disk units that are not Redundant Array of Independent Disks (RAID) volumes.

8. The apparatus according to claim 1 further comprising:

the system Basic Integrated Operating System (BIOS) configured to perform an operating system bootstrap process that communicates with an interrupt 13h Basic Integrated Operating System (BIOS) interface, load device drivers for communicating with physical disk driver controllers, and detect individual physical disk drives.

9. The apparatus according to claim 8 further comprising:

the operating system bootstrap process configured to load a software Redundant Array of Independent Disk (RAID) driver to recognize that the individual physical disk drives operate as a RAID volume.

10. The apparatus according to claim 8 further comprising:

the operating system bootstrap process configured to load a software Redundant Array of Independent Disk (RAID) driver that accesses metadata resident on the physical disk drives to detect and identify RAID classification of the RAID volume formed by the physical disk drives.

11. The apparatus according to claim 5 , wherein the BIOS interrupt execution chain comprises a BIOS interrupt 13h execution chain.

12. A method for protecting data in a data processing system comprising:

executing initialization code of at least one hard disk controller via Option Read-Only Memory (ROM) of the at least one hard disk controller;

executing a system Basic Integrated Operating System (BIOS) from a System Read-Only Memory (ROM) to bootstrap load an operating system from a boot volume; and

implementing Redundant Array of Independent Disks (RAID) protection on the boot volume via the BIOS before bootstrap loading, wherein implementing comprises reading metadata from a plurality of disk drives and creating virtual RAID volumes based on the metadata.

13. The method according to claim 12 further comprising:

creating virtual Redundant Array of Independent Disks (RAID) volumes comprising:

examining configuration information on metadata read from the disk drive plurality;

validating RAID configuration;

logically re-vectoring interrupt 13h vector whereby subsequent 13h calls are diverted to System Read-Only Memory (ROM) and not Option ROM;

assigning new interrupt 13h unit numbers to virtual disks and unconfigured physical disks; and

updating state of virtual units.

14. The method according to claim 12 further comprising:

handling 13h interrupts in System Read-Only Memory (ROM) comprising:

examining interrupt 13h unit number for validity;

for a non-RAID unit number, updating a drive number register and forwarding to an original saved interrupt 13h device handler;

for a RAID unit number, determining whether the interrupt 13h request is a disk input/output (I/O) request;

for a request that is not a disk I/O request, process the request; for a disk I/O request:

accessing virtual unit configuration information for a virtual drive;

dividing request into multiple requests for physical drives;

sending Read/Write (R/W) requests to physical drives for the multiple requests.

15. The method according to claim 12 further comprising:

supporting Redundant Array of Independent Disks (RAID) protection for a plurality of different disks and disk controllers for designs of a plurality of manufacturers;

supporting RAID protection in combination with software RAID drivers loaded by an operating system after system bootstrap loading; and

supporting RAID protection in cooperation with a plurality of hardware RAID controllers in a respective plurality of hardware disk controllers for RAID-on-RAID support and extended redundancy protection.

16. The method according to claim 12 further comprising:

executing during system Power-On Self Test via the system Basic Integrated Operating System (BIOS); and

concealing a configurable number of physical disk drives attached to a disk controller from an operating system during the bootstrap loading.

17. The method according to claim 12 further comprising:

re-vectoring into the BIOS interrupt execution chain by the at least one hardware disk controller;

logically re-vectoring into a BIOS interrupt execution chain that performs a plurality of disk access functions during operating system loading;

executing a BIOS interrupt function specifying a target physical disk drive; and

remapping, via the BIOS prior to bootstrap loading, system units that are not Redundant Array of Independent Disks (RAID) volumes.

18. The method according to claim 12 further comprising:

communicating with an interrupt 13h Basic Integrated Operating System (BIOS) interface;

loading device drivers for communicating with physical disk driver controllers;

detecting individual physical disk drives; and

loading a software Redundant Array of Independent Disk (RAID) driver that accesses metadata resident on the physical disk drives to detect and identify RAID classification of the RAID volume formed by the physical disk drives.

19. The method according to claim 17 , wherein the BIOS interrupt execution chain comprises a BIOS interrupt 13h execution chain, and the BIOS interrupt 13h function comprises a BIOS interrupt 13h function.

20. A data processing system comprising:

a processor;

at least one disk controller coupled to the processor; and

a System Read-Only Memory (ROM) coupled to the processor and comprising a system Basic Integrated Operating System (BIOS) that implements Redundant Array of Independent Disks (RAID) protection on a boot volume and virtualizes component disk drives as a set of physical interrupt vector units, creating a new virtual interrupt vector unit out of the unit set, the system BIOS configured to logically re-vector during boot into a BIOS interrupt execution chain that performs a plurality of disk access functions during operating system loading, the system BIOS logically re-vectoring into the BIOS interrupt execution chain subsequent to re-vectoring into the BIOS interrupt execution chain by the at least one disk controller, and the system BIOS configured to create virtual RAID volumes and to remap system units that are not RAID volumes.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 055360/0424 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2006
From: THOMPSON, MARK J.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 018286/0695 →