1TB 10Gbps USB-C: How To DIY
1,250 Megabytes Per Second
NVMe Is The Future
It's easy. I promise you are 100% capable of building this at home, on the road, in a car, near or far, with a fox— twice the speed of SATA SSD, in one tiny box.
Spoiler Alert
It's fast.
Drink in the nerdy bits or fast-forward to see the parts list.
Don't worry, we're just snapping together two purchases by the end of all this.
Nerdy Bits
NVMe
Non-Volatile Memory Express (NVMe) is actually a specification, and that's just it's nickname. It's full name is Non-Volatile Memory Host Controller Interface Specification (NVMHCIS). This spec is like a set of hardened rules, defining how our apps will communicate with the nitty-gritty bits across the physical PCI Express® (PCIe®) bus/lanes ... which is about as technical as I'll take this particular explanation. Most of this is not worth remembering, that's why this article exists! Some additional notes:
- "Traditional" SSD's work over SATA protocol, not NVMe
- SATA 3.0 (the current SATA standard) has a physical speed limitation of 6Gb/s
- 6Gb/s = .75GB/s = 768MB/s ... and that's just theoretical numbering. In reality, even the cream of the crop Samsung EVO 970 SATA SSD's are only pushing 550MB/s
- NVMe protocol works over PCIe, not SATA
- Every CPU has a finite number of PCIe "lanes" (Modern CPU's typically have a minimum of 16+ PCIe lanes so don't worry about running out ... yet. That's a conversation for the multi-GPU inclined custom PC's and Mac Pro Desktops of the world.)
- Introduced in 2010, PCIe 3.0 has a transfer rate of eight gigatransfers per second, written as 8.0 GT/s. Over a single (x1) PCIe lane this equates to 0.985GB/s
- Introduced in 2017, PCIe 4.0 (today's/2020's current standard) has a transfer rate of sixteen gigatransfers per second, written as 16.0 GT/s. Over a single (x1) PCIe lane this equates to 1.969GB/s
- Introduced in 2019, PCIe 5.0 has a transfer rate of thirty-two gigatransfers per second, written as 32.0 GT/s. Over a single (x1) PCIe lane this equates to 3.938GB/s
- PCIe can use more than one "lane" at a time, which is where you'll oftentimes find advertisments for "x4" or "x8" speeds which are linear multiplications of their base x1 speeds.
Boiling that down to the numbers we're working with today:
A 1TB Samsung EVO 970 M.2 NVME with it's PCIe 4.0 spec can function upwards of 3,500MB/s
USB-C 3.1 Gen 2 has a max throughput of just 10Gb/s = 1.25GB/s = 1,280MB/s
As you can ... C ... our USB 3.1 Gen 2 connection can't handle everything the NVME drive is capable of. BUT! USB 3.1 Gen 2 can easily handle more than the 550MB/s maximum that we find in traditional SSD's and their SATA protocol. Upgrading from SATA to NVME might not garnish the full benefit of what PCIe has to offer, but ...
- It's still twice the speed. #winning
- We haven't even touched on the fact that Thunderbolt 2 has a max throuput of 20Gb/s = twice as much as USB 3.1 Gen 2 and that's OLD tech compared to Thunderbolt 3 which works over the USB-C form factor and is capable of 40Gb/s which ... drumroll please ... allows us to achieve up to 5GB/s = 5,120MB/s = plenty enough headroom for an NVME PCIe 4.0 drive.
Now, to burst your gluttonous bubble ... we're not building a Thunderbolt 3 enclosure today.
- The USB-C enclosures listed below are all under $25.
- Thunderbolt 3 is still pretty pricey tech.
- Thunderbolt 3 can be found on all Apple computers for the past couple years, but is not nearly as common in the PC market.
- We are building a teeny tiny USB-C enclosure that will still get you twice as much performance as a modern SSD so cool your jets. It's really fast!
M.2
There are two main form factors for using NVMe:
In this project, we are using the M.2 form factor of drive with the size/length of 2280.
M.2 is a form factor, not necessarily of NVMe specially. "Factor" as in, something to consider. There are several forms of M.2, we sometimes refer to these forms as sizes/lengths. M.2 itself is type of hardware form factor. There are three main types of "keys" or "notches" associated with M.2: B, M, & B+M. While there are actually twelve total key ID's, these are the only three we need to know about today.
Think of it like this:
B = SATA
B+M = WiFi Cards
M = PCIe
Our NVMe drive and it's enclosure both need to be M key.
Try! Build!
Part 1 of 2
one Tiny Box
AKA: M.2 NVME USB-C Enclosure
Enclosures are, like most products, offered in a great number of shapes and sizes. I like my enclosures to be as sleek, small, and as brand-free as possible. The links below are all (effectively) to the same product— my favorite tiny box, sold by several different merchants. Some come with one cable and an adapter, some come with two cables. The USB port on these enclosures is type C, which is what you'll find on at least one end of any included cable. The other end of that cable will either be USB-C or USB-A. Those that include the USB-C to USB-A cable will also include an adapter for the USB-A side, in case you need USB-C on both ends. USB type C is what you'll find on Apple's 4th Gen iPad Air (September, 2020), iPad Pro, and every mac laptop or desktop sold in the past few years. USB-A is that standard rectangle thing that the majority of PC's still use. These also come included with the tiny screwdriver you'll need in the next step.
Take your pick of price and color.
I own four of the enclosures listed above in both M.2 SATA (~500MB/s max) and NVMe (~1,000MB/s via USB 3 Gen 2) variants. Love them. I've not tried this next product myself but if anyone wants to lead the charge for Thunderbolt 3 ( ~3,000MB/s dependent on your choice of NVMe) at nearly four times the cost, let me know how fast and well it works!
Although the Thunderbolt 3 spec itself can handle up to 40Gbps / 5,000MBps, these enclosures advertise ~1,500MBps which seems like all-around false advertising if you ask me. Alas, 1,500MBps is still nearly three times faster than SATA SSD's so I'm still inclided to try :)
Part 2 of 2
Super-fast SSD!
AKA: M.2 NVME SSD
Several "brands" offer NVME drives. I have opinions. Here's my take on the "industry insight": Samsung is one of the only companies producing their own controllers— this is a mission-critical component. Many "brands" are licensing and using Samsung's controllers. This is kind of like how Sony makes most of the camera sensors that exist in the world.
Fun fact: iPhones and Nikon cameras are actually using Sony image sensors.
In similar fashion, most companies are licensing Samsung memory controllers and slapping their own code on top with a new label. When you're dealing with mission-critical data, just fork up the extra $20 (or whatever it is today) and get the name brand. It's worth it, I promise.
While we're on the subject, if you're in the market for spinning disk storage (the slow cheap stuff) don't buy anything that says "Seagate"— end of discussion. HGST was bought by Western Digital a few years back and I promise that's where you want to spend your money unless you just love wasting time dealing with DOA drives, early drive failures, and emails to terrible customer service and warranty departments.
Samsung 970 EVO
- M.2 / 2280 / "M" Key
- NVMe 1.3 PCIe Gen 3.0 x4
- Max Sequential Read Speed: Up to 3,500 MB/s
- Max Sequential Write Speed: Up to 2,500 MB/s
- Max USB-C 3.1 Gen 2 Speed: Up to 1,000 MB/s
Samsung 970 EVO Plus
- M.2 / 2280 / "M" Key
- NVMe 1.3 PCIe Gen 3.0 x4
- Max Sequential Read Speed: Up to 3,500 MB/s
- Max Sequential Write Speed: Up to 3,300 MB/s
- Max USB-C 3.1 Gen 2 Speed: Up to 1,000 MB/s
Buy one enclosure + one NVME drive and then it's like connecting the dots. Legos, of sorts. It only goes in one way. The enclosures will come with a tiny screwdriver for the one philips screw you'll need to secure the NVME drive in place and the two phillips screws that hold the cover plate on the enclosure. Depending on your order, the enclosure will either come with two cables or one cable and one adapter. Either way, the enclosure comes with everything you need to connect to an iPad Pro, MacBook w/ USB-C/Thunderbolt 3, or PC with USB-C port.
Enjoy!
If you'd like a deep-dive elaboration of any of these terms, let us know somehow ;)
- USB-C
- USB4
- Thunderbolt 3