USB 3.x 케이블 무엇을 골라야 하나

3.1? 3.2? 이건 뭐지? Gen 1? Gen 2? 이건 뭐지?

USB 케이블이 필요해 인터넷에 검색하면 다양한 케이블이 나온다. 여기서 적당한 케이블을 골라야 하는데 보통은 여기서부터 막막해진다. 3.1과 3.2의 차이는 무엇이고 3.1 Gen 2와 3.2 Gen 2는 무슨 차이가 있을까? 3.2 Gen 1은 3.1 Gen 2보다 좋은 것일까?

사람들에게 혼란을 주는 가장 큰 요인은 USB 3.x의 복잡한 명명 방식이라고 생각한다. USB 3.0, USB 3.1, USB 3.2. 이름만 보면 USB 3.1은 USB 3.0보다 발전됐고, USB 3.2는 USB 3.1보다 발전된 것으로 보인다. 하지만 USB 3.2에서 규정하는 모든 기술이 USB 3.1에서 규정하는 모든 기술보다 발전한 기술은 아니다.

그 이유는 이들 표준이 이전 버전을 포함하는 방식으로 설계됐기 때문이다. 예를 들어, USB 3.1 표준은 USB 3.0 표준 문서에서 정의된 기능과 추가된 기능을 포함하며, USB 3.2 표준은 USB 3.1 표준 문서에서 정의하는 기능과 새로운 기능을 포함하고 있다. 이렇게 포함 구조로 설계된 표준은 표준 문서라는 기술적 측면에서는 합리적인 선택이다.

하지만 이런 이름이 좋은 브랜딩 방식이라고 생각하지 않는다. 예를 들어 이 글에서도 USB 3.x 표준에 기반한 케이블은 정확히 부를 이름이 없어 그냥 USB 3.x라는 이름으로 뭉뜽그려 부르고 있다. 이와 같은 혼란을 해소하기 위해 USB4에서는 모든 표준을 USB4라는 하나의 브랜드로 묶고, 표준 문서에 Version 1과 Version 2라고 버전을 붙이는 방식을 택했다. 이는 소비자들이 버전 간 차이를 명확히 이해할 수 있도록 노력한 것으로 보인다.

USB 3.0

우선 USB 3.0이 USB 2.0과 비교해 가지는 가장 큰 장점은 전송속도다. 기존에 사용하던 USB 2.0 케이블은 최대 480 Mbps. 즉, 60 MB/s의 전송 속도를 가졌다. USB 2.0이 도입되던 시기에는 이정도 성능도 큰 문제 없었다. 하지만 현대에 와서 초당 60 MB라는 전송속도로는 할 수 있는 것이 많이 없다. 그래서 USB 3.0은 SuperSpeed 레인을 도입하였고, 초당 5 Gbps(625 MB/s)의 전송 속도를 가질 수 있었다. USB 자체 프로토콜 오버헤드를 고려하면 약 500 MB/s의 성능을 의미한다. 이는 기가비트 인터넷보다 빠르고, HDD의 성능 한계를 뛰어넘는 수치이고, 외장 스토리지나 디바이스 연결에서 새로운 가능성을 열었다.

USB 3.0이 USB 2.0에 비해 가지는 또 다른 큰 장점은 전이중(Full Duplex) 통신을 지원한다는 것이다. USB 2.0에서 데이터 전송은 D+/D-라는 한 쌍의 레인에 의해 수행됐다. 한 쌍의 레인에 의해 수행된다는 것은 어느 한 쪽이 데이터를 보낼 때 반대쪽은 데이터를 전송할 수 없다는 것을 의미한다. 이를 반이중(Half Duplex) 통신이라고 부른다. 이는 단순히 성능이 절반이 되는 것을 넘어 전송 방향을 바꾸는데 필요한 대기 시간이 더해지는 비효율을 야기한다. USB 3.0은 이런 문제를 해결하기 위해 SSTx(SuperSpeed Transmit)과 SSRx(SuperSpeed Receive). 두 쌍의 레인을 추가해 전이중 통신을 도입했다.

USB 3.0은 성능 향상을 도모하면서도 하위 호환성을 신경쓰는 것을 잊지 않았다. 지난 글에서 설명했듯 USB 3.0은 USB 2.0에 비해 5개의 핀이 더 필요하다. Type B 컨넥터의 경우 어쩔 수 없이 새로운 컨넥터를 도입했지만, 널리 사용되던 Type A 컨넥터의 경우 기존에 제작된 USB 2.0 컨넥터와 호환되도록 설계되었다. 플러그나 수용단자 어느 한 쪽이 USB 2.0이면, USB 3.0 케이블을 쓰더라도 USB 2.0으로 다운그레이드되지만 정상적으로 동작한다.

USB 3.1

USB 3.1에서도 가장 중요한 기능은 속도다. USB 3.0에서 최대 5 Gbps의 속도로 전송 속도가 향상됐다. 이는 큰 발전이지만 아직 부족하다. 속도는 빠르면 빠를 수록 좋다. 특히 SSD 이후 대부분의 작업은 전송 속도가 병목이 되기 때문에 더 빠른 전송 속도는 성능 향상을 의미한다. 이 때문에 USB 3.1은 최대 10 Gbps의 새로운 규격을 추가했다.

앞서 말했듯이 USB 3.1은 USB 3.0이 규정하는 기술을 포함한다. 이에 따라 USB 3.0부터 존재했던 5Gbps와 USB 3.1이 새로 규정하는 10 Gbps의 전송을 구분할 이름이 필요했다. USB-IF(USB Implementers Forum)는 이 전송 스펙에 각각 Gen 1과 Gen 2라는 이름을 붙였다. 다시 말해 USB 3.0의 전송 규격은 USB 3.1 Gen1의 규격과 동일한 규정이다.

Gen 2는 전송속도를 향상시켰지만 물리적 레인을 추가하지 않았다. 다시 말하면, Gen 1에서 사용하던 SSRx, SSTx 페어를 그대로 이용하면서 성능을 2배로 올렸다는 말이다. 이는 주파수가 올랐다는 것이고, 높은 주파수는 노이즈에 취약해진다. 이 노이즈를 막기 위해 Gen 2에는 더 강력한 하드웨어적인 제약을 걸었다.

Gen 2의 발전은 단순히 물리적인 전송 속도의 향상이 전부가 아니다. Gen 2는 데이터 전송의 효율성과 안정성을 대폭 향상시켰습니다. Gen 2는 128b/132b 인코딩을 이용해 데이터 전송 효율을 크게 늘렸다. Gen 1이 사용하는 인코딩은 8b/10b 인코딩이다. 이 인코딩은 10 비트 중 8 비트만이 실제 데이터고 나머지 2비트는 클럭 동기화와 에러 검출을 위해 사용된다. 즉, 실제로는 대역폭의 80%만 데이터 전송에 사용된다는 것이다. 반면 Gen 2는 128b/132b 인코딩을 사용하여 효율을 97%에 가깝게 올렸다.

USB 3.2

USB 3.1에 추가된 Gen 2는 물리적으로는 Gen 1과 같은 수의 레인을 가진다. 하지만 레인을 추가하지 않고 주파수를 올려 성능을 올리는데는 한계가 있다. 이러한 한계를 극복하기 위해 USB 3.2에서는 듀얼 레인 구조를 도입했다. 수신과 송신에 각각 한 쌍의 레인을 쓰던 USB 3.1 표준에 2 쌍의 레인을 추가했다. Gen 1의 듀얼 레인 버전은 Gen 1x2라고 부르고 10 Gbps의 통신이 가능하고, Gen 2의 듀얼 레인 버전은 Gen 2x2라고 부르고 20 Gbps의 통신이 가능하다. 2쌍의 레인이 추가됐다는 말은 4개의 핀이 더 필요하다는 말이다. 따라서 Gen 1x2나 Gen 2x2는 Type A 컨넥터나 Type B 컨넥터에서는 사용할 수 없다. 지금으로써는 양쪽 컨넥터가 Type C일 때만 사용 가능하다. Type C 컨넥터는 이러한 고속 데이터 전송을 지원하기 위해 최적화되어 있으며, USB 3.2의 성능을 최대한 활용하기 위해서는 Type C 컨넥터가 필수적이다.

케이블을 어떻게 선택해야 하는가

결국 USB 3.0, 3.1, 3.2 같은 표준 버전에 눈을 두지 않고 명시된 대역폭과 필요한 성능을 비교해 구매하는 것이 중요하다. 다행인 점은 복잡한 버전을 외우지 않아도 USB 케이블 제조사들이 대체적으로 지원하는 대역폭을 명시한다는 것이다. 이것을 확인하여 필요한 케이블을 고를 수밖에 없다.

더 큰 문제는 이미 구매해 서랍에 넣어뒀던 케이블을 사용할 때 생긴다. 구매할 때는 포장지에 적힌 숫자를 확인할 수라도 있지 이미 구매한 케이블에 대해서는 SuperSpeed 마크밖에 없는 경우가 대부분이라 실제 사용하기 전까지는 어떤 전송속도와 기능을 지원하는지 알기 어렵다. 그래서 USB 케이블은 필요할 때 필요한 규격에 맞는 케이블을 구매하는 것이 마음 편하다.

댓글

이 블로그의 인기 게시물

USB 2.0 케이블의 내부 구조

[C++] enum class - 안전하고 쓰기 쉬운 enum

Log Aggregator 비교 - Scribe, Flume, Fluentd, logstash

[Web] SpeechSynthesis - TTS API

터미널 출력 제어를 위한 termios 구조체 이해하기