Как диагностичните инструменти на твърдия диск знаят дали секторът е лош или не?
Никой не обича да мисли за това, че твърдият диск става лош, а по-малко изпитва неприятности с един, но как диагностичните инструменти на твърдия диск действително знаят дали секторите са лоши или не? Днешната публикация за въпроси и отговори SuperUser има отговори на любопитни въпроси на читателя.
Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.
Снимката е предоставена от Матю (Flickr).
Въпроса
Читателят на SuperUser Дейвид иска да знае как диагностичните инструменти на твърдия диск знаят дали секторът е лош:
Когато аз тичам през твърд диск, който може да се провали, аз го сканира с помощта на ViVARD, което надеждно ми позволява да знам дали твърдия диск се нуждае от подмяна или не. Как работят тези видове инструменти? Как могат да кажат лош сектор от добър сектор?
Как диагностичните инструменти на твърдия диск знаят дали секторът е лош или не?
Отговорът
Сътрудниците на SuperUser Ставр00 и Оле Танге имат отговор за нас. Първо, 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), които могат да извършат спасяване, ако няколко бита са грешни. Ако много битове са погрешни, тогава харддискът се опитва да спаси, като чете сектора отново и отново. Когато най-накрая го получи правилно, той я запазва в един от резервните сектори.
Сектори за четене
Твърдият диск преразпределя сектори с грешки при четене към набор от резервни сектори, които са запазени за това. Обикновено операционната система не вижда това, но вижда, че целият твърд диск няма грешки. Само когато няма повече сектори за пренасочване към (или секторът не може да бъде спасен), операционната система ще види счупените сектори.
Но е възможно да се заобиколи корекцията на грешки. Вярвам, че е различен за всеки модел, но може би ВиВАРД го прави? По този начин можете да прочетете актуалните данни на твърдия диск. Четейки това, ще можете да видите кои сектори имат грешки, дори ако самата операционна система не вижда грешки.
Имате ли какво да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.