Я вирішив, що деяка довідкова інформація може бути корисною для того, щоб зробити цю відповідь зрозумілою, але, як ви бачите, я пішов трохи OCD, тож, можливо, ви захочете пропустити до кінця, а потім повернутися, якщо потрібно. Хоча я трохи знаю, я не є експертом з SSD, тому якщо хтось бачить помилку, РЕДАКТУЙТЕ це. :).
Довідкова інформація:
Що таке SSD ?:
SSD або твердотільний накопичувач - це запам'ятовуючий пристрій без рухомих частин. Термін SSD часто покликаний конкретно позначати твердотілі накопичувачі на базі nand-flash, призначені виконувати роль альтернативи жорсткому диску, але насправді вони є лише однією формою SSD, і навіть не найпопулярнішою. Найпопулярнішим типом SSD є знімні носії на базі nand-flash, наприклад USB-накопичувачі (флешки) та картки пам'яті, хоча їх рідко називають SSD. SSD-диски також можуть бути на базі оперативної пам’яті, але більшість оперативоприводів - це програмне забезпечення, створене на відміну від фізичного обладнання.
Чому SSD-накопичувачі Nand-flash повинні діяти як альтернатива жорсткому диску ?:
Для роботи операційної системи та програмного забезпечення потрібен швидкий носій зберігання. Тут грає барабан, але історичний баран був дорогим і процесор не міг вирішити величезні кількості. Коли ви запускаєте операційну систему або програмуєте, потрібні на даний момент частини даних копіюються у ваш оперативний пам'ять, оскільки ваш накопичувальний пристрій недостатньо швидкий. Створено вузьке вузьке місце, тому що вам доведеться чекати, коли дані будуть скопійовані з пристрою повільного зберігання в оперативну пам'ять. Хоча не всі нанд-флеш-накопичувачі отримують кращі показники, ніж більш традиційні жорсткі диски, ті, які допомагають скоротити вузьке місце, даючи швидкіші часи доступу, швидкість читання та швидкість запису.
Що таке Nand-flash ?:
Флеш-пам’ять - це накопичувач, який використовує електроенергію, а не магнетизм для зберігання даних. Nand-flash - це флеш-пам’ять, що використовує шлюз NAND. На відміну від "nor-flash", який є випадковим доступом, до nand-flash послідовно доступний.
Як зберігають дані Nand-flash SSD?
Сховище Nand-Flash складається з блоків, ці блоки розділені на комірки, комірки містять сторінки. На відміну від жорсткого диска, який використовує магнетизм для зберігання даних, флеш-носії використовують електроенергію, оскільки ці дані не можуть бути перезаписані; дані повинні бути стерті для повторного використання простору. Пристрій не може стерти окремі сторінки; стирання має відбуватися на рівні блоку. Оскільки дані не можуть бути записані до вже використовуваного блоку (навіть якщо не всі сторінки в ньому), весь блок слід стерти спочатку, а потім уже порожній блок може мати дані, записані на його сторінки. Проблема полягає в тому, що ви втратите будь-які дані, які вже є на цих сторінках, включаючи дані, які ви не хочете викидати! Щоб запобігти збереженню існуючих даних, потрібно скопіювати десь ще, перш ніж виконувати стирання блоку.
На жорстких дисках магнітна пластина використовується для зберігання даних. Подібно до вінілових платівок на платівці є доріжки, і ці композиції поділяються на секції, звані секторами. Сектор може зберігати певний обсяг даних (зазвичай 512 байт, але деякі новіші - 4 КБ). При застосуванні файлової системи сектори об'єднуються в кластери (на основі вказаного розміру, який називається розміром розподілу або розміром кластера), а потім файли записуються через кластери. Можна також розділити сектор, щоб кластери були меншими за розмір вашого сектора. Простір, невикористаний у кластері після того, як файл записаний через кластер (або кілька), не використовується, наступний файл починається в новому кластері. Щоб уникнути великої кількості непридатного простору, люди зазвичай використовують менші розміри кластерів, але це може знизити продуктивність при написанні великих файлів. SSD-накопичувачі не мають магнітної пластини, вони використовують електрику, що проходить через блоки пам'яті. Блок складається з комірок, що містять сторінки. Сторінки мають ємність X (зазвичай 4 КБ), і таким чином кількість сторінок визначатиме ємність блоку (зазвичай 512 КБ). На SSD-сторінці сторінка прирівнюється до сектора на жорсткому диску, оскільки вони обидва представляють найменший поділ пам’яті.
Що таке вирівнювання зносу ?:
Блоки зберігання Nand-Flash можуть записуватися та стиратися обмежену кількість разів (вважаються їх життєвим циклом). Щоб запобігти постраждалому від зменшення потужності (мертві блоки), має сенс зношувати блоки максимально рівномірно. Обмежений життєвий цикл також є основною причиною, через яку багато людей пропонують не мати файл сторінки чи розміняти розділ у вашій операційній системі, якщо ви використовуєте SSD на базі Nand-flash (хоча швидкість передачі даних з пристрою на таран також є основною чинник цієї пропозиції).
Що таке надбавка ?:
Over Provisioning визначає різницю між тим, скільки вільного місця є, порівняно з тим, скільки існує. Накопичувачі на базі накопичувальних флеш-версій стверджують, що вони менші, ніж вони є, тому гарантується, що порожні блоки для вивезення сміття можуть використовуватись. Існує другий вид надвикористання, який називається динамічним над забезпеченням, який просто посилається на відомий вільний простір у зображеному вільному просторі. Існує два типи динаміки щодо забезпечення: рівень операційної системи та контролер приводу. На рівні операційної системи Trim можна використовувати для звільнення блоків, які потім можна записати в іммедіати. На рівні контролера не можна використовувати нерозподілений провідний простір (не розділений, жодна файлова система). Наявність більше вільних блоків допомагає підтримувати роботу диска з найкращою продуктивністю, оскільки він може записувати негайно.
Що таке ампліфікація запису ?:
Оскільки носії Flash Nand вимагають видалення блоку, перш ніж його можна записати, будь-які дані всередині блоку, який не стирається, повинні бути скопійовані в новий блок шляхом вивезення сміття. Ці додаткові записи називаються посиленням запису.
Що таке Trim.?:
Операційні системи побудовані з традиційними жорсткими дисками. Пам'ятайте, що традиційний жорсткий диск може безпосередньо перезаписати дані. Коли ви видаляєте файл, операційна система позначає його як видалений (добре перезаписати), але дані все ще існують, поки там не відбудеться операція запису. На SSD-накопичувачах, що базуються на Nand-flash, це проблема, оскільки спочатку дані потрібно стерти. Еразаль відбувається на рівні блоку, тому можуть бути додаткові дані, які не видаляються. Утилізація сміття копіює будь-які дані, які не підлягають видаленню, до порожніх блоків, і тоді ці питання можуть бути стерті. Це все вимагає часу, і викликає незвичні записи (посилення запису)! Щоб обійти це, було зроблено функцію під назвою Trim. Trim дає операційній системі можливість розказувати SSD видалити блоки зі сторінок, що містять дані, які операційна система відмітила як видалені протягом періодів часу, коли ви не вимагаєте операції запису там. Збір сміття робить це річчю, і в результаті блоки звільняються, так що запис може, сподіваюся, виникнути до блоків, які не потрібно спочатку стирати, що робить процес швидшим, а також допомагає звести посилення запису до мінімуму. Це не робиться на основі файлів; Для обрізки використовується логічна адресація блоків. LBA визначає, які сектори (сторінки) стерти, а ерасаль відбувається на рівні блоку. і допомагає звести посилення запису до мінімуму. Це не робиться на основі файлів; Для обрізки використовується логічна адресація блоків. LBA визначає, які сектори (сторінки) стерти, а ерасаль відбувається на рівні блоку. і допомагає звести посилення запису до мінімуму. Це не робиться на основі файлів; Для обрізки використовується логічна адресація блоків. LBA визначає, які сектори (сторінки) стерти, а ерасаль відбувається на рівні блоку.
Відповідь на ваше запитання "Недоліки розбиття SSD?":
SSD-диски на базі Ram:
Недоліків абсолютно немає, оскільки вони є випадковим доступом!
SSD-накопичувачі на базі flash-flash:
Єдиними недоліками, які мені спадають на думку, були б:
Вирівнювання зносу не матиме стільки вільного місця для гри, оскільки операції запису будуть поширюватися на менший простір, так що ви "могли б", але не обов'язково буде зношувати цю частину диска швидше, ніж якщо б весь диск був єдиним розділом, якщо ви не будете виконувати рівномірний знос додаткових розділів (наприклад: подвійне завантаження).
Як і жорсткі диски nand-flash SSD, це послідовний доступ, тому будь-які дані, які ви записуєте / читаєте з додаткових розділів, будуть далекішими, ніж це могло б бути, якби вони були записані в одному розділі, оскільки люди зазвичай залишають вільний простір у своїх розділах . Це збільшить час доступу до даних, що зберігаються на додаткових розділах.
Менший загальний простір збільшує ймовірність капоти запису фрагментованих файлів, і, хоча вплив на продуктивність невеликий, майте на увазі, що це, як правило, вважається поганою ідеєю знеструмлення накопичувача SSD, оскільки він зносить накопичувач. Звичайно, залежно від того, в якій файловій системі ви використовуєте певний результат, вкрай низька кількість фрагментації, оскільки вони призначені для запису файлів у цілому, коли це можливо, а не скидання їх у всьому місці для створення більшої швидкості запису.
Я б сказав, що нормально мати декілька перегородок, але вирівнювання зносу може викликати занепокоєння, якщо у вас деякі розділи отримують багато запису, а інші - дуже мало. Якщо ви не маєте простору розділів, який ви не плануєте використовувати, а замість цього залиште його для динаміки над наданням, ви можете отримати підвищення продуктивності, оскільки буде простіше звільнити блоки та записати послідовні дані. Однак немає гарантії, що надбавка місця потребуватиме, що повертає нас до пункту №1 щодо рівня зносу.
Деякі інші люди в цій темі підняли дискусію про те, як поділ вплине на внесок Трима в динамічне надбавлення. Наскільки я розумію, TRIM використовується для вказівки секторів (сторінок), на яких дані позначені для видалення, і тому видалення сміття може звільнити ці блоки. Цей вільний простір діє як динамічний при наданні лише в цьому розділі, оскільки ці сектори є частиною кластерів, що використовуються файловою системою цього розділу; інші розділи мають власні файлові системи. Однак я можу бути абсолютно невірним щодо цього, оскільки вся ідея щодо забезпечення резервуванням для мене трохи незрозуміла, оскільки дані будуть записуватися в місця, які навіть не мають файлових систем, або з'являються в накопичувачі накопичувачів. Це змушує мене замислитись, чи можливо над провідниковим простором використовується тимчасово до остаточної оптимізованої операції запису для блоків у файловій системі? Звичайно, внесок Трима в динамічне надбання у файловій системі не буде тимчасовим, оскільки до них можна записати безпосередньо, оскільки вони вже є у використаному просторі. Принаймні, це моя теорія. Можливо, моє розуміння файлових систем неправильне? Мені не вдалося знайти жодних ресурсів, які б детально про це розповідали.