Specyfikacja interfejsu logicznego Scsi Black And Decker Bdh2400hvp

Specyfikacja interfejsu logicznego SCSI Black & Decker Bdh2400hvp zapewnia zaawansowane możliwości magazynowania danych. Jest to wysokowydajny system, który jest w stanie obsłużyć do dwudziestu pięciu dysków twardych jednocześnie. Jest to system oparty na standardzie SCSI, który oferuje szybką przesyłkę danych i wysoką wydajność. Interfejs logiczny SCSI Black & Decker Bdh2400hvp jest wyposażony w wiele funkcji, w tym wsparcie dla wielu protokołów sieciowych, jak również możliwość konfiguracji zaawansowanych zadań związanych z magazynowaniem danych. Wsparcie dla zaawansowanych zadań związanych z magazynowaniem danych obejmuje tworzenie kopii zapasowych, kompresję, szyfrowanie i wiele innych. Interfejs logiczny SCSI Black & Decker Bdh2400hvp jest idealnym rozwiązaniem dla małych i średnich firm, które potrzebują wydajnego i bezpiecznego systemu magazynowania danych.

Ostatnia aktualizacja: Specyfikacja interfejsu logicznego Scsi Black And Decker Bdh2400hvp

Określenie dysku twardego prawdopodobnie znane jest już każdemu. Najprościej ujmując to miejsce w komputerze do przechowywania danych, aczkolwiek to tylko minimalistyczna wersja definicji. 

Z biegiem lat dyski komputerowe przeszły ogromną ewolucję. Zmieniła się nie tylko ich prędkość, ale także rozmiar, format i wiele innych. W tym jednym artykule, bez zbędnego wysiłku, otrzymasz praktyczną wiedzę w pigułce na ten temat. Warto zatem, żebyś zadał sobie pytanie. Czy chciałbyś w krótką chwilę pogłębić swoją wiedzę na temat dysków komputerowych? A może uważasz, że posiadasz już dostateczne rozeznanie w tej kwestii? W takim razie zainwestuj swój cenny czas i przekonaj się samemu czy wszystko wiedziałeś. 

Dyski HDD, SSD i SSHD – podstawowe różnice

Przed przystąpieniem do dalszej części artykułu, warto byś wiedział, jakie są rodzaje dysków i znał podstawowe różnice między nimi. Należą do nich:

  • Dysk typu HDD (Hard Disc Drive) – to rodzaj pamięci masowej, nieulotnej, która przetwarza dane. Składa się z namagnesowanych dysków (talerzy), które obracają się w jego obudowie. Im szybsze tempo obracania, tym szybciej komputer może odczytać z niego informację. W roku 2020 zakres waha się między 5400 a 15 000 obr/min. Za standard przyjęło się 7200 obr/min. Zapis i odczyt danych odbywa się za pomocą głowic elektromagnetycznych, które przypisane są do każdego talerza. Dyski posiadają swoją unikatową pojemność, która zazwyczaj wyrażona jest w GB (gigabajtach) lub TB (terabajtach). Na tym etapie, ważne żebyś miał wyobrażenie “ile to jest? ”. Dla przykładu, 1 piosenka waży około 5 MB (megabajtów). 1 TB to 1000 GB lub 1 000 000 MB. Zatem na jednym dysku 1 TB możesz umieścić około 200 000 piosenek.

W pierwszej połowie 2020 roku firma MSERWIS zrezygnowała całkowicie z oferowania dysków HDD w swojej ofercie hostingowej (za wyjątkiem przestrzeni dyskowej przeznaczonej na backup), na rzecz wydajniejszych dysków SSD, w tym w technologii NVMe (więcej o tej technologii w dalszej części artykułu).

  • Dysk SSD (Solid State Drive, dysk półprzewodnikowy) – wykorzystuje pamięć NAND flash. W porównaniu do HDD nie ma tutaj pola magnetycznego. Dyski SSD wykorzystują półprzewodniki, które odpowiedzialne są za przechowywanie danych, zmieniając stan elektryczny milionów obwodów wbudowanych w dysk SSD. Przez to, że nie mają one ruchomych części, pracują szybciej i są wytrzymalsze. Dyski SSD występują w trzech odmianach: SLC, TLC, MLC. Każda z nich różni się sposobem zapisywania danych oraz przeznaczeniem: 
  • SLC (Single Level Cell), czyli komórka o jednym poziomie. Oznacza to, że każda komórka pamięci na dysku SSD tej technologii przechowuje wyłącznie jeden bit informacji. Pamięci są najwydajniejsze pod względem przechowywania danych, za to charakteryzują się wysoką ceną. 
  • TLC (Triple Level Cell) – w jednej komórce pamięci można przechowywać do trzech bitów danych. Przez to w porownaniu do SLC i MLC są tańsze, wolniejsze i podatniejsze na na awarie.
  • MLC (Multi Level Cell), czyli w jednej komórce może znajdować się do dwóch bitów danych. MLC najprościej zdefiniować jako kompromis między SLC a TLC – nie są ani najtańsze, ani najwydajniejsze. 
  • SSHD (Solid-State Hybrid Drive) to hybryda dysków SSD i HDD. W dysku umieszczono moduł pamięci flash, ale jego pojemność zazwyczaj jest znacznie mniejsza niż w przypadku SSD. Starsze technologie tych dysków działały na zasadzie Express Cache – niemożliwe było instalowanie czegokolwiek, ponieważ to oprogramowanie dysku decydowało o danych tam przetrzymywanych. Rozwiązanie SSHD ma na celu zapewnienie pamięciom masowym osiągów zarezerwowanych dla napędów SSD przy jednoczesnym zachowaniu granicy cenowej dysków HDD. Obecnie z uwagi na spadek cen pamięci SSD dyski hybrydowe przestają być popularne.
Rodzaj dyskuZaletyWady
HDD– Duża pojemność
– Niska cena
– Głośność pracy
– Wysoka temperatura pracy
– Wolny transfer danych
– Podatność na uszkodzenia ruchomych talerzy (krótsza żywotność)
– Wielkość i ciężar dysku
SSD– Szybki transfer danych 
– Dłuższa żywotność
– Mniejszy rozmiar w porównaniu do dysków HDD
– Bezgłośne
– Zaawansowane technologicznie (ciągły postęp technologii)
– Niskie zużycie energii
– Dłuższa żywotność – brak elementów mechanicznych
– Wysoka cena w stosunku do pojemności
– Mniejsza pojemność w porównaniu do HDD
– Ograniczona liczba cykli zapisów
SSHD– Wyższa wydajność w porównaniu do HDD – szybsza praca systemu 
– Niższa cena niż za SSD
– Duża pojemność 
– Mniejsza ilość pamięci flash w porównaniu do SSD
– Posiada wszystkie wady HDD

Rodzaje interfejsów w dyskach HDD i SSD

Znając już podstawowe różnice między dyskami HDD a SSD, możemy przejść do krótkiego omówienia interfejsów dysków. Interfejs, nazywany często złączem to element umożliwiający połączenie ze sobą dwóch różnych urządzeń, które bez niego nie mogłyby ze sobą współgrać. 

Z postępem lat złącza dysków zmieniały się, oferując coraz to nowsze możliwości. Jedną z nich była prędkość transferu danych, czyli ilość informacji transmitowana w jednostce czasu przez dany kanał komunikacyjny. Do 2020 roku powstało wiele różnych standardów, a każdy z nich różnił się swoimi indywidualnymi parametrami. Do popularniejszych interfejsów zaliczały się m. in. :

  • Złącza krawędziowe – to jeden z pierwszych interfejsów sięgający czasów Commodore (lata 60). Podłączano do nich nośniki danych z trwale zapisanym oprogramowaniem – kartridżem.
  • SCSI (Small Computer Systems Interface) – interfejs powstały w 1986 roku, służący głównie do transportu danych pomiędzy serwerami. Pierwsza wersja standardu pozwalała na transfer z “zawrotną” prędkością do 5 MB/s na odległość 6 m.
  • ATA (Advanced Technology Attachment) – interfejs powstały w 1986 roku pod pierwszą nazwą IDE. Przeznaczony był do komunikacji z dyskami twardymi. Na początku umożliwiał on przekaz danych z szybkością do 4 MB/s. Ostatecznie górna granica możliwości złącza zatrzymała się na poziomie do 133 MB/s. Od 2003 roku określany jako PATA – Parallel ATA.
  • SATA (Serial Advanced Technology Attachment) – interfejs służący do podłączenia dysków twardych i urządzeń typu odtwarzarka DVD. Do podłączenia urządzenia wykorzystuje się dwa przewody – do zasilania oraz transmisji danych. Interfejs występuje w trzech wersjach: SATA I z 2002 roku oferująca transfer do 150 MB/s, SATA II z 2004 roku – do 300 MB/s oraz SATA III z 2009 roku – do 600 MB/s. W między czasie powstało eSATA, czyli złącze o maksymalnej przepustowości do 300 MB/s, przeznaczone do podłączania zewnętrznych pamięci masowych – nie będących bezpośrednio dostępnych dla procesora. 
  • SAS (Serial attached SCSI) – to następca interfejsu z lat 80, powstały w 2005 roku. Stosowany przede wszystkim w serwerach. Pierwsza wersja umożliwiała transmisję danych do 300 MB/s, druga z 2009 roku do 300 MB/s zaś trzecia z 2013 roku do 1200 MB/s. 
  • mSATA (mini-SATA) – interfejs z 2009 roku. Powstał na skutek postępującej miniaturyzacji pamięci masowych, np. dla dysków w rozmiarze 1. 8”. Jego maksymalna przepustowość wynosiła do 600 MB/s. 
  • PCI-Express (Peripheral Component Interconnect Express) – standard zapoczątkowany w 2004 roku, pozwalający na przesyłanie danych z dużą prędkością. Główną zaletą interfejsu jest transmisja dwukierunkowa, dzięki której wymiana danych odbywa się jednocześnie w dwie strony. Złącze dostępne jest w różnych rozmiarach (liczba zajmowanych torów w gnieździe – x1, x2, x4, x8, x16) oraz w różnych wersjach (1. 0, 2. 0, 3. 0, 4. 0, 5. 0). Każda z kombinacji zapewnia unikatową przepustowość, która przedstawiona jest w tabelce.
Przepustowość
Wersja
PCIe
ProdukcjaSzybkość transferux1x2x4x8x16
1. 020042, 5 GT/s0, 250 GB/s0, 500 GB/s1000 GB/s2000 GB/s4. 000 GB/s
2. 020075, 0 GT/ s0, 500 GB/s1000 GB/s2000 GB/s4. 000 GB/s8. 000 GB/s
3. 020108, 0 GT/s0, 985 GB/s1, 969 GB/s3, 938 GB/s7, 877 GB/s15, 754 GB/s
4. 0201716, 0 GT/s1, 969 GB/s3, 938 GB/s7, 877 GB/s15, 754 GB/s31, 508 GB/s
5. 0201932, 0 GT/s3, 938 GB/s7, 877 GB/s15, 754 GB/s31, 508 GB/s63, 015 GB/s
  • M. 2 – interfejs początkowo określany jako Next Generation Form Factor, NGFF. Pierwsza specyfikacja złącza powstała pod koniec 2013 roku. M. 2 to następca mSATA, umożliwiający jeszcze większą miniaturyzację dysku. Standard może wykorzystywać interfejs SATA III lub PCI Express (maksymalnie cztery tory). Przykładem urządzenia, które używa interfejsu M. 2 jest XBOX Series X z 2020 roku.
  • U. 2 (wcześniej SFF-8639) – specyfikacja interfejsu powstała w 2011 roku, zaś oficjalna nazwa U. 2 zadebiutowała w 2015 roku. To standard złącza komputera służący do podłączania dysków SSD do komputera. Podobnie jak M. 2 używa magistrali PCIe x4. Oznacza to, że ma taką samą potencjalną przepustowość, na jaką pozwala interfejs, czyli do 32GB/s. Przykładem wykorzystania tego interfejsu są hostingi firmy MSERWIS z linii Ultra.

