IP Library › Granted Patent US 12,298,931
Granted Patent B2
US 12,298,931 · App. 18/323,819 · Granted May 13, 2025

Host device communicating with electronic device and communication method of host device

Inventor: Kyungsik Kim (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F13/4282G06F13/382G06F2213/0042
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,931
App. No.
18/323,819
Granted
May 13, 2025
Kind
B2
Abstract

An example host device for communicating with an electronic device includes a plurality of communication interfaces including a plurality of universal serial bus (USB) host controllers to communicate with the electronic device through a plurality of USB buses; a memory; and a processor. The processor is configured to obtain, from the plurality of USB host controllers, information about a plurality of physical endpoints that each of the plurality of USB host controllers uses for communication, configure one or more logical endpoints, based on the information about the plurality of physical endpoints, and perform communication with the electronic device through the plurality of physical endpoints of the plurality of USB host controllers by controlling the plurality of USB host controllers through the logical endpoints.

Claims (53)

1. A host device for communicating with an electronic device, the host device comprising:

a plurality of communication interfaces comprising a plurality of universal serial bus (USB) host controllers for communicating with the electronic device through a plurality of USB buses;

memory storing one or more instructions; and

at least one processor including processing circuitry,

wherein the one or more instructions, when executed, configure the at least one processor to individually or collectively cause the host device to perform operations comprising:

obtaining, from the plurality of USB host controllers, information about a plurality of physical endpoints that each of the plurality of USB host controllers uses for communication;

configuring one or more logical endpoints, based on the information about the plurality of physical endpoints, wherein the logical endpoints are configured such that at least one logical endpoint is mapped to the plurality of physical endpoints including at least one physical endpoint that each of two or more different USB host controllers uses; and

performing communication with the electronic device through the plurality of physical endpoints of the plurality of USB host controllers by controlling the plurality of USB host controllers through the logical endpoints,

wherein the one or more logical endpoints are configured with a number of logical endpoints different from the plurality of physical endpoints, based on the information about the plurality of physical endpoints.

2. The host device of claim 1 ,

wherein the plurality of USB host controllers and one predetermined application can communicate with each other through the logical endpoints, and

wherein the one or more instructions, when executed, configure the at least one processor individually or collectively to cause the host device to perform operations comprising:

combining data respectively received from the plurality of USB host controllers through the plurality of physical endpoints with each other and transmit a result of the combining to the predetermined application through the logical endpoints; or

multiplexing data received from the predetermined application through the logical endpoints and transmitting a result of the multiplexing to the plurality of USB host controllers through the plurality of physical endpoints.

3. The host device of claim 2 , wherein

the predetermined application comprises a main driver configured to control communication according to a USB protocol, and

the instructions, when executed, configure the at least one processor to cause the electronic device to perform operations comprising configuring the logical endpoints, based on the information about the plurality of physical endpoints, and control a gadget driver so that the plurality of USB host controllers communicate with the main driver through the logical endpoints, so that the main driver operates as if communicating with the electronic device through one USB bus.

4. The host device of claim 1 , wherein the one or more instructions, when executed, configured the at least one processor individually or collectively to perform operations comprising:

identifying the plurality of USB host controllers connected to the electronic device through the plurality of USB buses, and

obtaining, from the identified plurality of USB host controllers, information about at least one physical endpoint that each of the plurality of USB host controllers uses for communication.

5. The host device of claim 1 , wherein the information about the plurality of physical endpoints comprises information about a number of at least one endpoint, a data transmission direction of the at least one endpoint, and a transmission type of the at least one endpoint, used for communication by each of the plurality of USB host controllers.

6. The host device of claim 1 , wherein, when configuring the logical endpoints, based on the information about the plurality of physical endpoints, the instructions, when executed, configure the at least one processor individually or collectively to cause the electronic device to perform operations comprising configuring the logical endpoints such that physical endpoints having same transmission directions and same transmission types among the physical endpoints used by the two or more different USB host controllers are mapped to one logical endpoint.

7. The host device of claim 1 , wherein

the plurality of USB host controllers respectively assign frame numbers to data output through one or more physical endpoints at predetermined time intervals, and

the instructions, when executed, configure the at least one processor individually or collectively to cause the electronic device to perform operations comprising:

obtaining a frame number difference between data respectively received from the plurality of USB host controllers;

correcting the frame numbers assigned to the data respectively received from the plurality of USB host controllers, based on the frame number difference; and

combining the data respectively received through the physical endpoints of the plurality of USB host controllers with each other and output a result of the combining to the logical endpoints, according to a sequence determined based on the corrected frame numbers.

8. The host device of claim 1 , wherein the instructions, when executed, configure the at least one processor to cause the electronic device to perform operations comprising:

receiving data including a plurality of packets from the electronic device through each of the plurality of USB host controllers, obtaining frame numbers assigned to the data from Start Of Frame (SoF) packets included in the plurality of packets at predetermined time intervals, and obtaining, from data packets included between the SoF packets, information about one or more physical endpoints to which the data packets are transmitted; and

arranging and outputting the data packets, based on the frame numbers, through a logical endpoint to which the one or more physical endpoints are mapped.

9. The host device of claim 1 , wherein the instructions, when executed, configure the at least one processor to individually or collectively cause the host device to perform operations comprising configuring the one or more logical endpoints according to a transmission bandwidth or an amount of transmission data.

10. A method, performed by a host device, of performing communication with an electronic device, the method comprising:

connecting with the electronic device through a plurality of USB buses;

obtaining information about a plurality of physical endpoints that each of a plurality of USB host controllers connected with the plurality of USB buses uses for communication, from the plurality of USB host controllers;

configuring one or more logical endpoints, based on the information about the plurality of physical endpoints, wherein the logical endpoints are configured such that at least one logical endpoint is mapped to the plurality of physical endpoints including at least one physical endpoint that each of two or more different USB host controllers uses; and

performing communication with the electronic device through the plurality of physical endpoints of the plurality of USB host controllers by controlling the plurality of USB host controllers through the logical endpoints,

wherein the configuring of the one or more logical endpoints comprises configuring a different number of logical endpoints than the plurality of physical endpoints, based on the information about the plurality of physical endpoints.

11. The method of claim 10 , wherein the plurality of USB host controllers and one predetermined application can communicate with each other through the logical endpoints, and

the performing of the communication with the electronic device comprises:

combining data respectively received from the plurality of USB host controllers through the plurality of physical endpoints with each other and transmitting a result of the combining to the predetermined application through the logical endpoints; and

multiplexing data received from the predetermined application through the logical endpoints and transmitting a result of the multiplexing to the plurality of USB host controllers through the plurality of physical endpoints.

12. The method of claim 10 , wherein the obtaining of the information about the plurality of physical endpoints comprises:

identifying the plurality of USB host controllers connected to the electronic device through the plurality of USB buses; and

obtaining, from the identified plurality of USB host controllers, information about at least one physical endpoint that each of the plurality of USB host controllers uses for communication.

13. The method of claim 10 , wherein the information about the plurality of physical endpoints comprises information about a number of at least one endpoint, a data transmission direction of the at least one endpoint, and a transmission type of the at least one endpoint, used for communication by each of the plurality of USB host controllers.

14. The method of claim 10 , wherein the configuring of the logical endpoints comprises configuring the logical endpoints such that physical endpoints having same transmission directions and same transmission types among the physical endpoints used by the two or more different USB host controllers are mapped to one logical endpoint.

15. A non-transitory computer-readable recording medium having stored therein a program, which, when executed by a computer, causes a host device to perform operations for communication with an electronic device, the operations comprising:

connecting with the electronic device through a plurality of USB buses;

obtaining information about a plurality of physical endpoints that each of a plurality of USB host controllers connected with the plurality of USB buses uses for communication, from the plurality of USB host controllers;

configuring one or more logical endpoints, based on the information about the plurality of physical endpoints, wherein the logical endpoints are configured such that at least one logical endpoint is mapped to the plurality of physical endpoints including at least one physical endpoint that each of two or more different USB host controllers uses; and

performing communication with the electronic device through the plurality of physical endpoints of the plurality of USB host controllers by controlling the plurality of USB host controllers through the logical endpoints,

wherein the configuring of the one or more logical endpoints comprises configuring a different number of logical endpoints than the plurality of physical endpoints, based on the information about the plurality of physical endpoints.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2023
From: KIM, KYUNGSIK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 063765/0269 →
Priority Claims (1)
KR 10-2020-0163335 · Nov 27, 2020 · national
Continuity (2)
Continuation PCTKR2021014132 · Oct 13, 2021
Related Publication 20230297536A1 · Sep 21, 2023
References Cited (22)
US 7222201B2 · Augustin et al. · 2007 [cited by applicant]
US 8131890B1 · Bajpai · 2012 [cited by applicant]
US 8578195B2 · Park · 2013 [cited by examiner]
US 9148321B2 · Shin · 2015 [cited by applicant]
US 10164888B2 · Schneider et al. · 2018 [cited by applicant]
US 20090327536A1 · Solomon et al. · 2009 [cited by applicant]
US 20130254263A1 · Kwon et al. · 2013 [cited by applicant]
US 20140280960A1 · Paramasivam · 2014 [cited by examiner]
US 20150026369A1 · Wen et al. · 2015 [cited by applicant]
US 20200112331A1 · Shimura et al. · 2020 [cited by applicant]
CN 103514119A · 2014 [cited by applicant]
JP 2017033588A · 2017 [cited by applicant]
JP 2017059991A · 2017 [cited by applicant]
JP 2018207325A · 2018 [cited by applicant]
JP 2019020851A · 2019 [cited by applicant]
KR 100449080B1 · 2004 [cited by applicant]
KR 101284616B1 · 2013 [cited by applicant]
KR 20130107618A · 2013 [cited by applicant]
KR 20160020539A · 2016 [cited by applicant]
KR 101931566B1 · 2018 [cited by applicant]
KR 102018666B1 · 2019 [cited by applicant]
International Search Report, with the English Translation and Written Opinion of the ISA for PCT/KR2021/014132 mailed Jan. 14, 2022, 13 pages. [cited by applicant]