SSD

Какво е SSD TRIM?

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

От друга страна, бяха въведени нови концепции, за да се оптимизират производителността, продължителността на живота и надеждността на тези нови устройства. Една такава концепция е операцията TRIM.

Оформление на SSD

SSD дисковете са невероятно бързи и стават все по-бързи и по-евтини всяка година. Надеждността им също се е подобрила доста от самото им създаване. Въпреки това SSD-тата все още не са толкова надеждни, колкото магнитните носители, нито са толкова издръжливи като твърдия диск. Всъщност основните механизми за четене и запис са много различни от това, което човек вижда в твърдия диск.

За да разберем проблемите, от които страда SSD, и защо се нуждаем от операция TRIM, за да преодолеем тези проблеми, нека първо разгледаме структурата на SSD. Данните се съхраняват обикновено в групи от 4KB клетки, наречени страници. След това страниците са групирани в клъстери от 128 страници, наречени Блокове и всеки блок е 512KB, за повечето SSD.

Можете да четете данни от страница, която съдържа някаква информация, или можете да записвате данни на страници, които са чисти (без предварително съществуващи данни в тях, само поредица от 1s). Не можете обаче да презапишете данни на 4KB страница, на която вече е записано, без да презапишете всички останали 512KB.

Това е следствие от факта, че напреженията, необходими за превключване на 0 към 1, често са много по-високи от обратните. Излишното напрежение може потенциално да обърне битове на съседните клетки и да повреди данните.

Изтриване Операция Деградация на производителността на SSD

Когато се казва, че данните са „изтрито“ от ОС SSD просто маркира всички съответни страници като невалидни, вместо да изтрива данните. Това е доста подобно на това, което се случва и в HDD, секторите са маркирани по-скоро безплатно, отколкото физически зануляване. Това прави операцията по изтриване много по-бърза.

В случай на твърди дискове това работи добре. Когато трябва да се запишат нови данни, можете да презапишете старите данни на a освободен сектор без никакви проблеми или притеснения относно околните сектори. Твърдите дискове могат да променят данните на място.

В случая на SSD това не е толкова просто. Да кажем, че модифицирате файл и това съответства на промяна на една страница от 4KB. Когато се опитате да модифицирате 4KB страница в SSD, цялото съдържание на неговия блок, целият 512KB от него, трябва да се чете в кеш (кешът може да бъде вграден в SSD или може да бъде основната памет на системата) и тогава блокът трябва да бъде изтрит и след това можете да напишете новите данни на вашата целева 4KB страница. Също така ще трябва да запишете останалите немодифицирани 508KB данни, които сте копирали в кеша си.

Тези резултати допринасят за феномена Усилване на запис, където всяка операция за запис се усилва до операция за четене-модификация-запис за парчета данни, които са много по-големи от действителните данни, които трябва да бъдат въведени.

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

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

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

TRIM командване и освобождаване на блоковете

Командата TRIM минимизира влошаването на производителността, като периодично подрязва невалидните страници. Например Windows 10 TRIMs вашия SSD веднъж седмично. Всички данни, които са маркирани като изтрити от ОС, действително се изчистват от клетките на паметта от SSD контролера, когато тази операция се изпълни. Да, все още трябва да премине през операцията за четене-промяна-запис, но това се случва само веднъж седмично и може да бъде насрочено в часовете, когато вашата система е най-вече идеална.

Следващият път, когато искате да пишете на страница, тя всъщност е празна и е готова за директна операция за запис!

Действителната честота на командата TRIM зависи от вида на системата, която използвате. Базите данни са склонни да правят много IO и поради това ще изискват по-често подрязване. Ако обаче го правите твърде често, операциите с базата данни ще се забавят за периода, когато се изпълнява TRIM. Работата на системния архитект е да намери правилния график и честота.

Ограничения

Командата TRIM е много полезна за забавяне на влошаването на производителността на вашето устройство. Той помага да се поддържа средно аритметично производителността на вашето устройство. Но това е само средно.

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

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

Заключение

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

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

Препратки

  1. AnandTech и техните чудесни изследвания и преглед на SSD.
  2. Статия в Уикипедия за Усилване на запис
  3. Пишете на Arstechnia за SSD и тяхната вътрешна работа
Как да обърнете посоката на превъртане на мишката и тъчпада в Windows 10
Мишка и Тъчпадs не само правят изчисленията лесни, но и по-ефективни и отнемат по-малко време. Не можем да си представим живот без тези устройства, но...
Как да промените курсора на мишката и размера на курсора, цвета и схемата в Windows 10
Показалецът на мишката и курсорът в Windows 10 са много важни аспекти на операционната система. Това може да се каже и за други операционни системи, т...
Безплатни и игри с отворен код за разработване на Linux игри
Тази статия ще обхване списък с безплатни двигатели за игри с отворен код, които могат да се използват за разработване на 2D и 3D игри на Linux. Същес...