IP Library Granted Patent US 12,298,921
Granted Patent B2
US 12,298,921 · App. 18/513,490 · Granted May 13, 2025

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)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
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 12,298,921
App. No.
18/513,490
Granted
May 13, 2025
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 (52)

1. A method comprising:

running, at a device, using a processor, a resource controller;

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

running, using the resource controller, a program configured to perform a computation on data stored at the device;

communicating, by at least one host, using a first function of an interconnect interface, with the program, wherein the first function of the interconnect interface communicates as a first logical device; and

communicating, by at least one host, using a second function of the interconnect interface, with a feature of the resource controller, wherein the second function of the interconnect interface communicates as a second logical device;

wherein the feature of the resource controller is configured to determine a performance of the program.

2. The method of claim 1 , wherein:

the resource controller comprises communication logic; and

the communicating with the feature of the resource controller 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 drivers; and

the communicating with the communication logic comprises communicating with the one or more terminal drivers using a terminal application.

4. The method of claim 1 , wherein the communicating with the feature of the resource controller comprises running a terminal application runs on at least one host.

5. The method of claim 1 , wherein the second function of the interconnect interface is configured to operate using the device controller.

6. The method of claim 1 , wherein the communicating with the feature of the resource controller comprises communicating, based on a privilege, with the resource controller.

7. The method of claim 1 , further comprising controlling, using the second function of the interconnect interface, a program running using the resource controller.

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

9. The method of claim 1 , wherein the communicating with the feature of the resource controller comprises storing, by the device, in a buffer, output data associated with the second function of the interconnect interface.

10. The method of claim 9 , wherein the communicating with the feature of the resource controller comprises reading, from the buffer, the output data associated with the second function of the interconnect interface.

11. The method of claim 9 , wherein the buffer comprises a ring buffer.

12. The method of claim 9 , wherein the output data associated with the second function of the interconnect interface is generated by a program controlled using the second function of the interconnect interface.

13. The method of claim 1 , wherein the communicating with the feature of the resource controller provides terminal access to the resource controller.

14. A device comprising:

an interconnect interface;

a device functionality;

at least one control circuit configured to control the device functionality; and

a processor configured to:

operate a resource controller;

run a program using the resource controller, wherein the program is configured to perform a computation using data accessed at the device; and

access a feature of the resource controller, wherein the feature of the resource controller is configured to determine a performance of the program;

wherein the program is configured to communicate using a first function of the interconnect interface, wherein the first function of the interconnect interface communicates as a first logical device; and

wherein the feature of the resource controller is configured to communicate, using a second function of the interconnect interface, wherein the second function of the interconnect interface communicates as a second logical device.

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

store data associated with the second function of the interconnect interface; and

send the data associated with the second function of the interconnect interface using the second function of the interconnect interface.

16. The device of claim 15 , wherein the resource controller comprises communication logic configured to communicate using the second function of the interconnect interface.

17. A system comprising:

a device comprising:

an interconnect interface; and

a device processor configured to operate a resource controller; and

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

communicate, using a first function of the interconnect interface, with the device, wherein the first function of the interconnect interface is configured to communicate as a first logical device; and

communicate, using a second function of the interconnect interface, with the resource controller, wherein the second function of the interconnect interface is configured to communicate as a second logical device;

wherein the device processor is further configured to:

run a program using the resource controller, wherein the program is configured to communicate using the first function of the interconnect interface and perform a computation using data accessed at the device; and

access a feature of the resource controller, wherein the feature of the resource controller is configured to communicate using the second function of the interconnect interface and determine a performance of the program.

18. The system of claim 17 , 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 interconnect 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 interconnect interface, with the resource controller.

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

20. The system of claim 17 , wherein the at least one host processor is configured to provide communication between the resource controller and a user.

