IP Library › Granted Patent US 12,353,550
Granted Patent B2
US 12,353,550 · App. 18/115,260 · Granted Jul 8, 2025

Snapshot-based boot volume for reliable server management and immutable reboot processes in storage processing units

Inventors: David DeJong (Fremont, CA); Tobias Flitsch (San Jose, CA); Siamak Nazari (Mountain View, CA)
Assignee: Nvidia Corporation
G06F21/566G06F9/4403G06F9/4416G06F11/1446G06F2221/033
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 12,353,550
App. No.
18/115,260
Granted
Jul 8, 2025
Kind
B2
Abstract

A storage processing unit (SPU), which may be resident in a server in a storage system, provides a boot volume to the server and provides storage services. The SPU may execute a process including taking three snapshots of the boot volume respectively after writing an operating system image into the boot volume, after writing component images or otherwise customizing contents of the boot volume, and after the server boots from the boot volume. For updates, stability, or recovery of the storage system, the SPU may promote any of the snapshots to be the boot volume before the server reboots.

Claims (42)

1. A method for operating a storage system that includes a server, the method comprising:

storing an operating system image from a trusted source into a boot volume for the server, wherein the server contains a storage processing unit connected to control backend storage and provides the boot volume to the server and wherein storing the operating system image comprises the storage processing unit downloading the operating system image from a cloud-based management service for the storage system;

storing one or more component images from the trusted source in the boot volume, the components being selected according to a desired configuration of the storage system, wherein storing the component images comprises the storage processing unit downloading the component images from a cloud-based management service for the storage system;

after storing the component images, booting the server from the boot volume, the server installing components from the component images while booting;

after booting the server, taking a snapshot of the boot volume; and

configuring the storage system to promote the snapshot to be the boot volume before every reboot of the server, whereby the server always reboots to a known operable state.

2. The method of claim 1 , further comprising a user of the storage system contacting the cloud-based management service and selecting the component images based on the desired configuration of the storage system.

3. A method for operating a storage system that includes a server, a backend storage device, and a storage processing unit (SPU) that is connected to the backend storage device and that provides a boot volume to the server, the method including an initialization process comprising:

the SPU writing an operating system image for the server into the boot volume;

the SPU taking a first snapshot of the boot volume containing the operating system image;

after taking the first snapshot, the SPU writing into the boot volume one or more component images selected according to a desired configuration of the storage system;

after writing the components, the SPU taking a second snapshot of the boot volume and the server booting from the boot volume; and

after the server booting, the SPU taking a third snapshot of the boot volume.

4. The method of claim 3 , further comprising a reboot process that includes:

selecting a selected snapshot from among the first snapshot, the second snapshot, and the third snapshot; and

the SPU promoting the selected snapshot to be the boot volume for the server.

5. The method of claim 3 , further comprising configuring the SPU to promote the third snapshot to be the boot volume for each rebooting of the server, whereby the server reboots to a known operable state.

6. The method of claim 3 , further comprising an update process that includes: the SPU promoting the first snapshot to be the boot volume;

the SPU writing into the boot volume updated components selected according to the desired configuration of the storage system;

after writing the components, the SPU taking a fourth snapshot of the boot volume and booting the server from the boot volume; and

after booting the server, the SPU taking a fifth snapshot of the boot volume.

7. The method of claim 3 , wherein the component images comprise one or more image of one or more applications being installed for execution by the server.

8. A storage system comprising:

a server;

a backend storage device; and

a storage processing unit connected to the backend storage device, the storage processing unit providing a boot volume to the server, the storage processing unit being configured to execute a first process including:

writing an operating system image for the server into the boot volume;

taking a first snapshot of the boot volume containing the operating system image;

after taking the first snapshot, writing into the boot volume components selected according to a desired configuration of the storage system;

after writing the components, taking a second snapshot of the boot volume and booting the server from the boot volume; and

after booting the server, taking a third snapshot of the boot volume.

9. The storage system of claim 8 , wherein the storage processing unit performs the first process in response to initialization of the server and in response to updating the operating system.

10. The storage system of claim 8 , wherein the storage processing unit is configured to perform a second process for a reboot of the server, the second process comprising:

selecting a selected snapshot from among the first snapshot, the second snapshot, and the third snapshot; and

promoting the selected snapshot to be the boot volume for the rebooting of the server.

11. The storage system of claim 8 , wherein the storage processing unit is configured to perform a second process for a reboot of the server, the second process comprising promoting the third snapshot to be the boot volume for the rebooting of the server, whereby the server reboots to a known operable state.

12. The storage system of claim 8 , wherein the storage processing unit is configured to perform a second process for an update of the components, the second processing comprising:

promoting the first snapshot to be the boot volume;

writing into the boot volume updated components selected according to the desired configuration of the storage system;

after writing the components, taking a fourth snapshot of the boot volume and booting the server from the boot volume; and

after booting the server, taking a fifth snapshot of the boot volume.

13. The storage system of claim 8 , wherein the components comprise one or more image of one or more applications being installed for execution by the server.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2024
From: NEBULON, INC.; NEBULON LTD
To: NVIDIA CORPORATION
Reel/Frame 067338/0929 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2023
From: DEJONG, DAVID; FLITSCH, TOBIAS; NAZARI, SIAMAK
To: NEBULON, INC.
Reel/Frame 063306/0737 →
Continuity (5)
Provisional Application 63314970 · Feb 28, 2022
Provisional Application 63314987 · Feb 28, 2022
Provisional Application 63314996 · Feb 28, 2022
Provisional Application 63316081 · Mar 3, 2022
Related Publication 20230273799A1 · Aug 31, 2023
References Cited (12)
US 11620070B2 · Balasubramanian · 2023 [cited by examiner]
US 20110078433A1 · Bert · 2011 [cited by examiner]
US 20110238969A1 · Warkentin · 2011 [cited by examiner]
US 20130262800A1 · Goodman · 2013 [cited by examiner]
US 20140149696A1 · Frenkel · 2014 [cited by examiner]
US 20170024224A1 · Bakke · 2017 [cited by examiner]
US 20180276002A1 · Roszak · 2018 [cited by examiner]
US 20230033667A1 · Koteshwara · 2023 [cited by examiner]
WO 2021150576A1 · 2021 [cited by applicant]
WO 2021174063A1 · 2021 [cited by applicant]
WO 2021174070A1 · 2021 [cited by applicant]
WO 2022132957A1 · 2022 [cited by applicant]