Кілька (але не дуже останніх) джерел припускають, що ~ 7% місця на SSD слід залишити нерозподіленим, щоб зменшити знос накопичувача. Чи вона все ще діє, як зараз, чи ситуація змінилася?
Кілька (але не дуже останніх) джерел припускають, що ~ 7% місця на SSD слід залишити нерозподіленим, щоб зменшити знос накопичувача. Чи вона все ще діє, як зараз, чи ситуація змінилася?
Відповіді:
Windows зазвичай використовуватиме TRIM. Це означає, що якщо у файловій системі у вас є вільний простір на X%, накопичувач буде бачити X% як нерозподілений. [*] Перевищення резервів не потрібно.
Виняток: історично, диски з контролерами / прошивкою Sandforce не відновили повну продуктивність після TRIM :(.
Втрати продуктивності на повному диску можуть бути істотними, і тим більше, ніж на інших дисках. Це буде пов'язано з високою посиленням запису, а значить, збільшує знос. Джерело: огляди Anandtech
Тож це потрібно, якщо і тільки якщо
Увімкнути TRIM в Linux не надто важко, і навряд чи ви помітите будь-які проблеми.
На щастя, кілька найпопулярніших брендів виготовляють власний контролер. Контролери Sandforce не такі популярні, як раніше. Питання Sandforce мене скептично ставляться до тієї специфічної «розумної» конструкції контролера, яка була дуже агресивною для свого часу. Вибачте Sandforce, але я не маю посилання на точні моделі контролерів.
[*] Файлові системи люблять також мати багато вільного місця, щоб зменшити фрагментацію. Тож TRIM - це чудово, адже вам не потрібно додавати два запаси разом, той самий вільний простір допомагає обом :). Привід може скористатися нерозподіленим простором для підвищення продуктивності, а також уникнути високого зносу, як ви кажете.
Сучасні контролери SSD є досить розумними, що надмірне забезпечення зазвичай не потрібно для щоденного використання. Однак все ще існують ситуації, насамперед у середовищах обробки центрів обробки даних, де рекомендується надмірне забезпечення. Щоб зрозуміти, чому надмірне забезпечення може бути корисним, необхідно зрозуміти, як працюють SSD-диски.
SSD-диски використовують тип пам'яті, який називається флеш-пам'яттю NAND . На відміну від жорстких дисків, NAND комірки, що містять дані, не можуть бути безпосередньо перезаписані; накопичувач повинен стерти наявні дані, перш ніж він зможе записати нові дані. Крім того, хоча SSD записує дані на сторінки , які зазвичай мають розмір від 4 КБ до 16 КБ, вони можуть видаляти дані лише у великих групах сторінок, які називаються блоками , як правило, розмірами від декількох сотень КБ до декількох МБ у сучасних SSD.
NAND також має обмежену кількість витривалості при записі . Щоб уникнути перезапису даних без необхідності, щоб стерти блоки та забезпечити, щоб жоден блок не отримував непропорційне число записів , накопичувач намагається поширити записи, особливо невеликі випадкові записи, на різні блоки. Якщо запис замінить старі дані, він позначає старі сторінки як недійсні. Після того, як всі сторінки в блоці будуть позначені недійсними, накопичувач може видалити його без необхідності перезаписувати дійсні дані.
Якщо у накопичувача залишилося мало вільного місця або його немає, він не зможе розкласти записи. Натомість накопичувачеві потрібно буде стерти блоки відразу, оскільки записи надсилаються на диск, переписуючи будь-які дійсні дані з цих блоків в інші блоки. Це призводить до того, що в NAND записується більше даних, ніж надсилається на диск, явище, відоме як посилення запису . Посилення записів особливо яскраво виражене при випадкових робочих навантаженнях, що інтенсивно записуються, наприклад, обробка транзакцій в Інтернеті (OLTP) , і її потрібно звести до мінімуму, оскільки це призводить до зниження продуктивності та витривалості.
Для зменшення посилення запису більшість сучасних систем підтримують команду під назвою TRIM , яка повідомляє накопичувачеві блоки, які більше не містять дійсних даних, щоб їх можна було стерти. Це необхідно, оскільки в іншому випадку дисководі слід було б припустити, що дані, що вилучаються логічно видаленими операційною системою, все-таки є дійсними, що перешкоджає можливості накопичувача підтримувати достатній вільний простір.
Однак TRIM іноді неможливий, наприклад, коли привід знаходиться у зовнішньому корпусі (більшість корпусів не підтримує TRIM) або коли привід використовується зі старшою операційною системою. Крім того, при високоінтенсивних робочих навантаженнях з випадковим записом записи будуть поширюватися на великі регіони базового NAND, а це означає, що примусове переписування даних та супутнє посилення запису можуть відбуватися, навіть якщо накопичувач майже не заповнений.
Ранні SSD-диски мали набагато менш зрілу прошивку, яка, як правило, переписувала дані набагато частіше, ніж потрібно. Ранні контролери Indilinx та JMicron ( JMF602 були відомими для заїкання та нецензурної продуктивності випадкового запису ) страждали від надзвичайно високого посилення запису при інтенсивних робочих навантаженнях з випадковим записом, що часом перевищували 100 разів. (Уявіть, що ви записуєте понад 100 Мб даних у NAND, коли ви просто намагаєтесь записати 1 Мб!). Більш нові контролери, за рахунок вищої потужності обробки, вдосконалених алгоритмів управління флеш-пам’яттю та підтримки TRIM, набагато краще впораються з цими ситуаціями, хоча великі робочі навантаження з випадковим записом все ще можуть викликати посилення запису понад 10 разів у сучасних SSD .
Надмірне забезпечення забезпечує більшу область вільного простору для обробки випадкових записів та уникнення примусового перезапису даних. Усі SSD-диски перебувають у принаймні деякій мінімальній мірі; деякі використовують лише різницю між ГБ та ГіБ, щоб забезпечити близько 7% вільного місця для роботи накопичувача, а інші мають більшу забезпеченість для оптимізації продуктивності для потреб конкретних програм. Наприклад, корпоративний SSD для важких навантажень OLTP для запису або бази даних може мати 512 Гб фізичного NAND, але рекламований об'єм 400 ГБ, а не 480 - 512 ГБ, типовий для споживчих SSD з аналогічною кількістю NAND.
Якщо ваше навантаження особливо вимоглива або ви використовуєте диск в середовищі, де TRIM не підтримується, ви можете вручну перерозподілити простір, розділивши диск, щоб деякий простір не було використано. Наприклад, ви можете розділити 512 Гб SSD на 400 ГБ і залишити місце, що не залишилося, і диск буде використовувати нерозподілений простір як запасний простір. Зауважте, однак, що цей нерозподілений простір повинен бути оброблений, якщо він був написаний раніше; в іншому випадку це не матиме користі, оскільки привід побачить цей простір як зайнятий. (Утиліти для розділення повинні бути достатньо розумними, щоб це зробити, але я не впевнений на 100%; див. "Чи обробляє Windows нерозподілений (неформатований) простір на SSD?" )
У типових споживчих середовищах, де підтримується TRIM, SSD менше 70-80%, і він не отримує постійного забиття випадковими записами, посилення запису, як правило, не є проблемою, і надмірне забезпечення, як правило, не потрібно.
Зрештою, більшість споживачів не записують на диск майже стільки даних, щоб зношувати NAND протягом запланованого терміну служби більшості SSD, навіть із сильним посиленням запису, тому втрачати сон не надто.
Розмір додаткового простору сильно відрізняється між моделями накопичувачів SSD, але загалом це все-таки так.