On Thu, 2013-02-21 at 08:44 +0200, Dan Borlovan wrote:
> 
> On 02/21/2013 08:16 AM, Mircea Mitu wrote:
> > Ca nu merge Trim pe raid 1, 4, 5, 6, 10
> > Numarul de scrieri pe ssd intr-unul din raidurile astea se mareste 
> > semnificativ => scade durata de viata si performanta
> 
> 
> Hmmm. Din cite stiu ssd-urile din ultimii ani au
> 
> - gc intern care ar trebui sa mai compenseze lipsa de trim
> - wear leveling ca sa un te stresezi ca-ti crapa un block in care scrii 

Ai dreptate in ce spui, dar mecanismele de mai sus functioneaza pe baza
unui map de blocuri folosite/nefolosite (ca sa stie firmwareul pe unde
poate sau nu plimba date). Lista de blocuri unused este initial tot
discul vazut de OS PLUS o sectiune de obicei consistenta de blocuri
vizibile doar pentru firmware si invizibile pt OS. Pe masura ce tu scrii
in sectiunea publica, sectoarele scrise sint eliminate din lista de
unused si nu mai sint folosite pentru wear leveling, raminind cu cele
publice inca nescrise si cele private rezervate. Pe masura ce umpli
discul si numarul de blocuri libere scade (chiar daca tu intre timp la
nivel logic, in fs ai sters tot pr0nul pe care il stocasei acolo). TRIM
te ajuta sa pasezi catre firmware blocurile care pot fi readaugate in
map-ul de unused. Sint sigur ca stiai asta, da' am vrut sa subliniez ca
mecanismele mentionate de tine sint fix atit de eficiente pe cit loc de
manevra au acele mecanisme, iar trim-ul ajuta foarte mult la pastrarea
unui loc de manevra cit mai mare.

Ca workaround (care in principiu ar putea fi folosit si la unele raid,
inclusiv hardware) ar fi sa folosesti din start doar o parte din disc
pentru ca partea nefolosita sa ramina in permanent in lista de blocuri
unused a firmwareului in adaos fata de blocurile rezervate, private.

Poti sa faci asta ori alocind o partitie mai mica decit discul pe un OS
care nu stie trim sau (posibil in unele controllere) sa faci volumele
raid din mai putin decit capacitatea nominala a discurilor din array.
Unele controllere au un feature sa foloseasca doar o parte din disc.
Cu linux md este si mai simplu, compui arrayul din partitii si ai grija
ca partitiile sa fie mai mici. 

_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui