Saturday, June 21, 2008

Трябва ли да използвам "Safely remove hardware", преди да извадя USB устройството ?

 USB stick Ето така изглежда една мъртва флашка ... Убита от безхаберие и незнание.  За да не се случи това и с вашето USB устройство, мисля да ви информирам за всички рискове, които носите ако не използвате "safely remove hardware" функцията в Windows XP (и сходните и в другите операционни системи).

Като цяло можете да нанесете два вида поражение на вашето устройство ако не следвате т. нар. "safely remove" протокол: загуба на данни и трайни поражения върху хардуера.

Загубата на данни се получава най-често когато прекъснете някоя операция за писане. Тъй-като по време на писане файловата система на flash паметта не се намира в устойчиво състояние, част от файловете може да бъдат повредени и неизползваеми. Много често една такава операция, продължава две - три секунди след като диалоговия прозорец, с размятващи се насам-натам, листи се затвори. Така че това не е критерий, по който можете да съдите дали операцията за писане е приключила. 

Друг сценарий, при който настъпва загуба на данни е когато операционата система използва буфери при входни-изходните операции с USB устройства. Тези буфери значително ускоряват преноса на данни (особено при работа с много малки по размер файлове), но пък е доста по-рисковано от към цялост на данни и т.н. Затова тази функция в Windows XP по подразбиране е изключена и тя не би трябвало да ви притеснява.

Като цяло ако нещо от до тук написаното ви се случи, устройството ви е наред и всичко ще се оправи с едно форматиране на паметта, като изключим файловете които се изгубили безвъзвратно (макар че се случва стойността на данните да е доста по-висока от стойността на хардуера).

Друг проблем с който можете да се сблъскате е да нанесете щети на самия хардуер. От момента в който мушнете USB конектора на вашето устройство в съответния порт на компютъра ви, то получава постоянно напрежение от 5V ... и така до момента в който натиснете "safely remove hardware" или докато не издърпате зверски устройството от дупката :) 

Ако използвате първия подход сте наред. Компютъра изчаква всички транзакции да приключат, сваля всички буфери ако ползва такива върху паметта и спира подаването на ток, след което вие си прибирате флашката в джоба ... и така милиони пъти без проблем

При втория сценарий при измъкването на конектора от порта прехвърчат искри, които нанасят поражение или върху вашето USB устройство, или върху USB порта и съответно дъното или PCI платката към която той принадлежи... 

Специално за потребители на флашки с метален корпус и вълнени чехли, имаме и трети вариант, при който между ръката ви и корпуса на устройството протича статично електричество ... останалото е история :) 

Понякога и самата операционна система се обърква, когато не я уведомите за изключването на даден хардуер. Възможни са появите на хубави сини прозорци, фриволно рестартиране и т.н. 

Дори и да не ви се вярва ... всичко написано е истина. Използването на "safely remove" протокола прилича на слагането на колан в автомобил... Колкото повече не го слагате, толкова по-безпасно ви се струва, но рискът е налице.

3 comments:

Anonymous said...

хм, винаги съм си мислел, че тва със safely remove hardware са глупости... вече обаче ще се позамислям.

ivanatora said...

Прехвърчат искри? Божее, у нас трябва да е станало като стругарно помещение тогава :P
В Linux няма Safety Remove Hardware - може би Linux е гадна капиталистка ОС, която цели разрастване на пазара на флашки?
Не, сериозно - до сега от сто хиляди мушкания, нито една флашка не ми е правила проблем от "зверско издърпване".
Имало е проблеми от неправилно съхранение и най-вече неправилно пускане в пералнята.
Естествено е хубаво да се изчакат няколко секунди след последното писане, защото си прав за загубата на информация.

Anonymous said...

Е аз до тук съм на -3 флашки и 1 микроСД четец+8Г карта - по този повод.