To this day it can still be treacherous to buy a storage adapter for your Raspberry Pi 4. There are many that will not work properly and perform very poorly.
I’ve covered which adapters work and don’t work in my Native USB Booting Guide as well as my old “workaround” SD + SSD method guide and over the years people have submitted hundreds of comments about which adapters do and don’t work.
From everything we’ve learned together in the comments and adapters I personally own/use I wanted to compile this information into a new “Best Storage Adapters for Raspberry Pi 4” list. Let’s get started!
How to choose a Pi SSD storage solution
There are a few different considerations and tradeoffs you need to weigh when you’re choosing a storage adapter/enclosure as well as the drive itself. The main considerations are:
- Specific project requirements
- Power
- Performance
- Budget
The easiest place to start is with your specific project requirements. Is this Pi going to be somewhere where you are okay with having an extra adapter/enclosure and SSD laying around? If you’re going to be using the Pi in something like a drone/vehicle then you may want to go with a USB thumbdrive style ultracompact SSD that plugs directly into a USB port and has no wires or adapters/enclosures. There are also lots of cases available specifically for the Pi that add an additional storage slot (such as M.2 SATA, the older m-SATA style, etc.) to the Pi that may work better with a tightly integrated build.
How much power is going to be available? Is your Pi going to be running off a battery where you want to use as little energy as possible? Do you have AC outlets around? Are you willing to add a powered USB hub to your setup? If your Pi is going to be sitting in a corner in the basement / a closet / some place like that then you can plan to have a powered USB hub and plentiful reliable power around. The lowest power options are going to be 2.5″ SATA drives WITHOUT an enclosure (using just an adapter instead with the drive laying in the open). I have never over years of usage used a powered USB hub with a 2.5″ SATA adapter but many enclosures won’t even boot without one.
What level of performance do you require? If your Pi is going to be running a server or hosting a database then you need a drive that has high random I/O performance as well as large throughput. Performance has a cost though both in power and budget. The highest performance NVMe drives are the most expensive and the NVMe enclosures are the most power hungry class of storage adapters and almost universally require a powered USB hub to be integrated into your setup but we’ll cover this more later in the “Power Requirements” section.
And finally what type of budget do you have? If you are looking to save money you may be wanting to reuse an old SSD or get one used for very cheap. NVMe is the most expensive and 2.5″ SATA / mSATA SSDs are the cheaper options. Places like eBay can be a great source of very cheap drives as well.
The bottom line is choose the type of solution that meets your project’s needs and your budget!
Top Performing Drives
M.2 NVME
This is the top performing (and most expensive) drive class! They require more power than other types of drives and the NVMe enclosures often bump the requirements up to potentially requiring a powered USB hub to boot (especially with an enclosure). See the “Power Requirements” section below for more information.
The Samsung 980 Pro (NVMe) is a professional grade SSD and one of the fastest in the world. The Samsung NVMe drives have been at the top of this category for a long time and are well trusted for both their performance and reliability / long life.
Links: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
The Samsung 970 EVO Plus is a fantastic drive and has fallen in price substantially. It’s widely available around the world. The smaller capacities (such as the 250GB version) of this drive are perfect for the Pi! This is the top performance option without going into the “Pro” series of the lineup which are much more expensive.
Links: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
The KingSpec 3D NAND M.2 NVMe drive is another very affordable choice that is widely available. It performs well and works great with the Pi!
Links: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
M.2 SATA
M.2 SATA does not have the transfer rates that M.2 NVMe does but they are quite a bit cheaper and still a fantastic choice for the Pi.
The Kingston A400M is a cheap and reliable M.2 SATA SSD that has over 170 benchmarks on pibenchmarks.com. It’s extremely cheap and may even be cheaper than the recommended 2.5″ SATA drives in some countries!
Links: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
The Western Digital Green M.2 SATA drive is the #26th most popular storage device overall on pibenchmarks.com so it definitely works well and is very affordable. This is another great budget option that can often come in at a lower cost (depending on availability, country and other market factors) than 2.5″ SATA SSDs often do while having a much lower profile!
Links: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.*a*u*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
2.5″ SATA
2.5″ SATA drives are limited by the transfer speed of the SATA interface like the M.2 SATA drives. On the Raspberry Pi this is not as important as on desktop. This is usually the cheapest option and performance is still fantastic!
The Kingston A400 has been a great drive to use with the Pi for years. It’s reliable, widely available around the world, has low power requirements and performs very well. It’s also very affordable. This drive has been benchmarked over 1000 times at pibenchmarks.com and is the #1 most popular SSD among the Pi community!
Links: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
The Crucial BX500 is another great choice for a drive to use with the Pi. It’s the 2nd most popular SSD benchmarked with over 840 benchmarks submitted. Low power requirements and widely available!
Links: Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
The Western Digital Green 2.5″ SATA SSD is another option to investigate. Depending on your country and other market factors this may come in as the best deal. It’s a solid performer and commonly shows up on the storage benchmark.
Links: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
The XrayDisk SSD is popular worldwide and available relatively inexpensively from AliExpress
Links: AliExpress*
Portable
Portable SSDs are ones that are designed to be used through USB and aren’t meant to be installed internally. The nice thing about these is they do not require a storage adapter. They are also extremely fast. The ones recommended here will beat 2.5″ SATA drives on the performance benchmarks since internally they are usually M.2 SSDs inside a fancy outer shell. They’re usually more expensive than internal drives but not quite as expensive as the top performing internal NVMe drives. Tends to be cleaner than a adapter/enclosure setup but not as clean as the ultracompact setup.
The Samsung T5 Portable is one of the most popular USB SSDs for the Raspberry Pi with over 350 unique benchmarks. It’s also one of the fastest with an average score of over 8300 points! No storage adapter required for this one, it is a USB based drive and will plug right in.
Links: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
The SanDisk Extreme Portable is a very small portable SSD that can easily be put on a keychain or a loop with the built in notch. It’s also very fast with an average score of over 8,000. The drive has been tested over 147 times making it one of the more popular ones to use with the Raspberry Pi.
Links: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
Ultra Compact
The cleanest possible setup option. The drive will only plug into your USB port and stay there taking up no extra footprint and adding no extra cables. These recommendations are both actually faster than 2.5″ SATA drives (internally they are M.2 NVMe drives and they perform at that level). You pay a premium for this option vs. something like a 2.5″ SATA setup but lower capacities are much more affordable.
The Orico GV100 is a portable NVMe usb-stick style drive. It’s extremely fast due to actually being a true NVMe drive in a very compact form. This is an excellent choice if you are building a setup that has very limited space or having a dangling adapter/enclosure would be problematic.
Links: AliExpress*, Amazon.ca*, Amazon.com*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.se*, Amazon.sg*
The SanDisk Extreme Pro USB SSD is a true solid state drive. This is different than a typical “flash drive” which uses extremely cheap memory and has very low random I/O performance/throughput compared to a real solid state drive. I’ve used both the USB 3.1 and USB 3.2 variants with the Pi successfully and they benchmark very well!
Links: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
Recommended Adapters / Enclosures
M.2 NVMe
The ICY BOX is basically a giant heatsink that you mount a high performance M.2 NVMe drive inside of. This enclosure is really fast but requires a powered USB hub. Not even the 3.5A adapter can reliably power it! The enclosure works well and will physically feel warm to the touch as it is pulling the heat off your NVMe drive!
Links: Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
If you really want to take things over the top the ASUS Rog Strix M.2 NVMe enclosure uses the latest USB 3.2 Gen2 specification, is RGB capable and works with the Pi! Unsurprisingly, adding the extra lighting does take extra power! A powered USB hub is also required for this enclosure. More widely available than the ICY BOX but tends to be on the expensive side.
Links: Amazon.com*, AliExpress*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
M.2 SATA
The UGREEN M+B enclosure is a great enclosure for the Pi for M.2 SATA 2280 NGFF drives. It supports both B-key and M-key drives. Does not support newer NVMe drives. As with other types of enclosures it requires more power than other options!
Links: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
The Argon ONE M.2 is a M.2 SATA Pi 4 case / storage solution. With the case and M.2 SATA expansion board you can completely enclosure your Pi 4 and have a built in M.2 slot! The M.2 SATA board is sometimes sold separately from the case itself and can be used as well. Does not support NVMe, this is for SATA M.2 drives only!
Links: Amazon.com*, AliExpress*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
2.5″ SATA
The USB 3.1 variant of the StarTech 2.5″ SATA adapter works well with the Pi 4. The USB 3.0 variant doesn’t have firmware updates available and is not recommended.
Links: Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*
m-SATA
mSATA adapters are getting less common but they are still incredibly useful. Lots of old laptops that came with SSDs have this older style from before the M.2 style slot existed and took over. Often these drives are still very fast and are available for very cheap since they use an obsolete connector that no longer comes on new motherboards. The VL716 isn’t a brand but is instead the name of the chipset that lots of these adapters use. This chipset works great with the Pi!
The VL716 mSATA enclosure lets you connect micro SATA drives to the Pi. These drives are an older type of SSD (usually seen in laptops) predating the M.2 slot but are still widely available and perform extremely well!
Links: AliExpress*, Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.se*, Amazon.sg*
Power Requirements
Most types of adapters can be powered by the Pi itself. One notable exception is NVMe enclosures. Throughout the years we have had hundreds of comments from people who had no trouble powering 2.5″ SATA enclosures but couldn’t get a NVMe one to work at all without a powered USB hub.
Very large older 3.5″ SATA drives are known to require more power than the Pi can provide as well as some types of very high performance models that were designed to burn more power to get extra performance gains.
For solid state storage older models of solid state drives (SSDs) are also known to draw more power than their newer counterparts. If you have a drive that you think may fall into this category then definitely be on the lookout for power related issues and extra cautious about your power setup. High end “extreme” performance models also tend to draw more power (Samsung 970 NVMe drives* are some of the fastest in the world but also pretty power hungry for the Pi).
Insufficient Power Symptoms
Symptoms of a lack of power to the drive can include the system only booting sometimes (or not at all) or working for a while and then locking up. Just because the drive boots does not mean it is getting enough power. Some commenters on previous articles have described this as working fine until there was a sudden spike in CPU usage while they tried to do several things at once (high CPU, accessing storage, activating various hardware all at once) and then they would get a lockup/crash.
This is because the Pi is teetering on the edge of not having enough power and that spike caused it to drop enough where the drive actually lost power (likely only for tiny fractions of a second). This is enough instability to easily cause a crash and worse if it happened to be in the middle of writing something important! Usually nothing will happen other than you’ll have to restart the Pi but because of the risk of data loss and eventually corrupting files. That being said, if you’re particularly unlucky you will have to fsck the drive or potentially even reimage it if fsck is unable to repair the damage!
The best answer is to test for stability. Do this by stressing out the Pi and make sure you are doing activities that stress the CPU and storage at the same time like browsing the web, etc. and if you can do that for a few hours/days without a lockup/crash then you have a stable power setup!
Powered USB Hub Solution
For NVMe enclosures and power hungry drives I personally use this Sabrent powered USB hub and have been recommending it here on the blog for a long time:
The Sabrent powered USB hub delivers a whopping 2.5A of dedicated power for your USB attached devices. This is almost as much as the Pi adapter itself is rated for (3.0A). It will easily power the most thirsty of setups such as NVMe enclosures.
Links: Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.co.uk*, Amazon.es*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*
Note: Make sure Amazon doesn’t try to take you to the non-powered version and that it’s the one with the AC adapter that plugs in to provide extra power
If this hub isn’t an option for you and you don’t have one already you can try with it then look in the reviews for people saying that it is working with Raspberry Pi. Some powered USB hubs will not play nice with the Pi so before buying one definitely check reviews and do some careful research about what to expect with the Raspberry Pi!
Oversized Power Adapter Solution
This solution will work for setups that are right on the border of having enough and not having enough power. An example would be if you can get a stable boot but are getting occasional lockups/freezes when the power dips just below the threshold it needs.
If you are using a powerful NVMe drive/enclosure combo like the ICY BOX with a high performance Samsung NVMe drive even with the extra 500 mA it will still not even boot. I have had these oversized adapters and they are great but for a very powerful drive/adapter combination you are going to need more than 500 mA.
It’s a lot less extra wires and one less AC plug though if you are right on the border and just need a little bit more. It will depend on your individual drive/adapter combo whether it’s enough or you will have to go full powered USB hub!
The CanaKit 3.5A adapter has an extra half an amp (500 mA) of capacity to give some breathing room to your accessories. This is bigger than the official Pi power supply which provides 3.0A.
Links: Amazon.com*, Amazon.ca*, Amazon.com.au*, Amazon.sg*
Look for a USB-C power supply rated to supply around 3.5A. 3.0A or lower won’t do much good as that is almost certainly what you already are using. You can use a higher one (at your own risk). The largest one I’ve ever used is my Dell laptop’s 30W USB-C power adapter. It’s probably not a good idea to go too much bigger than this or to even use one this big over the long term (I didn’t, just for occasional testing and as a emergency backup) but USB-C does have some specification improvements related to power management that seem to provide some flexibility here.
Power Limits
The Pi can only pass through a limited amount of extra power. On the Pi 4 this is up to 1.2A of extra power for peripherals (combined) on top of the board’s 3.0A power rating. This is much more than the Pi 2 and some other previous models could do which was only around 0.5A. This also means that getting a power adapter bigger than about 4.2A of rated current is pointless because the Pi won’t allow any more power to flow through to the board to the peripherals through USB anyway even if it’s available.
I’m oversimplifying a little bit to illustrate the point but if you want the full technical details they are available here in the Raspberry Pi USB documentation. The important takeaway is that going much above 3.5-4.0A or so will not actually provide any more power to the Pi because of these limits. If you’ve hit this ceiling and it still isn’t enough you need to go powered USB hub.
I’ve also used ones that charge cell phones to power Pis before and these ones are the most likely to fall into a range close to what the Pi uses. Most of the ones I had around the house for phones were 2.5A (just barely not enough) or 3.0A so it was enough for a backup spare but not enough to provide extra power. Nevertheless, it’s definitely worth it to check what you already have around and see if there are USB-C chargers around to test with!
Note that a powered USB hub essentially bypasses these limits because the power for your peripherals such as your USB storage will come from the AC adapter connection to the powered USB hub instead of the Pi having to provide that power.
Powered USB Hub Troubleshooting
Most hubs including the Sabrent one above can feed back power into the Pi which can cause it to not boot when the power is connected. The reason for this is that the Pi is detecting power and is trying to power on using that source but the current provided isn’t enough for the Pi to actually boot.
The solution to this is to remove the USB hub’s connection from your Pi momentarily and then connect the power. Plug your USB hub back in quickly after reconnecting the Pi’s power (if you have native USB booting set up) and unless you really fumble with reconnecting it you will have it plugged in well before it tries to boot from the SSD!
If this trick doesn’t work then unfortunately you may have a powered USB hub that is not going to work with the Pi. It’s worth checking to see if there are any firmware updates available for your USB hub before you give up on it as some readers have let me know in the comments of previous articles that they were able to get some hubs working after a firmware upgrade!
Full Storage Adapters Compatibility List
These lists are compiled from my two USB booting posts here and here.
Known Working Adapters
This is a compiled list of known working adapters built by myself from adapters I’ve purchased and commenters from ones they have purchased in this article and my newer guide that utilizes the new Raspberry Pi 4’s native bootloader for USB booting.
StarTech 2.5″ SATA to USB 3.1 Adapter* | 2.5″ SATA to USB 3.1 | Verified working in comments (thanks Fredrick) |
StarTech 2.5″ SATA to USB 3.0 Adapter* | 2.5″ SATA to USB 3.0 | Verified working great by myself and others on Pi 4 |
Inateck FE2004 2.5″ SATA to USB 3.0 Hard Drive Enclosure* | 2.5″ SATA to USB 3.0 | Mirco reports that this enclosure is working but trim is not supported |
Samsung 2.5″ SATA to USB 850 EVO Kit /w Adapter* (Alternate amazon.de link*) | 2.5″ SATA to USB 3.0 Kit | This is a kit that comes with a drive and adapter. Rene confirms the adapter works including with non-Samsung drives. |
CSL 2.5″ SATA to USB 3.0 Adapter* | 2.5″ SATA to USB 3.0 | The CSL SL adapter is confirmed to be working by Krikitt in the comments. Available in Europe. Not available in US. |
UGREEN 2.5″ SATA to USB-C 3.1 Enclosure Drive Caddy* | 2.5″ SATA to USB-C 3.1 | Confirmed to be working by CAProjects in the comments. Available in both Europe and US |
UGREEN 2.5″ SATA to USB-C 3.1 “Protect What You Love” Case* (AliExpress Listing* – Make sure to select USB-C 3.1) | 2.5″ SATA to USB-C 3.1 | Reported working by Michal in the comments, thanks! |
UGREEN 2.5″ to USB 3.0 “SATA USB Converter” Adapter* (AliExpress Listing*) | 2.5″ SATA to USB 3.0 | Also reported by Michal as working in the comments, thanks again! |
UGREEN 2.5″ SATA to USB 3.0 Adapter Cable with UASP Converter* | 2.5″ SATA to USB 3.0 | This adapter is reported to be working by Mirco in the comments |
SABRENT 2.5″ SATA to USB-C 3.1 Type A Adapter* | 2.5″ SATA to USB-C 3.1 Type A | The new USB-C 3.1 Type A version of the Sabrent adapter is reported as working in the comments by UEF. DO NOT get the USB 3.0 version as that one is below on the naughty list and won’t work! |
SABRENT 2.5″ SATA to USB 3.0 Dual Bay Docking Station* | 2.5″ SATA to USB 3.0 | One of very few Sabrent adapters/enclosures to work. Reported working well by William Grey in the comments. Has two bays! |
AliExpress Generic 2.5″ SATA to USB 3.0 3 colors Hard Disk Case* | 2.5″ SATA to USB 3.0 | Reported as working with UASP support by pierro78 in the comments |
Orico 2.5″ 2139C3-G2 2.5 inch USB 3.1 Gen 2 10Gbps Transparent Enclosure* | 2.5″ SATA to USB 3.1 Gen 2 10Gbps | Make absolutely sure it’s the 10Gbps USB 3.1 Gen 2 version. There is another one that looks identical that is a USB 3.1 Gen 2 6Gbps that will not work. Confirmed working by RRT in the comments. |
ASUS ROG STRIX Arion Aluminum Alloy M.2 NVMe SSD External Portable Enclosure Case Adapter* – (AliExpress Listing*) | M.2 NVMe (B+M Key) to USB/USB-C 3.2 Gen 2 | It’s bold. It’s beautiful. It’s also confirmed working by TADRACKET and Steve B. However, be warned, it takes a *lot* of power! Steve B. reports that even with the oversized 3.5A CanaKit adapter* it does not work. If you have the standard 3.0 adapter you can be practically certain it won’t power this enclosure. Does work with a powered USB hub*. |
ICY BOX M.2 NVMe (M Key) to USB-C 3.1 Gen 2 Enclosure* (Alternate amazon.de listing*) | M.2 NVMe (B+M Key) to USB-C 3.1 Gen 2 | Returning legendary commentary Frank Meyer reports: Does not work with a 3.0A power adapter (also reported by TTE). It’s not enough power for this enclosure. Does work with a powered USB hub*. |
TDBT M.2 NVMe (B+M Key) to USB-C 3.1 Gen 2 Enclosure* | M.2 NVMe (B+M Key) to USB-C 3.1 Gen 2 | Confirmed to be working well by WorkHard in the comments |
AliExpress Generic M.2 NVMe (B+M Key) to USB 3.1 “M2 SSD Case NVME Enclosure”* | M.2 NVMe (B+M Key) to USB 3.1 Type A | Confirmed working by Jens Haase, thanks Jen! |
SSK Aluminum M.2 NVMe (M Key) to USB 3.1 Gen 2 SSD Enclosure* | M.2 NVMe (M Key) to USB 3.1 Gen 2 | Brian L reports this is working well with beta firmware upgrades, but that it did not work at all without them! |
ORICO M.2 NVMe SSD Enclosure, USB 3.1 Gen 2 (10 Gbps)* (AliExpress Listing*) | M.2 NVME to USB 3.1 Gen 2 | M.Yusuf has given the first ever report of a working Orico adapter! Make sure it’s the USB 3.1 Gen 2 version that says “Support UASP for NVMe SSD”. This is the way. |
DELOCK 42570 M.2 SATA (B Key) to USB Micro-B 3.1 Gen 2 SSD Enclosure* | M.2 SATA (B Key) to USB Micro-B 3.1 Gen 2 | Andreas Franek reports that the enclosure works with a 3.0A power adapter (gets a little warm) |
Shinestar M.2 NVMe (M Key) to USB 3.0 Adapter* | M.2 NVMe (M Key) to USB 3.0 | This is the adapter I’m using in the picture at the top of the article. It is for NVMe M.2 drives only and is getting hard to find |
UGREEN M.2 NVMe (B+M Key to USB-C 3.1 Gen 2 SSD Enclosure* | M.2 NVMe (B+M Key) to USB-C 3.1 Gen 2 | Confirmed working in comments by Chad D |
UGREEN M.2 SATA (B+M Key) to USB 3.1 Enclosure* | M.2 SATA (B+M Key) to USB 3.1 Enclosure | Reported as working well in the comments by John H. Reinhardt with a ASM1051E chipset |
QNINE M.2 SATA (B Key) to USB 3.0 Enclosure* | M.2 SATA (B Key) to USB 3.0 | I used this enclosure to benchmark M.2 SATA Lite-On and SanDisk drives — working great in 3.0 ports |
Argon One M.2 SATA (B+M Key) Pi 4 Case* | M.2 SATA (B+M Key) Pi 4 Case | This case gives you a M.2 SATA port for your Raspberry Pi and is also a case! Confirmed working by Frank. |
Tanbin mSATA to USB Adapter* | mSATA to USB 3.0 | I used this mSATA to USB adapter for my Crucial M550 benchmark — working in 3.0 ports |
Generic mSATA to USB 3.0 Adapter (fe2008)* | mSATA to USB 3.1 | Confirmed working in comments by Nico |
Canakit Raspberry Pi 4 Power Supply (USB-C)* | 3.5A USB-C Power Supply | Canakit has been making very reliable power supplies for several Pi generations now. Using a 3.5A power supply will give enough extra power for your Pi to power the drive without causing instability |
Simplecom SE502 M.2 SSD Adapter* | M.2 SATA (B Key) to USB 3.0 | Quirks required, reported working by alan but only with quirks |
Delock #61883 SATA to USB 3.0 Converter* | 2.5″ SATA to USB 3.0 | Reported working well by Joerg_H |
Vantec SATA/IDE TO USB 3.0 Adapter* | 2.5″ SATA to USB 3.0 | Reported as working by JeffG but with an ugly messy appearance |
Known Problematic Adapters (Naughty List)
Here is a list of common USB adapters that are known to have problems with the Raspberry Pi 4. You can get some of these adapters working by using quirks mode (see the “Fix (some) USB Adapter Problems Using Quirks” section below).
FIDECO M207CPS USB3.2 to M2 NVME/SATA SSD Enclosure* | M.2 NVME to USB 3.2 Gen 2 | Lee Myring reports that the FIDECO M207CPS has issues working with the Pi |
UGREEN 30848 2.5″ SATA to USB 3.0 Hard Drive Enclosure* | 2.5″ SATA to USB 3.0 | Reporting as not working properly and disconnecting often by Mirco, thanks! |
Sabrent USB 3.0 to 2.5″ SATA adapter* | 2.5″ SATA to USB 3.0 | Only works in the USB 2.0 ports. Will not boot in a USB 3.0 port. I have two of these and can confirm they don’t work. RIP to Sabrent, our previous king of the Pi 3 era of adapters. |
Sabrent USB 3.0 to 2.5″ SATA Tool-Free External Hard Drive Enclosure* | 2.5″ SATA to USB 3.0 | Another nonworking Sabrent adapter reported by Alex, thanks Alex! |
ELUTENG 2.5″ SATA to USB 3.0 Adapter* | 2.5″ SATA to USB 3.0 | Despite earlier reports as working Ryan and one other have reported this adapter does not work unless you enable quirks mode! Don’t make Ryan’s sacrifice in vain and avoid this one. |
USB 3.0 to 2.5″ SATA III Hard Drive Adapter UASP Support-20cm, Black* | 2.5″ SATA to USB 3.0 | reported by dzm in the comments as having very poor I/O performance |
ORICO 2.5″ SATA to USB C 3.0 Enclosure (Transparent)* | 2.5″ SATA to USB 3.0 | Several commenters have stated the transparent ORICO is not working. Avoid! |
ORICO 2.5″ SATA to USB 3.0 Enclosure (Black) 2588US3-BKT* | 2.5″ SATA to USB 3.0 | Commenters report that the USB-C variant of the transparent ORICO enclosure also does not work |
ORICO 2.5″ SATA to USB 3.0 Enclosure (Black/White) 2520U3* | 2.5″ SATA to USB 3.0 | Reported as not working by by Richon in the comments |
ORICO 2.5″ SATA to USB-C 3.1 Gen 1 Enclosure (Transparent)* | 2.5″ SATA to USB-C 3.1 Gen 1 | Confirmed as not working by Andrea De Lunardi in the comments (thanks!) |
Vantec 2.5″ SATA to USB 3.0 USB Adapter with Case* | 2.5″ SATA to USB 3.0 | Does not work after hours of testing and frustration by Moshe Katz in the comments! |
AliExpress Generic 2.5″ SATA to USB 3.0 “New USB 3.0 To 2.5in SATA 7+15Pin Hard Drive Adapter”* | 2.5″ SATA to USB 3.0 | Extremely cheap adapter from AliExpress — MADATALIEXPRESS bought 5 of them and none worked, PPCM had one working, very unreliable and slow when it does work, not recommended even if you get lucky! |
EWENT USB 3.0 to SATA EW7017 | 2.5″ SATA to USB 3.0 | Does not work – reported by Wouter in the comments, thanks! |
CableCreation USB 3.0 to SATA Adapter Compatible 2.5″ SATA III HDD Hard Disk Driver, 0.5FT, Black* | 2.5″ SATA to USB 3.0 | Morgon reports not working in the comments — I also recognize this adapter as the “fake” StarTech adapter that is sold on AliExpress, thanks Morgon! |
JSAUX USB 3.0 to SATA Adapter, USB 3.0 to 2.5 Inch SATA III Hard Drives/SSD/HDD Adapter* | 2.5″ SATA to USB 3.0 | Reported as not working by Bennie in the comments, thanks! |
EZCast M.2 NVME SSD Enclosure Adapter* | M.2 NVMe to USB 3.1 Gen2 | Reported as problematic due to duplicate USB ids — best to avoid — thanks MikeC |
Sabrent 2.5″ Aluminum Enclosure* | 2.5″ SATA to USB 3.0 | Reported as not working by JeffG |
Verify Drive Performance
You can make sure everything is running correctly (and as fast as it should be) by running my quick storage benchmark. You can run the benchmark with the following one-liner:
sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash
This will give you a score you can compare to the other Raspberry Pi Storage Benchmark results and make sure that you are getting an equivalent speed to your peers with the same device.
My SSD KINGSTON SA400M8/240G A400 240GB M.2 failed after a power loss that occurred after only 1.5 years of use. I can see that is no longer available.
I checked the WD Blue SA510 SATA SSD M.2 as an replacement option, but i saw a lot of negative reviews and also there are not many benchmarks available (The WD Blueâ„¢ SATA SSD M.2 2280 has been replaced and is not longer available).
I do not like the WD Green as it slower and with inferior characteristics.
I was thinking of wd red sa500 but is only available on 500gb and has a relative high power draw at write of 3,350mW.
I decided to go with Intenso Sata III Top SSD 256GB M.2 which seems to be popular and cheap but i couldn;t find any information available on power draw.
I also found available Samsung PM881 256GB M.2 but i couln;t find any power consumption either. Do you think Samsung would be more reliable?
I can see that M.2 SATA will no be available soon or later. So is there any NVME drive with low power consumption that would be compatible with raspberry?
I think also you should also remove Kingston A400M from recommendation list as it no longer available.
Can someone post (if knows) the power consumption for these ssd:
Samsung 860 Evo M.2 SSD 250GB M.2
Samsung T5 Portable
Hey Spyros,
You’re definitely thinking about it the right way. You’re right, M.2 SATA is on the way out. There’s really no place for it anymore. 2.5″ SSDs aren’t going anywhere any time soon as 2.5″ is still a widely used interface. The only attractive thing about M.2 SATA at all is how little power draw it has. That’s really it. It’s inferior in every other way to M.2 NVMe.
We have 42 benchmarks for the SA500 on pibenchmarks.com. I think that would be a great choice. You’d be hard pressed to find a 2.5″ SATA SSD that will require you to use a powered USB hub (whereas *most* NVMe drives will require it). The Kingston A400 2.5″ SATA SSD (not the M) has over 2,357 benchmarks on pibenchmarks.com. Nobody has ever gone wrong picking that one either and it is #1 on the site and the Amazon #1 best seller.
Are you trying to power something else alongside the SSD? The reason I ask is that if you go with a 2.5″ SATA SSD (or a M.2 SATA SSD) you’re basically good on power. You won’t need a powered USB hub. It’s NVMe and high-performance mechanical hard drives that are going to land you in hot water on power (even with nothing else plugged in to the USB) depending on the specific drive. Every drive you mentioned that you are even considering is a safe choice and you won’t have to worry about power unless you know you are powering something that also needs quite a bit and are trying to balance it.
The Samsung T5 portable is a super great choice. The thing with the portable USB drives is that they’re designed to be able to run in lower power modes. It’s much more tolerant to low power than the typical USB to SATA/NVMe/etc. adapters. It’s designed for it. That’s also a super popular choice on pibenchmarks.com with 566 tests. It typically just runs a little slower in the lower power modes but it won’t cause problems such as not booting or anything like that.
I really think you are on the right track here though the way you’re thinking about it. I would just say your short list that you have are all really good choices and that you’re already done your homework and are really well prepared. You’re probably overpreparing at this point (better than underpreparing) on power. It’s going to probably come down to reliability (and reasonable prices/availability) here.
For reliability that’s a really good question. I would highly vote in favor of the Samsung drive for reliability. I have ran Samsung drives for a long time and they’re very well known to be extremely reliable. For Samsung the newest drives (such as the 980 Pro which I run in my system) there has been some hiccups but that has been a surprise as historically there were hardly any hiccups. I haven’t had any problems with my 980 Pro but in specific circumstances people have (with specific firmware revisions as well).
Now as far as the Kingstom A400M the reason it’s still on the list is this is still easily and widely available (but usually used). It’s just not available new anymore because it has been discontinued. There are literally millions if not tens of millions of these drives out there though. Check out this eBay listing for $9.99 a pop and even cheaper if you want 3 or more. I’d strongly urge people to consider buying a cheap used part especially for something like M.2 SATA. You can typically run a health check on these drives when you get them and make sure they are in relatively good health when you get them (and otherwise return it or ask the seller for an exchanged replacement that is in better health).
Of course for maximum reliability you should still buy new (they’ll by definition be at 100% health and never used in production). But for the Pi? As long as you have a good backup plan/system for your services/servers/whatever you are running on it you may be able to save some serious $$ by buying a 80-90% health used part on eBay. Almost all of them come from old consumer/business machines that are scrapped en masse so the sellers have a pile of dozens/hundreds/thousands typically.
Hopefully that helps!
Hello there
While you all guys playing with ssds nvme and m2 storages im still on mechanical hdds with the WD500lplx the fastest 2.5″ black there is getting maximum speeds of 142mb/sec thats nothing compared to your “drives” but its way faster than the useless card reader its not only the speed but the access time that matters.but still to get a descent performance from a mechanical hdd you need a sata controller without uasp support otherwise it goes slow as hell,there are a few controllers with uasp that work good if you disable uasp with quirks like the Jms566/567 but in all others even if you disable uasp the performance is compared to an sdr12. Long live the HDD!!!
Hi James, hope you’re well!
This post is amazing and very informative.
I switched from my external samsung 1tb ssd (ugreen enclosure) to an old external 2tb 5200rpm mypassport HDD as I need more space*
I’m now planning to upgrade to an external 2tb ssd solution.
I’d like to purchase a solution that is small, doesn’t require powered usb-hubs and I can use on a future Pi.
I’m confused by the m.2 sata vs m.2 nvme combinations.
Am I getting it correctly that there are two m.2 kinds, sata and nvme?
And that m.2 nvme is power hungry on the pi4, but m.2 sata isn’t?
And when on the future pi5, it’ll likely support m.2 nvme BUT NOT sata m.2?
Lastly would a samsung t7 2tb ssd be faster than a m.2 sata on the Pi400?
To add to the confusion, I have the feeling that some descriptions on Amazon are not correct where they call all products nvme.
Thanks, have a great weekend mate
Luca
*this was painful to setup as I was uncertain whether the mypassport would exceed 1.2A. I bought a usb power tester and it runs between 0.3-0.7A, but as somebody else rightly put, the tester 0.5hz is not enough to catch peaks.
Hey Luca,
The M.2 SATA drives are much more power efficient than NVMe. This is true. To be honest with you the Raspberry Pi is really, really bad at NVMe and it’s a total waste to do it. Since you are going over USB 3.0 it’s all bottlenecked anyway by a SATA drive. NVMe is impossible to utilize on the Raspberry Pi. You can do it if you deal with the power issues but you will get 0 points more on your score than someone using a 2.5″ SATA drive because the Pi is so bottlenecked.
To be honest I have moved on from Raspberry Pi altogether. I don’t use these anymore at all. I use the Orange Pi 5 and the Radxa Rock 5B. These are everything the Raspberry Pi 5 should have been (which was delayed until at a minimum of 2024). The Pi 4 is basically 4-5 years old now with no new model even announced still.
They cancelled their new Raspberry Pi 5 that was going to launch this year the second that the Orange Pi 5 was released and they realized how far behind they were. It was not going to have a M.2 slot at all and was still quad-core (LOL). Obviously that wasn’t going to play when Orange Pi released an 8-core board with a built in M.2 slot for less than $100 and that’s before even mentioning how bad Raspberry Pi is at availability and actually getting these into people’s hands (really, really bad it turns out, the worst in fact). The least amount of RAM you can buy on these modern boards is 4GB. That’s the *lowest* choice.
Both the Orange Pi 5 and Radxa Rock 5B do both M.2 SATA and M.2 NVMe. They have a real slot for it. They outperform the Raspberry Pi by anywhere from 3 to 1 to 5 to 1. That’s just on storage. They also both have 8-core CPUs (the RK3588/RK3588S).
In my opinion the Raspberry Pi is completely obsolete. You don’t need any adapters to do this on modern boards. You don’t have to go through USB 3.0 anymore. It’s not worth it to keep waiting for Raspberry Pi. We have no idea what they’ll put on their next board. There might not be a M.2 slot at all for all we know and it’s impossible to say whether it will be NVMe, SATA, both or none. All of the much better competitors already support both and have for a while now.
You’re completely right about the 1.2A limit. The Raspberry Pi is an absolute joke for doing this. All of the modern boards have no problem with this. They have the native slot, plenty of power, more RAM and more CPU cores. I’ve never worried about any of these things since leaving the Raspberry Pi behind and going Orange Pi / Radxa.
The Orange Pi 5 has over 900 benchmarks on pibenchmarks.com now so a *lot* of people have joined me. It’s so powerful I even install Steam on it and can play modern games at full speed. Everyone sees the same shortcomings you do with using the Raspberry Pi for this. We all got tired of waiting while Raspberry Pi continues to not only fail to put out interesting products but can’t even restock their 5+ year old models and make those effectively anymore.
It just no longer makes sense to use. Not only is it miserable to try to buy Raspberry Pis (still) they’ve been completely left in the dust for a while now on performance. I doubt they will ever catch up. By the time the Raspberry Pi 5 is ready the Orange Pi 6 and Radxa Rock 6B will be releasing. Raspberry Pi will more than have their hands full even trying to catch up to the current models of the competition. They’re also available now and have been since launch. They’re better at availability as well as performance. They cost more than a Raspberry Pis theoretical sticker price (which hasn’t been what you can really get them for for years) but less than the Raspberry Pis street price.
Hopefully that helps!
I get your point.
It’s just that I found this very active community which maintains an amazing retropie build (Rick’s dangerous retro power edition). It’s amazing. I got hooked to it and dropped my build in favour of this.
They have an update script linked to a mega folder. Users contribute to it by giving feedback to the main curator (Rick) who uploads updates and improvements nearly daily, which get automatically installed when running the local update tool. They currently went past the 1tb threshold and they all switched to a 2tb ssd disk (or nvme or sata). So if you don’t want to miss out, you need to upgrade too.
And it’s on the Pi4, or Pi400 in my case. So I’m pretty happy to stay on this system for now. They’ve actually just started building a batocera agnostic port, so who knows, they may slowly move away from the Pi4 in the future. But the main curator is sticking to the Pi4 for now.
I’m running a 9 years old 2tb usb3.0 my passport hard disk. It says on CrystalDiskInfo it runs at 5200rpm. The good news is that it has less than 1000 hours of uptime because it was used as a tertiary backup disk until now. So brand new except it has 9 years of age.
The Usb tester I got has a 0.5hz refresh rate, so if it spiked above 0.7A for a fraction of the time, it would go undetected. In general, it seems to be confined between 0.3 and 0.5A.
I’m ok with the slower startup time. I’m just concerned about power consumption. What do you think?
Also, pricewise, m.2, nvme, sata, non m.2 are around the same price.
I also have a ugreen ssd enclosure I can reuse. So the option is to test the current HDD further for power consumption. Or bite the bullet and get a samsung t7 2tb ssd. Or a m.2 sata + enclosure solution which ends up being cheaper currently (!).
Also one more question, perhaps you came across this one:
When I switched from a usb3.0 SSD to a usb3.0 HDD, the first 1280×720 boot screen stays on for a very long time with the following text:
trying boot mode usb-msd
It usually takes 20 seconds before the boot goes ahead.
I thought it could be due to the HDD spinning up. But the same happens on every reboot, even when the HDD is up and running.
Hey Luca,
That’s excellent that you measured it with the USB power tester. It’s a pretty low power draw. If you hook it to a PC does it draw that little of power with your USB tester? My guess is it’s running in an extremely low power / low performance mode. The USB MSD devices are pretty good at doing that. The older they are the less power they will probably draw.
What does the drive get on the pibenchmarks.com performance score? The maximum USB 3.0 can do no matter what you buy is about 8,000 points. If the HDD isn’t getting a very high performance score than I’d imagine it’s due to low random read/write speeds (something CrystalDiskMark measures). I’d imagine it doesn’t perform very well as that old of a drive but the score may surprise us!
I’d definitely just reuse whatever old adapter you have when it comes to SSD. It’s not worth spending any money on the Pi 4 for performance. A Samsung T7 seems out of the question to buy for such as setup as that is actually a USB 3.2 drive and the Raspberry Pi 4/400 is only USB 3.0. You’re paying for a lot with that drive that you can’t actually use on that board. None of them will perform any better than the other either (in addition to costing the same). If you want the minimum power draw a 2.5″ SATA or M.2 SATA will do just fine and use the least amount of power. It would eliminate any startup pauses as well.
RandRead: 541 - RandWrite: 1760 - Read: 20788 - Write: 17361
Enter a description of your storage and setup (Example: Kingston A400 SSD on Pi 4 using StarTech SATA to USB adapter)
Description: 2TB 5200rpm usb3.0 MyPassport (WD) on Pi400
(Optional) Enter alias to use on benchmark results. Leave blank for completely anonymous.
Alias (leave blank for Anonymous): luca
Result submitted successfully and will appear live on https://pibenchmarks.com within a couple of minutes.
Category Test Result
HDParm Disk Read 97.60 MB/s
HDParm Cached Disk Read 145.02 MB/s
DD Disk Write 80.9 MB/s
FIO 4k random read 141 IOPS (564 KB/s)
FIO 4k random write 450 IOPS (1802 KB/s)
IOZone 4k read 20788 KB/s
IOZone 4k write 17361 KB/s
IOZone 4k random read 541 KB/s
IOZone 4k random write 1760 KB/s
Score: 1458
I’ll measure the usb power draw on the PC when I have a bit of calm. So far I have not encountered fs-errors or the like. Speed is what it is, but it does not affect everyday running of the Pi, aside from boot time.
Regarding ssd, I take your suggestion is to just buy an internal ssd and use the existing adapter I have. Thing is that ssd drives are currently as expensive or more expensive than nvme, and roughly 30% less expensive than the samsung t7. Anyway, I don’t mind the current setup, assuming power draw is not an issue. The disk is 9 years old but it has hardly been used, so it should hopefully last long. Enjoy your Orange Pi5 and similar mate!
Thanks!
Luca
Hey Luca,
Oh wow, that’s some interesting pricing on the T7 vs regular SSDs! In that case it sounds like the T7 may indeed be smarter. It will also be future-proofed where if you want to use it for something else in the future it will perform even better with a USB 3.2+ capable device!
So the benchmark kind of confirms my initial suspicions. It looks like random read/write is where it is struggling. You can see it’s barely pulling out like 541KB/s which is going to have an impact when it’s seeking. One thing that can actually help is defragmenting the hard drive. Fragmentation will increase the random read/write times for sure. Defragmenting in Linux is actually a thing although we don’t think about it very much anymore in the age of SSDs. This may shave a few seconds off that boot time though.
Enjoy the storage setup too, definitely let me know what you end up going with! If it ends up being the Samsung T7 I think you’ll be pretty happy if that’s going for less than SSDs in your area. Take care!
I can confirm that the ACT AC1510 adatpter cable DOESN’T WORK. Link to product page.
I have purchused the USB 3.2 Gen1 – 2,5″ SATA HDD/SDD (AC1510) variant, and after a couple days of I/O errors and random drive disconnects I have come to the conclusion that it’s the adapter cable. Trying out the USB 2.0 ports on my RPi 4 and using the USB 3.0 ports with UASP disabled confirmed my suspicion.
Hey Adam,
Great work checking on the USB 2.0 ports. I agree with your conclusion here. Thanks for sharing this!
Hello, I had a few questions regarding a potential m.2 nvme set up I would like to implement. I’m looking for the pi to be fairly mobile/compact for regular traveling. Basically, I’d like a form factor to that end, and also no powered usb hub to have to drag around (if viable). The nvme in question is the SkHynix Gold P31 500 GB, which I chose because it seems to have a reputation for being one of the most power efficient/least demanding nvmes (and was also super cheap on sale). Also, when the pi is not moving around, it will be running a project 24/7. Thank you for any assistance with these:
1. I see a couple of the nvme enclosures listed above mention definitely requiring a powered usb hub…but just to clarify, the ones that don’t explicitly state so in the description do not require it? I am using the Canakit 3.5 A power supply, which I gather might make some small difference.
2. If it doesn’t require a usb hub, I would consider something like the TDBT enclosure listed above. However if I wanted to get greedy and have no cables at all, I see there are a few options on amazon that have a direct usb connection (though they are not listed in the approved ones above). For instance: this, and this
My question is would these be likely to work without the cable form factor, and without a powered usb hub? Or is there no way of knowing without just trying them out?
Thanks again for any advise, and apologies for the wordiness. I am still a learning nub.
Hey Sean,
Great question! So the setup you’re talking about does sound fantastic. The 500GB models tend to still be among the more power efficient models. It’s when you jump to 1TB+ that the power requirements generally rise and powered enclosures / a powered USB hub often becomes necessary.
So the 3.5A one can make a little bit of a difference. It has a little bit more head room. The issue is that the Raspberry Pi has a hard limit on how much current can pass through USB to other devices. The maximum power draw for USB is 1.2A for all devices *combined*. This means using an adapter much bigger than the one you have is pointless. The Raspberry Pi cannot pass that power through it so even if you connect a 60W charger (which I’ve done before with like my Dell laptop USB-C chargers) it won’t hurt it. It also won’t help because you still are stuck with the 1.2A limit from the Pi itself.
I think there’s an excellent chance yours won’t require a USB hub or powered enclosure. The 500GB should be okay. It helps that this is known to be a power efficient model. The only exception would be if you have *other* things plugged into USB drawing power as well. To go for a setup like this you would want nothing else drawing power ideally from the USB ports. It’s an unfortunate limitation though because often even something like a keyboard with a lot of RGB lighting will destroy your power budget on the Pi because it’s combined with *everything* plugged in together. It’s not 1.2A each device. It’s 1.2A total for *all* USB devices.
Now the passthrough adapter is a very good question. I’ve absolutely used these before. I used to recommend passthrough ones like this. These are actually the most efficient ones. They are more power efficient than enclosures *and* adapters because you no longer have that long length of cable running which does lose power. It’s not just the cable length though. There’s actually less circuitry on the board altogether which further reduces the power requirement. Some of these don’t even have power LEDs (I used to recommend one like that one before it got discontinued) and that’s the best of all.
Definitely let me know if they work for you. It looks like they have Realtek chips in them but they aren’t ones that I immediately recognize. USB 3.1 Gen2 though we generally haven’t seen as many compatibility issues with. It looks like the other one is even USB 3.2 Gen2. Those seem to do okay but as far as I know nobody has reported on one of these so definitely let us know what you find if you try them.
Hopefully that helps!
Hi James,
Thank you for the detailed reply. Yes, that is some useful info. I was not aware of the 1.2A limit on the Pi’s USB slots-good to know. Theoretically the only other things I would plug into the pi is an ancient wired compaq keyboard I have lying around (no lighting) and an oldish Logitech wireless mouse. I like the idea of using the pi as a secondary desktop since that functionality would be available with the intended project’s OS. However, it is not make or break thing and I could theoretically access it remotely if those two items make the difference (though I would be surprised if that’s the case).
Ah I had not considered these “passthrough” adapters would actually be even more power efficient since there is no loss along the cable length, makes sense. Plus circuitry. You said you used to recommend one before it got discontinued. Do you have any others in mind off hand?
Can I ask does the quality or chipset of the adapter/enclosure make a significant difference when it comes to the performance of the pi? I realize that nvme speeds are obviously bottlenecked by the 3.0 interface. But within those bottleneck speeds, does the type of adapter/chipset still have noticeable sway? Or is it just a matter of it either works or doesn’t work.
Sure, I will likely try these two I listed above and let you know. I was hesitating because I haven’t heard of either of those brands (but not a shocker given how little I dabble in tech) and there aren’t many reviews mentioning functionality with the pi. And often the reviews don’t state whether they are using it as external storage or as a boot device. Will see how it goes anyhow, cheers.
Hey Sean,
So the version that I used to see all the time has been updated. They added a LED to the newer versions but I’d imagine it’s still one of the most power efficient ones. This one is being sold under the name Godshark but if you look on Amazon you’ll see a whole bunch of other vendors selling variations of that one. The reason I don’t link to them though is I haven’t tried the ones with the new chipsets (or heard from anyone that has).
If you end up trying any of them and they work fine I would definitely add them to the list. We really haven’t seen any compatibility issues with any adapter USB 3.2 Gen2. All of the issues were on USB 3.1 Gen1 which you really can’t even find someone selling an adapter with those chipsets anymore in them. If you search for USB 3.1 Gen1 you’ll only find a few of them (usually 6Gbps chipsets). The really modern chipsets seem to have mostly solved these issues (in combination with the Pi itself getting firmware updates to fix some of them).
So that’s a great question about the adapter making a significant performance difference. The answer is basically not on the Pi. This is because they’re all bottlenecked really badly by the USB 3.0 bus. Even if you have a USB 3.1 or 3.2 adapter the Pi can’t actually use it because it very much has a USB 3.0 bus.
In other words there is a significant performance difference between a low quality and a high quality adapter. It’s completely imperceptible though on the Raspberry Pi as we’ve discovered from my storage benchmarking site pibenchmarks.com. Basically on the Raspberry Pi 4 there is a ceiling of about 10,000 points on my storage benchmark for the Pi 3. Nobody, no matter what drive they are using, gets past that because that is the USB 3.0 bottleneck. The only way to get past it is using other boards that do support NVMe (or the Compute Module 4 which can do NVMe through the PCIe 1x slot).
That makes the reality for the Raspberry Pi 4 basically exactly how you put it: it either works or it doesn’t. They will all be bottlenecked over NVMe substantially below what the drives (or adapters) are actually capable of achieving. Hopefully that helps!
James,
Thanks for the info again. Yes, that Godshark one looks awfully similar to another one I was considering…guess they are all roughly the same provided the chipset plays nicely.
Ok, so in general best to avoid 3.1 Gen 1 where possible-easy enough.
Yes, I was aware of the bottlenecking issue and that much of the drive’s capability is lost on the pi…but went for this nvme anyhow given its cheapness, power efficiency, compact m.2 form factor, and the potential for it to be repurposed later on to something that can actually utilize its speed. I’m curious, do others SBCs like the RockPi with their built in nvme slots fully utilize their speed (I assume not)? Or are there more technicalities involved?
Cheers
Hey Sean,
Great question! So you’re basically exactly right. Most SBCs cannot use the full NVMe speed and will run at PCIe 2.0 speeds such as the Orange Pi 5. There are a few rare ones though such as the Radxa Rock 5B that actually can use the full NVMe speeds (PCIe Gen3). These can definitely be worth putting into a Rock 5B and getting PCIe gen3 speeds for really fast drives.
Hopefully that helps!
James,
Yeah, that Rock 5B looks pretty slick. No need to fret over finding the right adapter there…will have to keep that one in mind for a future upgrade, cheers. Appreciate you taking the time to answer my questions, and I’ll let you know how it goes re compatibility with some of the passthroughs.
No Sean,
No problem at all, you’re most welcome any time and I’d love to hear any updates you find with the passthroughs, take care!
Hey James,
Just an update. Unfortunately I realized because of where the pi’s USB 3 slots are located, that particular pass through adapter (one with the enclosure making it look like a large usb flash drive) wasn’t going to work. It’s size makes it obstruct a usb 2.0 slot, as well as the ethernet port (both of which I intended to use). Also the aluminum housing makes it heavy and it sags under its own weight.
Also I wasn’t a huge fan of the “normal” passthroughs. They seem mostly good for temporary use, given how exposed they are on the bottom and sides. And I am intending to run the pi project 24/7, possibly in varying and dusty conditions. Aesthetically they don’t really look great either really.
Seems for pursuing this kind of form factor, it would be best to go with something like the “Sandisk Extreme Pro” you have listed above, instead of my DIY attempt.
Anyway I decided to go with a normal cable-form enclosure. Which I can report is working fine so far with my setup, without any powered usb hub or firmware updates required. Here’s the one:
Cheers for the assist.
Hey Sean,
Great work! So they all end up kind of nasty to be honest with you in my view. This is a pretty old method.
Modern boards have NVMe slots such as the Orange Pi 5. This gives you a very clean setup and it’s multiple times faster than a Pi 4 / 400. An Orange Pi 5 starts at about $80 and requires no adapter. It’s built right into the board so you just connect the NVMe drive. It achieves scores about 3x higher than anything the Raspberry Pi can do through USB. They also have no power issues as they are designed for NVMe.
In other words it’s cheaper to buy an Orange Pi 5 than it is to buy a $31 NVMe adapter + a Raspberry Pi and it will end up 3 times faster. I don’t get as much traffic on this article these days because this is what people looking for high performance are using now. This still makes sense to do though in some situations but one of the requirements for it ever making sense is that you already have a lot of this stuff laying around.
All of the issues you’re talking about here are due to the Raspberry Pi being a pretty poor choice for NVMe relatively speaking these days (even on price and especially on performance). The Raspberry Pi 5 will probably have an answer to newer boards but the Raspberry Pi 4 doesn’t. There is no very clean setup on this. Not even the USB stick. The Orange Pi 5 or one of the other boards that natively support NVMe will have none of the ugliness, won’t have to resort to using USB or adapters and ends up cheaper.
That’s a beautiful UGREEN adapter though. I had not seen that one yet. It’s tough to swallow the price at $31 though when that would pay for a pretty large chunk of the Orange Pi 5 which is a 8-core board with a minimum of 4GB of RAM available. Then you just have a NVMe slot you can use basically. There’s others as well such as the ODROID M1. Using NVMe on the Pi is always pretty ugly and hacky and has to go through USB so it’s bottlenecked on performance.
You’ll score about the same with a RPI4 on pibenchmarks.com as someone running a 2.5″ SATA drive unfortunately. This is due to the limited USB 3.0 bus. It can’t actually use any of that NVMe speed. You’ll hit the exact same 8-9K wall that is the maximum the RPI 4 is capable of scoring. Remember, you aren’t really using NVMe on the Pi. It’s just USB 3.0 (not USB 3.1, not USB 3.2, ONLY USB 3.0).
All of that being said people have their reasons for using the Pi over the higher performing boards. Sometimes people are running software or images that are *only* available on the Pi. You will pay a price for it though. If you look on pibenchmarks.com you’ll see Orange Pi scores closer to 20K with RPI 4 scores stuck at 8K (their maximum over USB 3.0). It’s massively outclassed by newer boards that natively support NVMe.
I just wanted to explain that I completely agree with your criticisms of the setup. NVMe on the Pi does not make sense. There’s no performance benefit (that the Pi is capable of using), the adapters and drives are more expensive and you will perform the exact same as 2.5″ SATA. Like, the *exact* same. You can benchmark it yourself on pibenchmarks.com to see. If you have a 2.5″ SATA drive you could benchmark it and you’ll find you get nearly the exact same score. In other words it’s not only ugly, it also doesn’t make financial or performance sense so I don’t actually recommend NVMe on the Pi. It’s way too bottlenecked to even fully utilize SATA let alone NVMe.
Slapping that same NVMe drive into a modern board and skipping the adapter altogether would yield you scores of nearly 20,000 (even over PCIe 1x). It also mounts right in a real slot.
We were supposed to get a Raspberry Pi 5 this year but it got cancelled and pushed back to 2024. It was cancelled shortly after the Orange Pi 5 was released and I have no doubt it’s because what they were working on still couldn’t compete against the Orange Pi 5 (my guess is they tried to skip NVMe on the Pi 5 too and then realized they can’t anymore). That’s how far out ahead it is from the Pi 4. The Raspberry Pi 4 / 400 is obsolete for high performance storage. It can’t compete. The smartest answer for using NVMe with the Raspberry Pi 4 is to not do it. A $15-18 SATA adapter and an old 2.5″ SATA drive will perform identically to this UGREEN setup because they’re both bottlenecked by USB 3.0.
You are most welcome and thanks again for sharing everything you’ve learned here. Take care!
James,
Very informative. Yes, I was aware of the severe bottlenecking issue of the usb 3.0 port, but as the nvme costed almost exactly the same (including cost of the adapter, which was $24 on sale but I take your point) as a good external SSD like the Samsung T7, I said what the heck. Plus I can use it in something else later like an Orange or RockPi, like you say.
Incidentally I came across this yesterday. Probably a better solution, but really how many hoops should one go through for the perfect form factor at the end of the day. When paired with a 2230 or 2242 sata or nvme, instead of my 2280:
Just quickly looking through that OrangePi write up, you seemed to conclude that the speeds are basically the same as a SATA due to the PCIe 2.0 limit. It would seem best to go with something like the RockPi 5B then if doing an upgrade, which apparently has PCIe 3.0. But yes, you are right I chose the Raspberry Pi partially for the community/support (tech nub here and its my first SBC), but primarily because the software I’m running on it was only developed for the Pi 3/4 (but they are working on releasing an img for the RockPi soon).
Really nub question here, but what is this single benchmark metric on your link actually measuring? This is a different metric from Read/write speeds, or influenced by it?
Hey Sean,
Great question! I totally understand about using the Pi for the pinouts/compatibility. I figured that was going to be the answer for sure. I just wanted to make sure I said it as it’s pretty widely known and I didn’t want to seem like I was concealing it to try to sell storage adapters. I actually don’t recommend doing this (even in the article) with NVMe.
Great catch on the PCIe 2.0 vs PCIe 3.0 as well with the Rock 5B. You are 100% correct about this. The Rock 5B *crushes* the Orange Pi 5 on the benchmarks. The Rock 5B can reach scores of 30,000. The highest Orange Pi 5 score ever recorded is 23,999 and that was quite an outlier.
Basically the Raspberry Pi is a 10K device maximum. The Orange Pi 5 will get you to 20K. It’s literally double. The Rock 5B will *triple* your performance. With the exact same drive. This is why I said what I did in my previous post. It honestly makes me sad to see drives that can score 20-30K being used on the Raspberry Pi because it’s an incredibly inefficient use of them. The SATA drives can hit 10K. They’re way cheaper even if the adapters aren’t (my recommended adapter though for SATA is only $18.99, it’s almost half the price of the one you bought).
As far as how it’s scored it’s a combination of all of the tests. 4k random read/write performance is weighed pretty heavily. It’s far more simple to break these down though.
PCIe 2.0 1x can hit speeds of up to 500MB/s write on the DD test. That’s one of the simplest tests it runs. PCIe 3.0 1x can hit up to 1000MB/s and can go significantly faster with 2x. Basically with the Orange Pi 5 you’ll see scores around 250MB/300MB/s write.
What is interesting about this? NVMe is still bottlenecked. It’s just not bottlenecked as bad as USB 3.0. You are still bottlenecked though and you’ll see the DD write scores hit a similar wall. You can ignore the way I score the benchmarks if you want. It doesn’t matter. They’ll hit the same limits on individual tests such as DD write and you can see it. The Rock 5B will give you the least bottlenecked experience.
If you put that same drive in a PC though it could hit 50,000-80,000 so even a Rock 5B can’t use the full power of the drive. It can use 3x as much of it as the Raspberry Pi can though and the Orange Pi 5 can use twice as much of it. These benchmarks are over hundreds or even thousands of tests though. That’s the valuable part about it. Anything can happen from one test to another. Once you have hundreds / thousands of tests though the average scores (and high scores) will tell you almost everything you need to know.
That M.2 SATA adapter looks great as well! These definitely make more sense to use with the Raspberry Pi 4 for sure. The drives are old and cheap just like 2.5″ SATA drives. Many 2.5″ SATA drives if you open them up actually have a M.2 SATA drive inside. That whole shell is exactly that: just a shell for the 2.5″ drives. They almost always have these inside of them.
Hopefully that helps!
Cool stuff James. The Rockpi is definitely on the list for a future upgrade, once my project develops the software for it heh.
Just for fun I ran a few benchmarks comparing my SATA drive on my pi400 to this nvme running on a Pi4…you’re right, the nvme just barely edges out the SATA (it was something like 8,700 SATA to 9,300 on the NVMe). Of course they are different pis, running slightly different variations of software, different adapters, etc.. Not sure how big of an impact those variables have on the test though. Still, sad to see such a small difference…you’re right it is something of a travesty to use an NVMe on a pi.
Cheers.
Hey Sean,
Thanks for running those benchmarks! That’s definitely what we would expect to see. There can be a performance difference in the adapters based on the chipset for sure. Some chipsets are cheaper than others and don’t perform as well. The difference is usually within the range you are seeing though.
There’s a few other variables that can have an impact on this. Some of them are on the SSD itself such as the cache. NVMe drives tend to have larger / faster caches which means sometimes you can get something like a 9300 due to caching. It’s still bottlenecked by the USB 3.0 but the cache does buy you some faster response times and a slightly higher score.
You can see why it’s a bit of a travesty but that doesn’t necessarily mean that nobody should ever do it. For example if you already have an extra NVMe drive laying around and don’t have a M.2 SATA or 2.5″ SATA drive laying around then it might literally be the cheapest option for that person to just use what they already have (especially if they have a larger M.2 NVMe module). If someone is starting with nothing though the most cost effective setup will be some kind of SATA setup and it will make the most sense from a performance perspective.
I also think this will change with the release of the Raspberry Pi 5 but we know that supposedly has been bumped to 2024. On the Raspberry Pi 5 I expect we will see either USB 3.1/3.2 (which would make the adapters you select much more important as you could finally utilize the speeds with a higher version of USB), a M.2 slot or both. If it doesn’t then it’s going to continue to make more sense to buy a Rock 5B or Orange Pi 5 for people who are doing any type of serious high performance storage (with the Rock 5B being the definite winner for extremely high performance NVMe).
Take care!
Hello James,
I am in the market for an upgrade from microSD to an SSD to use with a Raspberry Pi 4, and am most interested in reliability and thermal performance.
In this article you note that you pay a premium for the ultra compact USB SSD “stick” options compared to 2.5″ options. I can’t see using more than 64 GB for my use case, so drive capacities are less of a concern (Pi-Hole and a few other network services).
The popular Kingston A400 240GB drive and StarTech SATA/USB adapters total about $36 on Amazon, and the Orico/Sandisk 128 GB “stick” options are about the same price at the moment. I don’t mind being initially inconvenienced by updating firmware on devices.
However, I am a bit concerned about temperatures of the “stick” options after reading reviews, especially given their small footprint.
I appreciate the SSD Power Consumption chart that you posted from which made me consider using mSATA more seriously, but in you have noted these can get rather warm.
So my questions are:
1) In the $40 price point range, what options do you believe run the coolest and are the most reliable?
2) In the StarTech adapter + SSD scenario, what will produce more heat — the controller or the SSD itself?
Thanks for reading.
Hey Frederico,
Welcome and great question! So you’re basically thinking right on the money here. It’s generally SATA drives that use the least power. That would include 2.5″ SATA, mSATA and M.2 SATA.
Most people who run into power issues and need to use a powered USB hub with their setup are using NVMe or trying to use large 3.5″ HDDs with their setups or something that requires more power. This is too much power for the Raspberry Pi to supply over USB.
People never run into this with mSATA or M.2/2.5″ SATA SSDs because they use so much less power. It’s also for this same reason they produce the least amount of heat. They’re simply drawing a lot less power which is a lot less energy that will be lost/converted to heat.
Basically to answer #1 I would say the StarTech + SSD combo is the most reliable for that price range. You can see on pibenchmarks.com that there have been 2,100 tests with the Kingston A400 and you’ll see a lot of them are using the StarTech as well.
Answering #2 is a bit tricky because the answer is it is the drive that will produce more heat and not the adapter. However it’s always the storage controller on the drive that is producing the heat. There’s the storage adapter’s controller as well but the heat will be coming from the drive’s storage controller (in other words the drive is what will get hot).
I definitely think that you’re on the right track here and would basically suggest almost exactly what you’re thinking of doing it sounds like here. Hopefully that helps!
James,
I sincerely appreciate you taking the time to respond to my question so promptly.
Given that you identified the storage controller on the drive as the hottest component, have your seen the Kingston A400 heat up more than other drives or get particularly hot?
Or for a few dollars more, would your suggest a drive that is marketed to consume less power, like the WD Green 240 GB? It has 1/6 of the tests performed on Pi Benchmarks but still looks like a popular option.
Also, I am curious about the strength of the friction fit of the connection between the drive and adapter. If I go fumbling around in the dark looking for a cable on the shelf where this thing is located, will there be much of risk that I detach drive by mistake? I have seen 3D printable options for protecting that matng surface, but I worry again about heat by introducing one. Have you ever used/made anything like this?
Thanks again!
Hey Frederico,
Absolutely, the Western Digital Green would be a great choice! Everyone has been pretty happy with those that has tried them. They’re quite power efficient as well.
So for the friction fit for the adapter the StarTech one for example holds on pretty well. I’ve never had it come off. It has actually been sitting on my basement floor with a drive attached but not attached to anything else and it hasn’t come undone even being kind of bumped/kicked around on accident for sure.
You’re right that a 3D printed enclosure typically won’t help much with heat. If it’s just a support bracket or something like that it should be okay. If it encloses the entire thing that’s where I’d worry more about heat without proper ventilation (or at least some holes/grating to let air flow).
I think you’ll be okay to try it initially as-is for sure but those are some good considerations. I think this sounds like a great setup here. Let me know if I can help further!
Hello James,
At the risk of beating a dead horse, I looked at the datasheets for the Green and A400 drives, and interestingly, the A400 drive claims to consumes less power for some measurements. Here are the numbers, worded as they are on the datasheets:
Green
Avg. Active 0.080 W
Max Read 2.800 W
Max Write 2.800 W
Slumber 0.030 W
DEVSLP 0.025 W
A400
0.195W Idle
0.279W Avg
0.642W (MAX) Read
1.535W (MAX) Write
The 120 GB Green drive has more efficient max read/write at 2.200 W, but that drive is frustratingly priced higher than the popular 240 GB.
So my follow-up question is: in real world, typical Pi use, do we believe the Green drive actually runs cooler? Or if you are more familiar with the A400, have you ever observed them to be relatively hot? Or am I splitting hairs here?
Thanks.
Hey Frederico,
Great findings! So no, this would not surprise me at all. The A400 has been my #1 recommendation for like 4 years or something on the site because nobody has any trouble with it. I hadn’t seen those power figures but they don’t surprise me. Nobody has ever needed supplemental power with this drive. It just doesn’t need very much.
Based on your findings no I would not expect the Western Digital drive to run cooler at all. It probably won’t be too bad either way though. I’ve never heard anyone complaining about heat with any of the 2.5″ SATA drives. It’s always the NVMe ones that get hot enough to burn you (and wreak havoc on the Pi’s power) because these can go way higher than 2-3W.
For example look at the Samsung 970’s power draw:
PS 0 6.2 W Active - -
PS 1 4.3 W Active - -
PS 2 2.1 W Active - -
PS 3 0.04 W Idle 0.21 ms 1.2 ms
PS 4 0.005 W Idle 2 ms 8 ms
6.2W. That is when you need to worry about both heat and power.
The Western Digital drives 2.8W would not concern me at all and the 1.5W of the Kingston A400 has to be one of the most efficient and least power consuming drives I’ve ever even heard of. It’s like 5x less than a modern NVMe drive.
I use the Samsung 960 and 970 Evos in pretty much all of my NVMe tests and guides on the site and that one draws up to 7.5W. It will not work without a powered USB hub. They do get hot. You’re probably 2x-3x less power on average than most high performance NVMe drives (there are really highly power efficient ones out there though you can buy that draw even less power than SATA).
Great thoughts. Hopefully that helps a bit!
Hi James,
On a Raspberry Pi 4 with the official 3A USB-C power supply, given the 1.2A USB port current source limit, would I need a powered USB hub to safely use the StarTech adapter, Kingston A400 drive, and a USB micro SD reader?
Without another computer in the mix, I’m thinking of booting the Pi with a different SD card temporally, and inserting my normal micro SD into the USB reader after boot to do the cat/clone to the A400 SSD.
Thanks.
Hey Frederico,
Great question! So basically no, I’ve never seen those need a powered USB hub for things like the Kingston A400 and the StarTech adapter. The 2.5″ SATA (and M.2 SATA) are ones you typically don’t run into power issues much. It’s only when people try using HDDs (especially 3.5″ HDDs) that power still becomes a concern over SATA but you should be okay with a SSD (either 2.5″ SATA or M.2 SATA).
As for the clone plan that sounds totally fine to me honestly. I know I didn’t cover the cat/clone in this article specifically but I have a bunch of other ones on the site that cover it and that will definitely still work just fine so I think you have a good plan here. Hopefully that helps.
Hi James,
I think I’m convinced that the StarTech + A400 drive will not require a hub. Thanks for that explanation.
But what if I throw an *additional* microSD USB reader in the mix (on top of the Pi’s built in one).
I imagine they only draw a few hundred mA but I’m wondering if this is too much, considering the 1.2A limit.
Thanks.
Hey Frederico,
So the power usage of micro SD can be pretty difficult to measure but not impossible. The best article I’ve seen on it is here.
The above article puts the power draw at a maximum of 250mA for high speed mode. It says for UHS mode it can be as high as 400mA.
That’s actually high enough to cause a problem theoretically. You’d only be able to have 3 of them if they all really can hit 400mA and then your goose is cooked. If I were to make an estimation I’d say that you could count on it using up 200mA for sure. If we subtract that from the 1.2A it would give us 1.0A exactly left over.
That means I’d expect whether you can get away with this or not to probably depend on what else is plugged in. Do you only have the SD card and the SSD plugged in? I’d expect you’d have enough power then but it would be 100% used up from that. Plugging in a single additional keyboard or anything else and I’d expect to start seeing intermittent crashes / freezes / taking multiple tries to get it to boot / etc.
Hopefully that helps!
Hi James,
In my use case I’d have just power, Ethernet, SSD, built-in microSD, and USB-attached microSD. So no keyboard or other displays or other peripherals.
Per the Raspberry Pi README on GitHub maybe I’ll disable Wi-Fi and Bluetooth using dtoverlay=disable-bt
and dtoverlay=disable-wifi in config.txt.
If it’s on the hairy edge of the power supply limit, are you of the opinion that if the data transfer completes without the freezes or instabilities that you mentioned, it’s safe to assume that my data is intact? In other words, are silent data corruption failures common here?
I’m just being cheap and am trying to justify not spending $20 on a powered USB hub 😀.
Thanks again.
Hey Frederico,
Great thoughts. The only thing I’d mention is that disabling WiFi and Bluetooth won’t actually help with the power limit. The power limit is 1.2A and specifically applies to USB devices. You can’t get more power by disabling non-USB devices for it as it’s completely separate.
This is why using a bigger power adapter than 3.5A or so won’t help either. It can’t pass that power through even if it’s available. The USB power limit won’t change. The only thing you can do to get more toward your USB power limit is by plugging in less devices (or using a hub).
Here’s a link to the Raspberry Pi documentation on power. You’ll definitely see what I mean. The WiFi and Bluetooth won’t play into the calculations for the USB total peripheral current draw. They have USB connected peripherals as its own category with a custom limit. There’s no way to borrow from other places to increase it. It’s completely independent of your power supply or anything else drawing power on the board.
This is the same reason that plugging in a massive 5V 20A power adapter or something like that won’t help either. The limit is 1.2A for all connected USB peripherals (combined, not each). You can’t turn anything off to increase this. If the additional power is available the Raspberry Pi will refuse to use it. In other words the limit is artificial. It’s enforced by Raspberry Pi. You can connect power supplies that have the power available but the Raspberry Pi will never use it.
If I were to guess you’ll be just fine with both. I doubt you’ll be booting from the second SD card and that’s important. The SD cards can run in lower power modes if there isn’t enough power available typically as they’re designed for low-power applications. It’s when you try to boot from them that you’ll run into trouble without full power. If it’s just an extra drive / accessory I think you won’t see any silent corruption or anything like that.
One thing you might see when you’re using drives (that aren’t your boot device) when they are on low power is that things will be really *slow*. For example if you are on the command line and type “ls” on that SD card (and there isn’t enough power available) it might take several seconds or more before it returns the list of files. You’ll “feel” it basically.
The same thing will happen with SSDs. If you don’t have enough power things like ls and other file operations will have a noticeable delay. They’ll typically still work though *unless* you are trying to boot from them. There is also of course a limit to how low of power you can have before things just stop working altogether but I don’t think you’re likely to hit it in this setup.
If it were me I would try your plan as-is without the USB hub for sure. There’s theoretically enough going for you that it may just work without any problems (especially if you don’t have any other USB devices plugged in other than the SSD and SD card). If it does then you just saved the cost of a powered USB hub. If you find it’s lacking though you can always grab one of these after the fact.
As for whether some of the freezes can cause corruption some of them can. The ones that are most likely to cause this are the ones that freeze so hard you have to power cycle the device. If you are experiencing those that’s where you’d for sure want to jump to a powered USB hub.
You might be able to save the money though with this configuration. I’d say it’s worth a try to see if you can avoid the hub expense. Hopefully that helps!
Thanks again James!
I’ve recently bought “StarTech.com USB 1.1 to 2,5″ SATA – USB 3.1 Gen 2 10 Gb/s with external converter HDD/SSD UASP (USB312SAT3CB)” with Kingston A400 as it seemed to be a bulletproof combination to boot my Pi 4 from SSD. I struggle to get it working though and not sure if I’m doing something wrong or maybe StarTech has a new, Pi-boot-from-SSD incompatible device.
The USB ID is different then the one mentioned here
Bus 002 Device 002: ID 14b0:0207 StarTech.com Ltd. SA400S37240G
The SSD works fine from Ubuntu 22.04 if I boot the Pi from SD card but I had failed to boot the Pi from SSD alone, without the SD card.
If I remove the SD card the Pi will refuse to boot and falls back to network boot:
Net: eth0: ethernet@7d580000
starting USB...
No working controllers found
Hit any key to stop autoboot: 0
Card did not respond to voltage select! : -110
sdhci_set_clock: Timeout to wait cmd & data inhibit
sdhci_set_clock: Timeout to wait cmd & data inhibit
sdhci_set_clock: Timeout to wait cmd & data inhibit
sdhci_send_command: MMC: 1 busy timeout increasing to: 200 ms.
sdhci_send_command: MMC: 1 busy timeout increasing to: 400 ms.
sdhci_send_command: MMC: 1 busy timeout increasing to: 800 ms.
sdhci_send_command: MMC: 1 busy timeout increasing to: 1600 ms.
sdhci_send_command: MMC: 1 busy timeout increasing to: 3200 ms.
sdhci_send_command: MMC: 1 busy timeout.
MMC Device 2 not found
no mmc device at slot 2
starting USB...
No working controllers found
USB is stopped. Please issue 'usb start' first.
starting USB...
No working controllers found
BOOTP broadcast 1
My EEPROM version:
BOOTLOADER: up to date
CURRENT: Thu Mar 10 11:57:12 AM UTC 2022 (1646913432)
LATEST: Thu Mar 10 11:57:12 AM UTC 2022 (1646913432)
RELEASE: stable (/lib/firmware/raspberrypi/bootloader/stable)
Use raspi-config to change the release.
VL805_FW: Dedicated VL805 EEPROM
VL805: up to date
CURRENT: 000138a1
LATEST: 000138a1
Has anybody found a solution on how to boot from this SSD adapter?
Hey Gozdal,
Oh wow, that is a funny listing. USB 1.1, yay! Obviously it’s not a USB 1.1 device as it has a blue tab but it’s funny they listed it that way.
So this needs a firmware update. You at the very least need to update the storage adapter firmware. I have a guide on how to do this here.
Specifically the firmware update for the USB312SAT3CB is here. You need to download firmware.zip and update it from a Windows PC basically.
That’s #1. #2 is your drive is also known to have firmware issues. The Kingston A400. You might also need a drive firmware update too. Again, that will be Windows only to update the drive firmware unfortunately.
Lots of people have had trouble with this combo. However, it’s very easy to get working by updating the firmware for both your drive and adapter. This is a known working combo such as here is an example on Pi Benchmarks of someone getting a pretty excellent score with the Kingston A400 + USB312SAT3CB.
In order to explain why this is happening the Raspberry Pi fixed some of these issues with USB to SATA adapters but honestly only a small percentage of them. The truth is the Raspberry Pi will probably never be fixed. It’s all of the drive manufacturers / adapter manufacturers that have had to fix their firmware to work with Raspberry Pi. I doubt this will ever really change. I don’t use Raspberry Pis very often these days as they still cost $100+ and it’s a nearly 5 year old board. Today I’d mostly do this on the Rock 5B or Orange Pi 5. The Orange Pi 5 is like $90 and has 8 CPU cores to the Pi 4’s quad-core CPU and you’ll double / triple any Pi 4’s score on benchmarking/performance.
I understand though that if you already have the Pi it’s still 100% worthwhile to set this up. I just wanted to mention that we’re still in a market that costs $100+ for a Raspberry Pi and there are better devices to do this with now in 2023 with (way better actually such as the Rock 5B actually has PCIe 3.0). The Orange Pi 5 and the Rock 5B would both support directly imaging the SSD on these drives. It’s a Pi compatibility issue with the firmware that ships on both that StarTech adapter and the Kingston drive. You only need to update it because Raspberry Pi is a big enough SBC monopoly that they force the other manufacturers to change for THEM and not the other way around.
I bet in 3-5 years you’ll still need all of these updates to do this on the Raspberry Pi. Why? Because I’ve been maintaining articles on this site showing people how to SSD boot with the Raspberry Pi for longer than that and these issues are the exact same as they were back then (other than we actually have a boot loader now, the Raspberry Pi 4 couldn’t do any of this at launch). If they haven’t fixed them by now we’ll still be doing this 3-5 years from now. It will just be a lot less people on the Pi would be my prediction as they don’t have a model coming out this entire YEAR and they are already obsolete and yet somehow still cost $100+.
Full disclosure though: in 2023 yes this is kind of a pain and slow compared to doing it on an Orange Pi 5 or Rock 5B. The Pi 4 is a nearly 5 year old device now (which it’s pretty sad it still has all these horrible firmware/compatibility issues after 5 years now). It was never very good at doing this and there’s better choices now (although you’d probably want to go M.2 SATA or M.2 NVMe with one of those rather than a 2.5″ SATA).
Nonetheless for everyone that already has them (I have several) we will persevere. I just don’t want to pretend like this is an easy process or the best choice to do in 2023 anymore. It might actually be the worst choice to do this with a Raspberry Pi in 2023 because yeah not even a StarTech adapter or Kingston drive will work with it without firmware updates and that is *not* the case with their competitors. Those are huge brands to have compatibility issues with 4-5+ years after launch. It can’t even take a stock Kingston without updates? Nope. Amazing.
Understand that the Raspberry Pi is an ecosystem where *you* will have to change to accommodate it. They won’t change to accommodate you. It’s the Apple of the SBC world. It really is. If you want to play the Apple game you’ll have to do it their way. They don’t care what your way is. That goes for any manufacturer who wants to make equipment for the Raspberry Pi as well. If you want to play in their ecosystem you do it their way or it won’t work. If you want your adapter’s firmware to work with the Raspberry Pi then you better update it to work with the Pi’s quirks or it will just stay incompatible. That’s how it is with them.
Meanwhile the Rock 5B and Orange Pi 5 both launched with boot loaders that didn’t boot from NVMe properly. Do you know how long it took for them to update them to work? About 2-3 weeks. This is all completely fixed on the Rock 5B and the Orange Pi 5 now with the latest firmware. It took them 3 weeks to do something Raspberry Pi will (I’m comfortable saying at this point) never do.
I’m definitely happy to help anyone that has one already get it set up but hopefully some of you end up choosing a more modern device to do this with. You won’t suffer from any of these issues on basically anything except for a Raspberry Pi 4 anymore in my experience. I’ve tried them all at this point and nothing has compatibility issues like the Raspberry Pi 4 (and it has been that way since day one, both with USB-C power adapters which is only fixed on newer board revisions as well as SATA adapters which have not and will never be fixed). The fixes available for your setup are courtesy of StarTech and Kingston and no thanks to Raspberry Pi should be given whatsoever here.
Hopefully that helps!
That’s a very detailed information, thanks for taking the time to write it up!
I started suspecting that I either got a fake one or maybe got the USB 3.0 one. When plugged to a Windows computer I can’t update the USB SSD adapter firmware, not Kingston SSD firmware.
Firmware updater from StarTech site does not recognize it, says “Configuration mismatch” and later “vUpdateFirmware failed”. The Kingston Firmware Updater does not recognize the disk at all, it says: “Not supported – Identify failed”.
Hey Gozdal,
Oh wow, this is very strange but I suspect you may be onto something. What does your StarTech tag on it say (and does it have one)? Here’s an example of one of mine I’ve shown a bunch of times:
I’ve had this adapter for many years. It’s actually covered in plastic sealant from when I sealed the concrete in my basement. That’s what that shiny material stuck to it is. It’s concrete sealant that got sprayed on it when it was in a corner somewhere and I was too lazy to move it.
Does yours look like this? Does it have this tag? I suspect you may be right that it’s fake. There’s a few strange details that suggest it might be fake such as the USB 1.1 version in the listing. I can’t imagine StarTech listing their own adapter that incorrectly. The Amazon listing doesn’t show the tags but I’m sure they intentionally cut them off because it’s a multilisting (meaning there’s several different versions shared between the same listing). All of the ones I’ve received will have the tag that tells you the exact model it should be even though the pictures on Amazon don’t show it.
The drive is a little bit trickier. Faking a Kingston A400 drive would be a lot harder I feel like than an adapter. That’s exactly what your message is implying to me though. When it says “identity failed” I would expect that to mean that the Kingston drive utility does not recognize it as one of their real drives. Is this possible? That’s not something I’ve encountered before but theoretically it is possible. It seems like everything is a target to be faked these days that is popular.
It’s also unfortunately all too common for fake ones to show up on Amazon. They fight them and try to delete them as much as they can but realistically it’s kind of a game of whack-a-mole to try to delete all of the fake listings that pop up as the fake sellers are very determined. If this does turn out to be a fake I would definitely return it and report it to Amazon and all that and we can at least whack another mole here and try to prevent anyone else from being passed this dodgy gear at least by that listing.
If the adapter turns out to be fake (the more likely of the two in my opinion) it’s very possible the drive will just work plug and play when you try it with a genuine adapter. If they’re both fake that would be incredibly, incredibly bad luck but it’s theoretically possible. Are you trying to update the Kingston using the USB to SATA adapter? Or are you actually connecting it via SATA with the PC? I would try connecting it for real to the PC simply because if the adapter is fake that’s probably why it can’t identify your Kingston drive correctly. If you properly installed it I would think that it would unless it’s actually fake.
This mystery is deepening a little but I think you’re on the right track. I’m curious if yours will look exactly like mine does in the photo. Hopefully that helps!
It had a tag but I hate those on my cables and always cut them off. I also threw away the packaging it came in, although it looked exactly as on the photos on StarTech website.
I don’t think the SSD is a fake, but maybe the cable is and doesn’t allow passthrough of the commands used to upgrade the firmware (speculating wildly here).
I tried to read out to StarTech support but the LiveChat is not working. Sent an e-mail and waiting for a response.
I wonder about the USB ID, DeviceHunt shows only a serial adapter.
I could also find some other benchmarks results with 14b0:0206 and if you search for “StarTech” in the benchmark results you can find different USB IDs.
Hey Gozdal,
My StarTech always shows up as 174c:55aa on every device. You can see my profile here. Everything that is testing the Crucial MX200 series on my profile is using the StarTech adapter (from the picture). I used it for like a dozen different SBCs. This is identified as a:
0x174c (ASMedia Technology Inc.)
0x55aa (ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge)
This is a lot more like what I would expect it to look like. Notice that it doesn’t matter which device I take the benchmark on. The USB ID is always the same for mine whether it’s the Libre Computers Boards, the Pi, etc.
If this is genuine it probably means they switched chipsets (not a nice thing to do without changing the model #) or you may have a slightly different model variant than mine. That also means you’d need a different firmware update utility. This is where things get confusing for me because what was their plan to deal with this if they changed chipsets on an existing model? The utilities can’t be compatible if they use different chipsets. They usually change the model when they change the chipset or it will be a slightly different model # (which is why I was hoping it had the tag on there, it’s very subtle differences like adding a 1 or a 2 or a C here and there in the model #s).
There are some nasty variants of these that don’t have any firmware updates available at all (not linked or recommended from here but if you click some of the other choices in the amazon.com multilisting you can see a whole bunch of variants that may or may not work) but I suppose you could just try downloading the firmware updates for all the StarTech adapters and seeing if it will take one. I don’t think it will brick it. It will just say it’s the wrong adapter if it’s not recognized like the other one did.
If they’ve stealth-changed to an inferior chipset I will have to pull my StarTech recommendation altogether so let me know what they have to say about this. I’ve literally sold thousands of them over the years (as in people clicked my link and then bought them to use with the Pi or other SBC). Tens of thousands of these. I only get like 10-15 cents though for each one so it’s not a lot of money even though that is a *lot* of adapters (Amazon pays like 1% commission for electronics-related categories and it’s not a very expensive adapter).
I don’t want to link to / help sell a broken one though or one that has been changed to be no longer what it appears (even if they would claim the 10Gbps version is better or whatever they would say). My point is that this has traditionally been one of the safest choices and if something has credibly changed I definitely will update all of these articles to recommend a different one. That would make me sad though as like I said it’s tens of thousands of these that people have bought to use with the Pi and I’ve been recommending it for almost 5 years (going back to the original 3.0 variant which I still have one or two of those around). My goal is to get everyone to the right adapters so you don’t have to fight with it like this.
I still wonder though if something strange isn’t going on like maybe they didn’t send you the adapter variant we think. If we search for StarTech as you suggested you will see person after person saying they are using the Kingston A400 with the USB312SAT3CB.
From what I can see on pibenchmarks.com people are buying this and using it successfully as per usual which really makes me wonder about this one (especially with the USB IDs). The USB ID list is only as good as the list Linux uses (which I should update the pibenchmarks.com one now that I think about it, I try to update the usbid list from the kernel every 6 months or so and I’m due). Some of the blank ones might just not be in the USB ID database yet for Linux. The IDs themselves (like the hexadecimal that makes them up) won’t change though even if there’s a blank or wrong description for them in the Linux USB IDs.
We can also see they aren’t SD card boot strapping it and are direct booting (you’ll see in inxi they don’t have anything in /dev/mmcblk). It has to still be the most popular adapter on there to this day by the look of it. These are not old benchmarks either. It’s one of the most common combinations tested on pibenchmarks so there’s ones from like a couple of days ago even. Too many people buy this adapter and use it for me to not have heard about this from anyone anywhere.
I don’t think all of these people could have bought this 3-4 years ago like I did and have a really old variant. Something strange is going on it seems like to me that isn’t matching the experience of other people. The USB device IDs are kind of all over the place. A lot of them match mine but some of them don’t at all (or yours either). If we looked at these more closely we could probably figure out which specific variants have which USB IDs. We could probably even date them to when they were manufactured by that. Then again some of these tests are really recent but it’s hard to know if it’s someone reimaging and retesting or if they just bought it fresh.
I have heard from others though who did get variants of the adapter that had trouble (and there were no updates available for those specific models). I specifically remember the Kingston A400 coming up for it as well and that’s why I suggested the Kingston drive firmware update. If it still won’t let you update that one connecting it directly to the PC motherboard via SATA then that is not something I’ve encountered before. I think you’re right that the adapter would probably be breaking the identification of this drive (and potentially the updating of it).
I actually found a thread related to this in another post (an older one than this with nearly 1000 comments). Check out this thread here. His case is the most similar sounding to yours that I remember. I never heard from him after I told him to try updating the drive firmware (which usually means it fixed it especially in a thread where someone had replied multiple times already but sometimes it also means they gave up).
For some reason his got around it by using the 64 bit version of Raspberry Pi OS. My theory at the time was that it had different/newer firmware in it (on the Pi side in this case) but I suspect it’s probably updating his Kingston SSD firmware is what fixed it once and for all (including 32 bit). It’s literally an exact match for your situation down to the adapter/drive and it was just as strange then as it is now and I haven’t seen another since. It has been around a year. I believe that’s who I originally uploaded the photo I just shared for you earlier for. You’ll see it again in that post and that was the O.G. person with this issue (you’re #2).
This adapter came up on the Raspberry Pi forums once a long time ago as well. My site specifically got called out there but that person’s USB IDs did match mine and everyone in the thread told him his looked fine. Yours does look different from mine though. Your USB IDs don’t seem to match mine. That guy ended up going with an Orico one that had known issues at the time and that nobody would recommend for the Pi. A lot of the Orico issues have been fixed as well both by updates to the firmware on the devices and the Pi itself. I guess that actually makes you example #3. He said StarTech replaced his and that the replacement worked (but he still wasn’t happy about the cost or something vs. the Orico adapters).
That guy on the forums couldn’t keep his models straight as people pointed out. He used USB3S2SAT3CB in one case and USB312SAT3CB (mine) in others. I very strongly would suggest he has the USB3S2SAT3CB (and one of them definitely was). I’m guessing the reason StarTech replacing it fixed it is because he didn’t have the model he thinks he does (and StarTech sent him one they knew would work with the Pi, the one I have most likely). I wish yours still had the tag so we could check for a slight model variation here. Maybe StarTech has an identification utility that can tell us which one it is.
Take a look at this. I would be willing to bet that you probably have a USB3S2SAT3CB (and that so did this guy from 2021). I think since my site comes up so high in Google and it looks like theirs they assume they have the same one as I do but one needs to be *extremely* careful. Notice that there are no firmware updates available for the USB3S2SAT3CB and it looks just like mine but it’s not. Also look how much cheaper it is. $15.99 from StarTech directly vs. $26.99 for the “good” one that works with the Pi.
Why such a price difference? Probably because the chipset sucks in it I’d wager (and also probably that they know it won’t work with some devices like the Pi). I know this is not the listing you ordered but I’m wondering if it’s what you got sent.
The Pi Benchmarks results actually give us some hope here though. It looks like people are using this adapter with other drives and even some with the Kingston A400. This tells us that it’s probably a firmware issue with your drive. It has to be as there are no firmware updates for this adapter.
Do you have another drive you can test with to rule the Kingston A400 out? If it does it with both drives we can be certain there’s an adapter issue. If it will work with another drive then we know there is a Kingston A400 firmware issue at play here as well. Alternatively fully connecting the Kingston A400 properly to the Windows PC (via SATA and not through an adapter) should definitely be able to update this drive (unless there’s some other firmware utility that would be more appropriate to use, people updated these somehow).
I definitely don’t have an answer yet but there’s a little bit more data to look at related to this adapter. Hopefully that helps!
After writing this I checked by searching Pi Benchmarks for USB3S2SAT3CB. I wanted to see what the USB IDs were for people saying they have a USB3S2SAT3CB instead of a USB312SAT3CB.
For this benchmark:
14b0:0206
There we go. That’s a match for your adapter. So are the next 3 benchmarks I tried on the list.
This is what has happened here. Someone has shipped you a USB3S2SAT3CB instead of a USB312SAT3CB. These look identical and only someone looking for it will pick up the subtle differences in the model names. Even now when I look between the two I can barely remember where the difference is and I have to scan them a couple of times to find/remember it’s the “S” that is different. It’s not easy to spot or obvious.
This makes that forum post from the Raspberry Pi forums make so much more sense as to why that guy was unhappy with the “cost”. I couldn’t figure out why StarTech would charge him anything to replace/exchange it. It’s because StarTech would have charged him for the exchange because he needed an upgraded model. $11 approximately and it sounds like that pissed him off. It’s because the adapter he actually needed costs $11 more and the guy never picked up on that (not even after the exchange which he was unhappy with the cost of).
He just bought the wrong one and the right one costs more and that’s why they charged him. They charged him for an upgraded model. That’s a couple of year old mystery solved right there. He just couldn’t bring himself to say he bought the wrong one (or he legitimately still doesn’t understand he had the wrong model to this day and that’s why they charged him more to replace it with the right model for his use case).
It looks like you’re right. I’m sure the Kingston A400 is genuine. The good news is people have got this adapter to work before but I’m sure it will probably take the Kingston A400 drive firmware update. There is no adapter firmware update for this adapter (at least a public one, maybe support will have one for you).
The adapter probably isn’t fake. It’s just not what it was sold to you as in that listing you linked us to. All of your USB IDs match the cheaper USB3S2SAT3CB adapter which while people have got it to work I believe it has all been through drive firmware updates as I do not know of any adapter ones for this one.
Hopefully that helps!