Ide скорость передачи данных — Вэб-шпаргалка для интернет предпринимателей!

Жесткие диски

Ide скорость передачи данных

Когда планируется апгрейд компьютерной системы, путаница в интерфейсах может основательно затруднить выбор комплектующих. Так, на материнских платах может не быть интерфейса IDE, тогда как жесткий диск или оптический привод подключается именно по нему. Или новый накопитель с SATA-интерфейсом не удается установить в систему с портами IDE.

Определение

IDE — маркетинговое название параллельного интерфейса (PATA), применяемого для подключения к материнским платам внутренних жестких дисков, оптических приводов и других типов накопителей.

SATA — последовательный интерфейс передачи данных, применяемый для подключения как внешних (eSATA), так и внутренних накопителей и оптических приводов.

Сравнение

Разница между IDE и SATA в первую очередь временная. Интерфейс IDE сегодня — редкий гость на материнских платах и накопителях, и применение его оправдано, в основном, только в целях апгрейда малой кровью. Правда, в случае с оптическими приводами замена IDE на SATA не даст фактически никакого прироста, да и скорость чтения/записи жестких дисков далека от той, которую может обеспечивать SATA. Но IDE в скором времени исчезнет совсем, так что позаботиться о переходе на SATA все же стоит. Сегодня SATA-диски дешевле, чем IDE, и обладают большим объемом.

SATA в любой из версий имеет более высокую скорость передачи данных (максимум IDE в теории 133 Мб/с, минимум SATA — 150 Мб/с), а пропускная способность шины PATA (IDE) в последней версии составляет около 1064 Мбит/с против 1500 Мбит/с SATA первой версии и 6000 Мбит/с — третьей.

Кабель для подключения по IDE представляет собой широкую плоскую ленту с 80 жилами (раньше было 40), контактов интерфейса IDE неизменно 40. Кабель для подключения по SATA — узкий, и контактов всего 7. Одним кабелем IDE можно подключить к материнской плате два устройства, одно из которых будет ведущим, на кабеле SATA висит всего лишь одно. Из-за своей формы шлейфы IDE часто становятся причиной неправильной циркуляции воздуха внутри корпуса и мешают установке комплектующих.

Слева — SATA. Справа — IDE

Питание устройств, подключаемых по IDE, осуществляется посредством четырехконтактного разъема molex, устройства SATA питаются либо от 15-контактного разъема, либо от того же molex. Существуют переходники, позволяющие не беспокоиться о подключении к блоку питания любых устройств с любым интерфейсом. Также в SATA последней версии существует возможность замены устройства без полного обесточивания компьютера, IDE же требуется отключать при верной последовательности действий.

ATA (англ. Advanced Technology Attachment ) или >Integrated Drive Electronics ) — параллельный интерфейс подключения накопителей (гибких дисков, жёстких дисков и оптических дисководов) к компьютеру. В 1990-е годы был стандартом на платформе IBM PC; в настоящее время вытеснен своим последователем — SATA — и с его появлением получил название PATA (Parallel ATA).

Содержание

История [ править | править код ]

Предварительное название интерфейса было PC/AT Attachment («Соединение с PC/AT»), так как он предназначался для подсоединения к 16-битной шине ISA, известной тогда как шина AT. В окончательной версии название переделали в «AT Attachment» для избежания проблем с торговыми марками.

Первоначальная версия стандарта была разработана в 1986 году фирмой Western Digital и по маркетинговым соображениям получила название >Integrated Drive Electronics — «электроника, встроенная в привод»). Оно подчеркивало важное нововведение: контроллер привода располагается в нём самом, а не в виде отдельной платы расширения, как в предшествующем стандарте ST-506 и существовавших тогда интерфейсах SCSI и ST-412. Это позволило улучшить характеристики накопителей (за счёт меньшего расстояния до контроллера), упростить управление им (так как контроллер канала IDE абстрагировался от деталей работы привода) и удешевить производство (контроллер привода мог быть рассчитан только на «свой» привод, а не на все возможные; контроллер канала же вообще становился стандартным). Следует отметить, что контроллер канала IDE правильнее называть хост-адаптером, поскольку он перешёл от прямого управления приводом к обмену данными с ним по протоколу.

В стандарте АТА определён интерфейс между контроллером и накопителем, а также передаваемые по нему команды.

Интерфейс имеет 8 регистров, занимающих 8 адресов в пространстве ввода-вывода. Ширина шины данных составляет 16 бит. Количество каналов, присутствующих в системе, может быть больше 2. Главное, чтобы адреса каналов не пересекались с адресами других устройств ввода-вывода. К каждому каналу можно подключить 2 устройства (master и slave), но в каждый момент времени может работать лишь одно устройство.

Принцип адресации CHS заложен в названии. Сперва блок головок устанавливается позиционером на требуемую дорожку (Cylinder), после этого выбирается требуемая головка (Head), а затем считывается информация из требуемого сектора (Sector).

Стандарт E >Enhanced IDE — «расширенный IDE»), появившийся вслед за IDE, позволял использование приводов ёмкостью, превышающей 528 Мб (504 МиБ), вплоть до 8,4 Гб. Хотя эти аббревиатуры возникли как торговые, а не официальные названия стандарта, термины IDE и EIDE часто употребляются вместо термина ATA. После введения в 2003 году стандарта Serial ATA («последовательный ATA») традиционный ATA стали именовать Parallel ATA, имея в виду способ передачи данных по параллельному 40- или 80-жильному кабелю.

Поначалу этот интерфейс использовался с жёсткими дисками, но затем стандарт был расширен для работы и с другими устройствами, в основном — использующими сменные носители. К числу таких устройств относятся приводы CD-ROM и DVD-ROM, ленточные накопители, а также дискеты большой ёмкости, такие, как ZIP и флоптические (используют магнитные головки с лазерным наведением [1] [2] ) диски (LS-120/240). Кроме того, из файла конфигурации ядра FreeBSD можно сделать вывод, что на шину ATAPI подключали даже накопители на гибких магнитных дисках (дискета). Этот расширенный стандарт получил название Advanced Technology Attachment Packet Interface (ATAPI), в связи с чем полное наименование стандарта выглядит как ATA/ATAPI. ATAPI практически полностью совпадает со SCSI на уровне команд и, по сути, есть «SCSI по ATA-кабелю».

Первоначально интерфейсы для подключения приводов CD-ROM не были стандартизованы и являлись проприетарными разработками производителей приводов. В результате для подключения CD-ROM было необходимо устанавливать отдельную плату расширения, специфичную для конкретного производителя, например, для Panasonic (существовало не менее 5 специфичных вариантов интерфейсов, предназначенных для подключения CD-ROM). Некоторые варианты звуковых карт, например, Sound Blaster, оснащались именно такими портами (часто привод CD-ROM и звуковая плата поставлялись в виде мультимедиа-комплекта). Появление ATAPI позволило стандартизировать всю эту периферию и дать возможность подключать её к любому контроллеру, к которому можно подключить жесткий диск.