Continuity (3)
Continuation 17522899 · Nov 9, 2021
Provisional Application 63255946 · Oct 14, 2021
Related Publication 20240086339A1 · Mar 14, 2024
References Cited (51)
US 6330653B1 · Murray et al. · 2001 [cited by applicant]
US 7984108B2 · Landis et al. · 2011 [cited by applicant]
US 8316156B2 · Rucker · 2012 [cited by applicant]
US 8694891B2 · Kimbuende et al. · 2014 [cited by applicant]
US 9807154B2 · Darling et al. · 2017 [cited by applicant]
US 9811276B1 · Taylor et al. · 2017 [cited by applicant]
US 9923954B2 · Chan et al. · 2018 [cited by applicant]
US 9942900B1 · Liu et al. · 2018 [cited by applicant]
US 10394472B1 · Taylor et al. · 2019 [cited by applicant]
US 10402363B2 · Long et al. · 2019 [cited by applicant]
US 10555435B2 · White · 2020 [cited by applicant]
US 10757251B1 · Matula et al. · 2020 [cited by applicant]
US 10810074B2 · Yu et al. · 2020 [cited by applicant]
US 10831454B2 · Pathak et al. · 2020 [cited by applicant]
US 10834070B1 · Santos · 2020 [cited by applicant]
US 10860511B1 · Thompson et al. · 2020 [cited by applicant]
US 10872007B2 · Brown et al. · 2020 [cited by applicant]
US 10996968B2 · Dong et al. · 2021 [cited by applicant]
US 11216396B2 · Schmisseur et al. · 2022 [cited by applicant]
US 11822490B2 · Pandurangan · 2023 [cited by examiner]
US 20090113430A1 · Riley · 2009 [cited by applicant]
US 20130205063A1 · Zhang et al. · 2013 [cited by applicant]
US 20140372638A1 · Anderson et al. · 2014 [cited by applicant]
US 20160014280A1 · Brunsman et al. · 2016 [cited by applicant]
US 20160072693A1 · Michaelis · 2016 [cited by applicant]
US 20160170790A1 · Anand et al. · 2016 [cited by applicant]
US 20170062070A1 · Moon et al. · 2017 [cited by applicant]
US 20180335971A1 · Borikar · 2018 [cited by applicant]
US 20190155765A1 · Lee et al. · 2019 [cited by applicant]
US 20190171485A1 · Bolkhovitin et al. · 2019 [cited by applicant]
US 20200136906A1 · Bernat et al. · 2020 [cited by applicant]
US 20200356433A1 · Kumar et al. · 2020 [cited by applicant]
US 20200404069A1 · Li et al. · 2020 [cited by applicant]
US 20210141351A1 · Yang et al. · 2021 [cited by applicant]
US 20210200703A1 · Simionescu et al. · 2021 [cited by applicant]
US 20210373950A1 · Sathaye et al. · 2021 [cited by applicant]
US 20240086339A1 · Pandurangan · 2024 [cited by examiner]
CN 109564558A · 2019 [cited by applicant]
CN 109643299A · 2019 [cited by applicant]
CN 112214277A · 2021 [cited by applicant]
EP 1580569A1 · 2005 [cited by applicant]
Anonymous, “Efficient IO With io_uring”, Apr. 2019, 16 pages. [cited by applicant]
Corbet, Jonathan et al. “Debugging Techniques,” Linux Device Drivers: (Where the Kernel Meets the Hardware), XP093020560, 2005, 33 pages. [cited by applicant]
European Extended Search Report for Application No. 22201058.9, mailed Feb. 16, 2023. [cited by applicant]
European Office Action for Application No. 22201058.9, mailed Feb. 14, 2024. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/522,899, mailed Mar. 16, 2023. [cited by applicant]
Li, Peng et al., “Design of a Storage Processing Unit”, 2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT), 2012, 1 page. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/522,899, mailed Jul. 12, 2023. [cited by applicant]
Office Action for U.S. Appl. No. 17/522,899, mailed Sep. 2, 2022. [cited by applicant]
Wikipedia, “Circular Buffer,” Oct. 2021, 5 pages. [cited by applicant]
Wikipedia, “Firmware,” XP093020916, 2021, 6 pages. [cited by applicant]