Как стать автором
Обновить

Комментарии 57

а можно поподробнее про архитектуры и семейства жестких дисков рассказать?
интересно было бы почитать (поддерживаю )
а так спасибо за статью
Попробуем подготовить материал специальный, а пока что-то можно прочитать на нашем сайте в поиске вбив туда что нибудь вроде «семейство».
mihail_hdd, у меня вопрос к вам как к специалисту.

WDC WD15EADS-00P8B0
начались типичные (как выяснилось) зависания.
При этом ошибок нет, ос не ругается, в смарте ничего.
На минуту — две занят, потом отдупляется, и дальше работает.

Чем объясняется, можно ли вылечить?
Попробуйте сменить шлейф.

Также можно предположить, что у Вас образовался нестабильно читаемый сектор, пока не исключенный микропрограммой из трансляции, отсюда и нормальный SMART.
Пробовал менять, включал его в разных окружениях, разные компы, разные бп.
Самый печальный результат был в юзб кармане, винт был в состоянии занят настолько, что не детектировался системой.
При этом другие винты в этом кармане вполне нормально работают.

Ситуация с этим винтом уже длится достаточно долго, с полгода — год, сейчас он как «резервный накопитель» в медиацентре, там лаги некритичны, просто раздражают. Хотелось бы решить проблему, но мне кажется, выход — замена. )=

Есть какая-то возможность сделать некий жесткий тест чтения, что бы, если причина в нечитаемом секторе, его оттдетектировать и занести в список бедов?

Попробуйте для начала прогнать обычный тест в Victoria. Перед этим, отнимите у диска букву, в Disk Management.
Имхо нужно делать диски так, чтобы швах не происходил пре внезапном отключении питании или вообще не штатной подаче питания. Ну или серию дисков делать где это предусмотрено. (приведет же к подорожанию)
Да скорее всего сделать прошивку нужно было не позднее, чем «уже позавчера», поэтому всякие красивости в виде дублирования информации при работе с ОЗУ и многочисленные проверки что если здесь не то что здесь, тогда берем отсюда оставили — «потом сделаем», сейчас и так работает. Сдали и забыли.
Ну, так же можно и обвинять производителей флешек — почему на них возникают логические сбои, если записать полностью, а потом выдернуть, не дождавшись, пока ОС сбросит кэш.

Здесь произошло практически тоже самое: диск начинает обновлять свою служебную информацию, в этот момент происходит выброс по питанию. По причине которого, «мозги» данного диска встают, пардон мой френч, раком. Куда и что он запишет после этого — не знает никто. И это, заметьте, простой классический HDD. В случаях с SSHD Seagate, к примеру, все гораздо веселее, и даже неожиданно отключать питание не надо.

Я не понимаю, как и каким образом можно организовать защиту от такого на уровне firmware.

Правильный пример — это, допустим, SSD OCZ Vector / Vertex450, имеющие свойство взводить бит защиты паролем на совершенно пустом месте, с FW 1.17 и старшими. Это чистейшей воды баг, про который, вероятно, в ближайшем будущем будет статья.

Или та же WD, у которой проблема с переполнением RELO уже года три странствует от семейства к семейству. Это баг., подробно я про него писал тут: habrahabr.ru/company/hardmaster/blog/251895

Приглашаю к дискуссии, если имеете желание.
Я не понимаю, как и каким образом можно организовать защиту от такого на уровне firmware.

Что мешает прочитать и проверить после записи таких критичных блоков?
Накладно. чтобы проверить надо дождаться следующего оборота диска. итого на запись одного сектора будет потрачено два оборота.
Спасибо — я в курсе как диски работают, так вот это — смех просто, а не накладно. Я же не предлагаю запись всех данных так делать, а только данных в служебные области — а туда винт пишет редко.
А вроде бы в SSD подобное предусмотрено — ставят большие кондеры/ионисторы на питание — их хватает, чтобы корректно сбросить кэши и фильтровать подобные выбросы.
То же самое и с HDD можно провернуть. Шпиндель крутить не надо, его инерции хватит, чтобы всё сбросить, только электронику продержать.
В HDD, емнип, уже достаточно давно как раз таки инерцию и используют для корректной парковки / питания электроники при отключении.
Ага, я помню как нам байки рассказывали про винчестеры размером с тумбочку. Там для отведения головок используется шаговый двигатель довольно мощный, и пакет из 20-30 пластин по 2Мб. Когда обесточивается такая бандура, нужно срочно выводить головки чтобы они не оставили запил, для этого там половину объема шкафчика занимают электролиты и само собой со временем высыхают до той степени что приходится в аварийном режиме помогать выдвигать головки вручную. Эта функция была выработана до автоматизма — как только ухо улавливает снижение частоты вращения шпинделя, сразу бессознательно руки тянутся к блоку головок…
Ионисторы это фигово. Они довольно быстро деградируют под напряжением, и может оказаться что через пару лет неспешного использования SSD-шки они уже не будут держать заряд.
Ну может просто конденсаторы. Врать не буду, я про эту штуку читал краем глаза где-то с полгода назад.
$20*50=$1000
Это тысяча долларов за полчаса работы или с учётом потерь клиента от простоя оборудования? Я не против принципа «1рубль ударить молотком, 99 куда», но если это ценник за работу, то всё равно выглядит не кисло.
К примеру, упавшие на сами диски головы, из-за нештатной парковки, вызванной электрическим выбросом.

Царапина (на сленге — запил).

Тут одних дисков-доноров может понадобиться достаточно много, пока не будет вычитано нужное.
Судя по вашей статье в данном случае обошлось без доноров. Думаю если бы дело дошло до них, то клиент расстался бы уже с более значительной суммой.
Я не утверждал, что в данном конкретном заказе клиент заплатил указанную сумму.
Естественно, что нет.

Но современные WD отличаются абсолютно наплевательским отношением к защите от проблем по питанию.
Здесь человеку повезло, подправили SA и диск заработал.

А так — почти правило: увидел сгоревшую м/с VCM на плате — 95% мертвый коммутатор в гермозоне, замена БМГ, с совершенно логично из этого вытекающей оплатой донора.
Я не против принципа «1рубль ударить молотком, 99 куда», но если это ценник за работу, то всё равно выглядит не кисло.

Я так понимаю, есть случаи, когда данные восстановить нельзя. Но попытки делаются, возможно долгие. С клиента тут деньги не возьмёшь, но в среднем по компании это время тоже должно быть оплачено.
почему не возьмешь? Таки неоднократно сталкивался с ситуацией — мы диск можем взять на диагностику, которая обойдется в 500 баксов, после диагностики мы примерно оценим повреждения и скажем сколько будет стоить восстановление БЕЗ ГАРАНТИИ РЕЗУЛЬТАТА.
Ну это какой-то неправильный бизнес. Я бы таких послал.
Максимум — недорогая диагностика (чтобы примерно цену выяснить) + попытка восстановления, удачная оплачивается, неудачная соответственно нет.
Зависит от того какой есть выбор и насколько нужны данные.
Как по мне, так бизнес весьма даже правильный. Клиента не кидают, вся информация о ценах и условиях доступна и неоднократно у клиента переспрашивается понимает-ли он и принимает-ли риски. А дальше уже вопрос исключительно желания клиента.
Ну и таки времени много прошло. Я уже лет 10 не обращался за подобными сервисами. Бакапы спасают :)
Я уже лет 10 не обращался за подобными сервисами.

Желаю вам и впредь с ними не сталкиваться :)
Спасибо за статью. Будет замечательно если продолжите публиковать описания разных «кейсов» по восстановлению и просто технические статьи о жестких дисках. Такой информации в открытом доступе очень мало, а вот интересующихся много. Сам несколько лет назад искал способ починить SAMSUNG HD501LJ(его перевернули во время работы, при включении компа несколько секунд стучит и смарт не пашет, при этом поверхность целая и винт работает до сих пор), в итоге хоть какую-то полезную информацию нашел только на rom.by, но руки так и не дошли до перепрошивки.
несколько секунд стучит и смарт не пашет


Скорее всего, не может прочитать из SA модуль с таблицами SMART, вот и «не пашет» он.
Ну я так и подумал, потому и хотел перепрошить. Софт и прошивку нашел тогда, а вот подробной инфы о структуре прошивки, о возможности прошивки без спец оборудования — нет, потому не стал рисковать — поставил его в тестовую машину в качестве системного и он там трудиться 24/7 уже больше двух лет точно.
Вряд ли Вам поможет перепрошивка. SMART не читается не из-за того, что надо что-то прошить, а из-за того, что

при включении компа несколько секунд стучит
Я предположил что причина не в механике раз винт исправно работает, а просто затерлась какая-то сервисная инфа(как в описанном вами случае) из-за чего при инициализации винт пытается прочесть ее в другом месте или калибруется. Потому и думал что прошивка рабочей заводской прошивки должна помочь. Стучит он только при включении питания, после перезагрузки(resetом) стука нет.
Насколько мне известно, Samsung'и не могут инициализироваться композиционно.

Все необходимые для старта модули должны быть прочитаны диском из той копии SA, с которой инициализация началась.
Данные обычно восстанавливаются, но достаточно обидно осознавать, что когда-то сэкономленные $20 теперь привели к потере денежной суммы, объемом примерно в 50 раз выше.

Нехилые расценки. Мне с ними как то тоже приходилось сталкиваться. Больше желания экономить на бэкапах нет. Пожалуй облака нынче стали понадёжней и безопасней.
Нехилые расценки.


Прошу понять правильно (с)

Я не говорю о том, что все расценки в Data Recovery таковы.
Всё определяется масштабом разрушений, требуемыми запчастями, в конце концов, срочностью выполнения.

Нам тоже бывает обидно, когда приносят заказ, который можно было сделать за 1500 р. и полчаса.
Но клиент решил пойти тропой извилистой. Отнес диск на Савеловский рынок, где на него натравили пиратскую бетаверсию WDMarvel и начали нажимать в ней все кнопки подряд.

Или на диск с одной проблемной головкой натравили HDD Regenerator (в узких кругах — дегенератор) и получили запил, сначала по этой голове, а потом и по остальным.
А, в целом, не понятно на кого рассчитана статья? У кого есть PC3000, есть к ней и хелпа — могут и почитать. У кого нет — что эта информация дает? Да по сути ничего, так сделать все равно ничего нельзя. Вот если бы все то же самое через команды терминалки — то это уже конечно полезно. У нонишних хардов то вообще есть терминалка?
На меня рассчитана. Я слишком оптимистично оцениваю свои знания и способности, и вот такое приоткрытие завесы помогает мне понять, что в серъёзных случаях нельзя заниматься самолечением и нельзя к знахарям обращаться, а сразу к людям с инструментами, репутацией и открытой политикой.
Да, муху CC я однажды вылечил. Самодельный мост TTL на MAX232 заработал не сразу, понадобился совет друга, который потом объяснил, что эта проблема самая безобидная из множества вероятных.
Статья интересная. Но поподробней бы.

Вот например:

«На этом с теоретическими рассуждениями закончим и, поскольку у нас (по меньшей мере) присутствуют проблемы с паспортом диска, посмотрим, какое же содержимое id02 пациента:»

Где посмотрим? Как?

«Следующим шагом мы проверили наличие в памяти диска всех необходимых оверлеев, нужных для работы по АТА, и запустили специальную процедуру, которая сканирует SA, и по сигнатурам, находит в ней модули.»

Чем проверили? Как? Какую такую специальную процедуру? Как запустили?

Хочется же знать как всё это делать. Мы же тут вроде как учимся друг у друга, нет?
Где посмотрим? Как?


Я пользуюсь утилитой WD Marvel из PC3000 Express.
Но есть и аналоги, к примеру, упомянутая выше WDMarvel от другого автора, являющаяся самостоятельной утилитой.
Не берите зеленые WD! У меня один через полгода полетел! Берите красные — дороже, но надежнее!
Поддерживаю — из партии зелёных мало живых осталось на работе.
Хм. У меня зелёный в NAS-е уже второй год работает и SMART отличный.
Может реально партия бракованная была. Посыпались в районе года почти одновременно, сначала стали появляться битые сектора, потом лавнообразно (в течении дня-двух) их количество возрастало до непотребного значения (пользоваться дисками уже нельзя было)
Ну вот он, родимый:
WD20EZRX-00DC0B0

9.Power on hours — 10489
12. Power cycle count — 2929
192. Power-off retract count — 21
193. Load cycle count — 3032

Всё остальное по нулям. Возможно, хорошее состояние обусловлено тем что NAS знает этот диск и принудительно не даёт парковаться головкам(параметр 192), как это любит делать вся зелёная серия по поводу и без повода.
принудительно не даёт парковаться головкам(параметр 192), как это любит делать вся зелёная серия по поводу и без повода.

Ну тут я не в курсе тонкостей, обычные ПК, обычный 8-часовой рабочий день…
Посмотри СМАРТ на тех машинах. Обычно зеленая серия паркует головки и снижает скорость вращения дисков если простаивает больше 20 секунд. т.е. при офисной работе такой винчестер может парковать головки по 200-300 раз за день. Судя по отзывам поломок таких винчестеров за преждевременный выход его из строя отвечает именно этот процесс. Если не давать головкам парковаться то винчестер становится не таким уж зеленым и гораздо ближе к красным…
Где-то была утилита позволяющая тюнинговать этот параметр винчестера.
Посмотрю, я один домой утащил.
Вот вывод smartctl

