IP Library › Granted Patent US 11,573,905
Granted Patent B2
US 11,573,905 · App. 17/154,411 · Granted Feb 7, 2023

Saving page retire information persistently across operating system reboots

Inventors: Tobias Stumpf (Munich, DE); Ashish Kaila (Palo Alto, CA); Mukund Gunti (Mountain View, CA); Rajesh Venkatasubramanian (Palo Alto, CA)
Assignee: VMware, Inc.
G06F12/1009G06F11/1417G06F11/1438G06F12/0875G06F12/1027G06F9/4401G06F9/4406G06F9/44505
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 11,573,905
App. No.
17/154,411
Granted
Feb 7, 2023
Kind
B2
Abstract

Examples described herein include systems and methods for retaining information about bad memory pages across an operating system reboot. An example method includes detecting, by a first instance of an operating system, an error in a memory page of a non-transitory storage medium of a computing device executing the operating system. The operating system can tag the memory page as a bad memory page, indicating that the memory page should not be used by the operating system. The operating system can also store tag information indicating memory pages of the storage medium that are tagged as bad memory pages. The example method can also include receiving an instruction to reboot the operating system, booting a second instance of the operating system, and providing the tag information to the second instance of the operating system. The operating system can use the tag information to avoid using the bad memory pages.

Claims (48)

1. A method for retaining information about bad memory pages across an operating system (OS) reboot, comprising:

detecting, by a first instance of the OS, an error in a memory page of a non-transitory storage medium of a computing device executing the OS;

tagging, by the first instance of the OS, the memory page as a bad memory page, wherein the tag indicates that the memory page should not be used by the OS;

extending a boot module that a boot loader is already configured to access during a boot process;

storing in the extended boot module tag information indicating memory pages of the storage medium tagged as bad memory pages;

receiving an instruction to reboot the OS; and

booting a second instance of the OS according to the extended boot module.

2. The method of claim 1 , wherein the instruction to reboot the OS requests a soft reboot.

3. The method of claim 1 , further comprising:

persistently storing, by the first instance of the OS, the tag information on the computing device; and

retrieving, by the second instance of the OS, the tag information.

4. The method of claim 3 , further comprising modifying the boot loader to retrieve the tag information.

5. The method of claim 1 , further comprising serializing information about the bad memory page, wherein storing the tag information comprises storing the serialized information.

6. The method of claim 1 , wherein the bad memory page comprises at least one of a correctable error and an uncorrectable error.

7. The method of claim 1 , further comprising providing the tag information to the second instance of the OS.

8. The method of claim 1 , further comprising instructing the second instance of the OS to perform a hard reboot.

9. A non-transitory, computer-readable medium containing instructions that, when executed by a hardware-based processor, performs stages for retaining information about bad memory pages across an operating system (OS) reboot, the stages comprising:

detecting, by a first instance of the OS, an error in a memory page of a storage medium of a computing device executing the OS;

tagging, by the first instance of the OS, the memory page as a bad memory page, wherein the tag indicates that the memory page should not be used by the OS;

extending a boot module that a boot loader is already configured to access during a boot process;

storing in the extended boot module tag information indicating memory pages of the storage medium tagged as bad memory pages;

receiving an instruction to reboot the OS;

booting a second instance of the OS; and

providing the tag information from the extended boot module to the second instance of the OS.

10. The non-transitory, computer-readable medium of claim 9 , wherein the instruction to reboot the OS requests a hard reboot, and wherein providing the tag information comprises:

persistently storing, by the first instance of the OS, the tag information on the computing device; and

retrieving, by the second instance of the OS, the tag information.

11. The non-transitory, computer-readable medium of claim 9 , the stages further comprising instructing the second instance of the OS to not use any memory pages indicated by the tag information.

12. The non-transitory, computer-readable medium of claim 9 , the stages further comprising serializing information about the bad memory page, wherein storing the tag information comprises storing the serialized information.

13. The non-transitory, computer-readable medium of claim 9 , wherein the bad memory page comprises at least one of a correctable error and an uncorrectable error.

14. The non-transitory, computer-readable medium of claim 9 , wherein the instruction to reboot the OS instructs the OS to perform a hard reboot.

15. A system for retaining information about bad memory pages across an operating system (OS) reboot, comprising:

a memory storage including a non-transitory, computer-readable medium comprising instructions; and

a computing device including a hardware-based processor that executes the instructions to carry out stages comprising:

detecting, by a first instance of the OS, an error in a memory page of the memory storage of the computing device;

tagging, by the first instance of the OS, the memory page as a bad memory page, wherein the tag indicates that the memory page should not be used by the OS;

extending a boot module that a boot loader is already configured to access during a boot process;

storing, in the extended boot module, tag information indicating memory pages of the memory storage tagged as bad memory pages;

receiving an instruction to reboot the OS;

booting a second instance of the OS; and

providing the tag information to the second instance of the OS from the extended boot module.

16. The system of claim 15 , wherein the instruction to reboot the OS requests a hard reboot, and wherein providing the tag information comprises:

persistently storing, by the first instance of the OS, the tag information on the computing device; and

retrieving, by the second instance of the OS, the tag information.

17. The system of claim 16 , the stages further comprising modifying the boot loader to retrieve the tag information.

18. The system of claim 15 , the stages further comprising instructing the second instance of the OS to not use any memory pages indicated by the tag information.

19. The system of claim 15 , the stages further comprising serializing information about the bad memory page, wherein storing the tag information comprises storing the serialized information.

20. The system of claim 15 , wherein the bad memory page comprises at least one of a correctable error and an uncorrectable error.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2022
From: STUMPF, TOBIAS; KAILA, ASHISH; GUNTI, MUKUND; VENKATASUBRAMANIAN, RAJESH
To: VMWARE, INC.
Reel/Frame 061990/0947 →
Continuity (1)
Related Publication 20220229781A1 · Jul 21, 2022
Cited By (2)
US 12,566,662 US 12,596,603