interfejsy dyskowe
Transkrypt
interfejsy dyskowe
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 Transfer [MB/s] DMA 0 DMA 1 DMA 2 Ultra DMA 33 Ultra DMA 66 Ultra ATA 100 Ultra ATA 133 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 Kontroler SATA Porównanie wydajności protokołów