Scsi и sata отличие
Блог компании HGST после некоторого перерыва снова с вами. И сегодня мы хотели бы поговорить о преимуществах твердотельных накопителей SAS перед накопителями с интерфейсом SATA.
Благодаря характеристикам интерфейса SAS и ведущим в отрасли технологиям компании HGST, таким как CellCare, PowerSafe и Data Path Protection, вы получаете следующие преимущества:
• Стабильная, высокопроизводительная работа SSD в течение всего срока службы
• Долговечность
• Масштабируемость
• Надежность в эксплуатации
• Высокая доступность данных
• Управляемость данными на устройстве
• Взаимодействие с модернизируемой архитектурой системы
SAS (последовательный SCSI) и SATA (последовательный ATA) — стандартные протоколы передачи данных между подключенными устройствами. Они предназначены для обеспечения взаимодействия компьютеров с периферийными устройствами, такими, как контроллеры внешней памяти и жесткие диски. Оба интерфейса (SAS и SATA) имеют долгую историю развития: они впервые появились в 1980-е годы как параллельные интерфейсы, а примерно 10 лет назад были преобразованы в последовательные протоколы в целях дальнейшего повышения производительности. При использовании с контроллером внешней памяти интерфейс SAS или SATA может использоваться как внешний интерфейс серверов, а также как внутренний интерфейс для подключения жестких дисков и SSD. Контроллер может поддерживать множество типов интерфейсов, однако диски имеют только один тип интерфейса — SAS или SATA. Интерфейс не зависит от накопителя информации (например, флеш-память, жесткий диск) или качества компонентов или программно-аппаратных средств внутри диска. С этой точки зрения интерфейсы SAS и SATA ведут себя одинаково.
Давайте рассмотрим теперь основные параметры накопителей
Производительность
• Протокол SCSI. Протокол SCSI, используемый интерфейсом SAS, работает быстрее и производит множественные, одновременные операции ввода/вывода данных более эффективно по сравнению с набором команд параллельного интерфейса ATA (SATA).
• Увеличение скорости передачи данных — от 6 Гб/с до 12 Гб/с, а затем до 24 Гб/с. Интерфейс SAS позволяет увеличить скорость передачи данных с 6 Гб/с до 12 Гб/с; кроме того, имеется четкий roadmap для дальнейшего увеличения скорости до 24 Гб/с. В настоящее время интерфейс SATA поддерживает скорость передачи данных до 6 Гб/с, при этом, отсутствуют конкретные планы по увеличению скорости в будущем.
• Очереди помеченных команд. Большинство накопителей SAS поддерживают очередь команд глубиной 128 (предел протокола – 65 536), что позволяет уменьшить латентность и повысить производительность при высоких рабочих нагрузках. Аппаратная установка очередности команд интерфейса SATA поддерживает только 32 команды.
• Сдвоенные порты и многоканальный ввод-вывод. Диски с интерфейсом SAS оснащены сдвоенными портами и поддерживают множество инициаторов в системе хранения данных; таким образом, многоканальный ввод-вывод и балансирование нагрузки позволяют увеличивать производительность. В интерфейсе SATA отсутствует поддержка нескольких инициаторов, и большинство дисков SATA не имеют сдвоенных портов.
• Полнодуплексная передача данных. Диски SAS поддерживают полнодуплексный режим (одновременная передача данных в двух направлениях), в то время, как накопители SATA работают в полудуплексном режиме (передача данных в одном направлении).
Масштабируемость
• К одному порту можно подключить множество дисков. Интерфейс SAS поддерживает расширитель портов до 255 устройств (двухъярусная структура), таким образом, к одному порту инициатора можно подключить до 65 635 дисков. Интерфейс SATA использует только соединение «точка-точка».
• Использование удлиненных кабелей. Использование SAS-устройств обеспечит более удобный процесс расширения ЦОД (центра обработки данных), поскольку они позволяют использовать пассивные медные кабели длиной до 10 м и оптические кабели длиной до 100 м. SATA не позволяет использовать кабели длиной свыше 2 метров.
• Масштабируемая производительность. Производительность твердотельных SAS-накопителей в конфигурации RAID является более масштабируемой по сравнению с дисками SATA.
• Совместимость с интерфейсом SATA. Контроллеры внешней памяти с интерфейсом SAS поддерживают диски SATA, что обеспечивает ярусное хранение данных с использованием как накопителей SAS, так и SATA в одном массиве. Однако, в свою очередь, SATA не поддерживает диски SAS.
Высокая доступность данных
• Сдвоенные порты для обеспечения отказоустойчивости. SAS поддерживает сдвоенные порты, в то время как большинство дисков SATA их не имеет.
• Несколько инициаторов. Интерфейс SAS позволяет подключение нескольких контроллеров к набору жестких дисков в системе хранения данных, что обеспечивает их быструю замену и переход на другой ресурс при сбое. Интерфейс SATA не обладает такими возможностями.
• Подключение в «горячем» режиме. Диски с интерфейсом SAS и SATA могут подключаться в режиме «горячей» замены.
Взаимодействие с модернизируемой архитектурой системы
• Roadmap для расширения функциональных возможностей в будущем. В планах производителей устройств с интерфейсом SAS — увеличение скорости передачи данных до 24 Гб/с и, вероятно, даже выше, в то время как для SATA такой roadmap отсутствует и скорость передачи данных ограничивается текущим значением — 6 Гб/с. Благодаря использованию SAS предприятия могут модернизировать свой парк устройств и переходить на более быстрые диски в будущем, сохраняя при этом совместимость с предыдущими версиями, используемыми в существующей инфраструктуре.
• SCSI. Поскольку большинство накопителей, установленных на предприятии, используют набор команд SCSI, интерфейс SAS сохраняет совместимость с системами хранения данных различных поколений.
SSD накопители HGST отличает высокая производительность в течение всего срока службы диска. В них используются инновационные технологии Advanced Flash Management и CellCare, обеспечивающие исключительно высокую скорость в режиме последовательного и произвольного чтения/записи. Твердотельные накопители работают гораздо быстрее по сравнению с жесткими дисками, хотя со временем ячейки флеш-памяти изнашиваются и скорость их работы снижается, особенно с нарастанием количества циклов установки программ/удаления файлов с диска. Технология Advanced Flash Management компании HGST использует традиционный алгоритм нивелирования износа, а также схемы обнаружения и коррекции ошибок, восстановления поврежденных блоков и устранения избыточности данных для увеличения срока службы, надежности и производительности SSD.
HGST CellCare — запатентованная технология производства контроллеров флеш-памяти, позволяющая обеспечить долговечность, производительность и надежность устройств корпоративного класса при помощи экономичных, логических микросхем с высокой плотностью элементов для устройств с флеш-памятью. Технология CellCare заключается в динамическом отслеживании параметров ячеек памяти по мере их износа и использовании технологий прогнозирования для сведения к минимуму износа NAND чипов флеш-памяти путем создания адаптивной обратной связи между флеш-памятью и контроллером. Не менее важным аспектом технологии Cellcare является возможность контролировать эффект старения флеш-памяти и не допускать снижения скорости работы SSD-накопителей по мере увеличения их срока службы. Эта особенность уникальной технологии Cellcare обеспечивает безотказность в работе и высокую производительность в течение всего срока службы именно SSD компании HGST.
Сейчас, когда стоимость хранения данных значительно выросла в связи с изменениями валютных курсов, при выборе компонентов IT-инфраструктуры приходится проявлять изобретательность и идти на компромиссы. На наш взгляд, неоднократно доказанная надежность и высокая производительность в течение всего рока службы, однозначно должны учитываться наряду с другими факторами. Ведь в среднесрочной и долгосрочной перспективе, такое решение окупит себя сполна.
В следующем посте мы продолжим разговор о SSD накопителях и рассмотрим другие преимущества HGST в этой области.
В последнее время, в связи с массовым появлением на рынке различных серверных систем с применением Serial ATA жестких дисков, в компьютерном сообществе часто возникают споры по поводу быстродействия и надежности подобных систем по сравнению со SCSI системами. Разделим вопросы надежности и быстродействия и подробно остановимся на каждом из них. Поскольку IDE жесткие диски уходят с рынка, мы будем сравнивать SCSI с Serial ATA (SATA) системами.
Несмотря на то, что SCSI диски будут в ближайшие годы покидать рынок и на смену им пришли SAS (Serial Attached SCSI) диски, большинство утверждений, относящихся к SCSI справедливы и для SAS. В тех случаях, когда это не так, будут сделаны соответствующие комментарии.
Итак, на чем строятся аргументы сторонников SCSI дисков в качестве основы высокоскоростных серверных дисковых подсистем? Первый аргумент – интерфейс SCSI отличается бОльшим "интеллектом" по сравнению с SATA. Но даже обычный рядовой пользователь компьютера понимает, что сам по себе жесткий диск представляет собой некую механическую систему для записи/считывания данных и весь интеллект SCSI обеспечивается контроллером на самом жестком диске и контроллером SCSI компьютера. Именно такая пара и обладает весьма важными "интеллектуальными" способностями по обмену данными. Безусловно, пара из обычного SATA контроллера и SATA диска таким "интеллектом" не обладает. Но нас интересуют серверные системы и системы хранения данных - давайте рассмотрим применение SCSI и SATA в них.
В этих системах крайне редко применяются диски сами по себе – требования к надежности хранения данных обуславливают необходимость применения RAID контроллеров и даже для хранения операционной системы используются RAID 1, а для хранения данных применяются, как правило, отдельные RAID массивы уровня 5, 6 или TP. Поэтому логично и разумно рассматривать всю дисковую подсистему в целом, т.е. пару RAID контроллер плюс подключенные к нему диски.
Для SCSI систем RAID контроллер состоит из процессора, занимающегося обработкой данных, кэш-памяти процессора и обычного SCSI контроллера, с помощью которого данные поступают от процессора к дискам или от дисков к процессору. На одном SCSI контроллере обычно "висят" несколько SCSI дисков. Конечно, есть многоканальные (до 4-х каналов) SCSI RAID контроллеры, но и в случае их применения к каждому каналу подключают по несколько дисков. Еще раз обращаем ваше внимание на эту важную особенность – несколько SCSI дисков обслуживаются одним контроллером и всегда несколько дисков "висят" на одной физической шине. Из этого факта следует еще один важный вывод – без какого-либо "интеллекта" работа нескольких дисков на одной физической шине SCSI контроллера была бы просто очень медленной. В новой инкарнации SCSI, SAS уже применена SATA-подобная топология и контроллер общается с диском через индивидуальный порт, причем в полнодуплексном режиме в отличие от полудуплексного SATA.
Для SATA систем RAID контроллер также состоит из процессора, занимающегося обработкой данных, кэш-памяти процессора и раздельных для каждого диска SATA контроллеров, с помощью которых данные поступают от процессора к дискам и от дисков к процессору. Тем самым видна принципиальная разница между SCSI RAID контроллерами и SATA RAID контроллерами – в первом случае несколько дисков обслуживаются одним контроллером и все диски подключены на одну физическую шину, во втором – каждый диск подключен к своему контроллеру индивидуально.
Теперь простой вопрос – что мешает возложить на процессор RAID SATA контроллера все те интеллектуальные задачи, которые решает SCSI контроллер? Ответ также прост – ничего не мешает и производители хороших RAID контроллеров, такие как 3ware, Areca или Adaptec например, так именно и делают.
Следующий аргумент в пользу SCSI дисков – они быстрее, поскольку скорость вращения шпинделя у SCSI дисков составляет минимум 10000 об/мин, а максимум 15000 об/мин. Действительно, скорость вращения у SCSI дисков больше и, если использовать SCSI диски со скоростью вращения 15000 об/мин, то почти в два раза больше. Но нельзя оценивать только скорость вращения, поскольку большую роль играет плотность записи/чтения на пластины жесткого диска. А вот тут ситуация не столь радужная для SCSI – плотность записи на SCSI дисках как минимум в два раза меньше, соответственно за один оборот диска можно считать/записать в два раза меньше с/на SCSI диск, чем с/на SATA.
Конечно, нельзя утверждать, что большая плотность записи полностью компенсирует большую скорость вращения, но для потоковых операций это практически так и есть, а для множественных операций с небольшими файлами/блоками данных большая скорость вращения предпочтительнее, но в этом случае очень многое зависит от процессора RAID контроллера – насколько он оптимально управляет дисками. Кроме этого, можно распараллелить операции с дисками, просто увеличив их количество. Грубо можно утверждать, что SCSI RAID на трех дисках при прочих равных условиях эквивалентен по производительности для множественных операций с небольшими файлами/блоками данных (random read/write) SATA RAID с 6-8 дисками.
Конечно, если ради повышения производительности SATA мы вынуждены увеличивать количество SATA дисков, то и стоимость SATA RAID будет стремиться к стоимости SCSI RAID. Но - емкость SATA RAID будет в разы больше. Иными словами, если вам требуется RAID 5 на 100 гигабайт видимой емкости для random операций, то выгоднее и правильнее построить его на SCSI RAID. Если же нужно более 1 терабайт видимой емкости, то решение на 12 SATA дисках по 160 гигабайт будет заметно дешевле решения на 5 SCSI дисках по 300 гигабайт каждый при практически той же производительности.
Теперь рассмотрим специализированные внешние дисковые массивы, в которых сейчас также наблюдается массовый переход от SCSI к SATA. Даже такие гранды компьютерной индустрии как Hewlett-Packard и IBM, например, выпустили первые модели внешних дисковых массивов с SATA дисками еще в 2004 году.
Конструктивно внешние дисковые массивы (их еще называют системами хранения данных) устроены просто – для подключения к компьютеру используется либо SCSI Ultra320 или SAS (Serial Attached SCSI), либо Fibre Channel 2/4 Gb, а для управления работой массива применяется специализированный компьютер на базе специализированного же RISC процессора с оперативной памятью от 256 мегабайт и внутренней шиной (шинами) PCI-X. Понятно, что с точки зрения компьютера, к которому подключается такая система хранения данных, это обычное SCSI устройство, поддерживающее все возможности SCSI интерфейса.
Сейчас мы попробуем доказать, что производительность системы хранения данных зависит в первую очередь не от типа интерфейса жестких дисков внутри системы, а от мощности специализированного компьютера, обслуживающего жесткие диски и количества жестких дисков. Представим себе, что в систему установлен один жесткий диск. Очевидно, что достичь большей производительности, чем позволяет единственный установленный жесткий диск, нельзя. Никакой процессор не сможет ускорить работу механики жесткого диска и/или увеличить плотность хранения на нем и тем самым скорость записи/чтения данных. Но если установить 5 дисков, например, то при наличии мощного процессора в системе хранения данных можно увеличить производительность в 5 раз относительно производительности одного диска. Добавляя все больше и больше дисков, можно тем самым увеличивать производительность, но только до тех пор, пока процессор системы хранения данных будет успевать обслуживать каждый диск без малейших задержек. Как только процессор перестанет успевать, дальнейшее увеличение количества дисков не приведет к увеличению производительности. Так вот, лучшие на середину 2006 года недорогие системы хранения данных на SATA дисках с процессором Intel 80331 667 MHz достигли максимальной скорости линейного чтения по нашим тестам 270 мегабайт/сек, что близко к пропускной способности SCSI интерфейса (320 MB/s). Надо отметить, что используя технологию Multipath можно добиться и более высоких линейных скоростей записи/чтения.
Тестирование двух систем хранения на разных процессорах, но с идентичными жесткими дисками, также доказывает правоту этого утверждения. Поэтому можно со всей ответственностью утверждать, что производительность системы хранения данных зависит в большей степени от процессора системы и количества дисков, чем от интерфейса и типа жесткого диска.
Совершенно очевидно, что для серверных систем масштаба предприятия надежность во многих случаях не менее важна, чем производительность. Потеря корпоративной базы данных даже на несколько часов, необходимых для ее восстановления с резервного носителя, может обернуться для компании многомиллионными убытками. Исторически считается, что надежность весьма дорогих SCSI дисков значительно превышает надежность дешевых SATA дисков. Официальные гарантийные сроки для SCSI дисков всегда были не менее 5 лет, а на SATA диски только недавно стали устанавливать такие же сроки гарантии. К сожалению, нам неизвестны достоверные источники информации о реальной статистике отказов жестких дисков SATA по сравнению со SCSI.
Производители жестких дисков, разумеется, приводят в технических характеристиках своей продукции параметр MTBF (Mean Time Between Failure – среднее время между отказами) и для SCSI дисков этот показатель обычно равен 1 200 000 часов, а для SATA MTBF, как правило, не превышает 500 000 часов. Проблема в том, что нет сведений о корреляции MTBF с реальной статистикой отказов – понятие среднего времени между отказами напоминает среднюю температуру по больнице. Понятно, что чем MTBF больше, тем должно быть лучше, но непонятно, каким образом можно использовать значение MTBF в реальной жизни для представления о надежности используемого оборудования. Тем не менее, известная корпорация Western Digital выпустила в середине 2004 года новую серию SATA дисков RAID Edition, официально предназначенных для круглосуточной работы в RAID массивах. MTBF этих дисков объявлен в 1 000 000, что не намного меньше MTBF для SCSI дисков. MTBF второго поколения дисков RAID Edition 2 заявлено в 1 200 000 часов.
Но, даже если считать надежность SATA дисков заведомо более низкой, чем у SCSI дисков, стоимость SATA дисков позволяет добавить в RAID массив один или два диска для "горячего" резерва без заметного удорожания системы и/или использовать RAID 6/RAID TP. Для потери данных на таких RAID из стоя должны выйти одновременно 3 или 4 диска. Поэтому надежность работы RAID на SATA дисках в целом можно сделать не ниже надежности RAID на SCSI дисках.
На наш взгляд, перспективы систем на SATA дисках с 2006 года выглядят более радужными для серверных систем, чем на SCSI дисках. Начиная с осени 2006 года классический параллельный SCSI покидает рынок и на смену ему пришел SAS (Serial Attached SCSI). Приход SAS для поклонников SCSI не сулит ничего хорошего. Дело в том, что контроллеры и корзины (enclosure) для SAS дисков совместимы с SATA дисками. Иными словами, в подавляющем большинстве случаев пользователь всегда сможет в SAS корзину, подключенную к SAS RAID контроллеру установить SATA диски и попробовать оттестировать решение с ними. Поскольку для многих задач SATA даже в небольших RAID вполне достаточно, пользователь может отказаться использовать SAS диски, так как у них цена за гигабайт хранения в разы больше.
Компания Intel, например, увеличила количество SATA портов до 6 (с 2-х) во всех новых версиях своих серверных платформ на платформе Bensley - SR1500 (1U), SR2500 (2U) и SC5400 (Desktop и 5U Rack). Практически все именитые производители серверного оборудования выпускают модели внешних дисковых массивов с SATA дисками. Что касается собственно производителей систем хранения данных, таких как Maxtronic International, Medea Corporation, Enhance Technology, Infortrend, AXUS, Silicon Graphics Inc и многих других, то они уже давно выпустили множество моделей с поддержкой SATA дисков. У ряда производителей систем хранения данных модели на SCSI дисках просто отсутствуют в списке выпускаемого оборудования.
SATA - В дисках и контроллерах с новыми версиями интерфейса SATA появилась поддержка набора инструкций Native Command Queuing (Очередь или конвейер команд). При использовании Native Command Queuing контроллер SATA выстраивает запросы ввода-вывода таким образом, чтобы минимизировать время поиска данных на диске. В 2006 году также произошел переход с SATA I на SATA II, что увеличило скорость SATA интерфейса со 150 MB/s до 300 MB/s. Правда, на таком уровне скорость интерфейса практически не имеет отношения к производительности дисковой подсистемы.
SCSI - классический вариант параллельного SCSI интерфейса, судя по всему, реального развития уже никогда иметь не будет. Он еще долго будет использоваться для сопряжения множества уже выпущенных внешних устройств с компьютерами, но в новых системах использоваться не будет. Новые модели контроллеров SCSI не разрабатываются с 2004 года.
SAS (Serial Attached SCSI) - безусловный шаг вперед по сравнению с классическим параллельным SCSI интерфейсом. В перспективе скорость обмена данными между контроллером SAS и диском (дисками) должна достигнуть 12 Gb/s. В отличии от параллельного SCSI, у SAS каждое устройство подключается к своему SAS порту, причем по полнодуплексному каналу, т.е. с раздельными шинами ввода и вывода. Интерфейс полностью совместим сверху вниз с SATA, т.е. SATA диски смогут работать с SAS контроллерами и в SAS корзинах (enclosure), но не наоборот.
Грубо можно разделить все сферы применения обсуждаемых интерфейсов на две.
Первая сфера: работа с дисками требует в основном линейного, последовательного чтения/записи данных относительно большими блоками. К этой сфере относится работа с видео, оцифрованным кино, CAD/CAM, файловые архивы, хранение резервных копий данных и т.п. Для подобных применений SCSI диски уже давно не используются и в этой сфере безраздельно царствуют IDE/SATA диски. Здесь требуются высокие скорости линейной записи/чтения и терабайтные емкости RAID массивов.
Вторая сфера: бизнес - применения. Множественный доступ к различным областям дисков, запись/считывание данных небольшими (4-64 KB) блоками. К этой сфере относится работа с базами данных, различные варианты файл-серверов с большим количеством пользователей. Здесь требуются высокие скорости случайной (random) записи/чтения. Пока в этой сфере в основном используются SCSI диски и массивы, но постепенно SATA начинает проникать и сюда. Сложно сказать, чем и когда закончится это проникновение. Для решения задач в этой сфере надо просто подбирать массив исходя из данных нагрузки на него.
Оно кратко - нет никаких достаточных оснований утверждать, что RAID системы с SATA дисками заметно уступают как в быстродействии, так и в надежности RAID системам на SCSI дисках для всех задач. Безусловно, есть ряд задач, которые наиболее качественно будут решены на SCSI/SAS массивах, но сфера применения SATA дисков все-таки расширяется, а SCSI/SAS уменьшается. Еще в 2003 году, например, практически ни один известный производитель серверов не предусматривал возможности установки IDE дисков с горячей заменой в свои сервера. Сейчас все наоборот - все младшие (а у некоторых производителей не только младшие) модели серверов имеют возможность использования SATA дисков с их горячей заменой.
Кроме этого, RAID массивы на SATA дисках позволяют создать большие по емкости массивы – до 11 терабайт на 16-ти дисковой системе хранения данных. На SCSI дисках такой массив должен будет стоить как минимум в 3 раза выше. Поэтому, на наш взгляд, движение индустрии пойдет в сторону все большего и большего применения SATA дисков с сохранением популярности SCSI/SAS и его оптического аналога Fiber Channel в качестве интерфейса для обмена данными между компьютером и внешним RAID массивом.
ATA / PATA
Интерфейс ATA (Advanced Technology Attachment), так же известный как PATA (Parallel ATA) был разработан компанией Western Digital в 1986 году. Маркетинговое название стандарта IDE (англ. Integrated Drive Electronics — «электроника, встроенная в привод») подчеркивало важное нововведение: контроллер привода был встроен в привод, а не на отдельной плате расширения.
Решение разместить контроллер внутри привода решило сразу несколько проблем. Во-первых, уменьшилось расстояние от накопителя до контроллера, что положительным образом повлияло на характеристики накопителя. Во-вторых, встроенный контроллер был «заточен» только под определенный тип привода и, соответственно, был дешевле.
ATA, как и SCSI, использует параллельный способ ввода-вывода, что отражается на используемых кабелях. Для подключения дисков с использованием интерфейса IDE необходимы 40-жильные кабели, также именуемые шлейфами. В более поздних спецификациях используются 80-жильные шлейфы: более половины из которых — заземления для уменьшения интерференции на высоких частотах.
На шлейфе ATA присутствует от двух до четырех разъемов, один из которых подключается в материнскую плату, а остальные — в накопители. При подключении двух устройств одним шлейфом, одно из них должно быть сконфигурировано как Master, а второе — как Slave. Третье устройство может быть подключено исключительно в режиме «только чтение».
Положение перемычки задает роль конкретного устройства. Термины Master и Slave по отношению к устройствам не совсем корректны, так как относительно контроллера все подключенные устройства — Slaves.
Особенным нововведением в ATA-3 считается появление Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.). Пять компаний (IBM, Seagate, Quantum, Conner и Western Digital) объединили усилия и стандартизировали технологию оценки состояния накопителей.
Поддержка твердотельных накопителей появилась с четвертой версии стандарта, выпущенной в 1998 году. Эта версия стандарта обеспечивала скорость обмена данными до 33.3 МБ/с.
Стандарт выдвигает жесткие требования к шлейфам ATA:
- шлейф обязательно должен быть плоским;
- максимальная длина шлейфа 18 дюймов (45.7 сантиметров).
Стандарт Serial ATA (SATA) был представлен 7 января 2003 года и решал проблемы своего предшественника следующими изменениями:
- параллельный порт заменен последовательным;
- широкий 80-жильный шлейф заменен 7-жильным;
- топология «общая шина» заменена на подключение «точка-точка».
Шестнадцать сигнальных линий для передачи данных в ATA были заменены на две витые пары: одна для передачи, вторая для приема. Коннекторы SATA спроектированы для большей устойчивости к множественным переподключениям, а спецификация SATA 1.0 сделала возможным «горячее подключение» (Hot Plug).
Некоторые пины на дисках короче, чем все остальные. Это сделано для поддержки «горячей замены» (Hot Swap). В процессе замены устройство «теряет» и «находит» линии в заранее определенном порядке.
Чуть более, чем через год, в апреле 2004-го, вышла вторая версия спецификации SATA. Помимо ускорения до 3 Гбит/с в SATA 2.0 ввели технологию Native Command Queuing (NCQ). Устройства с поддержкой NCQ способны самостоятельно организовывать порядок выполнения поступивших команд для достижения максимальной производительности.
Последующие три года SATA Working Group работала над улучшением существующей спецификации и в версии 2.6 появились компактные коннекторы Slimline и micro SATA (uSATA). Эти коннекторы являются уменьшенной копией оригинального коннектора SATA и разработаны для оптических приводов и маленьких дисков в ноутбуках.
Несмотря на то, что пропускной способности второго поколения SATA хватало для жестких дисков, твердотельные накопители требовали большего. В мае 2009 года вышла третья версия спецификации SATA с увеличенной до 6 Гбит/с пропускной способностью.
Особое внимание твердотельным накопителям уделили в редакции SATA 3.1. Появился коннектор Mini-SATA (mSATA), предназначенный для подключения твердотельных накопителей в ноутбуках. В отличие от Slimline и uSATA новый коннектор был похож на PCIe Mini, хотя и не был электрически совместим с PCIe. Помимо нового коннектора SATA 3.1 мог похвастаться возможностью ставить команды TRIM в очередь с командами чтения и записи.
Команда TRIM уведомляет твердотельный накопитель о блоках данных, которые не несут полезной нагрузки. До SATA 3.1 выполнение этой команды приводило к сбросу кэшей и приостановке операций ввода-вывода с последующим выполнением команды TRIM. Такой подход ухудшал производительность диска при операциях удаления.
Спецификация SATA не успевала за бурным ростом скорости доступа к твердотельным накопителям, что привело к появлению в 2013 году компромисса под названием SATA Express в стандарте SATA 3.2. Вместо того, чтобы снова удвоить пропускную способность SATA, разработчики задействовали широко распространенную шину PCIe, чья скорость превышает 6 Гбит/с. Диски с поддержкой SATA Express приобрели собственный форм-фактор под названием M.2.
«Конкурирующий» с ATA стандарт SCSI тоже не стоял на месте и всего через год после появления Serial ATA, в 2004, переродился в последовательный интерфейс. Имя новому интерфейсу — Serial Attached SCSI (SAS).
Несмотря на то, что SAS унаследовал набор команд SCSI, изменения были значительные:
- последовательный интерфейс;
- 29-ти жильный кабель с питанием;
- подключение «точка-точка»
Максимальное количество одновременно подключенных устройств в SAS-домене по спецификации превышает 16 тысяч, а вместо SCSI ID для адресации используется идентификатор World-Wide Name (WWN).
Несмотря на схожесть разъемов SAS и SATA, эти стандарты не являются полностью совместимыми. Тем не менее, SATA-диск может быть подключен в SAS-коннектор, но не наоборот. Совместимость между SATA-дисками и SAS-доменом обеспечивается при помощи протокола SATA Tunneling Protocol (STP).
Первая версия стандарта SAS-1 имеет пропускную способность 3 Гбит/с, а самая современная, SAS-4, улучшила этот показатель в 7 раз: 22,5 Гбит/с.
Peripheral Component Interconnect Express (PCI Express, PCIe) — последовательный интерфейс для передачи данных, появившийся в 2002 году. Разработка была начата компанией Intel, а впоследствии передана специальной организации — PCI Special Interest Group.
Последовательный интерфейс PCIe не был исключением и стал логическим продолжением параллельного PCI, который предназначен для подключения карт расширения.
PCI Express значительно отличается от SATA и SAS. Интерфейс PCIe имеет переменное количество линий. Количество линий равно степеням двойки и колеблется в диапазоне от 1 до 16.
Термин «линия» в PCIe обозначает не конкретную сигнальную линию, а отдельный полнодуплексный канал связи, состоящий из следующих сигнальных линий:
- прием+ и прием-;
- передача+ и передача-;
- четыре жилы заземления.
«Аппетиты» твердотельных накопителей растут очень быстро. И SATA, и SAS не успевают увеличивать свою пропускную способность, чтобы «угнаться» за SSD, что привело к появлению SSD-дисков с подключением по PCIe.
Хотя PCIe Add-In карты прикручиваются винтом, PCIe поддерживает «горячую замену». Короткие пины PRSNT (англ. present — присутствовать) позволяют удостовериться, что карта полностью установлена в слот.
Твердотельные накопители, подключаемые по PCIe регламентируются отдельным стандартом Non-Volatile Memory Host Controller Interface Specification и воплощены в множестве форм-факторов, но о них мы расскажем в следующей части.
Заключение
Почти все интерфейсы прошли долгий путь развития от последовательного до параллельного способа передачи данных. Скорости твердотельных накопителей стремительно растут, еще вчера твердотельные накопители были в диковинку, а сегодня NVMe уже не вызывает особого удивления.
Раз уж мы начали рассматривать историю хранения данных — познакомимся поближе с одной из технологий, которую мы в прошлой статье упомянули только вскользь. Удивительно в этой технологии то, что, появившись в самом начале 80-х, она с разными изменениями дожила до современности, и не собирается уступать позиции. Речь пойдет о SCSI.
«Отцами-основателями» SCSI можно считать компанию Shugart Associates, стандарт из которого родился впоследствии SCSI изначально носил слегка неблагозвучное для русского уха название SASI (Shugart Associates System Interface). Компания эта, ныне не так широко известная, в конце 70-х практически доминировала на рынке дисководов, и именно эта компания предложила популярный формат 5¼ дюймов. Контроллеры SASI обычно были размером в половину диска и подключались 50-пиновым плоским кабелем, который впоследствии стал коннектором SCSI-1.
За переименованием стандарта стоял ANSI, к 1982 году разработавший стандарт этого интерфейса. Дело в том, что политика ANSI не разрешает использовать названия компаний названии стандартов, поэтому SASI был переименован в «Small Computer System Interface», что и дало знакомую нам аббревиатуру. «Отец» стандарта Ларри Бушер (Larry Boucher) хотел, чтоб эта аббревиатура читалась как «сэкси», но прочтение от Дал Аллана (Dal Allan) «сказзи» прижилось больше.
Несмотря на то, что в основном SCSI ассоциируется с жесткими дисками, этот стандарт позволяет создавать практически любые устройства, подключаемые по данному интерфейсу. Со SCSI выпускалась масса устройств: жесткие диски, магнитооптические накопители, CD и DVD приводы, стриммеры, принтеры и даже сканеры (LPT порт был слишком медленным для работы цветных сканеров высокого разрешения).
Несмотря на то, что в большинстве «простых компьютеров» SCSI как интерфейс не встречается, набор команд этого стандарта широко используется. Например, набор команд SCSI программно реализован в едином стеке Windows для поддержки устройств хранения данных. Так же, практически стандартом стала реализация команд SCSI поверх IDA/ATA и SATA интерфейсов, используемых для работы с CD/DVD и BlueRay, названная ATAPI. Так же эта система команд, реализованная поверх USB, стала частью стандарта Mass Storage Device, что позволяет использовать любые внешние USB хранилища данных.
Исторически, первым интерфейсом стал Parallel SCSI, использующий коннекторы на 50, 68 и 80 пин, расположенные на плоском кабеле, часто экранированном. Этот стандарт развивался на протяжении многих лет, пройдя путь от 40 МБит/с в SCSI-I до 5120 МБит/с в Ultra-640 SCSI. Несмотря на этот прогресс, данный интерфейс уже признан устаревшим, и заменяется более продвинутым решением в виде Serial Attached SCSI (SAS), но про SAS — немного позже. Пока давайте посмотрим, какие еще интерфейсы кабелей использовались в SCSI.
Реализация протокола SCSI по оптическим волоконным каналам, получившая название FCP (Fibre Channel Protocol или FC), позволяет добиваться высоких скоростей и использовать соединительные провода большой длины (до десятков километров с использованием одномодовой оптики). Из-за высокой стоимости используется в больших сетях обработки данных. Сегодня FC используется только для так называемого «фронт-энда», то есть для подключения компьютеров (в основном серверов) к системам хранения данных.
iSCSI, как понятно из первой буквы в названии — служит для обработки SCSI комманд через Интернет, но чаще всего используются все-таки в локальных IP-сетях компаний. Так как этот стандарт, в отличие от FCP, не требует дорогостоящего оборудования, он часто выступает в роли более дешевой замены «оптики». Основные два сценария применения данного стандарта — консолидация хранения данных (данные вместо разрозненных сетевых хранилищ собираются в одном месте, чаще всего в датацентрах) и защита от сбоев (iSCSI позволяет прозрачно для потребителей перемещать дисковые массивы по глобальной сети). iSCSI сильно зависит от физического и канального уровней сетевой модели, определяющих скорость и максимальные задержки в среде. Так, iSCSI на 1Gb/s Ethernet позволял передать всего лишь до 100МБ/с. Гораздо лучше дела обстоят в сетях 10GE, но технологии 10GE только сейчас отвоевывают себе значительные сегменты в корпоративных сетях.
SCSI RDMA Protocol (часто сокращаемый до remote SCSI) позволяет одному компьютеру подключиться к ресурсам другого, используя протокол удаленного прямого доступа к памяти. Так как RDMA отличается низкой латентностью и высокой пропускной способностью — наибольшее применение он получил в кластерах.
USB Attached SCSI — тоже понятно из названия. Реализует подключение SCSI через USB-интерфейс. В теории способен обеспечивать скорость до 3200 МБит/с.
Serial Attached SCSI — наиболее распространенный сейчас вид интерфейса, вытесняющий старый параллельный вариант. Обеспечивает скорость до 6 Гбит/с (вариант на 12 Гбит/с находится в активной разработке и будет выпущен летом 2013 года). Этот протокол является «ближайшим родственником» используемого сейчас повсеместно SATA, более того — SATA устройства можно подключать к SAS контроллерам. В обратную сторону, правда, это не работает, и даже разъем SAS сконструирован так, чтоб не дать это сделать (разве что сборщик системы будет ну очень сильным).
В отличие от старого параллельного SCSI, SAS системы обладают следующими достоинствами:
— меньшее количество сигнальных линий, поэтому более компактные провода;
— использование соединения точка-точка, в отличии от P-SCSI, использовавшего шину, из-за чего одновременно с контроллером могло работать только одно устройство;
— SAS не нуждается в специальной насадке-терминаторе на кабель;
— новый протокол не страдает от проблемы не одновременного прохождения сигнала по разным проводам в шине;
— разительно выросло количество одновременно поддерживаемых устройств, старые SCSI поддерживали от 8 до 32, новые — более 16384;
— SAS дает более высокую пропускную способность, а что особенно хорошо — эта пропускная способность эффективно используется между каждым инициатором и целевым устройством, в то время как на параллельном SCSI пропускная способность шины делилась поровну между всеми устройствами;
— совместимость с устройствами SATA
Неразрывно с историей хранения данных, SCSI и SAS связанна и история компании LSI. Будучи одной из первых в мире компанией, внедривших устройства ASIC (Application Specific Integrated Circuit) — специализированные микросхемы, направленные на выполнение выделенных задач, LSI не могла пройти мимо настолько бурно развивающейся области. Для LSI история SCSI началась с приобретения в 1998 году подразделения Symbios, в свое время бывшей частью NCR, AT&T и Hyundai. Это подразделение было основано в NCR в 1971 году и на момент приобретения было производителем SCSI-адаптеров. Спектр устройств, выпущенных LSI, начинается с микросхемы LSI53C825AE, позволявшей пропустить до 20MB/s данных и соответствовала стандарту Fast Wide SCSI. В процессе развития была разработана так называемая архитектура Fusion-MPT (Message Passing Technology), позволяющая максимально «облегчить» драйвер устройства в операционной системе и ускорить процесс общения между компонентами подсистемы ввода-вывода. Эта технология дожила и до сегодняшних устройств SAS-3 (12Gbit/s), более чем на три порядка превосходящих по скорости первые чипы SCSI. Кроме контроллеров, для SCSI LSI также производила и другие микросхемы, такие как хост-адаптеры и конвертеры (расширители) SCSI.
Нельзя не упомянуть и еще один интересный факт. Совсем недавно компания Seagate анонсировала выпуск двухмиллиардного жесткого диска. Жесткий диск – это очень высокотехнологичное устройство, содержащее большое количество различных компонентов. LSI выпускала и продолжает выпускать довольно много микросхем для жестких дисков. Традиционно это был «Read Channel», сейчас для этого есть так называемые SOCs (System on Chip).
Еще одним крупным игроком на рынке SCSI была компания Adaptec. В отличие от LSI, всегда плотно работавшей с OEM-каналом, компания Adaptec в основном ориентировалась на готовые продукты, и поэтому более известна в мире IT под собственным именем. Около двух лет назад компания была приобретена производителем полупроводниковых устройств PMC и сейчас продукция компании носит название Adaptec by PMC. Компания также успешно пережила все поколения SCSI и теперь выпускает устройства для SAS.
История Parallel SCSI была долгой и бурной, но, в конце концов, закончилась. Уже более двух лет адаптеры P-SCSI не выпускаются, уступив технологии SAS, уже насчитывающей 2 поколения.
Надеемся, что наше знакомство с миром SCSI устройств было вам интересно, и в следующей статье мы продолжим его, рассмотрев SAS более подробно и в деталях.
Удаленные накопители
При создании больших хранилищ данных появилась потребность в протоколах, позволяющих подключить накопители, расположенные вне сервера. Первым решением в этой области был Internet SCSI (iSCSI), разработанный компаниями IBM и Cisco в 1998 году.
Идея протокола iSCSI проста: команды SCSI «оборачиваются» в пакеты TCP/IP и передаются в сеть. Несмотря на удаленное подключение, для клиентов создается иллюзия, что накопитель подключен локально. Сеть хранения данных (Storage Area Network, SAN), основанная на iSCSI, может быть построена на существующей сетевой инфраструктуре. Использование iSCSI значительно снижает затраты на организацию SAN.
У iSCSI существует «премиальный» вариант — Fibre Channel Protocol (FCP). SAN с использованием FCP строится на выделенных волоконно-оптических линиях связи. Такой подход требует дополнительного оптического сетевого оборудования, но отличается стабильностью и высокой пропускной способностью.
Существует множество протоколов для отправки команд SCSI по компьютерным сетям. Тем не менее, есть только один стандарт, решающий противоположную задачу и позволяющий отправлять IP-пакеты по шине SCSI — IP-over-SCSI.
Большинство протоколов для организации SAN используют набор команд SCSI для управления накопителями, но есть и исключения, например, простой ATA over Ethernet (AoE). Протокол AoE отправляет ATA-команды в Ethernet-пакетах, но в системе накопители отображаются как SCSI.
С появлением накопителей NVM Express протоколы iSCSI и FCP перестали удовлетворять быстро растущим требованиям твердотельных накопителей. Появилось два решения:
- вынос шины PCI Express за пределы сервера;
- создание протокола NVMe over Fabrics.
Протокол NVMe over Fabrics стал хорошей альтернативой iSCSI и FCP. В NVMe-oF используются волоконно-оптическая линии связи и набор команд NVM Express.
Стандарты iSCSI и NVMe-oF решают задачу подключения удаленных дисков как локальные, а компания Intel пошла другой дорогой и максимально приблизила локальный диск к процессору. Выбор пал на DIMM-слоты, в которые подключается оперативная память. Максимальная пропускная способность канала DDR4 составляет 25 ГБ/с, что значительно превышает скорость шины PCIe. Так появился твердотельный накопитель Intel® Optane™ DC Persistent Memory.
Для подключения накопителя в DIMM слоты был изобретен протокол DDR-T, физически и электрически совместимый с DDR4, но требующий специального контроллера, который видит разницу между планкой памяти и накопителем. Скорость доступа к накопителю меньше, чем к оперативной памяти, но больше, чем к NVMe.
Протокол DDR-T доступен только с процессорами Intel® поколения Cascade Lake или новее.
Параллельные и последовательные порты
По способу обмена данными порты ввода-вывода делятся на два типа:
Последовательные порты — противоположность параллельным. Отправка данных происходит по одному биту за раз, что сокращает общее количество сигнальных линий, но усложняет контроллер ввода-вывода. Контроллер передатчика получает машинное слово за раз и должен передавать по одному биту, а контроллер приемника в свою очередь должен получать биты и сохранять в том же порядке.
Small Computer Systems Interface (SCSI) появился в далеком 1978 году и был изначально разработан, чтобы объединять устройства различного профиля в единую систему. Спецификация SCSI-1 предусматривала подключение до 8 устройств (вместе с контроллером), таких как:
- сканеры;
- ленточные накопители (стримеры);
- оптические приводы;
- дисковые накопители и прочие устройства.
Изначально SCSI имел название Shugart Associates System Interface (SASI), но стандартизирующий комитет не одобрил бы название в честь компании и после дня мозгового штурма появилось название Small Computer Systems Interface (SCSI). «Отец» SCSI, Ларри Баучер (Larry Boucher) подразумевал, что аббревиатура будет произноситься как «sexy», но Дал Аллан (Dal Allan) прочитал «sсuzzy» («скази»). Впоследствии произношение «скази» прочно закрепилось за этим стандартом.
В терминологии SCSI подключаемые устройства делятся на два типа:
Используемая топология «общая шина» накладывает ряд ограничений:
- на концах шины необходимы специальные устройства — терминаторы;
- пропускная способность шины делится между всеми устройствами;
- максимальное количество одновременно подключенных устройств ограничено.
Устройства на шине идентифицируются по уникальному номеру, называемому SCSI Target ID. Каждый SCSI-юнит в системе представлен минимум одним логическим устройством, адресация которого происходит по уникальному в пределах физического устройства номеру Logical Unit Number (LUN).
Команды в SCSI отправляются в виде блоков описания команды (Command Descriptor Block, CDB), состоящих из кода операции и параметров команды. В стандарте описано более 200 команд, разделенных в четыре категории:
- Mandatory — должны поддерживаться устройством;
- Optional — могут быть реализованы;
- Vendor-specific — используются конкретным производителем;
- Obsolete — устаревшие команды.
- TEST UNIT READY — проверка готовности устройства;
- REQUEST SENSE — запрашивает код ошибки предыдущей команды;
- INQUIRY — запрос основных характеристик устройства.
Дальнейшее усовершенствование SCSI (спецификации SCSI-2 и Ultra SCSI) расширило список используемых команд и увеличило количество подключаемых устройств до 16-ти, а скорость обмена данными по шине до 640 МБ/c. Так как SCSI — параллельный интерфейс, повышение частоты обмена данными было сопряжено с уменьшением максимальной длины кабеля и приводило к неудобству в использовании.
Начиная со стандарта Ultra-3 SCSI появилась поддержка «горячего подключения» — подключение устройств при включенном питании.
Первым известным SSD диском с интерфейсом SCSI можно считать M-Systems FFD-350, выпущенный в 1995 году. Диск имел высокую стоимость и не имел широкой распространенности.
В настоящее время параллельный SCSI не является популярным интерфейсом подключения дисков, но набор команд до сих пор активно используется в интерфейсах USB и SAS.
Каково будущее SCSI на рынке? Будет ли эта технология вытеснена SATA или SAS?
В этой статье мы заглянем в будущее интерфейса SCSI и рассмотрим некоторые преимущества и недостатки интерфейсов SCSI, SAS и SATA.
На самом деле, вопрос является немного более сложным, чем простая замена SCSI на SATA и SAS. Традиционный параллельный SCSI является испытанным и проверенным интерфейсом, используемым давно. В настоящее время, SCSI предлагает очень быструю скорость передачи данных в 320 Мегабайт в секунду (Mб/сек), используя современный интерфейс Ultra320 SCSI. Кроме того, SCSI предлагает большой выбор возможностей, среди которых Command-Tag Queuing (метод оптимизирования I/O команд для увеличения производительности). Жесткие диски SCSI отличаются надежностью; на коротком расстоянии можно создать последовательную цепь из 15 устройств, подключенную к каналу SCSI. Эти особенности делают SCSI замечательным выбором для производительных десктопов и рабочих станций, вплоть до серверов предприятий, по настоящее время.
Жесткие диски SAS используют набор команд SCSI и обладают схожей надежностью и производительностью, как и SCSI диски, однако используют последовательную версию интерфейса SCSI, со скоростью 300 Mб/сек. И хотя это немного медленнее, чем SCSI с 320 Mб/сек, интерфейс SAS способен поддерживать до 128 устройств на бОльших расстояниях, чем Ultra320, и может расширяться до 16000 устройств на канал. Жесткие диски SAS предлагают такую же надежность и скорости вращения (10000-15000), как и диски SCSI.
Диски SATA являются немного другими. Там, где SCSI и SAS диски уделяют внимание производительности и надежности, диски SATA жертвуют ими в пользу существенного увеличения емкости и снижения стоимости. К примеру, диск SATA в настоящий момент достиг емкости в 1 терабайт (ТБ). SATA используется там, где нужна максимальная емкость, например, для резервного копирования данных или архивирования. Сейчас SATA предлагает соединения точка-точка со скоростью до 300 Mб/сек, и легко опережает традиционный параллельный интерфейс АТА, со скоростью 150 Mб/сек.
Итак, что же случится с SCSI? Работает он прекрасно. Проблема с традиционным SCSI заключается в том, что просто подходит к окончанию его срок эксплуатации. Параллельный интерфейс SCSI, обладающий скоростью в 320 Mб/сек, не сможет работать значительно быстрее на существующих в настоящий момент длинах SCSI кабелей. Для сравнения, диски SАТА достигнут скорости в 600 Mб/сек в ближайшем будущем, SAS имеют планы для достижению 1200 Mб/сек. Диски SАТА могут, кроме того, работать с интерфейсом SAS, таким образом эти диски могут использоваться одновременно в некоторых системах хранения. Потенциал к увеличению расширяемости и производительности передачи данных гораздо превышает имеющийся у SCSI. Но SCSI не уйдет со сцены в ближайшее время. Мы будем видеть SCSI в малых и средних серверах еще несколько лет. Так как аппаратные средства обновляются, SCSI будет систематически заменяться дисками SAS/SATA, для получения большей скорости и удобства соединения.
В прошлой части цикла «Введение в SSD» мы рассказали про историю появления дисков. Вторая часть расскажет про интерфейсы взаимодействия с накопителями.
Общение между процессором и периферийными устройствами происходит в соответствии с заранее определенными соглашениями, называемыми интерфейсами. Эти соглашения регламентируют физический и программный уровень взаимодействия.
Физическая реализация интерфейса влияет на следующие параметры:
- пропускная способность канала связи;
- максимальное количество одновременно подключенных устройств;
- количество возникающих ошибок.
Читайте также: