Jump to content

If the M.2 enclosure from LTT's recent video doesn't support TRIM...

Go to solution Solved by NewMaxx,
14 hours ago, NobleGamer said:

Right, so let's say TRIM isnt important because we lean on drive's own maintenance.

 

That is why I brought up the example of:

Those two features seem diametrically opposed to each other, without knowing the exact timing of SSDs garbage collection, correct?

 

So my takeaway is that in order to ensure maintenance of an enclosure drive happens as often/normally as if it was physically attached to my motherboard, then the enclosure manufacturer needs to:

  • Confirm UASP or TRIM support
  • Not cause SSD to sleep faster than SSD garbage routines

...or just hope your manufacturer doesn't use old or lowsy parts/controller without UASP or TRIM.

GC still relies on TRIM to identify invalid pages more quickly but it is automatic at idle, yes. Enclosures have a sleep timer which can often be modified in firmware (for the bridge chip). Sufficient GC will probably be detected as the drive being active - the reason it's done during idle is so it doesn't interfere with host I/O. If you mean the enclosure goes to sleep before GC has time to kick in, I suppose that's possible, although running an optimize/TRIM would probably kick it into gear. The amount of idle time before GC varies and can be quite high/long on some drives but this time is also tracked such that the drive will engage it more quickly if necessary (e.g. if SLC is full).

 

Any USB3.0+ port will/should support UASP and through SCSI a method to discard. Certain older bridge chips may turn off the relevant block discard flag, probably because the chip manufacturers wanted to make newer products for more $ that had TRIM explicitly because the ability to support it is trivial (you can often modify firmware or workaround this limitation). In any case, any modern system and enclosure should have implicit support, although there are ways to test this (and also Windows seems to ignore this flag). I can say for sure that any 10Gbps chip is by far new enough.

So what's the real world impact on performance and endurance for an NVME drive used in an enclosure that doesn't support TRIM? Or is there any impact?

 

LTT recently uploaded a "Handy Tech <$100" video that featured this: ORICO M.2 NVMe SSD Enclosure, USB 3.1 Gen 2 (10 Gbps) to NVMe PCI-E M.2 SSD Case Support UASP for NVMe SSD Size 2230/2242/2260/2280(up to 4TB)-M2PV

 

