IP Library Granted Patent US 9,141,565
Granted Patent B2
US 9,141,565 · App. 13/729,496 · Granted Sep 22, 2015

Memory bus attached input/output (‘I/O’) subsystem management in a computing system

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 9,141,565
App. No.
13/729,496
Granted
Sep 22, 2015
Kind
B2
Abstract

Memory bus attached Input/Output (‘I/O’) subsystem management in a computing system, the computing system including an I/O subsystem communicatively coupled to a memory bus, including: detecting, by an I/O subsystem device driver, a hibernation request; setting, by the I/O subsystem device driver, a predetermined memory address to a value indicating that the I/O subsystem is not to service system requests; detecting, by the I/O subsystem device driver, that the I/O subsystem device driver has been restarted; and setting, by the I/O subsystem device driver, the predetermined memory address to a value indicating that the I/O subsystem can resume servicing system requests.

Claims (29)

1. An apparatus for memory bus attached Input/Output (‘I/O’) subsystem management in a computing system, the computing system including an I/O subsystem communicatively coupled to a memory bus, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

detecting, by an I/O subsystem device driver, a hibernation request;

responsive to detecting the hibernation request, setting, by the I/O subsystem device driver, a predetermined memory address to a value indicating that the I/O subsystem is not to service system requests;

detecting, by the I/O subsystem device driver, that the I/O subsystem device driver has been restarted; and

setting, by the I/O subsystem device driver, the predetermined memory address to a value indicating that the I/O subsystem can resume servicing system requests.

2. The apparatus of claim 1 wherein setting, by the I/O subsystem device driver, a predetermined memory address to the value indicating that the I/O subsystem is not to service system requests further comprises sending, by the I/O subsystem device driver to the I/O subsystem, a stop signal across the memory bus.

3. The apparatus of claim 1 wherein setting, by the I/O subsystem device driver, the predetermined memory address to the value indicating that the I/O subsystem can resume servicing system requests further comprises sending, by the I/O subsystem device driver to the I/O subsystem, a start signal across the memory bus.

4. The apparatus of claim 1 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

copying, by the I/O subsystem device driver, data from main memory to the I/O subsystem; and

responsive to setting the predetermined memory address to the value indicating that the I/O subsystem can resume servicing system requests, copying, by the I/O subsystem device driver, contents of the I/O subsystem to main memory.

5. The apparatus of claim 1 wherein the I/O subsystem is dual in-line memory module (‘DIMM’) form factor flash memory.

6. The apparatus of claim 1 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

retaining, by the I/O subsystem device driver in nonvolatile memory, I/O subsystem requests that were uncompleted when the hibernation request was detected; and

resuming, by the I/O subsystem device driver, the requests that were uncompleted.

7. The apparatus of claim 6 wherein retaining I/O subsystem requests that were uncompleted when the hibernation request was detected includes masking the I/O subsystem requests.

8. A computer program product for memory bus attached Input/Output (‘I/O’) subsystem management in a computing system, the computing system including an I/O subsystem communicatively coupled to a memory bus, the computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

detecting, by an I/O subsystem device driver, a hibernation request;

responsive to detecting the hibernation request, setting, by the I/O subsystem device driver, a predetermined memory address to a value indicating that the I/O subsystem is not to service system requests;

detecting, by the I/O subsystem device driver, that the I/O subsystem device driver has been restarted; and

setting, by the I/O subsystem device driver, the predetermined memory address to a value indicating that the I/O subsystem can resume servicing system requests.

9. The computer program product of claim 8 wherein setting, by the I/O subsystem device driver, a predetermined memory address to the value indicating that the I/O subsystem is not to service system requests further comprises sending, by the I/O subsystem device driver to the I/O subsystem, a stop signal across the memory bus.

10. The computer program product of claim 8 wherein setting, by the I/O subsystem device driver, the predetermined memory address to the value indicating that the I/O subsystem can resume servicing system requests further comprises sending, by the I/O subsystem device driver to the I/O subsystem, a start signal across the memory bus.

11. The computer program product of claim 8 further comprising computer program instructions that, when executed, cause the computer to carry out the steps of:

copying, by the I/O subsystem device driver, data from main memory to the I/O subsystem; and

responsive to setting the predetermined memory address to the value indicating that the I/O subsystem can resume servicing system requests, copying, by the I/O subsystem device driver, contents of the I/O subsystem to main memory.

12. The computer program product of claim 8 wherein the I/O subsystem is dual in-line memory module (‘DIMM’) form factor flash memory.

13. The computer program product of claim 8 further comprising computer program instructions that, when executed, cause the computer to carry out the steps of: retaining, by the I/O subsystem device driver in nonvolatile memory, I/O subsystem requests that were uncompleted when the hibernation request was detected; and

resuming, by the I/O subsystem device driver, the requests that were uncompleted.

14. The computer program product of claim 13 wherein retaining I/O subsystem requests that were uncompleted when the hibernation request was detected includes masking the I/O subsystem requests.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 050300/0878 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT DOCUMENT CONTAINING TYPO ERRORS PREVIOUSLY RECORDED AT REEL: 037101 FRAME: 0969. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 28, 2015
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 037689/0190 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2015
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 037101/0969 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2013
From: FOSTER, JIMMY G., SR.; KOCHAR, SUMEET; KOLVICK, RANDOLPH S.; ONO, MAKOTO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029780/0001 →