Другим важным этапом в развитии ATA стал переход от PIO (англ. Programmed input/output — программный ввод-вывод) к DMA (англ. Direct memory access — прямой доступ к памяти). При использовании PIO считыванием данных с диска управлял центральный процессор компьютера, что приводило к повышенной нагрузке на процессор и замедлению работы в целом. По причине этого компьютеры, использовавшие интерфейс ATA, обычно выполняли операции, связанные с диском, медленнее, чем компьютеры, использовавшие SCSI и другие интерфейсы. Введение DMA существенно снизило затраты процессорного времени на операции с диском.

В данной технологии потоком данных управляет сам накопитель, считывая данные в память или из памяти почти без участия процессора, который выдаёт лишь команды на выполнение того или иного действия. При этом жёсткий диск выдаёт сигнал запроса DMARQ на операцию DMA контроллеру. Если операция DMA возможна, контроллер выдаёт сигнал DMACK, и жёсткий диск начинает выдавать данные в 1-й регистр (DATA), с которого контроллер считывает данные в память без участия процессора.

Операция DMA возможна, если режим поддерживается одновременно BIOS, контроллером и операционной системой, в противном случае возможен лишь режим PIO.

В дальнейшем развитии стандарта (АТА-3) был введён дополнительный режим UltraDMA 2 (UDMA 33).

Этот режим имеет временные характеристики DMA Mode 2, однако данные передаются и по переднему, и по заднему фронту сигнала DIOR/DIOW. Это вдвое увеличивает скорость передачи данных по интерфейсу. Также введена проверка на чётность CRC, что повышает надёжность передачи информации.

В истории развития ATA был ряд барьеров, связанных с организацией доступа к данным. Большинство из этих барьеров, благодаря современным системам адресации и технике программирования, были преодолены. К их числу относятся ограничения на максимальный размер диска в 504 МиБ, около 8 ГиБ, около 32 ГиБ, и 128 ГиБ. Существовали и другие барьеры, в основном связанные с драйверами устройств, и организацией ввода-вывода в операционных системах, не соответствующих стандартам ATA.

Оригинальная спецификация АТА предусматривала 28-битный режим адресации. Это позволяло адресовать 2 28 (268 435 456) секторов по 512 байт каждый, что давало максимальную ёмкость в 137 Гб (128 ГиБ). В стандартных PC BIOS поддерживал до 7,88 ГиБ (8,46 Гб), допуская максимум 1024 цилиндра, 256 головок и 63 сектора. Это ограничение на число цилиндров/головок/секторов CHS (Cyllinder-Head-Sector) в сочетании со стандартом IDE привело к ограничению адресуемого пространства в 504 МиБ (528 Мб). Для преодоления этого ограничения была введена схема адресации LBA (Logical Block Address), что позволило адресовать до 7,88 ГиБ. Со временем и это ограничение было снято, что позволило адресовать сначала 32 ГиБ, а затем и все 128 ГиБ, используя все 28 разрядов (в АТА-4) для адресации сектора. Запись 28-битного числа организована путём записи его частей в соответствующие регистры накопителя (с 1 по 8 бит в 4-й регистр, 9-16 в 5-й, 17-24 в 6-й и 25-28 в 7-й).

Адресация регистров организована при помощи трёх адресных линий DA0-DA2. Первый регистр с адресом 0 является 16-разрядным и используется для передачи данных между диском и контроллером. Остальные регистры 8-битные и используются для управления.

Новейшие спецификации ATA предполагают 48-битную адресацию, расширяя таким образом возможный предел до 128 ПиБ (144 петабайт).

Эти ограничения на размер могут проявляться в том, что система думает, что объём диска меньше его реального значения, или вовсе отказывается загружаться и виснет на стадии инициализации жёстких дисков. В некоторых случаях проблему удаётся решить обновлением BIOS. Другим возможным решением является использование специальных программ, таких, как Ontrack DiskManager, загружающих в память свой драйвер до загрузки операционной системы. Недостатком таких решений является то, что используется нестандартная разбивка диска, при которой разделы диска оказываются недоступны, в случае загрузки, например, с обычной DOS-овской загрузочной дискеты. Впрочем, многие современные операционные системы (начиная от Windows NT4 SP3) могут работать с дисками большего размера, даже если BIOS компьютера этот размер корректно не определяет.

Интерфейс ATA [ править | править код ]

Для подключения жёстких дисков с интерфейсом PATA обычно используется 40-проводный кабель (именуемый также шлейфом). Каждый шлейф обычно имеет два или три разъёма, один из которых подключается к разъёму контроллера на материнской плате (в более старых компьютерах этот контроллер размещался на отдельной плате расширения), а один или два других подключаются к дискам. В один момент времени шлейф P-ATA передаёт 16 бит данных. Иногда встречаются шлейфы IDE, позволяющие подключение трёх дисков к одному IDE каналу, но в этом случае один из дисков работает в режиме read-only.

Долгое время шлейф ATA содержал 40 проводников, но с введением режима Ultra DMA/66 (UDMA4) появилась его 80-проводная версия. Все дополнительные проводники — это проводники заземления, чередующиеся с информационными проводниками. Таким образом вместо семи проводников заземления их стало 47. Такое чередование проводников уменьшает ёмкостную связь между ними, тем самым сокращая взаимные наводки. Ёмкостная связь является проблемой при высоких скоростях передачи, поэтому данное нововведение было необходимо для обеспечения нормальной работы установленной спецификацией UDMA4 скорости передачи 66 МБ/с (мегабайт в секунду). Более быстрые режимы UDMA5 и UDMA6 также требуют 80-проводного кабеля.

Хотя число проводников удвоилось, число контактов осталось прежним, как и внешний вид разъёмов. Внутренняя же разводка, конечно, другая. Разъёмы для 80-проводного кабеля должны присоединять большое число проводников заземления к небольшому числу контактов заземления, в то время как в 40-проводном кабеле проводники присоединяются каждый к своему контакту. У 80-проводных кабелей разъёмы обычно имеют различную расцветку (синий, серый и чёрный), в отличие от 40-проводных, где обычно все разъёмы одного цвета (чаще чёрные).

Стандарт ATA всегда устанавливал максимальную длину кабеля равной 45,7 см (18 дюймов). Это ограничение затрудняет присоединение устройств в больших корпусах, или подключение нескольких приводов к одному компьютеру, и почти полностью исключает возможность использования дисков PATA в качестве внешних дисков. Хотя в продаже широко распространены кабели большей длины, следует иметь в виду, что они не соответствуют стандарту. То же самое можно сказать и по поводу «круглых» кабелей, которые также широко распространены. Стандарт ATA описывает только плоские кабели с конкретными характеристиками полного и ёмкостного сопротивлений. Это, конечно, не означает, что другие кабели не будут работать, но, в любом случае, к использованию нестандартных кабелей следует относиться с осторожностью.

