This application claims the benefit of Taiwan application Serial No. 100101832, filed Jan. 18, 2011, the subject matter of which is incorporated herein by reference.
1. Field of the Invention
The invention relates to a bus host controller and, more particularly, to a bus host controller for electronic devices.
2. Description of the Related Art
Electronic systems, such as computer systems, are very important in modern information society. Various electronic devices are integrated into the electronic system, and different electronic devices are coupled together via buses to transfer data and cooperate with each other. For example, a host and peripheral devices in the computer system are different devices and they may be coupled to each other via buses of universal serial bus (USB) specification.
In order to manage data transferring at the bus, a bus host controller is disposed at the host electronic device, and other electronic devices can be regarded as terminal devices of the bus. The bus host controller manages the data transferring sequence in unit of a frame interval. Data transferred from the host electronic device to other electronic devices are carried in data packets and the data packets are sent out in the frame interval of the sequence.
The terminal devices can be divided into periodic terminal devices and non-periodic terminal devices according to functions and operation features. The periodic terminal devices keep a periodic synchronized transferring with the bus host controller. For example, the periodic terminal devices may be multi-media relating devices (such as music or video players or recorders), and they need to receive media data from the host electronic device periodically to keep smooth play of the multi-media. Moreover, a bus hub is also a periodic terminal device. Some terminal devices focus on precision of data transferring, and they are the non-periodic terminal devices. Various non-volatile peripher storage aldevices, such as an external hardware drive, an optical disk drive, a flash memory or a card reader, are the non-periodic terminal devices.
Conventionally, the bus host controller transfers start-of-frame (SOF) packets periodically according to a constant frame period (such as 125 μs, 1 μs equals to one millionth of one second), and each of the SOF packets indicates a boundary of a frame interval. The SOF packet can be regarded as a synchronization reference point for the periodic terminal device. Furthermore, the bus host controller uses the SOF packet to detect whether the terminal device is removed and not coupled to the bus. When the bus host controller transfers the SOF packet to the terminal device, if a strong reflection is received, it means the terminal device is removed. The SOF packet also can prevent the terminal device from entering a suspend state.
In contrast to the data packet which carries data, the SOF packet is only used for link management of the bus, and it does not carry data. Thus, the SOF packet transferring affects the data packet transferring, and they are exclusive to each other. In conventional technology, no matter the terminal device is a periodic device or not, when the SOF packet transferring has collision with the data packet transferring, the bus host controller transfers the SOF packet in priority. That means, when an SOF packet is to be sent at a time point “t”, any data packet transferring which spans the time point “t” is delayed (or canceled), so as to transfer the SOF packet in priority. As a result, efficiency of the data packet transferring is affected and bandwidth utilization rate of the bus is decreased.
A bus host controller is coupled to a first terminal device via a bus, and the bus host controller includes a timing module and an arbitration module. The timing module generates an SOF packet transferring request according to a frame period. The arbitration module is coupled to the timing module and receives a data packet transferring request. If the first terminal device is a non-periodic device, the arbitration module places a higher priority on the data packet transferring request than the SOF packet transferring request.
A method applied to the bus host controller is provided. The bus host controller is coupled to a plurality of terminal devices via a bus, and the method includes generating an SOF packet transferring request according to a frame period, and placing a higher priority on a data packet transferring request than the SOF packet transferring request if the plurality of terminal devices are non-periodic devices.
If the terminal devices coupled to the bus do not include any periodic devices, the arbitration module places a higher prior on the data packet transferring request than the SOF packet transferring request. On the contrary, if the terminal devices include a periodic device, the arbitration module places a higher prior on the SOF packet transferring request than the data packet transferring request. Thus, speed of data transferring can be increased.
These and other features, aspects and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings.
In the bus host controller 10, the detecting module 12 is used to detect whether a periodic device is coupled to the bus 20 and transfers the detecting result to the arbitration module 16. For example, if terminal devices 22 or 23 belong to a periodic device, the detecting module 12 checks that the terminal devices 22 and 23 need to keep a periodic synchronized transferring with the bus host controller 10.
When the bus host controller 10 transfers data to the terminal device 22, the data to be transferred, such as temporary data D(a), D(b) and D(c) in
The timing module 18 generates an SOF (SOF packet in
Conventionally, if the timing module 18 calculates and gets that the remaining time in the frame period is not enough for transferring the data packet DP(b), the arbitration module delays the data packet DP(b) transferring to transfer the SOF packet in priority before the frame period ends and indicate start of the next frame period.
However, in the embodiment, the arbitration module 16 determines whether to transfer the SOF packet in priority according to the detecting result of the detecting module 12. If the terminal devices 22 and 23 coupled to the bus do not include any periodic devices, the arbitration module 16 ignores the calculating result of the timing module 18 and transfers the data packet DP(b) in priority. After the data packet DP(b) is transferred, the SOF packet is transferred. That means, if the terminal devices (such as the terminal devices 22 and 23 in
If the terminal devices (such as the terminal devices 22 and 23 in
In contrast to the sequence 24a, if the terminal device 22 is a non-periodic device, the bus host controller 10 operates according to the sequence 24b. For example, after the SOF packet SOF(1) starts a frame interval, the data packets DP(1) to DP(4) are transferred in sequence. After the data packet DP(4) is transferred, the data packet DP(5) of the data module 14 waits to be transferred, but the SOF packet SOF(2) of the timing module 18 also waits to be transferred, so the two transferring requests collide to each other. However, since the terminal device 22 is a non-periodic device, the arbitration module 16 transfers the data packet DP(5) in priority, and then transfers the SOF packet SOF(2). Thus, the time interval Tr is not wasted in waiting for the transferring of the SOF packet SOF(2), and the bandwidth utilization rate of the bus is improved. The time interval between the SOF packets SOF(1) and SOF(2) may not equal to the frame period T.
In the sequence 24b, if after an SOF packet SOF(n) is transferred, no data packet transferring has collision with the next SOF packet SOF(n+1) after the frame period T, the SOF packet SOF(n+1) is transferred after the frame period T. That is, the time interval between the SOF packets SOF(n) and SOF(n+1) may equal to the frame period T.
Comparing the transferring of the data packets DP(1) to DP(10) in the sequence 24a and that in the sequence 24b, the sequence 24b shortens the data transferring time effectively and improves the bandwidth utilization rate of the bus.
Step 102: detecting whether the terminal devices (the terminal devices 22 and 23 in
Step 104: if the terminal devices (the terminal devices 22 and 23 in
Step 106: in order to keep the periodic synchronization between the periodic device and the bus host controller, the SOF packet transferring is prior to the data packet transferring.
Step 108: since the terminal devices (the terminal devices 22 and 23 in
In sum, adaptive operations are executed according to whether the terminal devices coupled to the bus include any periodic devices. For the periodic device, the periodic synchronization is kept, and for the non-periodic device, the bandwidth utilization rate and efficiency of data transferring are improved. The time interval between the two SOF packets may not equal to the frame period, but the SOF packet transferring goes on. Thus, the bus host controller can detect whether the terminal device is removed via the SOF packet and prevent the terminal device from entering a suspend state.
Although the present invention has been described in considerable detail with reference to certain preferred embodiments thereof, the disclosure is not for limiting the scope. Persons having ordinary skill in the art may make various modifications and changes without departing from the scope. Therefore, the scope of the appended claims should not be limited to the description of the preferred embodiments described above.
Number | Date | Country | Kind |
---|---|---|---|
100101832 A | Jan 2011 | TW | national |
Number | Name | Date | Kind |
---|---|---|---|
6092142 | Mehta et al. | Jul 2000 | A |
6199132 | Hewitt et al. | Mar 2001 | B1 |
6542947 | Buhring | Apr 2003 | B1 |
6801959 | Crutchfield et al. | Oct 2004 | B1 |
7725610 | Hosokawa | May 2010 | B2 |
20010018730 | Toshitani et al. | Aug 2001 | A1 |
20030236932 | Saito et al. | Dec 2003 | A1 |
20050080935 | Fukae et al. | Apr 2005 | A1 |
20050169356 | Matsumoto et al. | Aug 2005 | A1 |
20060156348 | Tanabe | Jul 2006 | A1 |
20070081453 | Hsu et al. | Apr 2007 | A1 |
20100077061 | Hsueh et al. | Mar 2010 | A1 |
Number | Date | Country |
---|---|---|
2008251024 | Jan 2013 | AU |
101968779 | Feb 2011 | CN |
102063402 | May 2011 | CN |
101711051 | May 2012 | CN |
202904429 | Apr 2013 | CN |
2004328262 | Nov 2004 | JP |
100304949 | Jul 2001 | KR |
2008085240 | Jul 2008 | WO |
Entry |
---|
Thanasorravit, A.; Charoenpanitkit, A.; Wuttisittikulkij, Lunchakorn, “Performance of dynamic frame reservation multiple access-dynamic permission (DFRMA-DP) protocol for integrated voice and data service in wireless communication systems,” Vehicular Technology Conference, 2001. VTC 2001 Spring. IEEE VTS 53rd , vol. 3, pp. 2113,2117 vol. 3, 2001. |
DongSan Jun; HyunWook Park, “An Efficient Priority-Based Reference Frame Selection Method for Fast Motion Estimation in H.264/AVC,” Circuits and Systems for Video Technology, IEEE Transactions on , vol. 20, No. 8, pp. 1156,1161, Aug. 2010. |
Saitoh, K.; Inoue, Y.; Iiuka, A.; Morikura, M., “An effective data transfer method by integrating priority control into multirate mechanisms for IEEE 802.11 wireless LANs,” Vehicular Technology Conference, 2002. VTC Spring 2002. IEEE 55th, vol. 1, pp. 55,59 vol. 1, 2002. |
Kaye, A.R.; Zhang, S., “Congestion control in integrated voice-data frame relay networks and the case for embedded coding,” Global Telecommunications Conference, 1994. GLOBECOM '94. Communications: The Global Bridge., IEEE , vol. 3, pp. 1565,1570 vol. 3, Nov. 28-Dec. 2, 1994. |
Number | Date | Country | |
---|---|---|---|
20120185627 A1 | Jul 2012 | US |