If-Koubou

Как диагностичните инструменти на твърдия диск знаят дали секторът е лош или не?

Как диагностичните инструменти на твърдия диск знаят дали секторът е лош или не? (Как да)

Никой не обича да мисли, че твърд диск ще се разболее много по-малко, изпитвайки проблеми с един, но как диагностичните инструменти за твърди дискове действително знаят дали секторите са лоши или не? Днешната публикация "Суперуслуги Q & A" има отговорите на въпросите на любознателен читател.

Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.

Снимката е предоставена от Матю (Flickr).

Въпроса

Дисплеят на SuperUser Дейвид иска да разбере как диагностичните инструменти на твърдия диск знаят дали секторът е лош:

Когато прекосявам твърд диск, който може да е неуспешен, го сканирам, като използвам ViVARD, което със сигурност ме уведомява дали твърдият диск се нуждае от подмяна или не. Как функционират тези инструменти? Как могат да кажат на един лош сектор от един добър сектор?

Как диагностичните инструменти за твърди дискове знаят дали секторът е лош или не?

Отговорът

Сътрудниците на SuperUser Stavr00 и Ole Tange имат отговор за нас. Първо, Stavr00:

Съвременните твърди дискове прилагат система за фърмуер, наречена S.M.A.R.T. който събира статистически данни за производителността на твърдия диск и автоматично избягва загубата на данни, като премества данните от лоши сектори.

Инструментите за диагностика заявяват запитването за твърдите дискове S.M.A.R.T. софтуера, за да изготви доклад за проверката на състоянието. Лошите сектори се откриват при достъпа до твърдия диск, избягват се и необходимото преместване се извършва от S.M.A.R.T. система.

Последвано от отговора на Оле Танг:

Не съм запознат с ViVARD, така че това е общ отговор.

S.M.A.R.T.

S.M.A.R.T. е част от най-модерните твърди дискове. Той регистрира, когато твърдият диск вижда лош сектор и когато "времето за търсене или завъртане" е по-дълго от нормалното. Това са всички индикатори, че твърдият диск е неуспешен.

Начинът, по който твърдият диск спасява повреден сектор, се дължи на кодове за коригиране на грешки (обикновено Reed-Solomon), които могат да извършат спасяване, ако няколко грешки са грешни. Ако много бийтове не са наред, тогава твърдият диск се опитва да спаси, като прочете сектора отново и отново. Когато най-накрая го постигне, тя го запазва в един от резервните сектори.

Отчитане на секторите

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

Но е възможно да се избегне коригирането на грешки. Вярвам, че е различен за всеки модел, но може би ViVARD го прави? По този начин можете да прочетете действителните данни на твърдия диск. Като прочетете това, ще можете да видите кои сектори имат грешки, дори ако самата операционна система не вижда грешки.

Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.