IP Library Granted Patent US 10,120,823
Granted Patent B2
US 10,120,823 · App. 14/866,087 · Granted Nov 6, 2018

Host-safe firmware upgrade of a PCI express device

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 10,120,823
App. No.
14/866,087
Granted
Nov 6, 2018
Kind
B2
Abstract

A method and a computer readable medium comprising instructions for upgrading a firmware of a peripheral device connected to a host device via a Peripheral Component Interconnect Express (PCIe) bus from the operating system (OS) of the host device is disclosed. In one embodiment, the method and computer readable medium instructions includes halting host device access to the peripheral device after detecting the peripheral device has completed a shutdown sequence, and resetting the peripheral device after a predetermined time period after completion of the shutdown sequence. The method and computer readable medium instructions further includes initializing the firmware stored in a persistent storage location of the peripheral device, and re-establishing a connection between the peripheral device and the host device. In one embodiment, the predetermined time period is greater than a time it takes for the host device to detect the peripheral device has completed the shutdown sequence. In one embodiment, the peripheral device is a Non-Volatile Memory Express (NVMe)-compliant data storage device.

Claims (39)

1. A method of upgrading a firmware of a peripheral device connected to a host device via a Peripheral Component Interconnect Express (PCIe) bus from the operating system (OS) of the host device, the method comprising:

halting host device access to the peripheral device after detecting the peripheral device has completed a shutdown sequence comprising performing processes necessary for the peripheral device to shut down;

resetting the peripheral device after a predetermined time period of completion of the shutdown sequence;

initializing the firmware stored in a persistent storage location of the peripheral device;

re-establishing a connection between the peripheral device and the host device through a link negotiation setting a link width and link speed of the PCIe bus;

transferring the firmware from the host device to a buffer storage location of the peripheral device;

loading the firmware from the buffer storage location to the persistent storage location of the peripheral device;

setting a state of the peripheral device to a pending update state once the firmware is loaded to the persistent storage location of the peripheral device; and

beginning the predetermined time period after detecting both the peripheral device has completed the shutdown sequence and the pending update state of the peripheral device is set.

2. The method of claim 1 , further comprising polling a status of the peripheral device to detect the peripheral device has completed the shutdown sequence.

3. The method of claim 2 , wherein polling the status of the peripheral device comprises reading a register of the peripheral device corresponding to either an active or a shutdown state of the peripheral device.

4. The method of claim 1 , further comprising initiating the shutdown sequence after the firmware is loaded to the persistent storage location of the peripheral device.

5. The method of claim 1 , further comprising selecting the predetermined time period to be greater than a time it takes for the host device to detect the peripheral device has completed the shutdown sequence.

6. The method of claim 1 , wherein the predetermined time period is greater than a time it takes for the host device to detect the peripheral device has completed the shutdown sequence.

7. The method of claim 1 , wherein the predetermined time period is between 1 ms and 200 ms.

8. The method of claim 1 , wherein the peripheral device is a data storage device.

9. The method of claim 1 , wherein the peripheral device is a Non-Volatile Memory Express (NVMe)-compliant data storage device.

10. The method of claim 9 , wherein the NVMe-compliant data storage device is a Solid State Drive (SSD).

11. The method of claim 9 , wherein the shutdown sequence includes disabling one or more NVMe command queues and performing a Flash Translation Layer (FTL) flush.

12. A computer readable medium comprising instructions for upgrading a firmware of a peripheral device connected to a host device via a Peripheral Component Interconnect Express (PCIe) bus from the operating system (OS) of the host device by performing:

halting host device access to the peripheral device after detecting the peripheral device has completed a shutdown sequence comprising performing processes necessary for the peripheral device to shut down;

resetting the peripheral device after a predetermined time period after completion of the shutdown sequence;

initializing the firmware stored in a persistent storage location of the peripheral device; and

re-establishing a connection between the peripheral device and the host device through a link negotiation setting a link width and link speed of the PCIe bus;

transferring the firmware from the host device to a buffer storage location of the peripheral device;

loading the firmware from the buffer storage location to the persistent storage location of the peripheral device;

setting a state of the peripheral device to a pending update state once the firmware is loaded to the persistent storage location of the peripheral device; and

beginning the predetermined time period after detecting both the peripheral device has completed the shutdown sequence and the pending update state of the peripheral device is set.

13. The computer readable medium of claim 12 , further comprising instructions for performing:

polling a status of the peripheral device to detect the peripheral device has completed the shutdown sequence.

14. The computer readable medium of claim 12 , further comprising instructions for performing: initiating the shutdown sequence after the firmware is loaded to the persistent storage location of the peripheral device.

15. The computer readable medium of claim 12 , further comprising instructions for performing:

selecting the predetermined time period to be greater than a time it takes for the host device to detect the peripheral device has completed the shutdown sequence.

16. The computer readable medium of claim 12 , wherein the predetermined time period is greater than a time it takes for the host device to detect the peripheral device has completed the shutdown sequence.

17. The computer readable medium of claim 12 , wherein the predetermined time period is between 1 ms and 200 ms.

18. The computer readable medium of claim 12 , wherein the peripheral device is a data storage device.

19. The computer readable medium of claim 12 , wherein the peripheral device is a Non-Volatile Memory Express (NVMe)-compliant data storage device.

20. The computer readable medium of claim 19 , wherein the NVMe-compliant data storage device is a Solid State Drive (SSD).

21. The computer readable medium of claim 19 , wherein the shutdown sequence includes disabling one or more NVMe command queues and performing a Flash Translation Layer (FTL) flush.

Assignments (6)
MERGER Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 055659/0471 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043397/0380 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2016
From: OCZ STORAGE SOLUTIONS, INC.
To: TOSHIBA CORPORATION
Reel/Frame 038434/0371 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2015
From: WAIDHOFER, GORDON W.; AIOUAZ, ALI; DELANEY, CHRISTOPHER S.; THOMPSON, LELAND W.
To: OCZ STORAGE SOLUTIONS, INC.
Reel/Frame 036661/0061 →
Cited By (3)
US 12,265,496 US 12,461,866 US 12,487,748