IP Library Granted Patent US 10,474,618
Granted Patent B2
US 10,474,618 · App. 14/476,930 · Granted Nov 12, 2019

Debug data saving in host memory on PCIE solid state drive

Inventors: Michael J. Anderson (Rochester, MN); Adam Michael Espeseth (Rochester, MN); Brandon William Schulz (Rochester, MN); Lee Anton Sendelbach (Rochester, MN)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F13/4221G06F11/07G06F11/0751
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,474,618
App. No.
14/476,930
Granted
Nov 12, 2019
Kind
B2
Abstract

A method, apparatus, and system are provided for implementing debug data saving in host memory on a Peripheral Component Interconnect Express (PCIE) solid state drive (SSD). Upon Power Loss Interruption (PLI) event detected in a solid state drive (SSD), the SSD transfers debug data directly to the host system main (DRAM) memory via a Peripheral Component Interconnect Express (PCIE) bus.

Claims (32)

1. A method for implementing debug data saving in host memory on a Peripheral Component Interconnect Express (PCIE) solid state drive (SSD) performed by the solid state drive (SSD) and host system, said method comprising:

detecting a Power Loss Interruption (PLI) event in a solid state drive (SSD);

responsive to the detected PLI event, generating a debug snapshot including specially formatted data with a header describing contents and length, and including memory ranges, internal variables, hardware register values, and event tracing information; and

transferring said debug snapshot data directly to a host system main memory via a Peripheral Component Interconnect Express (PCIE) bus, responsive to the detected PLI event.

2. The method as recited in claim 1 wherein transferring debug data directly to a host system main memory via a Peripheral Component Interconnect Express (PCIE) bus includes transferring said debug snapshot data to a predefined memory range in the host system main memory.

3. The method as recited in claim 2 wherein the host system main memory includes a dynamic random access memory (DRAM), and includes defining a debug buffer management device driver in a host system operating system for allocating the predefined memory range in the host system main memory including an allocated memory space having a starting memory address and a predefined memory length.

4. The method as recited in claim 1 wherein transferring said debug snapshot data directly to a host system main memory via a Peripheral Component Interconnect Express (PCIE) bus includes transferring said debug snapshot data to one or more predefined debug buffers in the host system main memory.

5. The method as recited in claim 1 further includes storing debug data to at least one separate non-volatile storage in the host system.

6. The method as recited in claim 1 includes reading stored debug data from the host system main memory and writing the read data to a reserved location in the solid state drive (SSD).

7. An apparatus for implementing debug data saving in host memory on a Peripheral Component Interconnect Express (PCIE) solid state drive (SSD) comprising:

said solid state drive (SSD) including a controller detecting a Power Loss Interruption (PLI) event;

said SSD, responsive to the detected PLI event, generating a debug snapshot including specially formatted data with a header describing contents and length, and including memory ranges, internal variables, hardware register values, and event tracing information; and

said SSD transferring said debug snapshot data directly to a host system main memory via a Peripheral Component Interconnect Express (PCIE) bus, responsive to the detected PLI event.

8. The apparatus as recited in claim 7 includes control code stored on a non-transitory computer readable medium, and wherein said controller and a host operating system use said control code for implementing debug data saving in host memory.

9. The apparatus as recited in claim 7 wherein the solid state drive (SSD) includes flash memory, said flash memory including one or more NAND chips.

10. The apparatus as recited in claim 7 wherein said SSD transfers debug data directly to a predefined memory range in the host system main memory.

11. The apparatus as recited in claim 7 wherein said SSD transfers said debug snapshot data to one or more predefined debug buffers in the host system main memory.

12. The apparatus as recited in claim 7 further includes a host system operating system storing debug data to at least one separate host system non-volatile storage.

13. The apparatus as recited in claim 7 includes said controller reading stored debug data from the host system main memory and writing the read debug data to a reserved location in the solid state drive (SSD).

14. The apparatus as recited in claim 7 wherein said SSD transferring said debug snapshot data directly to a host system main memory via a Peripheral Component Interconnect Express (PCIE) bus, responsive to the PLI event includes said SSD generating said debug snapshot data saved in the solid state drive (SSD) and transferring the debug snapshot data to a predefined memory range in the host system main memory.

15. A system for implementing debug data saving in host memory on a Peripheral Component Interconnect Express (PCIE) solid state drive (SSD) comprising:

a host computer;

a solid state drive (SSD);

a Peripheral Component Interconnect Express (PCIE) bus connecting said host system and said solid state drive (SSD);

said solid state drive (SSD) including a controller detecting a Power Loss Interruption (PLI) event;

said SSD responsive to the detected PLI event, generating a debug snapshot including specially formatted data with a header describing contents and length, and including memory ranges, internal variables, hardware register values, and event tracing information; and

said SSD transferring said debug snapshot data directly to a host system main memory via a Peripheral Component Interconnect Express (PCIE) bus, responsive to the detected PLI event.

16. The system as recited in claim 15 includes control code stored on a non-transitory computer readable medium, and wherein said controller uses said control code for implementing debug data saving.

17. The system as recited in claim 15 wherein said host system transferring drive-side cache data directly to a host system main memory via a Peripheral Component Interconnect Express (PCIE) bus includes said SSD transferring said debug snapshot data to a predefined memory range in the host system main memory.

18. The system as recited in claim 15 wherein said SSD transferring debug data directly to a host system main memory via a Peripheral Component Interconnect Express (PCIE) bus includes said SSD transferring said debug snapshot data to one or more predefined debug buffers in the host system main memory.

19. The system as recited in claim 15 further includes a host system operating system storing debug data to at least one separate host system non-volatile storage.

20. The system as recited in claim 15 includes said controller reading stored debug data from the host system main memory and writing the read data to a reserved location in said solid state drive (SSD).

Assignments (6)
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040829/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2014
From: ANDERSON, MICHAEL J.; ESPESETH, ADAM MICHAEL; SCHULZ, BRANDON WILLIAM; SENDELBACH, LEE ANTON
To: HGST NETHERLANDS B.V.
Reel/Frame 033667/0041 →
Continuity (1)
Related Publication 20160070486A1 · Mar 10, 2016
Cited By (3)
US 12,189,464 US 12,468,476 US 12,498,881