Към заглавната страница


Хардуер

 

Твърди дискове

Повечето хора се възхищават на прогреса и развитието на процесорите. От първия IBM PC/XT, с процесор на 4.77Mhz, до сегашните P4 на честота 2Ghz, повишението е 500 пъти, скоро ще стане 1000 (когато се появят процесори на 4-5Ghz). Моят коментар: ХА! Първият твърд диск за PC е с капацитет 10MB, в момента има такива с капацитет над 150 GB – увеличението е над 10 000 пъти!! И в по-голямата си част този прогрес се дължи на IBM. Ето това е работа! Истинските хардуеристи така работят! Едновременно с увеличението на капацитета, се увеличава и скоростта на диска и скоростта на прехвърляне на данните, но за това след малко.

Идеята за твърдия диск е взета от грамофонната плоча – има ли хора, които си спомнят времето на грамофона? Както и да е, имаме една метална плоча, части от която се намагнетизират, така че се получава поредица от 1 и 0 – а както знаем това са числата с които работи компютъра. Намагнетизирането (записа) и четенето се осъществяват от глава, която в първите дискове се е допирала до плочата, (както казах, грамофон) а по-късно главата започва да “лети” над плочата. Твърдите дискове обикновено имат няколко плочи, разположени една над друга и за всяка има отделна глава, като всичките глави са с общо рамо и се преместват едновременно. Така през 1956 година се появява 5 мегабайтовия IBM 305 RAMAC, който е имал 50 плочи, всяка с диаметър 60 см. През 1973 се появява предшественика на съвременните дискове, моделът 3340, наричан още Winchester, с капацитет 60MB. През 1980 фирмата Seagate прави първия диск с размери на плочата от 5.25 инча (1 инч = 2.54 см) - модел ST-506, който се вгражда в ранните PC-та. И така, с навлизането на нови технологии и усъвършенстване на старите достигаме и до наши дни – основния дизайн на съвременните дискове е подобен на този от 1980, но скоростта, надеждността, капацитета са многократно по-големи. И като споменах капацитет (обема на диска), да уточним един въпрос: защо като си купите 6.4 GB диск, се оказва че може да използвате 6 GB от него? Причината е в различното използване на термините кило (K) и мега (М). По принцип, кило означава 1000, а мега 1 000 000 (1000*1000). Обаче, когато говорим за компютри кило е 1024, а мега 1,048,576 (1024*1024). Така, един мегабайт може да бъде 1 000 000 байта (според производителите), но в компютърните мерки в този случай сте с 48,576 байта по-малко от 1MB. Когато говорим за GB, числата стават по-големи, както и разликите в обема.

И понеже навлязохме в характеристики, да споменем още някои:

  • плътност на записа: колко информация може да се запише на 1 квадратен инч от плочата на диска – от около 2000 бита през 1956 до над 35 000 000 000 бита в лабораториите днес
  • скорост на въртене – с каква скорост се въртят плочите в диска. Типични скороски са 3600 RPM (Pre-IDE), 5200 RPM (IDE), 5400 RPM (IDE/SCSI), 7200 RPM (IDE/SCSI), 10000 RPM (SCSI), 15000 RPM (SCSI). IDE или SCSI е интерфейса на диска - начинът, по който се обменят данни между диска и останалата част от компютъра, и за него ще спомена след малко. RPM е съкратено от rounds per minute – завъртания за минута. 15000 RPM означава, че за една секунда се правят 250 завъртания, или ако си представите, че карате колело, гумите на които се въртят със такива обороти ще се движите с около 1800 километра в час
  • размер – от 5.25 инча, до 3.5 което е стандарт в момента в настолните компютри и 2.5 инча при преносимите, достигаме и до Microdrive дисковете на IBM, с диаметър 1 инч и дебелина 0.25 инча
  • производителност – тук включвам времето за позициониране и скоростта на трансфер. Времето за позициониране се състои от две времена – seek time и latency.

Какво е seek time? Това е времето, необходимо на главите да се преместят от една на друга позиция върху плочата (измерва се в милисекунди - ms); явно то зависи от това колко отдалечени са двете позиции една от друга и при различни разстояния между позициите ще имаме различни времена. Затова се изчислява осредненото време average sek time, което е една от важните характеристики на дисковете. Съвременните дискове имат времена от порядъка на 8-10 ms, като върховите достигат до 4 ms и надолу. В реални условия, данните върху вашия диск са разположени хаотично, затова и времето seek time е голямо. Обаче, ако си дефрагментирате диска, данните се подреждат така, че главите да изминават минимални разстояния докато четат даден файл и скоростта на работа на диска се повишава.

Какво е latency? Плочите на твърдите дискове се въртят с голяма скорост и тя не е синхронизирана с преместването на главата. Ако главата трябва да започне четене или писане от дадена точка на плочата, то тя се премества докато достигне окръжността, на която лежи точката и после изчаква въртенето на плочата да докара точката под нея. Това време се нарича latency и се определя от скоростта на въртене на плочата – колкото по-бързо е въртенето толкова е по-малко времето; отново се използва усреднения показател average latency. Той може да се изчисли по формулата (30000 / скоростта на въртене), резултата е в ms. От формулата се вижда, че скорост на въртене или latency показва едно и също нещо, но по различен начин – ако имаме оборотите (RPM) може да си сметнем latency-то и обратното. Използването на показателят за време вместо обороти се налага за да можем да сравним лесно два диска: сумираме времената average latency и average seek time за всеки от дисковете и сравняваме резултата – по ниския е по-добър.

Освен времето за позициониране, важна е и скоростта на трансфер. Тук оказват влияние размера на кеша и вида на интерфейса. Кеша на твърдия диск, както и всички видове кеш служи за по-бързо достигане до данните – ако нещото, което трябва да се прочете от диска е в кеша, четенето е многократно по-бързо. Стандарт в момента са дисковете с 2MB кеш, които обикновено са на 7200 оборота, докато тези на 5400 оборота обикновено са с половин мегабайт кеш. Вида на интерфейса... Всъщност какво е това “интерфейс на твърдия диск”? Когато данните се прочетат от плочата на диска, те трябва да се прехвърлят по-нататътк – към паметта (което се случва всеки път, когато пускате игра или програма). Данните между отделните компютърни компоненти се обменят през системната шина – в съвременните PC-та PCI шината. Интерфейсът на твърдия диск е начинът, по който се предават данните след като се прочетат от плочата; най разпространени са IDE/ATA и SCSI. В днешните компютри IDE интерфейса е вграден като чип в дънната платка, но в по-старите машини той беше отделна разширителна карта, както е примерно модема. SCSI се вгражда по-рядко и не е толкова разпространен, въпреки че е по-бърз, поради по-високата му цена. Ето малко подробности за двамата “състезатели”:

  • Integrated Drive Electronics / AT Attachment (IDE/ATA) – стандарта за дисков интерфейс. Всяко IDE има два канала (master и slave), на които могат да се закачат два диска или пък диск и CD устрайство. Ако видите да се споменава само IDE, или само ATA, или UDMA (наричано още DMA-33, Ultra ATA-33, Fast ATA-2), UDMA-66, ATA-100 – става въпрос за различни версии на IDE/ATA интерфейса; тук наистина има много имена за едно и също нещо. DMA-33 e момента който представлява интерес, тъй като трудно ще се намерят дискове, които да не го пъддържат, а ако все пак намерите такива, гледайте да се освободите бързо от тях. Тук теоретичната скорост на прехвърляне на данните е 33.3 MB/s, но дисковете с такъв интерфейс постигат много по-слаби резултати – причината е, че данните не могат да се прочетат физически от плочата на диска с такава скорост; 33.3 MB/s могат да се постигнат само ако се чете от кеша на диска. Следващата стъпка е UDMA-66, която има скорост 66.6 MB/s и последната е ATA-100 (UDMA-100) със скорост от 100 мегабайта за секунда. За съжаление реалната скорост на днешните дискове не натоварва дори и UDMA-66, затова купуването на диск само защото е ATA-100 е глупаво. Ако искате да проверите как се справя вашия диск – или използвайте тест, или вържете два диска и пробвайте копиране от единия на другия.
  • Small Computer System Interface (SCSI) – когато имаме нужда от бързина. Особеното тук е, че SCSI не се използва само за дисков интерфейс – към него могат да се закачат и други устройства, например скенер. Отново имаме голяма каша с имената, затова тук сам написал сравнително подредени различните версии: SCSI (SCSI-1), Wide SCSI, Fast SCSI, Fast Wide SCSI, Ultra SCSI, Wide Ultra SCSI, Ultra2 SCSI, Wide Ultra2 SCSI, Ultra3 SCSI, Ultra160 (Ultra160/m) SCSI, Ultra160+ SCSI, Ultra320 SCSI. Скоростите на по-скорошните разработки са 80 MB/s за Ultra 2 SCSI, 160 за всички със 160 в името си и последно – 320 мегабайта в секунда за Ultra320 SCSI. Защо ни е нужна такава скорост, след като по-горе стана ясно, че дисковете просто не могат да четат толкова бързо? Заради RAID (Redundant Array of Independent Disks).

