Чому розмір виділення за замовчуванням в Windows для Windows так високий?


12

Посилання на цю сторінку: https://support.microsoft.com/en-us/kb/140365

NTFS не перевищує розмір кластера 4 КБ, поки гучність не перевищить 16 ТБ, а FAT32 досягає 16 КБ в діапазоні гучності 16 ГБ - 32 ГБ в сучасних версіях Windows.

Однак exFAT за замовчуванням лише 4 КБ в діапазоні гучності 7 МБ - 256 МБ. Після цього він підскакує до 32 КБ в діапазоні 256 МБ - 32 ГБ і на 128 КБ понад це.

Чому так? Порівняно високий розмір кластера видається марним, особливо у форматі, призначеному для менших зовнішніх пристроїв, як флешки. Удвічі так, якщо ви форматуєте флеш-пам’ять, тому що, наскільки я це розумію, головна користь для більшого розміру кластера - швидший IO за рахунок меншої фрагментації та меншого загального читання кластерів. Виправте мене, якщо я помиляюся, але флеш-пам’ять набагато, набагато менше схильна до уповільнення, викликаного фрагментацією. То чому б зробити розмір кластера таким високим?


"Розмір" і "високий" не йдуть разом. Числа можуть бути "високими". "Великий" - це слово, що перекладає слово, а не "високий".
тирса


просто хотів зазначити, що я просто відформатував диск на 1 ТБ, використовуючи типовий розмір кластера, а Windows використовував розмір кластера в 2048 КБ !!! Це не лише виклик специфікацій на їхній сторінці, це завжди ЗАДНО занадто високо
woojoo666

Для тих, хто досягає цього за допомогою Googling &, можливо, коли-небудь створити резервну копію git-каталогу на диску, про який йдеться / карта, важливо знати і мінуси великих секторів: кожен ~ 200 байт-файл у каталозі git займає 1 повну одиницю розподілу. Великі сектори можуть змусити розробників (у яких може бути 10 кб + крихітних файлів) зайняти велике кратне число своїх звичайних розмірів жорсткого диска. Напр .: superuser.com/questions/704218/… superuser.com/questions/1370780/…
kcrumley

Відповіді:


11

Оскільки exFAT використовується в основному для таких речей, як SD-картки великої ємності, а на SD-картках потрібно стерти сектор, перш ніж ви зможете записувати на нього. Якщо ви використовуєте невеликі кластери на картці з великим розміром сектора стирання, це призведе до багатьох стирань і запису команд у той самий сектор, запишіть на диск кілька послідовних кластерів, варті даних, не лише знижуючи продуктивність, але і передчасне зношування спалаху клітини. Розмір сектора стирання, як правило, не задокументований у таблицях даних карт, але їх можна знайти в реєстрі CSD картки. Вміст цього реєстру буде залежати від картки до картки залежно від її внутрішнього оформлення. Оскільки SD-карти зазвичай використовуються в таких речах, як камери, де зберігаються великі файли, марна витрата простору великого розміру кластера не важлива,

Ця веб-сторінка містить вміст цього реєстру для близько десятка карток:

http://goughlui.com/2014/01/03/project-read-collect-decode-sd-card-csd-register-data/

І якщо ви введете його вміст у наступний калькулятор, ви можете побачити для декількох карт 32/64 ГБ розмір сектора стирання - 128 блоків, а блок - 512 байт. А для картки об'ємом 2 Гб розмір сектора стирання становить 32 блоки, блок - 1024 байти.

http://goughlui.com/static/csdecode2.htm

Більш широка чи ні Windows досить розумна, щоб запитувати регістр CSD та запропонувати розмір кластера, або якщо він просто здогадується на основі розміру розділу чи диска невідомий. Якщо вам слід було емулювати SD-карту за допомогою мікроконтролера, ви могли б це дізнатися.


1
я не знав про те, що потрібно стерти флеш-пам’ять, перш ніж ти зможеш написати це. Це має сенс зараз. Дякую!
InsanityOnABun

1
Ви, здається, припускаєте, що на SD-картах немає шару перекладу флеш-транзиту, тобто суміжні логічні сектори завжди будуть фізично суміжними в NAND. В іншому випадку логічні сектори в кластері не повинні були належати до одного і того ж ерозона. Які докази ви маєте підтвердити це припущення?
тирса

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