Если к одному шлейфу подключены два устройства, одно из них обычно называется ведущим (англ. master ), а другое — ведомым (англ. slave ). Обычно ведущее устройство идёт перед ведомым в списке дисков, перечисляемых BIOS’ом компьютера или операционной системы. В старых BIOS’ах (486 и раньше) диски часто неверно обозначались буквами: «C» для ведущего диска и «D» для ведомого.

Если на шлейфе только один привод, он в большинстве случаев должен быть сконфигурирован как ведущий. Некоторые диски (в частности, производства Western Digital) имеют специальную настройку, именуемую single (то есть «один диск на кабеле»). Впрочем, в большинстве случаев единственный привод на кабеле может работать и как ведомый (такое часто встречается при подключении CD-ROM’а на отдельный канал).

Настройка, именуемая cable select (то есть «выбор, определяемый кабелем», кабельная выборка), была описана как опциональная в спецификации ATA-1 и стала широко распространена начиная с ATA-5, поскольку исключает необходимость переставлять перемычки на дисках при любых переподключениях. Если привод установлен в режим cable select, он автоматически устанавливается как ведущий или ведомый в зависимости от своего местоположения на шлейфе. Для обеспечения возможности определения этого местоположения шлейф должен быть с кабельной выборкой. У такого шлейфа контакт 28 (CSEL) не подключен к одному из разъёмов (серого цвета, обычно средний). Контроллер заземляет этот контакт. Если привод видит, что контакт заземлён (то есть на нём логический 0), он устанавливается как ведущий, в противном случае (высокоимпедансное состояние) — как ведомый.

Во времена использования 40-проводных кабелей широко распространилась практика осуществлять установку cable select путём простого перерезания проводника 28 между двумя разъёмами, подключавшимися к дискам. При этом ведомый привод оказывался на конце кабеля, а ведущий — в середине. Такое размещение в поздних версиях спецификации было даже стандартизировано. Когда на кабеле размещается только одно устройство, такое размещение приводит к появлению ненужного куска кабеля на конце, что нежелательно — как из соображений удобства, так и по физическим параметрам: этот кусок приводит к отражению сигнала, особенно на высоких частотах.

80-проводные кабели, введённые для UDMA4, лишены указанных недостатков. Теперь ведущее устройство всегда находится в конце шлейфа, так что, если подключено только одно устройство, не получается этого ненужного куска кабеля. Кабельная же выборка у них «заводская» — сделанная в самом разъёме просто путём исключения данного контакта. Поскольку для 80-проводных шлейфов в любом случае требовались собственные разъёмы, повсеместное внедрение этого не составило больших проблем. Стандарт также требует использования разъёмов разных цветов, для более простой идентификации их как производителем, так и сборщиком. Синий разъём предназначен для подключения к контроллеру, чёрный — к ведущему устройству, серый — к ведомому.

Термины «ведущий» и «ведомый» были заимствованы из промышленной электроники (где указанный принцип широко используется при взаимодействии узлов и устройств), но в данном случае являются некорректными, и потому не используются в текущей версии стандарта ATA. Более правильно называть ведущий и ведомый диски соответственно device 0 (устройство 0) и device 1 (устройство 1). Существует распространённый миф, что ведущий диск руководит доступом дисков к каналу. На самом деле управление доступом дисков и очерёдностью выполнения команд осуществляет контроллер (которым, в свою очередь, управляет драйвер операционной системы). То есть фактически оба устройства являются ведомыми по отношению к контроллеру.

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

А почему не сказал? А потому что эта тема — достойна объема никак не меньшего целой статьи. Поэтому сегодня разберем во всех подробностях наиболее популярные на данный момент интерфейсы жесткого диска. Сразу оговорюсь, что статья или пост (кому как удобнее) в этот раз будет иметь внушительные размеры, но куда деваться, без этого к сожалению никак, потому как если написать кратко, получится совсем уж непонятно.

Понятие интерфейса жесткого диска компьютера

Для начала давайте дадим определение понятию «интерфейс». Говоря простым языком (а именно им я и буду по-возможности выражаться, ибо блог то на обычных людей рассчитан, таких как мы с Вами), интерфейс — способ взаимодействия устройств друг с другом и не только устройств. Например, многие из вас наверняка слышали про так называемый «дружественный» интерфейс какой-либо программы. Что это значит? Это значит, что взаимодействие человека и программы более легкое, не требующее со стороны пользователя большИх усилий, по сравнению с интерфейсом «не дружественным». В нашем же случае, интерфейс — это просто способ взаимодействия конкретно жесткого диска и материнской платы компьютера. Он представляет собой набор специальных линий и специального протокола (набора правил передачи данных). То есть чисто физически — это шлейф (кабель, провод), с двух сторон которого находятся входы, а на жестком диске и материнской плате есть специальные порты (места, куда присоединяется кабель). Таким образом, понятие интерфейс — включает в себя соединительный кабель и порты, находящиеся на соединяемых им устройствах.

Ну а теперь самый «сок» сегодняшней статьи, поехали!

Виды взаимодействия жестких дисков и материнской платы компьютера (виды интерфейсов)

Итак, первым на очереди у нас будет самый «древний» (80-е года) из всех, в современных HDD его уже не встретить, это интерфейс IDE (он же ATA, PATA).

IDE — в переводе с английского «Integrated Drive Electronics», что буквально означает — «встроенный контроллер». Это уже потом IDE стали называть интерфейсом для передачи данных, поскольку контроллер (находящийся в устройстве, обычно в жестких дисках и оптических приводах) и материнскую плату нужно было чем-то соединять. Его (IDE) еще называют ATA (Advanced Technology Attachment), получается что то вроде «Усовершенствованная технология подсоединения». Дело в том, что ATA — параллельный интерфейс передачи данных, за что вскоре (буквально сразу после выхода SATA, о котором речь пойдет чуть ниже) он был переименован в PATA (Parallel ATA).

Что тут сказать, IDE хоть и был очень медленный (пропускная способность канала передачи данных составляла от 100 до 133 мегабайта в секунду в разных версиях IDE — и то чисто теоретически, на практике гораздо меньше), однако позволял присоединять одновременно сразу два устройства к материнской плате, используя при этом один шлейф.