I looked up whether it supported TRIM, and an official answer from ORICO on the Amazon product Q&A was no. Two other answers from 3 years ago say that firmware from some other company named Plugable (or does ORICO just white label Plugable's products?), but seems sketch to use firmware for a different brand unless I know that ORICO just flips Pluggable devices. Besides, plug & play would be nice.

 

For background: TRIM is a command with the help of the operating system can tell the solid state drive (SSD) which data blocks are no longer needed and can be deleted, or are marked as free for rewriting.

 

I tried searching the forums and elsewhere, and it wasn't really clear other than these two broad takeaways:

  • It will hurt performance if the SSD has to overwrite any leftover data from deleted files that hasnt been TRIMmed yet.
  • It can hurt endurance because writing is handled differently in these circumstances.

I don't expect exact stats here because I know that would depend on read vs write ratio, filesize, workload, etc. But it would be nice to be able to say in general how greatly or insignificanty TRIM or some form of SSD garbage collection helps.

 

If I got an NVME enclosure, I have 2 different possible uses for it with my Windows PC:

  • One on my NAS' USB port to put a spare NVME drive I have to work as a faster way to backup certain tiny files (docs, etc) that take forever with an HDD. Older backups may have to be overwritten within a few weeks since my default retention policy is 30 days, and the nvme drive may not be big enough for this specific backup.
  • Gaming or game storage, where I may keep it (<80%) full of games, and I may move games from slower storage (like SATA SSD) to the nvme.

Any differences in the effects of no-TRIM there?

 

If we believe Crucial, then their firmware does active garbage collection independent of OS used to access the drive, and I would hope many other SSD makers do the same:

Quote

Note: Garbage collection only works when your Crucial SSD is idle, so make sure to configure your system so it doesn’t go to sleep when it’s idling. 

So even if the enclosure doesn't support the TRIM command, then the SSD can handle it, so no worries right?

 

Well, the enclosure actually has an auto sleep function, and I'm sure some others do too:

Quote

Auto-Sleep Function

Enter sleep mode automatically after left unused for 10 minutes, it can prolong the service life of SSD.

So if auto garbage collection of an SSD is less frequent than auto sleep, then that collection isnt going to happen, and supposedly the enclosure in question is without TRIM.

Edited by NobleGamer
Moved bolded question to the top
Link to comment
Share on other sites

Link to post
Share on other sites

It will be slower, the longer it run it. when filled up, it will be much slower.

 

the pseudo SLC buffer probably won't work that well.

   
 
 
 
Spoiler
CPU : Intel 14gen i7-14700K
COOLER :  Thermalright Peerless Assassin 120 White + thermaltake toughfan 12 white + Thermal Grizzly - CPU Contact Frame Intel 13./14. +  Coollaboratory Liquid Ultra
GPU : MSI RTX 2070 Armor @GPU 2050MHz Mem 8200MHz -> USB C 10Gb/s cable 2m -> Unitek 4x USB HUB 10 Gb/s (Y-HB08003)
MOBO : MSI MEG Z690 UNIFY
RAM :  Corsair VENGEANCE DDR5 RAM 64 GB (2 x 32 GB) 6400 MHz CL32 (CMK64GX5M2B6400C32)
SSD : Intel Optane 905P 960GB U.2 (OS) + 2 x WD SN850X 4TB + 2 x PNY CS3140 2TB + ASM2824 PCIe switch -> 4 x Plextor M8PeG 1TB + flexiDOCK MB014SP-B -> Crucial MX500 2TB + GoodRam Iridium PRO 960GB + Samsung 850 Pro 512GB
HDD : WD White 18TB WD180EDFZ + SATA port multiplier adp6st0-j05 (JMB575) ->  WD Gold 8TB WD8002FRYZ + WD Gold 4TB WD4002FYYZ + WD Red PRO 4TB WD4001FFSX + WD Green 2TB WD20EARS
EXTERNAL
HDD/SSD : 
XT-XINTE LM906 (JMS583) -> Plextor M8PeG 1TB + WD My Passport slim 1TB + LaCie Porsche Design Mobile Drive 1TB USB-C + Zalman ZM-VE350 -> Goodram IRDM PRO 240GB
PSU :  Super Flower leadex platinum 750 W biały -> Bitfenix alchemy extensions białe/białe + AsiaHorse 16AWG White 
UPS :  CyberPower CP1500EPFCLCD -> Brennenstuhl primera-line 8 -> Brennenstuhl primera-line 10
LCD :  LG 32UD59-B + LG flatron IPS236 -> Silverstone SST-ARM11BC
CASE :  Fractal R5 Biały + Lian Li BZ-H06A srebrny + 6 x Thermaltake toughfan 14 white + Thermalright TL-B8W
SPEAKERS :  Aune S6 Pro -> Topping PA3-B -> Polk S20e black -> Monoprice stand 16250
HEADPHONES :  TOSLINK 2m -> Aune S6 Pro -> 2 x Monoprice Premier 1.8m 16AWG 3-pin XLR -> Monoprice Monolith THX AAA 887 -> 4-pin XLR na 2 x 3.5mm 16 cores OCC 2m Cable -> HiFiMAN Edition XS -> sheepskin pads + 4-pin XLR na 2 x 2.5mm ABLET silver 2m  Cable -> Monoprice Monolith M1060 + Brainwavz HM100 -> Brainwavz sheepskin oval pads + Wooden double Ɪ Stand + Audio-Technica ATH-MSR7BK -> sheepskin pads + Multibrackets MB1893 + Sennheiser Momentum 3 +  Philips Fidelio X2HR/00 + JBL J88 White
MIC :  Tonor TC30 -> Mozos SB38
KEYBOARD : Corsair STRAFE RGB Cherry MX Silent (EU) + Glorious PC Gaming Race Stealth Slim - Full Size Black + PQI MyLockey
MOUSE :  Logitech MX ERGO + 2 x Logitech MX Performance + Logitech G Pro wireless + Logitech G Pro Gaming -> Hotline Games 2.0 Plus + Corsair MM500 3xl + Corsair MM300 Extended + Razer goliathus control
CONTROLLERS :  Microsoft xbox series x controller pc (1VA-00002) -> brainwavz audio Controller Holder UGC2 + Microsoft xbox 360 wireless black + Ravcore Javelin
NET :  Intel x520-DA2 -> 2 x FTLX8571D3BCV-IT + 2 x ASUS ZenWiFi Pro XT12
NAS :  Qnap TS-932X-2G -> Noctua NF-P14s redux 1200 PWM -> Kingston 16GB 2400Mhz CL14 (HX424S14IB/16) -> 9 x Crucial MX500 2TB ->  2 x FTLX8571D3BCV-IT -> 2 x Digitus (DK-HD2533-05/3)
Link to comment
Share on other sites

Link to post
Share on other sites

I'm not going to read all that (in a rush today) but it depends on the bridge chip. Almost all that use UASP, that is SCSI, support TRIM via the UNMAP command. It's equivalent. Any 10Gbps bridge chip is far modern enough to support this. I wouldn't go so far as to say it's universal spec, but it essentially is, as older controllers with UASP that didn't could often be forced to do so with the right firmware changes and/or OS switches. Users regularly modify the firmware folder to adjust sleep times and other things.

 

In any case, clicking your link, It says no M.2 SATA which means it's not the RTL9210B (despite the fact some reviews say it does). The fact users report it tells me Orico uses multiple chips and/or doesn't know what it's doing (as in, they wouldn't be able to accurately answer your questions), but in any case the JMS583 and ASM2362 also support UNMAP.

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, NobleGamer said:

What are you referring to?  A specific SSD? Enclosures don't have buffers.

Internal SSD write schemes, but as NewMaxx said, modern 10Gbps enclosure usually all, have TRIM support in some form, 

   
 
 
 
Spoiler
CPU : Intel 14gen i7-14700K
COOLER :  Thermalright Peerless Assassin 120 White + thermaltake toughfan 12 white + Thermal Grizzly - CPU Contact Frame Intel 13./14. +  Coollaboratory Liquid Ultra
GPU : MSI RTX 2070 Armor @GPU 2050MHz Mem 8200MHz -> USB C 10Gb/s cable 2m -> Unitek 4x USB HUB 10 Gb/s (Y-HB08003)
MOBO : MSI MEG Z690 UNIFY
RAM :  Corsair VENGEANCE DDR5 RAM 64 GB (2 x 32 GB) 6400 MHz CL32 (CMK64GX5M2B6400C32)
SSD : Intel Optane 905P 960GB U.2 (OS) + 2 x WD SN850X 4TB + 2 x PNY CS3140 2TB + ASM2824 PCIe switch -> 4 x Plextor M8PeG 1TB + flexiDOCK MB014SP-B -> Crucial MX500 2TB + GoodRam Iridium PRO 960GB + Samsung 850 Pro 512GB
HDD : WD White 18TB WD180EDFZ + SATA port multiplier adp6st0-j05 (JMB575) ->  WD Gold 8TB WD8002FRYZ + WD Gold 4TB WD4002FYYZ + WD Red PRO 4TB WD4001FFSX + WD Green 2TB WD20EARS
EXTERNAL
HDD/SSD : 
XT-XINTE LM906 (JMS583) -> Plextor M8PeG 1TB + WD My Passport slim 1TB + LaCie Porsche Design Mobile Drive 1TB USB-C + Zalman ZM-VE350 -> Goodram IRDM PRO 240GB
PSU :  Super Flower leadex platinum 750 W biały -> Bitfenix alchemy extensions białe/białe + AsiaHorse 16AWG White 
UPS :  CyberPower CP1500EPFCLCD -> Brennenstuhl primera-line 8 -> Brennenstuhl primera-line 10
LCD :  LG 32UD59-B + LG flatron IPS236 -> Silverstone SST-ARM11BC
CASE :  Fractal R5 Biały + Lian Li BZ-H06A srebrny + 6 x Thermaltake toughfan 14 white + Thermalright TL-B8W
SPEAKERS :  Aune S6 Pro -> Topping PA3-B -> Polk S20e black -> Monoprice stand 16250
HEADPHONES :  TOSLINK 2m -> Aune S6 Pro -> 2 x Monoprice Premier 1.8m 16AWG 3-pin XLR -> Monoprice Monolith THX AAA 887 -> 4-pin XLR na 2 x 3.5mm 16 cores OCC 2m Cable -> HiFiMAN Edition XS -> sheepskin pads + 4-pin XLR na 2 x 2.5mm ABLET silver 2m  Cable -> Monoprice Monolith M1060 + Brainwavz HM100 -> Brainwavz sheepskin oval pads + Wooden double Ɪ Stand + Audio-Technica ATH-MSR7BK -> sheepskin pads + Multibrackets MB1893 + Sennheiser Momentum 3 +  Philips Fidelio X2HR/00 + JBL J88 White
MIC :  Tonor TC30 -> Mozos SB38
KEYBOARD : Corsair STRAFE RGB Cherry MX Silent (EU) + Glorious PC Gaming Race Stealth Slim - Full Size Black + PQI MyLockey
MOUSE :  Logitech MX ERGO + 2 x Logitech MX Performance + Logitech G Pro wireless + Logitech G Pro Gaming -> Hotline Games 2.0 Plus + Corsair MM500 3xl + Corsair MM300 Extended + Razer goliathus control
CONTROLLERS :  Microsoft xbox series x controller pc (1VA-00002) -> brainwavz audio Controller Holder UGC2 + Microsoft xbox 360 wireless black + Ravcore Javelin
NET :  Intel x520-DA2 -> 2 x FTLX8571D3BCV-IT + 2 x ASUS ZenWiFi Pro XT12
NAS :  Qnap TS-932X-2G -> Noctua NF-P14s redux 1200 PWM -> Kingston 16GB 2400Mhz CL14 (HX424S14IB/16) -> 9 x Crucial MX500 2TB ->  2 x FTLX8571D3BCV-IT -> 2 x Digitus (DK-HD2533-05/3)
Link to comment
Share on other sites

Link to post
Share on other sites

14 hours ago, NewMaxx said:

I'm not going to read all that (in a rush today) but it depends on the bridge chip. Almost all that use UASP, that is SCSI, support TRIM via the UNMAP command. It's equivalent. Any 10Gbps bridge chip is far modern enough to support this. I wouldn't go so far as to say it's universal spec, but it essentially is...

In any case, clicking your link, It says no M.2 SATA which means it's not the RTL9210B (despite the fact some reviews say it does). The fact users report it tells me Orico uses multiple chips and/or doesn't know what it's doing (as in, they wouldn't be able to accurately answer your questions), but in any case the JMS583 and ASM2362 also support UNMAP.

Thanks for replying - Good to know that TRIM support is near "universal" for chips that support UASP, so now people shopping for SSD enclosures can know what to look for.

 

My bolded question near the top of my post was really about consequences of not using/supporting TRIM given that I could only find vague answers elsewhere, but I suppose you are saying that it's a moot point as long as NVME enclosures support UASP, though that relies entirely on a manufacturer to confirm UASP support in the first place.

 

Quote

So what's the real world impact on performance and endurance for an NVME drive used in an enclosure that doesn't support TRIM? Or is there any impact?

 

In the case of ORICO with the drive I linked to, they don't know what chips they use/do, but all their other enclosure models at the bottom of that product description for $10+ extra they market TRIM support like this one.  

 

So I suppose that $10 is the cost for them to know what the parts are or are doing. Note that both enclosures are made of aluminum, so the difference in outer casing materials is negligible.

Link to comment
Share on other sites

Link to post
Share on other sites

The bridge chip is PCIe on one side, USB the other, with protocols being NVMe and UASP respectively. The TRIM command is ATA with SCSI's analog being UNMAP. The bridge chip translates SCSI to NVMe. If you look under the RTL9210B on Realtek's site, for example:

 

"Supports all command set of NVM Express SCSI Translation (e.g., Unmap, Security protocol in/out …)"

 

Notice I said TRIM is an ATA command and not NVMe. In NVMe it's Deallocate. The secret here is that the SSD controller will interpret these (TRIM, UNMAP, Deallocate, Discard) effectively as TRIM. For simplicity's sake, the primary three are usually referred to as TRIM.

 

TRIM is not as important as it used to be because modern drives are aggressive with maintenance and garbage collection, especially because they rely on SLC caching. Main reason for this is to maintain performance for burst writes (consumer), and they also check for stale data for refreshing. Without TRIM the drive is not notified by the filesystem/host when files are deleted, however if a future write from the host goes to the same location the drive realizes this file is invalid so it can mark areas for GC the next time the drive is idle. This can be an issue with sustained writes especially on a fuller drive, but for everyday consumer use (read-heavy, burst writes with lots of idle time) with some free space (with TLC and DRAM, even factory OP is enough) this isn't a huge deal. In certain environments (NAS/servers w/parity) you may even need to turn off TRIM, but I won't complicate the dicussion here.

 

That said, it is somewhat relevant for older consoles which would not send the command to external USB storage. Usually you're using SATA SSDs in that case and a lot of the bigger ones were and are DRAM-less (and possibly QLC, too) so the lack of TRIM can in some cases hurt performance, although on an old console it's not a big deal. It's still usually not the enclosure's fault.

 

To address the question more specifically, that is for 10Gbps external NVMe SSDs, it's less of an issue because you're bottlenecked by USB in most cases. USB can't pass HMB (TB and certain USB4 implementations can) so there are some drives that *might* get bogged down here, like the P3/P3 Plus, if you're doing a lot of writes.

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, NewMaxx said:

TRIM is not as important as it used to be because modern drives are aggressive with maintenance and garbage collection, especially because they rely on SLC caching.

Right, so let's say TRIM isnt important because we lean on drive's own maintenance.

 

That is why I brought up the example of:

Those two features seem diametrically opposed to each other, without knowing the exact timing of SSDs garbage collection, correct?

 

So my takeaway is that in order to ensure maintenance of an enclosure drive happens as often/normally as if it was physically attached to my motherboard, then the enclosure manufacturer needs to:

  • Confirm UASP or TRIM support
  • Not cause SSD to sleep faster than SSD garbage routines

...or just hope your manufacturer doesn't use old or lowsy parts/controller without UASP or TRIM.

Link to comment
Share on other sites

Link to post
Share on other sites

14 hours ago, NobleGamer said:

Right, so let's say TRIM isnt important because we lean on drive's own maintenance.

 

That is why I brought up the example of:

Those two features seem diametrically opposed to each other, without knowing the exact timing of SSDs garbage collection, correct?

 

So my takeaway is that in order to ensure maintenance of an enclosure drive happens as often/normally as if it was physically attached to my motherboard, then the enclosure manufacturer needs to:

  • Confirm UASP or TRIM support
  • Not cause SSD to sleep faster than SSD garbage routines

...or just hope your manufacturer doesn't use old or lowsy parts/controller without UASP or TRIM.

GC still relies on TRIM to identify invalid pages more quickly but it is automatic at idle, yes. Enclosures have a sleep timer which can often be modified in firmware (for the bridge chip). Sufficient GC will probably be detected as the drive being active - the reason it's done during idle is so it doesn't interfere with host I/O. If you mean the enclosure goes to sleep before GC has time to kick in, I suppose that's possible, although running an optimize/TRIM would probably kick it into gear. The amount of idle time before GC varies and can be quite high/long on some drives but this time is also tracked such that the drive will engage it more quickly if necessary (e.g. if SLC is full).

 

Any USB3.0+ port will/should support UASP and through SCSI a method to discard. Certain older bridge chips may turn off the relevant block discard flag, probably because the chip manufacturers wanted to make newer products for more $ that had TRIM explicitly because the ability to support it is trivial (you can often modify firmware or workaround this limitation). In any case, any modern system and enclosure should have implicit support, although there are ways to test this (and also Windows seems to ignore this flag). I can say for sure that any 10Gbps chip is by far new enough.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×