Historia dysków – od 1956 do 2020 roku (istotniejsze daty)

Za początek ery dysków przyjmuje się rok 1956, kiedy to właśnie powstał pierwszy napęd dyskowy wyprodukowany przez przedsiębiorstwo IBM – IBM 350. Model miał wbudowane 5 MB pojemności, wykorzystywał 50 talerzy magnetycznych, które obracały się z prędkością 1200 obr / min. Przetwarzanie danych zajmowało mu bardzo dużo czasu i wart był na tamte czasy około 1 miliona dolarów. Dysk ważył tonę, a obudowa jednostki miała 152 cm długości, 172 cm wysokości i 74 cm szerokości. Współczesne dyski twarde działają na tej samej zasadzie co IBM 350. Maksymalny czas dostępu (czas między wysłaniem żądania a otrzymaniem odpowiedzi) wynosił 0, 8 sekundy.

Pierwszy komercyjny komputer RAMAC 305 z dyskiem IBM 350. Źródło: https://helisulbaran. blogspot. com

Z roku na rok ewolucja napędów dyskowych znacząco postępowała. Przedstawiamy istotniejsze daty wraz z krótkim opisem o postępie technologicznym, jaki wtedy nastąpił:

W 1961 roku przedsiębiorstwo wprowadziło model IBM 1301. Mieścił on 28 MB danych na 25 osobnych talerzach z dedykowaną głowicą, dzięki której skrócono czas dostępu do 180 ms (milisekund).

W 1965 roku IBM wyprodukował kolejny moduł dyskowy IBM 2310, który korzystał z wymiennych kartridżów (nośników danych) o pojemności 1 MB mieszczących się w walizce.

W 1970 roku pojawił się dysk kolejnej generacji – IBM 3300. Jego wymienne paczki dyskowe oferowały pojemność 100 MB, a w 1974 roku już 200 MB. Dyski można było ze sobą łączyć, wskutek czego, po raz pierwszy możliwe było osiągnięcie gigabajtowych pojemności. Fenomenem wprowadzonym w modelu 3330 było zastosowanie korekcji błędów, dzięki której ​​dyski stały się bardziej niezawodne i możliwe było zredukowanie kosztów ich eksploatacji.

W 1976 rok powstał pierwszy dysk SSD i to właśnie wtedy dyski magnetyczne spotkały się z pierwszą realną konkurencją, w postaci modelu Bulk Core od firmy Dataram. Rozwiązanie na tamte czasy było zbyt kosztowne, a przez co mało praktyczne.

W 1980 firma Shugart Technology (Seagate) stworzyła pierwszy kompaktowy i możliwy do samodzielnego przetransportowania dysk ST-506. Co prawda oferował on jedynie 5 MB pojemności, za to miał format 5, 25 cala i ważył tylko 3, 2 kg. Po raz pierwszy możliwe stało się umieszczenie go w obudowach komputerów PC.

Pierwszy kompaktowy dysk HDD – ST-506 wchodzący do obudowy komputera. Źródło: https://www. youtube. com/watch? v=rNe9T1FRhwg

W 1983 powstał pierwszy 10 MB dysk HDD Rodime RO352 w rozmiarze 3, 5 cala i prędkości obrotowej 3600 (RPM). 

W 1988 roku powstał pierwszy 2, 5-calowy dysk HDD – PrairieTek 220 o pojemności 20 MB. 

Dysk HDD w rozmiarze 2, 5 cala PrairieTek 220. Źródło: https://d1yx3ys82bpsa0. cloudfront. net/groups/ds-prarietek-220-20121211. pdf

W 1991 roku firma SunDisk (SanDisk) sprzedała firmie IBM pierwszy na świecie 2, 5-calowy dysk flash SSD o pojemności 20 MB.

W 1992 roku nastąpił podwójny przełom dla dysków HDD. Firma Seagate zaprezentowała model Barracuda z talerzami wirującymi z prędkością 7200 RPM (najpowszechniejsza prędkość w 2020 roku) i pojemnością 2, 1 GB. 

W 1996 roku firma Seagate wyprodukowała pierwszy dysk HDD – Cheetah, z talerzami wirującymi z prędkością 10000 RPM.

Cztery lata później powstał model Cheetah X15, który osiągnął zawrotną prędkość obracających się talerzy na poziomie 15000 RPM – najszybsza prędkość do 2020 roku.

Pod koniec 2002 roku po raz pierwszy zadebiutował dysk HDD z interfejsem SATA (SATA I 150 MB/s) – Barracuda ATA V produkcji Seagate. 

W 2004 roku miały miejsce premiery SATA II i PCIe w wersji 1. 0. Ponadto zadebiutował pierwszy dysk SATA SSD – A25FB firmy Adtron, który miał 40 GB pojemności i stałą prędkość 40 MB/s.

W 2007 roku firmy Seagate i Samsung wprowadziły na rynek dwa 2, 5-calowe modele dysków hybrydowych (SSHD). Dyski dostępne były z pamięcią do 256 MB (nastawione na energooszczędność) i nie zdobyły powszechnego uznania. W tym samym roku przedsiębiorstwo Hitachi przekroczyło barierę pojemnościową dysków HDD wynoszącą 1 TB.

W 2009 roku miała miejsce premiera SATA III oraz przedsiębiorstwo Pilant Technology przedstawiło pierwszy dysk SAS SSD.

W 2010 roku powstał kolejny 2, 5-calowy dysk hybrydowy SSHDSeagate Momentus XT. Pamięć SSD była niewystarczająca, aby zainstalować system operacyjny, więc działała wyłącznie na zasadzie pamięci podręcznej dla najczęściej odczytywanych danych. W tym samym roku premierę miał pierwszy dysk SSD SATA 600 MB/s – Plextor M2S.

W 2011 powstała pierwsza specyfikacja NVMe (NMVe 1. Natomiast rok później ukazał się chipset w wersji 1. 1.

Od 2012 roku w świecie dysków HDD rozpoczęła się “walka pojemnościowa”. Firma TDK wyprodukowała wtedy pierwszy 2 TB dysk 3, 5 cala. Kolejno w 2013 marka HGST stworzyła dysk 6 TB. Natomiast w 2020 roku największy dostępny dysk HDD posiada pojemność nawet do 18 TB przy prędkości obrotowej 7200 obr. /min (WD Gold Enterprise-Class).

W 2013 roku powstał pierwszy “skuteczny” 2, 5-calowy SSHD – WD Black2. Tym razem na 120 GB dysku SSD można było zainstalować dane, które wymagają szybkiego dostępu – system operacyjny wraz z oprogramowaniem. 

Na początku 2014 roku na rynku zadebiutował pierwszy dysk w wersji NVMe 1. 0 – Samsung XS1715. Oferował on prędkość odczytu do 3 GB/s i pojemność dysku do 1, 6 TB. W tym samym roku powstała specyfikacja NVMe 1. 2. Następnie po niej w 2017 roku wyszła specyfikacja 1. 3 oraz 1. 4 w 2019 roku. Każda z wersji posiadała coraz to nowsze funkcje, które usprawniały pracę dysków.

Protokoły obsługi dysków – hosting oparty o najszybsze dyski NVMe

Oprócz rodzaju dysku i złącza, jakie posiada, duże znaczenie w działaniu dysku odgrywa używany przez niego protokół – sposób komunikacji między kontrolerem a systemem operacyjnym. Przez większość lat, bo aż od 2003 roku, większość dysków wykorzystuje protokół AHCI (Advanced Host Controller Interface). Na pierwsze lata całkowicie spełniał on swoje zadanie i pozwalał na wykorzystanie pełni możliwości ówczesnych dysków. Jednak z biegiem czasu do masowej produkcji trafiły dyski SSD. Od tego momentu możliwości protokołu stawały się zbyt ubogie i niewystarczające. Na potrzeby nowszego rynku, w 2013 roku powstał jego następca, czyli protokół NVMe (Non-Volatile Memory Express)

Określenie „Non-Volatile” oznacza, że ​​pamięć nie jest kasowana po ponownym uruchomieniu komputera, natomiast „Express” odnosi się do faktu, że dane są przesyłane przez interfejs PCI Express na płycie głównej komputera. NVMe to bardzo wydajny, zoptymalizowany i wysoce skalowalny protokół pamięci masowej, który został zaprojektowany od podstaw dla nieulotnych nośników pamięci (pamięć NAND flash). Charakteryzuje się małymi opóźnieniami i pozwala na wykonywanie większej liczby operacji na sekundę przy mniejszym użyciu procesora. Korzysta z dużej liczby prostych, nieskomplikowanych poleceń. Dzięki czemu jest mniej wymagający pod względem liczby transferów do pamięci operacyjnej. Ponadto protokół NVMe posiada możliwość korzystania z kilku kanałów komunikacji w tym samym czasie, przez co jest w stanie zapewnić niesłychanie szybkie przesyłanie danych.

W 2020 roku najszybszymi dyskami SSD są nośniki z protokołem NVMe korzystające z interfejsu PCI Express (U. 2 lub M. 2). 

W związku z tym, iż MSERWIS stawia na maksymalną wydajność hostingu, w pierwszej połowie 2020 roku, wprowadziliśmy do swojej oferty linię serwerów Ultra, w której zapewniamy dyski NVMe na magistrali PCIe. Każdy pojedynczy dysk ma pojemność blisko 4 TB oraz prędkość odczytu do 3100 MB/s. Dzięki takiemu rozwiązaniu Twoja rozbudowana strona internetowa, obszerne bazy danych i poczta e-mail, mogą działać jeszcze szybciej.

Zestawienie U. 2 z NVMe do pozostałych interfejsów
Rodzaj interfejsu dyskuSCSIATASATA ISATA IISATA IIISASU. 2 – NVMe(na przykładzie dysku MSERWIS)
Maksymalna prędkość odczytu5 MB/s133 MB/s150 MB/s300 MB/s600 MB/s1200 MB/s3100 MB/s

Czy w ofercie serwerów może być coś mocniejszego od dysków NVMe korzystających z interfejsu PCIe? 

Przekroczenie możliwości, jakie oferuje pojedynczy dysk NVMe jest praktycznie nierealne. Niemniej jednak realne jest połączenie kilku dysków NVMe w jedną macierz. Sposób takiego połączenia nosi nazwę RAID (Redundand Array of Independent Disks). Dzięki temu połączone ze sobą dyski są w stanie zapewnić dodatkową funkcjonalność w porównaniu z oddzielnie podłączonymi pojedynczymi nośnikami. Sposób ten zapewnia zwiększenie: 

  • odporności na awarie, 
  • wydajności transmisji danych, 
  • przestrzeni dostępnej jako jedna całość.

Istnieje kilka rodzajów macierzy, a do najczęściej spotykanych należą: RAID – 0, 1, 4, 5, 6 1+0 (10). Każdy rodzaj (poziom) macierzy charakteryzuje się odmiennym sposobem zapisu danych na dyskach – różnymi właściwościami. RAID 0 wykorzystuje minimum 2 dyski. Charakteryzuje się zwiększoną prędkością zapisu i odczytu, ale mniejszą odpornością na awarie. Natomiast jego “przeciwieństwem” jest RAID 1 – zwiększona odporność, ale kosztem prędkości dysku. Pozostałe macierze skupiają się głównie na wykorzystaniu minimum 3 dysków, ale nie są w stanie dorównać osiągom RAID 0. Spośród wszystkich wymienionych opcji najefektywniejszą jest RAID 10. Jest ona kompromisem, w postaci połączenia dwóch macierzy – RAID 1 i 0. W efekcie macierz może osiągnąć szybkość RAID 0 przy jednoczesnym zachowaniu odporności na awarie.

Macierz RAID 10. Źródło: https://commons. wikimedia. org/wiki/File:RAID_10_01. svg

Macierze RAID 10 są powszechnie stosowane w rozwiązaniach serwerowych MSERWIS. Gwarantują prawie podwójne zwiększenie prędkości zapisu/odczytu oraz dodatkową odporność na awarie dysków. Dzięki temu Twój hosting może osiągnąć maksymalną wydajność i jest mniej podatny na przerwy w działaniu.

Podsumowanie

Pierwszy napęd dyskowy stworzyła firma IBM w 1956 roku i był to początek ewolucji technologicznej. Co prawda napęd ważył tonę i miał pojemność 5 MB, ale wydarzenie nadało tempo dalszemu postępowi. Z biegiem lat, w 1983 roku powstał (używany do teraz) 3, 5-calowy, 10 MB dysk HDD – wykorzystujący nośnik magnetyczny do przechowywania danych. Kolejno po nim w 1991 zadebiutował dysk SSD – napęd półprzewodnikowy zbudowany w oparciu o pamięć flash. Miał on 2, 5 cala (najpowszechniejszy rozmiar dysku SSD) i pojemność 20 MB. Dalszym następstwem były hybrydy tych dwóch dysków – SSHD, a w późniejszym czasie znaczący postęp w miniaturyzacji, pojemności dysków (w 2020 roku dyski HDD mają po 18 TB) i prędkości zapisu i odczytu danych, które się na nim znajdują.

W międzyczasie, oprócz rozwoju rodzajów dysków, ewoluowały ich interfejsy – urządzenia pozwalające na połączenie ze sobą dysku i komputera, tak żeby mogły ze sobą współpracować. Najstarszymi z nich są kartridże (znane z czasów Commodore). Później do popularniejszych zaliczyć można SCSI, ATA, SATA (w 3 różnych wersjach o różnych przepustowościach), SAS oraz PCI Express, który jest najnowszym standardem w 2020 roku. Interfejs ciągle się rozwija i jest w stanie osiągnąć maksymalną prędkość odczytu – 31, 508 GB/s. Dla porównania SATA III, która również dostępna jest na rynku, osiąga maksymalną prędkość 600 MB/s. 

Ostatnim uefektywnieniem w “dyskowym świecie” jest wdrażanie (które trwa od kilka lat) nowego protokołu komunikacyjnego NVMe – to sposób komunikacji między kontrolerem a systemem operacyjnym. Jego poprzednikiem jest AHCI, które powstało w 2003 roku, ale na skutek intensywnemu rozwojowi technologii SSD, możliwości tego protokołu stały się niewystarczające. NVMe to rozwiązanie dedykowane pamięciom flash, a litera “e” odnosi się do “express”, czyli do tego, że dane przesyłane są przez interfejs PCI Express na płycie głównej komputera.

W firmie MSERWIS stawiamy na maksymalną wydajność hostingu, dlatego serwerów Ultra, w której zapewniamy dyski NVMe na magistrali PCIe. Każdy pojedynczy dysk ma pojemność blisko 4 TB oraz prędkość odczytu do 3100 MB/s. Dzięki takiemu rozwiązaniu Twoja rozbudowana strona internetowa, obszerne bazy danych i poczta e-mail, mogą działać znacznie szybciej.

Jan Bim

Już od kilku lat zajmuję się planowaniem, koordynacją i realizacją działań marketingowych w MSERWIS. pl i Domeny. tv. Jestem odpowiedzialny za promowanie usług, produktów i oprogramowań mojej firmy. Aby jak najlepiej zrozumieć ich funkcje i zalety współpracuję z zespołem programistów i Biurem Obsługi Klienta. Wykorzystuję różnorodne taktyki i kanały marketingowe, żeby dotrzeć do potencjalnych klientów i przekonać ich do zakupu lub subskrypcji. Moje działania obejmują m. tworzenie kampanii marketingowych, pisanie materiałów marketingowych, zarządzanie mediami społecznościowymi oraz marketingiem e-mailowym i analizowanie rynku w celu zrozumienia potrzeb i preferencji docelowych odbiorców. Rozumiem technologię i potrafią przekazywać złożone koncepcje techniczne odbiorcom nietechnicznym. Mam doświadczenie w obszarach takich jak content marketing, SEO i generowaniu leadów. Potrafię skutecznie mierzyć i analizować wyniki działań marketingowych, aby stale ulepszać swoje strategie.


Co to jest SCSI?

W 1979 r. firma Shugart opracowała interfejs przeznaczony do podłączania dysków twardych w małych komputerach - Shugart Associates Systems Interface - SASI. Był to 8-bitowy asynchroniczny interfejs równoległy z transferem 1, 5 MB/s. W połowie 1986 r. interfejs ten został rozszerzony i zatwierdzony przez Komitet X3T9. 2 ANSI (Amerykański Narodowy Instytut Standardów) jako Small Computer System Interface - SCSI - Interfejs Systemowy Małych Komputerów SCSI (wym. "skazi"). W późniejszym okresie interfejs ten był wykorzystywany nie tylko do podłączania dysków twardych, ale też napędów taśmowych, CD-ROM, napędów dysków magnetooptycznych, drukarek, skanerów, urządzeń telekomunikacyjnych i innych urządzeń peryferyjnych.
W 1994 r. został opracowany standard SCSI-2. Zwiększono prędkość transferów, dodano nowe komendy i komunikaty, wprowadzono obowiązkową kontrolę parzystości i umożliwiono rozszerzenie szyny danych do 16 bitów. Kolejna specyfikacja, SCSI-3, to dalsze zwiększenie szybkości, znaczne rozszerzenie systemu komend, możliwość komunikacji z zastosowaniem protokołów: Fibre Channel, IEEE 1394 (Firewire) i Serial Storage Architecture SCSI-3 Protocol (SSA-S3P).
Interfejs SCSI był wykorzystywany głównie w serwerach i wysoko wydajnych stacjach roboczych, przez długi czas skutecznie konkurował wydajnością i ilością obsługiwanych urządzeń w lepszej klasy komputerach PC ze znacznie tańszym interfejsem ATA. Obecnie wypierany jest przez nowszy interfejs szeregowy Serial Attached SCSI - SAS

SCSI - podstawowe pojęcia

Większość pojęć niezbędnych do zrozumienia interfejsu SCSI nie ma polskich odpowiedników. Pojęcia te zwykle nie są tłumaczone, a często po prostu używane są skróty nazw technologii, komend i sygnałów.

Asynchronous Transfer (Async) - transfer asynchroniczny - metoda wymiany danych między kontrolerem i urządzeniem peryferyjnym, wykorzystująca potwierdzanie sygnałów ACK/REQ dla każdego bajta danych. Jest to metoda wolniejsza od transferu synchronicznego. Wszystkie negocjacje na szynie SCSI, w tym przy transferze synchronicznym, odbywają się asynchronicznie.

Command Queuing - kolejkowanie komend - w urządzeniach zgodnych ze standardami SCSI-2 i SCSI-3 istnieje możliwość wysyłania do jednego urządzenia do 256 komend naraz, przy czym urządzenie może samo określić kolejność wykonania komend w celu optymalizacji swojej pracy

Cyclic Redundancy Check (CRC) - cykliczny kod nadmiarowy - system sum kontrolnych wykorzystywany do wykrywania i korygowania bitowych przekłamań, jakie mogą wystąpić podczas transmisji danych. Ten system kontroli pozwala na wykrycie błędów obejmujących swym zasięgiem do 32 bitów.

Differential - sterowanie różnicowe - znaczenie sygnału określa się nie poziomem, ale zmianą polaryzacji używanego napięcia. Pozwala to na obniżenie zaszumienia magistrali SCSI i wydłużenie kabla. Występują dwa typy sterowania różnicowego SCSI wysokonapięciowe HVD i niskonapięciowe LVD

Domain Validation (DV) - protokół diagnostyczny służący do określania parametrów jednostek docelowych i cech konfiguracyjnych systemu, a także testowania jakości fizycznej warstwy połączenia.

Double Transition clocking (DT) - synchronizacja danych odbywa się na obu zboczach sygnałów REQ lub ACK. W ten sposób można podwoić prędkość transferu danych.

Fast SCSI - w standardzie SCSI-2 odnosi się do prędkości przesyłu danych 10 MB/s przy magistrali 8-bitowej i 20 MB/s przy 16-bitowej (wide).

Fibre Channel - wielowarstwowy protokół transmisji szeregowej, zapewniający możliwość wymiany danych pomiędzy urządzeniami i sieciami z prędkością do 10 Gb/s. Fibre Channel może pracować zarówno na przewodach miedzianych, jak i na światłowodach.

Free Running Clock (FRC) - przewidziane normą SCSI-3 SPI-4 niewielkie odchylenia częstotliwości zegarowych w celu skompensowania efektu ISI.

Host - główny - komputer, w którym został zainstalowany Host Adapter

Host Adapter - główny adapter - określenie kontrolerów zarządzających podłączonymi do nich urządzeniami. Zwykle są to kontrolery SCSI

High Voltage Differential (HVD) - wysokonapięciowe sterowanie różnicowe - starsza wersja sterowania różnicowego SCSI, wykorzystująca napięcie 5 V i pozwalająca na użycie kabli o długości do 25 m.

ID - identyfikator - unikalny adres urządzenia SCSI. Na magistrali 8-bitowej (Narrow) może być do 8 ID (od 0 do 7), a na 16-bitowej (wide) do 16 ID (od 0 do 15). Na szynie powinien występować jeden inicjator (initiator) i jedno urządzenie docelowe (target). Główny adapter (host adapter) zwykle otrzymuje ID=7.

Initiator - inicjator - urządzenie przetwarzające komendy SCSI na magistrali. To może być dowolne urządzenie podłączone do magistrali, ale zwykle jest to kontroler SCSI (główny adapter). Inicjator zawsze pracuje w parze z urządzeniem docelowym (target).

Inter Symbol Interference - oddziaływanie między symbolami - efekt przejawiający się zakłóceniami wynikającymi z wzajemnych oddziaływań pomiędzy sąsiadującymi impulsami. W wyniku długiego utrzymywania się określonego stanu napięcia dochodzi do gromadzenia się w przewodzie ładunku elektrycznego, przez co może dojść do zamiany pozycji skrajnych bitów sygnału.

Logical Unit Number - LUN - metoda zwiększenia liczby urządzeń, które mogą być podłączone na jednym kanale magistrali SCSI. W dowolnym ID może znajdować się do ośmiu logicznych urządzeń, a każde z nich jest traktowane przez kontroler SCSI jak oddzielne urządzenie fizyczne.

Low Voltage Differential (LVD) - niskonapięciowe sterowanie różnicowe - bipolarny różnicowy sygnał wykorzystywany dla bardzo szybkich transmisji danych używany przez współczesne kontrolery SCSI. Przy wykorzystaniu sterowania LVD poziom napięcia sygnału znajduje się w granicach 0, 7-1, 8 V. W przypadku interfejsu LVD sygnały o różnej polaryzacji wykorzystują różne fizyczne przewody. Dla wykorzystania SCSI LVD potrzebny jest specjalny kabel złożony z par przewodów. pl/images/scsi-lvd-se. png" title="SCSI LVD/SE" alt="SCSI LVD/SE" width="50" height="50"/>LVD/SE Multimode - sterowanie uniwersalne (różnicowe lub napięciowe) - w zależności od poziomu napięcia na linii DIFFSENSE przekaźniki LVD/SE automatycznie konfigurują się dla LVD lub SE. Najnowsze urządzenia SCSI mają zwykle uniwersalne przekaźniki.

Megatransfer (MT) - jednostka miary odnosząca się do częstotliwości sygnałów na szynie magistrali bez odniesienia do szerokości magistrali. Przy tej samej częstotliwości wyrażonej w megatransferach przesył danych na magistrali 16-bitowej (wide) będzie dwukrotnie szybszy niż na magistrali 8-bitowej (narrow).

Narrow SCSI - "wąska", 8-bitowa magistrala SCSI wykorzystująca 50-żyłowy kabel, wprowadzona standardem SCSI-1.

Packetized Protocol - protokół pakietowy umożliwiający przesyłanie grup rozkazów i danych statusowych w fazie transmisji danch w trybie synchronicznym.

Quick Arbitration Select (QAS) - szybkie rozstrzyganie i wybór - uproszczona wersja fazy arbitrażu pozwalająca na skrócenie czasu uzyskiwania dostępu do magistrali.

SCSI Configures Auto Magically (SCAM) - magiczna automatyczna konfiguracja SCSI - wprowadzony standardem SCSI-2 algorytm konfigurowania urządzeń. Kontroler SCSI obsługujący ten typ pracy może sam nadać identyfikator (ID) sobie i wszystkim podłączonym do niego urządzeniom peryferyjnym. Obsługa SCAM daje także kontrolerowi możliwość zarządzania resetowaniem całej magistrali.

SCSI Fast-20 - odnosi się do określonej standardem SCSI-3 prędkości przesyłu danych 20 MT (20 MB/s dla magistrali 8-bitowej i 40 MB/s dla 16-bitowej). Marketingowe określenie dla grupy urządzeń pracujących z prędkością 20 MT, to Ultra SCSI dla magistrali 8-bitowej lub Ultra Wide SCSI dla 16-bitowej.

SCSI Fast-40 - odnosi się do określonej standardem SCSI-3 prędkości przesyłu danych 40 MT (40 MB/s dla magistrali 8-bitowej i 80 MB/s dla 16-bitowej). Urządzenia pracujące z tą prędkością oznaczane są odpowiednio do szerokości magistrali jako Ultra 2 SCSI lub Wide Ultra 2 SCSI.

SCSI Fast-80 - odnosi się do określonej standardem SCSI-3 prędkości synchronicznego przesyłu danych 80 MT (160 MB/s dla magistrali 16-bitowej). Ponieważ wszystkie urządzenia SCSI Fast-80 pracują na magistrali 16-bitowej, są oznaczane po prostu jako Ultra 3 SCSI, Ultra160 SCSI lub Ultra160+ SCSI.

SCSI Fast-160 - odnosi się do określonej standardem SCSI-3 prędkości synchronicznego przesyłu danych 160 MT (320 MB/s). Oznaczenie handlowe, to Ultra320 SCSI.

SCSI Parallel Interface (SPI) interfejs równoległy SCSI - standard SCSI-3 opisujący fizyczny poziom interfejsu równoległego SCSI - złącza, parametry kabli, oznaczenie wyprowadzeń, charakterystyki elektryczne. Przeszedł kilka etapów rozwoju: SPI, Fast-20 (rozwinięcie SPI), SPI-2, SPI-3, SPI-4 i najnowszy SPI-5.

SCSI Trade Association (STA) - organizacja przemysłowa zajmująca się promowaniem i wdrażaniem standardów SCSI, określająca specyfikacje i ich nazwy.

Serial Attached SCSI (SAS) - szeregowe podłączenie SCSI - szeregowy interfejs komunikacyjny przeznaczony głównie do podłączania dysków twardych, częściowo kompatybilny z interfejsem SATA. Obecnie osiąga prędkość przesyłu danych do 12 Gb/s.

Single Connector Attachment (SCA) - 80-kontaktowe podłączenie dysków twardych stosowane w dyskach twardych w celu umożliwienia wymiany dysku w trakcie pracy urządzenia, np. macierzy RAID. pl/images/scsi-se. png" title="SCSI SE" alt="SCSI SE" width="50" height="50"/>Single Ended SCSI (SE) - asymetryczny SCSI - oznacza zwykły, jednobiegunowy interfejs SCSI, w którym dla każdego sygnału jest osobny przewód z odpowiadającym mu przewodem masy. Sterowanie odbywa się za pomocą zmiany poziomu napięcia. Ponieważ wszystkie sygnały magistrali SCSI są zanegowane, niski poziom napięcia (poniżej 0, 8 V) odpowiada logicznej "1", a wysoki (powyżej 2, 4V) - "0"

Single Transition clocking (ST) - Z każdym z sygnałów REQ i ACK synchronizowana jest tylko jedna porcja danych

Small Computer Systems Interface (SCSI) - interfejs systemowy dla małych komputerów - interfejs opracowany dla połączenia na jednej magistrali urządzeń różnych typów i różnego przeznaczenia, jak dyski twarde, napędy magnetooptyczne, skanery, napędy taśmowe, napędy optyczne i inne. Interfejs ten jest stosowany w różnych systemach komputerowych, nie tylko klasy PC. Standard SCSI określa parametry fizyczne interfejsu oraz system komend i komunikatów do zarządzania urządzeniami.

Synchronous Transfer - transfer synchroniczny - wymiana danych pomiędzy kontrolerem, a urządzeniem peryferyjnym odbywa się z wcześniej uzgodnioną prędkością, przy tym oba urządzenia powinny tę prędkość obsługiwać. Prędkość przesyłu danych przy transferze synchronicznym zależy tylko od charakterystyk kabla i urządzeń na magistrali. Uzgodnienie prędkości przekazu danych odbywa się zawsze w trybie asynchronicznym. Na różnicowym interfejsie SCSI przy przekazie synchronicznym można osiągnąć prędkość transferu danych 640 MB/s.

Tagged queuing - uporządkowana kolejność - funkcja wprowadzona dla podniesienia wydajności interfejsu SCSI. Począwszy od SCSI-2 kontroler oraz urządzenia peryferyjne mogą zmieniać kolejność wykonywania komend, aby zminimalizować wyszukiwanie informacji na dysku twardym lub innym nośniku.

Target - cel, urządzenie docelowe - to odbiornik komend na interfejsie SCSI. Urządzeniem docelowym może być dowolne urządzenie SCSI. Zawsze pracuje w parze z inicjatorem.

Termination - terminowanie - w związku z powstającymi w przewodach odbiciami, falami stojącymi i innymi zakłóceniami, obydwa końce magistrali SCSI muszą być obciążone terminatorami - odpowiednio dobranymi układami rezystorów.

Training Patterns - okresowo przesyłane sekwencje specjalnych impulsów wzorcowych wykorzystywane w trybie Ultra-320 i Ultra-640 w celu kalibracji torów odbiorczych. Ze względu na różnice w parametrach kabli oraz różnorodne efekty falowe dochodzi do różnic w czasie propagacji sygnałów. Przesunięcie w stosunku do wyznaczających je po stronie nadawczej impulsów zegarowych ma istotne znaczenie w najszybszych realizacjach magistrali SCSI.

Wide SCSI - "szeroki" SCSI - określenie 16-bitowego wariantu magistrali SCSI wykorzystującego 68-żyłowy przewód opisany w standardzie SCSI-3 SPI.

Wersje standardu SCSI

Przed ujednoliceniem standardu SCSI wielu producentów na własną rękę wprowadzało swoje rozwiązania. W konsekwencji na rynku pojawiło się wiele różnych urządzeń, które, mimo deklarowanej zgodności ze standardem SCSI, wcale ze sobą nie współpracowały. Przez to standard ten często był nazywany pseudostandardem lub brakiem standardu SCSI. Norma SCSI-1, aby zachować elastyczność i nie ograniczać inwencji producentów, pozwalała na liczne odstępstwa, które skutkowały niekompatybilnością wielu urządzeń. Również kolejna próba rozwiązania tego problemu - norma SCSI-2, okazała się zbyt elastyczna. Ponieważ nie wszystkie rozkazy musiały być implementowane, nadal z łatwością można było spotkać urządzenia zgodne ze standardem SCSI, które nie mogły się ze sobą komunikować. O wiele lepiej z kwestią niezgodności poradziła sobie najnowsza norma - SCSI-3, jednak, mimo deklarowanej zgodności wstecz, budując system oparty na magistrali SCSI, trzeba pamiętać o wielu niuansach. Do najważniejszych szczegółów należą:

wiek urządzenia: - im większa różnica wieku urządzeń, tym łatwiej mogą wystąpić różne problemy we współpracy,

prędkość urządzenia: wprawdzie można używać szybkich dysków na wolnym kontrolerze lub powolne dyski podłączyć do wydajnego kontrolera, jednak w wyniku negocjacji pomiędzy urządzeniami prędkość transferów zostanie ustalona na poziomie obsługiwanym przez najwolniejsze z nich.

sposób przekazywania sygnałów: wymieszanie urządzeń przekazujących sygnały w różne sposoby może doprowadzić do istotnego obniżenia wydajności magistrali, a nawet do uszkodzenia urządzeń. Urządzenia HVD nie są zgodne elektrycznie z urządzeniami LVD i SE. Wymieszanie tych urządzeń na jednej szynie doprowadzi do uszkodzenia urządzeń LVD lub SE.

Szerokość szyny: wymieszanie urządzeń na magistrali 8-bitowej narrow i 16-bitowej wide na ogół jest możliwe, jednak trudno z góry gwarantować pełną funkcjonalność takiego układu.

Jakość wykonania: aby zapewnić prawidłową pracę systemu i uniknąć konfliktów, najlepiej korzystać z kontrolerów, kabli, terminatorów i przejściówek rekomendowanych przez producenta.

SCSI-1

Pierwsza wersja standardu - SCSI przewidywała zastosowanie 8-bitowej szyny danych, maksymalny transfer danych w trybie asynchronicznym - do 1, 5 MB/s, a w trybie synchronicznym do 5 MB/s. Magistrala wykorzystywała 24 linie sterowane napięciowo lub znacznie rzadziej różnicowo (HVD). Na magistrali mogło występować maksymalnie 8 urządzeń. Maksymalna długość 50-żyłowego kabla w przypadku sterowania napięciowego wynosiła 6 m, a dla sterowania różnicowego - 25 m. Standard SCSI-1 przewidywał opcjonalną kontrolę parzystości w celu eliminacji błędów w transmisji danych. Urządzenia SCSI-1 obecnie najłatwiej spotkać w muzeach techniki.

SCSI-2

Przyjęta w 1994 r. norma SCSI-2 wdrożyła wiele istotnych zmian. Do najważniejszych z nich należą:
- wprowadzenie "szerokiego" 16-bitowego wariantu magistrali wykorzystującego 68-żyłowy kabel,
- zwiększenie maksymalnej liczby urządzeń na szynie - 16-bitowa magistrala może obsługiwać do 16 urządzeń,
- poprawienie charakterystyk kabli i złącz,
- wprowadzenie aktywnego terminowania, co zwiększyło niezawodność transmisji sygnałów na szynie,
- rozszerzenie spisu obsługiwanych komend, co pozwoliło na obsługę skanerów, CD-ROMów i innych urządzeń,
- wprowadzenie kolejkowania komend Command Queuing,
- szybszy protokół Fast-SCSI, pozwalający na zwiększenie częstotliwości szyny do 10 MHz,
- szersze zastosowanie sterowania różnicowego, umożliwiającego użycie dłuższych kabli.

SCSI-3


SCSI-3, to ostatnia wersja standardu, nadal znajdująca zastosowanie głównie w serwerach. W odróżnieniu od wcześniejszych norm, SCSI-3, to nie jeden, ale cała rodzina wzajemnie powiązanych standardów w wielopoziomowym modelu. Opisy poszczególnych jego części zajmują grube tomy. Podstawowe poziomy standardu SCSI, to:
- Fizyczny - opisujący podłączenia, przewody, oznaczenie wyprowadzeń, charakterystyki elektryczne;
- Transportowy - fazy szyny, pakiety, sposoby wymiany informacji;
- Architektury - opisujący modele SCSI, wywołania komend, reakcje na wywołania, kolejność komend;
- Common Command Set (CCS) - wspólny dla wszystkich urządzeń zestaw komend;
- Specyficzne zestawy komend - polecenia dla określonych typów urządzeń, np. zapis blokowy dla dysków twardych, zapis strumieniowy itd.

SCSI-3 SPI

Pierwsza wersja SCSI-3 opisująca fizyczny poziom standardu (SPI) została przyjęta w 1995 r., a rozszerzona w 1996 r. i przewidywała:
- częstotliwość szyny 20 MHz (Fast-20) z prędkością transferów 20 MB/s dla magistrali 8-bitowej i 40 MB/s dla 16-bitowej;
- metody przekazywania sygnałów SE lub HVD;
- szerokość szyny 8 (Ultra SCSI) lub 16 (Ultra Wide SCSI) bitów;
- liczbę obsługiwanych urządzeń dla HVD 16 dla magistrali 16-bitowej i 8 dla 8-bitowej;
- liczbę obsługiwanych urządzeń dla SE 8 dla kabla o długości do 1, 5 m i 4 dla kabla długości powyżej 1, 5 m do 3 m;
- 68-żyłowy kabel "P" dla magistrali 16-bitowej i 50-żyłowy kabel "A" dla 8-bitowej;
- Terminatory pasywne lub FPT dla SE oraz terminatory HVD dla HVD.

SCSI-3 SPI-2

Standard drugiego pokolenia SCSI-3 SPI-2 został przyjęty w 1998 r. Do najważniejszych zmian należały:
- podniesienie częstotliwości szyny do 40 MHz (Fast-40) z prędkością transferów 40 MB/s dla magistrali 8-bitowej i 80 MB/s dla 16-bitowej;;
- nowy, niskonapięciowy różnicowy sposób przekazywania sygnałów (LVD), który w praktyce wyparł HVD;
- Multimode Operation - specyfikacja pozwalająca pracować na jednej szynie równocześnie urządzeniom LVD i SE;
- Single Connector Attachment SCA-2 - nowa specyfikacja 80-kontaktowego złącza dla dysków SCSI pozwalającego na podłączanie "na gorąco" bez wyłączania całego systemu;
- przewidziano wprowadzenie 32-bitowego wariantu magistrali pozwalającego na podłączenie równocześnie do 32 urządzeń, jednak 32-bitowa magistrala nie znalazła zastosowania w praktyce;
- maksymalna długość kabla przy sterowaniu różnicowym wynosiła 25 m;
- maksymalna liczba obsługiwanych urządzeń przy sterowaniu różnicowym wynosiła 8 dla magistrali 8-bitowej i 16 dla 16-bitowej, a przy sterowaniu LVD i kablu o długości powyżej 12 m maksymalnie 2 urządzenia niezależnie od szerokości magistrali;

SCSI-3 SPI-3

Przyjęty w 2000 r. standard SCSI-3 SPI-3 przewidywał:
- wzrost częstotliwości magistrali do 80 MHz (Fast-80);
- wykorzystanie do synchronizacji danych obu zbocz zegarowych sygnałów REQ i ACK - (DT);
- zastosowanie kodów CRC - Cyclic Redundancy Check dla zagwarantowania prawidłowości przesyłanych danych;
- odejście od 8-bitowej magistrali - wszystkie urządzenia zgodne ze SCSI-3 SPI-3 korzystają z magistrali 16-bitowej;
- wprowadzenie protokołu pakietowego Packetized Protocol w celu przyśpieszenia przekazywania grup rozkazów;
- uproszczenie mechanizmu uzyskiwania dostępu do magistrali (faza arbitrażu) - QAS - Quick Arbitration Select;
- zastosowanie protokołu diagnostycznego Domain Validation umożliwiającego wykrycie błędów w instalacji terminatorów, nieprawidłowości w przejściach z magistrali 8-bitowej na 16-bitową oraz inne problemy po fizycznej stronie połączenia w procesie negocjacji optymalnej szybkości przesyłania danych po szynie;
- rezygnację z wysokonapięciowego sterowania różnicowego (HVD);
- rezygnację z 32-bitowego wariantu magistrali, który tym samym nigdy nie doczekał się praktycznej realizacji;
- rezygnację z technologii SCAM, która wprawdzie była dobrym pomysłem, ale w zastosowaniach praktycznych często rodziła zbyt dużo problemów z konfiguracją urządzeń.
- kontrolery Ultra3 SCSI pozwalały na obsługę do 16 urządzeń na 68-żyłowym kablu o długości do 12 m lub dwóch urządzeń na kablu długości do 25 m,
- ponieważ zastosowanie zmian wprowadzonych normą SCSI-3 SPI-3 nie było obowiązkowe (wystarczyło spełnić jeden z warunków, by oznaczyć urządzenie, jako Ultra3 SCSI), producenci sami wprowadzili podobne specyfikacje - Ultra 160 SCSI (Ultra 160/m SCSI) i Ultra 160+ SCSI.

Ultra 160/m SCSI

Specyfikacja Ultra 160/m SCSI (Ultra 160) przewidywała jako obowiązkowe zastosowanie trzech spośród pięciu podstawowych cech starnardu SCSI-3 SPI-3:
- transfery w trybie Fast 80 DT,
- kody korekcji CRC,
- protokół diagnostyczny Domain Validation.
Zastosowanie QAS i Packetized Protocol według tej specyfikacji są opcjonalne. Podobnie opcjonalne jest stosowanie trybu LVD/SE multimode przy podstawowym niskonapięciowym sterowaniu różnicowym LVD.

Ultra 160+ SCSI

Urządzenia zgodne ze specyfikacją Ultra 160+ SCSI muszą obowiązkowo obsługiwać:
- transfery w trybie Fast-80 DT;
- obsługę kodów korekcji CRC;
- protokół Domain Validation;
- protokół Packetized Protocol;
- arbitraż w trybie QAS.
Sterowanie odbywa się w trybie LVD, jednak dopuszczalna jest obsługa urządzeń sterowanych napięciowo w trybie LVD/SE Multimode.

SCSI-3 SPI-4

Norma SCSI-3 SPI-4, znana też jako Ultra-320 została opublikowana w 2002 r. Aby osiągnąć niezakłócony transfer z prędkością 320 MB/s:
- transfery obowiązkowo odbywają się z wykorzystaniem obu zbocz zegarowych sygnałów ACK i REQ - (DT);
- wprowadzono FRC - Free Running Clock - drobne zmiany częstotliwości zegarowych kompensujących efekt ISI - Inter Symbol Interference, polegający na wzajemnym oddziaływaniu sąsiednich impulsów;
- wprowadzono Training Patterns - okresowe sekwencje impulsów wzorcowych pozwalających na kalibrację parametrów torów odbiorczych i zapobegających rozsynchronizowaniu się sygnałów;
- przesyłane po magistrali SCSI-3 Ultra-320 dane są chronione kodami CRC;
- inicjator może określać przy pomocy zestawu protokołów DV - Domain Validation parametry jednostek docelowych i cechy konfiguracyjne systemu;
- wprowadzono możliwość przekazywania rozkazów i danych statusowych w specjalnych pakietach (Packetized Transfers) z pełną prędkością 320 MB w fazie transferu danych, co jest odstępstwem od zasady przesyłania rozkazów w trybie asynchronicznym z prędkością 5 MB/s;
- strona nadawcza może korygować amplitudę sygnału w celu poprawienia jego czytelności - Transmitter pre-compensation;
- fakultatywnie możliwe jest zastosowanie po stronie odbiornika filtra AAF - Adjustable Active Filter, mającego za zadanie zwiększenie odstępu sygnału od szumu;
- kontrolery SCSI-3 Ultra-320 do komunikacji z komputerem wykorzystują 64-bitową magistralę PCI lub magistralę PCI-Express, z tego względu praktycznie nie spotyka się ich w komputerach klasy PC;
- w przypadku połączenia o długości kabla powyżej 1, 5 m konieczne jest zastosowanie okrągłego, ekranowanego przewodu;
- maksymalna długość kabla wynosi 12 m;
- maksymalnie mozna podłączyć 16 urządzeń;
- stosuje się sterowanie różnicowe LVD, aczkolwiek większość kontrolerów zachowała zgodność wstecz w trybie LVD/SE Multi Mode z urządzeniami sterowanymi napięciowo SE;
- zrezygnowano z obsługi urządzeń SCSI pracujących na magistrali 8-bitowej, a próby podłączenia takich urządzeń przez przejściówki zwykle prowadzą do drastycznego obniżenia wydajności magistrali;

SCSI-3 SPI-5

Kolejne pokolenie SCSI-3 SPI-5, określane też jako Ultra-640 lub Fast-320 zadebiutowało w 2003 r. Przy częstotliwości magistrali 160 MHz i synchronicznym transferze danych w trybie DT udało się osiągnąć przepustowość 640 MB/s. Przy tej prędkości transferów, przepustowość magistrali PCI nawet w wersji 64-bitowej nie jest wystarczająca, konieczne okazało się wykorzystanie magistrali PCI-Express co najmniej x4. Oprócz kolejnego podwojenia przepustowości magistrali definitywnie zaniechano obsługi urządzeń sterowanych napięciowo (SE). Ze względu na charakterystyki elektryczne przewodów, łączenie na magistrali SCSI-3 Ultra-640 więcej niż dwóch urządzeń okazało się niepraktyczne. Wprawdzie teoretycznie można było podłączyć do 16 urządzeń na kablu o długości do 10 m, jednak spadki wydajności były zbyt duże, by miało to jakiś sens. W związku z wdrożeniem szeregowego interfejsu SCSI SAS, producenci skonstruowali niewiele urządzeń SCSI Ultra-640. Prace nad kolejnym pokoleniem interfejsu równoległego SCSI-3 SPI-6 (Ultra-1280) nie zostały nigdy ukończone.

Serial Attached SCSI (SAS)

Równoległy interfejs SCSI zbliżył się do granic możliwej do osiągnięcia w praktyce wydajności. Dalszy wzrost przepustowości wymagał zastosowania szeregowej technologii przesyłu danych. W 2004 r. pojawił się standard Serial Attached SCSI (SAS), który stopniowo wypiera SCSI w wersji równoległej.
Kontroler SAS zapewnia niezależny kanał komunikacji dla każdego podłączonego urządzenia, podczas gdy w przypadku interfejsu SCSI w danym momencie tylko jedno, spośród wielu podłączonych do wspólnej szyny urządzeń, mogło komunikować się z kontrolerem. W praktyce oznacza to, że przepustowość magistrali równoległej musiała być dzielona pomiędzy wszystkie podłączone do niej urządzenia. W przypadku SAS ilość kolejnych podłączonych urządzeń w znikomym stopniu wpływa na pracę pozostałych. Kolejną przewagą magistrali szeregowej jest to, że czas propagacji sygnałów na różnych liniach magistrali równoległej musiał być jednakowy, aby nie doszło do rozsynchronizowania sygnałów. Magistrala szeregowa nie ma takich problemów. Już pierwsza wersja standardu SAS zapewniała transmisję danych z prędkością 300 MB/s.
Serial Attached SCSI obejmuje 3 protokoły:
- Protokół Serial SCSI (Serial SCSI Protocol - SSP) - obsługujący także równoległe SCSI. Jest to protokół pracujący w trybie full-duplex, a więc zdolny do równoczesnego przesyłania rozkazów oraz danych w obu kierunkach,
- Protokół Serial ATA (SATA Tunneled Protocol - STP) - do przetwarzania rozkazów SATA na rozkazy SAS, zapewniający częściową kompatybilność z urządzeniami SATA,
- Protokół zarządzania (SCSI Management Protocol - SMC) - przeznaczony do obsługi danych zarządzających.
Sygnały przekazywane są za pomocą dwóch zestawów linii różnicowych (nadawczy Tx i odbiorczy Rx - w sumie 4 żyły). Oprócz tego, w kablu SAS znajdują się żyły uziemiające. Interfejs SAS jest w jedną stronę mechanicznie zgodny ze złączem SATA - Pozwala podłączyć urządzenia SATA do kontrolera SAS. Wypełnione wcięcie uniemożliwia podłączenie dysków SAS do kontrolera SATA. Zresztą tak podłączone urządzenie i tak by nie działało. Ze względu na wyższe napięcia wykorzystywane przez urządzenia SAS, aby zapobiec uszkodzeniom urządzeń SATA, konieczna jest procedura rozpoznania urządzenia przez kontroler i dopasowania elektrycznej charakterystyki sygnału. Napięcia nadajnika w standardzie SATA mieszczą się w zakresie 0, 4-0, 5 V, zaś odbiornika w zakresie 0, 325 - 0, 6 V. W standardzie SAS są to zakresy odpowiednio dla nadajnika 0, 8-1, 6 V i dla odbiornika 0, 275-1, 6 V. Większe zakresy napięć w standardzie SAS podyktowane są możliwością użycia znacznie dłuższych kabli - do 10 m. Urządzenia SAS nie wymagają używania terminatorów. Współczesne dyski twarde SAS są wyposażone w podwójne fizyczne porty, co umożliwia zastosowanie ich w systemach z nadmiarowym kontrolerem SAS. Wcześniej dyski SAS 2, 5" nie miały takiej możliwości.
Pierwsza generacja urządzeń SAS mogła przesyłać dane z prędkością 300 MB/s. W 2009 r. pojawiły się urządzenia SAS-2 przesyłające dane z prędkością 600 MB/s. Najnowsze, dostępne od 2013 r., urządzenia SAS-3 mogą osiągnąć prędkość przesyłu danych do 1, 2 GB/s. Trwają prace nad kolejną wersją standardu - SAS-4, który ma pozwolić na transfer danych z prędkością 2, 4 GB/s. Komitet T10 przewiduje zakończenie prac nad nową wersją standardu na 2017 r.

Publiczne interfejsy API dodatku Widoczność magazynu - Supply Chain Management | Dynamics 365 | Microsoft LearnPrzejdź do głównej zawartości

Ta przeglądarka nie jest już obsługiwana.

Przejdź na przeglądarkę Microsoft Edge, aby korzystać z najnowszych funkcji, aktualizacji zabezpieczeń i pomocy technicznej.

  • Artykuł
  • Czas czytania: 15 min

Ważne

Rozwiązanie Dynamics 365 for Finance and Operations stało się zbiorem aplikacji przystosowanych do pomocy w zarządzaniu konkretnymi funkcjami biznesowymi. Aby uzyskać więcej informacji o tych zmianach, przejdź na Przewodnik licencjonowania systemu Dynamics 365.

W tym artykule opisano publiczne interfejsy API udostępniane przez dodatek Widoczność magazynu.

Publiczny interfejs API REST w dodatku Widoczność magazynu przedstawia kilka konkretnych punktów końcowych integracji. Obsługuje on cztery główne typy interakcji:

  • Księgowanie dostępnych zmian zapasów w dodatku z systemu zewnętrznego
  • Konfigurowanie lub zastępowanie ilości dostępnych zapasów w dodatku z zewnętrznego systemu
  • Księgowanie zdarzeń rezerwacji w dodatku z systemu zewnętrznego
  • Badanie bieżących ilości dostępnych zapasów z systemu zewnętrznego
  • W poniższej tabeli przedstawiono obecnie dostępne interfejsy API:

    ŚcieżkaMetodaopis
    /api/environment/{environmentId}/onhandKsięgujTworzenie jednego zdarzenia zmiany dostępnych zapasów/api/environment/{environmentId}/onhand/bulkTworzenie wielu zdarzeń zmiany/api/environment/{environmentId}/setonhand/{inventorySystem}/bulkUstawianie/zastępowanie dostępnych ilości/api/environment/{environmentId}/onhand/reserveTworzenie jednego miękkiego zdarzenia rezerwacji/api/environment/{environmentId}/onhand/reserve/bulkTworzenie wielumiękkich zdarzeń rezerwacji/api/environment/{environmentId}/onhand/unreserveWycofanie jednego miękkiego zdarzenia rezerwacji/api/environment/{environmentId}/onhand/unreserve/bulkWycofanie wielu miękkich zdarzeń rezerwacji/api/environment/{environmentId}/onhand/changescheduleUtwórz jedną zaplanowaną zmianę od ręki/api/environment/{environmentId}/onhand/changeschedule/bulkUtwórz wiele zaplanowanych zmian od ręki z datami/api/environment/{environmentId}/onhand/indexqueryZapytanie przy użyciu metody post (zalecane)PobierzZapytanie przy użyciu metody GET/api/environment/{environmentId}/onhand/exactqueryDokładne zapytanie przy użyciu metody POST/api/environment/{environmentId}/allocation/allocateUtwórz jedno zdarzenie przydziału/api/environment/{environmentId}/allocation/unallocateUtwórz jedno zdarzenie cofnięcia przydziału/api/environment/{environmentId}/allocation/reallocateUtwórz jedno zdarzenie ponownego przydziału/api/environment/{environmentId}/allocation/consumeTworzenie jednego zdarzenia zużycia/api/environment/{environmentId}/allocation/queryWynik alokacji zapytań

    Uwaga

    Część ścieżki {environmentId} jest identyfikatorem środowiska w usługach Microsoft Dynamics Lifecycle Services.

    API zbiorcze może zwrócić maksymalnie 512 rekordów dla każdego żądania.

    Firma Microsoft dostarcza kolekcję gotowych do użycia żądań Postman. Kolekcję można zaimportować do oprogramowania Postman, korzystając z następującego udostępnionego łącza: https://www. com/collections/95a57891aff1c5f2a7c2

    Znajdowanie punktu końcowego zgodnie ze środowiskiem Lifecycle Services.

    Mikrousługa Widoczność magazynu jest wdrażana w Microsoft Azure Service Fabric w wielu lokalizacjach geograficznych i wielu regionach. Obecnie nie istnieje centralny punkt końcowy, który może automatycznie przekierować żądanie do odpowiedniej lokalizacji geograficznej i regionu. W związku z tym należy skomponować fragmenty informacji w adresie URL, stosując następujący wzorzec:

    https://inventoryservice. <RegionShortName>-il<IsLandNumber>. gateway. prod. island. powerapps. com

    Krótka nazwa regionu znajduje się w środowisku Lifecycle Services. W poniższej tabeli przedstawiono obecnie dostępne regiony.

    Region systemu AzureKrótka nazwa regionuAustralia WschodniaeauAustralia Południowo-WschodniaseauKanada środkowaccaKanada wschodniaecaEuropa PółnocnaneuEuropa ZachodniaweuWschodnie stany USAeusZachodnie stany USAwusPołudniowe Zjednoczone KrólestwosukZachodnie Zjednoczone KrólestwowukJaponia WschodniaejpJaponia ZachodniawjpIndie ŚrodkowecinIndie PołudniowesinSzwajcaria PółnocnanchSzwajcaria ZachodniawchFrancja PołudniowasfrAzja WschodniaeasAzja Południowo-WschodniaseasPółnocne Zjednoczone Emiraty ArabskienaeNorwegia WschodniaenoNorwegia ZachodniawnoZachodnia Republika Południowej AfrykiwzaPółnocna Republika Południowej Afrykinza

    Numer wyspy wskazuje miejsce wdrażania środowiska Lifecycle Services w Service Fabric. Obecnie nie można pobrać tych informacji ze strony użytkownika.

    Firma Microsoft wbudowała interfejs użytkownika (UI) w Power Apps, dzięki czemu można uzyskać pełny punkt końcowy mikrousługi. Więcej informacji można znaleźć w temacie Znajdowanie punktu końcowego usługi.

    Uwierzytelnianie

    Token zabezpieczeń platformy służy do wywołania publicznego interfejsu API Widoczność magazynu. Dlatego należy wygenerować token Azure Active Directory (Azure AD) przy użyciu aplikacji Azure AD. Następnie należy użyć tokenu Azure AD, aby uzyskać token dostępu z usługi zabezpieczeń.

    Firma Microsoft dostarcza kolekcję gotowych do pobierania tokenów Postman. com/collections/496645018f96b3f0455e" data-linktype="external">https://www. com/collections/496645018f96b3f0455e

    Procedura uzyskiwania tokenu usługi zabezpieczeń jest następująca.

    1. Zaloguj się do portalu Azure i użyj go, aby znaleźć wartości clientId i clientSecret dla swojej aplikacji Dynamics 365 Supply Chain Management.

    2. Pobierz token usługi Azure AD (aadToken), przesyłając żądanie HTTP z następującymi właściwościami:

    3. URL: https://login. microsoftonline. com/${aadTenantId}/oauth2/v2. 0/token

    4. Metoda: GET

    5. Treść (dane formularza):

      KluczWartośćclient_id${aadAppId}client_secret${aadAppSecret}grant_typeclient_credentialszakres0cdb527f-a8d1-4bf8-9436-b352c68682b2/. domyślne

      Odpowiedź powinna zawierać token Azure AD (aadToken). Powinna ona przypominać następujący przykład.

      {"token_type": "Bearer","expires_in": "3599","ext_expires_in": "3599","access_token": "eyJ0eX... 8WQ"}
    6. Sformułuj żądanie JavaScript Object Notation (JSON) przypominające następujący przykład.

      "grant_type": "client_credentials","client_assertion_type": "aad_app","client_assertion": "{Your_AADToken}","scope": "https://inventoryservice. operations365. dynamics. com/. default","context": "{$LCS_environment_id}","context_type": "finops-env"}

      Należy uwzględnić następujące informacje:

    7. Wartość client_assertion musi być tokenem Azure AD (aadToken) otrzymanym w poprzednim kroku.
    8. Wartość context musi być identyfikatorem środowiska Lifecycle Services, w którym ma zostać wdrożony dodatek.
    9. Ustaw wszystkie inne wartości, tak jak pokazano w przykładzie.
    10. Pobierz token usługi (access_token), przesyłając żądanie HTTP z następującymi właściwościami:

    11. URL: https://securityservice. com/token
    12. Metoda: POST
    13. Nagłówek HTTP: zawiera wersję API. (Klucz to Api-Version, a wartość to 1. 0. )
    14. Treść: umożliwia dołączenie żądania JSON utworzonego w poprzednim kroku.
    15. Odpowiedź powinna zawierać token dostępu (access_token). Musisz użyć tego tokenu do wywołania interfejsu API Widoczność magazynu. Oto przykład.

      "access_token": "{Returned_Token}","token_type": "bearer","expires_in": 3600}

    Gdy do wywołania interfejsów API publicznych widoczności zapasów jest używać kolekcji żądań Postman, należy dla każdego żądania dodać token okaziciela. Aby znaleźć token okaziciela, wybierz kartę Autoryzacja pod adresem URL żądania, wybierz typ tokenu okaziciela i skopiuj token dostępu, który został pobrany w ostatnim kroku. W dalszych częściach tego artykułu, $access_token będzie używany do reprezentowania tokena, który został pobrany w ostatnim kroku.

    Tworzenie zdarzeń zmiany dostępnych zapasów

    Istnieją dwa interfejsy API do tworzenia zdarzeń zmiany dostępnych zapasów:

  • Tworzenie jednego rekordu: /api/environment/{environmentId}/onhand
  • Tworzenie wielu rekordów: /api/environment/{environmentId}/onhand/bulk
  • W poniższej tabeli podsumowano znaczenie poszczególnych pól w treści JSON.

    Identyfikator polaOpisidUnikatowy identyfikator określonego zdarzenia zmiany. Jeśli komunikacja z usługą nie powiedzie się w trakcie księgowania, ten identyfikator służy do zapewnienia, że to samo zdarzenie nie zostanie zliczone dwukrotnie w systemie. organizationIdIdentyfikator organizacji połączonej ze zdarzeniem. Wartość jest mapowana na identyfikator organizacji lub obszaru danych w Supply Chain Management. productIdIdentyfikator produktu. quantitiesIlość, o którą musi zostać zmieniona dostępna ilość. Jeśli na przykład na półce zostanie dołożonych 10 nowych książek, ta wartość będzie wynosić quantities:{ shelf:{ received: 10}}. Jeśli trzy książki zostaną usunięte z półki lub sprzedane, ta wartość będzie wynosić quantities:{ shelf:{ sold: 3}}. dimensionDataSourceŹródło danych wymiarów używanych w zdarzeniu zmiany księgowania i zapytaniu. W przypadku określenia źródła danych można wykorzystać niestandardowe wymiary z określonego źródła danych. Dodatek Widoczność magazynu może używać konfiguracji wymiarów do mapowania niestandardowych wymiarów na ogólne wymiary domyślne. Jeśli nie określiło wartości dimensionDataSource, w zapytaniach można stosować tylko ogólne wymiary podstawowe. dimensionsDynamiczna para klucz-wartość. Te wartości są mapowane na niektóre wymiary w Supply Chain Management. Można jednak dodać również wymiary niestandardowe (na przykład Źródło), aby wskazać, czy zdarzenie pochodzi z Supply Chain Management, czy z systemu zewnętrznego.

    Parametry siteId i locationId konstruują konfigurację partycji. Należy je zatem określić w wymiarach podczas tworzenia zdarzeń zmiany dostępnego czasu, określania lub zastępowania ilości w dostępnej ilości albo tworzenia zdarzeń rezerwacji.

    Poniższe podsekcji zawierają przykłady, które pokazują sposób używania tych interfejsów API.

    Tworzenie jednego zdarzenia zmiany dostępnych zapasów

    Ten interfejs API tworzy jedno zdarzenie zmiany dostępnych zapasów.

    Path:/api/environment/{environmentId}/onhandMethod:PostHeaders:Api-Version="1. 0"Authorization="Bearer $access_token"ContentType:application/jsonBody:{id: string,organizationId: string,productId: string,dimensionDataSource: string, # Optionaldimensions: {[key:string]: string, },quantities: {[dataSourceName:string]: {[key:string]: number, }, }, }

    W poniższym przykładzie pokazano zawartość przykładowej treści. W tym przykładzie firma ma system punktu sprzedaży (POS), który przetwarza transakcje w sklepie, a tym samym zmiany zapasów. Klient zwrócił do Twojego sklepu czerwoną koszulkę. Aby odzwierciedlić zmianę, publikujesz pojedyncze zdarzenie zmiany dla produktu T-shirt. To zdarzenie spowoduje zwiększenie ilości produktu T-shirt o 1.

    "id": "Test201","organizationId": "usmf","productId": "T-shirt","dimensionDataSource": "pos","dimensions": {"siteId": "1","locationId": "11","posMachineId": "0001","colorId": "red"},"quantities": {"pos": {"inbound": 1}}}

    W poniższym przykładzie pokazano zawartość przykładowej treści bez dimensionDataSource. W takim przypadku element dimensions będzie wymiarami bazowymi. Jeśli dimensionDataSource jest ustawiony, dimensions mogą być wymiarami źródłowymi danych lub wymiarami bazowymi.

    "id": "Test202",

    Tworzenie wielu zdarzeń zmiany

    Ten interfejs API może tworzyć zdarzenia zmian, tak jak może to być interfejs API jednego zdarzenia. Jedyną różnicą jest to, że ten interfejs API może jednocześnie tworzyć wiele rekordów. W związku z tym wartości Path i Body są różne. W tym interfejsie API Body dostarcza tablicę rekordów. Maksymalna dozwolona liczba rekordów wynosi 512. W związku z tym interfejs API masowych zmian dostępnych pod ręką może obsługiwać do 512 zdarzeń zmian jednocześnie.

    Na przykład w aplikacji Retail Store POS są przetwarzane następujące dwie transakcje:

  • Zamówienie zwrotu jednej czerwonej koszulki
  • Jedna transakcja sprzedaży trzech czarnych koszulek
  • W takim przypadku możesz uwzględnić obie aktualizacje zapasów w jednym wywołaniu API.

    /api/environment/{environmentId}/onhand/bulk[[key:string]: number, }, }, },... ]

    W poniższym przykładzie pokazano zawartość przykładowej treści.

    ["id": "Test203","SiteId": "Site1","LocationId": "11","posMachineId&quot;: &quot;0001""colorId&quot;: &quot;red"},"pos": { "inbound": 1}}},"id": "Test204","colorId&quot;: &quot;black"},"pos": { "outbound": 3}}}]

    Ustawianie/zastępowanie dostępnych ilości

    Interfejs Ustaw dostępną ilość umożliwia zastąpienie bieżących danych określonego produktu. Ta funkcja jest zazwyczaj używana do aktualizacji inwentaryzacji zapasów. Na przykład podczas codziennego inwentaryzacji sklep może stwierdzić, że rzeczywisty zapas czerwonej koszulki wynosi 100. W związku z tym ilość przychodząca w punkcie sprzedaży musi zostać zaktualizowana do 100, niezależnie od tego, jaka była poprzednia ilość. Ten interfejs API umożliwia zastąpienie istniejącej wartości.

    /api/environment/{environmentId}/setonhand/{inventorySystem}/bulk[key:string]: number, }, },modifiedDateTimeUTC: datetime, },... Zachowanie tego interfejsu API różni się od zachowania interfejsów API, które opisano w sekcji Tworzenie zdarzeń zmiany dostępnych zapasów we wcześniejszej części tego artykułu. W tym przykładzie ilość produktu T-shirt przybiera wartość 1.

    "SiteId": "1","posMachineId": "0001""inbound": 100}}}]

    Tworzenie zdarzeń rezerwacji

    Aby korzystać z interfejsu API rezerwacji, należy włączyć funkcję rezerwacji i dokończyć konfigurację rezerwacji. Aby uzyskać więcej informacji (w tym przepływ danych i przykładowy scenariusz), zobacz Konfiguracja rezerwacji (opcjonalnie).

    Tworzenie jednego zdarzenia rezerwacji

    Rezerwacji można dokonać w różnych ustawieniach źródła danych. Aby skonfigurować ten typ rezerwacji, najpierw określ źródło danych w parametrze dimensionDataSource. Następnie w parametrze dimensions określ wymiary zgodnie z ustawieniami wymiarów w docelowym źródle danych.

    Po wywołaniu interfejsu API rezerwacji można kontrolować walidacje rezerwacji, określając parametr logiczny ifCheckAvailForReserv w treści żądania. Wartość True oznacza, że walidacja jest wymagana, podczas gdy wartość False oznacza, że walidacja nie jest wymagana. Wartością domyślną jest True.

    Aby wycofać rezerwację lub cofnąć rezerwację określonych ilości magazynowych, ustaw ilość na wartość ujemną i ustaw parametr ifCheckAvailForReserv na False, aby pominąć weryfikację. Istnieje również dedykowany interfejs API cofania rezerwacji do wykonania tej samej czynności. Różnica polega tylko na sposobu wywoływania tych dwóch interfejsów API. Wycofanie określonego zdarzenia rezerwacji przy użyciu reservationId z interfejsem API wycofaj rezerwację jest łatwiejsze. Aby uzyskać więcej informacji, zobacz sekcję Wycofanie rezerwacji jednego zdarzenia rezerwacji.

    /api/environment/{environmentId}/onhand/reservedimensionDataSource: string,quantityDataSource: string, # optionalmodifier: string,quantity: number,ifCheckAvailForReserv: boolean, }"id": "reserve-0","organizationId": "SCM_IV","productId": "iv_postman_product","quantity": 1,"quantityDataSource": "iv","modifier": "softReservOrdered","ifCheckAvailForReserv": true,"siteId": "iv_postman_site","locationId": "iv_postman_location","colorId": "red","sizeId&quot;: &quot;small"}}

    W poniższym przykładzie pokazano odpowiedź pomyślną.

    "reservationId": "RESERVATION_ID","id": "ohre~id-822-232959-524","processingStatus": "success","message": "","statusCode": 200}

    Tworzenie wielu zdarzeń rezerwacji

    Ten interfejs API jest wersją masową interfejsu API jednego zdarzenia.

    /api/environment/{environmentId}/onhand/reserve/bulkifCheckAvailForReserv: boolean, },... ]

    Zdarzenie wycofania rezerwacji

    Interfejs API Wycofaj rezerwację służy jako operacja dla zdarzeń Rezerwacja. Umożliwia wycofanie zdarzenia rezerwacji określone przez reservationId lub zmniejszenie ilości rezerwacji.

    Wycofanie jednego zdarzenia rezerwacji

    Podczas tworzenia rezerwacji, identyfikator reservationId zostanie uwzględniony w treści odpowiedzi. Musisz podać taki sam reservationId, aby anulować rezerwację, i uwzględnić ten sam organizationId i dimensions użyte w wywołaniu interfejsu API rezerwacji. Na koniec należy określić wartość OffsetQty reprezentującą liczbę towarów, które mają zostać zwolnione z poprzedniej rezerwacji. Rezerwację można w całości lub częściowo wycofać w zależności od podanej wartości OffsetQty. Jeśli na przykład zarezerwowano 100 jednostek towaru, można określić OffsetQty: 10, aby cofnąć rezerwację 10 z początkowo zarezerwowanej ilości.

    /api/environment/{environmentId}/onhand/unreservereservationId: string,OffsetQty: number}

    Poniższy kod pokazuje przykład treści zawartości.

    "id": "unreserve-0","siteid":"iv_postman_site","locationid":"iv_postman_location","ColorId": "red","SizeId&quot;: &quot;small"},"OffsetQty": 1}

    Poniższy kod pokazuje przykład pomyślnej treści odpowiedzi.

    "totalInvalidOffsetQtyByReservId": 0,"id": "ohoe~id-823-11744-883",

    W treści odpowiedzi, jeśli OffsetQty jest mniejsze lub równe ilości rezerwacji, stan processingStatus będzie „powodzenie” i totalInvalidOffsetQtyByReservId będzie 0.

    Jeśli OffsetQty jest większe niż zarezerwowana kwota, stan processingStatus będzie „partialSuccess” i totalInvalidOffsetQtyByReservId będzie różnicą między OffsetQty a zarezerwowaną kwotą.

    Na przykład, jeśli rezerwacja ma ilość 10 i OffsetQty ma wartość 12, totalInvalidOffsetQtyByReservId będzie 2.

    Wycofanie wielu zdarzeń rezerwacji

    Ten interfejs API jest wersją masową interfejsu API jednego zdarzenia.

    /api/environment/{environmentId}/onhand/unreserve/bulkOffsetQty: number}... ]

    Zapytanie o dostępne zapasy

    Użyj interfejsu API zapytania o dostępne zapasy do pobierania bieżących danych o dostępnych zapasach produktów. Możesz użyć tego interfejsu API, gdy musisz znać stany magazynowe, na przykład, gdy chcesz przejrzeć stany magazynowe produktów w swojej witrynie e-commerce lub gdy chcesz sprawdzić dostępność produktów w różnych regionach lub w pobliskich sklepach i magazynach. Interfejs API aktualnie obsługuje wykonywanie zapytań o maksymalnie 5000 pojedynczych towarów według wartości productID. W każdym zapytaniu można określić również kilka wartości siteID i locationID. Maksymalny limit jest określony przez następujące równanie:

    NumOf(SiteID) * NumOf(LocationID) <= 100.

    Zapytanie przy użyciu metody POST

    /api/environment/{environmentId}/onhand/indexqueryfilters: {organizationId: string[],productId: string[],siteId: string[],locationId: string[],[dimensionKey:string]: string[], },groupByValues: string[],returnNegative: boolean, }

    W treści tego żądania dimensionDataSource to wciąż opcjonalny parametr. Jeśli nie jest ustawiony, filters będą traktowane jako wymiary bazowe. Istnieją cztery wymagane pola dla elementu filters: organizationId, productId, siteId i locationId.

  • Element organizationId powinien zawierać tylko jedną wartość, ale nadal jest tablicą.
  • Element productId może zawierać jedną lub więcej wartości. Jeśli jest to pusta tablica, zostaną zwrócone wszystkie produkty.
  • siteId i locationId są używane w dodatku Widoczność zapasów podczas partycjonowania. Można określić więcej niż jedną wartość siteId i locationId w żądaniu kwerendy o dane na dane zamówienie. W bieżącym wydaniu należy określić obie wartości siteId i locationId.
  • Sugerujemy, by użyć parametru groupByValues powinny dla zgodności z konfiguracją na potrzeby indeksowania. com/pl-pl/dynamics365/supply-chain/inventory/inventory-visibility-configuration#index-configuration" data-linktype="relative-path">Konfiguracja hierarchii indeksów produktów.

    Parametr returnNegative określa, czy wyniki zawierają wartości ujemne.

    W poniższym przykładzie pokazano zawartość przykładowej treści. Pokazuje, że można kwerendy dotyczące dostępnych zapasów z wielu lokalizacji (magazynów).

    "filters": {"organizationId": ["usmf"],"productId": ["T-shirt"],"siteId": ["1"],"locationId": ["11", "12", "13"],"colorId": ["red"]},"groupByValues": ["colorId", "sizeId"],"returnNegative": true}

    Poniższe przykłady pokazują sposób wykonywania zapytań dla wszystkich produktów w określonej witrynie i w określonej lokalizacji.

    "productId": [],"locationId": ["11"], },

    Zapytanie przy użyciu metody GET

    GetQuery(Url Parameters):groupByreturnNegative[Filters]

    Oto przykładowy adres URL GET. To żądanie GET jest dokładnie takie samo, jak przykładowe księgowanie przedstawione wcześniej.

    /api/environment/{environmentId}/onhand? organizationId=SCM_IV&productId=iv_postman_product&siteId=iv_postman_site&locationId=iv_postman_location&colorId=red&groupBy=colorId, sizeId&returnNegative=true

    Dokładne zapytanie pod ręką

    Dostępne dokładne zapytania przypominają zwykłe dostępne zapytania, ale umożliwiają określenie hierarchii mapowania między witryną a lokalizacją. Na przykład masz następujące dwie witryny:

  • Lokalizacja 1, która jest mapowana na lokalizację A
  • Lokalizacja 2, która jest mapowana na lokalizację B
  • W przypadku zwykłego dostępnego zapytania, jeśli podasz "siteId": ["1", "2"] i "locationId": ["A", "B"], funkcja Widoczność zasobów automatycznie wyśle zapytanie wynik dla następujących witryn i lokalizacji:

  • Ośrodek 1, lokalizacja A
  • Ośrodek 1, lokalizacja B
  • Ośrodek 2, lokalizacja A
  • Ośrodek 2, lokalizacja B
  • Jak widać, zwykłe dostępne zapytanie nie rozpoznaje, że lokalizacja A istnieje tylko w witrynie 1, a lokalizacja B istnieje tylko w witrynie 2. W związku z tym tworzy nadmiarowe kwerendy. Aby uwzględnić to mapowanie hierarchiczne, można użyć dostępnego dokładnego zapytania i określić mapowania lokalizacji w treści zapytania. W takim przypadku zostaną kwerendy i wyniki zostaną uzyskane tylko dla lokacji 1, lokalizacji A i lokalizacji 2, lokalizacji B.

    Dokładne zapytanie przy użyciu metody POST

    /api/environment/{environmentId}/onhand/exactquerydimensions: string[],values: string[][], },

    W treści tego żądania dimensionDataSource to opcjonalny parametr. Jeśli nie jest ustawiony, dimensions w filters będą traktowane jako wymiary bazowe. Istnieją cztery wymagane pola dla elementu filters: organizationId, productId, dimensions i values.

  • W tablicy dimensionssą wymaganesiteId i locationId, ale mogą pojawiać się razem z innymi elementami w dowolnej kolejności.
  • values może zawierać co najmniej jeden odrębnych tu należy do wartości odpowiadających dimensions.
  • dimensions w filters będą automatycznie dodane do groupByValues.

    "organizationId": ["SCM_IV"],"productId": ["iv_postman_product"],"dimensions": ["siteId", "locationId", "colorId"],"values": [["iv_postman_site", "iv_postman_location", "red"],["iv_postman_site", "iv_postman_location", "blue"], ]},

    Poniższe przykłady pokazują sposób wykonywania zapytań dla wszystkich produktów w wielu witrynach i lokalizacjach.

    "dimensions": ["siteId", "locationId"],["iv_postman_site_1", "iv_postman_location_1"],["iv_postman_site_2", "iv_postman_location_2"], ]},

    Dostępność zapasów

    Widoczność zapasów można skonfigurować, aby było można zaplanować przyszłe zmiany dostępnych zapasów i obliczyć ilości ATP. ATP to ilość towaru, która jest dostępna i którą można obiecać klientowi w następnym okresie. Użycie kalkulacji ATP może znacznie zwiększyć twoje możliwości realizacji zamówień. Aby uzyskać informacje o tym, jak włączyć tę funkcję i jak wchodzić w interakcję z widocznością zapasów za pośrednictwem interfejsu API po włączeniu tej funkcji, zobacz Harmonogramy zmian widoczności zapasów na bieżąco i dostępne do obiecania.

    Alokacja

    Interfejsy API związane z alokacją znajdują się w Przydział widoczności zapasów.

Opinia

Prześlij i wyświetl opinię dla

Dodatkowe zasoby

Specyfikacja interfejsu logicznego Scsi Black And Decker Bdh2400hvp

Bezpośredni link do pobrania Specyfikacja interfejsu logicznego Scsi Black And Decker Bdh2400hvp

Starannie wybrane archiwa oprogramowania - tylko najlepsze! Sprawdzone pod kątem złośliwego oprogramowania, reklam i wirusów

Ostatnia aktualizacja Specyfikacja interfejsu logicznego Scsi Black And Decker Bdh2400hvp