If-Koubou

Защо твърдите дискове намаляват, когато ги запълвате

Защо твърдите дискове намаляват, когато ги запълвате (Как да)

Референтните показатели са ясни: твърдите дискове се забавят, когато ги запълвате. Напълнете твърдото си устройство с капацитет близо до него и ефективността му на запис ще намалее драстично. Причината за това се крие в начина, по който работят SSD и NAND Flash.

Запълването на устройството с капацитет е едно от нещата, които никога не трябва да правите с твърд диск. Почти пълен твърд диск ще има много по-бавни операции за запис, забавяйки компютъра ви.

Празни блокове и частично попълнени блокове

Когато пишете файл в твърдо състояние, той търси празни блокове и ги запълва. Писането на празен блок е най-бързата операция за запис. Ето защо новите операционни системи (Windows 7 и по-нови) поддържат функцията TRIM, която автоматично изтрива данните на файла от твърдия диск, веднага щом изтриете файла във вашата операционна система. Това работи по различен начин от магнитните твърди дискове, където на твърдия диск седят бита на изтритите файлове.

Те не седят на твърдо състояние - TRIM гарантира, че блокът е изпразнен, така че SSD може бързо да напише нови данни за празния блок в бъдеще. Писането върху вече написани сектори е също толкова бързо, колкото писането в празен сектор на механичен твърд диск, но твърдият диск трябва да изтрие блок, преди да го напише.

NAND флаш паметта записва данни в 4 KB страници в рамките на 256 KB блокове. За да добавите допълнителни страници към частично запълнен блок, твърдото устройство трябва да изтрие целия блок, преди да записва данните обратно към него.

Тъй като вашият твърд диск се запълва, има все по-малко празни блокове. На тяхно място са частично запълнени блокове. Задвижването в твърдо състояние не може просто да напише новите данни на тези частично запълнени блокове, което би изтрило съществуващите данни. Вместо просто операция за запис, SSD устройството трябва да прочете стойността на блока в кеш паметта си, да промени стойността с новите данни и след това да го запише. Имайте предвид, че писането на файл вероятно ще включва писане на много блокове, така че това може да доведе до значителни допълнителни закъснения.

TRIM не консолидира частично попълнени блокове

Ако заредите устройство с капацитет или близо до капацитет, вероятно ще завършите с много частично запълнени блокове, след като изтриете файлове. Командата TRIM насочва само твърд диск, за да премахне файловите данни, когато файлът бъде изтрит. Тя не принуждава устройството да извършва каквито и да било операции по почистване.

С други думи, запълнете твърд диск с капацитет преди да изтриете файловете и най-вероятно ще свършите с много частично запълнени блокове. Задвижването няма да излезе от пътя си, за да консолидира тези частично напълнени блокове в пълни блокове, освобождавайки празни блокове. Задвижването все още ще бъде изпълнено с частично запълнени блокове и ефективността при записване ще бъде понижена.

Свръхпроизводство и събиране на боклука

За да се избегне пълното зареждане на твърдите дискове и крайното им влошаване, производителите на SSD не могат да се противопоставят на това.

Потребителските SSD устройства често отделят около 7% от общото си флаш памет и го правят недостъпна за потребителя. Това се нарича "overprovisioning" - допълнителен хардуер за съхранение се добавя към устройството, но не се вижда от компютъра като налично хранилище, което може да използва. Резервоарът гарантира, че устройството никога няма да стане напълно пълно - винаги ще има някакъв свободен капацитет, който да ви помогне да запазите стабилността на запис.

Всеки контролер на твърдия диск има алгоритъм за събиране на отпадъци, за да се опита да смекчи този проблем. Когато устройството се запълни, ще търси частично запълнени блокове и ще започне да ги консолидира, освобождавайки възможно най-много празни блокове. Различните устройства с твърдо състояние изпълняват тези операции на различни времена и прагове - това зависи от контролера на устройството.

Сравнителни доказателства

Anandtech извърши редица сравнителни показатели с различни устройства, за да разбере връзката между свободната зона на SSD и последователността на работата й при запис. При зареждането на празно устройство те откриха висока производителност на запис в началото на процеса и значително намаление, тъй като операциите за запис продължават да запълват диска.

Заделянето на повече резервни площи на дисковете помогна изпълнението да остане последователна, тъй като гарантира, че устройството трябва винаги да има достатъчно готови празни блокове.

Те установиха, че "минималната производителност се подобрява съществено, след като ударите 25% резервна площ за тези [потребителски] задвижвания." Последната им препоръка е да планирате да използвате само около 75% от капацитета на вашето устройство, ако искате добър баланс между последователността и капацитета на изпълнението. "

Ако имате твърдотелно устройство, трябва да се опитате да избегнете използването на повече от 75% от неговия капацитет. Купете по-голямо устройство с повече хранилище, отколкото ви е нужно, и ще се уверите, че винаги имате постоянна производителност при писане. За щастие SSDs постепенно стават много по-евтини, така че това не е толкова скъпо, колкото преди.

Image Credit: Сортиране на музика в Wikimedia Commons, Simon Wüllhorst на Flickr