Причем в случае подключения сразу двух устройств, пропускная способность линии делилась пополам. Однако, это далеко не единственный недостаток IDE. Сам провод, как видно из рисунка, достаточно широкий и при подключении займет львиную долю свободного пространства в системном блоке, что негативно скажется на охлаждении всей системы в целом. В общем IDE уже устарел морально и физически, по этой причине разъем IDE уже не встретить на многих современных материнских платах, хотя до недавнего времени их еще ставили (в количестве 1 шт.) на бюджетные платы и на некоторые платы среднего ценового сегмента.

Следующим, не менее популярным, чем IDE в свое время, интерфейсом является SATA (Serial ATA), характерной особенностью которого является последовательная передача данных. Стоит отметить, что на момент написания статьи — является самым массовым для применения в ПК.

Существуют 3 основных варианта (ревизии) SATA, отличающиеся друг от друга пропускной способностью: rev. 1 (SATA I) — 150 Мб/с, rev. 2 (SATA II) — 300 Мб/с, rev. 3 (SATA III) — 600 Мб/с. Но это только в теории. На практике же, скорость записи/чтения жестких дисков обычно не превышает 100-150 Мб/с, а оставшаяся скорость пока не востребована и влияет разве что на скорость взаимодействия контроллера и кэш-памяти HDD (повышает скорость доступа к диску).

Из нововведений можно отметить — обратную совместимость всех версий SATA (диск с разъемом SATA rev. 2 можно подключить к мат. плате с разъемом SATA rev. 3 и т.п.), улучшенный внешний вид и удобство подключения/отключения кабеля, увеличенная по сравнению с IDE длина кабеля (1 метр максимально, против 46 см на IDE интерфейсе), поддержка функции NCQ начиная уже с первой ревизии. Спешу обрадовать обладателей старых устройств, не поддерживающих SATA — существуют переходники с PATA на SATA, это реальный выход из ситуации, позволяющий избежать траты денег на покупку новой материнской платы или нового жесткого диска.

Так же, в отличии от PATA, интерфейсом SATA предусмотрена «горячая замена» жестких дисков, это значит, что при включенном питании системного блока компьютера, можно присоединять/отсоединять жесткие диски. Правда для ее реализации необходимо будет немного покопаться в настройках BIOS и включить режим AHCI.

Следующий на очереди — eSATA (External SATA) — был создан в 2004 году, слово «external» говорит о том, что он используется для подключения внешних жестких дисков. Поддерживает «горячую замену» дисков. Длина интерфейсного кабеля увеличена по сравнению с SATA — максимальная длина составляет теперь аж два метра. eSATA физически не совместим с SATA, но обладает той же пропускной способностью.

Но eSATA — далеко не единственный способ подключить внешние устройства к компьютеру. Например FireWire — последовательный высокоскоростной интерфейс для подключения внешних устройств, в том числе HDD.

Поддерживает «горячу замену» винчестеров. По пропускной способности сравним с USB 2.0, а с появлением USB 3.0 — даже проигрывает в скорости. Однако у него все же есть преимущество — FireWire способен обеспечить изохронную передачу данных, что способствует его применению в цифровом видео, так как он позволяет передавать данные в режиме реального времени. Несомненно, FireWire популярен, но не настолько, как например USB или eSATA. Для подключения жестких дисков он используется довольно редко, в большинстве случаев с помощью FireWire подключают различные мультимедийные устройства.

USB (Universal Serial Bus), пожалуй самый распространенный интерфейс, используемый для подключения внешних жестких дисков, флешек и твердотельных накопителей (SSD). Как и в предыдущем случае — есть поддержка «горячей замены», довольно большая максимальная длина соединительного кабеля — до 5 метров в случае использования USB 2.0, и до 3 метров — если используется USB 3.0. Наверное можно сделать и бОльшую длину кабеля, но в этом случае стабильная работа устройств будет под вопросом.

Скорость передачи данных USB 2.0 составляет порядка 40 Мб/с, что в общем-то является низким показателем. Да, конечно, для обыкновенной повседневной работы с файлами пропускной способности канала в 40 Мб/с хватит за глаза, но как только речь пойдет о работе с большими файлами, поневоле начнешь смотреть в сторону чего-то более скоростного. Но оказывается выход есть, и имя ему — USB 3.0, пропускная способность которого, по сравнению с предшественником, возросла в 10 раз и составляет порядка 380 Мб/с, то есть практически как у SATA II, даже чуть больше.

Есть две разновидности контактов кабеля USB, это тип «A» и тип «B», расположенные на противоположных концах кабеля. Тип «A» — контроллер (материнская плата), тип «B» — подключаемое устройство.

USB 3.0 (тип «A») совместим с USB 2.0 (тип «A»). Типы «B» не совместимы между собой, как видно из рисунка.

Thunderbolt (Light Peak). В 2010 году компанией Intel был продемонстрирован первый компьютер с данным интерфейсом, а чуть позже в поддержку Thunderbolt к Intel присоединилась не менее известная компания Apple. Thunderbolt достаточно крут (ну а как иначе то, Apple знает во что стоит вкладывать деньги), стоит ли говорить о поддержке им таких фич, как: пресловутая «горячая замена», одновременное соединение сразу с несколькими устройствами, действительно «огромная» скорость передачи данных (в 20 раз быстрее USB 2.0).

Максимальная длина кабеля составляет только 3 метра (видимо больше и не надо). Тем не менее, несмотря на все перечисленные преимущества, Thunderbolt пока что не является «массовым» и применяется преимущественно в дорогих устройствах.

Идем дальше. На очереди у нас пара из очень похожих друг на друга интерфейсов — это SAS и SCSI. Похожесть их заключается в том, что они оба применяются преимущественно в серверах, где требуется высокая производительность и как можно меньшее время доступа к жесткому диску. Однако, существует и обратная сторона медали — все преимущества данных интерфейсов компенсируются ценой устройств, поддерживающих их. Жесткие диски, поддерживающие SCSI или SAS стоят на порядок дороже.

SCSI (Small Computer System Interface) — параллельный интерфейс для подключения различных внешних устройств (не только жестких дисков).

Был разработан и стандартизирован даже несколько раньше, чем первая версия SATA. В свежих версия SCSI есть поддержка «горячей замены».

SAS (Serial Attached SCSI) пришедший на смену SCSI, должен был решить ряд недостатков последнего. И надо сказать — ему это удалось. Дело в том, что из-за своей «параллельности» SCSI использовал общую шину, поэтому с контроллером одновременно могло работать только лишь одно из устройств, SAS — лишен этого недостатка.

Кроме того, он обратно совместим с SATA, что несомненно является большим плюсом. К сожалению стоимость винчестеров с интерфейсом SAS близка к стоимости SCSI-винчестеров, но от этого никак не избавиться, за скорость приходится платить.