smartctl output
smartctl 6.4 2014-10-07 r4002 [i686-linux-3.19.0-16-generic] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar Green
Device Model:     WDC WD5000AADS-00M2B0
Serial Number:    WD-WCAV5P114989
LU WWN Device Id: 5 0014ee 2b0397235
Firmware Version: 01.00A01
User Capacity:    500,107,862,016 bytes [500 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Thu May 21 18:14:07 2015 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82)	Offline data collection activity
					was completed without error.
					Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(10560) seconds.
Offline data collection
capabilities: 			 (0x7b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 ( 124) minutes.
Conveyance self-test routine
recommended polling time: 	 (   5) minutes.
SCT capabilities: 	       (0x3037)	SCT Status supported.
					SCT Feature Control supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   199   199   051    Pre-fail  Always       -       101053
  3 Spin_Up_Time            0x0027   192   188   021    Pre-fail  Always       -       6358
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       552
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   096   096   000    Old_age   Always       -       3434
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       550
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       77
193 Load_Cycle_Count        0x0032   192   192   000    Old_age   Always       -       24407
194 Temperature_Celsius     0x0022   124   103   000    Old_age   Always       -       23
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   186   184   000    Old_age   Always       -       1198
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   177   000    Old_age   Offline      -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Фигово. Наработка небольшая а уже 197 Current_Pending_Sector = 1198, это означает что эти сектора ждут своей замены при очередной записи в них, а пока этого не произошло электроника пытается их многократно считывать пока не сработают корректирующие коды — увеличивается время доступа к таким секторам. Ладно если оно порядка 20мс, а бывает от 100мс и до 2секунд, тогда компьютер иногда становится слишком задумчивым и даже прерывается звук.

И 193 Load_Cycle_Count аж 24407 — это и есть количество парковок головки, именно по причине «зелености» винчестера. Вроде заявленный ресурс в миллион парковок…

У вас там есть практика со стороны пользователей пинать системники?
это означает что эти сектора ждут своей замены при очередной записи в них

Скорость копирования с него падала до 1-2 МБ/с.
Я сделал список этих секторов и отфтрматировал с учётом их. Диск ожил — скорость как у нового. Но, думаю, не на долго.
У вас там есть практика со стороны пользователей пинать системники?

Да вроде не замечал, но даже если так — не все же пинают :)
А винту много и не надо. На ноутбучных это очень четко прослеживается, запускаешь MHDD в режиме сканирования поверхности и слегка стучишь по крышке ноута — это незамедлительно находит отражение на экране.

Удивительно. Вот сколько у меня винчестеров и сколько лет работают — ни одного pending sector даже (за исключением одного WD у которого с самого начала были 3 ремапленых сектора и за 5 лет ни одного свежего не появилось).
А все кто приносит на починку, особенно ноуты — картина просто ужасная.
Не берегут люди технику… на ноутах особенно чувствительные винты, их можно практически как угодно крутить в пространстве и ничего но малейший жесткий стук по корпусу(ногтём например или ручкой) сбивает стройный полёт БМГ над поверхностью дорожки. Я так полагаю, они начинают резонировать от высокочастотных вибраций. При чтении пофиг, но в моменты записи очень критично.

Да, надо было в MHDD запустить advanced remap.
А где вы берете все эти познания о внутренностях прошивок, режимах и т.д.? Это reverse engineering или NDA от самого производителя?
Ну, было бы NDA, я бы наверное, здесь такое не писал :)

Знания добываются как самостоятельно, так и путем общения на закрытых ресурсах, с коллегами по цеху.
Но не считайте, что Вам вот так прямо все скажут и обьяснят.

Сначала попробуйте вообще попасть на данные ресурсы.
Потом надо будет зарекомендовать себя, как грамотного человека, помочь другим.

Может быть, после этого, получите совет от гуру.
Я интересовался не с целью присоседиться к вашему хлебу. Я надеялся, что хоть кто-то готов позаботиться о своих клиентах попавших в беду, и поделиться внутренностями с такими ребятами как вы.

По факту получается глупость — те, кому надо, всё равно всё знают, только это знание добывается такими квестами, что любая народная сказка позавидует. Что сказывается на цене ваших услуг не в лучшую сторону.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий