Review of TerraMaster D1 SSD Plus Thunderbolt 4/USB4 NVMe SSD enclosure

TerraMaster has sent me the D1 SSD Plus portable SSD enclosure for review, and helped me get a 2TB WD_BLACK SN850X NVMe SSD for testing, since the PCIe Gen4 x4 storage device reached up 7,300 MB/s to sequential read speeds, and 6,600 MB/s sequential write speeds, well beyond the 40Gbps capabilities of the enclosure.

I had reviewed two ORICO NVMe enclosures previously, namely the ORICO COM2-T3 and ORICO M234C3-U4, which were both based on an Intel JH7440 Thunderbolt 3 chip. I tested the COM2-T3 up to 3166.71 MB/s with a fast SSD, but TerraMaster claims up to 3,853MB/s sequential read speed and 3,707 MB/s sequential write speed with a 4TB Samsung 990 PRO SSD, while connected to an Apple M4 Pro Mac mini (MacOS version 15.3.2) using AJA System Test software. So I thought it might be a good idea to give it a try.

TerraMaster D1 SSD Plus unboxing

I received the D1 SSD Plus enclosure in its retail package with key features such as 40 Gbps data rate, Thunderbolt 4/ USB4, support for M.2 NVMe 2280 SSDs, backward compatibility with USB 3.2/3.1/3.0, 3,200 MB/s Thunderbolt speed (not quite the 3800MB/s advertised on the product page), passive cooling, and compatibility with Windows 10/11 and Mac OS 12+.

TerraMaster D1 SSD Plus Portable SSD Enclosure
The bottom side of the enclosure has more specifications, including support for Thunderbolt 5 (limited to 40 Gbps), M-Key and B&M-Key SSD support, and Linux is added to the list of supported operating systems.

D1 SSD Plus specifications
Inside the package, we have the SSD enclosure, a pouch, a USB-C cable, a thermal pad, a screwdriver, a Quick Installation Guide, and a few other documents about warranty and “compensation promises”. There’s no Type-A port, so if you need to temporarily connect the SSD enclosure to a system without a USB-C port, you’ll need to find a USB-A to USB-C adapter.

TerrasMaster D1 SSD Plus Unboxing
The device features a thick aluminum enclosure to enable fanless operation, and the only port is the 40 Gbps USB-C port.

D1 SSD Plus 40 Gbps SSD Enclosure

Teardown SSD installation

The bottom side of the metal case has a single screw, which we will remove to open the SSD enclosure.

D1 SSD Plus Screw
There’s an M.2 socket for PCIe Gen4 x4 2280 SSDs, and shorter SSDs are not suitable for this enclosure.

TerraMaster B00 D1 SSD S2
As part of the teardown, I loosen four more screws to take out the board. The PCB design is quite pleasing, and the main chip is covered by a thermal pad in contact with the metal case for optimal cooling.TerraMaster D1 SSD Plus teardown
The main chip is an ASMedia ASM2464PD USB4/Thunderbolt to PCIe Gen4 x4/NVMe 1.4c accessory controller compatible with existing legacy USB 3.2 interfaces, as well as Thunderbolt 3. So at least, it’s different from the two Intel JH7440 SSD enclosures we previously reviewed.

asmedia ASM2464PD

Please put the board back in place and install our WD_BLACK SN850X NVMe SSD, securing it with the provided screw and screwdriver. Make sure to peel the protective film off from the thermal pad for the SSD.

WD Black SN850x NVMe SSD installation in D1 SSD Plus enclosure

Testing TerraMaster D1 SSD Plus enclosure with an Ubuntu 24.04 mini PC

We’ll need a computer or laptop with a USB4 or Thunderbolt 4 port. I used the UP Xtreme i11 Edge mini PC running Ubuntu 24.04.3 with Linux 6.14 for testing.

TerraMaster D1 SSD Plus USB4 NVMe SSD enclosure review