Если вы еще не устали, предлагаю рассмотреть еще один интересный способ подключения HDD — NAS (Network Attached Storage). В настоящее время сетевые системы хранения данных (NAS) имеют большую популярность. По сути, это отдельный компьютер, этакий мини-сервер, отвечающий за хранение данных. Он подключается к другому компьютеру через сетевой кабель и управляется с другого компьютера через обычный браузер. Это все нужно в тех случаях, когда требуется большое дисковое пространство, которым пользуются сразу несколько людей (в семье, на работе). Данные от сетевого хранилища передаются к компьютерам пользователей либо по обычному кабелю (Ethernet), либо при помощи Wi-Fi. На мой взгляд, очень удобная штука.

Думаю, это все на сегодня. Надеюсь вам понравился материал, предлагаю подписаться на обновления блога, чтобы ничего не пропустить (форма в верхнем правом углу) и встретимся с вами уже в следующих статьях блога.

HDD и SSD – единство различий (страница 4)

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

Реализация тестов в разных программах при одинаковых или похожих названиях может несколько различаться, но будем ориентироваться на ‘типичные’ реализации. Итак, начнем.

Последовательное чтение

Алгоритм действий состоит в установке позиционера на фиксированную дорожку, чаще всего начало диска, с последующим чтением последовательно расположенных секторов данных. Само чтение выполняется запросом считывания блока переменного размера, при этом измеряется время выполнения данной операции (чтение блока).

реклама

Деструктивными моментами, сказывающимися на времени выполнения, является смена поверхности и номера дорожки. Кроме того, у ряда производителей, после окончания чтения одной дорожки следует переход на следующую, вместо (вроде бы очевидной) смены стороны или номера диска. Тесты могут учитывать наличие этих дефектов и удалять их из результатов, или не делать этого и надеяться на них малозначимость в итоговом числе.

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

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

Предполагается, что длительное последовательное чтение одним блоком чтения (скажем 4 Кбайт) вызовет в дисковом накопителе те же действия, что и чтение одного единственного блока такого размера. Если не лезть в логику работы устройства, то алгоритм работы теста верен. Но, простите, современные, да и не только современные, а банально ‘старые’, накопители уже давно обладают расширенной системой кэширования! «Расширенность» связана с различного рода группированием данных для лучшего использования. А это означает, что лезть в логику придется и, боюсь, логика неверна. Статья рассматривает работу довольно разнотипных устройств, HDD и SSD, поэтому и рассуждения будут отдельно по каждому из них.

При запросе чтения первого блока из последовательности, HDD выполнит массу действий, напрямую к чтению не относящихся — надо дождаться очереди на выполнение этой операции, потом долго, нудно и старательно передвигать позиционер до нужной дорожки. При этом в буферную память попадет некоторое количество считанных данных, которые контроллер может прочитать и сохранить ‘от нечего делать’, пока ждет нужный сектор. Увы, HDD — устройство непрямого доступа и нельзя прямо начать выполнение операции — хочешь или не хочешь, а придется ‘сидеть и ждать’, пока нужный сектор не покажется под головкой чтения. Конечно, можно применить в HDD тот же транслятор, что используется в SSD, что позволит раскидывать сектора ‘а-бы-как’, но . лучше сразу забыть про такую глупость.

Технологии HDD тем и хороши, что они просты. С момента выхода первого IDE накопителя мало что изменилось — всё та же секторная запись с однозначным соответствием номеру сектора и его расположением на диске. Революционные изменения прошли на ином уровне — в логике работы устройства, конструкционных разработках поверхности дисков и магнитных головок.

Если опустить лирику, то на момент считывания целевого сектора в буфере HDD уже содержится (точнее ‘может’, примечание переводчика) значительный фрагмент данных до данного сектора. После считывания нужного сектора HDD обязательно будет вычитывать некоторое количество секторов, даже если запроса на последующие сектора (пока) нет в очереди выполнения.

Причина и доказательство тезиса в том, что при отсутствии кэширования чтения будет теряться следующий сектор, что потребует дополнительного оборота диска (порядка 5-10 мсек) и это будет хорошо заметно по увеличению времени доступа к диску. А именно, раз этого возрастания нет – значит, все HDD выполняют кэширование чтения. На сколько вычитывает контроллер? Сложно сказать, бытует мнение, что считывается вся дорожка целиком, но у меня есть сомнение по столь ‘экстремистскому’ предположению.

Ладно, экстрим или нет, но после считывания начального блока бо́льшая часть дорожки уже находится (или, настоящее время, станет находиться) в буферной памяти контроллера.

реклама

Второй запрос блока не заставит контроллер что-то считывать, он просто возьмет данные из буферной памяти. Третий и последующие — аналогично. Конечно, размер дорожки не бесконечен (легко считается как скорость считывания данных, деленная на скорость вращения диска), порядка 1 Мб. После считывания такого объема информации будет производиться смена поверхности, что означает затраты времени на переключение головок в коммутаторе (несущественное время) или перемещение блока магнитных головок на соседнюю дорожку. После смены дорожки всё повторится снова – поиск сектора и чтение всех секторов подряд. Дополнительная задержка возникнет только на поиске сектора, в остальных случаях данные будут поступать из буферной памяти.

Итак, тест читает с диска данные с переменным размером блока, причем выполняет это сплошным потоком. Контроллер диска выбирает данные из буферной памяти. Ну и как эти процессы связаны со скоростью чтения блоком ‘какого-то’ размера? И вообще, с чтением одиночного блока? Если у вас есть другой ответ, кроме как «никак», значит я плохо объяснил или что-то упустил. Извините.

Если с HDD всё просто и понятно, то с SSD сплошной туман — в зависимости от конкретной реализации программного обеспечения может быть ‘такая’ реакция, что останется только чесать в затылке и удивляться. Но, не будем его расчесывать, лысина не украшает, давайте идти от ‘нормального’ решения.

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

Если используется не байт-чередование, то первые данные будут получены не ранее, чем считается первая страница. А это произойдет не ранее, чем 75 мсек (аргументы по данной цифре были выше). После чего, через небольшие интервалы времени, будут получены другие недостающие страницы для получения затребованного блока чтения из SSD. В принципе, накопительная матрица NAND довольно быстрая и выполнять кэширование чтения для контроллера нет явной необходимости. Так он делает его или нет? Попробуем разобраться.

Если посмотреть статистику по тестам SSD последовательного чтения, то для блока 4 Кбайт скорость чтения колеблется от 40 до 120 Мбайт/сек. При этом стоит сразу вспомнить, что размер страницы NAND равен 2-4 Кбайт (обещают и 8 Кбайт). Для простоты положим, что размер страницы 2 Кбайт, как в отмеченных ранее микросхемах.

При байт-чередовании априори считывается в несколько раз больше информации, чем размер страницы. Для иных режимов обязательно считается страница и, через небольшой интервал времени, вторая страница. Вычитывать дальше у контроллера задачи не стоит, ведь запрошенный объем информации он уже получил из матрицы NAND. Возьмем этот вариант и применим к нашим цифрам — для одной страницы скорость чтения 88 Мбайт/сек. Для двух страниц должно быть лишь чуть больше, порядка 95 Мбайт/сек или около того. Но, в любом случае, меньше 120 Мбайт/сек, которые получаются по тестам. Кроме того, весьма забавно требовать от контроллера SSD, чтобы он каждый раз заново начинал процедуру кэшированного чтения для каждого нового блока, особенно если эти блоки следуют один за другим.

Вообще-то, чтение файла последовательными запросами блоков (по 128 Кбайт) довольно типичная ситуация. Если надо считать файл достаточно большой величины, то Windows рассыпает запросы по 128 Кбайт. Представьте себе, как быстро бы работал SSD, если б он по каждому запросу начинал новое чтение. Напомню — для SSD «как хочешь», но нужен ‘разгон’ в чтение одной страницы, то есть 75 мсек. Вполне естественно, что SSD будет вычитывать больше данных, чем необходимо, если в его буфере запросов нет явных запросов на эти данные (в режиме AHCI). Причина банальна, старт — стоп процедуры буферизированного чтения довольно длителен по времени, поэтому его лучше делать реже. Парадокс, хоть NAND и не механическая система хранения данных, но свойства механики (инерционность) присущи и ей.

Выходит, что нет никаких проблем с пониманием цифры “120 Мбайт/сек” — SSD вычитывает гораздо больше данных, чем запрошено вначале, поэтому контроллер только первый запрос выдает со скоростью нормального (одиночного) обращения, а все последующие идут через буферную память. М-да, еще одна аналогия с HDD. И, увы, следствие то же — скорость последовательного чтения файла блоком размера N никак не связана со скоростью чтения одиночного маленького файла общим размером N.

Ранее я говорил о байт-чередовании и пропустил такой вариант при выяснении возможного присутствия кэширования чтения. С ним то, как раз очень просто — при байт-чередовании априори считывается много страниц, из которых используется только часть (по длине страницы). Значит, всегда есть упреждающее чтение на несколько страниц. Если SSD использует этот режим работы, то у него всегда есть кэширование чтения.

Но, тогда встречный вопрос — почему происходит снижение скорости чтения при уменьшении блока доступа? Всё просто, на передачу информации от контроллера до процессора уходит какое-то время. Чем длиннее канал, чем больше в нем разнородных устройств и интерфейсов, тем дольше будут перемещаться данные. Обычно, у встроенных в южный мост контроллеров наименьшее время доступа. Вы хотите ускорить работу системы и устанавливаете дополнительный контроллер с расширенной функциональностью. и это неизбежно увеличит задержки. Как следствие, хоть дополнительный контроллер и «умный», но скорость чтения мелких файлов станет меньше, причем зачастую, меньше в несколько раз.

Что хотели: измерить скорость чтения файлов разного размера

Что получили: скорость чтения больших файлов (большой блок доступа) и индикацию времени задержки передачи в канале передачи данных на чтение (маленький блок доступа).

В качестве небольшого ‘домашнего задания’ попробуйте предположить, что делает SSD при запросе чтения из секторов, которые не определены, то есть в них не проводилась запись и транслятор пуст. (Ответ). Скорость около 150 Мбайт/сек – это действительные данные, а ровная полоска вверху – ‘это самое’. Поэтому тестирование SSD весьма нетривиальное действие и требует серьезной подготовки.

реклама

Последовательная запись

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

И HDD, и SSD буферизируют записываемые данные по одной и той же причине — собрать блоки достаточно большого размера.

При редкой записи файлов небольшого размера данные складируются в буферной памяти накопителя и записываются в моменты отсутствия команд. Если объем записываемых данных больше буферной памяти, то накопитель не сможет ничего ‘отложить’, чтобы осуществить ее в момент простоя, поэтому будет вынужден записывать ‘здесь и сейчас’.

Что хотели: измерить скорость записи файлов разного размера

реклама

Что получили: скорость записи больших файлов (большой блок доступа) и индикацию времени задержки передачи в канале передачи данных на запись (маленький блок доступа). Конечно, если не вмешается система кэширования дискового накопителя или Windows.

Буферизованное чтение

На накопителе данных, как правило, есть кэш-память под буферизацию данных на запись и кэширование чтения. Раз эта память есть, то можно измерить скорость работы с ней. Для чего можно или использовать специальные команды, или ‘как всегда’, просто много раз читать один и тот же блок данных — контроллер вряд ли будет считывать с носителя информации одно и то же, если это самое ‘оно’ уже считано и находится в его буферной памяти.

Старые HDD так и работали — при повторном запросе на чтение того же блока (набора секторов) только в самый первый раз данные считывались с дисков, а все последующие запросы оканчивались буферной памятью. Интересно, что современные HDD, особенно с многоядерным контроллером, SSD и устройства на интерфейсе USB крайне негативно относятся к режиму буферизованного (Burst) чтения.

Теперь, пожалуйста, задайте себе вопрос — как часто операционная система считывает один и тот же набор секторов постоянно? . Вы верите в обширный склероз с манией преследования?

реклама

Вполне очевидно, что данный режим общения с дисковыми накопителями глупость, поэтому программное обеспечение контроллера накопителя не обязано корректно обрабатывать данную несуразность. Нормальные результаты теста — хорошо, плохие — ровным счетом ничего не значат. Во втором варианте, при некотором полете фантазии, можно попробовать расшифровать методику кэширования, используемую контроллером — ведь ‘провал’ буферизированного чтения означает, что контроллер все же выполняет (или пытается выполнять) повторные операции чтения с накопителя данных и множественные запросы ему мешают, вытесняя кэширование чтения (упреждающее чтение). Но, подобные шаманские действия пока никто не предпринимал и обряд чтения сих иероглифов не описан в летописях.

Хоть тест называется ‘буферизованное чтение’, но самим буферизированным чтением является ‘последовательное чтение’ — при нём практически вся информация считывается из буферной памяти. Само же ‘буферизованное чтение’ не представляет никакого физического смысла. Ну, разве что — померить максимальную пропускную способность интерфейса при больших блоках доступа, да и то, если дисковый накопитель хоть как-то способен выполнять такой вид операций.

Что хотели: измерить скорость получения файлов разного размера из буферной памяти дискового накопителя

Что получили: если функция поддерживается, то – смотреть раздел ‘последовательное чтение’ — скорость интерфейса при больших блоках и индикацию времени задержки передачи в канале передачи данных (маленький блок доступа). Повторюсь, если функция не поддерживается, то это ровным счетом ничего не значит — ну зачем собаке пятая нога?

Буферизованная запись

реклама

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

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

