KR20180037268A - 메모리 기기 - Google Patents

메모리 기기 Download PDF

Info

Publication number
KR20180037268A
KR20180037268A KR1020187007086A KR20187007086A KR20180037268A KR 20180037268 A KR20180037268 A KR 20180037268A KR 1020187007086 A KR1020187007086 A KR 1020187007086A KR 20187007086 A KR20187007086 A KR 20187007086A KR 20180037268 A KR20180037268 A KR 20180037268A
Authority
KR
South Korea
Prior art keywords
unit
search
memory
network
function
Prior art date
Application number
KR1020187007086A
Other languages
English (en)
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 claimed from PCT/JP2016/073477 external-priority patent/WO2017030054A1/ja
Publication of KR20180037268A publication Critical patent/KR20180037268A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • 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/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • Y02D10/13

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

NFV 또는 네트워크의 상품화에 있어서 염가이며 저소비 전력으로 네트워크 기능의 확장이 용이하게 실현 가능해지는 것.
싱글 칩으로 구성되는 포코 워처(11)는, 네트워크 기능 중 적어도 경로 제어, 대역 제어, 트래픽 감시, 버퍼 및 액세스 제어를 발휘할 수 있도록 경로 제어부(31), 대역 제어부(32), 트래픽 감시부(33), 버퍼부(34) 및 액세스 제어부(35)를 가지는 기능적 구성을 가지고 있다.

Description

메모리 기기
본 발명은 메모리 기기에 관한 것이다.
종래에 퍼스널 컴퓨터(이하, 'PC'라고 적절히 약기함) 또는 서버는 한정된 메이커에 의해 제조 판매되는 IT 기기였다. 그런데, 최근에는 프로세서 또는 메모리 등 기기 내부에서 사용되는 컴포넌트가 범용화되었기 때문에 누구라도 조립 가능한 IT 기기로 변모했다.
또한, PC 또는 서버는 OS를 비롯하여 어플리케이션 소프트웨어도 상품화되어, 누구나가 개발자 또는 기술 제안자가 되는 것이 가능한 오픈 플랫폼을 채용한 것이 일반적으로 되고 있다.
이러한 현황의 PC 또는 서버 등의 시스템과 같이, 장치의 하우징은 상이해도 내부 사양은 구성이 가시화된 시스템은 'White Box' 등으로 불리고 있다.
라우터 또는 스위치 등 네트워크 기기(예를 들면 특허 문헌 1 내지 3 참조)도 종래에 한정된 메이커에 의해서만 지배되는 특수한 IT 기기 시장이었으나, NFV(Network Functions Virtualization)라는 말이 최근에 등장하고 있는 것과 같이 그 최근의 동향은 PC 또는 서버와 동일하다.
예를 들면, 저비용형의 엔터프라이즈용 기종 등에 대해서는 프로세서 또는 메모리의 상품화에 의해 누구라도 제조할 수 있는 오픈 플랫폼화가 서서히 침투하고 있다.
특허 문헌 1 : 일본특허공개공보 제2013-38536호 특허 문헌 2 : 일본특허공개공보 제2012-27998호 특허 문헌 3 : 일본특허공보 제4934825호
그러나 NFV 또는 네트워크의 상품화에 있어서, 네트워크 기능의 확장, 예를 들면 검색을 수반하는 경로 제어 등의 확장이 필요하다.
이 경우, 도 15에 나타낸 바와 같이 특수한 메모리 등 고가이며 소비 전력도 큰 컴포넌트가 복수개 필요했다.
도 15는 네트워크 기능을 실현하기 위한 종래의 정보 처리 시스템의 구성예를 나타내는 블록도이다.
예를 들면, 도 15에 나타낸 종래의 정보 처리 시스템은 서버 또는 PC에 내장되는 기판 상에 실장된다.
종래의 정보 처리 시스템은 네트워크 프로세서(12)와, CPU(13)와, 복수개(도 15의 예에서는 4 개)의 통신 디바이스(14a 내지 14d)와, TCAM(501)과, SRAM(502)과, DRAM(503)을 구비하고 있다.
종래의 정보 처리 시스템에서는, 네트워크 프로세서(12)의 기능을 확장하는 경우 다양한 메모리가 필요하다. 예를 들면, 경로 제어 및 트래픽 감시의 실현을 위해 TCAM(501)이 사용되고, 경로 제어, 대역 제어 및 트래픽 감시를 위해 SRAM(502)이 사용되고, 버퍼로서 대용량 가능한 DRAM(503)이 사용되고 있었다.
이들 TCAM(501)과 SRAM(502)과 DRAM(503)은 고가이며 소비 전력도 큰 컴포넌트이다.
본 발명은 이러한 상황을 감안하여 이루어진 것으로, NFV 또는 네트워크의 상품화에 있어서 염가이며 저소비 전력으로 네트워크 기능의 확장을 용이하게 실현 가능하게 하는 것을 목적으로 한다.
본 발명의 일 태양의 메모리 기기는,
싱글 칩으로 구성되는 메모리 기기로서,
네트워크 기능 중 적어도 경로 제어, 대역 제어, 트래픽 감시, 버퍼 및 액세스 제어가 기능하는,
메모리 기기이다.
여기서, 메모리 기기는,
제1 메모리부를 가지며, 상기 제1 메모리부에 축적된 데이터에 대해 입력된 검색 키를 참조하는 검색 동작을 실행하는 검색부와,
상기 검색부에서 히트한 검색 키마다 상기 제1 메모리부의 어드레스를 대응시키고, 상기 어드레스의 통계 정보를 기억하는 제2 메모리부를 가지는 통계 정보 처리부와,
상기 검색부에 의해 히트할 때마다 상기 통계 정보를 갱신하는 연산부
를 구비할 수 있다.
상기 검색부는, 검색 키의 비트 폭을 가변할 수 있는 기능을 가질 수 있다.
상기 검색부는, 정보의 기입이 성공인지 실패인지를 나타내는 판정 신호를 출력하는 기능을 가질 수 있다.
상기 검색부는, 화이트 리스트 방식의 상기 액세스 제어와 블랙 리스트 방식의 상기 액세스 제어를 선택적으로 실행할 수 있다.
네트워크를 구성하는 개개의 장치와, 상기 개개의 장치를 제어하는 네트워크 콘트롤러를 포함하는 정보 처리 시스템 내에, 상기 메모리 기기는 상기 개개의 장치마다 1 개씩 접속되어 마련되며,
상기 메모리 기기는,
상기 개개의 장치 중 접속된 것의 트래픽을 감시하고 데이터를 취득하여 상기 네트워크 콘트롤러로 송신하는 기능과,
상기 네트워크 콘트롤러에서 상기 개개의 장치의 데이터가 해석되고 상기 개개의 장치로의 제어 정보가 생성되어 송신되어 온 경우, 상기 제어 정보를 수신하고, 상기 제어 정보에 기초하여 상기 개개의 장치 중 접속된 것을 제어하는 기능
을 구비할 수 있다.
상기 메모리 기기는,
메모리부와,
상기 네트워크 기능을 발휘시키는 네트워크 기능부와,
상기 메모리부와 상기 네트워크 기능부의 제1 루트와, 상기 메모리부의 제2 루트를 전환하는 셀렉터부
를 구비할 수 있다.
상기 셀렉터부는, 메탈 마스크와 어드레스 키 중 적어도 일방에 의해 실현되도록
할 수 있다.
상기 네트워크 기능부는, 상기 메모리부에 대한 테스트 모드용의 비교기군에 의해 구성되도록
할 수 있다.
본 발명에 따르면, NFV 또는 네트워크의 상품화에 있어서 염가이며 저소비 전력으로 네트워크 기능의 확장이 용이하게 실현 가능해진다.
도 1은 본 발명의 일실시 형태에 따른 정보 처리 시스템의 구성예를 나타내는 블록도이다.
도 2는 본 발명의 일실시 형태에 따른 정보 처리 시스템의 구성예이며, 도 1의 예와는 상이한 예를 나타내는 블록도이다.
도 3은 도 1 또는 도 2의 정보 처리 시스템의 포코 워처(poco-watcher)의 기능 중 네트워크 기능을 실현하기 위한 기능 블록도이다.
도 4는 도 1 또는 도 2의 정보 처리 시스템의 포코 워처의 기능 중 마이닝 기능을 실현하기 위한 기능 블록도이다.
도 5는 도 1 또는 도 2의 정보 처리 시스템의 포코 워처의 하드웨어 구성 중 도 3의 경로 제어부 혹은 트래픽 감시부, 또는 도 4의 클러스터링부 혹은 랭킹부가 기능하는 경우에 동작하는 하드웨어 구성의 일례를 나타내는 도면이다.
도 6은 도 1 또는 도 2의 정보 처리 시스템의 포코 워처의 하드웨어 구성 중 도 3의 경로 제어부 혹은 트래픽 감시부, 또는 도 4의 클러스터링부 혹은 랭킹부가 기능하는 경우에 동작하는 하드웨어 구성의 일례이며, 도 5와는 상이한 예를 나타내는 도면이다.
도 7은 도 6의 예의 포코 워처 중 메모리 셀 어레이, 센스 앰프 & 셀렉터 및 연산부의 확대도를 나타내고 있다.
도 8은 도 3의 경로 제어부와 버퍼부의 각 기능을 조합한 라우터 기능을 설명하기 위한 모식도이다.
도 9는 도 1 또는 도 2의 정보 처리 시스템의 포코 워처의 검색 엔진의 하드웨어 구성의 일례이며, 도 5, 도 6과는 상이한 예를 나타내는 도면이다.
도 10은 도 1 또는 도 2의 정보 처리 시스템의 포코 워처의 검색 엔진의 하드웨어 구성의 일례이며, 도 5, 도 6, 도 9와는 상이한 예를 나타내는 도면이다.
도 11은 본 발명의 일실시 형태에 따른 정보 처리 시스템이며, 2 개의 검색 엔진을 이용한 정보 처리 시스템의 구성예를 나타내는 도면이다.
도 12는 도 11의 정보 처리 시스템의 동작예를 나타내는 도면이다.
도 13은 본 발명의 일실시 형태에 따른 정보 처리 시스템의 구성예이며, 도 1 또는 도 2의 예와는 상이한 예를 나타내는 블록도이다.
도 14는 본 발명의 일실시 형태에 따른 정보 처리 시스템의 구성예이며, 도 1, 도 2, 도 13의 예와는 상이한 예를 나타내는 블록도이다.
도 15는 네트워크 기능을 실현하기 위한 종래의 정보 처리 시스템의 구성예를 나타내는 블록도이다.
도 16은 도 1 또는 도 2의 정보 처리 시스템의 포코 워처의 다른 구성예를 나타내는 블록도이다.
도 17은 도 16의 포코 워처의 접속 상태를 나타내는 도면이다.
도 18은 네트워크 기능을 실현하기 위한 종래의 정보 처리 시스템의 구성예와 도 16의 포코 워처를 포함하는 정보 처리 시스템의 구성예의 비교도이다.
이하, 본 발명의 실시 형태에 대해 도면을 이용하여 설명한다.
도 1은 본 발명의 일실시 형태에 따른 정보 처리 시스템의 구성예를 나타내는 블록도이다.
예를 들면, 도 1에 나타낸 정보 처리 시스템은 서버 또는 PC에 내장되는 기판 상에 실장된다.
정보 처리 시스템은 본 발명이 적용되는 전자 기기의 일실시 형태로서의 포코 워처(11)와, 네트워크 프로세서(12)와, CPU(13)와, 복수개(도 1의 예에서는 4 개)의 통신 디바이스(14a 내지 14d)를 구비하고 있다.
네트워크 프로세서(12)의 기능을 확장하는 경우, 종래에는 전술한 바와 같이 다양한 메모리가 필요했다. 예를 들면 전술한 도 15의 종래예에서는, 경로 제어 및 트래픽 감시의 실현을 위해 TCAM(501)이 사용되고, 경로 제어, 대역 제어 및 트래픽 감시를 위해 SRAM(502)이 사용되고, 버퍼로서 대용량 가능한 DRAM(503)이 사용되고 있었다.
이에 반해 본 실시 형태의 정보 처리 시스템에서는, 포코 워처(11)는 DRAM 프로세스가 가능한 싱글 칩으로 구성되어 있기 때문에 대용량의 버퍼에도 대응 가능하다. 이 때문에, 도 1에 나타낸 바와 같이 포코 워처(11)를 네트워크 프로세서(12)에 접속시킨다고 하는 구성만으로 당해 네트워크 프로세서(12)의 기능을 확장시킬 수 있다.
또한, 정보 처리 시스템의 구성 자체는 네트워크 프로세서(12)와 포코 워처(11)가 통신 가능한 구성이면 충분하며, 도 1의 구성에 특별히 한정되지 않는다.
도 2는 본 발명의 일실시 형태에 따른 정보 처리 시스템의 구성예이며, 도 1의 예와는 상이한 예를 나타내는 블록도이다.
도 2(a)의 예의 정보 처리 시스템에서는, 도 1의 예의 차이점으로서 통신 디바이스(14a 내지 14d)가 포코 워처(11)에 접속되어 있다.
도 2(b)의 예의 정보 처리 시스템에서는, 도 1의 예의 차이점으로서 도시하지 않은 라우터 등과 접속되는 통신 디바이스(14e)가 포코 워처(11)에 접속되어 있다.
또한 도 2(a), 도 2(b)의 구성은 예시에 불과하며, 예를 들면 도시는 하지 않았지만 포코 워처(11)를 2 개 준비하여, 통신 디바이스(14e)와 네트워크 프로세서(12)의 사이와, 네트워크 프로세서(12)와 통신 디바이스(14a 내지 14d)의 사이에 각각 1 개씩 포코 워처(11)를 동시에 삽입해도 된다.
도 3은 포코 워처(11)의 기능 중 네트워크 기능을 실현하기 위한 기능 블록도를 나타내고 있다.
도 3에 나타낸 바와 같이, 포코 워처(11)에서는 경로 제어부(31)와, 대역 제어부(32)와, 트래픽 감시부(33)와, 버퍼부(34)와, 액세스 제어부(35)와, 주제어부(36)가 기능한다.
경로 제어부(31)는 종래의 TCAM, HS SRAM에 의해 실현되던 경로 제어와 동등한 기능을 실현한다.
대역 제어부(32)는 종래의 HS SRAM, LLDRAM에 의해 실현되던 대역 제어와 동등한 기능을 실현한다.
트래픽 감시부(33)는 종래의 TCAM, HS SRAM 카운터, ALU에 의해 실현되던 트래픽 감시와 동등한 기능을 실현한다.
버퍼부(34)는 종래의 DRAM과 동등한 기능으로 버퍼를 실현한다.
액세스 제어부(35)는 종래부터 실현되던 액세스 제어와 동등한 기능을 실현한다.
주제어부(36)는 경로 제어부(31) 내지 액세스 제어부(35)를 포함하는 포코 워처(11)의 전체 제어를 실행한다.
도 4는 포코 워처(11)의 기능 중 마이닝 기능을 실현하기 위한 기능 블록도를 나타내고 있다.
도 4에 나타낸 바와 같이, 포코 워처(11)에서는 전술한 주제어부(36) 외에 클러스터링부(37)와, 랭킹부(38)와, 마이닝부(39)가 기능한다.
클러스터링부(37)는 종래부터 실현되던 클러스터링 제어와 동등한 기능을 실현한다.
랭킹부(38)는 종래부터 실현되던 랭킹 제어와 동등한 기능을 실현한다.
마이닝부(39)는 종래부터 실현되던 마이닝과 동등한 기능을 실현한다.
도 5는 포코 워처(11)의 하드웨어 구성 중 도 3의 경로 제어부(31) 혹은 트래픽 감시부(33), 또는 도 4의 클러스터링부(37) 혹은 랭킹부(38)가 기능하는 경우에 동작하는 하드웨어 구성의 일례를 나타내고 있다.
도 6은 포코 워처(11)의 하드웨어 구성 중 도 3의 경로 제어부(31) 혹은 트래픽 감시부(33), 또는 도 4의 클러스터링부(37) 혹은 랭킹부(38)가 기능하는 경우에 동작하는 하드웨어 구성의 일례이며, 도 5의 예와는 상이한 예를 나타내고 있다.
또한, 도 5의 예와 도 6의 예를 명확하게 구별하기 위해 이하, 도 5의 예의 포코 워처(11)를 특별히 '포코 워처(11a)'라고 부르고, 도 6의 예의 포코 워처(11)를 특별히 '포코 워처(11b)'라고 부른다.
도 5의 예의 포코 워처(11a)는 검색부(51a)와, 통계 정보 처리부(52a)와, 연산부(53a)를 가진다.
검색부(51a)는 이른바 검색 엔진이며, 해시 생성기(61)와, 메모리부(62)와, 비교기(63)를 가진다.
여기서, 검색(Search)이란 메모리 등 스토리지 디바이스(도 5의 예에서는 메모리부(62))에 축적된 데이터에 대해 원하는 검색 키(검색 대상이 되는 데이터열)를 참조하는 동작을 말한다.
메모리부(62) 내부에 검색 키를 발견한 경우를 히트(Search hit)라고, 발견하지 못하는 경우를 미스(Search miss)라고 각각 정의한다.
검색의 히트 후에는 메모리부(62)로부터 액션(또는 룰)이 출력된다.
구체적으로는 예를 들면, 검색 키 55_23_75_A4_53_10_89_bd가 메모리부(62)에 기억되어 있고, 히트한 경우의 액션으로서 PortB(출력처를 통신 디바이스(14b)로 함)가 정의되어 있는 것으로 한다. 이 경우, 검색 키 55_23_75_A4_53_10_89_bd가 검색부(51a)에 입력되면 당해 검색 키가 메모리부(62)로부터 검색되어 히트하므로, 액션으로서 PortB가 출력된다.
도 3의 경로 제어부(31) 혹은 트래픽 감시부(33), 또는 도 4의 클러스터링부(37) 혹은 랭킹부(38) 등을 기능시키는 다양한 어플리케이션을 실행하는 경우에는 이러한 검색 동작이 필요해진다.
종래의 통상적인 메모리에 의한 하드웨어 구성(도 5의 메모리부(62)만의 구성)에서는 검색 동작(명령)을 실행할 수 없다. 이 때문에, 종래에는 네트워크 IP 어드레스의 검색 등을 하는 경우 TCAM(501)(도 14)이라고 하는 특수한 메모리를 이용하여 검색 동작이 행해지고 있었다. TCAM(501)은 메모리 셀측에 어드레스의 비교기를 마련하고, 메모리 셀에 축적되어 있는 데이터와 검색 키를 비교하는 처리를 모든 메모리 셀에서 행함으로써 검색 동작을 행한다.
TCAM(501)을 이용한 검색에서의 문제점은, 모든 메모리 셀에 대해 일제히 병렬로 액세스하기 때문에 소비 전력이 매우 크다는 것이다.
그래서, 본 실시 형태에서는 TCAM(501) 등의 특수한 메모리를 마련하지 않고 검색 동작이 실행 가능하도록 포코 워처(11)라고 하는 싱글 칩 내에 검색 동작을 실행 가능한 검색부(51a)가 마련되어 있다.
여기서, 검색부(51a) 중 메모리부(62)는 통상적인 메모리와 동일한 하드웨어 구성을 가지고 있다. 즉, 메모리부(62)는 메모리 셀 어레이(621)와, 디코더(622)와, 센스 앰프 & 셀렉터(623)를 구비하고 있다.
디코더(622)는 부호화된 데이터(입력된 어드레스)를 복원한다. 여기서는, 디코더(622)는 2 진수의 신호를 전개한다. 예를 들어 N 비트라면, 디코더(622)에 의해 2N으로 전개된다. 그리고, 디코더(622)는 전개한 값에 기초하여 메모리 셀 어레이(621)의 위치를 선택하고, 선택된 위치에 데이터를 기입하거나, 혹은 선택된 위치로부터 데이터를 독출한다.
센스 앰프 & 셀렉터(623)는 메모리 셀 어레이(621)로부터 독출된 데이터를 증폭시키는 센스 앰프와, 메모리 셀 어레이(621)로부터 독출된 데이터를 어드레스 신호에 따라 선택하는 셀렉터를 가지고 있다.
이와 같이, 메모리부(62) 단체(單體)는 기입과 독출이 동작(명령)의 전부이며, 검색의 동작(명령)을 가지지 않았다.
이 때문에, 본 실시 형태의 포코 워처(11)와 같이 검색의 동작을 통상적인 메모리(메모리부(62))를 이용하여 실현하는 경우, 입력되는 검색 키를 어드레스로서 취급할 필요가 있다.
메모리의 어드레스를 검색 키 데이터로 하고, 메모리의 데이터를 액션으로서 정의하고, 검색 데이터를 어드레스 입력함으로써 액션 데이터를 메모리로부터 얻는 것이 가능해진다. 그러나 이 방식에 따르면, 검색 키로서 사용하는 비트 폭이 긴 경우, 메모리 용량이 방대해진다고 하는 문제점이 있다. 예를 들면 64 비트 길이의 검색 키의 경우, 메모리의 총 용량은 2^64(≒ 16×10^18)가 되어, 본원 출원 당시의 반도체 기술에서 실현 가능한 메모리 용량보다 훨씬 크다.
그래서, 본 실시 형태의 검색부(51a)는 메모리부(62)에 추가로 또한 해시 생성기(61)를 구비하고 있다.
해시 생성기(61)는 입력된 검색 키를 해시 함수를 이용하여 비트 길이를 축소한다. 예를 들면 해시 생성기(61)는 검색 키 64 비트 길이의 입력에 대해 16 비트 폭의 출력으로 압축한다.
이와 같이 본 실시 형태의 검색부(51a)는 검색 가능한 비트 길이를 내부의 해시 생성기(61)에 의해 축소하고, 메모리부(62)의 탑재 용량의 제한 또는 한계를 가미하면서 검색 동작을 가능하게 하는 것이다.
단, 검색 키가 압축되어 있기 때문에 상이한 어드레스이면서도 구별을 할 수 없다고 하는 문제점이 있다. 이 문제점을 해결하기 위해 본 실시 형태의 검색부(51a)는 해시 생성기(61)와 메모리부(62)에 추가로 또한 비교기(63)를 구비하고 있다.
비교기(63)는 메모리 셀 어레이(621)로부터 센스 앰프 & 셀렉터(623)를 통한 독출 시에 액션 결과에 추가로 기입해 둔 검색 키를 독출하고, 독출한 검색 키와 입력된 검색 키의 비교를 행하여 최종적인 히트 / 미스를 판정한다.
또한, 검색부(51a)의 더 상세한 점은 특허 문헌 3을 참조하면 된다.
여기서, 도 5의 포코 워처(11)에서는 검색부(51a)뿐만 아니라 통계 정보 처리부(52a)와 연산부(53a)가 더 마련되어 있다.
검색부(51a)만으로 구성하면, 어플리케이션에 의해 변화되는 검색 테이블에 대해 자재성(自在性)이 부족하다고 하는 문제점이 발생하기 때문이다.
예를 들면, 라우터 등 네트워크 기기에서의 IP 어드레스를 검색 테이블로 한 경우, IPv4에서는 대략 수백만 엔트리의 데이터를 축적하기 위한 용량이 필요하다. IPv6의 경우, 검색 키는 64b까지이나 엔트리 수가 많기 때문에 큰 검색 테이블이 필요하다. 또한, 최근의 ICN(Information Centric Network), CCN / DCN(Content Centric Network / Data Centric Network)에서는 문자열에 의해 경로를 제어하기 때문에, 긴 비트 길이를 취급하는 검색 키가 필요하다.
이와 같이, 도 3의 경로 제어부(31) 혹은 트래픽 감시부(33), 또는 도 4의 클러스터링부(37) 혹은 랭킹부(38) 등을 기능시키는 다양한 어플리케이션에 대해서는, 검색부(51a)라고 하는 1 개의 디바이스에서는 대응할 수 없거나, 혹은 낭비가 발생하게 된다고 하는 문제점이 발생한다.
이러한 문제점을 해결하기 위해, 도 5의 포코 워처(11)에서는 검색부(51a)뿐만 아니라 통계 정보 처리부(52a)와 연산부(53a)가 더 마련되어 있다.
예를 들면, 검색 엔진의 어플리케이션 중 라우터 등의 포워딩에 대해 고려해 본다. 이 포워딩은 도 3의 경로 제어부(31)에 의한 경로 제어에 의해 실현된다.
포워딩에서는 패킷의 헤더에 기재되어 있는 수신지 어드레스 등으로부터 패킷을 출력하는 포트 번호를 결정하는 처리가 필요해진다.
여기서, 수신지가 결정되면 일의적으로 출력 포트 번호가 결정되는 방법이 채용된 경우를 고려한다. 예를 들면, 포트 번호를 결정함에 있어서 수신지 어드레스 등과 출력 포트의 관계를 기재한 테이블이 이용되는 경우이다. 이러한 경우, 동일한 수신지 혹은 동일한 출력 포트의 선택이 많아짐에 따라 트래픽의 혼잡이 발생한다.
이러한 일의적으로 결정하는 방법에서는 트래픽의 우회를 할 수 없기 때문에, 포워딩에서는 각 플로우의 데이터량을 축적하여 이들 데이터량도 고려하면서 출력 포트를 결정한다고 하는 방법이 채용되고 있다. 이 방법에 따르면, 특정 플로우로의 히트가 많은 경우에는 출력 포트가 편중되어 트래픽이 혼잡해지기 때문에, 이 혼잡을 피하도록 각 플로우에 히트한 횟수 또는 흐른 트래픽의 양을 카운트하는 처리가 필요해진다. 즉, 통계를 축적하여 효율적인 네트워크를 구축하는 처리가 필요해진다.
이러한 처리를 싱글 칩으로 실현하기 위해, 도 5의 포코 워처(11)에서는 검색부(51a)뿐만 아니라 통계 정보 처리부(52a)와 연산부(53a)가 더 마련되어 있다.
통계 정보 처리부(52a)는 전술한 처리에 필요한 통계 정보를 축적하기 위해 메모리부(71)를 가지고 있다.
이 메모리부(71)는 통상적인 메모리와 동일한 하드웨어 구성을 가지고 있다. 즉, 메모리부(71)는 메모리 셀 어레이(711)와, 디코더(712)와, 센스 앰프 & 셀렉터(713)를 가지고 있다. 이와 같이, 통계 정보를 축적하기 위한 메모리부(71)는 특수한 메모리 셀이 아니라 통상적인 메모리 셀이기 때문에, 도 5의 구성을 포코 워처(11)라고 하는 싱글 칩으로 실현 가능해진다.
메모리부(71)는 통계 정보를 축적하기 위해 검색부(51a)(검색 엔진)에서 히트한 플로우에 대응하는 정보를 축적한다. 즉, 메모리부(71)는 히트한 검색 키마다 어드레스를 대응시키고, 이 어드레스에 통계 정보를 축적한다.
연산부(53a)는 비교기(63)에 의한 히트 / 미스 판정 결과를 입력하며, 히트라면 히트의 검색 키에 대응한 유니크한 어드레스를 독출하고, 독출된 어드레스에 따라 메모리부(71)에 액세스하여 통계 정보를 독출한다.
연산부(53)의 가산기(81)는 이와 같이 하여 독출된 통계 정보를 가산함으로써 업데이트하고, 메모리부(71)의 동일한 어드레스에 라이트 백한다. 이와 같이, 가산기(81)는 독출된 데이터에 대해 데이터를 가산하는 장치이다. 가산기(81)가 가산하는 것은 검색부(51a)에서 히트했을 때뿐이다. 가산기(81)는, 통계 정보가 패킷 수인 경우에는 플러스 1을 가산하고, 통계 정보가 패킷 사이즈인 경우에는 독출된 데이터에 대해 패킷의 헤더에 기재되어 있는 패킷 사이즈를 가산한다.
여기서, 히트 / 미스의 판정을 위해 메모리부(71)로부터 독출된 데이터와 검색 키를 비교할 필요가 있다. 이 때문에, 검색부(51a)의 비교기(63)의 히트 신호에 의해 가산기(81)의 동작이 제어된다.
이러한 일련의 동작에 의해 통계 정보가 메모리부(71)에 축적된다.
이러한 도 5의 예의 포코 워처(11a)와 마찬가지로, 도 6의 예의 포코 워처(11b)는 검색부(51b)와, 통계 정보 처리부(52b)와, 연산부(53b)를 가진다.
도 6의 예에서는, 검색부(51b)의 메모리부(62)와 통계 정보 처리부(52b)의 메모리부(91)는 일체 형성되어 있다. 이에 따라, 통계 정보용의 메모리 셀 어레이(911) 중 검색용의 메모리 셀 어레이(621)의 액션과 동일 행에 대해 통계 정보용의 데이터를 기입함으로써, 도 5의 예와 등가의 기능(예를 들면 전술한 경로 제어)을 실현할 수 있다.
구체적인 동작으로는, 해시 생성기(61)는 외부로부터 입력되는 수신지 등의 데이터(검색 키)를 해시 함수에 입력하여 비트 수를 축퇴시킨다. 이 축퇴된 데이터가 메모리(메모리부(62)와 메모리부(91))의 어드레스로서 사용된다. 메모리의 데이터에 검색 결과의 액션을 입력해 두면 검색 동작을 실현할 수 있다. 검색부(51b)측의 메모리 셀 어레이(621)로부터 액션을 독출할 때에, 통계 정보 처리부(52b)측의 메모리 셀 어레이(911) 중 이와 동일 행에 기재되어 있는 통계 데이터를 독출한다. 검색 결과가 히트라면, 연산부(53)는 독출된 통계 정보를 갱신하고, 통계 정보 처리부(52b)측의 메모리 셀 어레이(911)에서의 동일 행에 라이트 백한다.
한편 통계 정보가 독출되는 경우에는, 검색 키가 입력되고, 메모리 셀 어레이(911)에 축적되어 있는 통계 정보 중 검색 키에 대응하는 어드레스에 저장된 통계 정보가 독출된다.
도 7은 도 6의 예의 포코 워처(11b) 중 메모리 셀 어레이(911), 센스 앰프 & 셀렉터(912) 및 연산부(53b)의 확대도를 나타내고 있다.
도 7에 나타낸 바와 같이, 메모리 셀 어레이(911)를 구성하는 각 메모리 셀(Word 선과 2 개의 bit 선으로 구성되는 메모리 셀)은 2 개의 센스 앰프, 셀렉터 및 가산기(81)와 접속되어 있다.
따라서, 도시는 하지 않았으나 메모리부(91) 내에 가산기(81)를 삽입할 수도 있다. 이 경우, 독출된 후에 라이트 백할 때까지의 시간이 단축 가능해진다.
도 8은 도 3의 경로 제어부(31)와 버퍼부(34)의 각 기능을 조합한 라우터 기능을 설명하기 위한 모식도이다.
전술한 바와 같이, 포코 워처(11) 중 도 5의 예 또는 도 6의 예의 구성에 의해 경로 제어부(31)가 실현 가능하다는 것은 전술한 대로이다.
이러한 경로 제어부(31)에 대해 경로 설정을 하기 위한 입력 데이터(패킷 등)는 버퍼부(34) 중 입력 버퍼(34IN)에 입력된다.
한편, 경로 제어부(31)에 의해 경로 설정된 데이터(패킷 등)는 복수의 출력 포트(도 8의 예에서는 출력 포트(#1 내지 #4)) 중 경로 설정된 출력 포트에 접속된 출력 버퍼(34OUT)(도 8의 예에서는 4 개의 출력 버퍼(34OUT) 중 어느 하나)에 입력된다.
여기서, 출력 버퍼(34OUT)는 도 8에 나타낸 바와 같이 우선도가 높은 데이터를 먼저 출력시키도록 큐의 구성을 채용하고 있다. 즉, 출력 버퍼(34OUT)를 큐 수의 FIFO로 분할함으로써, 우선도에 따라 입력되는 FIFO 큐를 컨트롤할 수 있다. FIFO는 표준적인 메모리로 구성할 수 있다.
이상 설명한 바와 같이, 포코 워처(11)는 검색 엔진(도 5의 검색부(51a) 또는 도 6의 검색부(51b))을 표준 메모리(도 5 또는 도 6의 메모리부(62))를 포함하도록 구성하며, 또한 통계 정보를 기억하는 메모리(도 5의 메모리부(71) 또는 도 6의 메모리부(91))도 표준 메모리로 구성하고 있다.
이에 따라, 라우터 또는 네트워크 스위치의 데이터 플레인에서 필요로 하는 네트워크 기능, 즉 경로 제어, 대역 제어, 트래픽 제어, 버퍼 및 액세스 제어가 원칩의 포코 워처(11)로 실현 가능해진다(도 3 참조).
구체적으로는, 경로 제어는 전술한 바와 같이 주로 도 5 또는 도 6의 구성(검색 엔진 등)에 의해 실현 가능해진다. 즉, 경로 제어에서는 입력된 패킷의 수신지 어드레스가 검색부(51a, 51b)에 입력되고, 당해 검색부(51a, 51b)로부터 출력되는 액션에 따라 패킷이 특정의 출력 버퍼(34OUT)(도 8 참조)에 출력된다.
대역 제어는 전술한 바와 같이 도 8의 출력 버퍼(34OUT)의 FIFO 큐에 의해 실현 가능해진다. 즉, 출력 버퍼(34OUT)에 마련된 FIFO에 따라 출력할 데이터량이 제한된다. 입력 버퍼(34IN)로부터 입력되는 데이터량이 출력되는 데이터량이 많은 경우에는, 출력 버퍼(34OUT)의 FIFO에 데이터가 쌓인다.
트래픽 감시는 도 5의 메모리부(71) 또는 도 6의 메모리부(91)에 기억된 통계 정보를 분석함으로써 실현 가능해진다. 즉, 통계 정보 처리부(52a)의 메모리부(71) 또는 통계 정보 처리부(52b)의 메모리부(91)에 기억되어 있는 데이터가 독출되고, 각각의 데이터값이 체크됨으로써 트래픽 감시가 행해진다. 예를 들면 특정의 데이터가 많거나, 혹은 특정의 데이터가 갑자기 증가한 것 등이 독출된 데이터로부터 체크된다. 또한, 체크의 동작 주체는 예를 들면 도 1의 CPU(13)이다.
버퍼는 전술한 바와 같이 FIFO 등으로 실현 가능해진다(도 8 참조). 즉, 버퍼는 입력된 패킷의 경로가 결정될 때까지 일시적으로 데이터를 축적한다. 대역 제어와 마찬가지로, 출력될 때까지 FIFO에서 데이터가 축적된다.
액세스 제어(필터링)는 검색 엔진에 의해 실현 가능해진다. 액세스 제어의 상세에 대해서는 도 10을 참조하여 후술한다.
이상 정리하자면, 본 실시 형태의 정보 처리 시스템은 원칩으로 구성되는 포코 워처(11)를 네트워크 프로세서(12)에 접속하는 것만으로 네트워크 기능을 확장하는 것을 용이하게 할 수 있다.
구체적으로는, 종래에는 외부로부터 입력되는 패킷은 소정의 통신 디바이스(예를 들면 도 14의 통신 디바이스(14a))로부터 입력되고, 스위치 칩으로서 기능하는 네트워크 프로세서(12)에 의해 수신지가 판정되어, 다른 통신 디바이스(예를 들면 도 14의 통신 디바이스(14b)) 혹은 동일한 통신 디바이스(예를 들면 도 14의 통신 디바이스(14a))에 출력되고 있었다.
그리고, 경로 제어, 대역 제어, 액세스 제어, 트래픽 감시, 버퍼 등의 네트워크 기능을 확장하기 위해서는 도 14의 DRAM(503)에 추가로 특수한 메모리(TCAM(501) 또는 SRAM(502))가 필요했다.
이에 반해, 본 실시 형태의 정보 처리 시스템에서는 경로 제어, 대역 제어, 액세스 제어, 트래픽 감시, 버퍼 등의 네트워크 기능을 원칩으로 실현하는 포코 워처(11)를 네트워크 프로세서(12)와 접속시키는 것만으로 네트워크 기능의 확장이 용이하게 실현 가능해진다.
예를 들면 정보 처리 시스템이 도 2(a)의 구성예를 취하는 경우, 통신 디바이스(14a)와 네트워크 프로세서(12)의 사이에 포코 워처(11)가 삽입된다.
이 경우, 포코 워처(11) 중 도 5의 예 또는 도 6의 예의 구성 부분은 패킷의 통계 정보를 축적하고, CPU(13)로부터의 리퀘스트에 반응하여 당해 통계 정보를 출력한다. CPU(13)는 통계 정보에 기초하여 플로우가 편중되지 않았는지의 여부를 판단한다. 이 판단 결과는 스위치 칩으로서 기능하는 네트워크 프로세서(12)에 피드백된다. 네트워크 프로세서(12)는 당해 피드백 상방에 기초하여 패킷이 출력할 포트의 선택을 컨트롤한다. 이와 같이 하여, 포코 워처(11)에 의해 경로 제어가 실현된다.
이 경우, 포코 워처(11)는 외부로부터 입력되는 패킷을 일시적으로 축적하는 버퍼로서도 이용할 수 있다. 또한, 포코 워처(11)는 패킷을 출력할 때의 버퍼로서도 이용할 수 있다. 이와 같이 하여, 포코 워처(11)에 의해 출력의 데이터량을 제한하는 대역 제어가 실현된다.
또한, 예를 들면 정보 처리 시스템이 도 1의 구성예를 취하는 경우, 포코 워처(11)는 네트워크 프로세서(12)측에 배치되므로, 네트워크 프로세서(12)의 성능을 보충할 수 있다.
이에 따라, 네트워크 프로세서(12)가 가지고 있는 네트워크 기능의 확장으로서 버퍼 사이즈의 확장, 통계 정보의 확장, 경로 제어의 확장 등이 실현 가능해진다. 여기서 통계 정보의 확장이란, 예를 들면 입력 포트마다의 통계 정보밖에 보지할 수 없었던 기능을 플로우마다 늘리는 것을 의미한다. 이러한 통계 정보의 확장에 의해 통계의 종류가 증가하기 때문에, 치밀한 제어가 가능해진다.
또한 예를 들면, 도시하지 않은 외부 네트워크인 WAN으로부터 입력되거나, 혹은 WAN측에 출력되는 패킷만을 감시하는 용도로서, 정보 처리 시스템은 도 2(b)의 구성예를 취할 수도 있다.
이상 본 발명의 일실시 형태에 대해 설명하였으나, 본 발명은 전술한 실시 형태에 한정되지 않으며, 본 발명의 목적을 달성할 수 있는 범위에서의 변형, 개량 등은 본 발명에 포함되는 것이다.
예를 들면, 검색 엔진은 다종의 어플리케이션에 사용된다. 구체적으로는 예를 들면, 얼굴 인증과 같은 패턴 인증에 대해서도 검색 엔진은 적용할 수 있다. 이와 같이 적용한 경우, 입력되는 검색 키의 비트 폭은 어플리케이션에 의존한다.
따라서, 검색 키의 비트 폭을 크게 하는 방법을 채용함으로써, 모든 어플리케이션에 대응 가능해져 일견 유리하게 보인다. 그러나, 이 방법으로는 검색 키를 입력하는 시간이 장황해져 결국은 시스템 성능을 열화시킨다고 하는 문제점이 발생한다.
또한, 디바이스 내부에서는 검색 키와의 비교를 위한 메모리 용량이 필요하여 여분의 리소스를 소비하게 된다. 동일 메모리 용량으로는 엔트리 수가 감소한다고 하는 문제점도 발생한다.
전술한 실시 형태의 검색 엔진, 즉 도 5의 예의 검색부(51a) 또는 도 6의 예의 검색부(51b)로는 이들 문제점을 해결하는 것은 곤란하다.
그래서, 이들 문제점을 해결하기 위해서는 모드 레지스터로 구성을 전환하는 것이 가능한 검색 엔진을 채용하면 된다. 이에 따라, 엔트리 수가 1/2이 되는 대신에 검색 키의 비트 수가 2 배가 된다. 어플리케이션에 따라 구성을 전환함으로써, 1 개의 디바이스(포코 워처(11))로 다종의 어플리케이션에 최적의 구성을 제공할 수 있다.
이러한 구성을 전환하는 것이 가능한 검색 엔진이 도 9에 도시되어 있다.
즉, 도 9는 포코 워처(11)의 검색 엔진의 하드웨어 구성예이며, 도 5 또는 도 6과는 상이한 예를 나타내고 있다.
도 9에 나타낸 바와 같이, 검색부(51c)는 어드레스 변환 회로(91)와, 주검색부(92A)와, 주검색부(92B)와, 선택 회로(93)를 구비하고 있다.
여기서, 주검색부(92A)와 주검색부(92B) 각각은 도 5의 예의 검색부(51a)와 기본적으로 동일한 기능과 구성을 가지고 있기 때문에, 그 상세한 설명은 생략한다.
도 9의 예에서는, 검색 엔진은 주검색부(92A)와 주검색부(92B)로 2 분할되어 있다.
모드 세트(모드 레지스터의 신호)는 어드레스 변환 회로(91)와 선택 회로(93)에 입력된다. 즉, 입력되는 어드레스는 어드레스 변환 회로(91)에서 모드 세트에 의해 전환되고, 검색 결과는 선택 회로(93)에서 모드 세트에 의해 전환된다.
예를 들면 도 9의 예에서 엔트리 수를 2 배로 하는 경우, 어드레스 변환 회로(91)는 분할된 2 개의 검색 엔진, 즉 주검색부(92A)와 주검색부(92B) 각각에 대해 동일한 검색 키를 입력시킨다.
주검색부(92A)와 주검색부(92B) 각각으로부터 출력되는 액션 중, 히트 신호가 활성화된 액션 결과가 검색 결과로서 선택 회로(93)에 의해 선택되어 출력된다.
또한, 주검색부(92A)와 주검색부(92B) 각각으로부터 미스 신호가 출력된 경우, 선택 회로(93)는 미스를 출력한다.
또한 예를 들면 도 9의 예에서 검색 키의 비트 폭을 2 배로 하는 경우, 어드레스 변환 회로(91)는 입력된 검색 키를 전반의 비트와 후반의 비트로 분할하여, 전반의 비트를 주검색부(92A)에 입력시키고 또한 후반의 비트를 주검색부(92B)에 입력시킨다.
주검색부(92A)와 주검색부(92B) 각각으로부터 히트 신호가 활성화된 경우, 선택 회로(93)는 히트로서 액션 결과를 출력한다.
또한, 주검색부(92A)와 주검색부(92B) 중 적어도 일방으로부터 미스 신호가 출력된 경우, 선택 회로(93)는 미스를 출력한다.
또한, 도 9의 예에서는 검색 엔진은 2 분할로 가정하였으나, 검색 엔진의 분할 수는 특별히 이에 한정되지 않으며, 예를 들면 4 분할이어도 된다. 4 분할의 경우는 엔트리 수가 1 배, 2 배, 4 배의 각각의 전환이 가능해진다.
여기서, 검색 엔진에 의한 액세스 제어(필터링)에 대해 설명한다.
필터링은 블랙 리스트 방식과 화이트 리스트 방식으로 크게 구별된다.
블랙 리스트 방식은, 블랙 리스트에 기술된 기존의 비트열을 포함하는 검색 키의 정보를 제외하고 그 이외를 출력하는 방식이다.
화이트 리스트 방식은, 화이트 리스트에 기술된 검색 키의 정보를 출력시키는 방식이다.
여기서, 블랙 리스트 방식에서 4 비트의 검색 키 중 상위 3 비트가 “000”이라고 하는 비트열이 블랙 리스트에 기술되어 있었다고 하자. 이 경우, 검색 키가 “0001”과 “0000”의 양방의 검색 결과를 제외 대상으로 할 필요가 있다.
이 경우, 검색 키로서 “0001”과 “0000”을 2 회 검색 엔진에 입력하고 검색 결과를 각각 출력시켜도 되나, 검색 키에 마스크 기능을 넣음으로써, 하위 1 비트를 마스크한 “000*”를 검색 키로서 1 회 입력하는 것만으로 “0001”과 “0000”의 양방의 검색 결과를 출력시킬 수 있다. 이와 같이 검색 키에 마스크 기능을 넣음으로써, 블랙 리스트 방식이 채용되고 있는 경우에 검색 엔진의 처리 시간 또는 처리 부하를 경감시킬 수 있다.
또한, 상위의 후보를 출력시키는 어플리케이션도 존재한다. 예를 들면 미술관으로 가는 길을 검색하고, 복수의 후보를 검색 결과로서 출력하는 것과 같은 어플리케이션이다.
이러한 복수의 후보를 검색 결과로서 출력하는 경우에도, 검색 키에 마스크 기능을 넣으면 된다.
도 10은 포코 워처(11)의 검색 엔진의 하드웨어 구성예이며, 도 5, 도 6, 도 9와는 상이한 예를 나타내고 있다.
도 10에 나타낸 바와 같이, 검색부(51d)는 주검색부(101A)와, 주검색부(101B)와, 선택 회로(102)를 구비하고 있다.
여기서, 주검색부(101A)와 주검색부(101B) 각각은 도 5의 예의 검색부(51a)와 기본적으로 동일한 기능과 구성을 가지고 있기 때문에, 그 상세한 설명은 생략한다.
검색 키가 마스크되는 경우, 입력되는 검색 키의 비트 수는 줄어든다. 그러나, 검색 결과의 액션은 복수개 출력할 수 있는 구성으로 할 필요가 있기 때문에, 도 10에 나타낸 것과 같은 구성이 취해진다.
여기서, 마스크 신호가 활성화된 경우에는, 선택 회로(102)는 마스크에 대응한 검색 테이블에 대응한 검색 엔진으로부터 결과를 출력한다.
이상, 도 9 또는 도 10을 참조하여 설명한 것과 같이, 내부의 검색 엔진을 분할하고, 입력할 검색 키를 변경하여 검색 결과의 판정을 변경함으로써, 다양한 어플리케이션에 최적의 디바이스(포코 워처(11))를 제공하는 것이 가능해진다.
이와 같이, 다양한 어플리케이션에 대응하는 방법으로서 검색 엔진의 기능을 모드 세트 등으로 전환함으로써 사양을 변경하는 방법은 적합하나, 이 방법에 한정되지는 않는다.
예를 들면 다른 방법으로서, 1 개의 검색 엔진이 탑재된 LSI(포코 워처(11))를 복수개 이용하는 방법을 채용해도 된다.
도 11은 본 발명의 일실시 형태에 따른 정보 처리 시스템이며, 2 개의 검색 엔진을 이용한 정보 처리 시스템의 구성예를 나타내고 있다.
도 11의 예에서는, 검색 엔진(111A, 111B) 각각이 네트워크 프로세서(12)의 검색 엔진 콘트롤러(110)에 접속되어 있다.
이러한 구성으로 함으로써, 검색 테이블의 용량, 즉 엔트리 수를 2 배로 하는 것이 가능하다.
검색할 때는 2 개의 검색 엔진(111A, 111B) 각각에 동시에 검색 키를 입력한다. 그리고, 검색 엔진 콘트롤러(110)는 2 개의 검색 엔진(111A, 111B) 각각으로부터 출력된 검색 결과를 확인하여, 2 개의 검색 엔진(111A, 111B) 중 히트한 쪽을 사용한다.
이와 같이 동작시킴으로써 검색 테이블을 크게 하는 것이 가능해진다.
대용량의 검색 테이블을 구축하는 경우, 검색 엔진(111A, 111B) 각각에는 상이한 테이블을 기입하게 된다. 따라서, 검색 엔진(111A, 111B)의 양자에서 동시에 히트하지는 않는다.
대용량의 테이블을 구축하는 경우의 기입은, 도 12에 나타낸 바와 같이 처음에 첫 번째의 검색 엔진(111A)에 기입을 행한다.
이 기입이 성공한 경우, 두 번째의 검색 엔진(111B)에 기입을 행하지 않는다.
한편, 첫 번째의 검색 엔진(111A)에 대한 기입이 실패한 경우, 두 번째의 검색 엔진(111B)으로의 기입을 행한다.
이러한 복수개의 검색 엔진(도 11 및 도 12의 예에서는 2 개의 검색 엔진(111A, 111B))을 이용함으로써 검색의 테이블을 확장하기 위해서는, 기입이 완료되고 '성공'이었는지 혹은 '실패'였는지의 결과를 각각의 검색 엔진(도 11 및 도 12의 예에서는 2 개의 검색 엔진(111A, 111B))으로부터 출력함으로써 실현 가능해진다.
또한, 검색 엔진 콘트롤러(110)가 기입이 성공했는지의 여부의 판정을 행할 수도 있다.
그러나, 검색 엔진(111A, 111B)과 동일한 기능을 검색 엔진 콘트롤러(110)에 마련하게 된다는 점에서, 많은 경우에 리소스가 부족해진다. 또한 불필요한 리소스가 되기 때문에, 현명한 방법이라고는 할 수 없다.
반대로 생각하면, 기입 완료 신호를 사용함으로써 간단하게 검색 테이블의 확장은 가능하다.
또한, 전술한 예에서는 검색의 테이블을 2 배로 확장하는 예를 나타냈으나, 특별히 이에 한정되지 않으며, 검색 엔진(LSI)의 개수를 증가시키면 그에 비례하여 검색의 테이블의 용량을 확장하는 것을 용이하게 할 수 있다.
그런데 전술한 실시 형태에서는, 포코 워처(11)는 서버 또는 PC(1 하우징) 내의 기판 상에 CPU 또는 네트워크 콘트롤러와 함께 실장되었으나, 실장의 형태는 특별히 이에 한정되지 않는다.
예를 들면 도 13 또는 도 14에 나타낸 바와 같이, 포코 워처(11)를 1 개의 장치(1 하우징)로 하여 다른 장치(1 하우징)와 접속하는 구성을 취해도 된다.
도 13은 본 발명의 일실시 형태에 따른 정보 처리 시스템의 구성예이며, 도 1 또는 도 2의 예와는 상이한 예를 나타내는 블록도이다.
도 13(a)의 예의 정보 처리 시스템에서는, 라우터(202)와 접속되는 L2 스위치(203)와 복수의 PC (204a 내지 204d)의 사이에 포코 워처(11)가 접속되어 있다. 네트워크 콘트롤러(201)는 라우터(202), L2 스위치(203) 및 포코 워처(11) 각각과 접속되어 있다.
도 13(b)의 예의 정보 처리 시스템에서는, 라우터(202)와 2 개의 L2 스위치(203A, 203B) 각각의 사이에 포코 워처(11)가 접속되어 있다. 네트워크 콘트롤러(201)는 라우터(202) 및 포코 워처(11) 각각과 접속되어 있다. L2 스위치(203A)에는 복수의 PC(204a 내지 204c)가 접속되어 있다. L2 스위치(203B)에는 이들과는 별도의 복수의 PC(204d 내지 204f)가 접속되어 있다.
도 14는 본 발명의 일실시 형태에 따른 정보 처리 시스템의 구성예이며, 도 1, 도 2, 도 13의 예와는 상이한 예를 나타내는 블록도이다.
도 14의 예의 정보 처리 시스템에서는, 네트워크(N)를 구성하는 장치로서 라우터(301), 엔터프라이즈용 라우터(302-1, 302-2) 및 컨슈머용 라우터(303-1 내지 303-3)가 존재한다.
도 14의 예의 네트워크 콘트롤러(401)는 네트워크(N) 전체에 대한 정보를 부감하는 장치이다. 즉, 도 14의 예의 정보 처리 시스템은 SDN(Softwar Definede Network)를 실현하고 있다.
SDN을 실현하기 위해서는, 네트워크 콘트롤러(401)는 네트워크(N)를 구성하는 개개의 장치 상태를 각각 취득하고, 얻어진 정보를 기초로 개개의 장치로의 제어를 행할 필요가 있다.
이 때문에, 종래에는 도시는 하지 않았으나 네트워크 콘트롤러(401)와 네트워크(N)를 구성하는 장치가 직접 통신을 행하는 구성을 취하고 있었다는 점에서, 다음의 요인에 의해 SNS를 실현화하는 것은 매우 곤란했다.
제1 요인은, 개개의 장치는 별도의 제조 메이커가 제공한다고 하는 것이다. 추가로 말하자면, SDN을 서포트하는 장치도 있고 서포트하지 않는 장치도 있다.
제2 요인은, 향후의 기술 동향에 따라, 예를 들면 NFV(Network Function - Virtualization) FV에 의해 라우터는 점점 더 간이화된다고 하는 것이다.
그래서, 도 14의 예의 정보 처리 시스템에서는 네트워크(N)를 구성하는 개개의 장치에 대해 포코 워처(11-1 내지 11-5)를 접속시키고, 네트워크 콘트롤러(401)와 포코 워처(11-1 내지 11-5)(이하, 이들을 일괄하여 '포코 워처(11)'라고 부름)가 통신을 한다.
포코 워처(11)는 트래픽의 감시(데이터 수취)를 행하고 또한 다양한 제어를 실행한다. 즉, 포코 워처(11)는 네트워크 콘트롤러(401)에 대해 트래픽 데이터를 송신하고, 반대로 네트워크 콘트롤러(401)로부터 제어용 데이터를 수신한다.
이와 같이, 포코 워처(11)는 개개의 장치 중 접속된 것의 트래픽을 감시하고 데이터를 취득하여 네트워크 콘트롤러(401)로 송신하는 기능과, 네트워크 콘트롤러(401)에서 개개의 장치의 데이터가 해석되고 개개의 장치로의 제어 정보가 생성되어 송신되어 온 경우, 당해 제어 정보를 수신하고, 당해 제어 정보에 기초하여 개개의 장치 중 접속된 것을 제어하는 기능을 가지고 있다.
바꾸어 말하면, 본 발명이 적용되는 메모리 기기는 다음과 같은 구성을 취하면 충분하며, 전술한 실시 형태를 포함하여 각종 각양의 실시 형태를 취할 수 있다.
즉, 본 발명이 적용되는 메모리 기기는,
싱글 칩으로 구성되는 메모리 기기(예를 들면 도 1 또는 도 2의 포코 워처(11))로서,
네트워크 기능 중 적어도 경로 제어, 대역 제어, 트래픽 감시, 버퍼 및 액세스 제어가 기능하는(예를 들면 도 3의 기능적 구성을 가짐),
메모리 기기이면 된다.
이러한 구성을 가지는 메모리 기기를 채용함으로써, NFV 또는 네트워크의 상품화에 있어서 염가이며 저소비 전력으로 네트워크 기능의 확장이 용이하게 실현 가능해진다.
여기서, 메모리 기기는,
제1 메모리부(예를 들면 도 5 또는 도 6의 메모리부(62))를 가지며, 상기 제1 메모리부에 축적된 데이터에 대해 입력된 검색 키를 참조하는 검색 동작을 실행하는 검색부(예를 들면 도 5 또는 도 6의 검색부(51a, 51b))와,
상기 검색부에서 히트한 검색 키마다 상기 제1 메모리부의 어드레스를 대응시키고, 상기 어드레스의 통계 정보를 기억하는 제2 메모리부(예를 들면 도 5의 메모리부(71) 또는 도 6의 메모리부(91))를 가지는 통계 정보 처리부(예를 들면 도 5 또는 도 6의 통계 정보 처리부(52a, 52b))와,
상기 검색부에 의해 히트할 때마다 상기 통계 정보를 갱신하는 연산부(예를 들면 도 5 또는 도 6의 연산부(53a, 53b))
를 구비할 수 있다.
또한 상기 검색부(예를 들면 도 9의 검색부(51c))는, 검색 키의 비트 폭을 가변할 수 있는 기능을 가질 수 있다.
또한 상기 검색부(예를 들면 도 11의 검색 엔진(111A, 111B))는, 정보의 기입이 성공인지 실패인지를 나타내는 판정 신호를 출력하는 기능을 가질 수가 있다.
또한 상기 검색부(예를 들면 도 10의 검색부(51d))는, 화이트 리스트 방식의 상기 액세스 제어와 블랙 리스트 방식의 상기 액세스 제어를 선택적으로 실행할 수 있다.
또한, 네트워크를 구성하는 개개의 장치(예를 들면 도 14의 네트워크(N)를 구성하는 라우터(301), 엔터프라이즈용 라우터(302-1, 302-2) 및 컨슈머용 라우터(303-1 내지 303-3))와, 상기 개개의 장치를 제어하는 네트워크 콘트롤러(예를 들면 도 14의 네트워크 콘트롤러(401))를 포함하는 정보 처리 시스템 내에, 상기 메모리 기기는 상기 개개의 장치마다 1 개씩 접속되어 마련되며,
상기 메모리 기기(예를 들면 도 14의 포코 워처(11-1 내지 11-5))는,
상기 개개의 장치 중 접속된 것의 트래픽을 감시하고 데이터를 취득하여 상기 네트워크 콘트롤러로 송신하는 기능과,
상기 네트워크 콘트롤러에서 상기 개개의 장치의 데이터가 해석되고 상기 개개의 장치로의 제어 정보가 생성되어 송신되어 온 경우, 상기 제어 정보를 수신하고, 상기 제어 정보에 기초하여 상기 개개의 장치 중 접속된 것을 제어하는 기능
을 구비한다.
그런데 포코 워처(11)는, 전술한 바와 같이 네트워크 전용의 DDR DRAM으로서 구현화할 수도 있으나, 도 16에 나타낸 바와 같이 범용의 DDR DRAM에 네트워크 기능을 선택적으로 장착한 것으로서 구현화할 수 있다.
여기서 범용의 DRAM란, JEDEC으로 규격되고 표준화된 DRAM을 말한다.
도 16의 포코 워처(11c)는 DDR DRAM에 형성되어 있으며, 네트워크용과 범용 PC용을 선택적으로 전환하여 이용 가능한 구성을 가지고 있다.
해시 생성기(61)에 대해서는 DDR DRAM의 외부에 마련되지만, 그 이외의 메모리부(62, 81), 비교기(68) 또는 가산기(82) 등의 네트워크 기능부(601)에 대해서는 DDR DRAM에 형성된다.
여기서 네트워크 기능부(601)는, 도 3에 나타낸 기능적 구성을 가지는 것이다.
DDR DRAM에는 셀렉터(602)가 마련되어 있다. 즉 도 16 중 상방의 루트, 즉 메모리부(62, 81), 비교기(68) 또는 가산기(82) 등의 네트워크 기능부(601)측으로 셀렉터(602)가 전환되어 있는 경우, 네트워크용의 DDR DRAM으로서 기능한다. 한편, 도 16 중 상방의 루트, 즉 메모리부(62, 81)로부터 직접 셀렉터(602)로의 루트로 셀렉터(602)가 전환되어 있는 경우, 범용의 DDR DRAM으로서 기능한다.
셀렉터(602)의 실장 방법은, 메탈 마스크와 어드레스 키 중 적어도 일방을 이용하면 적합하다.
도 17은 도 16의 포코 워처(11c)(네트워크용의 DDR DRAM으로서 기능)의 접속 상태를 나타내는 도면이다.
도 17에 나타낸 바와 같이, FPGA 또는 ASIC의 IP로서의 콘트롤러(701)에 대해 포코 워처(11c)(네트워크용의 DDR DRAM으로서 기능)를 접속시킬 수 있다.
이에 따라, TCAM과 같이 병렬 비교를 할 수 있는 기능을 실현 가능해진다. 여기서 도 17의 우방향 아래의 도면에 나타낸 바와 같이, 범용의 DRAM은 메모리부(811)에 추가적으로 테스트 모드에서 사용하기 위해 비교기군(812)이 원래 마련되어 있다. 이 비교기군(812)을 그대로 도 16의 네트워크 기능부(601)에 유용할 수 있다.
도 18은 네트워크 기능을 실현하기 위한 종래의 정보 처리 시스템의 구성예와, 도 16의 포코 워처(11c)(네트워크용의 DDR DRAM으로서 기능)를 포함하는 정보 처리 시스템의 구성예의 비교도이다.
도 18(a)는 네트워크 기능을 실현하기 위한 종래의 정보 처리 시스템의 구성예를 나타내고 있다.
도 15를 이용하여 전술한 바와 같이, 네트워크 기능을 실현하기 위한 종래의 정보 처리 시스템에서는 NP, ASIC, FPGA 등에 대해 복수의 TCAM, RLDRAM, QDR / DDR SRAM이 접속됨으로써 네트워크 기능이 실현된다.
복수의 TCAM, RLDRAM, QDR / DDR SRAM은 고가이며 소비 전력도 큰 컴포넌트이다. 이들 컴포넌트는 시장 규모가 작기 때문에 가격이 내리지 않을(스케일 메리트가 없음)것으로 예측되므로, 향후에도 고가일 것으로 예측된다.
또한, NP, ASIC, FPGA 등으로부터 이들 컴포넌트로의 각각의 인터페이스도 별도로 필요해진다고 하는 디메리트도 있다.
도 17(b)는 본 발명이 적용되는 도 16의 포코 워처(11c)(네트워크용의 DDR DRAM으로서 기능)를 포함하는 정보 처리 시스템의 구성예를 나타내고 있다.
네트워크 기능(도 3) 모두는 포코 워처(11c)에 삽입되어 있다. 또한, 당해 포코 워처(11c)는 범용의 DDT2(3, 4) DRAM 상에 형성된다. 즉, 메탈 마스크(배선 레이어)와 어드레스 키(모드 레지스터) 중 적어도 일방에 의해 셀렉터(602)(도 16)가 실현되며, DDT2 DRAM은 범용 PC용과 네트워크용으로 전환된다.
여기서, DDT2 DRAM에는 테스트 모드로 사용하기 위해 비교기군(712)이 미리 마련되어 있기 때문에(도 17), 네트워크 기능부(601)로서 이를 유용함으로써 새로운 구성 요소를 마련할 필요도 없다.
이에 따라, 네트워크용의 메모리 가격을 내리고, 또한 범용 DDR의 프라이스 프리미엄에 의해 염가이며 저소비 전력으로 정보 처리 시스템을 실현하는 것이 가능해진다.
또한, 네트워크 기능은 포코 워처(11c)에 집약되므로, 도 18에 나타낸 바와 같이 이 포코 워처(11c)와 NP, ASIC, FPGA 등의 IP로서의 콘트롤러(701) 간의 인터페이스가 있으면 된다. 즉, 인터페이스를 합칠 수 있다.
11, 11a, 11b, 11c : 포코 워처
12 : 네트워크 프로세서
31 : 경로 제어부
32 : 대역 제어부
33 : 트래픽 감시부
34 : 버퍼부
35 : 액세스 제어부
36 : 주제어부
37 : 클러스터링부
38 : 랭킹부
39 : 마이닝부
51a, 51b, 51c, 51d : 검색부
52a, 52b : 통계 정보 처리부
53a, 53b : 연산부
62 : 메모리부
71 : 메모리부
81 : 가산기
91 : 메모리부
92A, 92B, 101A, 101B : 주검색부
111A, 111B : 검색 엔진
601 : 네트워크 기능부
602 : 셀렉터
712 : 비교기군

Claims (9)

  1. 싱글 칩으로 구성되는 메모리 기기로서,
    네트워크 기능 중 적어도, 경로 제어, 대역 제어, 트래픽 감시, 버퍼 및 액세스 제어가 기능하는,
    메모리 기기.
  2. 제1항에 있어서,
    제1 메모리부를 가지며, 상기 제1 메모리부에 축적된 데이터에 대해 입력된 검색 키를 참조하는 검색 동작을 실행하는 검색부와,
    상기 검색부에서 히트한 검색 키마다 상기 제1 메모리부의 어드레스를 대응시키고, 상기 어드레스의 통계 정보를 기억하는 제2 메모리부를 가지는 통계 정보 처리부와,
    상기 검색부에 의해 히트할 때마다 상기 통계 정보를 갱신하는 연산부
    를 구비하는 메모리 기기.
  3. 제2항에 있어서,
    상기 검색부는, 검색 키의 비트 폭을 가변할 수 있는 기능을 가지는,
    메모리 기기.
  4. 제2항에 있어서,
    상기 검색부는, 정보의 기입이 성공인지 실패인지를 나타내는 판정 신호를 출력하는 기능을 가지는, 메모리 기기.
  5. 제2항에 있어서,
    상기 검색부는, 화이트 리스트 방식의 상기 액세스 제어와 블랙 리스트 방식의 상기 액세스 제어를 선택적으로 실행하는, 메모리 기기.
  6. 제1항에 있어서,
    네트워크를 구성하는 개개의 장치와, 상기 개개의 장치를 제어하는 네트워크 콘트롤러를 포함하는 정보 처리 시스템 내에, 상기 메모리 기기는 상기 개개의 장치마다 1 개씩 접속되어 마련되며,
    상기 메모리 기기는,
    상기 개개의 장치 중 접속된 것의 트래픽을 감시하고 데이터를 취득하여 상기 네트워크 콘트롤러로 송신하는 기능과,
    상기 네트워크 콘트롤러에서 상기 개개의 장치의 데이터가 해석되고 상기 개개의 장치로의 제어 정보가 생성되어 송신되어 온 경우, 상기 제어 정보를 수신하고, 상기 제어 정보에 기초하여 상기 개개의 장치 중 접속된 것을 제어하는 기능
    을 구비하는 메모리 기기.
  7. 제1항 또는 제2항에 있어서,
    메모리부와,
    상기 네트워크 기능을 발휘시키는 네트워크 기능부와,
    상기 메모리부와 상기 네트워크 기능부의 제1 루트와, 상기 메모리부의 제2 루트를 전환하는 셀렉터부
    를 구비하는 메모리 기기.
  8. 제7항에 있어서,
    상기 셀렉터부는, 메탈 마스크와 어드레스 키 중 적어도 일방에 의해 실현되는, 메모리 기기.
  9. 제7항 또는 제8항에 있어서,
    상기 네트워크 기능부는, 상기 메모리부에 대한 테스트 모드용의 비교기군에 의해 구성되는, 메모리 기기.
KR1020187007086A 2015-08-18 2016-08-09 메모리 기기 KR20180037268A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2015161228 2015-08-18
JPJP-P-2015-161228 2015-08-18
JPJP-P-2015-207863 2015-10-22
JP2015207863A JP6666686B2 (ja) 2015-08-18 2015-10-22 メモリ機器
PCT/JP2016/073477 WO2017030054A1 (ja) 2015-08-18 2016-08-09 メモリ機器

Publications (1)

Publication Number Publication Date
KR20180037268A true KR20180037268A (ko) 2018-04-11

Family

ID=58203376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187007086A KR20180037268A (ko) 2015-08-18 2016-08-09 메모리 기기

Country Status (5)

Country Link
US (1) US10523566B2 (ko)
JP (1) JP6666686B2 (ko)
KR (1) KR20180037268A (ko)
CN (1) CN107925621A (ko)
TW (1) TWI616877B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11233510B2 (en) * 2018-04-27 2022-01-25 Advanced Micro Devices, Inc. In memory logic functions using memory arrays

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781549A (en) * 1996-02-23 1998-07-14 Allied Telesyn International Corp. Method and apparatus for switching data packets in a data network
JP2001251351A (ja) 2000-03-02 2001-09-14 Nec Corp パケット交換機における入力パケット処理方式
JP2002334114A (ja) 2001-05-10 2002-11-22 Allied Tereshisu Kk テーブル管理方法及び装置
CN1815996A (zh) * 2005-04-13 2006-08-09 杭州博脉科技有限公司 通过互联网实现多功能遥控器分区功能定制的系统和方法
US8352677B2 (en) 2006-03-31 2013-01-08 Kyushu Institute Of Technology Associative memory
US8102884B2 (en) 2008-10-15 2012-01-24 International Business Machines Corporation Direct inter-thread communication buffer that supports software controlled arbitrary vector operand selection in a densely threaded network on a chip
WO2011007437A1 (ja) 2009-07-16 2011-01-20 富士通株式会社 通信装置、情報処理装置および通信制御方法
JP5731179B2 (ja) 2010-06-21 2015-06-10 ルネサスエレクトロニクス株式会社 半導体記憶装置
EP2667545A4 (en) 2011-01-17 2017-08-23 Nec Corporation Network system, controller, switch, and traffic monitoring method
JP2013038536A (ja) 2011-08-05 2013-02-21 Renesas Electronics Corp 半導体装置
KR20130126833A (ko) 2012-05-02 2013-11-21 한국전자통신연구원 네트워크 가상화를 위한 고속 스위칭 방법 및 고속 가상 스위치
JP6079348B2 (ja) * 2013-03-22 2017-02-15 富士通株式会社 スイッチ装置、スイッチ装置の制御方法、及びネットワークシステム
US9569561B2 (en) * 2013-07-09 2017-02-14 Cisco Technology, Inc. Label masked addressable memory

Also Published As

Publication number Publication date
US20180248800A1 (en) 2018-08-30
TWI616877B (zh) 2018-03-01
JP6666686B2 (ja) 2020-03-18
US10523566B2 (en) 2019-12-31
JP2017041866A (ja) 2017-02-23
TW201719658A (zh) 2017-06-01
CN107925621A (zh) 2018-04-17

Similar Documents

Publication Publication Date Title
US11811660B2 (en) Flow classification apparatus, methods, and systems
Chaudhary et al. Optimized big data management across multi-cloud data centers: Software-defined-network-based analysis
US9077669B2 (en) Efficient lookup methods for ternary content addressable memory and associated devices and systems
US8924687B1 (en) Scalable hash tables
US8880554B2 (en) Method and apparatus for high performance, updatable, and deterministic hash table for network equipment
US8938469B1 (en) Dynamically adjusting hash table capacity
US8233493B2 (en) Packet router having improved packet classification
Banerjee et al. Tag-in-tag: Efficient flow table management in sdn switches
US8767757B1 (en) Packet forwarding system and method using patricia trie configured hardware
CN109218301B (zh) 多协议间软件定义的帧头映射的方法和装置
CN110266679B (zh) 容器网络隔离方法及装置
US20140269307A1 (en) Content Addressable Memory with Reduced Power Consumption
US20180367431A1 (en) Heavy network flow detection method and software-defined networking switch
US9210082B2 (en) High speed network bridging
US20070050326A1 (en) Data Storage method and data storage structure
US10623316B2 (en) Scaling of switching tables with high bandwidth
US11652744B1 (en) Multi-stage prefix matching enhancements
CN111131050A (zh) 流表的匹配方法及装置
TW201424315A (zh) 一次及二次連線表使用技術
Cheng et al. Scalable multi-match packet classification using TCAM and SRAM
KR20180037268A (ko) 메모리 기기
US8700591B2 (en) Search engine and search method
WO2017030054A1 (ja) メモリ機器
CN114911728A (zh) 一种数据查找方法、装置及集成电路
Yang et al. FISE: A forwarding table structure for enterprise networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application