Każdy standard interfejsu komunikacyjnego rozwija się, pojawiają się kolejne wersje, nowe typy złączy, wyższe częstotliwości taktowania, nowe sposoby kodowania danych itd. Dotyczy to również USB, który aktualnie jest dostępny w wersji 3.0, aczkolwiek wcale nie oznacza to, że jest to dopiero trzecia wersja – od początku swojego istnienia przeszedł dziesiątki przeobrażeń. Niestety, producenci sprzętu i oprogramowania nie wprowadzają wszystkich, więc istnieje jeszcze miejsce na rozwój, nawet w ramach znanego już standardu USB 3.0.
Odrobina teorii związanej z USB
Największe pole do popisu istnieje w przypadku protokołu komunikacyjnego używanego w USB. Wciąż jest używany stary BOT, tymczasem od lat istnieje nowszy i szybszy UASP.
Protokół BOT
Od początku istnienia USB urządzenia wykorzystują tzw. protokół BOT (Bulk Only Transfer). Działa on w ten sposób, że program korzystający z USB wysyła „zapytanie” do sterownika, ten do kontrolera sprzętowego, ten z kolei do urządzenia USB, np. dysku. Dysk odpowiada, że może wykonać żądaną operację, a cała odpowiedź wędruje z powrotem przez wszystkie „warstwy” sprzętu i oprogramowania. Rozpoczyna się przesył danych, a po jego zakończeniu dysk informuje o udanej operacji. Dopiero wtedy może odbyć się kolejna operacja odczytu lub zapisu, w której wszystkie komunikaty są przesyłane od nowa.
Problemem jest nie tylko liczba zbędnych komunikatów, jakie wędrują przez magistralę USB, ale także wielkość bloku danych, która wynosi 64 KB. Oznacza to, że każdy taki mały fragment danych wymaga przesłania mnóstwa dodatkowych informacji. Duży plik nie może być przesłany na raz, lecz dopiero po rozdrobnieniu na małe kawałki.
Szybszy protokół UASP
Aby zwielokrotnić szybkość, dołączono do standardu USB 3.0 tzw. protokół UASP, czyli USB Attached SCSI Protocol. Dzięki niemu urządzenie USB może kolejkować komendy i wykonywać kilka poleceń w jednym czasie. W uproszczeniu umożliwia to np. wykonanie odczytu jednego pliku podczas odczytu drugiego. Oczywiście bez UASP też to jest możliwe, ale wymaga chwilowego „porzucenia” jednej operacji, by przeprowadzić drugą. Nowy protokół pozwala wykonać obie naraz.
Tryb turbo
Drugim usprawnieniem jest tryb turbo (działa także w USB 2.0), który zwiększa rozmiar pojedynczych bloków danych z 64 KB do maksymalnie 2 MB. Można go ustawić ręcznie w rejestrze albo za pomocą odpowiednich programów. Niestety, praktyka nie zawsze odpowiada teorii – czasami USB nie zyskuje, lecz wręcz traci swoją przepustowość. W każdym przypadku trzeba wykonać pomiary, by sprawdzić, jakie efekty daje zmiana.
Wymagania
Warunkiem pełnego wykorzystania możliwości UASP jest to, by urządzenia były z nim zgodne, co dotyczy kontrolera płyty głównej, kontrolera pamięci przenośnej, firmware’u, a także sterowników. Taką kombinację sprzętu i oprogramowania bardzo trudno znaleźć.
Niestety, na razie wciąż jedynym producentem płyt głównych, który oferuje wsparcie dla UASP, jest Asus. Aby w pełni wykorzystać ten tryb pracy, trzeba zainstalować oprogramowanie Asus USB 3.0 Boost (http://pcformat.pl/u/815) albo system Windows 8, który ma już wbudowane sterowniki UASP. Pod powyższym adresem internetowym znajduje się także lista zgodnych urządzeń USB (pamięci flash i dysków przenośnych), która niestety nie jest aktualizowana. W przypadku urządzeń bez obsługi nowego protokołu oprogramowanie używa tylko trybu turbo.
Szybsze porty USB zapewnia także ASRock, oferując oprogramowanie XFast USB (http://pcformat.pl/u/816). Ogranicza się ono tylko do trybu turbo, dzięki czemu działa na każdym porcie USB, na każdej pamięci flash i dowolnym dysku przenośnym.