4 ms·
Haven't heard a single critical analysis of Thunderbolt. So here I go..
I am not an expert by any means, but I do have something to say about this Thunderbolt thing.
First things first, Thunderbolt is just a technology, not a protocol, which is good, but it also has some implications. For instance, it cannot really replace any existing protocols. So questions about the fate of USB 3.0 in the wake of Thunderbolt sound misguided to me.
It seems to me that Apple's intention behind this technology is to have a single type of port to connect everything. That would make it seem like you can get rid of your USB, firewire etc. ports. But since your device expects to be plugged into a certain port, you ultimately have to provide that port. Which means that you do need to buy a new dongle, unlike what people are claiming. For instance, if you have a USB flash disk, one end of the Thunderbolt cable can be plugged into your MacBook, but the other end has to expose a USB port (assuming Thunderbolt will carry USB packets, which it does not today). So either the cable has to be Thunderbolt on one end and USB on the other, or the device needs to have a Thunderbolt port. This is good for Apple because eventually they can have only Thunderbolt ports on their Macs, which saves money and makes them cheaper, but pushes the cost out to consumers or device manufacturers.
Also, currently supported protocols are PCI Express and Displayport. PCI-E is interesting because it makes it sound like you can in theory connect just about anything. But there are a couple of problems with this. If I want to make my USB device play nice with Thunderbolt today, I have to have something that understands the PCI protocol. That means, my USB device needs to carry an embedded USB controller. Similarly, if I have a SATA disk, it needs to carry a SATA controller. As one can imagine, this is expensive, not scalable, and just a waste of money. The other problem is that Operating Systems and BIOS's don't expect their PCI devices to get hot-plugged, which in theory they should, and Apple can certainly ensure that for the MACs. But most PCI devices themselves do not expect to be hot-plugged. Given these two problems, I don't see how an ecosystem can develop around Thunderbolt. But its Apple, so they might have a brilliant plan that I cannot imagine myself.
I do see this technology as ideal for docking solutions. Imagine your iPad or iPhone with a single Thunderbolt connector that can be docked onto something which can then connect to a mouse, keyboard, display and what not. Beyond that, I am running out of ideas.
- timthorn 16y ago> But most PCI devices themselves do not expect to be hot-plugged Is that actually true? It's been some time since I went through the protocol, but PCIe does have native support for hot-plug. Certainly during the enumeration, I don't see why a card (distinct from the host) would care in the least whether the rest of the system was booted or not. Don't forget that ExpressCards are effectively PCIe, and they have no problems with being inserted or removed whilst a system is turned on.
- justanotheratom 16y agoIt is true that in theory, they should be hot-pluggable. But try plugging out a hard-drive while your system is running, bad things happen. USB devices, on the other hand, expect to be hot-plugged, and take appropriate measures for that. For example, removable media flash drives don't do as much caching in volatile memory as internal SATA hard drives. Another example would be a graphics card, which, if you plugin while the system is running, won't get recognized. But if you want to use Thunderbolt to power external displays that carry their own graphics cards, the underlying assumption being that the card already knows how to talk PCI, then you can see that there will be a problem.
- zerohp 16y agoYour entire post looks like speculation without expertise to back it up. Your ideas about hot plugging are completely wrong. Have you ever designed a hardware device, or at least implemented a driver? Seeing as how you created your account right before posting this, it feels like astroturfing.
- justanotheratom 16y agoI am certainly not an expert and can definitely be wrong here. Perhaps you can provide your insights. I just haven't seen many insightful articles on the interwebs. ps: Had to look up what astroturfing is. No, I am just mostly a lurker on HN.
- CountSessine 16y agoYes, this is something that I've been thinking about the last couple of days. Thunderbolt doesn't seem to be a complete protocol stack like USB - at least that's what Intel's emphasis on Thunderbolt's PCIe protocol implies. Rather, it seems to have a simple encapsulation protocol. Without a protocol stack you can't have stuff like class drivers or channel categories (bulk, isochronous, etc). Not unless you re-use another protocol or technology that also uses PCIe, like USB EHCI or something. But then what does the EHCI talk to over the Thunderbolt-PCIe? An EHC? Where? On the Thunderbolt device? In the Thunderbolt cable? Or is the EHCI reprogrammed to include a software EHC? Maybe that's what how Thunderbolt will work - re-implement every hardware bus controller (SATA, USB, etc) in software. A peripheral plugged into a Thunderbolt port on a computer would be either - A peripheral with a Thunderbolt connector itself, connected with a Thunderbolt-to-Thunderbolt cable. The peripheral would actually be communicating Thunderbolt-encapsulated USB packets (or SATA or whatever) with a software USB EHC in the computer. - A legacy peripheral (USB/SATA/whatever) connected with an expensive Thunderbolt-to-USB cable. The cable would have to do the Thunderbolt encapsulation and transcoding for the peripheral. Again, it would be communicating with a software USB EHC in the computer. I can kind of understand why Intel would be interested in this. If doing anything useful over Thunderbolt means implementing existing hardware controllers in software (SATA HBA, USB EHC, etc), Thunderbolt is going to be a great way of burning excess CPU cycles. Just as USB was a less CPU-efficient connector than Firewire, Thunderbolt may need even more CPU cycles. This would be a great technology to promote if you're in the business of selling people CPU cycles.
- CountSessine 16y agoUpdate for my post. I was sort of right the first time: But then what does the EHCI talk to over the Thunderbolt-PCIe? An EHC? Where? On the Thunderbolt device? It appears from details emerging that Thunderbolt really is just an encapsulation connector/protocol. Don't think of it is a USB competitor - it's a USB encapsulator. Think of having a Thunderbolt connector on your laptop but then also in your monitor at home. The monitor has an USB EHCI, a SATA HBA, etc to support a bunch of integrated USB ports and maybe an eSATA connector or two. You get home, connect your laptop to your monitor via Thunderbolt, and new USB and SATA adapters appear in your laptop's PCIe configuration. Thunderbolt is more of an external PCIe bus than a peripheral bus like USB. It doesn't compete with USB for mice or keyboards. But given that eSATA is a far superior connector for storage devices than USB 3 is (NCQ, DMA, RAID, etc), and that Thunderbolt will be able to encapsulate SATA connections, Thunderbolt might compete with USB 3 on at least that level.