IP Library Patent Application 14306555
Patent Application
App. No. 14/306,555

WRITE BACK CACHING OF BOOT DISK IN A UEFI ENVIRONMENT

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.
14/306,555
Abstract

Write back caching of Operating System (OS) boot data in a UEFI environment is disclosed. One embodiment is an apparatus that includes a non-volatile memory, a storage device, and a processor. The non-volatile memory caches boot data for an OS. The storage device stores the OS. The processor receives a write request for the storage device, and determines whether the write request modifies boot data accessed within a UEFI pre-OS boot environment. The processor directs the write request to the storage device responsive to determining that the write request modifies boot data accessed within the UEFI pre-OS boot environment, and directs the write request to the non-volatile memory responsive to determining that the write request does not modify boot data accessed within the UEFI pre-OS boot environment.

Claims (84)

1 . An apparatus comprising:

a non-volatile memory operable to cache boot data for an Operating System (OS);

a storage device operable to store the OS; and

a processor operable to receive a write request for the storage device, to determine whether the write request modifies boot data accessed within a Unified Extensible Firmware Interface (UEFI) pre-OS boot environment, and to:

direct the write request to the storage device responsive to determining that the write request modifies boot data accessed within the UEFI pre-OS boot environment; and

direct the write request to the non-volatile memory responsive to determining that the write request does not modify boot data accessed within the UEFI pre-OS boot environment.

2 . The apparatus of claim 1 wherein:

the UEFI pre-OS boot environment comprises boot data accessed prior to a UEFI ExitBootServices( ) function.

3 . The apparatus of claim 1 wherein:

the storage device is a Hard Disk Drive; and

the non-volatile memory is a Solid State Disk.

4 . The apparatus of claim 1 wherein:

the processor is further operable to identify an OS boot file on the storage device accessed within the UEFI pre-OS boot environment, to identify Logical Block Addresses (LBAs) for the boot file, and to determine that the write request modifies boot data accessed within the UEFI pre-OS boot environment if at least one LBA for the boot file corresponds to an LBA for the write request.

5 . The apparatus of claim 1 wherein:

the processor is further operable to identify OS boot files on the storage device accessed within the UEFI pre-OS boot environment, to identify Logical Block Addresses (LBAs) for the boot files, and to determine that the write request does not modify boot data accessed within the UEFI pre-OS boot environment if no LBAs for the boot files corresponds to LBAs for the write request.

6 . The apparatus of claim 1 wherein:

the processor is further operable to identify an OS boot file on the storage device accessed outside of the UEFI pre-OS boot environment, to identify Logical Block Addresses (LBAs) for the boot file, and to determine that the write request does not modify boot data accessed within the UEFI pre-OS boot environment if at least one LBA for the boot file corresponds to an LBA for the write request.

7 . The apparatus of claim 1 wherein:

the processor is further operable to identify OS boot files on the storage device accessed outside of the UEFI pre-OS boot environment, to identify Logical Block Addresses (LBAs) for the boot files, and to determine that the write request does not modify boot data accessed within the UEFI pre-OS boot environment if no LBAs for the boot files corresponds to LBAs for the write request.

8 . A method comprising:

receiving a write request for a storage device that stores an Operating System (OS);

determining whether the write request modifies boot data accessed within a Unified Extensible Firmware Interface (UEFI) pre-OS boot environment;

directing the write request to the storage device responsive to determining that the write request modifies boot data accessed within the UEFI pre-OS boot environment; and

directing the write request to a non-volatile memory that caches boot data for the OS responsive to determining that the write request does not modify boot data accessed within the UEFI pre-OS boot environment.

9 . The method of claim 8 wherein:

the UEFI pre-OS boot environment comprises boot data accessed prior to a UEFI ExitBootServices( ) function.

10 . The method of claim 8 wherein:

the storage device is a Hard Disk Drive; and

the non-volatile memory is a Solid State Disk.

11 . The method of claim 8 wherein:

the method further comprises:

identifying an OS boot file on the storage device accessed within the UEFI pre-OS boot environment; and

identifying Logical Block Addresses (LBAs) for the boot file; and

determining whether the write request modifies boot data further comprises:

determining that the write request modifies boot data accessed within the UEFI pre-OS boot environment if at least one LBA for the boot file corresponds to an LBA for the write request.

12 . The method of claim 8 wherein:

the method further comprises:

identifying OS boot files on the storage device accessed within the UEFI pre-OS boot environment; and

identifying Logical Block Addresses (LBAs) for the boot files; and

determining whether the write request modifies boot data further comprises:

determining that the write request does not modify boot data accessed within the UEFI pre-OS boot environment if no LBAs for the boot files corresponds to LBAs for the write request.

13 . The method of claim 8 wherein:

the method further comprises:

identifying an OS boot file on the storage device accessed outside of the UEFI pre-OS boot environment; and

identifying Logical Block Addresses (LBAs) for the boot file; and

determining whether the write request modifies boot data further comprises:

determining that the write request does not modify boot data accessed within the UEFI pre-OS boot environment if at least one LBA for the boot file corresponds to an LBA for the write request.

14 . The method of claim 8 wherein:

the method further comprises:

identifying OS boot files on the storage device accessed outside of the UEFI pre-OS boot environment; and

identifying Logical Block Addresses (LBAs) for the boot files; and

determining whether the write request modifies boot data further comprises:

determining that the write request does not modify boot data accessed within the UEFI pre-OS boot environment if no LBAs for the boot files corresponds to LBAs for the write request.

15 . A non-transitory computer readable medium embodying instructions which, when executed by a processor, direct the processor to:

receive a write request for a storage device that stores an Operating System (OS);

determine whether the write request modifies boot data accessed within a Unified Extensible Firmware Interface (UEFI) pre-OS boot environment;

direct the write request to the storage device responsive to determining that the write request modifies boot data accessed within the UEFI pre-OS boot environment; and

direct the write request to a non-volatile memory that caches boot data for the OS responsive to determining that the write request does not modify boot data accessed within the UEFI pre-OS boot environment.

16 . The non-transitory computer readable medium of claim 15 wherein:

the UEFI pre-OS boot environment comprises boot data accessed prior to a UEFI ExitBootServices( ) function.

17 . The non-transitory computer readable medium of claim 15 wherein:

the instructions further direct the processor to:

identify an OS boot file on the storage device accessed within the UEFI pre-OS boot environment; and

identify Logical Block Addresses (LBAs) for the boot file; and

instructions that direct the processor to determine whether the write request modifies boot data further comprise instructions that direct the processor to:

determine that the write request modifies boot data accessed within the UEFI pre-OS boot environment if at least one LBA for the boot file corresponds to an LBA for the write request.

18 . The non-transitory computer readable medium of claim 15 wherein:

the instructions further direct the processor to:

identify OS boot files on the storage device accessed within the UEFI pre-OS boot environment; and

identify Logical Block Addresses (LBAs) for the boot files; and

instructions that direct the processor to determine whether the write request modifies boot data further comprise instructions that direct the processor to:

determine that the write request does not modify boot data accessed within the UEFI pre-OS boot environment if no LBAs for the boot files corresponds to LBAs for the write request.

19 . The non-transitory computer readable medium of claim 15 wherein:

the instructions further direct the processor to:

identify an OS boot file on the storage device accessed outside of the UEFI pre-OS boot environment; and

identify Logical Block Addresses (LBAs) for the boot file; and

instructions that direct the processor to determine whether the write request modifies boot data further comprise instructions that direct the processor to:

determine that the write request does not modify boot data accessed within the UEFI pre-OS boot environment if at least one LBA for the boot file corresponds to an LBA for the write request.

20 . The non-transitory computer readable medium of claim 15 wherein:

the instructions further direct the processor to:

identify OS boot files on the storage device accessed outside of the UEFI pre-OS boot environment; and

identify Logical Block Addresses (LBAs) for the boot files; and

instructions that direct the processor to determine whether the write request modifies boot data further comprise instructions that direct the processor to:

determine that the write request does not modify boot data accessed within the UEFI pre-OS boot environment if no LBAs for the boot files corresponds to LBAs for the write request.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2014
From: KUMAR, AMIT; VENKATESHA, PRADEEP R.
To: LSI CORPORATION
Reel/Frame 033117/0880 →