하드웨어 전환

이 항목에서는 U1 및 U2로의 하드웨어 전환에 대해 설명합니다.

소프트웨어에 의한 초기 설정 이후 하드웨어는 소프트웨어의 추가 개입 없이 U1 및 U2로 자동으로 전환됩니다.

링크는 활성 상태로 패킷을 전송하는 경우 작동 상태(U0)입니다. 패킷이 전송되고 있지 않을 경우 링크는 유휴 상태로 간주됩니다. 유휴 상태에서 링크 파트너가 U1 또는 U2로의 전환을 시작할 수 있습니다. 다른 링크 파트너가 전환을 허용하거나 거부하도록 선택할 수 있습니다. 링크 파트너가 전환을 허용하면 링크가 해당 U 상태로 이동합니다. 전환을 거부하면 링크가 U0으로 유지됩니다.

DS 포트에서 시작된 전환

DS 포트는 포트에서 비활성 상태를 추적하는 타이머 메커니즘을 구현합니다. 타이머는 해당 포트가 패킷을 보내거나 받을 때마다 초기화됩니다. 또한 타이머는 소프트웨어가 새 시간 제한 값을 프로그래밍할 때 초기화됩니다. 소프트웨어가 U1 또는 U2 전환만 시작하도록 DS 포트를 프로그래밍한 경우 DS 포트는 링크가 처음 U0으로 전환될 때 타이머를 시작합니다. 타이머 값은 소프트웨어가 프로그래밍한 U1(또는 U2) 시간 제한 값을 기준으로 합니다. 타이머가 만료될 때 링크가 U0 상태이면 DS 포트가 U1(또는 U2) 전환을 시작합니다.

성능 또는 대기 시간 요구 사항을 충족하기 위한 장치 기능에 전환이 미칠 수 있는 영향을 장치가 인식하는 경우 US 포트 링크 파트너가 전환을 거부하도록 선택할 수 있습니다. 예를 들어 장치가 ERDY 알림을 보냈고 호스트로부터 전송 요청을 예상하는 경우 장치는 그 동안 U1 또는 U2 상태 전환을 거부할 수 있습니다.

소프트웨어가 U1 및 U2 전환을 둘 다 시작하도록 DS 포트를 프로그래밍한 경우 DS 포트는 이 섹션의 앞부분에서 설명된 타이머에 따라 우선 U1 전환을 시작합니다. U1에서 U2로의 전환은 Direct Transition from U1 to U2에서 이 항목에 설명되어 있습니다.

링크가 U1 또는 U2 상태인 경우 DS 포트는 포트에 연결된 장치에 대한 트래픽을 수신하면 언제든지 포트를 U0 상태로 되돌릴 수 있습니다.

장치(US 포트)에서 시작된 전환

장치는 소프트웨어에서 용량을 사용할 수 있는 경우 U0에서 U1로의 전환 또는 U0에서 U2로의 전환을 시작하도록 선택할 수 있습니다. 장치가 링크를 U1로 전환하면 링크는 DS 포트의 U2 타이머에 따라 직접 U2로 전환될 수 있습니다(U1에서 U2로의 직접 전환에서 설명됨). 그러나 U2 타이머가 설정되어 있지 않으면 장치는 U1에서 U2로의 직접 전환을 자동으로 시작할 수 없습니다. 이 경우 장치는 U2로의 전환을 시작하기 전에 링크를 U0으로 되돌립니다.

해당 전환을 시작할 시기를 결정하는 동안 장치는 종료 대기 시간 및 성능 요구 사항을 고려해야 합니다. 장치가 얼마나 공격적으로 전환을 시작할 수 있는지에 대한 결정 정보를 받을 수 있도록 소프트웨어는 이 문서의 앞부분, 소프트웨어에 의한 초기 설정에 설정된 대로 다양한 종료 대기 시간 값을 제공합니다.

링크가 U1 또는 U2 상태인 경우 US 포트는 포트를 언제든지 U0으로 되돌릴 수 있습니다. 일반적으로 US 포트는 패킷을 호스트에 보낼 예정임을 인식할 때나 호스트로부터 패킷을 예상하는 경우 U0으로의 전환을 시작합니다.

장치에서 시작된 LPM의 이점

소프트웨어에서 DS 포트에 대해 설정된 타이머 값은 일반적인 경험적 접근을 기준으로 합니다. 해당 타이머 값을 선택하지만 소프트웨어는 장치 성능이 저하되지 않는지 확인합니다. 장치 성능을 유지하기 위해 소프트웨어가 너무 작은 값을 선택하지 않을 수 있습니다. 포트에서 시작된 전환은 타이머를 기준으로 하며 장치의 정확한 상태를 고려하지 않으므로 이 메커니즘은 장치를 U1 또는 U2 상태로 전송할 수 있는 일부 기회를 활용하지 않을 수 있습니다.

반면에 장치에는 장치의 특성 및 현재 상태에 대한 정확한 정보가 있습니다. 따라서 장치는 다음 전송이 수행될 시기를 지능적으로 예상할 수 있습니다. 해당 정보에 따라 장치는 성능에 크게 영향을 미치지 않고 이러한 전환을 적극적으로 시작하도록 선택할 수 있고 선택해야 합니다.

예를 들어 장치가 끝점 중 하나에 NRDY 알림을 보냈고 잠시 동안 트래픽이 없을 것임을 인식하고 있습니다. 이 경우 장치는 U1 또는 U2로의 전환을 즉시 시작할 수 있습니다. ERDY 알림을 보내기 바로 전에 장치는 해당 데이터를 보내기 위한 준비로 링크를 U0으로 되돌릴 수 있습니다. 이 프로세스에 대한 자세한 내용은 USB 3.0 사양의 섹션 C.3.1을 참조하세요.

U1에서 U2로의 직접 전환

링크가 U1 상태인 경우 중간에 U0을 입력하지 않고 링크가 직접 U2로 전환될 수 있습니다. U1로의 전환을 시작한 링크 파트너에 관계없이 이 전환이 발생할 수 있습니다. 그러나 U1에서 U2로의 전환은 링크의 DS 포트에 대한 U2 시간 제한이 01H - FEH 사이의 값으로 설정된 경우에만 발생할 수 있습니다.

소프트웨어에 의한 초기 설정 섹션에서는 DS 포트가 시간 제한 값을 링크 파트너에 전달할 수 있도록 하는 추가 단계에 대해 설명합니다. 링크로 U1로 전환된 후 양쪽 링크 파트너가 DS 포트의 U2 시간 제한 값에 따라 설정된 시간 제한 값을 사용하여 타이머를 시작합니다. 타이머가 트래픽으로 인해 초기화되지 않고 만료되면 양쪽 링크 파트너는 서로 명시적으로 통신하지 않고 U2로 자동으로 전환됩니다.

U1 또는 U2에서 U3으로의 전환

U1 또는 U2로의 전환은 하드웨어에서 자동으로 시작되지만 U3으로의 전환은 소프트웨어에서 시작됩니다. U3 전환은 일정 기간의 비활성 상태 후에만 시작되므로 전환 전에 링크가 U0이 아니라 U1 또는 U2 상태였을 가능성이 높습니다.

USB 3.0 사양은 U1 또는 U2에서 U3으로의 직접 전환을 정의하지 않습니다. 상위 허브 또는 컨트롤러가 링크를 U0으로 자동으로 전환한 다음 U3으로 전환하는 작업을 수행합니다.

허브에 대한 U1 또는 U2 전환

USB 3.0 사양은 허브의 경우 US 포트에서 U 상태 전환을 시작할 시기에 대한 특정 지침을 제공합니다. 모든 DS 포트가 U1 이하 링크 상태인 경우 소프트웨어에서 허브가 U1 전환을 시작하도록 한다고 가정하여 허브는 US 포트에서 U1 전환을 시작해야 합니다.

마찬가지로 모든 DS 포트가 U2 이하 링크 상태인 경우 소프트웨어에서 허브가 U2 전환을 시작하도록 한다고 가정하여 허브는 US 포트에서 U2 전환을 시작해야 합니다.

참고  

DS 포트에 연결된 장치가 없는 경우 포트 상태는 U2보다 아래인 Rx.Detect입니다. 따라서 연결된 장치가 없는 경우 허브는 US 포트를 U2로 전송해야 합니다. 또한 모든 DS 포트가 처음에 U1 이하 상태였던 경우 허브는 US 포트를 U1에서 U2로 전환해야 합니다. 이 전환은 U2 활동 타이머를 기준으로 하지 않으므로 허브는 US 포트를 U0으로 전환한 다음 U2로 전송해야 합니다.

패킷 지연

USB 3.0 사양은 패킷 지연으로 알려진 메커니즘에 대해 설명합니다(섹션 C.1.2.2 참조). 이 메커니즘은 LPM이 버스 이용률에 미치는 영향을 최소화하는 데 사용됩니다.

업스트림 링크가 U1 또는 U2 상태인 장치에 호스트가 전송 요청을 보낼 경우 호스트는 링크가 U0으로 돌아간 다음 장치가 응답할 때까지 기다려서 버스 대역폭 사용을 완료할 수 있습니다. 이 대기를 방지하기 위해 상위 허브는 장치를 대신해서 지연 패킷 헤더를 다시 호스트로 보내 응답합니다. 호스트는 NRDY와 유사한 방식으로 지연 패킷 헤더를 처리한 다음 기타 끝점을 사용하여 자유롭게 전송을 시작할 수 있습니다. 동시에 허브는 링크에 대한 U0 전환을 시작하고 지연 패킷에 대해 장치에 알립니다. 장치는 ERDY를 호스트에 보내 장치가 이제 전송 준비가 되었음을 나타냅니다. 그런 다음 호스트가 장치에 대한 전송을 다시 예약할 수 있습니다.

ERDY를 전송한 후 호스트가 ERDY에 대한 응답을 보내거나 tERDYTimeout(500밀리초) 시간이 경과할 때까지 장치는 링크를 U0 상태로 유지해야 합니다. 이 시간 동안 장치는 U1 또는 U2 전환을 시작해서는 안 되고 링크 파트너가 시작한 전환도 거부해야 합니다.

 

 

표시:
© 2014 Microsoft