I often use the mini PC headless, simply connecting over SSH, and I noticed the drive did not show up with lsblk, so I checked the kernel log:


The TerraMaster TDAS was detected, but immediately disconnected.  Then I decided to connect the display, and the drive was mounted shortly after as /dev/sdb1:


I didn’t immediately pick that it was an issue, especially since the TerraMaster TDAS was listed as a USB4 device with boltctl, albeit in a disconnected status:


When I ran iozone to test performance, I realized something was wrong since the speed was consistent with a 10 Gbps USB 3.x connection:


That’s where I understand we had good and bad news. The good news is that USB 3.x backward compatibility is working, and the bad news is that the enclosure would not connect as a Thunderbolt/USB4 device. What probably happened was that it attempted to connect using the Thunderbolt protocol, and after a while, it fell back to USB 3.x mode. I should have picked it up immediately, as a working SSD enclosure would mount as a /dev/nvme device, instead of /dev/sdb1.


I then tested the USB4 with an Orico Thunderbolt 3 enclosure to make sure there were no issues with the mini PC itself. First, it was detected properly as a Thunderbolt 3 device using boltctl:


Testing it with iozone confirmed that (2.4GB/s reads, 1.8 GB/s writes):


Sadly, the UP Xtreme i11 is the only computer I have with a proper USB4Thunderbolt 4 port. So at this point, I contacted TerraMaster, and they answered as follows:

1. This is due to outdated Thunderbolt interface firmware on the PC. We recommend updating the Thunderbolt firmware version to NVM 43.
2. The ORICO NVMe hard drive enclosure is a Thunderbolt 3 device, not a USB4 device (ASM2464 controller).

So basically, the typical “it works for us”. The computer is running Ubuntu 24.04 with a recent Linux 6.14, and I tried fwupdmngr to get new firmware, but there was nothing to update. So I contacted AAEON. They tested the UP Xtreme i11 Edge with an ORICO M2V02-C4 NVMe SSD enclosure and reached USB4 speeds (3,000+ MB/s), telling me the firmware is probably fine. Another “it works for me”. That’s what usually happens when interoperability issues occur: each side points the finger at the other. Intel Tiger Lake SoCs are quite mature now, so the likelihood of the D1 SSD Plus firmware having an issue is higher. But who knows?

While waiting for feedback, and enabled Thunderbolt debugging


But when I went to check the kernel log, I had a little surprise:


The TerraMaster TDAS enclosure was not only detected, but with an authorized status:


I assume that just unloading and reloading the module did the trick, or debug mode changed some timing.

Here’s the first iozone run:


It works, but at about 1.6 GB/s read speed and 1.7GB/s write speed, it’s underwhelming.

The second try was better:


2.6GB/s writes and 2.4GB/s reads are much better but still short of expectations.

That’s unfortunate that I don’t have another USB4-capable device right now. However, I’m expecting new boards and mini PCs with 40 Gbps USB ports in the next few months, and I would have been able to perform more tests in November. TerraMaster did not seem willing to wait, and even asked to publish a review without the test results above… So here we go, and right now, what I have is an unreliable SSD enclosure that does not perform up to expectations.

But since they mention having tested the enclosure with AJA System Test software, and a Linux version is available, I did a final test with it on Ubuntu 24.04. Despite multiple attempts and trying to follow the steps above, I was unable to mount the SSD enclosure as an NVMe drive for this test, so it was only tested as a USB 3.0 drive. All I can report is that the utility is working on Ubuntu 24.04, and the test is very short (only 2 or 3 seconds), which always makes me uneasy when testing storage due to potential caching, although I have to say the results are similar to what I got with iozone.

TerraMaster D1 SSD Plus AJA System Test
TerraMaster D1 SSD Plus AJA System Test – USB 3.x mode

I’d like to thank TerraMaster for sending the D1 SSD Plus for review and sponsoring an NVMe SSD. For reference, it is sold on Amazon for about $100 after ticking the 10% off coupon box, or you’ll find it on the TerraMaster store for $109.99.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.

Radxa Orion O6 Armv9 mini-ITX motherboard

16 Replies to “Review of TerraMaster D1 SSD Plus Thunderbolt 4/USB4 NVMe SSD enclosure”

  1. Nice to read a honest review.
    Even when the enclosure is not working as expected you didn’t try to cover it up.

  2. [ Thanks for the review.
    Are there external USB3.2/4-pcie-nvme bridges or thunderbolt-pcie-nvme bridges that support the ‘nvme’ command for direct access without protocol translation/conversion between USB and PCIe (since NVMe standard is no(t only a) specific protocol description (it has NVM command set), but an interface specification)?

    “The NVMe 2.3 specifications consists of multiple documents, including the NVMe Base specification, Command Set specifications (e.g., Computational Programs Command Set Specification, NVM Command Set specification, SLM Command Set Specification, KV Command Set Specification, ZNS Command Set specification), Transport specifications (e.g., NVMe over PCIe Transport specification, NVMe over RDMA Transport specification and NVMe over TCP Transport specification), NVMe Boot specification, and the NVMe Management Interface specification.

    The NVM Express Base (NVM Express Base) Specification defines a protocol for host software to communicate with non-volatile memory subsystems over a variety of memory-based transports and message-based transports.”

    (thx) ]

    1. All NVMe SSD enclosures directly access the SSD using the NVMe protocol without USB to PCIe conversion.

      1. [ Thanks for Your fast response.
        Do ‘smartctl -d {scsi, etc.}’ (mostly, from my experience with supported devices) or ‘nvme-cli’ command line tools work with all USB 3.0 (3.1) version usb to pcie/nvme bridge ics?
        Maybe You can test the ‘nvme’ command (does it provide access for thunderbolt devices?) with this article device?

        ‘Vendor’ ‘Bridge Chip(s)’ ‘Protocol’ ‘Linux NVMe Command Support’
        ASMedia ASM2362, ASM2364, ASM2464PD/PDX USB 3.2 / USB4 → PCIe/NVMe ‘Designed for full passthrough’
        JMicron JMS583, JMS586 USB 3.2 → PCIe/NVMe ‘Known to support UASP, TRIM’
        Realtek RTL9210B (USB-to-NVMe) USB → PCIe/NVMe ‘Partial to full support improving steadily’

        (thx) ]

        1. I can’t with the device used in this review, because it’s not properly detected, and falls back to USB.

          The easiest way to find whether USB or NVMe is used is to check the device name:

          • /dev/sda1, /dev/sdb1, etc… -> USB used. lsusb can list the device.
          • /dev/nvme0n1p1, nvme0n1p2… -> NVMe/Thunderbolt, no USB at all. boltctl can list the device, lsusb won’t find it.
          1. [ what’s irritating me:
            kernel log shows:
            ‘usb 2-1: new SuperSpeed Plus Gen 2×1 USB device number 2 using xhci_hcd’
            ‘usbcore: registered new interface driver usb-storage
            [etc.]
            usbcore: registered new interface driver uas
            scsi 2:0:0:0: Direct-Access    TM      D1 SSD Plus      0    PQ: 0 ANSI: 6
            sd 2:0:0:0: Attached scsi generic sg1 type 0’

            and the (udev? daemon initialized) driver for the usb (bridge) device is
            ‘thunderbolt’

            while also compatible to USB4?
            therefore, registered with ‘/dev/sdb{}’ (and not ‘/dev/nvme{}’ for direct cpu/chipset connections)?

            What’s [c]modinfo thunderbolt[/c], please? (thx) ]

          2. Please read the review. The TerraMaster D1 SSD Plus does not work properly with the UP Xtreme i11 Edge mini PC. That’s why USB shows up.

            Also, as far as I know, USB4 is actually Thunderbolt.

          3. [ Did read the review, just don’t have experience with USB4 or Thunderbolt external bridge ic storage devices.
            Even me not finding a thunderbolt module on a 6.15 kernel for to enable (for x86_64).
            Maybe You can provide a

            (for having some information on that part)?

            (and it seems ‘only supporting Thunderbolt 3 whose support is optional in USB4’ USB4 is not generally supporting all Thunderbolt versions?)

            (thx) ]

          4. Here’s the output of modinfo thunderbolt:

          5. [ Thanks for the information.
            Also found, that for compiling Thunderbolt Kernel modules, it has to be searched for ‘USB4’ with Kernel configuration (e.g. 6.15 from kernel.org), what includes the Thunderbolt parts (being a combined driver for Linux, same for ‘thunderbolt-net’ module). Just searching for ‘Thunderbolt’ or ‘TB’ was only of limited success for an Intel specific module. Just if someone else is looking for that detail. (thx) ]

          6. [ if it’s possible and no big task for You, maybe You could give the output for

            or

            and

            if the device is registered with (modprobe) ‘thunderbolt’ driver.
            (thx) ]

          7. That’s not quite accurate, USB4 builds in part on Thunderbolt 3, but unlike Thunderbolt 3/4, it supports USB 3.2 Gen 2×2 (20 Gbps) and USB4 for data transfers. There are also some other minor differences, most of which are Intel proprietary things like Thunderbolt networking, some docking specific features and some things in the spec that no USB4 host controller lacks, yet Intel claims Thunderbolt offers as a superior feature. In theory, USB4 has a slightly better feature set if you have USB 3.2 Gen 2×2 devices, but the difference are fairly minor.

    2. USB4 does PCIe tunnelling, so it all depends on what the device you plug it in to, handles the USB4 host controller and which protocol it asks for. Afaik, there’s no user control over this, but in theory, NVMe should go over PCIe, as long as the system host controller is willing to communicate over PCIe and doesn’t “fall back” to USB4 or USB 3.x.
      There’s no such thing as an NVMe to PCIe bridge, since NVMe is a protocol on top of PCIe.

      1. [ Is it suitable calling NVMe an interface specification, including a (or several) NVM command set(s), that is(/are) transported over USB, TB or PCIe interfaces and their communication layers/frames/’protocols’?
        If a Thunderbolt device is initialized (and registered) being a ‘/dev/nvme{0,1,2,etc.} device, it can be accessed by ‘tbtadm devices/topology’, ‘boltctl list’ and/or ‘nvme list’ commands?
        What’s the Linux system driver for a NVMe storage device being accessed as a PCIe device (‘lspci’?) on a USB4/TB bridge?

        (to previous post: irritating, meant confusing)

        (thx) ]

        1. NVMe is a protocol, not an interface. M.2 is one of many interfaces that NVMe can use, if we’re talking the physical port you slot the drives in and the M.2 interfaces are connected to the PCIe bus, alongside U.2, U.3, CFexpress and others that rely on NVMe.
          It’s a bit like you have UASP (USB Attached SCSI Protocol) which uses SCSI commands over USB.

          However, there’s no NVMe or USB, at least not as yet, but there shouldn’t really be a need for it either.

          I don’t know enough about Linux and how it handles devices to answer your question, but considering NVMe over Thunderbolt has worked for years, it should work in the same way with USB4, as long as the host controller supports PCIe, which all current host controllers do to my knowledge.
          An external enclosure with an NVMe drive in it should be visible to the system as an NVMe drive, but possibly other things too.

          1. [ Well, yes, partly, me would have agreed with NVMe being a protocol until lately seeing a wiki entry, more specific to NVMHCIS, too.
            en.wikipedia.org/wiki/NVM_Express maybe You can see where’s the discrepancy in understanding ‘NVMe’? (thx) ]

Leave a Reply

Your email address will not be published. Required fields are marked *

Boardcon MINI1126B-P AI vision system-on-module wit Rockchip RV1126B-P SoC
Boardcon MINI1126B-P AI vision system-on-module wit Rockchip RV1126B-P SoC