IP Library Granted Patent US 8,352,716
Granted Patent B1
US 8,352,716 · App. 12/355,439 · Granted Jan 8, 2013

Boot caching for boot acceleration within data storage systems

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 8,352,716
App. No.
12/355,439
Granted
Jan 8, 2013
Kind
B1
Abstract

Technologies are described herein for boot caching to accelerate boot access in a data storage system providing boot consolidation. Boot caching may be provided to improve boot access for multiple clients concurrently booting from a common storage server. Boot statistics may be collected per user or client. The boot statistics can determine common patterns within the boot procedures of the clients and may be used to compute boot caching tables. These tables may then be used during boot caching to accelerate booting of clients. A boot caching mechanism can be implemented to support improved booting performance by caching data blocks common to multiple booting volumes. This approach can leverage the condition that much of the data loaded by clients at boot time may be substantially identical, because booting can involve loading the same operating system components into each client.

Claims (38)

1. A method for boot acceleration within a data storage system, the method comprising:

collecting boot statistics;

analyzing the boot statistics;

providing boot cache tables in response to analyzing the boot statistics, the boot cache tables comprising identification information for boot blocks associated with pure read operations based on the analyzed boot statistics;

providing a boot cache in memory;

loading the boot cache tables into the boot cache;

loading common boot blocks into the boot cache, the common boot blocks being associated with pure read operations based on the analyzed boot statistics;

servicing boot load operations from the common boot blocks in the boot cache; and

establishing a reference volume as a volume having the highest number of matching blocks.

2. The method of claim 1 , further comprising invalidating common boot blocks in response to write operations to the common boot blocks.

3. The method of claim 1 , further comprising collecting boot cache efficacy statistics.

4. The method of claim 3 , further comprising rebuilding the boot cache in response to boot efficacy statistics falling below a specified threshold.

5. The method of claim 1 , further comprising associating dependent blocks to reference blocks based on signature values.

6. The method of claim 5 , further comprising matching data between associated dependent blocks and reference blocks, and removing mismatched blocks from the boot cache tables.

7. A non-transitory computer storage medium having computer-executable instructions stored thereon which, when executed by a computer system, cause the computer system to:

collect boot statistics;

analyze the boot statistics;

provide boot cache tables in response to analyzing the boot statistics, the boot cache tables comprising identification information for boot blocks associated with pure read operations based on the analyzed boot statistics;

provide a boot cache in memory;

load the boot cache tables into the boot cache;

load common boot blocks into the boot cache, the common boot blocks being associated with pure read operations based on the analyzed boot statistics;

service boot load operations from the common boot blocks in the boot cache; and

establish a reference volume as a volume having the highest number of matching blocks.

8. The non-transitory computer storage medium of claim 1 , further comprising causing the computer system to invalidate common boot blocks in response to write operations to the common boot blocks.

9. The non-transitory computer storage medium of claim 7 , further comprising causing the computer system to collect boot cache efficacy statistics.

10. The non-transitory computer storage medium of claim 9 , further comprising causing the computer system to rebuild the boot cache in response to boot efficacy statistics falling below a specified threshold.

11. The non-transitory computer storage medium of claim 7 , further comprising causing the computer system to associate dependent blocks to reference blocks based on signature values.

12. The non-transitory computer storage medium of claim 11 , further comprising causing the computer system to match data between associated dependent blocks and reference blocks, and remove mismatched blocks from the boot cache tables.

13. A data storage system comprising:

a storage server;

a physical storage device associated with the storage server;

a processing unit associated with the storage server; and

one or more modules for execution on the processing unit, configured to collect boot statistics, analyze the boot statistics, provide boot cache tables in response to analyzing the boot statistics, the boot cache tables comprising identification information for boot blocks associated with pure read operations based on the analyzed boot statistics, provide a boot cache in memory, load the boot cache tables into the boot cache, load common boot blocks into the boot cache, the common boot blocks being associated with pure read operations based on the analyzed boot statistics, service boot load operations from the common boot blocks in the boot cache, and establish a reference volume as a volume having the highest number of matching blocks.

14. The data storage system of claim 13 , wherein the one or more modules for execution on the processing unit are further configured to invalidate common boot blocks in response to write operations to the common boot blocks.

15. The data storage system of claim 13 , wherein the one or more modules for execution on the processing unit are further configured to collect boot cache efficacy statistics.

16. The data storage system of claim 15 , wherein the one or more modules for execution on the processing unit are further configured to rebuild the boot cache in response to boot efficacy statistics falling below a specified threshold.

17. The data storage system of claim 13 , wherein the one or more modules for execution on the processing unit are further configured to associate dependent blocks to reference blocks based on signature values.

18. The data storage system of claim 17 , wherein the one or more modules for execution on the processing unit are further configured to match data between associated dependent blocks and reference blocks, and remove mismatched blocks from the boot cache tables.

Assignments (3)
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 Apr 1, 2009
From: CHATTERJEE, PARESH; SUBRAMANIAN, SRIKUMAR; GRANDHI, SURESH; MUTHIRISAVENUGOPAL, VIJAYARAKAN
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 022485/0490 →