Raspberry Pi Cheap SSD Upgrade Guide

I’ve covered the benefits of taking your Raspberry Pi to a solid state drive (SSD) before extensively in this article but in a nutshell you get around a 280% increase in raw throughput and a 1000% increase in 4k random read/writes over a MicroSD card.

That’s fantastic but SSDs have traditionally been very expensive costing you as much as 4+ Raspberry Pis so it seemed silly to use a drive like that as Pi storage. Until now.

Raspberry Pi Cheap SSD Upgrade Guide

That’s right. Thanks to technologies such as 3D NAND flash solid state drives for consumers have now become cheaper than mid-high range MicroSD cards. With 10x the performance of MicroSD cards they are now a no-brainer upgrade for servers or IO intensive Raspberry Pi projects.

Why Choose SSD?

MicroSD cards were not designed to serve as living storage for operating systems. They are designed for devices such as cameras and smart phones that need to write and reliably store data. They’re very good at this and some cards have excellent throughput fast enough to even record 4K video.

But one thing they are not good at is 4k random writes and rewrites. These are small writes throughout a disk and consist of about 25% of all hard drive activity on a computer. Almost every action you take and even routine log file updates trigger these updates so they are very important for performance.

To show you the difference in performance I have developed a benchmark that anyone can run and uploads the results to the site. Click here to learn more about the benchmark and results.