Старые HDD все же нормально выполняют данный вид операций, новые и SSD — как получится. А если не получится, то и не надо.

Что хотели: измерить скорость получения файлов разного размера из буферной памяти дискового накопителя

Что получили: смотреть ‘буферизированное чтение’. Глупость получили.

реклама

Скорость чтения (записи) данных

Одна из главных и самая понятная характеристика дискового накопителя — это скорость чтения и записи данных. Если с другими характеристиками много тумана (ну посудите сами, как можно быстро и понятно интерпретировать среднее время доступа к данным или время на смену дорожки), то со скоростью передачи всё просто — записываешь на диск большой файл, и он будет записан за (надо считать) времени. Можно и не считать — скорость современных дисков порядка 100 Мбайт/сек, что означает считывание (или запись) около 100 Мбайт за одну секунду (за 2 секунды 200 Мбайт, за 3 секунды 300 Мбайт и далее).

Одно ‘но’ — производительность зависит от типа дискового накопителя. Если у SSD эта характеристика зависит (смотрит на потолок) от «погоды на Марсе», то у HDD скорость, по большей мере, зависит от расположения на диске. Если это начало HDD, внешние дорожки, то скорость максимальна. По мере увеличения позиции в HDD положение магнитной головки на дисках смещается к центру, что вызывает уменьшение производительности до двух раз.

Важно здесь то, что тестовые утилиты (обычно) измеряют скорость дисковых накопителей в начале диска, где производительность максимальна. Данный прием как-то оправдан для древних времен, когда одни HDD сравнивались с другими HDD, и еще никто не слышал сокращения «SSD». В HDD применяется зонная структура, когда внешние дорожки получают большее количество более ‘быстрых’ секторов данных. По мере приближения к концу диска количество секторов на дорожке уменьшается. На диске множество зон с разной производительностью. Так вот, раз тестовые утилиты проводят измерения в самом начале диска, буквально в нулевой зоне, то некоторые производители добавляют еще одну маленькую зону в самое начало диска и задают на нее максимально-возможную производительность. Тесты покажут высокую скорость, но в реальной работе вы эту скорость не увидите — размер зоны весьма небольшой.

Итак, возьмем HDD со скоростью чтения 120 Мбайт/сек, что получается только на внешних дорожках, и сравним его с посредственным SSD со скоростью чтения 150 Мбайт/сек. Вроде бы паритет производительности? Ан нет! У HDD 120 Мбайт/сек получаются только на внешних дорожках, а на внутренних будет только 60 Мбайт/сек. Никакого «паритета» нет.

реклама

Не забывайте об этом лукавстве, когда будете сравнивать дисковые накопители разной природы. Для HDD скорее надо брать среднюю скорость, а никак не максимальную.

Случайное чтение и запись

А знаете, ничего не хочется говорить.

Для HDD данный тип тестов более-менее реален, а у SSD возможны проблемы из-за потоковости доступа. Дело в том, что контроллер адаптируется под тип нагрузки, а здесь применяется массовый поток по случайным адресам. При этом контроллер должен бы понять, что кэширование чтения вредит и отключить его. На ‘понятливость’ контроллера уходит какое-то время, поэтому результаты будут не совсем честными.

Время отклика диска

На диск отправляется поток запросов на чтение (или запись) маленьких блоков, обычно один сектор, 512 байт. Место положения данных выбирается случайно по всей поверхности носителя информации. Фактически, измеряется качество работы позиционера (HDD) или транслятора и предвыборки для SSD.

Вроде бы, тест вполне адекватный, откуда взяться проблемам? Бывают.

При случайном поиске можно каждый последующий адрес выбирать случайно, а можно ‘прыгать’ между фиксированной позицией и случайным. Лично у меня есть подозрение, что общеизвестный HD Tune применяет второй вариант, поэтому его измерения отличаются от данных других программ.

Кроме того, время доступа определяется не только скоростными характеристиками позиционера, но и принципами приближения магнитной головки на нужную дорожку. Если подвеска HDD неудачна (а классический метод крепления не самый лучший вариант), то вибрация будет вмешиваться в предполагаемые перемещения позиционера, что вызовет увеличение времени. Для SSD проблем с вибрацией нет, но зато существует зависимость между временем отклика и тем, что до этого делал привод.

Одной из важных особенностей SSD является и то, что они могут делать ‘что-то еще’. Такого не наблюдается в HDD, ведь принцип их работы весьма прост. Обычно, данный тест выполняется очень долго, чтобы как-то нивелировать систему кэширования в дисковых накопителях, и в контроллере SSD остаются только запросы на чтение (или запись) небольших секторов. Всё, что было ранее ‘выталкивается’ и игнорируется программами тестирования, как помехи от операционной системы. Но, увы, это ведь не так.

Что хотели: измерить скорость доступа к данным

Что получили: возможны разночтения в алгоритмах измерения времени доступа HDD и полностью рафинированный тест для SSD.

Многопоточные операции

Один из самых сложных вопросов. Много копий было сломано, но вопрос так и остается и на том же месте. С одной стороны, операционная система пытается загружать системные файлы в многопоточном режиме, с другой — в приложениях пользователя многопоточности нет. Ну откуда ей взяться, если любая программа работает по принципу загрузил — посчитал — записал.

Причем здесь многопоточность? Функция «загрузил» сложная по своей сути, ведь исходный файл надо расшифровать, а делать это множеством потоков крайне затруднительно. Конечно, если программа работает в пакетном режиме, то обработку каждого файла можно разнести в независимый поток, тогда множество однопоточных доступов превратиться в один многопоточный. И часто вы конвертируете картинки в пакетном режиме? … и при этом программа действительно распараллеливает выполнение множества заданий?

При множественном доступе HDD теряют производительность, сказывается инерционность позиционера. Что до SSD, то их производительность только возрастает. Причем, ускорение может быть очень-очень большим. Насколько оправдано такое тестирование для домашнего применения? . лично я сомневаюсь.

Хотя многопоточность чтения может присутствовать и в домашней области применения — игровые движки в силах разнести задание на загрузку примитивов в несколько потоков, но многопоточная запись в обычных приложениях крайне маловероятна.

Впрочем, извините за вульгарное сравнение — если до сих пор некоторые игры не поддерживают больше одного процессора (ядра), то довольно странно думать, что в них реализована многопоточная загрузка. Увы, детально вопрос не исследован, поэтому поставим жирный знак вопроса и перейдем к следующей проблеме.

Размер блока доступа

И по этому вопросу много мифов. Ну, добавим свои.

В качестве инструмента я использовал HAB, поэтому не могу гарантировать 100%-ной точности измерений, но я им доверяю. Замеры производились в операционной системе Windows 7 х86 для двух компьютеров примерно одинаковой конфигурации (процессор 2-4 ядра, системная память – четыре гигабайта).

Конкретная конфигурация, какие именно HDD применялись — не столь и важно, SSD не использовались.

Общая статистика для игр и фильмов.

За время снятия лога компьютер использовался только для игр и просмотра фильмов.

268x366 12 KB

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

В левой части картинки три раздела – низкоскоростные, высокоскоростные файловые операции и операции через отображение файлов на память (Mapping).

С первыми двумя режимами понятно — если файловые операции идут медленно, то результаты попадают в верхний раздел, если быстро, то в средний. Режим отображения (Mapping) не совсем обычный и стоит привести небольшие разъяснения.

Если программе надо получить информацию из файла, то ей придется выполнить ряд действий:

  • взять регион памяти соответствующего размера;
  • считать данные, целиком или только часть, во взятый ранее регион;
  • получить информацию из считанных данных.

Это довольно долгий и хлопотный процесс. Существует более удобная технология — файл можно отобразить в память приложения. Для этого в свободном диапазоне виртуального пространства выделяется окно и в него ассоциируется файл. Никаких упреждающих чтений не производится. Программе для получения данных из файла достаточно просто прочитать по соответствующему адресу из выделенного окна. При этом операционная система получит ошибку отсутствия страницы и подгрузит данные из файла в окно приложения (выделит небольшой блок памяти и считает туда соответствующий фрагмент файла).

Согласитесь, это очень удобно! Увы, кроме удобства есть и недостаток — максимально видимый размер файла, который может быть открыт через отображение, ограничен размером виртуального окна процесса, и не более 2 Гбайт на один файл. Одна из игр, которая использует только отображение файлов, это S.T.A.L.K.E.R. . теперь вы можете понять, почему данная игра так любит большой размер своего виртуального адресного пространства — из-за отображения. Уфф. Вообще-то, именно ради S.T.A.L.K.E.R. в программу и добавлена индикация отображения, а то выходила глупость — игру запустил, но программа показывает отсутствие дисковой активности. Мило?

По числам в табличках, надеюсь, особых трудностей нет — показывается время выполнения и объем операций; минимальный, максимальный и средний размер блока доступа.

На рисунке справа отображается количество операций с разными размерами блоков. Да решение неудачное, извините. Каждый столбик соответствует своему размеру блока — левый 1 Кбайт (и меньше), второй 2 Кбайт, третий 4 Кбайт . последний 32 Мбайт (и больше).

Давайте всё же вернемся к нашим баранам.

Напомню — компьютер использовался только для игр и просмотра фильмов стандартной размерности через Media Player Classic.

Первое, что бросается в глаза — операционная система ‘постоянно’ читала мелкие файлы длиной 1-2 Кбайт. Отчасти, низкоскоростное чтение настолько мелких файлов (скорее фрагментов) вызвано работой программы просмотра фильмов, но не все же 40 часов из 100. С одной стороны это непонятно, с другой — разве это большая нагрузка для современной дисковой системы?

Для высокоскоростного обмена характерно чтение блоком 2 Кбайт и запись 512 Кбайт. Причем, записывалось довольно много, 83 Гбайт. Сложно сказать, откуда столько взялось, может что-то переписывал по сети. Впрочем, да, именно так — перегонял файлы через VirtualDub с сети на свой компьютер, за это говорит размер блока доступа — в свойствах программы VirtualDub выставлено записывать блоками по 512 Кбайт.

Для режима отображения свойственно чтение блоками 128 Кбайт и более. Причем, если перейти от количества запросов к объему переданных данных, то средний блок чтения составит 2 Мбайт.

Записи в режиме отображения практически не было.

Вполне очевидно, что это «среднебольничная» температура. Информация полезна, но хочется чего-то конкретного. Что можно на себе примерить и сказать ‘вранье’. Сейчас будет.

Возьмем игру Borderlands. Она базируется на Unreal Engine, поэтому результаты не являются столь уж уникальными.

Наверно, лучше привести две статистики – загрузки игры (вместе с вступительными роликами) и самого процесса игры.

267x366 12 KB 268x366 15 KB

Если посмотреть бегло, то никаких существенных отличий между ними нет. Всё тот же поток постоянного низкоскоростного чтения файлов 1 Кбайт, отсутствие каких-либо операций записи. Режим отображения показывает чтение блоками не менее 128 Кбайт и средним порядка 3-8 Мбайт.

Во время игры почти половину времени дисковая система неторопливо читала мелкие файлы длиной 1 Кбайт (или менее) и, примерно, 1/8 времени операционная система загружала отображение. Последний тип операций выполнялся очень большими блоками.

Давайте перейдем к другому компьютеру . нет, одна игра это не показатель. Надо расширить, ну хоть ‘что под руку подвернется’.

Слева загрузка уровня, справа — процесс игры.

268x366 11 KB 268x366 10 KB

Игра красивая, но очень ‘легкая’. Загрузка уровня занимает всего 23 секунды при считывании 120 Мбайт данных. При этом из 23 секунд загрузки только восемь производилось чтение данных с HDD. Запомним. Размер блока доступа 32 Кбайт.

Процесс игры также не вызывает большой дисковой активности — за семь минут игрового времени было считано всего 100 Мбайт в течение четырех секунд. Вполне вероятно, что вклад в эту цифру внесла фоновая активность операционной системы Windows 7 — очень уж она ‘неспокойная’.

Надо отметить ‘традиционное’ низкоскоростное чтение блоком 1 Кбайт.

Как обычно — слева загрузка уровня, справа процесс игры.

268x366 11 KB 268x366 10 KB

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

Размер блока чтения вычислить затруднительно, присутствует нормальное распределение от 2 Кбайт до 256 Кбайт при пике 16 Кбайт. Одно можно сказать точно — во время игры происходит подгрузка данных. Считать 1 Гбайт за 160 секунд, при общем игровом времени 9 минут, ‘просто так’ не получится. В этой игре возможны появления микрофризов (короткие замирания кадра или резкое падение количества кадров в секунду). Впрочем, тестовый прогон с анализом результатов программы FRAPS не показал наличие каких-либо проблем. Это говорит, что с таким типом нагрузки обычный HDD справляется весьма успешно.

268x366 10 KB 268x366 10 KB

Характер поведения напоминает Serious Sam 2. Загрузка быстрая, во время самой игры подгрузка данных практически отсутствует. Блок считывания переменной длины, от 2 Кбайт до 64 Кбайт.

268x366 11 KB 268x366 10 KB

В этой игре нагрузка на дисковую систему смехотворна. Ну, или мне не повезло с выбором места.

https://web-shpargalka.ru/ide-skorost-peredachi-dannyh.php
https://overclockers.ru/lab/show/41187_4/HDD_i_SSD_edinstvo_razlichij

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Related Posts