IP Library Granted Patent US 11,822,490
Granted Patent B2
US 11,822,490 · App. 17/522,899 · Granted Nov 21, 2023

Systems, methods, and devices for accessing a device operating system over an interconnect

Inventors: Rajinikanth Pandurangan (Fremont, CA); Changho Choi (San Jose, CA); Yang Seok Ki (Palo Alto, CA); Sungwook Ryu (Palo Alto, CA)
G06F13/102G06F9/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,822,490
App. No.
17/522,899
Granted
Nov 21, 2023
Kind
B2
Abstract

A method for communicating with a device may include running, at a device, an operating system, communicating, using a first function of an interconnect, with the device, and communicating, using a second function of the interconnect, with the operating system. The operating system may include communication logic, and the communicating with the operating may include communicating with the communication logic. The communication logic may one or more terminal support drivers, and the communicating with the communication logic may include communicating with the one or more terminal support drivers using a terminal application. The terminal application may run on a host. The second function of the interconnect may be configured to operate with a controller. The communicating with the operating system may include communicating with the operating system based on a privilege information. The host may be a management controller. The method may further include controlling, using the second function of the interconnect, a program on the operating system.

Claims (55)

1. A method comprising:

running, at a device, using a processor, an operating system;

operating, at the device, using a device controller, a device functionality;

running, on the operating system, a first program configured to perform a computation on data stored at the device;

communicating, by at least one host, using a first function of a PCIe interface, based on a first function identifier, with the first program, wherein the first function of the PCIe interface communicates as a first logical device;

communicating, by at least one host, using a second function of the PCIe interface, based on a second function identifier, with the operating system, wherein the second function of the PCIe interface communicates as a second logical device; and

communicating, by at least one host, using the second function of the PCIe interface, with a second program on the operating system, wherein the second program is configured to monitor a performance of the first program.

2. The method of claim 1 , wherein:

the operating system comprises communication logic; and

the communicating with the operating system comprises communicating, by at least one host, with the communication logic.

3. The method of claim 2 , wherein:

the communication logic comprises one or more terminal support drivers; and

the communicating with the communication logic comprises communicating, at least one host, with the one or more terminal support drivers using a terminal application.

4. The method of claim 3 , wherein the terminal application runs on at least one host.

5. The method of claim 1 , wherein the communicating with the operating system comprises communicating, by at least one host, with the operating system based on a privilege information.

6. The method of claim 1 , further comprising controlling, by at least one host, using the second function of the PCIe interface, a program on the operating system.

7. The method of claim 6 , wherein the program comprises at least one of a debugging program, a tracing program, or a profiling program.

8. The method of claim 1 , wherein the communicating with the operating system comprises storing, by the device, in a buffer, output data associated with the second function of the PCIe interface.

9. The method of claim 8 , wherein the communicating with the operating system comprises reading, from the buffer, the output data associated with the second function of the PCIe interface.

10. The method of claim 8 , wherein the buffer comprises a ring buffer.

11. The method of claim 8 , wherein the output data associated with the second function of the PCIe interface is generated by a program controlled using the second function of the PCIe interface.

12. The method of claim 1 , wherein the communicating with the operating system provides terminal access to the operating system.

13. A device comprising:

a PCIe interface;

a device functionality;

a device controller configured to;

control the device functionality; and

communicate, based on a first function identifier, using a first function of the PCIe interface, wherein the first function of the PCIe interface communicates as a first logical device; and

a processor configured to:

run an operating system;

run a first program on the operating system, wherein the first program is configured to perform a computation on data stored at the device; and

run a second program on the operating system, wherein the second program is configured to monitor a performance of the first program;

wherein the first program is configured to communicate using the first function of the PCIe interface; and

wherein the second program is configured to communicate, based on a second function identifier, using a second function of the PCIe interface, wherein the second function of the PCIe interface communicates as a second logical device.

14. The device of claim 13 , further comprising a buffer configured to:

store output data associated with the second function of the PCIe interface; and

send the output data using the second function of the PCIe interface.

15. The device of claim 14 , wherein the operating system comprises communication logic configured to communicate using the second function of the PCIe interface.

16. A system comprising:

a device comprising:

a PCIe interface;

a device functionality;

a device controller configured to control the device functionality, and communicate, based on a first function identifier, using a first function of the PCIe interface, wherein the first function of the PCIe interface communicates as a first logical device; and

a device processor configured to run an operating system configured to communicate, based on a second function identifier, using a second function of the PCIe interface, wherein the second function of the PCIe interface communicates as a second logical device; and

at least one host comprising at least one host processor configured to:

communicate, based on the first function identifier, using the first function of the PCIe interface, with the device; and

communicate, based on the second function identifier, using the second function of the PCIe interface, with the operating system;

wherein the device processor is further configured to:

run a first program on the operating system, wherein the first program is configured to communicate using the first function of the PCIe interface and perform a computation on data stored at the device; and

run a second program on the operating system, wherein the second program is configured to communicate using the second function of the PCIe interface and monitor a performance of the first program.

17. The system of claim 16 , wherein the at least one host comprises:

a first host comprising a first one of the at least one host processor configured to communicate, using the first function of the PCIe interface, with the device; and

a second host comprising a second one of the at least one host processor configured to communicate, using the second function of the PCIe interface, with the operating system.

18. The system of claim 17 , wherein the first host comprises a management controller.

19. The system of claim 16 , wherein the at least one host processor is configured to provide communication between the operating system and a user using a remote access protocol.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2023
From: PANDURANGAN, RAJINIKANTH; CHOI, CHANGHO; KI, YANG SEOK; RYU, SUNGWOOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 064569/0654 →
Continuity (2)
Provisional Application 63255946 · Oct 14, 2021
Related Publication 20230123082A1 · Apr 20, 2023
Cited By (2)
US 12,298,921 US 12,353,342