the reason why I apologize is because I read everything you wrote, I know a lot of the links you put, and I agree with everything. I mean I do not understand everything, there are very technical words that I don't grasp the meaning, but as a whole I agree with everything you said in this topic. And yet I still have this question that seems to be stupid therefore I feel stupid.
I will reread all the links you provided me in this topic, I promise I will, but not now. I'm really really really tired. When I said I've been reading all the documentation that I could find on the web about how an SSD works, how to align partitions, what's CHS/LBA addressing, what's the structure of NAND etc. for the last 2 months, it wasn't a joke. I used all my free time, if I told you how many hours I spent you probably wouldn't believe me. The result is depressing.
I will definitely read your links, I just want to explain one last time why I created this topic, after this I will stop up the topic.
's where my question comes.
On this page Anand wrote this :
In the Anthology I simulated this worst used case by first filling the drive with data, deleting the partition, then installing the OS and running my benchmarks. This worked very well because it filled every single flash block with data. The OS installation and actual testing added a few sprinkles of randomness that helped make the scenario even more strenuous, which I liked.
In this quote, Anand explains that before TRIM was implemented, to simulate a used SSD, he would simply fill it with data, then he would dele the partition and install an OS. All the data were still there on the NAND leading to poor performance which was Anand's purpose : simulate a used SSD.
Here's the conclusion that I drew as soon as I read this and that I wrote in my .odt feedback :
Formatting a partition on an old SSD (old = wich doesn't support TRIM) doesn't delete the data on the NAND.
Now here's what he further wrote :
The problem here is that if a drive properly supports TRIM, the act of formatting the drive will erase all of the wonderful used data I purposefully filled the drive with. My “used” case on a drive supporting TRIM will now just be like testing a drive in a brand new state.
So now he says that if the SSD supports TRIM the act of formatting the drive will erase all the old data.
My conclusion was :
Formatting a new SSD (new = which supports TRIM) deletes all the old data. Why ? I'm not sure but since the only way for the controller of an SSD to be able to know in advance that a data is invalid is the TRIM command, then, the explanation is probably because the kernel sent a TRIM command to tell the SSD controller that all the data should be considered as invalid, afterwards garbage collection deleted all the data.
Anyway what I would like is this : when I format a partition on an SSD, I want all the data it contains to be erased from NAND or at least that the kernel tells my SSD controller "Hey, you see all the data that are on this partition that GParted is about to format ? Well consider them as invalid, you can erase them as soon as you want, I don't mind they aren't useful anymore."
The problem was that during his tests Anand probably didn't use Linux nor GParted but rather Windows and its built-in formatting tool. So I know that when you use Windows to format a partition full of data one way or another all the data are erased from NAND, and your SSD is like brand new. The performance are full back.
However I wondered if it was the same with Linux. If I've got an SSD with one Linux partition full of data, the performance of my SSD will be lowered (because plenty of data = less over-provisioning = more write amplification, those graphics
explain it better).
But what happens if I format my partition with a linux utility to reinstall a fresh new Linux distribution ?
Will all the data it contains be erased at the NAND level or at least will the SSD controller be informed that all those data are now invalid like it seems to be in Windows ?
And like Anand did, will I notice that my SSD performance are full back like if it was brand new ?
I opened this topic in order to answer those questions.
I know secure erase
but I find it a little overkill, because each time you make a secure erase you burn one p/e (programming/erase) cycle for all the cells of your NAND. I just want the data of the partition I'm formatting to be gone from NAND or the SSD controller to know he can erase them whenever he wants (whenever != at the last moment, I don't want to pay the read-modify-write cycle penalty, all the purpose of TRIM and garbage collection is to delete invalid data before), just those data, not reprogram every single cell.
Now I'm going to rest a little and tomorrow I will start reading all your links, maybe I will understand everything better.
Thank you for your suggestions and for your time, it was really appreciated.