US20050033876A1 - Method for guaranteeing a device minimum bandwidth on a USB bus - Google Patents

Method for guaranteeing a device minimum bandwidth on a USB bus Download PDF

Info

Publication number
US20050033876A1
US20050033876A1 US10/940,081 US94008104A US2005033876A1 US 20050033876 A1 US20050033876 A1 US 20050033876A1 US 94008104 A US94008104 A US 94008104A US 2005033876 A1 US2005033876 A1 US 2005033876A1
Authority
US
United States
Prior art keywords
usb
bandwidth
driver
filter
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/940,081
Inventor
David Hanes
John Main
Stephen Bayless
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US10/940,081 priority Critical patent/US20050033876A1/en
Publication of US20050033876A1 publication Critical patent/US20050033876A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver

Definitions

  • This invention relates generally to the Universal Serial Bus (USB) and more particularly to ensuring that a minimum amount of bandwidth is allocated to a particular device.
  • USB Universal Serial Bus
  • USB Universal Serial Bus
  • PC personal computer
  • USB telecommunication industry companies
  • USB allows computer peripherals to be automatically configured as soon as they are physically attached. This eliminates the need to reboot or run setup software.
  • USB also allows multiple devices to run simultaneously on a computer, with dedicated hubs and peripherals such as monitors and keyboards also acting as additional plug-in sites.
  • USB 2.0 which is intended to be fully compatible with USB 1.1 and extend performance by up to 40 times over existing capabilities and use the same cables and connectors.
  • USB is implemented as a “shared” bus.
  • a writeable compact disc drive such as a CD-R or CD-RW drive
  • a disc-at-once recording mode recording never stops until the entire disc has been created.
  • track-at-once recording only stops at track boundaries.
  • the limited availability of stopping times during recording can cause a problem called “buffer underrun.”
  • a buffer underrun occurs when the host computer or bus cannot supply data to the drive at a rate at least equal to the speed that the drive is writing data to the media.
  • a drive capable of “4 ⁇ ” write speed it can write data to the media at 600 kilobytes per second (KB/sec). Therefore, the host computer, and the bus connecting the computer to the drive, must be able to sustain a 600 KB/sec data transfer rate to the drive or the drive would require a data buffer that is too large to be practical. If the host computer and bus cannot sustain a 600 KB/sec data transfer rate, then the drive may run out of data when it is not a valid stopping point. This will cause an error to occur and may ruin the media being written.
  • drives or other devices with these type of limitations When drives or other devices with these type of limitations are connected to a USB bus, they may be writing some media in one of the modes discussed above. If the user begins using another device on the USB bus, the bandwidth available for the drive is reduced. If this reduction in bandwidth is large enough, the bandwidth allocated to the drive may not be enough to maintain the necessary sustained data transfer rate to the drive and a buffer underrun error may occur.
  • the invention provides a minimum sustained data transfer rate to a chosen device connected to a USB bus.
  • a set of filter drivers are inserted in the driver stacks for at least two USB devices. These filter drivers are controlled by a filter driver controller that provides and receives information from the filter drivers.
  • the filter driver for that device notifies the filter driver controller.
  • the filter driver controller then instructs the filter drivers for at least one other device to start interfering with USB transactions.
  • This interference may be to temporarily delay one or more transactions to one or more of the other devices until more bandwidth is available. This interference may also take the form of intercepting transactions from one or more of the other devices and returning an error condition.
  • This interference may also be implemented by signaling the host computer that one or more of the other devices is disconnected from the USB bus. Then when the non-interfered with device no longer needs the minimum sustained data rate, the host computer is signaled that the device has been reconnected. This interference prevents the interfered with devices from using any of the USB bus bandwidth thereby providing a minimum sustained bandwidth to the non-interfered with device.
  • FIG. 1 is an illustration of devices connected to a USB bus including a device that may need guaranteed minimum bandwidth.
  • FIG. 2 is an illustration of a set of USB driver stacks that guarantee minimum bandwidth to a chosen device.
  • FIG. 3 is a flowchart illustrating steps taken to guarantee minimum bandwidth to a chosen device.
  • FIG. 1 is an illustration of devices connected to a USB bus including a device that may need guaranteed minimum bandwidth.
  • Computer 102 acts as the USB host and also as a hub.
  • a first USB port of computer 102 is connected to keyboard/hub 108 .
  • Keyboard/hub 108 has USB hub functionality so multiple USB devices are connected to the ports of keyboard/hub 108 .
  • the devices connected to the USB ports on keyboard/hub 108 are speaker 104 , speaker 106 , and mouse 110 .
  • a second USB port of computer 102 is connected to laser printer/hub device 112 .
  • Optical drive/hub device 114 is connected to a USB port on laser printer/hub device 112 .
  • a modem 116 is connected to a USB port on optical drive/hub device 114 .
  • optical drive/hub 114 may be performing a disc-at-once write operation. If this is the case, and optical drive/hub 114 writes at 600 KB/sec, it will need at least that amount of bandwidth on the USB bus to avoid buffer underrun.
  • filter drivers are inserted into the USB driver stacks running on computer 102 . These filter drivers are controlled by a filter controller that provides and receives information from the filter drivers.
  • FIG. 2 is an illustration of a set of USB driver stacks that guarantee minimum bandwidth to a chosen device.
  • the first driver stack shown comprises USB driver 210 , bandwidth filter driver 220 , and USB driver 230 .
  • USB driver 210 communicates with bandwidth filter driver 220 .
  • Bandwidth filter driver 220 also communicates with USB driver 230 .
  • USB driver 230 also communicates with bus driver 240 .
  • Information on how to construct a filter driver is given in chapter 30 of Developing Windows NT Device Drivers: a programmer 's handbook by Edward N. Dekker, Addison Wesley Longman, Inc., copyright 1999, which is hereby incorporated herein by reference. This book also contains useful information on the operation of USB and other device drivers. In particular, chapter 29 relates to the Universal Serial Bus and is therefore hereby incorporated herein by reference.
  • the second driver stack is the driver stack corresponding to the device that needs a minimum amount of bandwidth. In the case discussed above, this would be the driver stack that is associated with optical drive/hub 114 .
  • the second driver stack shown comprises USB driver 212 , chosen device filter driver 222 , and USB driver 232 .
  • USB driver 212 communicates with chosen device filter driver 222 .
  • Chosen device filter driver 222 also communicates with USB driver 232 .
  • USB driver 232 also communicates with bus driver 240 .
  • the third driver stack shown comprises USB driver 214 , bandwidth filter driver 224 , and USB driver 234 .
  • USB driver 214 communicates with bandwidth filter driver 224 .
  • Bandwidth filter driver 224 also communicates with USB driver 234 .
  • USB driver 234 also communicates with bus driver 240 .
  • the fourth driver stack shown comprises USB driver 216 , bandwidth filter driver 226 , and USB driver 236 .
  • USB driver 216 communicates with bandwidth filter driver 226 .
  • Bandwidth filter driver 226 also communicates with USB driver 236 .
  • USB driver 236 also communicates with bus driver 240 .
  • Bandwidth filter drivers 220 , 224 , and 226 all communicate with and are controlled by bandwidth filter controller 202 .
  • Bandwidth filter controller 202 also communicates with and controls chosen device filter controller 222 .
  • FIG. 3 is a flowchart illustrating steps taken to guarantee minimum bandwidth to a chosen device.
  • the system is initialized by inserting bandwidth filter drivers, a chosen device filter driver or drivers, and a bandwidth filter controller into the operating system driver stacks.
  • all the filter drivers and the filter driver controller wait for an operation requiring minimum bandwidth. While they wait, the filter drivers operate normally and communicate with the other USB drivers without interfering with the flow of communications between these drivers.
  • a chosen device filter driver controller reports that need to the bandwidth filter controller in a step 306 .
  • the bandwidth filter controller could determine itself that a minimum sustained bandwidth is required and notifies the filter drivers.
  • an application program such as a CD mastering application determines that a minimum sustained bandwidth is needed and the application program reports that need to the bandwidth filter controller directly for relay to the filter drivers.
  • the bandwidth filter controller instructs one or more bandwidth filter drivers to interfere with transactions. This interference prevents at least some bus traffic from actually reaching the USB bus. By reducing this traffic, it guarantees that a minimum bandwidth is available for the chosen device. The number of devices that would have their transactions reduced, or blocked, would depend upon how much bandwidth the various devices are using.
  • One embodiment of the present invention guarantees minimum bandwidth for the chosen device by interfering with a predetermined set of the other devices on the USB bus. For example, all of the devices except for the keyboard and mouse may be interfered with. This would guarantee most of the available bandwidth to the chosen device because keyboards and mice generally do not use much bandwidth and it is desirable that the devices continue to function at all times.
  • the interference takes the form of reporting back to the system that a device has been disconnected from the bus. This “virtual disconnection” takes place only in the driver stacks and is accomplished by the bandwidth filter controllers reporting a disconnect condition even though one does not actually exist. Since the higher level USB drivers and the system then believe that the device is no longer present, they will stop trying to send information to that device across the USB bus.
  • interference that may be used are to temporarily delay one or more transactions to one or more of the other devices until more bandwidth is available.
  • Another form of interference that may be used takes the form of intercepting transactions from one or more of the other devices and returning an error condition.
  • the bandwidth filter controllers continue to interfere with USB transactions until the minimum bandwidth operation is complete. During this waiting period, the chosen device filter controller continues to pass transactions between USB drivers in a normal manner. This allows the chosen device to use all of the available bandwidth on the USB bus.
  • the bandwidth filter driver controller instructs the bandwidth filter drivers to resume normal operation.
  • the bandwidth filter drivers would then signal the system that the devices are reconnected and need to be reset. The system would then take appropriate action to restore these devices to normal operation. After this step, the system would return to step 304 and wait for another operation that requires minimum bandwidth.
  • the invention provides a novel and advantageous way of guaranteeing minimum bandwidth on a USB bus.
  • This system may be configured to provide some bandwidth to mission critical devices if there is bandwidth to spare, or may use a dynamic approach that only interferes with devices that are using too much bandwidth, either alone or in combination, to coexist with the minimum bandwidth operation.
  • this invention may be implemented entirely in software and can be made transparent to both the operating system and the other device drivers.

Abstract

A method of guaranteeing a minimum sustained data transfer rate to a chosen device connected to a USB bus. A set of filter drivers are inserted in the driver stacks for at least two USB devices. These filter drivers are controlled by a filter driver controller that provides and receives information from the filter drivers. When a particular device needs a minimum sustained bandwidth for a transaction, the filter driver for that device notifies the filter driver controller. The filter driver controller then instructs the filter drivers for at least one other device to start interfering with USB transactions. This interference prevents the interfered with devices from using any of the USB bus bandwidth thereby providing a minimum sustained bandwidth to the non-interfered with device.

Description

    FIELD OF THE INVENTION
  • This invention relates generally to the Universal Serial Bus (USB) and more particularly to ensuring that a minimum amount of bandwidth is allocated to a particular device.
  • BACKGROUND OF THE INVENTION
  • The Universal Serial Bus (USB) is a peripheral bus specification developed by personal computer (PC) and telecommunication industry companies that brings the plug and play features of computer peripherals outside the PC box. This eliminates the need to install cards into dedicated computer slots and reconfigure the system. Personal computers equipped with USB allow computer peripherals to be automatically configured as soon as they are physically attached. This eliminates the need to reboot or run setup software. USB also allows multiple devices to run simultaneously on a computer, with dedicated hubs and peripherals such as monitors and keyboards also acting as additional plug-in sites.
  • The Universal Serial Bus is defined in the Universal Serial Bus Specification, revision 1.1, Sep. 23, 1998 which is hereby incorporated herein by reference. This document is available from the USB Implementers Forum web page at http://www.usb.org. Also under development is USB 2.0 which is intended to be fully compatible with USB 1.1 and extend performance by up to 40 times over existing capabilities and use the same cables and connectors.
  • USB is implemented as a “shared” bus. In other words, there can be multiple active devices connected to the USB bus with each active device getting a portion of the total available USB bandwidth. Unfortunately, this characteristic can cause problems with some types of devices. For example, a writeable compact disc drive, such as a CD-R or CD-RW drive, may use disc-at-once or track-at-once recording modes. In a disc-at-once recording mode, recording never stops until the entire disc has been created. In track-at-once, recording only stops at track boundaries. The limited availability of stopping times during recording can cause a problem called “buffer underrun.” A buffer underrun occurs when the host computer or bus cannot supply data to the drive at a rate at least equal to the speed that the drive is writing data to the media. To illustrate, if a drive capable of “4×” write speed, it can write data to the media at 600 kilobytes per second (KB/sec). Therefore, the host computer, and the bus connecting the computer to the drive, must be able to sustain a 600 KB/sec data transfer rate to the drive or the drive would require a data buffer that is too large to be practical. If the host computer and bus cannot sustain a 600 KB/sec data transfer rate, then the drive may run out of data when it is not a valid stopping point. This will cause an error to occur and may ruin the media being written.
  • When drives or other devices with these type of limitations are connected to a USB bus, they may be writing some media in one of the modes discussed above. If the user begins using another device on the USB bus, the bandwidth available for the drive is reduced. If this reduction in bandwidth is large enough, the bandwidth allocated to the drive may not be enough to maintain the necessary sustained data transfer rate to the drive and a buffer underrun error may occur.
  • Accordingly, there is a need in the art for a method and apparatus that guarantees a minimum data transfer rate across a USB bus to and from certain devices. It is desirable that such method and apparatus be easy to implement from a user's point of view. It is also desirable that such method and apparatus work with devices that conform to the USB device specifications so that existing and future devices and existing and future USB busses do not need to be redesigned or altered.
  • SUMMARY OF THE INVENTION
  • In a preferred embodiment, the invention provides a minimum sustained data transfer rate to a chosen device connected to a USB bus. A set of filter drivers are inserted in the driver stacks for at least two USB devices. These filter drivers are controlled by a filter driver controller that provides and receives information from the filter drivers. When a particular device needs a minimum sustained bandwidth for a transaction, the filter driver for that device notifies the filter driver controller. The filter driver controller then instructs the filter drivers for at least one other device to start interfering with USB transactions. This interference may be to temporarily delay one or more transactions to one or more of the other devices until more bandwidth is available. This interference may also take the form of intercepting transactions from one or more of the other devices and returning an error condition. This interference may also be implemented by signaling the host computer that one or more of the other devices is disconnected from the USB bus. Then when the non-interfered with device no longer needs the minimum sustained data rate, the host computer is signaled that the device has been reconnected. This interference prevents the interfered with devices from using any of the USB bus bandwidth thereby providing a minimum sustained bandwidth to the non-interfered with device. Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is an illustration of devices connected to a USB bus including a device that may need guaranteed minimum bandwidth.
  • FIG. 2 is an illustration of a set of USB driver stacks that guarantee minimum bandwidth to a chosen device.
  • FIG. 3 is a flowchart illustrating steps taken to guarantee minimum bandwidth to a chosen device.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • FIG. 1 is an illustration of devices connected to a USB bus including a device that may need guaranteed minimum bandwidth. Computer 102 acts as the USB host and also as a hub. A first USB port of computer 102 is connected to keyboard/hub 108. Keyboard/hub 108 has USB hub functionality so multiple USB devices are connected to the ports of keyboard/hub 108. The devices connected to the USB ports on keyboard/hub 108 are speaker 104, speaker 106, and mouse 110. A second USB port of computer 102 is connected to laser printer/hub device 112. Optical drive/hub device 114 is connected to a USB port on laser printer/hub device 112. Finally, a modem 116 is connected to a USB port on optical drive/hub device 114.
  • As discussed above, one of these devices may need a guaranteed minimum bandwidth to function properly. For example, optical drive/hub 114 may be performing a disc-at-once write operation. If this is the case, and optical drive/hub 114 writes at 600 KB/sec, it will need at least that amount of bandwidth on the USB bus to avoid buffer underrun. To guarantee this minimum amount of bandwidth, filter drivers are inserted into the USB driver stacks running on computer 102. These filter drivers are controlled by a filter controller that provides and receives information from the filter drivers.
  • FIG. 2 is an illustration of a set of USB driver stacks that guarantee minimum bandwidth to a chosen device. There is a USB driver stack corresponding to each device that is connected to the USB bus. The first driver stack shown comprises USB driver 210, bandwidth filter driver 220, and USB driver 230. USB driver 210 communicates with bandwidth filter driver 220. Bandwidth filter driver 220 also communicates with USB driver 230. USB driver 230 also communicates with bus driver 240. Information on how to construct a filter driver is given in chapter 30 of Developing Windows NT Device Drivers: a programmer 's handbook by Edward N. Dekker, Addison Wesley Longman, Inc., copyright 1999, which is hereby incorporated herein by reference. This book also contains useful information on the operation of USB and other device drivers. In particular, chapter 29 relates to the Universal Serial Bus and is therefore hereby incorporated herein by reference.
  • The second driver stack is the driver stack corresponding to the device that needs a minimum amount of bandwidth. In the case discussed above, this would be the driver stack that is associated with optical drive/hub 114. The second driver stack shown comprises USB driver 212, chosen device filter driver 222, and USB driver 232. USB driver 212 communicates with chosen device filter driver 222. Chosen device filter driver 222 also communicates with USB driver 232. USB driver 232 also communicates with bus driver 240. The third driver stack shown comprises USB driver 214, bandwidth filter driver 224, and USB driver 234. USB driver 214 communicates with bandwidth filter driver 224. Bandwidth filter driver 224 also communicates with USB driver 234. USB driver 234 also communicates with bus driver 240. The fourth driver stack shown comprises USB driver 216, bandwidth filter driver 226, and USB driver 236. USB driver 216 communicates with bandwidth filter driver 226. Bandwidth filter driver 226 also communicates with USB driver 236. USB driver 236 also communicates with bus driver 240.
  • Bandwidth filter drivers 220, 224, and 226 all communicate with and are controlled by bandwidth filter controller 202. Bandwidth filter controller 202 also communicates with and controls chosen device filter controller 222.
  • FIG. 3 is a flowchart illustrating steps taken to guarantee minimum bandwidth to a chosen device. In a step 302, the system is initialized by inserting bandwidth filter drivers, a chosen device filter driver or drivers, and a bandwidth filter controller into the operating system driver stacks. After this initialization, in a step 304, all the filter drivers and the filter driver controller wait for an operation requiring minimum bandwidth. While they wait, the filter drivers operate normally and communicate with the other USB drivers without interfering with the flow of communications between these drivers. When an operation is requested that needs minimum bandwidth, a chosen device filter driver controller reports that need to the bandwidth filter controller in a step 306. Alternatively, the bandwidth filter controller could determine itself that a minimum sustained bandwidth is required and notifies the filter drivers. Another alternative is that an application program, such as a CD mastering application, determines that a minimum sustained bandwidth is needed and the application program reports that need to the bandwidth filter controller directly for relay to the filter drivers. In a step 308, after receiving this report, the bandwidth filter controller instructs one or more bandwidth filter drivers to interfere with transactions. This interference prevents at least some bus traffic from actually reaching the USB bus. By reducing this traffic, it guarantees that a minimum bandwidth is available for the chosen device. The number of devices that would have their transactions reduced, or blocked, would depend upon how much bandwidth the various devices are using.
  • One embodiment of the present invention guarantees minimum bandwidth for the chosen device by interfering with a predetermined set of the other devices on the USB bus. For example, all of the devices except for the keyboard and mouse may be interfered with. This would guarantee most of the available bandwidth to the chosen device because keyboards and mice generally do not use much bandwidth and it is desirable that the devices continue to function at all times. In one embodiment, the interference takes the form of reporting back to the system that a device has been disconnected from the bus. This “virtual disconnection” takes place only in the driver stacks and is accomplished by the bandwidth filter controllers reporting a disconnect condition even though one does not actually exist. Since the higher level USB drivers and the system then believe that the device is no longer present, they will stop trying to send information to that device across the USB bus.
  • Other forms of interference that may be used are to temporarily delay one or more transactions to one or more of the other devices until more bandwidth is available. Another form of interference that may be used takes the form of intercepting transactions from one or more of the other devices and returning an error condition.
  • In a step 310, the bandwidth filter controllers continue to interfere with USB transactions until the minimum bandwidth operation is complete. During this waiting period, the chosen device filter controller continues to pass transactions between USB drivers in a normal manner. This allows the chosen device to use all of the available bandwidth on the USB bus.
  • In a step 312, after the minimum bandwidth operation has completed, the bandwidth filter driver controller instructs the bandwidth filter drivers to resume normal operation. In the embodiment discussed above, the bandwidth filter drivers would then signal the system that the devices are reconnected and need to be reset. The system would then take appropriate action to restore these devices to normal operation. After this step, the system would return to step 304 and wait for another operation that requires minimum bandwidth.
  • From the foregoing it will be appreciated that the invention provides a novel and advantageous way of guaranteeing minimum bandwidth on a USB bus. This system may be configured to provide some bandwidth to mission critical devices if there is bandwidth to spare, or may use a dynamic approach that only interferes with devices that are using too much bandwidth, either alone or in combination, to coexist with the minimum bandwidth operation. Finally, this invention may be implemented entirely in software and can be made transparent to both the operating system and the other device drivers.
  • Although several specific embodiments of the invention have been described and illustrated, the invention is not to be limited to the specific forms or arrangements of parts so described and illustrated. The invention is limited only by the claims.

Claims (3)

1-23. (cancelled)
24. An apparatus for providing a minimum sustained data rate across a USB bus, comprising:
a bandwidth filter driver associated with a device; and,
a chosen device bandwidth filter driver, wherein said chosen device bandwidth filter causes said bandwidth filter driver to transmit at least one signal indicating that said device is not connected to said USB bus regardless of whether said device is connected to said USB bus.
25. An apparatus for providing a minimum sustained data rate across a USB bus, comprising:
a bandwidth filter driver associated with a device; and,
a chosen device bandwidth filter driver, wherein said chosen device bandwidth filter causes said bandwidth filter driver to transmit at least one signal indicating that an error condition exists on said device, whether or not an error exists on said device.
US10/940,081 2000-04-03 2004-09-13 Method for guaranteeing a device minimum bandwidth on a USB bus Abandoned US20050033876A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/940,081 US20050033876A1 (en) 2000-04-03 2004-09-13 Method for guaranteeing a device minimum bandwidth on a USB bus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/542,405 US6810432B1 (en) 2000-04-03 2000-04-03 Method for guaranteeing a device minimun bandwidth on a usb bus
US10/940,081 US20050033876A1 (en) 2000-04-03 2004-09-13 Method for guaranteeing a device minimum bandwidth on a USB bus

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/542,405 Division US6810432B1 (en) 2000-04-03 2000-04-03 Method for guaranteeing a device minimun bandwidth on a usb bus

Publications (1)

Publication Number Publication Date
US20050033876A1 true US20050033876A1 (en) 2005-02-10

Family

ID=24163686

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/542,405 Expired - Fee Related US6810432B1 (en) 2000-04-03 2000-04-03 Method for guaranteeing a device minimun bandwidth on a usb bus
US10/940,081 Abandoned US20050033876A1 (en) 2000-04-03 2004-09-13 Method for guaranteeing a device minimum bandwidth on a USB bus

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/542,405 Expired - Fee Related US6810432B1 (en) 2000-04-03 2000-04-03 Method for guaranteeing a device minimun bandwidth on a usb bus

Country Status (2)

Country Link
US (2) US6810432B1 (en)
JP (1) JP2001320387A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100064260A1 (en) * 2007-02-05 2010-03-11 Brother Kogyo Kabushiki Kaisha Image Display Device
US9298660B2 (en) 2012-11-29 2016-03-29 Faraday Technologies Corp. Super speed USB hub and traffic management method thereof
US10108518B2 (en) 2016-04-07 2018-10-23 International Business Machines Corporation Device interference detection and remediation
US10345850B2 (en) * 2014-08-12 2019-07-09 Samsung Electronics Co., Ltd. Method and apparatus for adaptive device re-configuration

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054980B2 (en) * 2002-05-02 2006-05-30 Standard Microsystems Corporation Multiple drive controller
CN2686459Y (en) * 2004-03-16 2005-03-23 艾多拉实业股份有限公司 Infants' chair with back inclination adjusting function
US9454443B1 (en) * 2013-01-24 2016-09-27 Seagate Technology Llc Managed reliability of data storage

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4151611A (en) * 1976-03-26 1979-04-24 Tokyo Shibaura Electric Co., Ltd. Power supply control system for memory systems
US5036493A (en) * 1990-03-15 1991-07-30 Digital Equipment Corporation System and method for reducing power usage by multiple memory modules
US5448565A (en) * 1992-11-12 1995-09-05 International Business Machines Corp. Multiport LAN bridge
US5568624A (en) * 1990-06-29 1996-10-22 Digital Equipment Corporation Byte-compare operation for high-performance processor
US5581734A (en) * 1993-08-02 1996-12-03 International Business Machines Corporation Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity
US5790815A (en) * 1995-11-20 1998-08-04 Advanced Micro Devices, Inc. Computer system having a multimedia bus and comprising a centralized I/O processor which performs intelligent byte slicing
US5832300A (en) * 1996-06-20 1998-11-03 Intel Corporation System for maintaining a minimum level of digitized data signal quality while allowing bandwidth dependent quality enhancement with additional enhancement data packets
US6061746A (en) * 1998-04-30 2000-05-09 Compaq Computer Corporation Device bay system without 1394 PHY/Link interface to device bay controller having a software intercepting a GUID query and returning a stored unique identifier
US6067628A (en) * 1998-04-09 2000-05-23 Intel Corporation Method to monitor universal serial bus hub overcurrent
US6078736A (en) * 1997-08-28 2000-06-20 Xilinx, Inc. Method of designing FPGAs for dynamically reconfigurable computing
US6088337A (en) * 1997-10-20 2000-07-11 Motorola, Inc. Method access point device and peripheral for providing space diversity in a time division duplex wireless system
US6212544B1 (en) * 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
US6279060B1 (en) * 1998-12-04 2001-08-21 In-System Design, Inc. Universal serial bus peripheral bridge simulates a device disconnect condition to a host when the device is in a not-ready condition to avoid wasting bus resources
US20020099759A1 (en) * 2001-01-24 2002-07-25 Gootherts Paul David Load balancer with starvation avoidance
US20030154349A1 (en) * 2002-01-24 2003-08-14 Berg Stefan G. Program-directed cache prefetching for media processors
US6624819B1 (en) * 2000-05-01 2003-09-23 Broadcom Corporation Method and system for providing a flexible and efficient processor for use in a graphics processing system
US6725334B2 (en) * 2000-06-09 2004-04-20 Hewlett-Packard Development Company, L.P. Method and system for exclusive two-level caching in a chip-multiprocessor
US6912651B1 (en) * 1998-03-31 2005-06-28 Hewlett-Packard Development Company, L.P. Wireless universal serial bus link for a computer system
US20070083730A1 (en) * 2003-06-17 2007-04-12 Martin Vorbach Data processing device and method
US7759968B1 (en) * 2006-09-27 2010-07-20 Xilinx, Inc. Method of and system for verifying configuration data

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5488694A (en) * 1992-08-28 1996-01-30 Maspar Computer Company Broadcasting headers to configure physical devices interfacing a data bus with a logical assignment and to effect block data transfers between the configured logical devices
US6078976A (en) * 1997-06-24 2000-06-20 Matsushita Electric Industrial Co., Ltd. Bridge device that prevents decrease in the data transfer efficiency of buses

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4151611A (en) * 1976-03-26 1979-04-24 Tokyo Shibaura Electric Co., Ltd. Power supply control system for memory systems
US5036493A (en) * 1990-03-15 1991-07-30 Digital Equipment Corporation System and method for reducing power usage by multiple memory modules
US5568624A (en) * 1990-06-29 1996-10-22 Digital Equipment Corporation Byte-compare operation for high-performance processor
US5448565A (en) * 1992-11-12 1995-09-05 International Business Machines Corp. Multiport LAN bridge
US5581734A (en) * 1993-08-02 1996-12-03 International Business Machines Corporation Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity
US5790815A (en) * 1995-11-20 1998-08-04 Advanced Micro Devices, Inc. Computer system having a multimedia bus and comprising a centralized I/O processor which performs intelligent byte slicing
US5832300A (en) * 1996-06-20 1998-11-03 Intel Corporation System for maintaining a minimum level of digitized data signal quality while allowing bandwidth dependent quality enhancement with additional enhancement data packets
US6078736A (en) * 1997-08-28 2000-06-20 Xilinx, Inc. Method of designing FPGAs for dynamically reconfigurable computing
US6088337A (en) * 1997-10-20 2000-07-11 Motorola, Inc. Method access point device and peripheral for providing space diversity in a time division duplex wireless system
US6212544B1 (en) * 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
US6912651B1 (en) * 1998-03-31 2005-06-28 Hewlett-Packard Development Company, L.P. Wireless universal serial bus link for a computer system
US6067628A (en) * 1998-04-09 2000-05-23 Intel Corporation Method to monitor universal serial bus hub overcurrent
US6061746A (en) * 1998-04-30 2000-05-09 Compaq Computer Corporation Device bay system without 1394 PHY/Link interface to device bay controller having a software intercepting a GUID query and returning a stored unique identifier
US6279060B1 (en) * 1998-12-04 2001-08-21 In-System Design, Inc. Universal serial bus peripheral bridge simulates a device disconnect condition to a host when the device is in a not-ready condition to avoid wasting bus resources
US6624819B1 (en) * 2000-05-01 2003-09-23 Broadcom Corporation Method and system for providing a flexible and efficient processor for use in a graphics processing system
US6725334B2 (en) * 2000-06-09 2004-04-20 Hewlett-Packard Development Company, L.P. Method and system for exclusive two-level caching in a chip-multiprocessor
US20020099759A1 (en) * 2001-01-24 2002-07-25 Gootherts Paul David Load balancer with starvation avoidance
US20030154349A1 (en) * 2002-01-24 2003-08-14 Berg Stefan G. Program-directed cache prefetching for media processors
US20070083730A1 (en) * 2003-06-17 2007-04-12 Martin Vorbach Data processing device and method
US7759968B1 (en) * 2006-09-27 2010-07-20 Xilinx, Inc. Method of and system for verifying configuration data

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100064260A1 (en) * 2007-02-05 2010-03-11 Brother Kogyo Kabushiki Kaisha Image Display Device
US8296662B2 (en) * 2007-02-05 2012-10-23 Brother Kogyo Kabushiki Kaisha Image display device
US9298660B2 (en) 2012-11-29 2016-03-29 Faraday Technologies Corp. Super speed USB hub and traffic management method thereof
US10345850B2 (en) * 2014-08-12 2019-07-09 Samsung Electronics Co., Ltd. Method and apparatus for adaptive device re-configuration
US10108518B2 (en) 2016-04-07 2018-10-23 International Business Machines Corporation Device interference detection and remediation

Also Published As

Publication number Publication date
JP2001320387A (en) 2001-11-16
US6810432B1 (en) 2004-10-26

Similar Documents

Publication Publication Date Title
US6415342B1 (en) Universal serial bus controlled connect and disconnect
KR100290944B1 (en) An apparatus and method for providing an interface to a compound universal serial bus controller
US5802398A (en) Method and apparatus for allowing communication between a host computer and at least two storage devices over a single interface
US6594721B1 (en) Surprise hot bay swapping of IDE/ATAPI devices
US7167951B2 (en) Intelligent controller accessed through addressable virtual space
US6505258B1 (en) Comprehensive interface between bios and device drivers to signal events
US8615625B2 (en) Disk array system
EP0778532A2 (en) An information processing apparatus
US20080005502A1 (en) Storage device controlling device and control method for storage device controlling device
EP1338973A2 (en) Use of the universal serial bus as an internal architecture within ide disk array
EP2163962A3 (en) Fiber channel connection storage controller
US7162554B1 (en) Method and apparatus for configuring a peripheral bus
US6810432B1 (en) Method for guaranteeing a device minimun bandwidth on a usb bus
JP2503183B2 (en) Bus adapter system
US20030167312A1 (en) Method of copying data and recording medium including a recorded program for copying data
US6625144B1 (en) Dual-use DB9 connector for RS-232 or dual-active controller communication
JPH07281840A (en) Dual-disk recording device
US20050138441A1 (en) Power management without interrupt latency
US7346727B2 (en) Method and system for control of a first device by data storage device through storing different values within task file register by the data storage device and reading task file register and performing corresponding predetermined operations by the first device via an IDE bus
US20070005851A1 (en) Data transfer control device and electronic instrument
US6879552B2 (en) Information recording and reproducing system enabling a selection of whether or not to perform an interruption and resumption of a data-recording
US7904630B2 (en) Bus-connected device with platform-neutral layers
US20020194405A1 (en) Disk array system with large storage capacity
US6970349B2 (en) Expandale modular storage unit
JP4892275B2 (en) Storage system and configuration change method thereof

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION