본 고에서는 2~3세대 시리얼 RapidIO 기기 강화가 어떻게 3세대와 그 이상의 베이스밴드 프로세싱을 개선하는지에 대해 알아 볼 것이다. 지난호에서 시리얼 RapidIO가 어떻게 베이스밴드 시스템의 기초 역할을 하는지를 살펴 본 바 있다.
베이스밴드의 시리얼 RapidIO 기능 강화하기
글│트레버 하이아트, IDT 플로우 제어관리 사업부 애플리케이션 매니져
감수│IDT 코리아 오순영 이사
시리얼 RapidIO 표준에 관한 3부작 기술원고 시리즈 중 두 번째인 이 글은 2~3세대 시리얼 RapidIO 기기 강화가 어떻게 3세대와 그 이상의 베이스밴드 프로세싱을 개선하는지에 대해 알아 볼 것이다. 첫 번째 기술원고에서는 시리얼 RapidIO가 어떻게 베이스밴드 시스템의 기초 역할을 하는지를 살펴 본 바 있다. 이제부터 2~3세대 기기들이 어떤 고유 기능을 추가적으로 제공하여 3세대와 그 이상의 베이스밴드 성능 및 기능을 강화 시키는지에 대해 살펴보자.
스위치 강화
스위치는 모든 종점의 중심이며, 그림 1에서 볼 수 있듯이 위상적으로 ‘우위(highground)’에있다. 따라서, IQ(In-Phase and Quadrature) 데이터 스트림에 적용되어야 하는 모든 일반 데이터 트랜스폼은 스위치 내에서 단 한번 실시되야 한다는 것을 알 수있다. 이는 적은 수의 고대역 스트림이 베이스밴드 조건에 따라 재포맷되거나 여러 개의 종점으로 멀티 캐스팅되는 경우가 많은 업링크에서 특히 효과적이다.
그림 1. 일반 베이스밴드 실행 상의 스위치 카드(좌)와 베이스밴드 카드(우). 이 구성에서 시리얼 RapidIO는 백플레인 상에 사용된다. RapidIO를 CPRI, OBSAI, 혹은 자체 인터페이스와 같은 인터페이스 프로토콜에 연결하는데 FIC(fabric interface chip)가 사용될 수도 있다.
한 개의 스위치 보드가 여러 개의 베이스밴드 보드에 멀티 캐스팅될 수 있으며, 이와 마찬가지로 이들 베이스밴드 보드 스위치는 데이터를 여러 개의 신호 처리기로 멀티 캐스팅할 수 있다. 스위치가 이러한 데이터 포맷팅을 먼저 수행하게 되면, 수신 종점은 동일한 트랜스폼을 수행하지 않아도 된다. 따라서 DSP(Digital Signal Processing) 주기 및 전력 절감이 가능하다.
이와 반대로, 다운링크 상에서 스위치는 베이스밴드와 스위치 보드의 집합점(central aggregation point) 역할을 한다. 또한 스위치는 구조적으로는 데이터 조작 기능을 통해 표준 시리얼 RapidIO 스위칭 기능을 강화할 수 있는 또 하나의 주요 지점이다.
전처리 기능으로 데이터 파이프 강화하기
업링크와 다운링크 내의 패킷 페이로드 프로세싱 기능이 일반적인 UMTS/ WCDMA/TD-SCDMA 시스템에 사용되며, 주어진 패킷과 베이스밴드 보드 수에서 한 개의 IQ 데이터 스트림이 모든 잠재 AxC(Antenna Carriers)를 지원한다고 가정해 보자. 베이스밴드 보드 내 AxC 중복 가능성이 있는 가운데, 베이스밴드 보드의 총액은 각각의 잠재적인 AxC 고유의 부분집합을 지원한다. 그림 2에서와 같이 스위치와 베이스밴드 사이의 기능을 구분 할 수 있다.
그림 2는 실행되는 구체적 작동 사항을 중점적으로 보여준다. 이들은 가능한 모든 전처리 기능의 일부가 된다. 이러한 구체적인 실행을 바탕으로 하는 실제 시스템 기능관련 정보는 세번째 원고에서 다뤄질 것이다. 경우에 따라 다른 프로세싱 기능이 인용될 수도 있으나, 최종 시스템 성능 수치에는 반영되지 않을 것이다.
그림 2. WCDMA 전처리 요건. 상단과 하단의 콜아웃(callouts)이 업링크와 다운링크에서 각각 요구하는 전처리 및 프레임 지연 기능을 중점적으로 보여준다.
업링크: 스위치 보드
업링크 상에서 실행을 실시하기 위해서는 모든 패킷에서 IQ 데이터 포맷팅이 일어나며, I와 Q 샘플 데이터의 재복원(de-interleaving)이 포함되어야 한다. 그 결과로 형성되는 IQ 스트림은 모든 베이스밴드 보드에 멀티 캐스팅된다. 네이티브 지원(native support)은 이러한 과정이 I 스트림 혹은 I와 Q 스트림에 적용 될 수 있게 한다.
모든 컨트롤 및 타임 스탬프(time-stamp) 정보는 일정한 패킷 페이로드(packet payload) 내의 사용자 지정 필드에서 보호되어, 나머지 패킷 페이로드 상의 데이터 프로세싱 작동에 의한 오류가 생기지 않게 한다.
모든 베이스밴드 보드의 중심인 스위치 보드는, IQ 스트림의 글로벌 데이터 포맷팅을 제공하는데 중요하다. 대체 샘플 조작 기능에는 신호 확장 및 삭제의 사용여부와 관계없이 엔디안(endianness) 변환, IQ 변경, 샘플 크기 조정이 포함될 수 있다.
대체구현(alternative implementa-tion)은 주어진 베이스밴드 보드가 지원하는 AxC의 부분집합(specific subset)이 완전한 IQ 데이터 스트림으로부터 추출되도록 할 수 있다. 따라서 베이스밴드 보드 수를 지원하는 데는 몇몇의 고유한 전처리 시나리오가 요구될 수 있다. 이때, 패킷 페이로드는 기존 페이로드로부터 기인하는 AxC의 부분집합이기 때문에 그 사이즈가 줄게 된다. 이 때, 시스템적으로 얻을 수 있는 이익은 베이스밴드 카드에 대한 대역폭의 감소이다. 궁극적으로 베이스밴드 카드에 대한 시리얼 RapidIO 포트의 수나 폭이 줄어, 하드웨어 비용 및 전력 소모를 줄일 수 있다. 예에서는 이와 같은 베이스밴드 카드 상의 AxC 생략(truncation)의 이점을 활용할 것이다.
업링크: 베이스밴드 보드
스위치 카드 상의 AxC 추출 기능을 선택적으로 실행하여, 주어진 베이스밴드 카드 상에서 지원되는 AxC 부분집합만을 선택할 것이다. 각 베이스밴드 보드가 자체의 고유한 AxC 부분집합을 지원하기 때문에, 스위치 전처리기는 각각의 베이스밴드 보드에 고유하게 프로그램되어 베이스밴드 보드의 AxC를 페이로드의 전면으로 재배열 한 후에 나머지 패킷(AxC 삭제)을 생략하게 된다. 이렇게 생성된 작은 패킷은 유입 데이터 속도로 DSP에 멀티 캐스팅된다. 이러한 과정을 통해 하드웨어 비용 및 전력이 절약 될 수 있다.
주어진 베이스밴드 카드 상에서 지원되는 캐리어(carriers)의 부분집합은 시간이 경과함에 따라 크게 변화할 수 있다. 전처리기는 전환 중에 하나의 패킷도 떨어뜨리지 않고 AxC 선택 및 생략과 같은 모든 프로세싱 요구 사항의 다이너믹 리프로그래밍(dynamic reprogramming) 을 지원한다.
시리얼 RapidIO는 타겟 종점의 메모리로 데이터의 직접 이전을 고유한 방식으로 지원한다. 패킷 헤더(packet header)는 타겟 어드레스(target address)를 유지하여, 패킷이 타겟 메모리의 지정된 지점으로 바로 전달될 수도 있도록 한다. 전처리 기능은 타겟 어드레스 생성에 맞추어 여러 개의 출력 패킷 생성을 제공하는 방식으로 이러한 과정을 강화한다. 따라서, 이를 통해 주어지는 패킷은 여러 개의 작은 패킷들로 나뉠 수 있으며, 각각은 자체의 고유 어드레스 시작, 중단, 증가 값을 갖는다. 이로 인해 패킷 페이로드 내 데이터 블록은 DSP 메모리 내 어드레스의 여러 고유 범위 내에 위치할 수 있다. 이처럼 강화된 DMA(Direct Memory Access) 지원이 DSP 소프트웨어 엔지니어에게 수준 높은 유연성을 제공한다.
다운링크: 베이스밴드 보드
처음으로 돌아와서, 주어진 베이스밴드에 대한 베이스밴드 신호 처리기가 또 다시 AxC의 일부분을 스위치 보드에 전송한다고 가정해 보자. 라디오 카드의 요구사항을 고려했을 때, 패킷의 AxC 정렬이 무질서할 것이라고, 또 AxC가 결국에는 스위치 보드에 도달하는 시점에서 모든 베이스밴드와 더해진다고 가정한다.
주어진 베이스밴드 카드 상에서 지원되는 AxC의 부분집합은 일부 AxC가 전혀 지원되지 않으면서 시퀀스 혼선(out-of-sequence)이 생길 수 있다. 스위치 카드에서 더하기 전에 AxC를 적당한 순서에 맞게 재구성하고, AxC의 합이 정확하도록 널 캐리어(null carrier)에 충분한 개수의 0을 넣어준다. 따라서 주어진 베이스밴드 카드의 전처리 조건에 따라 패킷 페이로드 내에 있는 AxC를 재구성하고, 모든 널 캐리어를 0으로 하게 된다. 예를 들어, 아래 DSP 메모리로부터의 AxC 순서인 이 되어야 한다.
앞서 설명한 바와 같이 페이로드 내에서 보호되는 사용자 정의 필드에 베이스밴드 카드 상에서 컨트롤 정보가 임베디드될 수 있다. 다시 한번, 페이로드 프로세싱 작동 중에 사용자 정의 필드가 보호되도록 보장하는 것이 전처리기에 대해 요구되는 사항이다.
다운링크: 스위치 보드
스위치 보드에서는 모든 가용 베이스밴드 보드로부터 기인한 패킷들이 합해진다. AxC 재배치와 미사용 AxC 영점맞춤(zeroing)은 안테나 샘플에 걸쳐 더해진 합이 정확하도록 보장한다. 예를 들어, 베이스밴드 보드 1로부터 데이터가
이고,
베이스밴드 보드 2 데이터가
(AxC20, 0, AxC22, 0, 0, AxC25, … , AxC2M) 일 때,
이 둘을 합친 결과는 다음과 같다.
최종적 합산 결과는 시스템 요건에 따라 포화되거나 생략되거나 비트로 전환될 수 있다. 마지막으로 IQ가 인터리브(interleaved) 되고 이에 따라 생성되는 패킷은 RF 카드에 전송된다. 패킷 기반 시스템 내부의 고질적 문제는 합산되기 전에 패킷을 동기화하는데 있다.
명백히 시스템 동기화가 부족함을 고려할 때, 별도 베이스밴드 보드로부터 수신된 패킷 중에는 몇몇의 한정왜곡(finite skew)이 존재하게 된다. 불가피한 왜곡은 베이스밴드 보드 중의 링크 동기화나 패킷 재시도 및 동기화 왜곡 같은 표준 시리얼 RapidIO 물리층(physical layer) 효과에 의해 발생 가능하다. 전처리기는 각각의 입력 포트와 도착 창에 별도의 버퍼 공간을 가지고 있어, 베이스밴드 보드로부터 패킷을 효과적으로 왜곡보정(de-skew) 한다.
또한, 주어진 베이스밴드 보드로부터 패킷이 사용자가 정의한 기간 내에 수신되지 않으면, 패킷이 선택적으로 0 (또는 1)으로 대체되어 최종적 합산 결과는 패킷이 데이터 스트림 정체를 피할 필요 없이 진행된다.
몇몇의 시스템 문제는 패킷 손실을 야기할 수 있다. 시리얼 RapidIO 링크 상의 신호 장애나, 장애 발생 시 다시 초기화되어야 하는 링크 상의 신호 문제는 이러한 패킷 손실을 일으킬 수 있는 원인 중 하나다. 전처리기는 오류 정보를 PW(Port-Write) 유지 패킷과 함께 호스트 프로세서에 전송하거나 상황이 정정될 수 있도록 하는 DSP를 공격 방식으로 사라진 패킷을 확인하고 보고할 수 있다. 또한 물리층 오류가 스위치 포트 자체에 존재하는 경우에 유사한 조치가 취해 질 수 있다.