Som vanligt alltså - bakom alla flådiga grafiska gränssnitt och interface så kokas det ner till bara några enkla kommandon som skall köras...
- regeln för överprovision är tydligen att diskområdet för detta aldrig skrivs över med data från OS (dvs. att sektorerna aldrig skrivs med data med LBA-adressering), om det har skett endaste en enda gång så blir sektorn låst och måste resas igen med TRIM och vill man göra det på hela disken på en gång - secure erase
Alternativt för i stort sett samma sak om man inte vill fippla med sådant - är att filsystemet körs med trim (görs automagiskt i windows numera), i linux kan man markera för det i fstab, men annars kan man köra fstrim manuellt eller schemalagt.
Det betyder att om man inte kör disken knökfull hela tiden, trim används, så kommer det mesta av ledig utrymmet i diskpartitionen att agera som pool för överprovisionering medans man använder datorn.
Det viktiga är att SSD hela tiden får information vilka sektorer som är lediga (läs meddelas via trim), då alla skrivna sektorer (skriven minst 1 gång) annars betraktas innehålla data som inte får förstöras och då försvinner från överprovisionerings-poolen.
Nu kanske de frigjorda blocken inte blir så väl sammanhållna vid radering i ett filsystem pga. fragmentering även om TRIM används och för att överprovisioneringen skall fungera bra i vissa tillämpningar (tex intensiv databashantering) så vill man ha sammanhängande lediga block från halv till 4 MB storlek då det är minsta blockstorleken som kan raderas i SSD, och därför vill reservera sammanhängande yta på ett antal GB, vilket kan göras när disken är ny eller med nyss körd secure erase med en partition som inte allokeras till en filsystem utan lämnas oanvänd av OS. (den ommöbleringen görs också med SSD-tillverkarens program, vart fall för windows).
Att fippla med "ATA8-ACS SET MAX ADDRESS" med hdparm är bara för att sätta hårda gränser i den senare partitioneringen så att det inte går att allokera den reserverade utrymmet vid partitioneringen även om man försöker... - men detta är bara en 'bokföringsspärr' för alla som alltid kör på 'max utrymme' utan att tänka när man partitionerar.
---
Problemet i linux är inte alla filsystem supportas av fstrim, tex. kan den inte göra något sådant på en NTFS-partition som är inmonterad. Samma problem är att man inte kan rensa utrymmet igen om man tagit bort en partition och lämnat den ej allokerad i partitionstabellen. Dock som vanligt i linux finns det verktyg även för detta - och måste användas som root samt att det kan bli blodigt om man hanterar det fel.... sd_unmap från sg3_util-paketet är ett kommando som kan matas med LBA-adresser och antal block inräknat adressens startblock som markeras för trim/unmap och därmed frigör de eventuellt låsta sektorerna så att de kan användas för överprovisionering igen. - men fel använt med fel LBA-adresser så kan det radera på ställen på disken som inte är bra alls.