PS3 Ps3, lack of Trim and the potential for ssd use.

Yes, it passes everytime. I've never skipped the file checks. Doesn't take that long either.
Nice, specially because you said your PS3 is a CECHExx/COK-002, with the intermediate controller dariush and me was discussing (we think it could be problematic for SSD compatibility but we dont really know)

This crucial MX500 series seems to be a good candidate @ashura i would go with the 1Tb model too (around 100€)
 
thanks a lot guys i will buy it on a couple of weeks, i will use the 500gb version due to that i do not have that much occupied on my current hdd and i will go a security copy of the files that i have including dlc and cache data stored for the games, savedata files too ando btw do You know if the latest firmware version of the mx500 mat work as well on PS3?
 
I honestly didn't know running a SSD in a PS3 was such a big deal until I started looking around more.

Also have a 1TB MX500 in a 2501A without issues either. These SSDs just work.
 
hello guys i have a question which SATA version actually ps3 slim models have, maybe it is SATA 1 or 2? have a nice day
 
I honestly didn't know running a SSD in a PS3 was such a big deal until I started looking around more.

Also have a 1TB MX500 in a 2501A without issues either. These SSDs just work.

I have 7 PS3s. All of them have SSDs of different size and models. They are working fine.

My main ps3 fat has 820gb of used space of ps3 and ps2 games. It works Great.

It also make a huge speed bump for some games. Ex. Grand Turismo 5.

You can ofcourse have bad luck with some SSDs but when you find one that is working It is really worth It.
 
Some information about TRIM or UNMAP(in SCSI speak).
Unlike HDDs, SSD devices do not expose the physical LBAs to a host, instead they keep an internal mapping between the LBAs that they expose to a host and what LBAs this translates to on the physical media.
This means that if an application writes to LBAs 1,2,3,4 sequentially. That might not end up being sequential on the physical media, and most of the time will not be. So, this could translate to physical LBAs 4,27,1,9 and there is no way for the host to even know this mapping.
One astute observation here is that this means that it is pointless to "defragment" an SSD device. And it is. But since there is no rotational latency involved the cost for seeking is essentially zero, so reading random physical LBAs is just as fast as reading physical LBAs sequentially.

How does this help with wear-leveling? The idea is that in a filesystem, when you delete a file the filesystem can generate a TRIM/UNMAP command and send to the device which would then release the mapping for these LBAs so that next time these LBAs are written to the device can pick a different physical block and assign it to the mapping. Thus the interaction between a trim/unmap aware filesystem and the device could help with wear-leveling. The very first generation of SSD devices depended on this.
Of course at the time there were no such trim/unmap aware filesystems on any platform so trim/unmap was mostly pointless. And device manufacturers instead had to add code to the firmware itself to rotate the mapping of hot blocks across physical LBAs.
ALL devices today do this so you don't need trim/unmap for wear-leveling. There is zero reason to worry about lack of trim support in ps3.

Now comes the fun part. So, when you release the mapping for an LBA and there is no physical LBA mapped to that logical LBA (the mapping is only created once you write to an unmapped LBA). If you read an unmapped LBA the device will return all zeros for the block. Good ha? So now we have a useful command to bulk "zero-out" ranges of LBAs. Yeah, well, updating these mapping tables takes a little time, not much, but enough that it can affect benchmark results, so since both trim/unmap are only advisory vendors often/always just tream trim/unmap as a NO-OP if the device is busy. Many vendors even treat trim/unmap as a NO-OP all the time. Because the standard allows it and a NO-OP will always be faster than a not-NO-OP in benchmarks.
So this means you can not depend on trim/unmap to actually make a block read back as zero anymore. The raid-subsystem on linux learnt this the hard way and it started causing massive amounts od data corruption (because if trim/unmap becomes a NO-OP, then any zeroing out of blocks using it will essentially lead to all the parities being wrong and the raid will fail)
So, trim/unmap is no longer actually used tfor that anymore. Other different commands are used instead. Much slower commands but commands that actually guarantee that the data will be read back as zero (WriteSame10/16 for SCSI, don't remember the command name for ATA).
Filesystems still issue trim/unmap commands to the device for cases when it does not matter if it is a NO-OP or not (i.e. the non-raid case) but it is just a hint. The ssd can just ignore the command if it wants to.

TL;DR: SSD devices except the very first generation no longer need/depend on trim/unmap anymore. Most actually implement them as a NO-OP. Implementing trim/unmap on PS3 would be a waste of time.
I would like to have this claim substantiated by a reputable source (industry research paper, major tech outlet etc). I'm not having any luck finding one using search terms (SEO has ruined the internet). If anyone can find an artical that can back it up, please let me know. Not saying OP is wrong. I just can't find anyone else with the same story. All the information I can find says the opposite, trim is needed.
 
I would like to have this claim substantiated by a reputable source (industry research paper, major tech outlet etc). I'm not having any luck finding one using search terms (SEO has ruined the internet). If anyone can find an artical that can back it up, please let me know. Not saying OP is wrong. I just can't find anyone else with the same story. All the information I can find says the opposite, trim is needed.

Which part?
As for SCSI, I wrote and maintain the main test-suite for the SCSI protocol. https://github.com/sahlberg/libiscsi which is now used to validate also direct attach scsi devices (not just iscsi) This is the test-suite that virtually all scsi target vendors use to validate their implementation.

For the part about UNMAP (the name of the trim command in SCSI) being close to useless as it is just a hint
you should be able to search the linux dm/raid mailinglists for about ~10-15 years ago when they learnt the hard way that UNMAP is just a hint and will sometimes not clear the data. There was a lot of data corruption due to this before they switched to WRITESAME10/16.

There was also a suggestion in the T.10 reflector to change the behavior of the UNMAP command to fave a flag that basically said "must clear the specified range, can not return SUCCESS without doing anything".
That change to the UNMAP command was unfortunately declined by the T.10 committee meaning that UNMAP remains just a hint that you can not depend on whether it has an effect or not :-(
t10.org has a list of all these documents online and and you you should be able to find that proposal to change the UNMAP command there with a little bit of searching.
 
I would like to have this claim substantiated by a reputable source (industry research paper, major tech outlet etc). I'm not having any luck finding one using search terms (SEO has ruined the internet). If anyone can find an artical that can back it up, please let me know. Not saying OP is wrong. I just can't find anyone else with the same story. All the information I can find says the opposite, trim is needed.

Here you go, the UNMAP command, straight from T.10

The first important document is to ask for a clarification in the standard to clarify that
UNMAP may do nothing and NOT clear the specified LBAs but still return success.
This was requested because the behaviour surprised developers.
https://www.t10.org/cgi-bin/ac.pl?t=d&f=12-225r4.pdf

Proposal to fix UNMAP so that it becomes deterministic. This suggestion was eventually turned down.
https://www.t10.org/cgi-bin/ac.pl?t=d&f=13-054r3.pdf

And this is where UNMAP remains to this day. IF you want to unmap a range of blocks and you depend on them being unmapped
and read back as zero. That is not possible. UNMAP is just a hint.

This is a relevant snippet from the second document:
"
Description The UNMAP command is only a suggestion; the device server may or may not unmap the specified LBA ranges. The same is true for the DATA SET MANAGEMENT/Trim command in ATA. This makes the command unusable for drives in RAID-5 and RAID-6 arrays even if they implement the LBPRZ bit set to one, since it is critical to know that the logical block was zeroed out to calculate the proper parity values. Some readers do not realize this problem; the linux dm included discard support for RAID-5 and RAID-6, assuming that the drive always unmaps as requested.
"
Should mention that T.10 is the standards committee that defines the SCSI protocol(s).
It is a quite obscure organization whose name very few people outside of block storage are familiar with.
 
Last edited:
From what little I've been able to dig up, not much, the FW on modern SSDs do implement TRIM as a NO-OP (No Operation) in certain situations. The TRIM command is considered advisory, meaning the SSD can choose to process it immediately, delay it, or treat it as a NO-OP based on its firmware and internal algorithms.

BUT, that doesnt mean it treats all TRIM commands as NO-OP and that in this situation where the PS3 doesnt issue any, it corectly handles all data sutuations optimally. Therefore it's possable that write amplifications will occure over time, decreasing performance and long term reliability.

The decision to treat TRIM as a NO-OP in certain scenarios is often influenced by factors such as minimizing write amplification and ensuring consistent and predictable performance. And it can vary between SSD models and manufacturers. So while modern firmware may help, it's not possable to know for certain if the one you're buying has the best FW. And let's be honest. People are buying cheap SSDs, which makes that less likely. Unless this is an industry standard and regulated to ensure all SSD controllers can handle themselves just as good without trim no matter what system they're put into.

It's a chance people are taking without knowing they're taking it.
 
From what little I've been able to dig up, not much, the FW on modern SSDs do implement TRIM as a NO-OP (No Operation) in certain situations. The TRIM command is considered advisory, meaning the SSD can choose to process it immediately, delay it, or treat it as a NO-OP based on its firmware and internal algorithms.

BUT, that doesnt mean it treats all TRIM commands as NO-OP and that in this situation where the PS3 doesnt issue any, it corectly handles all data sutuations optimally. Therefore it's possable that write amplifications will occure over time, decreasing performance and long term reliability.

The decision to treat TRIM as a NO-OP in certain scenarios is often influenced by factors such as minimizing write amplification and ensuring consistent and predictable performance. And it can vary between SSD models and manufacturers. So while modern firmware may help, it's not possable to know for certain if the one you're buying has the best FW. And let's be honest. People are buying cheap SSDs, which makes that less likely. Unless this is an industry standard and regulated to ensure all SSD controllers can handle themselves just as good without trim no matter what system they're put into.

It's a chance people are taking without knowing they're taking it.

I agree with most of this, with some tweaks.
For the higher end, in enterprise disk arrays they should all support UNMAP that always unmaps the blocks and never treat it as a no-op. This is not for wear-leveling but features such as thin-provisioning needs a "working" UNMAP.
Thin-provisioning is really important for very large disk-arrays as it allows a customer to spread the capital outlay out over the lifetime as the data grows instead of purchasing/commissioning all storage at once.
This also applies for disk arrays that are 100% HDDs!

For lower end or consumer hardware I think it is quite common that the device always implement UNMAP as a no-op. Several reasons for this, but I think the main ones are :
1, implementing a no-op is cheaper and takes less effort than actually implementing something.
2, PERFORMACE. Doing nothing is always faster than doing something and if doing nothing means that a pc-magazine benchmark runs faster then that is a cmpetitive advantage.
3, the standard allows it.

It is easy to write a test to check if UNMAP is implemented and if it is a no-op or not.
I did about 10 years ago, basically just writing some LBAs with known data, then UNMAPPing the blocks and finally reading them back to see if the content changed to be all zero.
I tested on a semi-large number of sd-cards, usb sticks and low-end ssd devices and virtually all of them just seemed to implement it as a no-op, which is fine because the standard explicitely allows it.

Things could be different now, who knows. If you want to test it, it is quite easy to make a test tool that checks it.

EDIT: informal talks with people in T.10 and specifically why that second proposal to add the FORCE bit failed suggested there were strong pushback from target/device vendors because of the hit to performance it would show up in benchmarks. That is all just discussions over a cup of coffee at a conference so ...
 
Last edited:
Well, just ordered a used Samsung 870 EVO 1TB we'll see how it goes.
To my knowledge, TRIM in modern SSDs was useful for making sure that you didn't try to write something then have to wait for the blocks to be zeroed first. Is that no longer the case?
I knew that it wasn't a reliability issue any longer.
 
Well, just ordered a used Samsung 870 EVO 1TB we'll see how it goes.
To my knowledge, TRIM in modern SSDs was useful for making sure that you didn't try to write something then have to wait for the blocks to be zeroed first. Is that no longer the case?
I knew that it wasn't a reliability issue any longer.

TRIM is useful as long as the OS implements it as well. Otherwise, no gain from it and back to the old ways of writing data on SSDs.
 
TRIM is related to filesystems only (doesn't matter which one because it is Operation System which tells SSD what LBAs can be purged). SSD firmware not parsing any logical structure of his disk, especially that in case of PS3, it will be gibberish for him due to encryption and due to be unknown partition table with obscure at least one fs. So in summary: CellOS not doing that and here we are why TRIM is never triggered on PS3.

How important TRIM is in daily use is disputable. Personally I thinking that its matter is largely overestimated. Especially because not all SSDs are compatible, plenty of QLC today and overall low quality which TRIM could help longer their lifespan but at end they are still incompatible and/or low quality enough to quickly die. IMO.
 
Hmm.
I wasn't concerned about life, as it will just zero the block before write anyways.
More concerned with the performance hit from needing to do that before every block write instead of in the background when idle via TRIM.
That is still the case with SSDs, correct? They must clear a block before write?
 
Even if it does not clear during idle, I'd bet that because PS3 is using SATA II (300K per sec MAX theoretical) that even a "dirty" SSD drive performs the same at minimum as a HD or Hybrid drive. The speed to read buffer, clear block, write block and prepare for next action is all done on the drive. Very little wait time as far as PS3 is concerned.
I've been using SSD for years with no problem.
(My opinion)
 
  • Like
Reactions: jr2
Hmm.
I wasn't concerned about life, as it will just zero the block before write anyways
You didn't get the point or it is because my English. Imagine situation when John Doe buying crappy SSD which quickly dies because is crappy and/or because it is in this mythical range of incompatibilities which killing him. He will blame lack of TRIM because it is what he read and how he connect the dots. But it doesn't mean it is exactly because lack of TRIM support. This is impossible to diagnose from our perspective.
That is still the case with SSDs, correct? They must clear a block before write?
Only SSDs which using NAND Flash and probably this will never change. SSDs with 3D X-Point (but not current Optanes which using it only for cache) has not such limitations. At least it is what Intel says in advertises back in these days.
 
Back
Top