Interfejsy dyskowe
Protokoły obsługi dysków AHCI ( z ang. Advanced Host Controller Interface), NVMe ( z ang. Non-Volatile Memory express)
Protokoły AHCI AHCI to sprzętowy mechanizm pozwalający oprogramowaniu na komunikację z urządzeniami Serial ATA takimi jak np. Host Bus Adapter (HBA). HBA to kontroler (mostek) umożliwiający komunikację pomiędzy komputerem a siecią lub urządzeniami pamięci masowych. Może być zarówno dedykowanym chipem, jak również częścią większego mikroukładu (np. mostka południowego). W pierwszym przypadku mamy najczęściej do czynienia z niezintegrowaną kartą rozszerzenia, instalowaną poprzez złącze płyty głównej (np. PCI lub PCI Express). Układy HBA są również montowane bezpośrednio na płycie głównej komputera. Dzięki AHCI oprogramowanie może komunikować się z urządzeniami podłączonymi do magistrali SATA. W BIOS-ach płyt głównych istnieje możliwość włączenia i wyłączenia tej technologii. Gdy jest ona aktywna możemy korzystać z takich funkcji dysku, jak NCQ i Hot Plug. AHCI jest wspierane przez Windows Vista oraz Linux z kernel min 2.6.19 oraz Mac OS X 10. Mając Windows XP włączenie trybu AHCI w BIOS-ie może spowodować problemy z systemem operacyjnym i w konsekwencji wymusić jego reinstalację. Microsoft Windows XP wymaga dodatkowego sterownika (podanego na przykład z osobnej dyskietki podczas instalacji systemu przy włączonym AHCI).
Protokoły NVMe Zoptymalizowany interfejs magistrali PCIe dla dysków SSD podłączanych przez interfejs PCI Express. Specyfikacja sama w sobie nie jest ograniczona jedynie dla dysków SSD. NVM Express został zaprojektowany od podstaw, wykorzystując niską latencję i wewnętrzną równoległość urządzeń magazynujących dane opartych na pamięci flash, co odzwierciedla równoległość współczesnych procesorów, platform i aplikacji. Interfejs pozwala warstwie sprzętowej i software'owej hosta na pełne wykorzystanie równoległości, którą charakteryzują się nowoczesne pamięci SSD. W rezultacie, NVMe zmniejsza obciążenie I/O i przynosi wiele usprawnień wydajności. Urządzenia NVMe występują zarówno w postaci standardowych formatów kart rozszerzeń PCI Express jak i 2,5-calowych urządzeń przypominających dyski twarde, udostępniających 4-pasmowy interfejs PCI Express poprzez złącze U.2 (znane wcześniej jako SFF- 8639). Ważna uwaga: Dyski SSD korzystają z magistrali PCIe, ale jako protokół komunikacyjny wykorzystywany jest NVMe.
Złącze U.2
Kolejkowanie w NMVe Obsługa do 64k kolejek I/O, z których każda może zawierać do 64k poleceń "in flight". Ponadto poszczególnym kolejkom mogą być przypisane priorytety. Wyróżnia się tzw. kolejki składania (submission) i realizacji (completion). W kolejkach składania przekazywane są wiadomości od hosta do kontrolera, w kolejkach realizacji odwrotnie. Kolejki te są bardzo skuteczne w przypadku architektur wieloprocesorowych, w których można przydzielać kolejki i przerwania do każdego rdzenia.
IDE (z ang. Integrated Drive Electronics Często nazywany jest ATA (z ang. Advanced Technology Attachment) PATA Parallel Advanced Technology Attachment) Wprowadzono siedem wersji ATA od ATA-1 do ATA-7. Różniły się głównie szybkością transmisji danych.
Wersje ATA
PIO (z ang. Programmed Input Output) Tryb bardzo wolny. Całkowicie kontrolowana transmisja przez procesor. Nr trybu PIO 0 1 2 3 4 Czas cyklu tc[ns] 600 383 240 180 120 Transfer [MB/s] 3,3 5,2 8,3 11,1 16,6
DMA (z ang. Direct Memory Access) DMA bezpośredni dostęp do pamięci. Procesor wyłącznie inicjuje proces transmisji danych a następnie sterowanie przejmuje kontroler DMA. Ultra DMA wykorzystuje magistralę PCI zwaną Bus Mastering DMA Tryb DMA 0 DMA 1 DMA 2 Ultra DMA 33 Ultra DMA 66 Ultra ATA 100 Ultra ATA 133 Transfer [MB/s] 4,1 13,3 16,6 33 66 100 133
Tryb PIO i DMA
Koncepcja DMA Transmisja informacji przebiega pomiędzy układem wejścia/wyjscia a wydzielonym obszarem buforowanym w pamięci. Przebieg operacji nadzoruje sterownik DMA, co oznacza, że generuje on wszystkie sygnały sterujące i adresy potrzebne do realizacji wymiany. W tym celu sterownik DMA przejmuje na czas wymiany informacji kontrolę nad magistralami, stając się zarządcą magistra.
ATAPI Atapi to interfejs systemowy w komputerach klasy PC przeznaczony do komunikacji z urządzeniami pamięci masowych. Rozszerzona wersja standardu ATA, wprowadzająca wiele usprawnień pod kątem obsługi wymiennych mediów. Głównie dotyczyło to napędów cd-rom/dvd, napędów taśmowych, czy też dyskietek o dużych rozmiarach. W wyniku wprowadzonych zmian w standardzie ATA, od tamtej pory przyjął on nazwę ATA/ATAPI - jednak większość osób posługuje się jego starą, krótszą nazwą.
PATA
Przewody PATA Przewód 80 żyłowy. Stosowany dla UltraATA 100 i UltraATA 133 Niebieski podłącza się do płyty głównej, do pozostałych podłącza się urządzenia. Przewód 40 żyłowy. Na jednej taśmie można podłączyć dwa urządzenia ale jedno z nich musi być master a drugie slave
Interfejs dysku IDE
SATA (z ang. Serial ATA) Jest to złącze szeregowe realizujące transmisję w standardzie LVDS (z ang. Low Voltage Differential Signaling). Transmisja jest typu punkt-punkt.
Komunikacja LVDS PISO Rejestr przekształcający informację równoległa na postać szeregową. SIPO Rejestr przekształcający informację szeregową na postać równoległą. FIFO First Input First Output. Kolejka danych Transkoder 8b/10b przekształca ciąg binarny 8b na ciąg binarny 10b aby zapewnić informację synchronizującą.
Wejście SATA Dane Zasilanie
Wtyk SATA
esata
Porównanie SATA Interfejs SATA1 SATA2 SATA3 Przepustowość [MB/s] 150 300 600 Aby uzyskać przepustowość w Mb/s należy transfer z tabeli pomnożyć przez 10 ponieważ 1B w SATA kodowany jest na 10 bitach.
SCSI (z ang. Small Computer System Interface) Stosowany w systemach wymagających dużej wydajności. Obsługuje wiele różnych urządzeń jak np.: skanery, dyski twarde, dyski optyczne. Adapter hosta kontroler SCSI jako karta rozszerzeń. Nie występuje w chipsecie. Symbole urządzeń SCSI
Adapter hosta dla SCSI
Gniazda i porty SCSI Pojawiło się wiele odmian SCSI. SCSI Wide posiada 16b linię danych. Każda kolejna wersja miała większą szybkość transmisji danych
Konfiguracja urządzeń Aby kolejne urządzenia można było dołączać wprost do tej samej szyny wprowadzono specjalny system komunikacji oraz protokół wymiany informacji pomiędzy urządzeniami. Każde urządzenie SCSI( włączane z kontrolerem) otrzymuje własny numer indentyfikacyjny ID, nadawany przez instalatora na etapie montażu i podłączenia. Numer ten ustawia się przy pomocy zworek- w urządzeniach wewnętrznych, a w urządzeniach zewnętrznych na specjalnym przełączniku. Sposób ustawiania powinien być opisany w dokumentacji związanej z danym urządzeniem, dostarczanej przez producenta. Ilość dostępnych numerów ID wynika z ilości bitów (zworek) przeznaczonych na tę numerację. Przy wykorzystaniu trzech bitów A0, A1 i A2 można ustawić numer od 0 do 7. Każde urządzenie musi mieć inny numer ID. Numery ID mogą teoretycznie być dowolne, jednak istnieją pewne preferencje przypisywania numerów urządzeniom określonego typu. Dla dysków twardych HDD zarezerwowano numery niskie ( 0,1), dla napędów CD-ROM, CD-R/W, streamerów- numery (2,3), dla dysków wymiennych, skanerównumery (4,5,6). Dla kontrolera zarezerwowany jest numer ID = 7. Szczególne znaczenie ma numer ID =0, przeznaczony dla urządzenia, z którego ładowany jest system operacyjny (t. zw. boot drive).
Urządzenie SCSI
SAS - Serial Attached SCSI interfejs komunikacyjny, będący następcą SCSI, używany do podłączania napędów (głównie dysków twardych). Stosowany przede wszystkim w serwerach. Obecnie uzyskujemy transfer na poziomie 12Gb/s
Prędkości dla SAS SAS-1: 3.0 Gbit/s, opublikowany w 2004, dostępny komercyjnie od 2005[1] SAS-2: 6.0 Gbit/s, dostępny komercyjnie od lutego 2009 SAS-3: 12.0 Gbit/s, dostępny komercyjnie od marca 2013 SAS-4: 24 Gbit/s, prawdopodobny czas publikacji w 2017[1]
Elementy składowe standardu SAS Serial SCSI Protocol (SSP) do obsługi napędów SAS Serial ATA Tunneling Protocol (STP) do obsługi dysków SATA Serial Management Protocol (SMP) do zarządzania ekspanderami SAS
Ekspander SAS Jest to nowa klasa urządzeń będąca przełącznikiem pomiędzy kartą główną a urządzeniami końcowymi - ekspander przejmuje zarządzanie tymi ostatnimi. Do jednego tzw. ekspandera brzegowego (edge expander) można dołączyć do 128 urządzeń SAS. Do urządzenia typu fanout expander można z kolei dołączyć do 128 ekspanderów brzegowych, a więc w jednym otoczeniu SAS może pracować ponad 16 tysięcy urządzeń końcowych. To mniej niż w topologii Fibre Channel, ale znacznie więcej niż w przypadku równoległego złącza SCSI. Zarządzanie tyloma urządzeniami końcowymi jest bardziej złożone niż w dotychczasowym SCSI. W równoległym SCSI adresy ustawiane są sprzętowo. SAS posługuje się na potrzeby identyfikacji WWN (World Wide Names), które stanowią jednoznaczne identyfikatory urządzeń SCSI. Urządzenia SATA eksploatowane w otoczeniu SAS otrzymują identyfikatory WWN od ekspanderów.
Ekspander SAS
NLSAS - Serial Attached SCSI W uproszczeniu można powiedzieć, że są one hybrydą dysków SATA i SAS. Działają na zasadzie dysków SATA, zachowując taką samą prędkość obrotową, wykorzystując jednocześnie interfejs oraz zestawy komend zastosowane w nośnikach SAS. Nie są one bardziej wydajne niż dyski SATA, co wynika z tego, że posiadają taką samą prędkość obrotową talerzy, natomiast posiadają dodatkowe cechy, charakterystyczne dla dysków SAS (np. około dwa razy szybszy interfejs). Dzięki zastosowaniu odpowiednich komend przy zapisie i odczycie danych, dysk ten może wykonywać na raz kilka operacji, co w dużym stopniu zwiększa efektywność pracy. W praktyce nośniki NLSAS możemy określić mianem bardziej pojemnych i dużo wolniejszych dysków SAS. Tak samo jak w przypadku SATA, ich przestrzeń dyskowa może dochodzić nawet do 10 TB. Dzięki swojej stosunkowo niskiej cenie dyski NLSAS zastosowanie znajdą w serwerach typu NAS oraz jako dyski wspomagające w sieci teleinformatycznej danej firmy.
Dysk SAS w kieszeni serwerowej
Kontroler SATA
Porównanie wydajności protokołów
hot-plug / hot swap Umożliwia ono montaż dysku bez konieczności wcześniejszego odłączenia serwera czy komputera od zasilania. Dzięki temu nasze urządzenia mogą działać w sposób ciągły, nie przerywając pracy zespołu. Montaż dodatkowych dysków lub ich wymiana odbywa się bardzo sprawnie i praktycznie niezauważalnie dla użytkowników sprzętu.