TWI616877B - Memory machine - Google Patents

Memory machine Download PDF

Info

Publication number
TWI616877B
TWI616877B TW105125881A TW105125881A TWI616877B TW I616877 B TWI616877 B TW I616877B TW 105125881 A TW105125881 A TW 105125881A TW 105125881 A TW105125881 A TW 105125881A TW I616877 B TWI616877 B TW I616877B
Authority
TW
Taiwan
Prior art keywords
memory
search
unit
aforementioned
network
Prior art date
Application number
TW105125881A
Other languages
English (en)
Other versions
TW201719658A (zh
Inventor
Kazunari Inoue
Original Assignee
Poco Apoco Networks Co Ltd
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 Poco Apoco Networks Co Ltd filed Critical Poco Apoco Networks Co Ltd
Publication of TW201719658A publication Critical patent/TW201719658A/zh
Application granted granted Critical
Publication of TWI616877B publication Critical patent/TWI616877B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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

Abstract

在NFV、網路的普及化(commoditization)時,可容易以低價且低耗電實現網路功能的擴充。
以單晶片構成的波可監控器11係以可發揮網路功能中至少路徑控制、頻寬控制、流量監控、緩衝及存取控制的功能之方式,具有路徑控制部31、頻寬控制部32、流量監控部33、緩衝部34及存取控制部35之功能的構成。

Description

記憶體機器
本發明係有關於記憶體機器。
以往,個人電腦(以下,適當地簡稱為「PC」)或伺服器,是由有限的製造商所製造販賣的IT機器。不過,近年來,由於處理器、記憶體等在機器內部所使用的組件(component)通用化,所以變成任何人都可組裝的IT機器。
此外,關於PC或伺服器,以OS為首的應用軟體也普及化,一般是採用任何人都可成為開發者或技術提案者的開放平台(open platform)。
像目前這樣的PC或伺服器等系統,裝置的框體雖不同但內部規格的構成為可視化的系統,係被稱為「白箱(White Box)」等。
以往,路由器、交換器(switch)等網路機器(例如參照專利文獻1至3),也是僅由有限的製造商所控制的特殊IT機器市場,如NFV(Network Functions Virtualization:網路功能虛擬化)此一用語在近年出現那樣,路由器、交換器近年的動向亦與PC、伺服器同樣。
例如,關於低成本型之以企業(enterprise)為對象的 機種等,由於處理器、記憶體的普及化的關係,任何人都可製造的開放平台化正日益滲透中。
[先前技術文獻] [專利文獻]
[專利文獻1]日本特開2013-38536號公報
[專利文獻2]日本特開2012-27998號公報
[專利文獻3]專利第4934825號公報
然而,在NFV、網路的普及化之際,網路功能的擴充,例如伴隨檢索之路徑控制等的擴充是必要的。
於此情況,如圖15所示,必須有複數個特殊記憶體等高價且耗電也大的組件(component)。
圖15係表示用以實現網路功能之習知的資訊處理系統的構成例之方塊圖。
例如,圖15所示之習知的資訊處理系統係安裝在內建於伺服器、PC中的基板上。
習知的資訊處理系統具備:網路處理器12、CPU13、複數個(圖15的例子中有4個)通訊裝置14a至14d、TCAM501、SRAM502、和DRAM503。
習知的資訊處理系統中,在擴充網路處理器12的功能時,必須有各種記憶體。例如,為了實現路徑控制及流量監控而使用TCAM501,為了實現路徑控制、頻寬控制及流量監控而使用SRAM502,緩衝(buffer)則是使用可 大容量化的DRAM503。
此等TCAM501、SRAM502和DRAM503為高價且耗電也大的組件。
本發明係鑒於此種狀況而完成者,其目的為在進行NFV、網路的普及化之際,能夠以低價且低耗電容易實現網路功能的擴充。
本發明的一態樣的記憶體機器係以單晶片構成的記憶體機器,其係發揮網路功能中之至少路徑控制、頻寬控制、流量監控、緩衝、及存取控制之功能。
在此,記憶體機器可具備:檢索部,具有第1記憶體部,對儲存於前述第1記憶體部的資料,執行參照所輸入之檢索鍵的檢索動作;統計資訊處理部,使前述第1記憶體部的位址對應於前述檢索部中已命中的每個檢索鍵,並具有記憶該位址的統計資訊之第2記憶體部;及演算部,在每次藉由前述檢索部命中時更新前述統計資訊。
前述檢索部可具有能夠改變檢索鍵的位元寬度之功能。
前述檢索部可具有輸出顯示資訊的寫入是成功或不成功之判定訊號的功能。
前述檢索部係可選擇性地執行白名單方式的前述存取控制、和黑名單方式的前述存取控制。
在包含構成網路的各個裝置、和控制該各裝 置的網路控制器之資訊處理系統內,前述記憶體機器係一個一個地連接於前述每一個裝置而設置;前述記憶體機器係具備:監控前述各裝置中被連接者的流量且取得資料並傳送到前述網路控制器之功能;以及在前述網路控制器中解析前述各裝置的資料且產生對前述各裝置的控制資訊並傳送之情況下,接收該控制資訊,並依據該控制資訊控制前述各裝置中被連接者之功能。
前述記憶體機器可具備:記憶體部;使前述網路功能發揮之網路功能部;及切換前述記憶體部與前述網路功能部的第1路徑、和前述記憶體部的第2路徑之選擇器部。
前述選擇器部係可設成藉由金屬遮罩(metal mask)與位址鍵(address key)中的至少一者來實現。
前述網路功能部係可藉由針對前述記憶體部之測試模式用的比較器群構成。
根據本發明,在NFV、網路的普及化之際,能以低價且低耗電容易實現網路功能的擴充。
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‧‧‧比較器群
圖1係表示本發明的一實施形態之資訊處理系統的構成例之方塊圖。
圖2(a)、(b)係本發明的一實施形態之資訊處理系統的構成例,表示與圖1的例子不同的例子之方塊圖。
圖3係表示用以實現圖1或圖2的資訊處理系統的波可監控器的功能中之網路功能之功能方塊圖。
圖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係本發明的一實施形態之資訊處理系統,表示 使用兩個搜尋引擎之資訊處理系統的構成例之圖。
圖12係表示圖11的資訊處理系統的作動例之圖。
圖13(a)、(b)係本發明的一實施形態之資訊處理系統的構成例,表示與圖1、圖2的例子不同的例子之方塊圖。
圖14係本發明的一實施形態之資訊處理系統的構成例,表示與圖1、圖2、圖13的例子不同的例子之方塊圖。
圖15係表示用以實現網路功能之習知的資訊處理系統的構成例之方塊圖。
圖16係圖1或圖2的資訊處理系統的波可監控器的其他構成例之方塊圖。
圖17係表示圖16的波可監控器的連接狀態之圖。
圖18(a)、(b)係用以實現網路功能之習知的資訊處理系統的構成例、和包含圖16的波可監控器之資訊處理系統的構成例之比較圖。
[實施發明之形態]
以下,參照圖面,說明本發明的實施形態。
圖1為顯示本發明的一實施形態之資訊處理系統的構成例之方塊圖。
例如,圖1所示的資訊處理系統係安裝在內建於伺服器、PC的基板上。
資訊處理系統具備有:作為適用本發明之電子機器的一實施形態之波可監控器11;網路處理器12;CPU13;和複數個(圖1的例子中有4個)通訊裝置14a至14d。
在擴充網路處理器12的功能的情況,如上所 述,以往必須要有各種記憶體。例如在上述圖15的習知例中,為了實現路徑控制及流量監控而使用TCAM501,為了實現路徑控制、頻寬控制及流量監控而使用SRAM502,在緩衝方面,則是使用可大容量化的DRAM503。
相對地,在本實施形態的資訊處理系統中,因為波可監控器11是由能以DRAM製程(DRAM process)形成的單晶片(single chip)所構成,故也可因應大容量的緩衝。因此,如圖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,在通訊裝置14e與網路處理器12之間、和網路處理器12與通訊裝置14a至14d之間,分別同時各插入一個波可監控器11。
圖3係表示在波可監控器11的功能中用以實 現網路功能的功能方塊圖。
如圖3所示,在波可監控器11中,路徑控制部31、頻寬控制部32、流量監控部33、緩衝部34、存取控制部35、和主控制部36會發揮功能。
路徑控制部31係實現與藉由習知的TCAM、HS SRAM所實現的路徑控制同等的功能。
頻寬控制部32係實現與藉由習知的HS SRAM、LLDRAM所實現的頻寬控制同等的功能。
流量監控部33係實現與藉由習知的TCAM、HS SRAM計數器(HS SRAM counter)、ALU所實現的流量監控同等的功能。
緩衝部34係以與習知的DRAM同等的功能實現緩衝。
存取控制部35係實現與由以往所實現的存取控制同等的功能。
主控制部36係執行包含路徑控制部31至存取控制部35之波可監控器11整體的控制。
圖4係表示在波可監控器11的功能中用以實現探勘(mining)功能之功能方塊圖。
如圖4所示,在波可監控器11中,除了上述的主控制部36之外,聚類部(clustering portion)37、分級部(ranking portion)38、和探勘部(mining portion)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即為所謂的搜尋引擎(search engine),具有散列生成器61、記憶體部62、和比較器63。
在此,檢索(Search)係指:對儲存於記憶體等儲存裝置(圖5例子中為記憶體部62)的資料,參照所期望的檢索鍵(會成為檢索對象的資料列)之動作。
將在記憶體部62內部有發現檢索鍵(Search key)的情況定義為命中(Search hit),將沒有發現檢索鍵的情況定義為未命中(Search miss)。
在檢索命中後,由記憶體部62輸出指令(或規則(rule))。
具體而言,例如作成檢索鍵55_23_75_A4_53_10_89_bd記憶於記憶體部62,且定義Port B(將輸出目 的地設為通訊裝置14b)作為命中時的指令(action)。於此情況,當檢索鍵55_23_75_A4_53_10_89_bd被輸入檢索部51a時,因為該檢索鍵由記憶體部62被檢索而命中,故輸出PortB作為指令(action)。
在執行使圖3的路徑控制部31或流量監控部33,或者圖4的聚類部37或分級部38等發揮功能的各種應用程式時,此種檢索動作是必要的。
在利用習知的通常的記憶體之硬體構成(僅圖5的記憶體部62之構成)中,無法執行檢索動作(命令)。因此,以往,在進行網路IP位址的檢索等時,係使用TCAM501(圖14)這種特殊的記憶體來進行檢索動作。TCAM501係在記憶單元(memory cell)側設置位址的比較器,藉由在全部的記憶單元進行對儲存於記憶單元的資料和檢索鍵進行比較的處理,來進行檢索動作。
使用TCAM501之檢索的問題點為:因為是對全部的記憶單元同時並列地存取,故耗電極大。
於是,本實施形態中,係以可在沒有設置TCAM501等特殊記憶體的情況下執行檢索動作之方式,在波可監控器11這種單晶片內,設有可執行檢索動作之檢索部51a。
在此,檢索部51a中,記憶體部62具有與一般記憶體同樣的硬體構成。亦即,記憶體部62具備有:記憶單元陣列621;解碼器(decoder)622;以及感測放大器(sense amplifier)&選擇器623。
解碼器622係將經編碼化的資料(被輸入的位址)復 原。此處,解碼器622將二進制數的訊號解碼。例如,若為N位元,則藉由解碼器622解碼為2N。接著,解碼器622係依據所解碼的值,選擇記憶單元陣列621的位置,將資料寫入所選擇的位置,或從所選擇的位置讀取資料。
感測放大器&選擇器623具有:感測放大器,將從記憶單元陣列621讀取出的資料放大;及選擇器,將從記憶單元陣列621讀取出的資料依據位址訊號進行選擇。
如上所述,關於記憶體部62單體,寫入和讀取為動作(命令)的全部,不具有檢索的動作(命令)。
因此,如本實施形態的波可監控器11所示,使用一般的記憶體(記憶體部62)實現檢索的動作時,必須將所輸入的檢索鍵作為位址來處理。
將記憶體的位址設為檢索鍵資料,將記憶體資料定義為指令,將檢索資料進行位址輸入,藉此可由記憶體獲得指令資料(action data)。然而,根據此方式,在作為檢索鍵使用的位元寬度長的情況,會有記憶體容量變非常大之問題。例如,在64位元長度的檢索鍵的情況,記憶體的總容量為2^64(≒16×10^18),遠大於本發明申請當時之半導體技術中可實現的記憶體容量。
於是,本實施形態的檢索部51a除了記憶體部62外,還具備有散列生成器61。
散列生成器61係對所輸入的檢索鍵,使用散列函數(hash function)來縮小位元長度。例如,散列生成器61係對檢索鍵64位元長度的輸入,壓縮成16位元寬度的輸出。
如此,本實施形態的檢索部51a係作成藉由內部的散列生成器61縮小可檢索的位元長度,一邊加進記憶體部62的搭載容量的限制、限度,一邊可進行檢索動作。
然而,由於檢索鍵被壓縮,所以會有雖然為不同的位址但卻無法區別之問題。為了解決此問題,本實施形態的檢索部51a除了具備有散列生成器61和記憶體部62外,還具備有比較器63。
比較器63係在進行從記憶單元陣列621經由感測放大器&選擇器623的讀取時,除了讀取指令結果外,還讀取先寫入的檢索鍵,進行所讀取出之檢索鍵和所輸入之檢索鍵的比較,判定最終的命中/未命中。
此外,檢索部51a進一步的詳情,請參照專利文獻3。
此處,在圖5的波可監控器11中,不僅是檢索部51a,還進一步設有統計資訊處理部52a和演算部53a。
原因在於:若僅以檢索部51a構成,則對依應用程式(application)而改變的檢索表,會產生缺乏自在性之問題。
例如,在將路由器等網路機器中的IP位址設為檢索表的情況,在IPv4中,用以儲存約數百萬項目(entry)的資料之容量是必要的。在IPv6的情況,檢索鍵係達64b,但由於項目數多,所以大的檢索表是必要的。此外,在近年來的ICN(Information Centric Network)、CCN/DCN(Content Centric Network/Data Centric Network)中,由於係藉由文字列控制路徑,所以處理長的位元長度之檢索鍵是必要的。
如此,關於使圖3的路徑控制部31或流量監控部33 ,或者圖4的聚類部37或分級部38等發揮功能的各種應用程式,會有在檢索部51a這個裝置中無法因應,或者發生無用之問題。
為了解決此種問題,在圖5的波可監控器11中,不僅設有檢索部51a,還設有統計資訊處理部52a和演算部53a。
例如,在搜尋引擎的應用程式(application)中,試著思考關於路由器等的轉發(forwarding)。此轉發係可藉由利用圖3的路徑控制部31所進行的路徑控制來實現。
在轉發(forwarding)中,進行從記載於封包(packet)的表頭(header)之目的地位址等,決定輸出封包之埠號(port number)的處理是必要的。
在此,考量一旦決定目的地,即採用了唯一決定輸出埠號之方法的情況。例如,有在決定埠號(port number)時,使用記載了目的地位址等和輸出埠的關係之表(table)的情況。在此種情況下,因為相同之目的地、或者相同之輸出埠的選擇變多的關係,會發生流量壅塞的情況。
利用此種唯一決定的方法時,由於無法進行流量的繞路,所以在轉發時,係採用儲存各資料流(flow)的資料量,一面考量此等資料量一面決定輸出埠之方法。利用此方法時,在對特定的資料流命中多的情況下,會變成偏集於輸出埠偏移且流量壅塞,所以為了避免此壅塞,必須有對命中各資料流(flow)的次數、所流動之流量(traffic)的量進行計數之處理。亦即,儲存統計以建構有 效率的網路之處理是必要的。
為了以單晶片實現此種處理,在圖5的波可監控器11中,不僅設置有檢索部51a,還進一步設置有統計資訊處理部52a和演算部53a。
統計資訊處理部52a為了儲存上述處理所需要的統計資訊,而具有記憶體部71。
此記憶體部71具有與通常的記憶體同樣的硬體構成。亦即,記憶體部71具有:記憶單元陣列711、解碼器712、和感測放大器&選擇器713。如此,由於用以儲存統計資訊的記憶體部71不是特殊的記憶單元,而是通常的記憶單元,所以可以波可監控器1這種單晶片1來實現圖5的構成。
記憶體部71為了儲存統計資訊,儲存與在檢索部51a(搜尋引擎)中所命中的資料流(flow)對應的資訊。亦即,記憶體部71係按各命中的檢索鍵使位址對應,在該位址儲存統計資訊。
演算部53a係輸入藉由比較器63之命中(hit)/未命中(miss)判定結果,若為命中,則讀取與命中的檢索鍵對應之唯一(unique)的位址,並依據所讀取的位址,存取記憶體部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的各記憶單元(由字元線和2條位元線所構成的記憶單元),係與兩個感測放大器、選擇器及加算器81連接。
因此,雖未圖示,惟亦可在記憶體部91中插入加算器81。於此情況,也能縮短從讀取到寫回的時間。
圖8係用以說明組合有圖3的路徑控制部31和緩衝部34之各功能的路由器功能之示意圖。
如上述,藉由波可監控器11中圖5的例子或圖6的例子的構成,路徑控制部31可實現的內容係如上所述。
用以對這種路徑控制部31進行路徑設定的輸入資料(封包等),係被輸入緩衝部34中的輸入緩衝區34IN。
另一方面,已藉路徑控制部31設定了路徑的資料(封包等),係被輸入複數個輸出埠(圖8的例子,輸出埠#1至#4)中與已設定路徑的輸出埠的輸出緩衝區34OUT(圖8的例子中,四個輸出緩衝區34OUT中的任一者)。
在此,輸出緩衝區34OUT係如圖8所示,為了使優先度高的資料先輸出,而採用了佇列(queue)的構成。亦即,藉由將輸出緩衝區34OUT分割成佇列數的FIFO,可控制根據優先度而輸入的FIFO佇列。FIFO係可用標準的記憶體構成。
如以上說明,波可監控器11係以包含標準記憶體(圖5或圖6的記憶體部62)的方式構成搜尋引擎(圖5的檢索部51a或圖6的檢索部51b),且記憶統計資訊的記憶體(圖5的記憶體部71或圖6的記憶體部91)也以標準記憶體構成。
藉此,在路由器或網路交換器的資料層(data plane)被視為必要的網路功能,亦即路徑控制、頻寬控制、流量控制、緩衝及存取控制,係可藉由單晶片的波可監控器11實現(參照圖3)。
具體而言,如上述,路徑控制主要可藉由圖5或圖6的構成(搜尋引擎等)來實現。亦即,在路徑控制中,被輸入的封包之目的地位址被輸入檢索部51a,51b,依據由該檢索部51a,51b輸出的指令,封包會被輸出到特定的輸出緩衝區340UIT(參照圖8)。
頻寬控制係如上所述,可藉由圖8的輸出緩衝區(output buffer)34OUT的FIFO佇列來實現。亦即,藉由設置於輸出緩衝區34OUT的FIFO,限制輸出的資料量。從輸入緩衝區(input buffer)34IN輸入的資料量,在比輸出的資料量多的情況時,資料被儲存於輸出緩衝區34OUT的FIFO。
流量監控係可藉由對記憶於圖5的記憶體部71、圖6的記憶體部91之統計資訊進行分析來實現。亦即,讀取記憶於統計資訊處理部52a的記憶體部71、統計資訊處理部52b的記憶體部91之資料,檢查(check)每一者的資料值,藉此進行流量監控。例如,可從讀取出之特定 的資料多寡、或特定的資料急遽增加等的資料來進行檢查。此外,檢查的動作主體為例如圖1的CPU13。
緩衝(buffer)係如上述可藉由FIFO等實現(參照圖8)。亦即,緩衝係將資料暫時儲存,直到決定所輸入之封包的路徑為止。與頻寬控制同樣,以FIFO儲存資料直到被輸出為止。
存取控制(filtering:過濾)係可藉由搜尋引擎實現。關於存取控制的詳細內容,將參照圖10於後闡述。
綜上所述,本實施形態的資訊處理系統,僅藉由將以單晶片所構成的波可監控器11連接於網路處理器12,即可容易擴充網路功能。
具體而言,以往,從外部輸入的封包係從既定的通訊裝置(例如圖14的通訊裝置14a)被輸入,藉由作用成交換晶片(switch chip)的網路處理器12判定目的地,輸出到其他的通訊裝置(例如,圖14的通訊裝置14b)或同一通訊裝置(例如,圖14的通訊裝置14a)。
且,為了擴充路徑控制、頻寬控制、存取控制、流量監控、緩衝等的網路功能,除了圖14的DRAM503外,還需要有特殊的記憶體(TCAM501、SRAM502)。
相對地,本實施形態的資訊處理系統中,僅藉由將以單晶片實現路徑控制、頻寬控制、存取控制、流量監控、緩衝等的網路功能之波可監控器11與網路處理器12連接,即可容易實現網路功能的擴充。
例如,在資訊處理系統是採用圖2(a)的構成例之情況,在通訊裝置14a和網路處理器12之間,插入波 可監控器11。
於此情況,在波可監控器11中之圖5的例子或圖6的例子的構成部分,係儲存封包的統計資訊,因應來自CPU13的請求(request),輸出該統計資訊。CPU13依據統計資訊,判斷資料流(flow)有無偏集。此判斷結果回饋到作用成交換晶片(switch chip)的網路處理器12。網路處理器12係依據該回饋上方,控制封包之輸出的埠的選擇。如此,藉由波可監控器11,可實現路徑控制。
於此情況,波可監控器11亦可作為將由外部輸入的封包暫時儲存的緩衝器而利用。又,波可監控器11亦可作為輸出封包時的緩衝器而利用。如此,藉由波可監控器11,可實現限制輸出之資料量的頻寬控制。
又,例如在資訊處理系統是採用圖1的構成例之情況,由於波可監控器11係配置在網路處理器12之側,所以可補足網路處理器12的性能。
藉此,作為網路處理器12所具有之網路功能的擴充,可實現緩衝大小(buffer size)的擴充、統計資訊的擴充、路徑控制的擴充等。在此,統計資訊的擴充意指:例如,依每個資料流(flow)增加只能保持每個輸入埠的統計資訊之功能。藉由此種統計資訊的擴充,統計的種類會增加,故可進行極細微的控制。
又,例如,以僅對從未圖示的外部網路之WAN輸入、或輸出到WAN側的封包進行監控的用途而言,資訊處理系統亦可採用圖2(b)的構成例。
以上,就本發明的一實施形態進行說明,本 發明不受限於上述實施形態,在可達成本發明之目的之範圍內的變形、改良等係包含於本發明。
例如,搜尋引擎係使用於多種的應用程式(application)。具體而言,例如對於像臉部認證那樣的圖案認證,搜尋引擎是可適用的。在如此般適用的情況,所輸入之檢索鍵的位元寬度係依存於應用程式。
因此,藉由採用加大檢索鍵的位元寬度之方法,可因應所有的應用程式,乍看之下是有利的。然而,利用此方法時,輸入檢索鍵的時間變冗長,結果,會產生使系統性能劣化之問題。
又,在裝置內部,必須有與檢索鍵比較用的記憶體容量,變成會消耗多餘的資源。在同一記憶體容量中,也會產生項目數減少之問題點。
上述的實施形態之搜尋引擎,即,在圖5的例子的檢索部51a和圖6的例子的檢索部51b中,難以解決此等問題。
於是,為了解決此等問題,採用能夠以模式暫存器(mode register)切換構成之搜尋引擎即可。藉此,取代項目數為1/2,檢索鍵的位元數會成為2倍。藉由因應應用程式切換構成,可在一個裝置(波可監控器11)提供最適合於多種應用程式之構成。
可切換此種構成的搜尋引擎係如圖9所示。
亦即,圖9係波可監控器11之搜尋引擎的硬體構成例,表示與圖5、圖6不同的例子。
如圖9所示,檢索部51c具備有:位址變換電 路91、主檢索部92A、主檢索部92B、和選擇電路93。
在此,主檢索部92A和主檢索部92B的每一者,由於係具有與圖5的例子的檢索部51a基本上同樣功能之構成,所以省略其詳細說明。
圖9的例子中,搜尋引擎係分割成主檢索部92A和主檢索部92B兩部分。
模式設定(模式暫存器的訊號)被輸入位址變換電路91和選擇電路93。亦即,所輸入的位址係在位址變換電路91藉由模式設定切換,檢索結果係在選擇電路93中藉由模式設定切換。
例如,在圖9的例子中,將項目數設為2倍時,位址變換電路91是對被分割的兩個搜尋引擎、即主檢索部92A和主檢索部92B的每一者,輸入同一檢索鍵。
從主檢索部92A和主檢索部92B的每一者輸出的指令(action)中,命中訊號活性的指令結果係作為檢索結果藉由選擇電路93選擇並輸出。
此外,當從主檢索部92A和主檢索部92B的每一者輸出未命中訊號(miss signal)時,選擇電路93輸出未命中(miss)。
又,例如,在圖9的例子中,在將檢索鍵的位元寬度設為2倍的情況,位址變換電路91將所輸入的檢索鍵分割成前半部的位元和後半部的位元,將前半部的位元輸入主檢索部92A,並將後半部的位元輸入主檢索部92B。
在來自主檢索部92A和主檢索部92B的每一者的命 中訊號為活性的情況,選擇電路93輸出作為命中的指令結果。
此外,在由主檢索部92A和主檢索部92B中的至少一者輸出未命中訊號的情況,選擇電路93輸出未命中。
此外,圖9的例子,搜尋引擎設成2分割,但搜尋引擎的分割數並未特別受限於此,也可設成例如4分割。在4分割的情況,可進行項目數為1倍、2倍、4倍之每一者的切換。
在此,說明關於由搜尋引擎所進行的存取控制(filtering:過濾)。
過濾大致分成黑名單(blacklist)方式和白名單(whitelist)方式。
黑名單方式係將除了包含記述於黑名單之已知位元列的檢索鍵的資訊以外之其他資訊輸出之方式。
白名單方式係將記述於白名單之檢索鍵的資訊輸出之方式。
在此,關於黑名單方式,在4位元的檢索鍵中,設前3個位元為“000”之位元列係已記述於黑名單。此時,必須將檢索鍵為“0001”和“0000”兩者的檢索結果設為排除對象。
於此情況,亦可將“0001”和“0000”作為檢索鍵輸入搜尋引擎2次,使檢索結果分別輸出,惟藉由僅在檢索鍵加入遮蔽(mask)功能,將遮蔽了最後1位元的“000*”作為檢索鍵僅輸入1次,即可使“0001”和“0000”兩者的檢索結果輸出。如此,藉由在檢索鍵加入遮蔽功能,採用黑 名單方式時,可減輕搜尋引擎的處理時間和處理負荷。
此外,亦存在有使優先的候補輸出之應用程式。例如,檢索往美術館的道路順序,輸出複數個候補作為檢索結果之類的應用程式。
將此種複數個候補作為檢索結果輸出的情況亦同樣可在檢索鍵加入遮蔽功能。
圖10係波可監控器11之搜尋引擎的硬體構成例,表示與圖5、圖6、圖9不同的例子。
如圖10所示,檢索部51d具備有:主檢索部101A、主檢索部101B、和選擇電路102。
在此,主檢索部101A和主檢索部101B的每一者,由於具有與圖5的例子的檢索部51a基本上同樣的功能及構成,故省略其詳細的說明。
當檢索鍵被遮蔽時,所輸入之檢索鍵的位元數會減少。然而,檢索結果的指令必須設成可輸出複數個之構成,所以可採用如圖10所示之構成。
在此,當遮蔽訊號已激活時,選擇電路102係由與對應於遮蔽的檢索表對應之搜尋引擎輸出結果。
以上,如參照圖9、圖10的說明所示,藉由分割內部的搜尋引擎,改變輸入的檢索鍵,並改變檢索結果的判定,可提供最適合於各種應用程式之裝置(波可監控器11)。
如此,作為因應於各種應用程式的方法,較佳為藉由利用模式設定等切換搜尋引擎的功能來改變規格之方法,但並不受限於此方法。
例如,作為其他方法,亦可採用使用複數個搭載有一個搜尋引擎之LSI(波可監控器11)之方法。
圖11係本發明之一實施形態的資訊處理系統,表示使用兩個搜尋引擎之資訊處理系統的構成例。
圖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係與CPU、網路控制器一起安裝在伺服器或PC(1框體)內的基板上,但安裝的形態並無特別限定。
例如,如圖13、圖14所示,亦可採用將波可監控器11作成一個裝置(1框體),並與其他的裝置(1框體)連接之構成。
圖13係本發明的一實施形態之資訊處理系統的構成例,表示與圖1、圖2的例子不同的例子之方塊圖。
在圖13(a)的例子之資訊處理系統中,在與路由器202連接的L2交換器203、和複數個PC204a至204d之間,連接有波可監控器11。網路控制器201係與路由器202、L2交換器203、及波可監控器11分別連接。
圖13(b)的例子的資訊處理系統中,在路由器202和 兩個L2交換器203A,203B的各個之間,連接有波可監控器11。網路控制器201係與路由器202及波可監控器11分別連接。在L2交換器203A連接有複數個PC204a至204c。在L2交換器203B,連接有不同於該等的複數個PC204d至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或網路的普及化之際,可以便宜且低耗電的狀態容易實現網路功能的擴充。
在此,記憶體機器可具備: 檢索部(例如圖5或圖6的檢索部51a,51b),具有第1記憶體部(例如圖5或圖6的記憶體部62),對儲存於前述第1記憶體部的資料,執行參照所輸入的檢索鍵之檢索動作;統計資訊處理部(例如圖5或圖6的統計資訊處理部52a,52b),係使前述第1記憶體部的位址對應於前述檢索部中已命中的每個檢索鍵,並具有記憶該位址的統計資訊之第2記憶體部(例如圖5的記憶體部71或圖6的記憶體部91);及演算部(例如圖5或圖6的演算部53a,53b),在每次藉由前述檢索部命中時更新前述統計資訊。
又,前述檢索部(例如圖9的檢索部51c)可具有能夠改變檢索鍵的位元寬度之功能。
又,前述檢索部(例如圖11的搜尋引擎111A,111B)可具有輸出顯示資訊的寫入是成功或不成功之判定訊號的功能。
又,前述檢索部(例如圖10的檢索部51d)係可選擇性地執行白名單方式的前述存取控制、和黑名單方式的前述存取控制。
此外,在包含構成網路的各個裝置(例如構成圖14的網路N之路由器301、以企業為對象的路由器302-1,302-2、以消費者為對象的路由器303-1至303-3)、和控制該各個裝置之網路控制器(例如圖14的網路控制器401)的資訊處理系統內,前述記憶體機器係逐一地連接於前述各個裝置而設置; 前述記憶體機器(例如圖14的波可監控器11-1至11-5)係具備:監控前述各個裝置中被連接者的流量且取得資料並傳送到前述網路控制器之功能;以及在前述網路控制器中解析前述各個裝置的資料且產生對前述各個裝置的控制資訊並傳送之情況下,接收該控制資訊,並依據該控制資訊控制前述各個裝置中被連接者的之功能。
波可監控器11亦可如上述具體化為網路專用的DDR DRAM,惟如圖16所示,可具體化為將網路功能選擇性地安裝於通用的DDR DRAM之構成。
在此,所謂通用的DRAM係指以JEDEC規格化且標準化的DRAM。
圖16的波可監控器11c係形成於DDR DRAM,具有可選擇性地切換網路用和通用PC用來使用之構成。
散列生成機61係設置於DDR DRAM的外部,但該散列生成機61以外的記憶體部62,81、比較器68或加算器82等的網路功能部601係形成於DDR DRAM。
在此,網路功能部601係具有圖3所示之功能的構成。
在DDR DRAM設置有選擇器602。亦即,在選擇器602切換到圖16中上方的路徑(route),即切換到記憶體部62,81、比較器68和加算器82等的網路功能部601側時,係作用成網路用的DDR DRAM。另一方面,在選擇器602切換到圖16中上方的路徑,即從記憶體部62,81直接到選擇器602的路徑時,係作用成通用的DDR DRAM。
選擇器602的安裝方法,若使用金屬遮罩(metal mask)與位址鍵(address key)中的至少一者,是較合適的。
顯示圖17、圖16的波可監控器11c(作用成網路用的DDR DRAM)的連接的狀態之圖。
如圖17所示,可對作為FPGA、ASIC的IP的控制器701,連接波可監控器11c(作用成網路用的DDR DRAM)。
藉此,如TCAM所示,可實現能夠進行平行(parallel)比較之功能。在此,如圖17的右下方的圖所示,通用的DRAM除了設有記憶體部711外,因為會在測試模式使用,所以原本就設有比較器群712。可將此比較器群712原樣地挪用為圖16的網路功能部601。
圖18係用以實現網路功能之習知的資訊處理系統的構成例、和包含圖16的波可監控器11c(作用成網路用的DDR DRAM)之資訊處理系統的構成例之比較圖。
圖18(a)為顯示用以實現網路功能之習知的資訊處理系統的構成例。
如使用圖15之上述般,在用以實現網路功能之習知的資訊處理系統中,藉由對NP、ASIC、FPGA等,連接複數個TCAM、RLDRAM、QDR/DDR SRAM,可實現網路功能。
複數個TCAM、RLDRAM、QDR/DDR SRAM係高價且耗電亦大的組件。可預測此等組件由於市場規模小,故價格不會降低(無規模利益(scale merit)),所以可預測今後仍將是高價。
再者,也有必須另外有從NP、ASIC、FPGA等到此 等組件之各者的介面之缺點。
圖17為顯示包含適用本發明之圖16的波可監控器11c(作用為網路用的DDR DRAM)的資訊處理系統的構成例。
全部的網路功能(圖3)係被插入波可監控器11c。又,該波可監控器11c形成於通用的DDT2(3、4)DRAM上。亦即,藉由金屬遮罩(配線層)與位址鍵(模式暫存器)中的至少一者可實現選擇器602(圖16),DDT2 DRAM可被切換成以通用PC為對象和以網路為對象。
此處,在DDT2 DRAM中,因會在測試模式使用,故事先設有比較器群712(圖17),因此,藉由將其挪用作為網路功能部601,也不需設置新的構成要素。
藉此,可降低以網路為對象的記憶體價格,且,藉由通用DDR的價格溢價(price premium),能夠以低價且低耗電實現資訊處理系統。
再者,由於網路功能係匯集於波可監控器11c,所以如圖18所示,只要有此波可監控器11c、與作為NP、ASIC、FPGA等IP的控制器701之間的介面即可。也就是說,可將介面統合。
11‧‧‧波可監控器
31‧‧‧路徑控制部
32‧‧‧頻寬控制部
33‧‧‧流量監控部
34‧‧‧緩衝部
35‧‧‧存取控制部
36‧‧‧主控制部

Claims (14)

  1. 一種記憶體機器,係以單晶片構成的記憶體機器,其係發揮網路功能中之至少路徑控制、頻寬控制、流量監控、緩衝及存取控制之功能,前述記憶體機器具備:檢索部,具有第1記憶體部,對儲存於前述第1記憶體部的資料,執行基於藉由變換所輸入之檢索鍵獲得的位址而參照的檢索動作;統計資訊處理部,使前述第1記憶體部的位址對應於前述檢索部中已命中的每個檢索鍵,並具有記憶該位址的統計資訊之第2記憶體部;及演算部,在每次藉由前述檢索部命中時更新前述統計資訊。
  2. 如請求項1之記憶體機器,其中前述位址係藉由將前述檢索鍵散列化而獲得。
  3. 如請求項1之記憶體機器,其中前述位址的位元長度比前述檢索鍵的位元長度還短。
  4. 如請求項1之記憶體機器,其中前述記憶體機器進一步具有比較部,其係進行所輸入的檢索鍵和由前述第1記憶體部所讀取出的檢索鍵之比較,判定前述檢索部的前述檢索動作是否正確。
  5. 如請求項1之記憶體機器,其中前述第1記憶體部和前述第2記憶體部係形成一體,與前述第1記憶體部的資料對應的統計資訊係記 憶於前述第2記憶體的同一行。
  6. 如請求項1之記憶體機器,其中,前述記憶體機器進一步具有將前述所輸入的檢索鍵加以分割的位址變換電路,前述記憶體機器具有複數個前述第1記憶體部,將經前述位址變換電路分割的檢索鍵,以複數個前述第1記憶體部分別進行檢索,藉此,前述檢索部具有能夠改變檢索鍵的位元寬度之功能。
  7. 如請求項1之記憶體機器,其中前述檢索部具有輸出顯示資訊的寫入是成功或不成功之判定訊號的功能。
  8. 如請求項1之記憶體機器,其中前述檢索部係選擇性地執行白名單方式的前述存取控制、和黑名單方式的前述存取控制。
  9. 如請求項1之記憶體機器,其中在包含構成網路的各個裝置、和控制該各個裝置的網路控制器之資訊處理系統內,前述記憶體機器係逐一地連接設置於前述各個裝置;前述記憶體機器係具備:監控前述各個裝置中被連接者的流量且取得資料並傳送到前述網路控制器之功能;以及在前述網路控制器中解析前述各個裝置的資料且產生對前述各個裝置的控制資訊並傳送之情況下,接收該控制資訊,並依據該控制資訊控制前述各個裝置中被連接者之功能。
  10. 如請求項9之記憶體機器,其中構成前述網路的各個裝置為路由器。
  11. 如請求項9之記憶體機器,其中前述資訊處理系統係構成SDN(Software Defined Network)。
  12. 如請求項1之記憶體機器,其具備:記憶體部;使前述網路功能發揮之網路功能部;及切換前述記憶體部與前述網路功能部的第1路徑、和前述記憶體部的第2路徑之選擇器部。
  13. 如請求項12之記憶體機器,其中前述選擇器部係藉由金屬遮罩與位址鍵中的至少一者來實現。
  14. 如請求項12或13之記憶體機器,其中前述網路功能部係藉由對於前述記憶體部之測試模式用的比較器群構成。
TW105125881A 2015-08-18 2016-08-15 Memory machine TWI616877B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015161228 2015-08-18
JP2015207863A JP6666686B2 (ja) 2015-08-18 2015-10-22 メモリ機器

Publications (2)

Publication Number Publication Date
TW201719658A TW201719658A (zh) 2017-06-01
TWI616877B true TWI616877B (zh) 2018-03-01

Family

ID=58203376

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105125881A TWI616877B (zh) 2015-08-18 2016-08-15 Memory machine

Country Status (5)

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

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

Citations (5)

* 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
US20010021189A1 (en) * 2000-03-02 2001-09-13 Yoshiaki Shiota Packet exchange and router and input packet processing method thereof
US20120096193A1 (en) * 2009-07-16 2012-04-19 Naozumi Anzai Communication apparatus, information processing apparatus, and communication control method
WO2012098786A1 (ja) * 2011-01-17 2012-07-26 日本電気株式会社 ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
US20140286175A1 (en) * 2013-03-22 2014-09-25 Fujitsu Limited Apparatus and method for controlling packet transfer

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP5731179B2 (ja) 2010-06-21 2015-06-10 ルネサスエレクトロニクス株式会社 半導体記憶装置
JP2013038536A (ja) 2011-08-05 2013-02-21 Renesas Electronics Corp 半導体装置
KR20130126833A (ko) 2012-05-02 2013-11-21 한국전자통신연구원 네트워크 가상화를 위한 고속 스위칭 방법 및 고속 가상 스위치
US9569561B2 (en) * 2013-07-09 2017-02-14 Cisco Technology, Inc. Label masked addressable memory

Patent Citations (5)

* 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
US20010021189A1 (en) * 2000-03-02 2001-09-13 Yoshiaki Shiota Packet exchange and router and input packet processing method thereof
US20120096193A1 (en) * 2009-07-16 2012-04-19 Naozumi Anzai Communication apparatus, information processing apparatus, and communication control method
WO2012098786A1 (ja) * 2011-01-17 2012-07-26 日本電気株式会社 ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
US20140286175A1 (en) * 2013-03-22 2014-09-25 Fujitsu Limited Apparatus and method for controlling packet transfer

Also Published As

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

Similar Documents

Publication Publication Date Title
US8214845B2 (en) Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data
WO2019128817A1 (zh) 报文处理的方法和装置
US10911358B1 (en) Packet processing cache
US9450780B2 (en) Packet processing approach to improve performance and energy efficiency for software routers
US8572324B2 (en) Network on chip with caching restrictions for pages of computer memory
US9219694B2 (en) Content addressable memory with reduced power consumption
JP5226714B2 (ja) オンチップネットワーク内のパケットルーティング
US10353843B1 (en) Streaming interconnect architecture
US20100114973A1 (en) Deterministic Finite Automata Graph Traversal with Nodal Bit Mapping
US7694068B1 (en) Re-entrant processing in a content addressable memory
CN105897589A (zh) 用于cuckoo散列流查找的并发性的技术
TW200301429A (en) A method of improving the lookup performance of tree-type knowledge base searches
KR20070068377A (ko) 데이타 처리장치
CN110266679B (zh) 容器网络隔离方法及装置
US9210082B2 (en) High speed network bridging
CN109981464B (zh) 一种在fpga中实现的tcam电路结构及其匹配方法
US8130525B2 (en) Method and apparatus for configuring a content-addressable memory (CAM) design as binary CAM or ternary CAM
Cheng et al. Scalable multi-match packet classification using TCAM and SRAM
TWI616877B (zh) Memory machine
JP2012155650A (ja) ルータ及びメニーコアシステム
US20100228754A1 (en) Search engine and search method
WO2017030054A1 (ja) メモリ機器
Cao et al. The development status and trend of NetFPGA
AU2021106221A4 (en) An improved tcam cell design and method of operation for reduced power dissipation
JP2002374289A (ja) 検索システム及びそれに用いる検索条件cam登録方法並びにそのプログラム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees