2012년 10월 8일 월요일

간단한 SerDes의 정의

A 지점에서 B지점으로 데이타를 전송하기 위해서는 각지점의 input과 output을 와이어로 이어주는게 가장 간단한 방법이다. 그러나 이런 단순한 인터페이스에서는 데이타가 여러개의 비트로 이루어져있다면 그 비트수 만큼의 와이어나 케이블을 병렬로 연결해야한다. 이는 곧 IC 칩의 핀개수가 그만큼 늘어난다는 이야기이기도 하며 IC 패캐지가 늘어난 핀수만큼 커지는 결과로 이어진다. 트랜지스터의 집적도가 지금처럼 높지않던 과거에는 이러한 병렬 인터페이스가 이슈가 안되었지만 현재처럼 집적도가 급속도로 현저히 높아지는 상황에서는 IC 핀의 개수가 늘어날수록, 패캐지가 커질수록 칩디자인 비용이 높아져 경제성이 없어지게 된다.

데 이타뿐만 아니라 클럭신호도 함께 연결할 경우에는 또다른 문제가 생기게 된다. 바로 Setup/Hole time문제이다. 안정적인 동작을 위해서는 Setup/Hole time에 충분한 마진이 있어야하지만 전송속도가 빨라질수록 상대적으로 시스템의 로직 게이트들이 신호지연에 매우 민감하게 된다. 특히 동일한 시스템또는 IC 칩일지라도 Process(공정), Voltage(전압), Temperature(온도)에 따라 신호지연은 현저하게 변하게되는게 하물며 서로 다른 두 시스템또는 IC 칩간의 통신은 더 말할 필요가 없다. 따라서 초고속 통신에서는 가급적 클럭신호를 따로 보내지 않는 것이 안정적인 타이밍을 유지하는데 바람직하다.

위 에서 언급한 두가지 문제를 동시에 해결하기위해 고안된것이 SerDes이다. SerDes는 두가지 단어로된 조합어인데, SerDes의 Ser는 시리얼라이저(Serializer)의 약자이고 Des는 디시리얼라이저(Deserializer)의 약자이다. 시리얼라이저는 칩내부에서 주고받는 병렬데이타를 직렬데이타로 바꿔주는 역할을 하는데 전송기(Transmitter)에 쓰이고 디시리얼라이저는 직렬로 받은 데이타를 병렬로 다시 바꿔주는데 수신기(Receiver)에 쓰인다. 수신기에서는 클럭데이타 재생기(CDR - Clock Data Recovery)를 사용하여 데이타와 함께 클럭을 추출해낸다. 따라서 클럭신호를 수신기로 따로 보낼 필요가 없게된다. 클럭데이타 재생기는 입력데이타신호의 상태가 전이되는 시점을 모니터링(edge detection)하는데 이 정보는 PLL의 루프필터와 VCO로 보내져서 클럭을 재생하게 된다.



그림 1] SerDes Block Diagram

SerDes 는 현재 쓰이고 있는 High-speed 인터페이스의 거의 모든 분야에 쓰이고있다. 예를들면, Serial-SATA, PCI-Express, USB, Fibre Channel, SONET, Serial Attached SCSI, Gigabit Ethernet, MIPI, HDMI, Thunderbolt등 이루 헤아릴수 없는 어플리케이션을 갖는 보편화된 기술이다. 아래 그림2 는 이러한 표준 프로토콜의 시스템 레벨에서 SerDes가 어떻게 쓰이는지 보여주는 간단화된 블럭 다이아그램이다.




그림 2] 시스템에 사용되는 SerDes


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.

댓글 5개: