37

USB 1.0 is from 1996 and has a transfer rate of up to 12 Mbps.

I think it's extremely slow even for its time. Because here are two similar standards from the same time which are much faster:

  • IEEE 802.3u is the fast ethernet spec from 1995. Even though it is (a little) older than USB 1.0 and allows longer cables it has 100 Mbps. This is 8.3 times the speed of USB 1.0.

  • Then there is IEEE 1394 from 1995 (FireWire 400). It has up to 400 Mbps. It's also a little older than USB 1.0 but its transfer rate is 33.3 times that of USB 1.0.

As you can see even for its time USB 1.0 was extremely slow.

Why?

9
  • 38
    You should be aware that by 1996, 100Mbps Ethernet and even Firewire were "top notch technology" and ridiculously expensive. Nothing like the commodity 10 years later and definitely not mainstream in everyone's PC.
    – tofro
    Dec 12, 2022 at 9:13
  • 26
    Saying USB 1.1 was slow because IEEE 802.3u and IEEE 1394 existed at the time is like saying USB 3.0 is slow because IEEE 802.3ba, 7th gen 256GFC, and IB NDR exist. It’s technically true, but ignores the realities of what they were all designed to be used for and how much they actually cost. Any random inexpensive commodity PC today is not going to have an 802.3ba interface (let alone FC or IB hardware of any speed), because they have no need for such an interface. The same was true of IEEE 802.3u and 1394 when USB 1.1 came out. Dec 12, 2022 at 12:24
  • 14
    The question could be asked the opposite way around - why were IEEE.1394 and Fast Ethernet so fast in 1996? Dec 13, 2022 at 10:01
  • 6
    Comparing USB to Ethernet would make sense if there were Ethernet mice and keyboards. Dec 14, 2022 at 7:47
  • 4
    It's Universal Serial Bus, not Fastest Serial Bus. Not every protocol focussed on speed.
    – Mast
    Dec 14, 2022 at 12:17

9 Answers 9

112

USB was initially designed as a replacement for the 'legacy' ports including PS/2, serial and parallel ports. For those, up to 12 Mbit/s (or even only 1.5 Mbit/s, thx @lvd) seemed reasonable - USB was never envisioned as a high-end, top-notch interface but as a lower-cost alternative for the above ports.

USB wasn't intended for storage applications back then, but even its ~1 MB/s speed was competitive. Mind you, the still-popular floppy disks made just 30 KB/s and even quad-speed CD-ROMs a mere 600 KB/s.

ATA hard disks of the time could use up to PIO mode 2 with 8 MB/s.

Ethernet's 100 Mbit/s were considered back-bone speed in that period. Few people required that speed on a normal PC.

PS: For historical correctness, it's USB 1.1 that first gained wide popularity. Adoption of version 1.0 went rather slowly.

10
  • 12
    And more to say, USB mice and keyboards were using (and still do) even slower rate, 1.5 Mbit/s.
    – lvd
    Dec 12, 2022 at 11:00
  • 5
    @lvd Can you type with a speed of 1.5Mbit/s? I believe that the bottleneck in that case wouldn't be the USB bandwidth but rather that the key switches are going to catch fire.
    – Philipp
    Dec 13, 2022 at 10:09
  • 1
    In fact, one of the things that earned Windows its reputation for being slow was the common problem where DMA access to hard drives was disabled after one too many read/write errors and you were suddenly stuck with PIO as the "safe and slow" option (needless to say, almost noöne knew anything about such internal details). This was especially painful when CD burners came around, with their constant buffer underflow issues destroying CDs :)
    – Luaan
    Dec 13, 2022 at 14:20
  • 2
    Another port USB replaced was the gameport. Dec 14, 2022 at 12:34
  • 2
    If I'm not mistaken, a quad-speed CD-ROM drive read speed is 600 kB/s not 650... Single speed was 150 kB/s Dec 6, 2023 at 0:02
51

USB was very fast for its time and parts/cables cost.

It was intended to reduce the variety of specific cables and connectors needed for existing equipment, such as printers (huge Centronics, about 600 kbps max), serial ports (maybe 230,400 max), scanners, PS/2 ports (for keyboards and mice, <17 kbps and small power supply) and game controllers.

It was equally intended to support and encourage future peripherals. Many have since come along or become practical with USB speed increases, including USB storage sticks, digital cameras and mobile phones.

Its naming of Universal Serial Bus reflects that market. It wasn't aimed at being the Fastest All-round Serial Bus as that would have pushed its cost right up. Technology advances have let the speed increase over time while still keeping the prices down, with the now-cheap USB 2.x (480 Mbps) still plenty for many interfaces.

Ethernet adaptors etc of that day required much more expensive and powerful electronics to attain such speeds and distances. That shows in that a USB 2.0 Flash stick cost far less than an Ethernet card in, say, 2005 which is three years after USB 2.0 launched.

4
  • 11
    Yeah, 100MBps Ethernet cards and hubs were really expensive for the home user in 1996.
    – RonJohn
    Dec 11, 2022 at 15:37
  • Nitpick: 5V is voltage, should be 5V at 275 mA - PS/2 port - wikipedia
    – Jonathan
    Dec 12, 2022 at 8:31
  • 3
    Serial ports were more commonly used at 57,600 bits per second, and even that was not supported by all hardware, some being limited to 19,200 or 9,600. Dec 13, 2022 at 9:51
  • Answer says "serial ports (maybe 230,400 max)", so not talking about typical applications (you're thinking about 56K modems etc.) A 1989 16550 UART could do 230,400 baud with a then-readily-available 3.6864MHz crystal. The answer's showing how far slower PC COM port UARTs were compared to USB.
    – TonyM
    Dec 14, 2023 at 22:31
35

TL;DR: It's All About Use Case.

USB was intended as a low cost unified alternative and ultimate replacement of common peripheral device interfaces: serial, parallel and other custom variants of the time for tasks at the time (and still today). Intended use cases (devices to be connected via USB) were

  • Keyboard
  • Mouse
  • Game Controllers (Joystick/-pad, wheels, FCS, etc.)
  • Application Specific Keyboards (Numpads, Gamekeyboards, etc.)
  • Generic Serial
  • Modem (Internet)
  • Printer
  • Scanner
  • Audio (Sound Card Control)
  • Audio (Streaming Output)
  • Photo transfer
  • Video (low res, aka Webcam)
  • External Media (Floppy, LS120, Zip drives)
  • LAN Adaptors

All of them had, more or less specific connections while none of these run at speeds higher than what USB 1.1 can deliver. That's the area it was intended for.

At that time no-one even imagined solid-state storage that fast. Or any other of the things USB has grown into.

Equally if not more important than speed was cost: USB was intended to replace already cheap interfaces and lower the cost of devices considerably.

Bottom line: It was a perfect match for its target market ... and still is.


Why was USB 1.0 incredibly slow even for its time?

Hint: It wasn't (see above)

USB 1.0 is from 1996 and has a transfer rate of up to 12 Mbps.

Not really, USB 1 had

  • fixed symbol rate of
    • 1.5 MBd (low speed), or
    • 12 MBd (fill speed)

allowing a

  • maximum transfer rate of ca.
    • 150 KiB/s (low) or
    • 1 MiB/s (high)

I think it's extremely slow even for its time. Because here are two similar standards from the same time which are much faster:

IEEE 802.3u is the fast ethernet spec from 1995. Even though it is (a little) older than USB 1.0 and allows longer cables it has 100 Mbps. This is 8.3 times the speed of USB 1.0.

  • Ethernet is a network technology, not really for peripheral connection.
  • It's a peer-to-peer network requiring complex and fast controllers running additional high level protocols on top of already complex network interaction.
  • USB features a simple host/device structure with strict host control, making all interaction quite simple and deterministic.
  • At the time 10Base-T was installed - if at all.
  • NE1/2000 and Etherlink III were the (PC) network cards of the mid 1990s.
  • Either of these cost (bulk price) ~50 USD for ISA or ~100 USD for PCI.
  • USB 1 is quite capable of connecting to an external LAN adaptor running that.

It makes no business sense, neither on manufacturer's nor buyer's side, to raise the price of a PC by 50..100 USD to replace interfaces priced in single dollar range with a standard no devices exist for.

Then there is IEEE 1394 from 1995 (FireWire 400). It has up to 400 Mbps. It's also a little older than USB 1.0 but its transfer rate is 33.3 times that of USB 1.x.

Firewire was intended to replace SCSI - which at that time just introduced Fast-SCSI with a maximum of 10 MiB/s transfer rate. It also is, like Ethernet, a complex peer-to-peer network, requiring (for the time) high computing power to handle communication. A quite costly overhead, only justifiable for expensive high speed devices - or very special use cases.

As you can see even for its time USB 1.0 was extremely slow.

It wasn't slow. it was tailored to a specific use case: replacing all common interfaces of the time at low cost, or even saving money in production.

10
  • 15
    Consider that many people were transfering digital photos via 115,200bps serial cable, and the fastest alternative was a gizmo that was inserted into a floppy drive(!) and probably managed maybe three times that speed, a device that could manage a sustained throughput that was even a third of the 12,000,000bps of USB 1.0 would still be almost an order of magnitude faster than the fastest readily available devices for transfering digital photos.
    – supercat
    Dec 11, 2022 at 20:23
  • 1
    @supercat The megapixel(!) digicam we sold around that time (PDC 2000) used a SCSI port for fast transfer - expensive & high end.
    – Zac67
    Dec 12, 2022 at 8:53
  • 2
    Regarded use cases, it's worth considering that the idea behind the USB standard was to essentially be the standard cable - and likely intended to avoid the issue with trying to create a new standard to rule them all. That is, it's designed for speeding up the cable and port selection process, in a time where loading screens were likely inevitable, and can run in the background. Dec 12, 2022 at 8:54
  • 1
    I think scanners and USB 1.x is a bad example, because scanners typically produce huge amounts of data.
    – U. Windl
    Dec 12, 2022 at 10:08
  • 5
    @U.Windl Not really. Amount of data is a criteria for storage, not so much for transmission. For one, scanners back then were usually 300 dpi, 600 was already top end, more important, they produced this data at a slow pace. Uch has been improved since back then :))
    – Raffzahn
    Dec 12, 2022 at 11:11
19

Like most things in the "silicon" specification world, the specification was based around a "minimally viable" VLSI implementation at the time of writing. When I was a grad student working on semiconductors, there was still a ½ micron design floating around for USB 1.0. I did a USB 1.1 core on 180nm (that's still used as far as I know). You save money in the hardware world by removing parts, and USB let you remove the two ICs and replace it with one. More than that, you could easily integrate it into the "winchip" idea at that time, which was to replace everything with software and remove hardware. It makes things cheap, and the PC world is completely driven by commodity hardware, and that's why everything is slow compared to when you put a few 00s behind the cost. (Best example is sapphire wafers over silicon where you get lower heat, and thereby increased speed due to the direct band-gap for the same process. 2k for a SI wafer but 20k for a sapphire wafer)

As a polled bus, USB is pretty great because it fails well. If you unplug something, you don't need to worry about the state. It's just sort of "gone" when you unplug it and you don't need to worry about the arbitration that exists on traditional buses. I have an implementation here in PIC assembly that I used once for a project. It took < 64 bytes in memory for a basic USB ↔ parallel IO board.

1
  • 5
    And the PC world is driven by cost because of volume and the fact that people aren’t that rich. (Also, non-gaming PCs have been Fast Enough for 15+ years.)
    – RonJohn
    Dec 14, 2022 at 3:18
15

You're looking at it from the wrong end. Remember that one of the things USB had to be able to do was serve as a place to plug in a mouse and keyboard, and it was going to compete with existing mice and keyboard using "bus," serial, PS/2 and similar protocols.

Obviously a mouse that you had to plug into a wall power outlet, as well as your computer, was going to be a non-starter, and using cables any thicker than existing mouse cables would also be a problem. So USB had to run in some reasonable way across a thin cable that would keep a mouse still comfortable to move around on a desk. That limits both the amount of power you can send down the cable and the number of conductors you can use to send data in parallel. IEEE 1394 and twisted-pair Ethernet used four conductors for data; USB reduced this to two conductors. USB added two more conductors for ground and power, as IEEE 1394 also did in its 6-conductor configuration, but USB limited the power (in low-power configurations) to 100 mA at 5 V. (That makes a pretty big difference in wire size when considering small, flexible cables: a 0.22 mm solid wire can easily handle 100 mA; 1000 mA requires somewhere around 0.7 mm and these both become proportionally larger when you use stranded instead of solid wire.)

These power limitations already limit how much processing power (and thus potential networking speed) you can put into a USB mouse or keyboard, but of course a further limitation was cost: existing mice and keyboards used fairly cheap circuitry and USB was not going to fly if a mouse suddenly cost twice as much money.

Thus, the USB 1.0 transfer rate for keyboards and mice was even considerably slower than you suggest: just 1.5 Mbps. The higher speed 12 Mbps mode was never (even to this day, as far as I'm aware) used by mice or keyboards or the like, and how and what higher speeds you could add to USB beyond the essential 1.5 Mbps low-speed mode was limited by what the cheap, low-power, low-speed devices could still be compatible with. (The ability to negotiate connection speed itself requires circuitry and power draw.)

1
  • And very successful at that. Good luck buying a new PS/2 keyboard or a serial mouse. Dec 17, 2023 at 14:21
12

USB was mainly about replacing the legacy serial, parallel printer, and PS/2 ports – it had plenty of bandwidth for that. Furthermore, it is ultimately a point-to-point connection. With a virtual root hub, i.e. with each host port having its own controller, without an intervening physical hub, you could get 40–50 megabits/s sustained on a 4-port motherboard. Whether that was done depended mainly on the price and application area. Dedicated host port controllers were present on various industrial motherboards.

It's plenty adequate for many tasks even today. Not for high resolution video, but for audio, MIDI, various physical data acquisition systems – the bandwidths available are more than sufficient. There's plenty of industrial and research data acquisition where a few kHz of sampling rate is lots, since the physical processes monitored change way slower than that.

6
  • 9
    USB is also hot swappable where at least ADB and PS/2 were not. So a "good enough" speed in a standard connector, where I don't have to power down to plug in a keyboard? Sign me up! :)
    – GB540
    Dec 12, 2022 at 0:02
  • 2
    I so wanted to correct you on that, but it turns out that I've been pampered by "modern" ps/2 ports, which are de facto hot swappable.
    – Brian
    Dec 12, 2022 at 14:29
  • Given that one of the major intended purposes was to replace serial ports, I find it weird that USB didn't accommodate a standard means via which a device could say "I'm a CDC device, and applications should be able to talk to me by sending and receiving sequences of bytes, essentially as though I'm a UART", without the vendor having to supply any kind of device driver which is programmed for particular PID/VID combinations. For some kinds of devices like scanners, it might be useful to have a driver that can e.g. convert a request to e.g. scan a region of a page and output a bitmap, into...
    – supercat
    Dec 12, 2022 at 18:22
  • ...a device-specific sequence of "write a bunch of bytes" and "read a bunch of bytes" operations, and then format some of the data it had received into a bitmap, but for many kinds of devices a general class to read/write bulk data, without the speed limitations imposed by HID class, would have been useful.
    – supercat
    Dec 12, 2022 at 18:24
  • 5
    @supercat USB has had CDC "serial port" (ACM) for a long time. The question is rather why did Windows not support it without silly shenanigans like MS-specific descriptors. Same goes for Ethernet CDC. Note that everyone else supported CDC-ACM for eons. Linux, macOS, various BSDs... It was not a "USB problem" - it was a Windows problem, primarily and almost exclusively. USB CDC is a well established spec! Revision 1.1 is 23 years old, Revision 1.2 is 12 years old. Dec 12, 2022 at 18:54
9

It's in the name: Universal Serial Bus.

A variety of serial bus interfaces were used to connect low and medium-speed peripherals like modems, keyboards, mice, scanners, protection dongles, and so on. Most manufacturers provided RS-232 or similar, but it was otherwise largely proprietary or platform-specific.

USB was to replace all of that nonsense. Use any mouse or keyboard with any PC or workstation. It accomplished that. It was also 10 - 100x faster than the busses it replaced, which opened up new possibilities, beyond the original scope. Hence USB 2.0.

5
  • 1
    RS-232 and Centronics were hardly proprietary. If the PS/2 port was proprietary, then IBM did a bad job of protecting it. SCSI (for scanners) wasn’t proprietary, either. And each OS needed USB drivers for each bit of kit. USB’s big selling points were (1) unity of cables, (2) hubs/chaining and (3) auto-configuration/Plug-and-play.
    – RonJohn
    Dec 12, 2022 at 3:34
  • 6
    @RonJohn: The RS-232 interface isn't proprietary, but the protocol used over it might be. It's just a serial-port standard; it doesn't define a mouse protocol. USB does. Dec 12, 2022 at 4:30
  • @PeterCordes RS-232 protocols can be easily sniffed, if that’s what you’re worried about. Maybe RETRAC should have mentioned the HID standard which is part of USB.
    – RonJohn
    Dec 12, 2022 at 9:22
  • @RonJohn And yet you could not plug a Microsoft serial mouse into a Mac and expect it to work.
    – RETRAC
    Dec 14, 2022 at 20:44
  • I don’t see how that is relevant to what I wrote.
    – RonJohn
    Dec 14, 2022 at 20:52
7

Other answers refer to the connections USB is replacing, such as keyboards,
mice, serial ports, printers. However they leave out one important inspiration
and competitor: the Apple Desktop Bus.

The usage of ADB is very similar to USB: low speed user-interface devices: keyboards and mice, which can be daisy-chained. ADB's speed is reported to be "as high as 125 kbit/s" but usually at most half that. Compared to this, 12 Mbps is extremely fast, and even 1.5 Mbps is an order of magnitude faster. Everything is relative.

5
  • probably a separate question, and maybe not for this stack, but: what are the tradeoffs between daisy-chaining vs point-to-point w/hubs? Maye daisy-chaining requires more functions in the chip on the device, raising the price of each device? where the cost of the hub is ther eonly if you need it?
    – davidbak
    Dec 12, 2022 at 17:25
  • 1
    And you know that USB was successful in that Apple adopted it wholesale for human interface devices long before it was the de facto for Windows devices.
    – user46053
    Dec 12, 2022 at 19:14
  • The ADB was irrelevant to USB and its evolution, it's not an inspiration for it and not something USB had to compete with. Serial buses and networking schemes were very well understood with their possibilities seen, long before either of those buses came along. ADB didn't make the USB team realise anything they couldn't see without it. Technology is often seen clearly and thought through long before being built, such that there's nothing revealing or revolutionary seen in the idea when it is.
    – TonyM
    Dec 12, 2022 at 23:32
  • 2
    @TonyM Apple championed USB as an ADB replacement and got machines that actually needed/preferred USB peripherals on the market at a time when the PC world still considered USB exotic, PS/2 peripherals being considered cheaper and more reliable, and when PC operating systems weren't good at handling hot pluggable peripherals very well anyway! Dec 13, 2022 at 9:58
  • @rackandboneman, yes but that's not about the point I made.
    – TonyM
    Dec 13, 2022 at 10:07
7

USB was intended to replace PS/2, Serial, and Parallel ports. Remember those parallel port scanners that were slow as hell and froze the PC while scanning? These were terrible.

In order to succeed in a commercial environment where every cent matters, USB had to meet stringent requirements:

For mice and keyboards, which were already very cheap devices at the time, it could not add any cost. This means it would have to be implemented inside the already dirt cheap microcontroller in the mouse/keyboard: pretty slow devices with as little RAM and ROM as possible, manufactured in a process that doesn't allow for anything fancy.

For more expensive peripherals like scanners, printers, USB storage, etc, the case is less clear cut: replacing the kludgy and expensive parallel port with much simpler and cheaper USB would already save costs, but then USB would have to be compatible with the microcontrollers used in these types of peripherals at the time, so a speed of 12Mbps seems adequate.

In addition, to get a wide adoption of the standard, motherboards must carry a lot of USB ports. At the time, during the transition, motherboards would offer both parallel/serial/PS2 and USB at the same time, so the cost per port must be very low in order for it to succeed. USB is usually implemented in the chipset, which is manufactured in processes allowing for much faster and more complex chips that a mouse microcontroller, but still, bleeding edge speed would add to the cost.

This drove the design of the entire protocol, which assumes an extremely dumb device that does what it's told.

Ethernet and FireWire are much more costly. On the software side, being actual networks (not master/slave like USB) they use rather complex protocols which require fast microcontrollers with lots of memory. It is possible to implement USB1 on a 8-bit micro with 64 bytes of RAM that costs cents, but for FireWire/Ethernet you would need 16-32 bit micro with 8-16k RAM at least, and much more ROM too. It's not economically feasible to implement these in a mouse.

On the hardware side, USB1 is dead simple due to being slow. Ethernet could have been made simpler and cheaper with a length restriction to ditch equalization, but there is still a lot of hardware complexity in the MAC/PHY. Plus it uses much more power due to being designed for long cables, which requires controlled impedance, etc. And FireWire is full duplex, so it needs two more wires! That will add cost to everything...

Basically for this type of standard to succeed, it needs wide adoption, and for that, cost matters a lot more than performance. Cost is the main reason why FireWire failed.

2
  • I'm struggling to parse the sentence containing "processes allowing for much faster and more complex chips that a mouse micro", Any chance of re-wording that to something more accessible? Dec 12, 2022 at 16:15
  • "much faster and more complex chips than a mouse microcontroller" Dec 13, 2022 at 1:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .