KR100384997B1 - 링크드-리스트 공통 메모리 스위치 장치 - Google Patents

링크드-리스트 공통 메모리 스위치 장치 Download PDF

Info

Publication number
KR100384997B1
KR100384997B1 KR10-1999-0035395A KR19990035395A KR100384997B1 KR 100384997 B1 KR100384997 B1 KR 100384997B1 KR 19990035395 A KR19990035395 A KR 19990035395A KR 100384997 B1 KR100384997 B1 KR 100384997B1
Authority
KR
South Korea
Prior art keywords
address
linked
read
write
list
Prior art date
Application number
KR10-1999-0035395A
Other languages
English (en)
Other versions
KR20010019128A (ko
Inventor
박형준
강석열
Original Assignee
주식회사 케이티
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티, 한국전자통신연구원 filed Critical 주식회사 케이티
Priority to KR10-1999-0035395A priority Critical patent/KR100384997B1/ko
Publication of KR20010019128A publication Critical patent/KR20010019128A/ko
Application granted granted Critical
Publication of KR100384997B1 publication Critical patent/KR100384997B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 공통 메모리를 사용하는 셀 스위칭에 있어서 하드웨어 구성을 고려한 적용 메모리의 크기를 최소화하면서 메모리 이용률을 최대화 시키는 링크드 리스트 공통 메모리 스위치 장치에 관한 것이다. N개의 입력 포트로부터 수신되는 직렬 셀 데이터가 병렬 데이터로 다중화된 후 공통 메모리로 전달되는 스위치 시스템에서 부가적으로 요구되는 메모리는, 공통 메모리에 저장될 수 있는 전체 셀의 갯 수(M)에 해당하는 링크드 리스트 어드레스 메모리와, N개의 각 출력 포트별로 그리고 각 출력 포트내 K개의 서비스 클래스별로 링크드 리스트 제어용 레지스터(2개의 어드레스 + 2 비트) 및 프리 스페이스(free space) 셀 데이터 메모리 어드레스 FIFO로서 구성된다. 따라서 본 발명에서 사용하는 부가 메모리는, 각 출력 포트별로 전체 공통 메모리 어드레스가 수용 가능한 FIFO를 가진 스위치와 비교하여 볼 때 (MN+M)-(2N+M)=MN-2N=(M-2)N 만큼 크기가 감소되며, 하드웨어 구현의 효율화로 고집적 대용량화가 요구되는 스위치 칩(장치) 구성을 가능하게 하는 특징을 가진다.

Description

링크드-리스트 공통 메모리 스위치 장치{Linked-list common memory switch}
본 발명은 ATM(비동기 전송모드) 스위치를 베이스-프레임으로 하는 ATM 네트워크 및 통신 기술에 관한 것으로서, 공통 메모리를 사용하는 ATM 스위치에서 순수한 하드웨어만의 링크드-리스트 어드레스 제어 및 관리 기술을 적용한 것이다. 보다 구체적으로, 본 발명은 트래픽 처리 특성이 우수한 공통 메모리 방식을 사용하는 셀 스위칭에 있어서 하드웨어 구성을 고려하여 메모리의 크기를 최소화 하면서 메모리 이용률을 최대화 시키는 링크드-리스트(Linked-list) 공통 메모리 스위치 장치에 관한 것이다.
공통 메모리의 링크드-리스트 어드레스 제어기능을 수행하기 위한 종래 기술의 예로서, 링크드-리스트를 사용한 공통 메모리의 고속 버퍼관리(Macro Heddes 외, 미국, 등록번호 5,432,908, 1995) 방식과 스위칭 네트워크에서의 멀티캐스트 셀 버퍼관리(Fabio Massimo Chiussi 외, 미국, 등록번호 5,689,505, 1997) 방식이 있다.
그러나 이 선행특허들은 모두 링크드-리스트 어드레스 생성 및 관리 단계에서 하드웨어와 더불어 시스템 내부 프로세서를 이용하고 있고 따라서 ATM 스위치와 같이 실시간 처리가 요구되는 응용분야에 적용되기 곤란한 문제점을 가지고 있다.
트래픽 처리 특성이 우수한 공통 메모리 방식의 스위치에 대하여 서비스 종류의 증가와 멀티미디어 신규 서비스 수용등으로 고속화 및 대용량화가 요구됨으로서 기존에 제약받지 않았던 공통 메모리 크기와 입출력 포트의 급진적인 증가가 필요충분조건으로 부상하였지만 반도체 제조 기술등 하드웨어 기술의 진보는 이에 못미치고 있다. 따라서 하드웨어 자원의 효율적 이용을 위하여 기존에 소프트웨어적으로 처리하던 알고리즘등에 대한 하드웨어 구현이 필요하다.
이러한 필요성에 따라 안출된 본 발명은 최소한의 메모리와 랜덤 로직 하드웨어 만으로 구성된 링크드-리스트 공통 메모리 어드레스 제어장치를 구현 가능하게 함으로서 대용량 스위치의 주문형 반도체 제작을 용이하게 하고, 메모리 이용률을 높여 서비스 질(Quality of Service; QoS)을 극대화 시키며, 링크드-리스트 어드레스 관리에 대한 기존의 프로세서 연동기능 구현을 배제시킴으로서 고속의 실시간 처리가 가능하게 하는데 목적이 있다.
이 목적을 달성하기 위해서 본 발명에서는 입출력 포트 수가 증가하여도 스위치를 구성하는 하드웨어 자원의 증가를 최대한으로 억제하기 위한 공통 메모리 관리 기술을 제공하고자 한다.
보다 구체적으로는, 본 발명의 링크드-리스트 공통 메모리 스위치 장치는, N개의 입력 포트로 부터 수신되는 직렬 셀 데이터가 멀티플렉싱 및 직병렬처리기를 거쳐 변환되어 입력된 병렬 셀 데이터에서 소정 클럭 동안 라우팅 헤더 태그를 기 설정된 셀 헤더 포맷을 기준으로 추출하여 출력하는 헤더 검출부와, 상기 출력된 라우팅 헤더 태그를 사용하여 출력될 포트를 결정하고, 그 출력포트에 대한 기록어드레스를 제어하기 위한 기록 요청신호를 출력하는 라우팅 제어부와, 기록/판독 어드레스 제어부로부터 제공되는 기록 어드레스에 입력된 셀 데이터를 기록하고, 판독 어드레스로부터 셀 데이터를 판독하여 유휴 셀 제어부에 출력하는 셀 데이터 메모리와, 셀 데이터 메모리에 저장 가능한 셀의 최대 수와 같은 수의 판독 어드레스를 기록하는 링크드-리스트 어드레스 메모리와, 라우팅 제어부의 출력 포트별로 입력된 기록요청신호에 따라 프리 스페이스 셀 데이터 메모리 어드레스 메모리에 기록 어드레스 제공을 요청하고, 초기 어드레스 관리부에 입력된 기록 어드레스의 갱신 및 출력을 제어하며, 이와 동시에 기록 어드레스에 저장되는 셀이 판독되는 시점에 다음 순서의 판독 어드레스를 링크드-리스트 어드레스 메모리에 출력하고, 판독 포트 제어부가 지정한 출력 포트에 대응하는 셀 데이터가 저장되어 있을 경우 판독 어드레스를 셀 데이터 메모리와 링크드-리스트 어드레스 메모리에 출력하고, 오류 검출부로부터 오류 검출 및 오류 복구 여부 신호가 입력되면 판단에 초기화 과정을 수행하는 기록/판독 어드레스 제어부와, 초기 기록 어드레스 생성기간에만 자신이 생성한 기록 어드레스를 출력하고, 이후에는 입력되는 기록 어드레스를 직접 출력하고, 오류 검출부로부터 오류 관련 정보가 입력되면 기록 어드레스 생성에 사용한 카운터를 리세트시키는 초기 어드레스 관리부와, 병직렬 및 디멀티플렉싱 처리기에 의해 직렬 셀 데이터로 변환시켜 해당 출력 포트에 오류 검출부로부터의 판독 어드레스 오류 판정 정보에 따라 유휴 셀을 생성하여 출력하는 유휴 셀 제어부와, 링크드-리스트 어드레스 메모리에 저장된 각 판독 어드레스에 의해 오류 발생 유무를 판정하여 초기화 보고를 하고, 유휴 셀 출력을 유휴 셀 제어부에 요구하는 오류 검출부와, 그리고 기록/판독 어드레스 제어부에 출력 포트 순서를 결정하여 출력 포트 번호를 출력하고, 외부로부터 그 순서 정보를 받는 판독 포트 제어부로 구성되어 있다.
이와 같이 구성된 본 발명에서는, N개의 입력 포트로부터 수신되는 직렬 셀 데이터가 병렬 데이터로 다중화된 후 공통 메모리로 전달되는 스위치 시스템에서 부가적으로 요구되는 메모리는, 공통 메모리에 저장될 수 있는 전체 셀의 갯 수(M)에 해당하는 링크드-리스트 어드레스 메모리와, N개의 각 출력 포트별로 그리고 각 출력 포트내 K개의 서비스 클래스별로 링크드 리스트 제어용 레지스터(2개의 어드레스 + 2 비트) 및 프리 스페이스(free space) 셀 데이터 메모리 어드레스 FIFO로서 구성된다. 따라서 본 발명에서 사용하는 부가 메모리는, 각 출력 포트별로 전체 공통 메모리 어드레스가 수용 가능한 FIFO를 가진 스위치와 비교하여 볼 때 (MN+M)-(2N+M)=MN-2N=(M-2)N 만큼 크기가 감소되며, 하드웨어 구현의 효율화로 고집적 대용량화가 요구되는 스위치 칩 구성을 가능하게 하는 특징을 가진다.
도 1은 본 발명의 링크드-리스트 공통 메모리 스위치 장치의 구성도,
도 2는 도 1에 도시된 기록/판독 어드레스 제어부 구성도,
도 3은 도 2에 도시된 출력 포트별 링크드-리스트 어드레스 제어부 구성도,
도 4는 도 3에 도시된 링크드-리스트 레지스터 상태 천이도,
도 5a 및 도 5b는 입/출력 포트를 4개로 제한하고 서비스 클래스를 하나만 고려할 때의 기록/판독 링크드-리스트 어드레싱 실시 예.
〈도면의 주요 부분에 대한 부호의 설명〉
10: 입력 셀 MUX 11: 셀 입력 포트
20 : 헤더 검출부 30 : 라우팅 제어부
40 : 셀 데이터 메모리 50 : 링크드-리스트 어드레스 메모리
60 : 기록/판독 어드레스 제어부 70 : 초기 어드레스 관리부
80 : 프리 스페이스(free space) 셀 데이터 메모리 어드레스 FIFO
90 : 유휴 셀 제어부 100 : 출력 셀 DEMUX
101 : 셀 출력 포트 110 : 오류 검출부
120 : 판독 포트 제어부
이하, 본 발명을 첨부된 도면에 의거하여 상세히 설명하면 다음과 같다.
본 발명은 공통 메모리형 ATM 스위치에서 N개의 각 포트로 입력되는 셀 데이터를 공통 메모리에 기록(WRITE)하고, 출력 포트 제어기에 의해 지정된 출력 포트 셀을 읽어내어(READ) 출력 포트로 전송하기 위하여 크게 12개의 기능 모듈로 구성된다.
도 1은 링크드-리스트 공통 메모리 스위치 장치의 기능 모듈 구조를 나타낸다.
멀티플렉싱 및 직병렬 처리부(10)는 N개의 입력 포트(11)로부터 수신되는 직렬 셀 데이터를 쉬프트 레지스터를 이용하여 포트별로 완전한 셀 데이터가 구성될 때 까지 데이터 쉬프팅을 수행한 후 직병렬 변환을 수행하고 입력 포트 단위로 셀 데이터를 멀티플렉싱하여 병렬 신호선(12)을 통하여 헤더 검출부(20)로 출력하는 기능을 수행한다.
헤더 검출부(20)는 입력된 셀 단위의 병렬 데이터로부터 2개의 타임 클럭 동안 라우팅 헤더 태그를 기 설정된 셀 헤더 포맷을 기준으로 추출하고 신호선(22)을 통하여 라우팅 제어부(30)로 출력하며, 입력된 병렬 셀 데이터를 신호선(21)을 통하여 셀 데이터 메모리(40)로 출력하는 기능을 수행한다.
라우팅 제어부(30)는 입력된 라우팅 헤더 태그를 사용하여 출력될 포트를 결정하고 해당 출력 포트에 대한 기록 어드레스를 제어하는 기록/판독 어드레스 제어부(60)로 신호선(31)을 통하여 기록 요청신호를 출력하는 기능을 수행한다.
셀 데이터 폭으로 판독/기록이 가능한 이중 포트 RAM(DPRAM)인 셀 데이터 메모리(40)는 기록/판독 어드레스 제어부(60)로부터 신호선(61)을 통하여 제공되는 기록 어드레스에 입력된 셀 데이터를 기록하고 또한 신호선(63)을 통하여 제공되는 판독 어드레스로부터 셀 데이터를 판독하고 신호선(41)을 통하여 유휴(IDLE) 셀 제어부(90)로 출력하는 기능을 수행한다.
링크드-리스트 어드레스 메모리(50)는 셀 데이터 메모리(40)에 저장될 수 있는 셀의 최대 수와 같은 수의 판독 어드레스 메모리로서 메모리 어드레스에 저장된 판독 어드레스는 바로 그 메모리 어드레스와 같은 셀 데이터 메모리(40) 어드레스로부터 셀 데이터가 판독된 후 다음 번 셀 데이터가 판독될 경우에 사용할 판독 어드레스를 나타낸다.
기록/판독 어드레스 제어부(60)는 본 발명에서의 중심 기술에 해당하는 링크드-리스트 어드레스 제어부로서 각 출력 포트별로, 다음번 기록 어드레스를 나타내는 기록 어드레스 레지스터와 판독 어드레스 레지스터 및 기록/판독 상태 천이를 관리하는 상태 레지스터로 구성된다. 라우팅 제어부(30)로부터 입력된 기록 요청신호와 해당 출력 포트 정보에 의해 기록 관리될 출력 포트의 상태 레지스터를 결정하고 상태 레지스터 값에 따라 신호선(64)을 통하여 프리 스페이스(FREE SPACE) 셀 데이터 메모리 어드레스 FIFO(80)에 기록 어드레스 제공을 요청하며, 초기 어드레스 관리부(70)를 통하여 입력된 기록 어드레스를 사용하여 기록 어드레스 레지스터를 갱신하고, 신호선(61)을 통하여 실제 셀 데이터가 기록되어야할 기록 어드레스를 출력 제어한다. 또한 동시에 신호선(62)을 통하여 기록 어드레스에 저장되는 셀이 판독되는 시점에서 사용할 다음 순서의 판독 어드레스를 링크드-리스트 어드레스 메모리(50)로 출력한다. 또한 셀 데이터 판독 시점에서는 판독 포트 제어부(120)가 지정하는 출력 포트의 상태 레지스터를 분석하여 해당 출력 포트에 대응하는 셀 데이터가 셀 데이터 메모리(40)에 저장되어 있을 경우 신호선(63)을 통하여 판독어드레스 레지스터 값을 셀 데이터 메모리(40)와 링크드-리스트 어드레스 메모리(50)로 출력하며, 이에 따라 링크드-리스트 메모리로부터 다음번 판독 어드레스를 신호선(51)을 통하여 보고받아 판독 어드레스 레지스터를 갱신한다. 오류 검출부(110)로부터 신호선(111)을 통하여 오류 검출 및 오류 복구 여부를 나타내는 신호가 입력되면 판단에 따라 초기화 과정을 수행한다.
초기 어드레스 관리부(70)는 시스템 초기화 또는 리세트시 타 기능모듈과 달리 프리 스페이스 셀 데이터 메모리 어드레스 FIFO(80)에 일련의 셀 데이터 메모리(40)를 어드레싱하는 어드레스 데이터가 저장되지 못함으로 이 기간 동안에 기록/판독 어드레스 제어부(60)에 제공할 기록 어드레스를 대신 생성시키는 기능을 수행한다. 따라서 초기 M개의 기록 어드레스 생성 기간에만 신호선(71)을 통하여 자신이 생성한 기록 어드레스를 출력하고 이후에는 신호선(81)을 통하여 입력되는 기록 어드레스를 직접 출력한다. 또한 신호선(111)을 통하여 오류 관련 정보가 입력되면 기록 어드레스 생성에 사용한 업-카운터를 리세트시키는 기능을 수행한다.
유휴 셀 제어부(90)는 오류 검출부(110)로부터의 판독 어드레스 오류 판정 정보에 따라 유휴 셀을 생성하고 병렬 신호선(41)을 통하여 입력되는 해당 관련 셀 데이터에 대체시켜 신호선(91)으로 출력하는 기능을 수행한다.
병직렬 및 디멀티플렉싱 처리부(100)는 병렬 셀 데이터를 직렬 셀 데이터로 변환하고 입력되는 타임 슬롯에 대응하는 출력 포트로 신호선(101)을 통하여 출력하는 기능을 수행한다.
오류 검출부(110)는 링크드-리스트 어드레스 메모리에 저장된 각 판독 어드레스가 출력될 때 함께 출력되는 패리티 비트를 검사하여 오류 발생 유무를 판정하고 이 결과를 신호선(111)을 통하여 초기화가 필요한 기능 블록에 보고하며, 신호선(112)을 통하여 유휴 셀 출력을 요구하고 스위치 외부 네트워크 관리 프로세서에게 신호선(113)을 통하여 보고하는 기능을 수행한다.
판독 포트 제어부(120)는 셀 데이터를 출력할 포트를 결정하는 즉, 일련의 출력 포트 순서를 결정하는 기능 모듈로서 기록/판독 어드레스 제어부로 신호선(121)을 통하여 해당 타임 슬롯별로 지정된 출력 포트 번호를 출력하고 필요시 신호선(122)을 통하여 순서 관련 정보를 외부 프로세서로부터 제공받는다.
도 2는 기록/판독 어드레스 제어부의 세부 구조를 나타낸다.
기록/판독 어드레스 제어부는 출력 포트 개수의 링크드-리스트 어드레스 제어부(200, 210, 220)와 각 제어신호에 대한 멀티플렉서 및 디멀티플렉서들로 구성된다.
N개의 출력 포트 링크드-리스트 어드레스 제어부(200, 210, 220)는 출력 포트별로 구성되며 각 제어부에는 K개의 QoS 클래스에 대응하는 어드레스/상태 레지스터(202)를 가진다. 따라서 출력 포트 결정과 함께 입력된 셀 데이터의 QoS 클래스에 따라 유일한 어드레스/상태 레지스터가 선택되도록 제어한다. 또한 셀 데이터 판독 시점에서는 판독 포트 제어부로부터 지정되는 출력 포트 및 서비스 클래스 선택 신호(121)에 따라 유일한 어드레스/상태 레지스터가 선택되도록 제어한다. 신호선(71)을 통하여 입력된 프리 스페이스 기록 어드레스는 지정된 클래스의 어드레스/상태 레지스터를 구성하는 기록 어드레스에 저장되며, 신호선(121)을 통하여 입력되는 판독 포트 및 QoS 클래스 정보에 따라 하나의 출력 포트 링크드-리스트 어드레스 제어부와 이 제어부가 관리하는 하나의 클래스 어드레스/상태 레지스터가 선택된다.
셀 데이터 기록 어드레스 신호(61) 및 다음 번 판독 어드레스 신호(62)에 대한 제 1 멀티플렉서(230)는 N개의 출력 포트 링크드-리스트 어드레스 제어부 중에서 라우팅 제어부로부터 제공되는 신호(31)에 따라 하나를 선택하여 이들 두 신호(201) 정보를 출력 제어하는 기능을 수행한다.
라우팅 제어 결과로 결정된 기록 허용신호(31)와 출력 포트 정보(31)에 따라 출력 제어하는 제 1 디멀티플렉서(240)는 하나의 출력 포트 링크드-리스트 어드레스 제어부(200, 210, 220)로 신호선(241)을 통하여 기록 허용신호 출력을 제어하는 기능을 수행한다.
링크드-리스트 기록/판독 어드레스 메모리(50)로부터 입력되는 신호선(51)에 대한 제 2 디멀티플렉서(260)는 읽혀진 셀 데이터의 다음 번 판독 어드레스가 해당 출력포트의 제어부내에 있는 판독 어드레스 레지스터에 반영되도록 신호선(261)을 제어하는 기능을 수행한다.
각 출력 포트 링크드-리스트 어드레스 제어부(200, 210, 220)로 부터 출력되는 신호선(271)에 대한 제 3 멀티플렉서(270)는 하나의 판독어드레스 신호선(63)으로 선택 출력하는 기능을 수행한다.
오류 검출부(110)로부터 입력되는 신호선(111)에 대한 제 3 디멀티플렉서(280)는 오류가 발생된 링크드-리스트 판독 어드레스와 관련된 출력 포트 링크드-리스트 어드레스 제어부를 초기화 시키도록 신호선(281)을 제어하는 기능을 수행한다.
기록 어드레스 제공 요청 신호선(64)을 위한 제 2 멀티플렉서(250)는 각 출력 포트 제어부로부터 출력되는 신호선(251)중에서 하나를 선택하는 기능을 수행한다.
판독 어드레스 회수 요청 신호선(65)을 위한 제 4 멀티플렉서(290)는 각 출력 포트 제어부로부터 출력되는 신호선(291)중에서 하나를 선택하는 기능을 수행한다.
도 3은 하나의 QoS 클래스만을 수용한다고 가정하였을 때의 어드레스/상태 레지스터 제어 구조를 나타낸다.
링크드-리스트 기록 어드레스 제어부(300)는 상태 레지스터(330)와 다음 기록 어드레스 레지스터(320)를 관리 및 제어하는 장치로서, 라우팅 제어부(30)으로부터 신호선(301,31)을 통하여 입력되는 셀 기록 요청에 따라 신호선(331)을 통하여 상태 레지스터 값을 확인한 후 그 상태가 초기 상태일 경우, 2개의 기록 어드레스에 대응하는 2 개의 프리 어드레스를 프리 스페이스 셀 데이터 메모리 어드레스 FIFO(80)로 요청하고, 그 결과로 제공되는 2 개의 프리 어드레스를 입력 받아 작은 값의 프리 어드레스를 판독 어드레스 레지스터(340)에 저장함과 동시에 그 작은 값의 프리 어드레스를 셀 데이터 메모리(40)로 출력하여 셀 데이터가 그 어드레스에 기록될 수 있도록 한다. 또한 큰 값의 프리 어드레스를 신호선(302)을 통하여 기록 어드레스 레지스터(320)에 저장함과 동시에 신호선(303)을 통하여 상태 레지스터 값을 예약 상태로 변경시키고, 그 큰 값의 프리 어드레스를 링크드-리스트 어드레스 메모리(50)로 출력하여 작은 값의 프리 어드레스가 지정하는 위치에 즉, 셀 데이터가 저장되는 동일한 어드레스 값의 링크드 리스트 어드레스 메모리(50)에 저장되도록 하여 그 셀 데이터가 읽혀지는 시점에서 함께 읽혀져 다음 판독 어드레스로 사용될 수 있도록 한다. 점선으로 나타낸 블록(310)은 하나의 클래스 어드레스/상태 레지스터를 나타낸다.
상태 레지스터 값을 확인한 결과 다음 기록 어드레스가 이미 예약되어 있는 경우에는 기록 어드레스 레지스터에 저장되어 있는 이전의 프리 어드레스를 셀 데이터가 저장되는 셀 데이터 메모리(40)의 기록 어드레스로 사용될 수 있도록 셀 데이터 메모리로 출력하고 이와 동시에 1 개의 기록 어드레스에 대응하는 1 개의 프리 어드레스를 프리 스페이스 셀 데이터 메모리 어드레스 FIFO(80)로 요청하고, 그 결과로 제공되는 1 개의 프리 어드레스를 입력 받아 기록 어드레스 레지스터(320)에 저장함과 동시에 링크드-리스트 어드레스 메모리(50)로 출력하여 기록 어드레스 레지스터로부터 이미 출력된 기록(FREE) 어드레스가 지정하는 위치에 즉, 셀 데이터가 저장되는 동일한 어드레스 값의 링크드-리스트 어드레스 메모리(50)에 저장되도록 하여 또한 그 셀 데이터가 읽혀지는 시점에서 함께 읽혀져 다음 판독 어드레스로 사용될 수 있도록 한다.
링크드-리스트 판독 어드레스 제어부(350)는 상태 레지스터(330)와 판독 어드레스 레지스터(340)를 관리 및 제어하는 장치로서, 판독 포트 제어부(120)로부터 신호선(351,121)을 통하여 입력되는 셀 판독 요청에 따라 신호선(331)을 통하여 상태 레지스터 값을 확인한 후 그 상태가 초기 상태이거나 셀 데이터 메모리에 해당 출력 포트와 관련한 셀 데이터가 없는 경우에는 모든 동작을 중단한다. 만일 읽어야 할 셀 데이터가 셀 데이터 메모리에 존재하면서 판독 어드레스가 예약되어 있는 경우에는 신호선(353)을 통하여 판독 어드레스를 입력 받고, 신호선(351)을 통하여 이 판독 어드레스를 셀 데이터 메모리(40)와 링크드-리스트 어드레스 메모리 및 프리 스페이스 셀 데이터 메모리 어드레스 FIFO(80)로 보고한다. 따라서 이것은 셀 데이터 메모리로 하여금 이 판독 어드레스가 지정하는 위치의 셀 데이터를 출력하게 하고, 링크드-리스트 어드레스 메모리로 하여금 다음에 읽혀질 판독 어드레스를 출력하게 하며, 프리 스페이스 셀 데이터 메모리 어드레스 FIFO로 하여금 이미 사용한 판독 어드레스를 다음에 재사용할 수 있도록 회수하게 하는 역할을 하게한다. 이 결과로 링크드-리스트 어드레스 메모리로부터 보고된 다음 번 판독 어드레스가 다음 기록 어드레스 레지스터에 저장되어 있는 값과 동일할 경우에는 더 이상 읽을 셀 데이터가 셀 데이터 메모리에 없다는 것이므로 신호선(352)을 통하여 상태 레지스터 값을 어드레스 예약상태로 변경시킨다.
도 4는 상태 레지스터의 상태 천이 과정을 나타내며 3 개의 상태로 구성된다.
여기서의 상태 천이 처리방법은, 단지 2 비트로 구성된 초기 상태와 셀 저장 및 어드레스 예약 상태, 및 어드레스 예약 상태를 관리한다.
초기 상태(400)는 시스템 시동 시 운용중 오류검출로 인한 리세트시에 가지는 상태로서 자신의 출력 포트와 관련한 어떠한 셀도 셀 데이터 메모리에 저장되어 있지 않으며 또한 어떠한 판독 어드레스도 링크드-리스트 어드레스 메모리에 예약 저장되어 있지 않은 상태를 나타낸다. 이 경우에 라우팅 제어부로 부터의 셀 기록요청이 있어야만 신호선(401)이 보이는 것과 같이 셀 저장 및 어드레스 예약 상태(410)로 천이될 수 있다.
셀 저장 및 어드레스 예약 상태(410)는 자신의 출력 포트와 관련한 셀 데이터가 셀 데이터 메모리에 1 개 이상 저장되어 있고 또한 판독 어드레스도 링크드-리스트 어드레스 메모리에 예약 저장되어 있는 상태로서, 셀 판독 요청이 셀 기록 요청보다 많을 경우 셀 데이터 메모리에 저장된 마지막 셀 데이터가 출력되면 신호선(411)이 보이는 것과 같이 판독 어드레스만 예약된 상태(420)로 천이된다.
어드레스 예약 상태(420)에서는 셀 판독 요청에 응할 수 없고 다만 셀 기록이 있을 경우 신호선(421)이 보이는 것과 같이 다시 셀 저장 및 어드레스 예약상태(410)로 천이된다.
셀 저장 및 어드레스 예약 상태(410) 및 어드레스 예약 상태(420)에서는 오류 검출로 인한 리세트 요구로 신호선(422, 423)이 보이는 것과 같이 초기 상태(400)로 변할 수 있다.
도 5a 및 도 5b는 본 발명의 실시 예로서, 입출력 포트 수가 각각 4개이고 QoS 클래스가 1개이며, 입력 셀 데이터의 출력 포트 정보는 그림(500, CYCLE-1,2,3,4)과 같고, 판독 타임에서는 판독 포트 제어부에 의해 라운드 로빈 방식으로 출력 포트를 결정할 경우를 나타낸다.
각각 4 개의 입력 포트로부터 4 개의 CYCLE(501, 502, 503, 504)로 구분되어 셀 데이터(500)가 입력되면 기록/판독 어드레스 제어부내의 링크드-리스트 기록 어드레스 제어부에 의해 기록(550) 동작을 출력 포트(540)별로 시작한다. 이 경우 동일한 출력 포트에 대한 기록 및 판독 동작은 적어도 2 타임 슬롯 이상 위상을 달리하여야 한다.
도 5a의 CYCLE-1(501)에서 입력된 셀 0-0은 병렬 데이터가 멀티플렉싱되어 입력되는 0번째의 셀 중에서 0번의 출력 포트로 라우팅될 셀 데이터를 나타내고, 두 번째 셀 1-3은 1번째 셀 중에서 3번의 출력 포트로 라우팅되는 셀 데이터를 나타낸다.
이상과 같은 본 발명은 최소한의 메모리와 랜덤 로직 하드웨어 만으로 구성된 링크드-리스트 공통 메모리 어드레스 제어장치를 구현 가능하게 함으로서 대용량 스위치의 주문형 반도체 제작을 용이하게 하고, 메모리 이용률을 높여 서비스 질(Quality of Service; QoS)을 극대화 시키며, 링크드-리스트 어드레스 관리에 대한 기존의 프로세서 연동기능 구현을 배제시킴으로서 고속의 실시간 처리를 가능하게 한다.

Claims (4)

  1. N개의 입력 포트로 부터 수신되는 직렬 셀 데이터가 멀티플렉싱 및 직병렬처리기를 거쳐 변환되어 입력된 병렬 셀 데이터에서 소정 클럭 동안 라우팅 헤더 태그를 기 설정된 셀 헤더 포맷을 기준으로 추출하여 출력하는 헤더 검출수단;
    상기 출력된 라우팅 헤더 태그를 사용하여 출력될 포트를 결정하고, 그 출력포트에 대한 기록 어드레스를 제어하기 위한 기록 요청신호를 출력하는 라우팅 제어수단;
    기록/판독 어드레스 제어수단으로부터 제공되는 기록 어드레스에 입력된 셀 데이터를 기록하고, 판독 어드레스로부터 셀 데이터를 판독하여 유휴 셀 제어수단에 출력하는 셀 데이터 저장수단;
    상기 셀 데이터 저장수단에 저장 가능한 셀의 최대 수와 같은 수의 판독 어드레스를 기록하는 링크드-리스트 어드레스 저장수단;
    상기 라우팅 제어수단의 출력 포트별로 입력된 기록요청신호에 따라 프리 스페이스 셀 데이터 메모리 어드레스 저장수단에 기록 어드레스 제공을 요청하고, 초기 어드레스 관리수단에 입력된 기록 어드레스의 갱신 및 출력을 제어하며, 이와 동시에 기록 어드레스에 저장되는 셀이 판독되는 시점에 다음 순서의 판독 어드레스를 상기 링크드-리스트 어드레스 저장수단에 출력하고, 판독 포트 제어수단이 지정한 출력 포트에 대응하는 셀 데이터가 저장되어 있을 경우 판독 어드레스를 상기 셀 데이터 저장수단과 링크드-리스트 어드레스 저장수단에 출력하고, 오류 검출수단으로부터 오류 검출 및 오류 복구 여부 신호가 입력되면 판단에 초기화 과정을 수행하는 기록/판독 어드레스 제어수단;
    초기 기록 어드레스 생성기간에만 자신이 생성한 기록 어드레스를 출력하고, 이후에는 입력되는 기록 어드레스를 직접 출력하고, 상기 오류 검출수단으로부터 오류 관련 정보가 입력되면 기록 어드레스 생성에 사용한 카운터를 리세트시키는 초기 어드레스 관리수단;
    병직렬 및 디멀티플렉싱 처리기에 의해 직렬 셀 데이터로 변환시켜 해당 출력 포트에 오류 검출수단으로부터의 판독 어드레스 오류 판정 정보에 따라 유휴 셀을 생성하여 출력하는 유휴 셀 제어수단;
    상기 링크드-리스트 어드레스 저장수단에 저장된 각 판독 어드레스에 의해 오류 발생 유무를 판정하여 초기화 보고를 하고, 유휴 셀 출력을 유휴 셀 제어수단에 요구하는 오류 검출수단; 및
    상기 기록/판독 어드레스 제어수단에 출력 포트 순서를 결정하여 출력 포트 번호를 출력하고, 외부로부터 그 순서 정보를 받는 판독 포트 제어수단으로 구성된 것을 특징으로 하는 링크드-리스트 공통 메모리 스위치 장치.
  2. 제 1 항에 있어서,
    상기 기록/판독 어드레스 제어수단은,
    K개의 서비스 질(QoS) 클래스에 대응하는 어드레스/상태 레지스터를 각각 갖고, 출력 포트 결정 제어와 상기 입력된 셀 데이터의 서비스 질 클래스에 따라 유일한 어드레스/상태 레지스터가 선택되도록 제어하고, 상기 판독 포트 제어수단으로부터 지정되는 출력 포트 및 서비스 클래스 선택신호에 따라 유일한 어드레스/상태 레지스터가 선택되도록 제어하며, 상기 입력된 프리 스페이스 기록 어드레스를 지정된 클래스의 어드레스/상태 레지스터를 구성하는 기록 어드레스에 저장시키고, 입력되는 판독 포트 및 서비스 질 클래스 정보에 따라 하나의 출력 포트 링크드-리스트 어드레스 제어수단과 이 제어수단이 관리하는 클래스 어드레스/상태 레지스터를 선택하는 출력 포트별로 구성된 N 개의 출력 포트 링크드-리스트 어드레스 제어부;
    상기 링크드-리스트 어드레스 제어부의 각 제어신호에 따라 각 출력 포트내의 서비스 질(QoS) 클래스별로 링크드-리스트 어드레스 관리를 수행하게 하는 멀티플렉서 및 디멀티플렉서로 구성된 것을 특징으로 하는 링크드-리스트 공통 메모리 스위치 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 멀티플렉서 및 디멀티플렉서는,
    상기 링크드-리스트 어드레스 제어부중에서 상기 라우팅 제어수단의 신호에 따라 하나를 선택하여 셀 데이터 기록 어드레스와 다음번 판독 어드레스 정보의 출력을 제어하는 제 1 멀티플렉서;
    상기 라우팅 제어수단에서 결정되는 기록 허용신호와 출력 포트 정보에 따라 하나의 링크드-리스트 어드레스 제어부에 기록 허용신호의 출력을 제어하는 제 1 디멀티플렉서;
    상기 링크드-리스트 기록/판독 어드레스 저장수단에서 읽혀진 셀 데이터의 다음번 판독 어드레스가 해당 링크드-리스트 어드레스 제어부에 반영되도록 신호를 제어하는 제 2 디멀티플렉서;
    상기 각 링크드-리스트 어드레스 제어부로부터 출력되는 신호중에서 하나의 판독 어드레스 신호를 선택 출력하는 제 3 멀티플렉서;
    상기 오류 검출수단으로부터 오류가 발생된 링크드-리스트 판독 어드레스를 받아 해당 링크드-리스트 어드레스 제어부를 초기화시키도록 제어하는 제 3 디멀티플렉서;
    상기 기록 어드레스 제공 요청신호를 받아 각 링크드-리스트 어드레스 제어부로부터 출력되는 신호중에 하나를 선택하는 제 2 멀티플렉서; 및
    판독 어드레스 회수 요청 신호를 받아 각 링크드-리스트 어드레스 제어부로부터 출력되는 신호중에서 하나를 선택하는 제 4 멀티플렉서로 구성된 것을 특징으로 하는 링크드-리스트 공통 메모리 스위치 장치.
  4. 제 2 항에 있어서,
    상기 각 링크드-리스트 어드레스 제어부에는,
    다음 기록 어드레스를 저장하는 다음 기록 어드레스 레지스터, 상태 레지스터, 판독 어드레스 레지스터로 구성된 하나의 클래스 어드레스/상태 레지스터;
    상기 상태 레지스터와 다음 기록 어드레스 레지스터를 관리 및 제어하는 링크드-리스트 기록 어드레스 제어부; 및
    상기 상태 레지스터와 판독 어드레스 레지스터를 관리 및 제어하는 링크드-리스트 판독 어드레스 제어부로 구성된 것을 특징으로 하는 링크드-리스트 공통 메모리 스위치 장치.
KR10-1999-0035395A 1999-08-25 1999-08-25 링크드-리스트 공통 메모리 스위치 장치 KR100384997B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0035395A KR100384997B1 (ko) 1999-08-25 1999-08-25 링크드-리스트 공통 메모리 스위치 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0035395A KR100384997B1 (ko) 1999-08-25 1999-08-25 링크드-리스트 공통 메모리 스위치 장치

Publications (2)

Publication Number Publication Date
KR20010019128A KR20010019128A (ko) 2001-03-15
KR100384997B1 true KR100384997B1 (ko) 2003-05-22

Family

ID=19608605

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0035395A KR100384997B1 (ko) 1999-08-25 1999-08-25 링크드-리스트 공통 메모리 스위치 장치

Country Status (1)

Country Link
KR (1) KR100384997B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100428859B1 (ko) * 2001-04-27 2004-04-28 주식회사 현대시스콤 이동 통신 교환기의 파일 시스템에서 파일 생성/제거 속도향상 방법
US8688853B2 (en) * 2001-12-21 2014-04-01 Agere Systems Llc Method and apparatus for maintaining multicast lists in a data network

Also Published As

Publication number Publication date
KR20010019128A (ko) 2001-03-15

Similar Documents

Publication Publication Date Title
CA2022798C (en) Communication switching element and method for transmitting variable length cells
US6700894B1 (en) Method and apparatus for shared buffer packet switching
US5083269A (en) Buffer device suitable for asynchronous transfer mode communication
JP4046943B2 (ja) マルチポート内部キャッシュdram
JPH11346223A (ja) Atm交換機
US6249524B1 (en) Cell buffer memory for a large capacity and high throughput ATM switch
US6904046B2 (en) Self-route multi-memory packet switch adapted to have an expandable number of input/output ports
US6289011B1 (en) 2n×n multiplexing switch
KR100200558B1 (ko) Atm망에서의 고정전송속도 트래픽의 셀 분할과 조립에 관한 장치와 방법
RU2142646C1 (ru) Система для мультиплексирования/демультиплексирования данных межпроцессорного обмена в режиме асинхронной передачи при обмене в режиме асинхронной передачи
CN111611180B (zh) 一种支持多协议的动态共享缓冲区
KR100384997B1 (ko) 링크드-리스트 공통 메모리 스위치 장치
EP0504710B1 (en) Cross-point type switch using common memories
US6314489B1 (en) Methods and systems for storing cell data using a bank of cell buffers
JP3103298B2 (ja) Atmスイッチのアドレス生成回路
US7142515B2 (en) Expandable self-route multi-memory packet switch with a configurable multicast mechanism
JP3255113B2 (ja) パケットスイッチシステム、これを含む集積回路、パケットスイッチ制御方法、パケットスイッチ制御プログラム記録媒体
KR100226539B1 (ko) Atm 스위치의 어드레스 생성 회로
US6671274B1 (en) Link list operable to increase memory bandwidth in a transmission system
US5708661A (en) Asynchronous transfer mode cell demultiplexing control apparatus
JPH06284453A (ja) Atmセルスイッチ
US20030076824A1 (en) Self-route expandable multi-memory packet switch
KR0146763B1 (ko) 공유 버퍼형 에이티엠 스위치에서의 방송 제어 장치
KR20010057812A (ko) 멀티프로토콜 레이블 스위칭 망의 에지 라우터에서의비동기전달모드 스위치 정합장치
KR950001508B1 (ko) 고속 스위치 망에서 입출력단의 메모리 운영장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee