Чи мало дискового простору впливає на продуктивність SSD?


16

Мені було цікаво, чи матиме менше 5-10 ГБ вільного місця на SSD, вплине на продуктивність. Це специфічно для SSD чи більше стосується операційної системи?

Наприклад, на Intel X-25 G2 з підтримкою TRIM (в Windows 7).

Відповіді:


14

Більшість SSD будуть сповільнюватися по мірі їх заповнення. SSD-диски, як правило, вибирають порожні блоки для запису, оскільки вони можуть змінювати блок лише шляхом видалення та повторного запису всього блоку. Після того, як всі ці блоки будуть частково заповнені, тоді кожна операція запису потребує стирання та перезапису, тобто SSD повинен прочитати блок у кеш, змінити кеш з новими даними, а потім стерти блок та записати кеш. Це виходить з одного читання та двох операцій програмування для кожного блоку, який потрібно змінити. Крім того, хоча фрагментація дуже мало впливає на SSD, висока фрагментація і той факт, що більшість ОС не знають про SSD, можуть спричинити, що ОС видасть більше записів, ніж потрібно. Блоки SSD зазвичай більше, ніж одиниці розподілення ОС, тому якщо SSD не очікує додаткових записів, це може в кінцевому підсумку повторити той самий тришаговий процес кілька разів за блок, тим самим сповільнюючи записи ще більше. Навіть видалення файлів не вирішує цю проблему, оскільки дані залишаються там, а SSD не знає, що вони більше не використовуються, і продовжує перезаписувати видалені дані.

Операція TRIM, яку підтримує ваш диск, дозволяє ОС повідомити накопичувач, щоб позбутися видалених даних. Це дозволяє накопичувачу повернути порожні блоки. Однак єдиними операційними системами, які підтримують TRIM, є дистрибутиви Windows 7, Windows Server 2008 R2 та Linux з використанням ядра 2.6.33 або новішої версії.

Оскільки у вас є Windows 7, ваша система використовує команду TRIM і може повернути невикористані блоки. Однак TRIM не переставляє дані, тому якщо накопичувач близький до повного, висока фрагментація все ще може призвести до того, що дані частково займають блоки та обмежує ефективність TRIM. Найкраще, наскільки я можу сказати, - звільнити стільки дискового простору, скільки зможете. Якщо ви зможете звільнити достатньо місця, то повні блоки можна обрізати, і ваш привід поверне деяку швидкість. Крім того, є програми дефрагментації, орієнтовані на SSD, це означає, що вони будуть лише дефрагментацією достатньо, щоб обрізати кілька додаткових блоків, але я не знаю жодних безкоштовних. Я думаю, що Diskeeper повинен це зробити, але це дорого, і я чув дуже неоднозначні відгуки.


1
Шар FTL знаходиться нижче рівня файлової системи. Хоча це може виглядати як фрагментарна файлова система, це НЕ означає, що шар FTL фрагментований. Ці програми "дефрагментації" на SSD нічого не варті, вони не можуть отримати доступ до шару FTL, це зміїна олія. Тепер, брак вільного місця робить SSD повільніше, оскільки у нього менше місця для збору сміття та вирівнювання зносу, і все таке хороше. SSD не автоматично вибирають порожні блоки самі по собі, вони також повинні враховувати рівень зносу. Підсумок - файлова система НЕ знає нічого про те, як вона зберігає речі на шарі FTL
Time Twin

Файлові системи, не оптимізовані для SSD, не вдається обрізати стільки, що має такий же ефект, як і менший вільний простір.
Василевс

4

У цій чудовій статті AnandTech вони досліджують взаємозв’язок між запасною зоною та продуктивністю SSD. Суть полягає в тому, що всі SSD-накопичувачі набирають / зберігають продуктивність, залишаючи частину свого простору невикористаною. Іноді навіть існує різниця між 25% вільного місця та 50% вільного місця.


3

Це залежить від конкретної моделі SSD, постачальника та моделей використання.

У деяких ситуаціях інтенсивно використовуваний SSD може забезпечити значно погіршення продуктивності, не зважаючи на кількість використовуваного дискового простору, що вимагає низького рівня стерти, щоб відновити його як новий рівень продуктивності.


Наприклад, на Intel X-25 G2 з підтримкою TRIM (в Windows 7).
Гейб

0

Я чув, що SSD-диски, як правило, сповільнюються, коли вони майже заповнені, але я здогадуюсь, що для того, щоб відчути щось подібне, потрібно мати менше 5-10 ГБ вільного місця. Можливо, коли у вас залишилось менше 1 Гб або щось.


0

Загалом файлові системи стають повільними, коли вони заповнюються. Це пов'язано з фрагментацією. На порожньому диску ви можете бути впевнені, що можете записати файл в один блок. По мірі того, як файлова система стає повнішою, шанси на вміщення файлу в єдиний суміжний блок зменшуються, і вам доведеться все більше і більше шукати дані, перетворюючи те, що спочатку було послідовним доступом до даних, у більше схожий на випадковий доступ до даних, і тим самим повільніше.


2
Це не стосується SSD, оскільки немає рухомих частин, тому випадкові звернення додають незначну кількість часу доступу. Можливо, вам доведеться мати файл, який стрибає з тисячами випадково розміщених фрагментів, щоб мати будь-який помітний вплив, в основному, це стосується самої ОС, яка планує її читання та запис.
TuxRug

1
Існує ще різниця між послідовними читаннями та випадковими зчитуваннями. Наприклад, codinghorror.com/blog/2008/06/… дає 26 Мб / с для послідовного зчитування та 6 Мб / с для випадкового зчитування.
горила

@TuxRug: накопичувачі згруповані в стираючі блоки в сотні Кбайт і більше; як тільки сторінка (що представляє 512 або 4096 байт даних "логічного диска"), її неможливо переписати, за винятком стирання всіх сторінок у її блоці. Коли сектор "логічного диска" перезаписаний, накопичувач виділяє попередньо порожню сторінку для зберігання нового вмісту та зазначає, що стару сторінку можна вважати застарілою. Замість того, щоб стерти застарілі сторінки негайно, більшість дисків чекатимуть, поки їм не знадобиться простір, а потім шукають блок, де більшість або всі сторінки застаріли.
supercat

@TuxRug: Якщо кількість порожніх сторінок стає критично низькою, продуктивність диска буде пропорційною найбільшій кількості безкоштовних або застарілих сторінок у будь-якому блоці [якщо в кожному блоці є 10 блоків з 15 застарілими сторінками, то для наступних 150 записів пишеться / цикл стирання знадобиться кожні 15 числа. Якби було три блоки в кожному з 50 застарілих сторінок, тоді цикл запису / стирання потрібен був би лише для кожного 50-го запису.] Фрагментація робить більш імовірним, що в кінці буде багато блоків, які мають лише кілька застарілих сторінок.
supercat

0

Ще одним важливим фактором є те, якщо і наскільки надмірне забезпечення встановлено виробником SSD, як пояснено тут . Перевищення резервів означає, що деякий простір відведений для фонових заходів, таких як збирання сміття, і не надається користувачеві. Наприклад, SSD, розміщений у розмірі 256 ГБ, фактично може становити 282 ГБ, якщо встановлено 10% перевищення резервів.

Якщо виробник SSD був щедрий на надмірно забезпечене місце, низький простір на диску може не сильно вплинути на продуктивність, наприклад, навіть SSD, який видається 100% повним, може бути лише 85%. Але якщо ви зможете фактично заповнити свій SSD близько 100%, це призведе до значної погіршення продуктивності.

Коротше кажучи, обсяг ефекту і те, чи буде він помітний, залежить від SSD. Але, як правило, SSD-диски працюють найкраще, коли вони здебільшого порожні, а продуктивність погіршується по мірі їх заповнення з причин, пояснених в інших відповідях та за посиланням.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.