ScoreHost ModelUserBrandLink (Amazon Affiliate)NoteClassManuf.ModelSize (GB)DD WriteRandW IOPSRandR IOPSIO ReadIO WriteIO Rand ReadIO Rand WriteHDParm DiskProductDateHost OSArchAdapterSD Spec.SD TypeM. DateQuirks
8917Raspberry Pi 4 Model B Rev 1.2UUCrucial MX500 M.2 SeriesView Product Crucial MX500 SSD on Pi4@4GB with CSL USB3 to M.2 Key B frame
SSD (M.2 SATA)CrucialCT250MX500SSD4250G202120042248032011301182363331833295.17SSD2020-04-09 12:31 AMRaspbian GNU/Linux 10 (buster)armv7l
8498Raspberry Pi 4 Model B Rev 1.1AnonymousGalax Gamer SSD
SSD (2.5" SATA)GalaxTA1D0120A120G196113902243135238278911846530857287.31SSD2019-12-24 7:41 AMRaspbian GNU/Linux 10 (buster)armv7l
9914Raspberry Pi 4 Model B Rev 1.1DerFritzSamsung 860 Evo mSATAView Product
SSD (mSATA)SamsungSSD860EVOmSATA250GB250G215119402316738456319712904037259302.27SSD2019-12-18 5:14 PMRaspbian GNU/Linux 10 (buster)armv7lN/A
8867Raspberry Pi 4 Model B Rev 1.1didiCrucial BX300 SeriesView Product Pi didi
SSD (2.5" SATA)CrucialCT120BX300SSD1120G203119552255534038319391601033911295.91SSD2019-12-18 11:42 AMRaspbian GNU/Linux 10 (buster)armv7l
8416Raspberry Pi 4 Model B Rev 1.2KN2Intenso SSDSata SeriesView Product ICYBox 2x Intenso 120GB SSD
SSD (2.5" SATA)Intenso128G192120962293334802259481653730547285.06SSD2019-12-18 5:20 AMRaspbian GNU/Linux 10 (buster)armv7l
8179Raspberry Pi 4 Model B Rev 1.1AnonymousToshiba OCZ TR200 SeriesView Product Toshiba TR200
SSD (2.5" SATA)ToshibaTR200480G201109051982531055263231745329662285.30SSD2019-12-13 9:15 AMRaspbian GNU/Linux 10 (buster)armv7lASM105x
8376Raspberry Pi 4 Model B Rev 1.2enderqiuChipfancier WTG Portable SSDView Product CHIPFANCIER SSD 256G on Pi 4
SSD (Portable)ChipfancierSSFDCHIPFANCIER253G157115832199735587316951629734063294.24SSD2019-12-08 5:37 AMRaspbian GNU/Linux 10 (buster)armv7l
9617Raspberry Pi 4 Model B Rev 1.1AnonymousSamsung 850 Evo mSATAView Product mSATA Kingston
SSD (mSATA)SamsungSSD850EVOmSATA120GB12023298171950438409303892532837786310.46SSD2019-12-05 6:05 PMRaspbian GNU/Linux 10 (buster)armv7lASM2115
8404Raspberry Pi 4 Model B Rev 1.1AxiusSanDisk X110View Product ASM1153E adaptor with Sandisk X110 120GB SSD
SSD (2.5" SATA)SanDiskX1102.57MM128GB12818679711596235902283742188635460304.72SSD2019-12-04 7:38 AMRaspbian GNU/Linux 10 (buster)armv7l
9080Raspberry Pi 4 Model B Rev 1.1AnonymousSamsung 840 EvoView Product Samsung 840 EVO on Pi 4 using USB to SATA adapter with a JMicron 578 chip VID152d PID0578
SSD (2.5" SATA)SamsungSSD840EVO250GB25019411729207913654031303204963591124.43SSD2019-12-03 6:38 PMRaspbian GNU/Linux 10 (buster)armv7l
1642Raspberry Pi 4 Model B Rev 1.1SteveGSanDisk Extreme (SEXXX C10 V30 U3)View Product Sandisk Extreme 64GB
C10 V30 U3SanDiskSE64G6433.21398357211444297710422461142.47SD2019-12-02 2:28 AMUbuntu 18.04.3 LTSaarch645.00SDXC07/2016
1483Raspberry Pi 4 Model B Rev 1.1AnonymousSamsung Evo (00000 C10 U3)View Product
C10 U3Samsung000003239.0432384211152311310985305334.27SD2019-11-30 5:14 AMRaspbian GNU/Linux 10 (buster)armv7l3.00SDHC07/2016
8952Raspberry Pi 4 Model B Rev 1.1ssdTranscend ESD200 Portable SeriesView Product transcend ssd
SSD (Portable)TranscendTS120GESD240C120186124512272536116306441809535025298.99SSD2019-11-29 6:28 AMRaspbian GNU/Linux 10 (buster)armv7l
1517Raspberry Pi 4 Model B Rev 1.1dskSamsung Evo (EC2QT C10 U3)View Product dsk
C10 U3SamsungEC2QT6414.81180338812929441812824434441.84SD2019-11-28 1:54 PMRaspbian GNU/Linux 10 (buster)armv7l3.00SDXC06/2019
1522Raspberry Pi 4 Model B Rev 1.1AnonymousSanDisk Extreme (SEXXX C10 V30 U3)View Product microSD card Sandisk
C10 V30 U3SanDiskSE12812836.312373352931626028986417339.74SD2019-11-27 10:55 PMRaspbian GNU/Linux 10 (buster)armv7l5.00SDXC08/2016
8152Raspberry Pi 4 Model B Rev 1.1butterfryZheino mSATA Q3View Product mSata geek adapter usb cable
SSD (mSATA)CHNmSATAQ312012018294042215435027256861800231354311.80SSD2019-11-23 6:00 PMRaspbian GNU/Linux 10 (buster)armv7lGeekworm X855
1483Raspberry Pi 4 Model B Rev 1.1AnonymousTranscend (USD A1 C10 V10 U3)View Product old ssd
A1 C10 V10 U3TranscendUSDU13218.11192419812433410610670419641.68SD2019-11-21 10:35 AMRaspbian GNU/Linux 10 (buster)armv7l5.00SDHC05/2019
9123Raspberry Pi 4 Model B Rev 1.1AnonymousIntel 520 SeriesView Product
SSD (2.5" SATA)IntelSSDSC2CW120A3120197108562260433875313332392835070287.01SSD2019-11-20 10:56 PMRaspbian GNU/Linux 10 (buster)armv7lASM1051
8834Raspberry Pi 4 Model B Rev 1.1AnonymousSamsung 860View Product SSD 860 QVO 1TB
SSD (2.5" SATA)SamsungSSD860QVO1TB1000183113982153937388304871711435958294.20SSD2019-11-20 8:32 PMRaspbian GNU/Linux 10 (buster)armv7l
1683Raspberry Pi 4 Model B Rev 1.1AnonymousPhison SD OEM (SDXXX A1 C10 V10 U1)View Product pi2
A1 C10 V10 U1PhisonSD64G6421.51653287013007576210127595941.31SD2019-11-19 6:37 PMRaspbian GNU/Linux 10 (buster)armv7l6.00SD08/2019
1583Raspberry Pi 4 Model B Rev 1.1beri13SanDisk Extreme (SEXXX C10 V30 U3)View Product sandisk extrem 32Go
C10 V30 U3SanDiskSE32G3235.0137534051000629939385446341.92SD2019-11-14 1:19 AMUbuntu 18.04.3 LTSaarch645.00SDHC09/2016
1461Raspberry Pi 4 Model B Rev 1.1AnonymousPhison SD OEM (SDXXX C10 U1)View Product
C10 U1PhisonSD16G1626.4147827151042047417715478440.04SD2019-11-10 1:49 AMRaspbian GNU/Linux 10 (buster)armv7lASMedia ASM105x6.00SD03/2019
1734Raspberry Pi 4 Model B Rev 1.1MotherChaserSamsung Evo+ (EXXQT C10 U1)View Product MotherChaser
C10 U1SamsungEB1QL3220.41645392013805544511825543242.04SD2019-11-08 12:02 PMRaspbian GNU/Linux 10 (buster)armv7l3.00SDHC04/2019
10181Raspberry Pi 4 Model B Rev 1.1sayasong1eVtran SLC DIY SeriesView Product slcDIY
USB FlasheVtranV26S-64G64233162952830237276320921666536734306.06SSD2019-11-07 12:25 PMRaspbian GNU/Linux 10 (buster)armv7l
10598Raspberry Pi 4 Model B Rev 1.1AnonymousSamsung T5 PortableView Product SSD
SSD (Portable)SamsungPortableSSDT5500256155712830238213333332002837717305.44SSD2019-11-06 2:01 PMRaspbian GNU/Linux 10 (buster)armv7l
8346Raspberry Pi 4 Model B Rev 1.1AnonymousTranscend MSA SeriesView Product sdd transcend TS64GMSA230S over USB30
SSD (mSATA)TranscendTS64GMSA230S6416884091572438193285572374435394278.18SSD2019-11-04 7:58 AMRaspbian GNU/Linux 10 (buster)armv7lASM2115
1752Raspberry Pi 4 Model B Rev 1.1AnonymousPhison SD OEM (SDXXX C10 U1)View Product
C10 U1PhisonSD12812819.81683350414185601111075604341.97SD2019-10-31 5:57 AMUbuntu 18.04.3 LTSaarch646.00SD04/2019
8236Raspberry Pi 4 Model B Rev 1.1AnonymousKingston A400M SeriesView Product
SSD (M.2 NVME)KingstonSA400M8120G12019086052107831930209572145732004284.97SSD2019-10-30 11:19 AMRaspbian GNU/Linux 10 (buster)armv7l
1667Raspberry Pi 4 Model B Rev 1.1Froggy74Lexar 633xView Product Lexar 633x 32GB
A1 C10 V10 U1Lexar5cMJR3217.71476382412634496413065494243.88SD2019-10-30 4:14 AMRaspbian GNU/Linux 10 (buster)aarch645.00SDHC05/2019
8917Raspberry Pi 4 Model B Rev 1.1AnonymousCrucial MX500 M.2 SeriesView Product CT250MX500 M2
SSD (M.2 SATA)CrucialCT250MX500SSD4250189112472166734747313462193234526297.28SSD2019-10-24 2:45 PMRaspbian GNU/Linux 10 (buster)armv7lASM2115
8575Raspberry Pi 4 Model B Rev 1.1AnonymousSamsung T3 PortableView Product SSD
SSD (Portable)SamsungPortableSSDT3100019183442199336590283461817035294309.72SSD2019-10-22 3:42 AMRaspbian GNU/Linux 10 (buster)armv7l
8433Raspberry Pi 4 Model B Rev 1.1novellahubSilicon Power A55 SeriesView Product SiliconPower 120GB
SSD (2.5" SATA)SPSolidStateDisk120207115681645732066270402214830220274.28SSD2019-10-18 6:45 PMRaspbian GNU/Linux 10 (buster)armv7l
8992Raspberry Pi 4 Model B Rev 1.1AnonymousSamsung MZNT SeriesView Product M2SATA
SSD (M.2 SATA)SamsungMZNTY128HDHP-000L1128199115362162133337311022424133227276.69SSD2019-10-17 5:23 PMRaspbian GNU/Linux 10 (buster)armv7l
8573Raspberry Pi 4 Model B Rev 1.1MickNLPlextor PX SeriesView Product SSD Plextor PX128S3C via JMicron JMS579 UAS USB30 SATA III
SSD (2.5" SATA)PlextorPX-128S3C128180110912213535117317831606334244291.39SSD2019-10-12 2:59 PMRaspbian GNU/Linux 10 (buster)armv7l
10575Raspberry Pi 4 Model B Rev 1.1AnonymousSamsung 860 EvoView Product
SSD (2.5" SATA)SamsungSSD860EVO250GB250228151122748237704330682768438151305.18SSD2019-10-05 12:31 AMRaspbian GNU/Linux 10 (buster)armv7lASMedia ASM105x
9961Raspberry Pi 4 Model B Rev 1.1AnonymousSamsung 970 EvoView Product Samsung 970 EVO
SSD (M.2 NVME)SamsungSSD970EVO2B2Q500217152832825636376284463034932188293.49SSD2019-09-30 10:02 AMRaspbian GNU/Linux 10 (buster)armv7lJMS583
1629Raspberry Pi 4 Model B Rev 1.1AnonymousLexar 667XView Product
A1 C10 V30 U3Lexar5cMJR6421.31514402312544497810528506042.75SD2019-09-29 6:02 AMUbuntu 18.04.3 LTSaarch645.00SDXC11/2018
8303Raspberry Pi 4 Model B Rev 1.1AnonymousCorsair Force 3 SeriesView Product
SSD (2.5" SATA)CorsairForce3SSD240191112231479730654318101623433595249.97SSD2019-09-29 12:35 AMRaspbian GNU/Linux 10 (buster)armv7lASM1051
1634Raspberry Pi 4 Model B Rev 1.1bobSanDisk Extreme Pro (SPXXX A1 C10 V30 U3)View Product bob
A1 C10 V30 U3SanDiskSP12812837.913393522979627009479477140.63SD2019-09-28 8:34 PMRaspbian GNU/Linux 10 (buster)armv7l5.00SDXC08/2017
1658Raspberry Pi 4 Model B Rev 1.1bobSanDisk Extreme (AFGCX A1 C10 V30 U3)View Product bob
A1 C10 V30 U3SanDiskAGGCD3238.813953588980227609707472741.05SD2019-09-28 8:09 PMRaspbian GNU/Linux 10 (buster)armv7l5.00SDHC06/2017
9196Raspberry Pi 4 Model B Rev 1.1spark343Samsung 850 EvoView Product SSD
SSD (2.5" SATA)SamsungSSD850EVO250GB250165117212523439137307431952638457308.15SSD2019-09-27 5:22 AMRaspbian GNU/Linux 10 (buster)armv7lASM105x
8256Raspberry Pi 4 Model B Rev 1.1Magnus RPNY Elite PortableView Product PNY ELITE External SSD 240GB Model PSD1CS1050240FFS
SSD (Portable)PNYELITEPSSD240194116201509835290282691717631817275.60SSD2019-09-27 12:11 AMRaspbian GNU/Linux 10 (buster)armv7l
8650Raspberry Pi 4 Model B Rev 1.12323Western Digital Black SN750 SeriesView Product SSD
SSD (M.2 NVME)WDCWDS250G3X0C-00SJG0102025018081581822037574270802606635738263.05SSD2019-09-26 9:37 AMRaspbian GNU/Linux 10 (buster)armv7lJMS583
1672Raspberry Pi 4 Model B Rev 1.1AnonymousSanDisk Extreme (AFGCX A1 C10 V30 U3)View Product SanDisk
A1 C10 V30 U3SanDiskAFGCD3237.4143736481018530539523490540.89SD2019-09-24 6:23 PMRaspbian GNU/Linux 10 (buster)armv7l5.00SDHC03/2017
9190Raspberry Pi 4 Model B Rev 1.1AnonymousCrucial P1 M.2 SeriesView Product SSDvs SD Card
SSD (M.2 NVME)CrucialCT1000P1SSD81000203112082169433363313532754833744298.23SSD2019-09-23 6:19 AMRaspbian GNU/Linux 10 (buster)armv7lJMS583
1716Raspberry Pi 4 Model B Rev 1.1AnonymousSony OEM SDView Product SD card
A1 C10 V30 U3SonyUSD006439.6145438001302249539423463541.68SD2019-09-22 2:22 AMRaspbian GNU/Linux 10 (buster)armv7l6.00SDXC03/2025
8180Raspberry Pi 4 Model B Rev 1.1TakeeKingston SSDNow V500 mSATAView Product Kingston SSD
SSD (mSATA)KingstonSUV500MS120G12022395092683434788210832264324085314.54SSD2019-09-22 1:47 AMRaspbian GNU/Linux 10 (buster)armv7lGeekworm X855
1722Raspberry Pi 4 Model B Rev 1.1AnonymousSanDisk Extreme (SEXXX A1 C10 V30 U3)View Product SanDisk Extreme 32GB A1 V30 class3
A1 C10 V30 U3SanDiskSE32G3237.7149637241072531429927509441.55SD2019-09-20 4:05 PMRaspbian GNU/Linux 10 (buster)armv7l5.00SDHC03/2019
8673Raspberry Pi 4 Model B Rev 1.1AnonymousIntenso PortableSSD SeriesView Product intenso portable ssd
SSD (Portable)IntensoPortableSSD25617912231219453621530069161333431365.68SSD2019-09-18 11:36 AMRaspbian GNU/Linux 10 (buster)armv7l
9208Raspberry Pi 4 Model B Rev 1.1sgwSamsung 860 ProView Product Samsung SSD
SSD (2.5" SATA)SamsungSSD860PRO256GB256197113872112236812318132374235721301.54SSD2019-09-17 11:19 PMRaspbian GNU/Linux 10 (buster)armv7l
1550Raspberry Pi 4 Model B Rev 1.1AnonymousKingston Canvas React (SDCHE A1 C10 V10 U1)View Product
A1 C10 V10 U1TISDCHE12832.71124380612214378810703369940.46SD2019-09-13 5:49 AMRaspbian GNU/Linux 10 (buster)armv7l6.00SD06/2019
1571Raspberry Pi 4 Model B Rev 1.1leosTestSamsung Evo+ (EXXQT C10 U3)View Product sandisk ultra
C10 U3SamsungED4QT12830.01350324811275420411030402933.43SD2019-09-12 11:10 AMRaspbian GNU/Linux 10 (buster)armv7l3.00SDXC12/2017
8221Raspberry Pi 4 Model B Rev 1.1AnonymousCrucial M4 SeriesView Product SSD
SSD (2.5" SATA)CrucialFCCT256M4SSD1256185109822878037421243981367129124305.96SSD2019-09-11 6:09 PMRaspbian GNU/Linux 10 (buster)armv7lASM1153E
1463Raspberry Pi 4 Model B Rev 1.1JACCINFORMATICAAData Premier A1View Product SD card 64GB AData A1 Class 10 V30 U3
A1 C10 V30 U3ADataSD6423.4105040341186944829755408242.71SD2019-09-09 8:01 AMUbuntu 18.04.3 LTSaarch645.00SDXC02/2019
1495Raspberry Pi 4 Model B Rev 1.1AnonymousPhison SD OEM (SDXXX C10 U1)View Product sd card
C10 U1PhisonSD64G6419.2148430741099148918920513941.44SD2019-09-07 5:52 AMUbuntu 18.04.3 LTSaarch646.00SD05/2019
8204Raspberry Pi 4 Model B Rev 1.1AnonymousCrucial M500 SeriesView Product Crucial M500
SSD (2.5" SATA)CrucialCT120M500SSD1120131116152956119891286091523134245298.78SSD2019-09-06 7:46 PMRaspbian GNU/Linux 10 (buster)armv7lASM105x
8608Raspberry Pi 4 Model B Rev 1.1AnonymousSanDisk SSD PlusView Product sandisk
SSD (2.5" SATA)SanDiskSDSSDA240G240203116152069533741309681508732903297.76SSD2019-09-06 12:48 PMRaspbian GNU/Linux 10 (buster)armv7l
1664Raspberry Pi 4 Model B Rev 1.1AnonymousSanDisk Extreme (SEXXX A1 C10 V30 U3)View Product western digital 256GB ssd
A1 C10 V30 U3SanDiskSE64G6437.4142636321009529609455488740.83SD2019-09-04 7:21 PMRaspbian GNU/Linux 10 (buster)armv7lASMedia AS21155.00SDXC04/2018
8407Raspberry Pi 4 Model B Rev 1.1AnonymousCrucial MX300 SeriesView Product Curr
SSD (2.5" SATA)CrucialCT525MX300SSD1525156116572249535456318601517034645253.04SSD2019-09-03 10:29 AMRaspbian GNU/Linux 10 (buster)armv7lASM1051
1650Raspberry Pi 4 Model B Rev 1.1AnonymousSanDisk Extreme Pro (SPXXX A1 C10 V30 U3)View Product sd
A1 C10 V30 U3SanDiskSP64G6438.813783584984526949701466440.66SD2019-08-31 7:14 AMRaspbian GNU/Linux 10 (buster)armv7l5.00SDXC09/2017
8973Raspberry Pi 4 Model B Rev 1.1JosephCrucial MX500 SeriesView Product
SSD (2.5" SATA)CrucialCT250MX500SSD1250212124272263433816317371713233135296.41SSD2019-08-30 11:16 AMRaspbian GNU/Linux 10 (buster)armv7lASM105x
9167Raspberry Pi 4 Model B Rev 1.1AnonymousCrucial BX500 SeriesView Product Crucial BX500
SSD (2.5" SATA)CrucialCT240BX500SSD12401921146921805359483109224891351606.55SSD2019-08-29 10:20 AMRaspbian GNU/Linux 10 (buster)armv7l
8863Raspberry Pi 4 Model B Rev 1.1AnonymousKingston SSDNow V400View Product
SSD (2.5" SATA)KingstonSUV400S37120G120201117592281631984307161649034305298.27SSD2019-08-26 12:23 PMRaspbian GNU/Linux 10 (buster)armv7l
1488Raspberry Pi 4 Model B Rev 1.1AnonymousSamsung Evo (00000 C10 U1)View Product
C10 U1Samsung000006419.4531394713975345113930351642.93SD2019-08-25 8:08 AMDebian GNU/Linux 9 (stretch)aarch643.00SDXC03/2016
10555Raspberry Pi 4 Model B Rev 1.1AnonymousSanDisk Extreme PortableView Product
SSD (Portable)SanDiskSD9SN8W512G500219149532909039574344942337539780311.25SSD2019-08-17 8:42 PMRaspbian GNU/Linux 10 (buster)armv7l
8266Raspberry Pi 4 Model B Rev 1.1KevinWestern Digital Blue SN500 NVMEView Product
SSD (M.2 NVME)WDCJMicronJMS58350018077362245634439282321895533664299.24SSD2019-08-12 7:07 AMRaspbian GNU/Linux 10 (buster)armv7l
8336Raspberry Pi 4 Model B Rev 1.1AnonymousTranscend MTS800 SeriesView Product
SSD (M.2 SATA)TranscendTS120GMTS820S120138110152200234597309062181234144276.08SSD2019-08-11 7:05 AMRaspbian GNU/Linux 10 (buster)armv7l
9529Raspberry Pi 4 Model B Rev 1.1AnonymousKingston A400S SeriesView Product
SSD (2.5" SATA)KingstonSA400S37120G120220158803017037516287541849430791296.64SSD2019-08-04 10:14 AMRaspbian GNU/Linux 10 (buster)armv7lASM105x
1585Raspberry Pi 4 Model B Rev 1.1AnonymousTranscend (USD A1 C10 V30 U3)View Product
A1 C10 V30 U3TranscendUSDU16424.01216404317161413710648417941.08SD2019-08-03 2:19 PMRaspbian GNU/Linux 10 (buster)armv7l5.00SDXC06/2019
8861Raspberry Pi 4 Model B Rev 1.1AnonymousAData SU800View Product AData SU800
SSD (2.5" SATA)ADataSU800128198111401777734741315172328234148299.13SSD2019-07-29 7:49 PMRaspbian GNU/Linux 10 (buster)armv7lASMedia ASM105x
1878Raspberry Pi 4 Model B Rev 1.1AnonymousSanDisk Extreme Pro (SPXXX A1 C10 V30 U3)View Product SanDisk Extreme Plus
A1 C10 V30 U3SanDiskSP32G3240.21458356312648307211897547742.19SD2019-07-25 3:13 PMRaspbian GNU/Linux 10 (buster)armv7l5.00SDHC02/2019
1558Raspberry Pi 4 Model B Rev 1.1AnonymousAData Premier ProView Product AData
A2 C10 V30 U3ADataSD6424.01239426612606408910432433941.45SD2019-07-14 9:45 AMRaspbian GNU/Linux 10 (buster)armv7l6.00SDXC05/2019
8751Raspberry Pi 4 Model B Rev 1.1sacSamsung 850 ProView Product Samsung 850 Pro
SSD (2.5" SATA)SamsungSSD850PRO256GB25618884572227036382281672356435021315.78SSD2019-07-08 5:19 PMRaspbian GNU/Linux 10 (buster)armv7l
9044Raspberry Pi 4 Model B Rev 1.1jchambersCrucial MX200 SeriesView Product Crucial MX200
SSD (2.5" SATA)CrucialCT250MX200SSD1250205124272316719970328161683635742316.22SSD2019-07-08 5:11 PMRaspbian GNU/Linux 10 (buster)armv7lASM105x
1620Raspberry Pi 4 Model B Rev 1.1AnonymousSanDisk Extreme (AFGCX A1 C10 V30 U3)View Product SanDisk Extreme
A1 C10 V30 U3SanDiskAFGCE6438.4105036631013329619708460440.97SD2019-07-02 12:59 PMRaspbian GNU/Linux 10 (buster)armv7l5.00SDXC04/2017
8486Raspberry Pi 4 Model B Rev 1.1dzmPNY CS900View Product PNY CS900
SSD (2.5" SATA)PNYCS900120GBSSD120205111202183334784269721988029892283.52SSD2019-07-01 10:39 PMRaspbian GNU/Linux 10 (buster)armv7lASM2115
8312Raspberry Pi 4 Model B Rev 1.1jchambersCrucial M550 SeriesView Product Crucial M550
SSD (mSATA)CrucialCT256M550SSD3256137124932227019401307421673835987294.08SSD2019-06-28 9:36 PMRaspbian GNU/Linux 10 (buster)armv7lASM2115
8905Raspberry Pi 4 Model B Rev 1.1jchambersLITEON M.2 OEM LG SeriesView Product LiteOn M2 SATA SSD
SSD (M.2 SATA)LITEONLJH-256V2G-11M.22260256GB256193125792263436785305011572434640300.28SSD2019-06-28 5:15 PMRaspbian GNU/Linux 10 (buster)armv7lASM2115
1965Raspberry Pi 3 Model B Plus Rev 1.3AnonymousSanDisk Ultra (SLXXX A1 C10 U1)View Product SanDisk Ultra
A1 C10 U1SanDiskSL16G1634.026351846968973596870834822.02SD2019-03-21 2:26 PMRaspbian GNU/Linux 9 (stretch)armv7l5.00SDHC02/2018
Showing featured results only. View full results

As you can see all of the top spots in the results are held by solid state drives. Further, solid state drives beat the fastest MicroSD cards by about 300%.

MicroSD performance varied wildly based on quality of the card. But even the very best and most expensive MicroSD cards got absolutely destroyed by even the cheapest solid state drives. This is because SSDs are so fast that they are limited by the speed of the Raspberry Pi’s USB 2.0 ports.

Solid state drives also have very large write caches. This lets your Raspberry Pi push data to the drive and start doing other things and let the drive itself figure out how to organize the data. Much of the throughput and other performance differences in the above chart are because of much better and faster read/write caching.

Which SSD to Buy?

Since all models and types of solid state drives hit the Raspberry Pi’s USB 2.0 transfer speed limit you should buy the cheapest one that fits your needs!

If your Raspberry Pi is mostly stationary it’s easiest and cheapest to just use a normal 2.5″ SATA SSD with a USB adapter. Here’s my recommendation:

Raspberry Pi Cheap SSD Upgrade Guide

Kingston A400 SSD 120GB SATA 3 2.5” Solid State Drive

Raspberry Pi Cheap SSD Upgrade Guide

StarTech 2.5″ SATA to USB 3.0 Adapter

The Kingston A400 drive performs really well in the Raspberry Pi Storage Benchmarks. It’s a great drive and is cheaper than many mid-range MicroSD cards.

The 2.5″ SATA to USB adapter above allows us to do this. There is no power adapter needed as SSDs are low power and are powered by the Pi through USB.

The contenders for the RPI storage benchmarks
Several contenders for the RPI storage benchmarks

Compact SSD Options

If you move your Pi around a lot or need something more compact there are several options.

Raspberry Pi Cheap SSD Upgrade Guide

Option 1:  SanDisk Extreme Pro 128GB USB Solid State Flash Drive

There are some flash drives (a very small number) that are actually solid states. This one is the best one. I actually have a old discontinued model in my picture above. You have to be extremely careful when looking for these as 99.9% of flash drives are NOT solid states. The SanDisk Extreme Pro is a true solid state. The cheaper SanDisk Extreme and Extreme Gos are not (needs to be the pro). If you are looking at a flash drive and they don’t explicitly state it’s a solid state drive then it surely isn’t!

Option 2: Build from parts

Unless you already have an old solid state you can use the price of the adapter + the drive will likely be more than the SanDisk above. If you can find killer deals on eBay you may be able to save a little bit.

You can build a M.2 USB stick but you need to be careful with which type of M.2 drive you have/buy. They can be B-key, M-key, or M+B keyed. By far the most common and cheap ones are SATA with a B or B+M key. The adapter I have is this one.

In the picture above of different storage types you can see I am using an old mSATA drive as a USB stick. To learn how to build one see my article here. These SSDs can be picked up pretty cheap on eBay but I wouldn’t recommend buying one new as they are now specialty parts since M.2 has replaced mSATA.

Benchmark Your Storage

To get a good idea of what kind of performance improvement you can expect you can run the exact same benchmark featured in the table above.

To run the benchmark type/paste:

sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash

Compare your results to the other benchmarks here. Pay special attention to the 4k random read/write tests such as IOZone and FIO. These best reflect everyday usage on the Pi and determine how fast it will respond and perform.

Create Bootable Drive

Creating your bootable drive is also very easy. You simply image it the same way you would image a blank MicroSD.

I use Win32DiskImager and simply select the USB attached drive just like you would with a MicroSD card and write the image. It’s very easy!

Don’t forget to place an empty “ssh” file in the /boot directory if you want to connect via SSH.

Prevent High CPU Usage

There is an issue where using a solid state drive will cause kworker to consume around 10% of your CPU all of the time. This is due to the Pi polling constantly for a Micro SD card to be inserted.

There are two ways to fix this. One is to insert a blank Micro SD card in the Micro SD slot and leave it there all the time. The other is to add a line to your /boot/config.txt. Open up config.txt and add the following:

dtoverlay=sdtweak,poll_once

This option will tell the Pi to only check for a Micro SD card once at bootup. This means if you want to access the card it needs to be in the Pi before it boots up.

SSD With Raspberry Pi 4

The Raspberry Pi 4 does not support USB booting like it had in the 3 series at launch. They plan to add this feature back in at a later date. I have found a workaround for this so check out my guide on how to set up USB drives in the mean time.

SSD With Raspberry Pi 3

Once you have chosen your SSD it is time to configure the Raspberry Pi to boot off USB storage. Fortunately this is extremely simple. To enable booting from USB storage simply boot up your Raspberry Pi and run this command:

echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt

Alternatively you can put your MicroSD into your computer and open /boot/config.txt and add the line:

program_usb_boot_mode=1

Now reboot your Pi and USB boot support will be permanently enabled. This only needs to be done once per Raspberry Pi as the change is permanent.

You may now remove the Micro SD card altogether and plug in your external storage you prepared in the previous section. Power up the Pi and it will boot directly from the USB storage!

SSD with Raspberry Pi 1 / 2 / Zero W

The older Pi family and the Zero / Zero W also support USB booting with a small catch. You still need to have a Micro SD card inserted in the Pi with only one file on (bootcode.bin). This is because these Pis use the older
BCM2835 which is a Micro SD only bootloader.

The good news is that if we put a otherwise blank Micro SD card in there with this file the Pi can boot from USB storage just fine and take full advantage of the increased speed and storage size. Bootcode.bin basically provides the instructions to the Pi telling it how to boot from USB.

First you will format your Micro SD card as FAT32 . FAT32 is the partition type that the Pi bootloader can read and is the same format as the /boot/ partition on a fully imaged Pi card.

Next grab the latest bootcode.bin from the official Raspberry Pi repository at https://github.com/raspberrypi/firmware/raw/master/boot/bootcode.bin

Copy the bootcode.bin file onto your newly created and otherwise blank FAT32 imaged Micro SD card and then insert the Micro SD card back into the Raspberry Pi.

Now connect your USB storage back to the Pi and power it on. The Pi will boot directly from your USB storage device!

Conclusion

A solid state drive is the biggest upgrade you can give your Pi. When I am configuring my Minecraft Raspberry Pi servers the performance difference is night and day. They boot faster, respond faster and write/read much faster. It’s very difficult to go back to MicroSD after using one of these with your Pi.

This should be a future proof upgrade as well because presumably the Raspberry Pi 4 will have USB 3.0 and support much higher transfer rates. At this point the individual performance of SSD drives might actually matter but for at least the next couple of years until the Pi4 comes out it makes sense to buy the cheapest drive possible.

I highly recommend running the benchmark for yourself to get an idea of how much performance you can gain!

17 thoughts on “Raspberry Pi Cheap SSD Upgrade Guide”

    1. Avatar for jamesachambers

      They’re great! They’re nice metal drives too instead of the typical cheap plastic so they’re tough enough to carry around. They aren’t cheap but they’re very fast and durable.

    1. Avatar for jamesachambers

      It depends on the SSD. Some of them take more power than others and the USB ports will let them draw more than they are supposed to.

      For more than one drive I definitely recommend a powered USB hub.

  1. Avatar for Jeremy Niedens

    Love this upgrade….I cloned a 64GB sd card for a 120GB ssd. Now the pi can only see 64GB of the new ssd.

    I tried expanding the file size under raspi-config, but it states it’s not a SD card.

    Any ideas?

    1. Avatar for Didier B

      How did you cloned your Sd ?
      I used the SD card copy facility in the raspbian accessories, and found the files system had been silently and automatically expanded on my SSD !

  2. Avatar for Luke

    This is fantastic. My Pi2 is loads faster using a crucial 120gb ssd. I expect it will last longer than the SanDisk SD cards that my Pi routinely destroyed. Fingers Crossed.

  3. Avatar for Chris

    Followed your advice and now running/booting from an old 64GB SSD with USB adapter. One thing I noticed is that removing the micro SD card results in process KWORKER constantly running around 20% CPU or more. Quick & dirty fix seems to be to insert any old non-bootable memory card – I’m sure there are more elegant ways.

    1. Avatar for jamesachambers
      jamesachambers

      Hello Harii4,

      Thanks for the question. I have updated the article with a new section for booting a Pi / Pi 2 / Pi Zero from USB mass storage. Basically the trick is using bootcode.bin on an otherwise blank Micro SD card and the Pi will boot from USB!

        1. Avatar for Jason

          Hi, i followed the instructions, and added “bootcode.bin” to an otherwise blank Micro SD card, but my RP2 B v1.1 was not able to boot up using usb SSD drive. Can I get some help here? Thank you!

          1. Avatar for Jason

            dropping a note regarding my previous comment. i was able to get this working when I made sure both micro SD card and SSD have the drive name “boot”

Leave a Comment

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

Type here..