RAID е начин за повишаване производителността или сигурността на данните, с помощта на допълнителни дискове. Преди да навляза в подробности трябва да ви кажа, че различните варианти на RAID се наричат нива – ниво 0, ниво 1 и т.н. Тук не става въпрос за нови или стари версии, а за различни видове – например видовете кафе – има еспресо, турско, виенско, ирландско, ..., все си е кафе, но има разлика. Тук ще разгледам ниво 0 и 1, защото другите са интересни само, ако ще правите файлов сървър, а не домашен компютър.

И така, представете си, че имате два твърди диска на системата. Нека на единия диск да имате много важна информация – логично е, че ще я копирате и на другия за резервно копие. Всеки път като промените нещо, трябва да копирате; ако се развали диска трябва да възстановявате операционната система, за да продължите работа. RAID ниво 1 ви спестява всякакви главоболия, като автоматично прави mirror (дублиране на данните) на главния ви диск – изкопира цялата информация на допълнителния. Ако първия ви диск се развали, работата продължава от втория без да се налага да правите нещо! Като смените повредения диск, без да прекъсвате работа данните се копират отново, така че и двата диска да съдържат едно и също. Някои производители на RAID контролери вкарват и допълнителна логика – например ако трябва да се прочетат някакви данни от диска, първо се пресмята кое след кое да се прочете от плочата, за да се минимизира времето (seek time).

RAID ниво 0 е още по примамливо, защото вместо на сигурност се набляга на повишена производителност; недостатък е това, че ако се развали единия диск, цялата информация която имате и на двата е загубена. Как работи: нека имаме един 10 мегабайтов файл и го записваме върху два диска, организирани в RAID масив ниво 0. Файлът ще бъде автоматично разделен на части, четните ще се запишат на първия диск, нечетните на втория, като по този начин върху всеки диск ще имаме по 5 MB, но несвързани данни – не може да възстановим оригинала само от единия диск. Какво печелим? Два пъти по-бърз запис, защото записването се извършва едновременно върху двата диска. Означава и два пъти по-бързо четене, пак заради едновременната работа. Всъщност, за останалата част от системата, а и за някой който не знае, че работи с RAID ще изглежда, че вместо с два диска работи с един, който е много бърз.

Останалите нива на RAID – 2, 3, 4, 5, 6, 7, 53, 10 се занимават с различни комбинации от сигурност и производителност, вместо абсолютните в ниво 1 и 0.

Да се върнем отново при SCSI – ако имаме 2 диска, всеки с реален трансфер от 40MB/s – за едновременна работа ще ни е необходима скорост от 80MB/s, при четири диска – 160. Ако дисковете са повече или по бързи – още по голяма; всъщност това е основната употреба на SCSI – за RAID масиви. Добрата новина е наличието и на по-евтините IDE/ATA RAID контролери, с интерфейс UDMA-66 или ATA-100, които са с достъпна цена и дори вече ги вграждат в дънните платки (например ABIT). Резултатите от SiSoft Sandra 2000 на един такъв UDMA-66 контролер са: с един диск – 9855, с масив ниво 0 – 17394. Производителността на IDE/ATA RAID масивите е по-ниска от тази на SCSI и се поддържат максимум 4 диска, но за домашна употреба и това е много.

Вместо заключение, ще дам още някои термини от света на твърдите дискове:

  • MTBF (Mean Time Before Failure) – времето на работа на диска (в часове), след което може да очаквате диска да се развали. Ако имате диск с 100 000 MTBF, сметката показва, че това са 11 години денонощна работа :)
  • SMART (Self Monitoring And Reporting Technology) – система за автоматична диагностика на диска, която предупреждава за наличието на проблеми преди да сте загубили данни
  • Thermal Recalibration – както може би знаете, при нагряване металите имат свойството да се разширяват – затова например между релсите на влака се оставя малко разстояние (откъдето пък идва специфичното потракване) – лятно време релсите се удължават от топлината, зимно се свиват. При диска се получава същия ефект и затова има вградена диагностика, която да осигурява работата на диска при различни температури.

Назад