WO2017030054A1 - Memory device - Google Patents

Memory device Download PDF

Info

Publication number
WO2017030054A1
WO2017030054A1 PCT/JP2016/073477 JP2016073477W WO2017030054A1 WO 2017030054 A1 WO2017030054 A1 WO 2017030054A1 JP 2016073477 W JP2016073477 W JP 2016073477W WO 2017030054 A1 WO2017030054 A1 WO 2017030054A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
search
memory
network
function
Prior art date
Application number
PCT/JP2016/073477
Other languages
French (fr)
Japanese (ja)
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
Priority claimed from JP2015207863A external-priority patent/JP6666686B2/en
Application filed by 株式会社ポコアポコネットワークス filed Critical 株式会社ポコアポコネットワークス
Priority to KR1020187007086A priority Critical patent/KR20180037268A/en
Priority to CN201680048310.8A priority patent/CN107925621A/en
Priority to US15/753,826 priority patent/US10523566B2/en
Publication of WO2017030054A1 publication Critical patent/WO2017030054A1/en

Links

Images

Classifications

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

Definitions

  • the present invention relates to a memory device.
  • PC personal computers
  • servers are IT devices that are manufactured and sold by limited manufacturers.
  • components used inside the equipment such as processors and memories, have become general-purpose, so that it has been transformed into IT equipment that anyone can assemble.
  • PCs and servers are generally adopting an open platform that allows anyone to become a developer or a technical proposer by commoditizing OS and application software.
  • network devices such as routers and switches (see, for example, Patent Documents 1 to 3) have also been special IT equipment markets that are dominated by only a limited number of manufacturers.
  • NFV Network Functions Virtualization
  • the recent trends are the same as those of PCs and servers.
  • low-cost enterprise models are becoming increasingly popular as open platforms that anyone can manufacture due to the commoditization of processors and memory.
  • FIG. 15 is a block diagram illustrating a configuration example of a conventional information processing system for realizing a network function.
  • the conventional information processing system shown in FIG. 15 is mounted on a substrate built in a server or a PC.
  • the conventional information processing system includes a network processor 12, a CPU 13, a plurality of (four in the example of FIG. 15) communication devices 14a to 14d, a TCAM 501, an SRAM 502, and a DRAM 503.
  • various memories are required.
  • the TCAM 501 is used for realizing the path control and traffic monitoring
  • the SRAM 502 is used for the path control, bandwidth control, and traffic monitoring
  • the DRAM 503 capable of a large capacity is used as a buffer.
  • These TCAM 501, SRAM 502, and DRAM 503 are expensive components that consume a large amount of power.
  • the present invention has been made in view of such a situation, and an object of the present invention is to make it possible to easily extend network functions at low cost and with low power consumption when commoditizing NFV and networks.
  • a memory device of one embodiment of the present invention includes: A memory device composed of a single chip, Among network functions, at least routing control, bandwidth control, traffic monitoring, buffer, and access control function. It is a memory device.
  • the memory device A search unit that includes a first memory unit, and executes a search operation for referring to an input search key for data stored in the first memory unit;
  • a statistical information processing unit having a second memory unit that associates an address of the first memory unit with each search key hit in the search unit and stores statistical information of the address;
  • An arithmetic unit that updates the statistical information every time it is hit by the search unit; Can be provided.
  • the search unit has a function of changing a bit width of a search key; be able to.
  • the search unit has a function of outputting a determination signal indicating whether writing of information is successful or unsuccessful, be able to.
  • the search unit selectively executes the access control of a white list method and the access control of a black list method. be able to.
  • the memory device is provided by being connected to each individual device,
  • the memory device is A function of monitoring the traffic of connected ones of the individual devices to acquire data and transmitting it to the network controller;
  • the network controller analyzes the data of the individual device and generates and transmits control information to the individual device, the network controller receives the control information, and based on the control information, receives the control information of the individual device.
  • the memory device is A memory section; A network function unit for exerting the network function; A selector unit that switches between a first route between the memory unit and the network function unit and a second route of the memory unit; Can be provided.
  • the selector unit is realized by at least one of a metal mask and an address key. Can be.
  • the network function unit is configured by a comparator group for a test mode for the memory unit. Can be.
  • network functions can be easily expanded with low cost and low power consumption when commoditizing NFV and networks.
  • FIG. 3 is a functional block diagram for realizing a network function among the functions of the pocowatcher of the information processing system of FIG. 1 or FIG. 2.
  • FIG. 3 is a functional block diagram for realizing a mining function among the functions of the pocowatcher of the information processing system of FIG. 1 or FIG. 2.
  • FIG. 6 is a diagram illustrating an example different from FIG. 5.
  • FIG. 7 shows an enlarged view of a memory cell array, a sense amplifier & selector, and a calculation unit in the pocowatcher in the example of FIG. 6. It is a schematic diagram for demonstrating the router function which combined each function of the path
  • FIG. 7 is a diagram illustrating an example of a hardware configuration of a search engine of the pocowatcher in the information processing system of FIG. 1 or 2, and illustrates an example different from FIGS. 5 and 6.
  • FIG. 10 is a diagram illustrating an example of a hardware configuration of a search engine of the pocowatcher in the information processing system of FIG. 1 or 2, and is a diagram illustrating an example different from FIGS. It is an information processing system concerning one embodiment of the present invention, and is a figure showing an example of composition of an information processing system using two search engines. It is a figure which shows the operation example of the information processing system of FIG. FIG.
  • FIG. 3 is a block diagram illustrating an example of a configuration of an information processing system according to an embodiment of the present invention, which is different from the examples of FIGS. 1 and 2.
  • FIG. 14 is a block diagram illustrating an example of a configuration of an information processing system according to an embodiment of the present invention, which is different from the examples of FIGS. 1, 2, and 13. It is a block diagram which shows the structural example of the conventional information processing system for implement
  • FIG. 1 is a block diagram illustrating a configuration example of an information processing system according to an embodiment of the present invention.
  • the information processing system shown in FIG. 1 is mounted on a substrate built in a server or a PC.
  • the information processing system includes a pocowatcher 11 as an embodiment of an electronic apparatus to which the present invention is applied, a network processor 12, a CPU 13, and a plurality (four in the example of FIG. 1) of communication devices 14a to 14d. It has.
  • the TCAM 501 is used for realizing the path control and traffic monitoring
  • the SRAM 502 is used for the path control, bandwidth control, and traffic monitoring
  • the DRAM 503 capable of a large capacity as a buffer is provided. It was used.
  • the pocowatcher 11 is configured by a single chip capable of a DRAM process, and therefore can cope with a large-capacity buffer. For this reason, as shown in FIG. 1, the function of the network processor 12 can be expanded only by connecting the pocowatcher 11 to the network processor 12.
  • the configuration of the information processing system is not particularly limited to the configuration of FIG. 1 as long as the network processor 12 and the pocowatcher 11 can communicate with each other.
  • FIG. 2 is a block diagram showing an example of the configuration of the information processing system according to the embodiment of the present invention, which is an example different from the example of FIG.
  • communication devices 14a to 14d are connected to the pocowatcher 11 as a difference from the example of FIG.
  • a communication device 14e connected to a router or the like (not shown) is connected to the poco watcher 11 as a difference from the example of FIG. 2A and 2B is merely an example, and for example, although not shown, two pocowatchers 11 are prepared, the communication device 14e and the network processor 12, and the network processor.
  • the pocowatcher 11 may be inserted simultaneously between the communication device 12 and the communication devices 14a to 14d.
  • FIG. 3 is a functional block diagram for realizing a network function among the functions of the pocowatcher 11. As shown in FIG. 3, in the pocowatcher 11, a path control unit 31, a bandwidth control unit 32, a traffic monitoring unit 33, a buffer unit 34, an access control unit 35, and a main control unit 36 function. .
  • the route control unit 31 realizes the same function as the route control realized by the conventional TCAM and HS SRAM.
  • the bandwidth control unit 32 realizes the same function as the bandwidth control realized by the conventional HS SRAM and LLDRAM.
  • the traffic monitoring unit 33 realizes the same function as the traffic monitoring realized by the conventional TCAM, HS SRAM counter, and ALU.
  • the buffer unit 34 has a function equivalent to that of a conventional DRAM and realizes a buffer.
  • the access control unit 35 realizes the same function as the access control that has been realized conventionally.
  • the main control unit 36 performs overall control of the pocowatcher 11 including the path control unit 31 to the access control unit 35.
  • FIG. 4 is a functional block diagram for realizing the mining function among the functions of the pocowatcher 11. As shown in FIG. 4, in the pocowatcher 11, a clustering unit 37, a ranking unit 38, and a mining unit 39 function in addition to the main control unit 36 described above.
  • the clustering unit 37 realizes a function equivalent to the clustering control that has been conventionally realized.
  • the ranking unit 38 realizes a function equivalent to the ranking control that has been conventionally realized.
  • the mining unit 39 realizes the same function as the mining that has been realized conventionally.
  • FIG. 5 shows an example of a hardware configuration that operates when the path control unit 31 or the traffic monitoring unit 33 in FIG. 3 or the clustering unit 37 or the ranking unit 38 in FIG. 4 functions among the hardware configurations of the pocowatcher 11.
  • Is shown. 6 illustrates an example of a hardware configuration that operates when the path control unit 31 or the traffic monitoring unit 33 in FIG. 3 or the clustering unit 37 or the ranking unit 38 in FIG. 4 functions among the hardware configurations of the pocowatcher 11.
  • the pocowatcher 11 of the example of FIG. 5 is particularly referred to as “pocowatcher 11a”, and the pocowatcher 11 of the example of FIG. This is called “Pocowatcher 11b”.
  • 5 includes a search unit 51a, a statistical information processing unit 52a, and a calculation unit 53a.
  • the search unit 51 a is a so-called search engine, and includes a hash generator 61, a memory unit 62, and a comparator 63.
  • the search is an operation of referring to a desired search key (data string to be searched) with respect to data stored in a storage device such as a memory (memory unit 62 in the example of FIG. 5).
  • a storage device such as a memory (memory unit 62 in the example of FIG. 5).
  • the search key 55_23_75_A4_53_10_89_bd is stored in the memory unit 62 and PortB (the output destination is set to the communication device 14b) is defined as an action when a hit occurs.
  • the search key 55_23_75_A4_53_10_89_bd is input to the search unit 51a, the search key is searched from the memory unit 62 and hits, so Port B is output as an action.
  • Such a search operation is necessary when executing various applications that cause the path control unit 31 or the traffic monitoring unit 33 in FIG. 3 or the clustering unit 37 or the ranking unit 38 in FIG. 4 to function.
  • the search operation instruction
  • a search operation is performed using a special memory called TCAM 501 (FIG. 14).
  • the TCAM 501 is provided with an address comparator on the memory cell side, and performs a search operation by performing a process of comparing the data stored in the memory cell with the search key in all the memory cells.
  • the problem in the search using the TCAM 501 is that the power consumption is extremely large because all memory cells are accessed in parallel.
  • a search unit 51a capable of executing a search operation is provided in the single chip called the pocowatcher 11 so that the search operation can be executed without providing a special memory such as the TCAM 501.
  • the memory unit 62 has the same hardware configuration as that of a normal memory. That is, the memory unit 62 includes a memory cell array 621, a decoder 622, and a sense amplifier & selector 623.
  • the decoder 622 restores the encoded data (input address).
  • the decoder 622 develops a binary signal. For example, if there are N bits, the decoder 622 expands them to 2N. Then, the decoder 622 selects the position of the memory cell array 621 based on the developed value, writes data to the selected position, or reads data from the selected position.
  • the sense amplifier & selector 623 includes a sense amplifier that amplifies data read from the memory cell array 621 and a selector that selects data read from the memory cell array 621 according to an address signal.
  • the memory unit 62 alone has all the operations (commands) for writing and reading, and does not have a search operation (command). Therefore, when the search operation is realized by using a normal memory (memory unit 62) as in the case of the pocowatcher 11 of the present embodiment, it is necessary to handle the input search key as an address.
  • the memory address as search key data
  • the memory data as an action
  • the action data can be obtained from the memory.
  • the total memory capacity is 2 ⁇ 64 ( ⁇ 16 ⁇ 10 ⁇ 18), which is much larger than the memory capacity that can be realized in the semiconductor technology at the time of filing this application.
  • the search unit 51a of the present embodiment further includes a hash generator 61 in addition to the memory unit 62.
  • the hash generator 61 reduces the bit length of the input search key using a hash function. For example, the hash generator 61 compresses an input having a search key 64-bit length into an output having a 16-bit width.
  • the search unit 51a of the present embodiment reduces the searchable bit length by the internal hash generator 61, and enables the search operation while taking into consideration the limitation and limit of the mounting capacity of the memory unit 62. It is.
  • the search unit 51 a of the present embodiment further includes a comparator 63 in addition to the hash generator 61 and the memory unit 62.
  • the comparator 63 reads the search key written in addition to the action result at the time of reading from the memory cell array 621 via the sense amplifier & selector 623, compares the read search key with the input search key, and finally Judge hit / miss.
  • Patent Document 3 For further details of the search unit 51a, refer to Patent Document 3.
  • the search unit 51a not only the search unit 51a but also a statistical information processing unit 52a and a calculation unit 53a are further provided.
  • a search unit 51a when only the search unit 51a is used, there is a problem that the search table that varies depending on the application is less flexible. For example, when an IP address in a network device such as a router is used as a search table, IPv4 requires a capacity for storing data of about several million entries. In the case of IPv6, the search key is up to 64b, but since the number of entries is large, a large search table is required.
  • the pocowatcher 11 of FIG. 5 is further provided with not only the search unit 51a but also a statistical information processing unit 52a and a calculation unit 53a.
  • a method of accumulating the data amount of each flow and determining the output port in consideration of the data amount is adopted in the forwarding. According to this method, if there are many hits for a specific flow, the output port is biased and the traffic is congested. To avoid this congestion, the number of times each flow was hit and the amount of traffic that flowed It is necessary to process to count. That is, a process for accumulating statistics and building an efficient network is required.
  • the pocowatcher 11 in FIG. 5 is further provided with not only the search unit 51a but also a statistical information processing unit 52a and a calculation unit 53a.
  • the statistical information processing unit 52a includes a memory unit 71 in order to accumulate statistical information necessary for the above-described processing.
  • the memory unit 71 has the same hardware configuration as a normal memory. That is, the memory unit 71 includes a memory cell array 711, a decoder 712, and a sense amplifier & selector 713. As described above, since the memory unit 71 for storing statistical information is not a special memory cell but a normal memory cell, the configuration of FIG. 5 can be realized by a single chip called the pocowatcher 11.
  • the memory unit 71 stores information corresponding to the flow hit in the search unit 51a (search engine) in order to store statistical information. That is, the memory unit 71 associates an address with each search key hit and accumulates statistical information at the address.
  • the calculation unit 53a inputs the hit / miss determination result by the comparator 63, and if it is a hit, reads the unique address corresponding to the search key of the hit, and accesses the memory unit 71 according to the read address. Read statistical information.
  • the adder 81 of the arithmetic unit 53 updates the data by adding the statistical information read in this way, and writes it back to the same address in the memory unit 71.
  • the adder 81 is a device that adds data to the read data.
  • the adder 81 adds only when there is a hit in the search unit 51a.
  • the adder 81 adds 1 when the statistical information is the number of packets.
  • the adder 81 describes the read data in the packet header. Add packet size.
  • Statistic information is accumulated in the memory unit 71 by such a series of operations.
  • the pocowatcher 11b in the example of FIG. 6 includes a search unit 51b, a statistical information processing unit 52b, and a calculation unit 53b.
  • the memory unit 62 of the search unit 51b and the memory unit 91 of the statistical information processing unit 52b are integrally formed.
  • the hash generator 61 inputs data (search key) such as a destination inputted from the outside to the hash function to reduce the number of bits.
  • the degenerated data is used as an address of the memory (memory unit 62 and memory unit 91). If the search result action is input to the memory data, the search operation can be realized. When an action is read from the memory cell array 621 on the search unit 51b side, the statistical data described in the same row is read from the memory cell array 911 on the statistical information processing unit 52b side. If the search result is a hit, the calculation unit 53 updates the read statistical information and writes it back to the same row in the memory cell array 911 on the statistical information processing unit 52b side. On the other hand, when the statistical information is read, a search key is input, and among the statistical information stored in the memory cell array 911, the statistical information stored at the address corresponding to the search key is read.
  • FIG. 7 shows an enlarged view of the memory cell array 911, the sense amplifier & selector 912, and the calculation unit 53b in the pocowatcher 11b in the example of FIG.
  • each memory cell (memory cell composed of a word line and two bit lines) constituting the memory cell array 911 is connected to two sense amplifiers, a selector, and an adder 81. Yes. Therefore, although not shown, the adder 81 can be inserted into the memory unit 91. In this case, the time from reading to writing back can be shortened.
  • FIG. 8 is a schematic diagram for explaining a router function combining the functions of the path control unit 31 and the buffer unit 34 of FIG.
  • the path control unit 31 can be realized by the configuration of the example of FIG. 5 or the example of FIG. 6 of the poco watcher 11 as described above.
  • Input data (such as a packet) for setting the route to the route control unit 31 is input to the input buffer 34IN of the buffer unit 34.
  • the data (packets and the like) routed by the route control unit 31 is an output buffer connected to the routed output port among a plurality of output ports (output ports # 1 to # 4 in the example of FIG. 8).
  • 34OUT in the example of FIG. 8, one of the four output buffers 34OUT) is input.
  • the output buffer 34OUT employs a queue configuration to output data with high priority first. That is, by dividing the output buffer 34OUT into FIFOs having the number of queues, it is possible to control the FIFO queues input according to the priority.
  • the FIFO can be configured with standard memory.
  • the poco watcher 11 is configured so that the search engine (the search unit 51a in FIG. 5 and the search unit 51b in FIG. 6) includes the standard memory (the memory unit 62 in FIG. 5 and FIG. 6), and , A memory for storing statistical information (the memory unit 71 in FIG. 5 and the memory unit 91 in FIG. 6 are also configured by a standard memory.
  • the network functions required in the data plane of the router or network switch that is, path control, bandwidth control, traffic control, buffer, and access control can be realized by the one-chip pocowatcher 11 (FIG. 3). reference).
  • the route control can be realized mainly by the configuration (search engine or the like) shown in FIG. 5 or 6 as described above. That is, in the route control, the destination address of the input packet is input to the search units 51a and 51b, and the packet is output to a specific output buffer 340UIT (see FIG. 8) according to the action output from the search units 51a and 51b.
  • the configuration search engine or the like shown in FIG. 5 or 6 as described above. That is, in the route control, the destination address of the input packet is input to the search units 51a and 51b, and the packet is output to a specific output buffer 340UIT (see FIG. 8) according to the action output from the search units 51a and 51b.
  • the bandwidth control can be realized by the FIFO queue of the output buffer 34OUT in FIG. That is, the amount of data to be output is limited by the FIFO provided in the output buffer 34OUT. If the amount of data input from the input buffer 34IN is larger, the data is stored in the FIFO of the output buffer 34OUT.
  • Traffic monitoring can be realized by analyzing statistical information stored in the memory unit 71 of FIG. 5 or the memory unit 91 of FIG. That is, traffic monitoring is performed by reading data stored in the memory unit 71 of the statistical information processing unit 52a and the memory unit 91 of the statistical information processing unit 52b and checking each data value. For example, it is checked from the read data that there is a lot of specific data or the specific data suddenly increases. Note that the operation subject of the check is, for example, the CPU 13 in FIG.
  • the buffer can be realized by a FIFO or the like as described above (see FIG. 8). That is, the buffer temporarily stores data until the route of the input packet is determined. Similar to the bandwidth control, data is accumulated in the FIFO until output.
  • Access control can be realized by a search engine. Details of the access control will be described later with reference to FIG.
  • the information processing system can easily expand the network function by simply connecting the pocowatcher 11 configured with one chip to the network processor 12.
  • a packet input from the outside is input from a predetermined communication device (for example, the communication device 14a in FIG. 14), and the destination is determined by the network processor 12 functioning as a switch chip.
  • the communication device for example, the communication device 14b in FIG. 14
  • the same communication device for example, the communication device 14a in FIG. 14.
  • special memories TCAM 501 and SRAM 502 are required in addition to the DRAM 503 in FIG.
  • the pocowatcher 11 that realizes network functions such as path control, bandwidth control, access control, traffic monitoring, and buffer in one chip is simply connected to the network processor 12. Network functions can be easily expanded.
  • the poco watcher 11 is inserted between the communication device 14 a and the network processor 12.
  • the constituent parts of the example of FIG. 5 or FIG. 6 of the pocowatcher 11 accumulate the statistical information of the packet, and output the statistical information in response to a request from the CPU 13.
  • the CPU 13 determines whether or not the flow is biased based on the statistical information.
  • the determination result is fed back to the network processor 12 functioning as a switch chip.
  • the network processor 12 controls selection of a port to which a packet is output based on the feedback above. In this way, path control is realized by the pocowatcher 11.
  • the pocowatcher 11 can also be used as a buffer for temporarily storing externally input packets.
  • the pocowatcher 11 can also be used as a buffer when outputting a packet. In this way, band control for limiting the amount of output data is realized by the pocowatcher 11.
  • the pocowatcher 11 is arranged on the network processor 12 side, so that the performance of the network processor 12 can be supplemented.
  • the expansion of the buffer function, the expansion of statistical information, the expansion of path control, and the like can be realized as the expansion of the network function of the network processor 12.
  • the expansion of the statistical information means, for example, increasing the function that can only hold the statistical information for each input port for each flow. Such expansion of statistical information increases the number of types of statistics, thus enabling fine control.
  • the information processing system can take the configuration example of FIG. 2B as an application for monitoring only packets input from the WAN, which is an external network (not shown), or output to the WAN side. .
  • search engines are used for a variety of applications.
  • the search engine can be applied to pattern authentication such as face authentication.
  • the bit width of the input search key depends on the application. Therefore, by adopting a method of increasing the bit width of the search key, it becomes possible to deal with all applications, which seems advantageous at first glance.
  • the time for inputting the search key becomes redundant, which eventually causes a problem of deteriorating system performance.
  • a memory capacity for comparison with the search key is required, and extra resources are consumed. In the case of the same memory capacity, there is a problem that the number of entries is reduced.
  • search engine of the above-described embodiment that is, the search unit 51a in the example of FIG. 5 and the search unit 51b in the example of FIG. 6, it is difficult to solve these problems. Therefore, in order to solve these problems, it is preferable to employ a search engine whose configuration can be switched by a mode register. This doubles the number of search key bits instead of halving the number of entries. By switching the configuration according to the application, a single device (Pocowatcher 11) can provide an optimal configuration for various applications.
  • FIG. 9 shows a hardware configuration example of the search engine of the poco watcher 11 and shows an example different from those shown in FIGS.
  • the search unit 51 c includes an address conversion circuit 91, a main search unit 92 ⁇ / b> A, a main search unit 92 ⁇ / b> B, and a selection circuit 93.
  • each of the main search unit 92A and the main search unit 92B has basically the same function and configuration as the search unit 51a in the example of FIG. 5, detailed description thereof will be omitted.
  • the search engine is divided into two parts, a main search unit 92A and a main search unit 92B.
  • the mode set (mode register signal) is input to the address conversion circuit 91 and the selection circuit 93. That is, the input address is switched by the mode conversion in the address conversion circuit 91, and the search result is switched by the mode set in the selection circuit 93.
  • the address conversion circuit 91 performs the same search for the two divided search engines, that is, the main search unit 92A and the main search unit 92B. Enter the key.
  • the action result in which the hit signal is active is selected and output as a search result by the selection circuit 93.
  • the selection circuit 93 outputs a miss.
  • the address conversion circuit 91 divides the input search key into the first half bit and the second half bit, and the first half bit is divided. While making it input into the main search part 92A, the latter half bit is input into the main search part 92B.
  • the selection circuit 93 When the hit signal is active from each of the main search unit 92A and the main search unit 92B, the selection circuit 93 outputs an action result as a hit.
  • the selection circuit 93 outputs a miss.
  • the search engine is divided into two, but the number of search engines is not particularly limited to this, and may be divided into four, for example. In the case of four divisions, the number of entries can be switched between 1, 2 and 4 times.
  • the black list method is a method that excludes search key information including a known bit string described in the black list and outputs other information.
  • the white list method is a method for outputting search key information described in the white list.
  • the black list method it is assumed that a bit string whose upper 3 bits are “000” in the 4-bit search key is described in the black list. In this case, it is necessary to exclude search results having both search keys “0001” and “0000”. In this case, “0001” and “0000” may be input to the search engine twice as search keys and the search results may be output respectively.
  • top candidates For example, it is an application that searches for directions to a museum and outputs a plurality of candidates as search results. Even when a plurality of candidates are output as search results, a mask function may be added to the search key.
  • FIG. 10 is a hardware configuration example of the search engine of the poco watcher 11 and shows an example different from that of FIGS. 5, 6, and 9.
  • the search unit 51d includes a main search unit 101A, a main search unit 101B, and a selection circuit 102.
  • each of the main search unit 101A and the main search unit 101B has basically the same function and configuration as the search unit 51a in the example of FIG. 5, detailed description thereof will be omitted.
  • the search key is masked, the number of bits of the input search key is reduced.
  • the configuration shown in FIG. 10 is adopted.
  • the selection circuit 102 outputs a result from the search engine corresponding to the search table corresponding to the mask.
  • the optimal device It is possible to provide a watcher 11).
  • a method of changing specifications by switching the function of a search engine with a mode set or the like is suitable, but the method is not limited to this method.
  • a method using a plurality of LSIs (Pocowatcher 11) on which one search engine is mounted may be employed.
  • FIG. 11 is an information processing system according to an embodiment of the present invention, and shows a configuration example of an information processing system using two search engines.
  • each of the search engines 111A and 111B is connected to the search engine controller 110 of the network processor 12.
  • the capacity of the search table that is, the number of entries can be doubled.
  • the search engine controller 110 confirms the search results output from each of the two search engines 111A and 111B, and uses the hit one of the two search engines 111A and 111B. By operating in this way, the search table can be enlarged.
  • the search engine controller 110 can also determine whether writing has succeeded. However, since the same functions as those of the search engines 111A and 111B are provided in the search engine controller 110, resources are often insufficient. It's also a wasteful resource, so it's not a wise method. Conversely, the search table can be easily expanded by using the write completion signal. In the above example, the example in which the search table is doubled has been shown. However, the present invention is not particularly limited to this. If the number of search engines (LSIs) is increased, the search table is proportionally increased. Can be easily expanded.
  • LSIs number of search engines
  • the poco watcher 11 is mounted together with a CPU and a network controller on a substrate in a server or a PC (one housing), but the mounting form is not particularly limited to this.
  • the pocowatcher 11 may be configured as one device (one housing) and connected to another device (one housing).
  • FIG. 13 is a block diagram illustrating an example of the configuration of the information processing system according to the embodiment of the present invention, which is different from the examples of FIGS. 1 and 2.
  • the pocowatcher 11 is connected between the L2 switch 203 connected to the router 202 and the plurality of PCs 204a to 204d.
  • the network controller 201 is connected to each of the router 202, the L2 switch 203, and the pocowatcher 11.
  • the pocowatcher 11 is connected between the router 202 and each of the two L2 switches 203A and 203B.
  • the network controller 201 is connected to the router 202 and the poco watcher 11.
  • a plurality of PCs 204a to 204c are connected to the L2 switch 203A.
  • a plurality of PCs 204d to 204f different from these are connected to the L2 switch 203B.
  • FIG. 14 is a block diagram illustrating an example of a configuration of an information processing system according to an embodiment of the present invention, which is different from the examples of FIGS. 1, 2, and 13.
  • the network controller 401 in the example of FIG. 14 is a device that provides an overview of information about the entire network N. That is, the information processing system in the example of FIG. 14 implements SDN (Software Defined Network). In order to realize the SDN, the network controller 401 needs to acquire the status of each device that configures the network N, and control each device based on the obtained information.
  • SDN Software Defined Network
  • the network controller 401 and the devices constituting the network N directly communicate with each other, it is very difficult to realize SNS due to the following factors. Met. The first factor is that each device is provided by a separate manufacturer. Furthermore, some devices support SDN and some do not. The second factor is that the router will be simplified more and more due to future technological trends, for example, by NFV (Network Function-Virtualization) FV. Therefore, in the information processing system of the example of FIG. 14, the poco watchers 11-1 to 11-5 are connected to individual devices constituting the network N, and the network controller 401 and the poco watchers 11-1 to 11-5 are connected. (Hereinafter, these are collectively referred to as “Pocowatcher 11”).
  • NFV Network Function-Virtualization
  • the pocowatcher 11 monitors traffic (data collection) and executes various controls. That is, the pocowatcher 11 transmits traffic data to the network controller 401, and conversely receives control data from the network controller 401. As described above, the pocowatcher 11 monitors the traffic of the connected devices among the individual devices, acquires the data and transmits the data to the network controller 401, and the network controller 401 analyzes the data of the individual devices to individually When the control information is generated and transmitted to the device, the control information is received, and the connected device is controlled based on the control information.
  • the memory device to which the present invention is applied only needs to have the following configuration, and can take various embodiments including the above-described embodiment. That is, the memory device to which the present invention is applied is A memory device composed of a single chip (for example, the pocowatcher 11 in FIGS. 1 and 2), Among network functions, at least path control, bandwidth control, traffic monitoring, buffer, and access control function (for example, having the functional configuration of FIG. 3) Any memory device may be used. By adopting a memory device having such a configuration, network functions can be easily expanded with low cost and low power consumption when commoditizing NFV and networks.
  • the memory device A search unit having a first memory unit (for example, the memory unit 62 in FIGS. 5 and 6) and performing a search operation for referring to the input search key for the data stored in the first memory unit.
  • a first memory unit for example, the memory unit 62 in FIGS. 5 and 6
  • a second memory unit for example, the memory unit 71 of FIG. 5 or the memory unit 91 of FIG. 6 that stores the statistical information of the address by associating the address of the first memory unit with each search key hit in the search unit.
  • a statistical information processing unit for example, the statistical information processing units 52a and 52b in FIGS. 5 and 6
  • An arithmetic unit e.g., arithmetic units 53a and 53b in FIGS. 5 and 6) that updates the statistical information every time it is hit by the search unit; Can be provided.
  • the search unit (for example, the search unit 51c in FIG. 9) can have a function of changing the bit width of the search key.
  • the search unit (for example, the search engines 111A and 111B in FIG. 11) can have a function of outputting a determination signal indicating whether information writing is successful or unsuccessful.
  • the search unit (for example, the search unit 51d in FIG. 10) can selectively execute the access control of the white list method and the access control of the black list method.
  • the memory devices are provided to be connected to each of the individual devices,
  • the memory device for example, the poco watchers 11-1 to 11-5 in FIG.
  • the network controller analyzes the data of the individual device and generates and transmits control information to the individual device, the network controller receives the control information, and based on the control information, receives the control information of the individual device.
  • the pocowatcher 11 can be embodied as a network-specific DDR DRAM as described above, but as shown in FIG. 16, it is embodied as a general-purpose DDR DRAM with a network function selectively attached thereto. be able to.
  • the general-purpose DRAM means a DRAM standardized by JEDEC.
  • the pocowatcher 11c of FIG. 16 is formed in a DDR DRAM, and has a configuration that can be used by selectively switching between a network and a general-purpose PC.
  • the hash generator 61 is provided outside the DDR DRAM, but other network units 601 such as the memory units 62 and 81, the comparator 68, and the adder 82 are formed in the DDR DRAM.
  • the network function unit 601 has the functional configuration shown in FIG.
  • the DDR DRAM is provided with a selector 602. That is, when the selector 602 is switched to the upper route in FIG.
  • the selector 602 when the selector 602 is switched to the upper route in FIG. 16, that is, the route directly from the memory units 62 and 81 to the selector 602, it functions as a general-purpose DDR DRAM.
  • the selector 602 it is preferable to use at least one of a metal mask and an address key.
  • FIG. 17 is a diagram showing a connection state of the poco watcher 11c (functioning as a network DDR DRAM) in FIG.
  • a poco watcher 11c (functioning as a network DDR DRAM) can be connected to a controller 701 as an IP of an FPGA or ASIC.
  • a function capable of parallel comparison like TCAM can be realized.
  • the general-purpose DRAM is originally provided with a comparator group 712 for use in the test mode in addition to the memory unit 711. This comparator group 712 can be used for the network function unit 601 in FIG. 16 as it is.
  • FIG. 18 is a comparison diagram of a configuration example of a conventional information processing system for realizing a network function and a configuration example of an information processing system including the pocowatcher 11c (functioning as a network DDR DRAM) in FIG. .
  • FIG. 18A shows a configuration example of a conventional information processing system for realizing a network function.
  • a plurality of TCAMs, RLDRAMs, QDR / DDR SRAMs are connected to NP, ASIC, FPGA, and the like.
  • the network function is realized.
  • a plurality of TCAMs, RLDRAMs, and QDR / DDR SRAMs are expensive components with high power consumption. These components are expected to remain expensive because the market size is small and the price will not drop (no scale merit). Furthermore, there is a demerit that separate interfaces from NP, ASIC, FPGA, etc. to these components are also required.
  • FIG. 17B shows a configuration example of an information processing system including the pocowatcher 11c (functioning as a network DDR DRAM) of FIG. 16 to which the present invention is applied. All of the network functions (FIG. 3) are inserted in the poco watcher 11c.
  • the pocowatcher 11c is formed on a general-purpose DDT2 (3,4) DRAM. That is, the selector 602 (FIG. 16) is realized by at least one of the metal mask (wiring layer) and the address key (mode register), and the DDT2 DRAM is switched between the general-purpose PC and the network.
  • the comparator group 712 is provided in advance in the DDT2 DRAM for use in the test mode (FIG.
  • Pocowatcher 12 ... Network processor, 31 ... Path control unit, 32 ... Band control unit, 33 ... Traffic monitoring unit, 34 ... Buffer unit 35 ... Access control unit 36 ... Main control unit 37 ... Clustering unit 38 ... Ranking unit 39 ... Minning unit 51a, 51b, 51c, 51d ... Search unit 52a, 52b ... statistical information processing unit, 53a, 53b ... calculation unit, 62 ... memory unit, 71 ... memory unit, 81 ... adder, 91 ... memory unit, 92A , 92B, 101A, 101B ... main search unit, 111A, 111B ... search engine, 601 ... network function unit, 602 ... selector, 712 ... comparator group

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention makes it possible to easily realize the extension of a network function at low cost and with low power consumption on the occasion of network functions virtualization (NFV) or network commoditization. A poco-watcher 11 configured from a single chip has a functional configuration including a route control unit 31, a band control unit 32, a traffic monitoring unit 33, a buffer unit 34, and an access control unit 35 so that at least route control, band control, traffic monitoring, buffering, and access control among network functions can be exhibited.

Description

メモリ機器Memory equipment
 本発明は、メモリ機器に関する。 The present invention relates to a memory device.
 従来、パーソナルコンピュータ(以下、「PC」と適宜略記する)やサーバは、限られたメーカによって製造販売されるIT機器であった。ところが、近年では、プロセッサやメモリ等、機器内部で使用されるコンポーネントが汎用化したため、誰でもが組立可能なIT機器に変貌した。
 加えて、PCやサーバは、OSをはじめアプリケーションソフトウェアもコモディティ化し、誰もが開発者や技術提案者になることが可能なオープンプラットフォームを採用したものが一般的になっている。
 このような現状のPCやサーバ等のシステムのように、装置の筐体は異なっても内部仕様は構成が可視化されたシステムは、「White Box」等と呼ばれている。
Conventionally, personal computers (hereinafter abbreviated as “PC” as appropriate) and servers are IT devices that are manufactured and sold by limited manufacturers. However, in recent years, components used inside the equipment, such as processors and memories, have become general-purpose, so that it has been transformed into IT equipment that anyone can assemble.
In addition, PCs and servers are generally adopting an open platform that allows anyone to become a developer or a technical proposer by commoditizing OS and application software.
A system in which the configuration of the internal specifications is visualized even if the housing of the apparatus is different, such as a system such as a current PC or server, is called “White Box” or the like.
 ルータやスイッチ等ネットワーク機器(例えば特許文献1乃至3参照)も、従来、限られたメーカのみによって支配される特殊なIT機器市場であったが、NFV(Network Functions Virtualization)という言葉が近年登場しているように、その近年の動向は、PCやサーバと同様である。
 例えば、低コスト型のエンタープライズ向け機種等については、プロセッサやメモリのコモディティ化によって、誰でもが製造できるオープンプラットフォーム化が徐々に浸透しつつある。
Conventionally, network devices such as routers and switches (see, for example, Patent Documents 1 to 3) have also been special IT equipment markets that are dominated by only a limited number of manufacturers. However, the term NFV (Network Functions Virtualization) has recently appeared. As shown, the recent trends are the same as those of PCs and servers.
For example, low-cost enterprise models are becoming increasingly popular as open platforms that anyone can manufacture due to the commoditization of processors and memory.
特開2013-38536号公報JP 2013-38536 A 特開2012-27998号公報JP 2012-27998 A 特許第4934825号公報Japanese Patent No. 4934825
 しかしながら、NFVやネットワークのコモディティ化に際して、ネットワーク機能の拡張、例えば検索を伴う経路制御等の拡張が必要である。
 この場合、図15に示す様に、特殊なメモリ等、高価で消費電力も大きいコンポーネントが複数個必要であった。
However, when making NFV and network commoditized, it is necessary to expand network functions, for example, route control with search.
In this case, as shown in FIG. 15, a plurality of expensive components with high power consumption such as a special memory are required.
 図15は、ネットワーク機能を実現するための従来の情報処理システムの構成例を示すブロック図である。
 例えば、図15に示す従来の情報処理システムは、サーバやPCに内蔵される基板上に実装される。
 従来の情報処理システムは、ネットワークプロセッサ12と、CPU13と、複数個(図15の例では4個)の通信デバイス14a乃至14dと、TCAM501と、SRAM502と、DRAM503とを備えている。
 従来の情報処理システムでは、ネットワークプロセッサ12の機能を拡張する場合、様々なメモリが必要である。例えば、経路制御及びトラヒック監視の実現のためにTCAM501が使用され、経路制御、帯域制御、及びトラヒック監視のためにSRAM502が使用され、バッファとして大容量可能なDRAM503が使用されていた。
 これらのTCAM501と、SRAM502と、DRAM503とは、高価で消費電力も大きいコンポーネントである。
FIG. 15 is a block diagram illustrating a configuration example of a conventional information processing system for realizing a network function.
For example, the conventional information processing system shown in FIG. 15 is mounted on a substrate built in a server or a PC.
The conventional information processing system includes a network processor 12, a CPU 13, a plurality of (four in the example of FIG. 15) communication devices 14a to 14d, a TCAM 501, an SRAM 502, and a DRAM 503.
In the conventional information processing system, when the function of the network processor 12 is expanded, various memories are required. For example, the TCAM 501 is used for realizing the path control and traffic monitoring, the SRAM 502 is used for the path control, bandwidth control, and traffic monitoring, and the DRAM 503 capable of a large capacity is used as a buffer.
These TCAM 501, SRAM 502, and DRAM 503 are expensive components that consume a large amount of power.
 本発明は、このような状況に鑑みてなされたものであり、NFVやネットワークのコモディティ化に際して、安価かつ低消費電力で、ネットワーク機能の拡張を容易に実現可能にすることを目的とする。 The present invention has been made in view of such a situation, and an object of the present invention is to make it possible to easily extend network functions at low cost and with low power consumption when commoditizing NFV and networks.
 本発明の一態様のメモリ機器は、
 シングルチップで構成されるメモリ機器であって、
 ネットワーク機能のうち少なくとも、経路制御、帯域制御、トラヒック監視、バッファ、及びアクセス制御が機能する、
 メモリ機器である。
A memory device of one embodiment of the present invention includes:
A memory device composed of a single chip,
Among network functions, at least routing control, bandwidth control, traffic monitoring, buffer, and access control function.
It is a memory device.
 ここで、メモリ機器は、
 第1メモリ部を有し、前記第1メモリ部に蓄積されたデータに対して、入力された検索キーを参照する検索動作を実行する検索部と、
 前記検索部においてヒットした検索キー毎に前記第1メモリ部のアドレスを対応させ、当該アドレスの統計情報を記憶する第2メモリ部を有する統計情報処理部と、
 前記検索部によりヒットする毎に前記統計情報を更新する演算部と、
 を備えることができる。
Here, the memory device
A search unit that includes a first memory unit, and executes a search operation for referring to an input search key for data stored in the first memory unit;
A statistical information processing unit having a second memory unit that associates an address of the first memory unit with each search key hit in the search unit and stores statistical information of the address;
An arithmetic unit that updates the statistical information every time it is hit by the search unit;
Can be provided.
 前記検索部は、検索キーのビット幅を可変できる機能を有する、
 ことができる。
The search unit has a function of changing a bit width of a search key;
be able to.
 前記検索部は、情報の書き込みが成功か不成功かを示す判定信号を出力する機能を有する、
 ことができる。
The search unit has a function of outputting a determination signal indicating whether writing of information is successful or unsuccessful,
be able to.
 前記検索部は、ホワイトリスト方式の前記アクセス制御と、ブラックリスト方式の前記アクセス制御とを選択的に実行する、
 ことができる。
The search unit selectively executes the access control of a white list method and the access control of a black list method.
be able to.
 ネットワークを構成する個々の装置と、当該個々の装置を制御するネットワークコントローラとを含む情報処理システム内に、前記メモリ機器は、前記個々の装置毎に1つずつ接続されて設けられ、
 前記メモリ機器は、
  前記個々の装置のうち接続されたもののトラヒックを監視してデータを取得して前記ネットワークコントローラへ送信する機能と、
  前記ネットワークコントローラにおいて前記個々の装置のデータが解析されて前記個々の装置への制御情報が生成されて送信されてきた場合、当該制御情報を受信し、当該制御情報に基づいて前記個々の装置のうち接続されたものを制御する機能と、
 を備えることができる。
In an information processing system including individual devices that constitute a network and a network controller that controls the individual devices, the memory device is provided by being connected to each individual device,
The memory device is
A function of monitoring the traffic of connected ones of the individual devices to acquire data and transmitting it to the network controller;
When the network controller analyzes the data of the individual device and generates and transmits control information to the individual device, the network controller receives the control information, and based on the control information, receives the control information of the individual device. The ability to control what is connected,
Can be provided.
 前記メモリ機器は、
 メモリ部と、
 前記ネットワーク機能を発揮させるネットワーク機能部と、
 前記メモリ部と前記ネットワーク機能部との第1ルートと、前記メモリ部の第2ルートとを切替えるセレクタ部と、
 を備えることができる。
The memory device is
A memory section;
A network function unit for exerting the network function;
A selector unit that switches between a first route between the memory unit and the network function unit and a second route of the memory unit;
Can be provided.
 前記セレクタ部は、メタルマスクとアドレスキーのうち少なくとも一方により実現される、
 ようにすることができる。
The selector unit is realized by at least one of a metal mask and an address key.
Can be.
 前記ネットワーク機能部は、前記メモリ部に対するテストモード用の比較器群により構成される、
 ようにすることができる。
The network function unit is configured by a comparator group for a test mode for the memory unit.
Can be.
 本発明によれば、NFVやネットワークのコモディティ化に際して、安価かつ低消費電力で、ネットワーク機能の拡張が容易に実現可能になる。 According to the present invention, network functions can be easily expanded with low cost and low power consumption when commoditizing NFV and networks.
本発明の一実施形態に係る情報処理システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the information processing system which concerns on one Embodiment of this invention. 本発明の一実施形態に係る情報処理システムの構成例であって、図1の例とは異なる例を示すブロック図である。It is a block diagram which shows the example of a structure of the information processing system which concerns on one Embodiment of this invention, Comprising: The example different from the example of FIG. 図1又は図2の情報処理システムのポコウォッチャの機能のうち、ネットワーク機能を実現するための機能ブロック図である。FIG. 3 is a functional block diagram for realizing a network function among the functions of the pocowatcher of the information processing system of FIG. 1 or FIG. 2. 図1又は図2の情報処理システムのポコウォッチャの機能のうち、マイニング機能を実現するための機能ブロック図である。FIG. 3 is a functional block diagram for realizing a mining function among the functions of the pocowatcher of the information processing system of FIG. 1 or FIG. 2. 図1又は図2の情報処理システムのポコウォッチャのハードウェア構成のうち、図3の経路制御部若しくはトラヒック監視部、又は図4のクラスタリング部若しくはランキング部が機能する場合に動作するハードウェア構成の一例を示す図である。Of the hardware configuration of the pocowatcher of the information processing system in FIG. 1 or FIG. 2, the hardware configuration that operates when the path control unit or traffic monitoring unit in FIG. 3 or the clustering unit or ranking unit in FIG. 4 functions. It is a figure which shows an example. 図1又は図2の情報処理システムのポコウォッチャのハードウェア構成のうち、図3の経路制御部若しくはトラヒック監視部、又は図4のクラスタリング部若しくはランキング部が機能する場合に動作するハードウェア構成の一例であって、図5とは異なる例を示す図である。Of the hardware configuration of the pocowatcher of the information processing system in FIG. 1 or FIG. 2, the hardware configuration that operates when the path control unit or traffic monitoring unit in FIG. 3 or the clustering unit or ranking unit in FIG. 4 functions. FIG. 6 is a diagram illustrating an example different from FIG. 5. 図6の例のポコウォッチャのうち、メモリセルアレイ、センスアンプ&セレクター及び演算部の拡大図を示している。FIG. 7 shows an enlarged view of a memory cell array, a sense amplifier & selector, and a calculation unit in the pocowatcher in the example of FIG. 6. 図3の経路制御部とバッファ部との各機能を組合せたルーター機能を説明するための模式図である。It is a schematic diagram for demonstrating the router function which combined each function of the path | route control part and buffer part of FIG. 図1又は図2の情報処理システムのポコウォッチャの検索エンジンのハードウェア構成の一例であって、図5、図6とは異なる例を示す図である。FIG. 7 is a diagram illustrating an example of a hardware configuration of a search engine of the pocowatcher in the information processing system of FIG. 1 or 2, and illustrates an example different from FIGS. 5 and 6. 図1又は図2の情報処理システムのポコウォッチャの検索エンジンのハードウェア構成の一例であって、図5、図6、図9とは異なる例を示す図である。FIG. 10 is a diagram illustrating an example of a hardware configuration of a search engine of the pocowatcher in the information processing system of FIG. 1 or 2, and is a diagram illustrating an example different from FIGS. 本発明の一実施形態に係る情報処理システムであって、2つの検索エンジンを用いた情報処理システムの構成例を示す図である。It is an information processing system concerning one embodiment of the present invention, and is a figure showing an example of composition of an information processing system using two search engines. 図11の情報処理システムの動作例を示す図である。It is a figure which shows the operation example of the information processing system of FIG. 本発明の一実施形態に係る情報処理システムの構成例であって、図1や図2の例とは異なる例を示すブロック図である。FIG. 3 is a block diagram illustrating an example of a configuration of an information processing system according to an embodiment of the present invention, which is different from the examples of FIGS. 1 and 2. 本発明の一実施形態に係る情報処理システムの構成例であって、図1、図2、図13の例とは異なる例を示すブロック図である。FIG. 14 is a block diagram illustrating an example of a configuration of an information processing system according to an embodiment of the present invention, which is different from the examples of FIGS. 1, 2, and 13. ネットワーク機能を実現するための従来の情報処理システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the conventional information processing system for implement | achieving a network function. 図1又は図2の情報処理システムのポコウォッチャの別の構成例を示すブロック図である。It is a block diagram which shows another structural example of the pocowatcher of the information processing system of FIG. 1 or FIG. 図16のポコウォッチャの接続の状態を示す図である。It is a figure which shows the state of the connection of the pocowatcher of FIG. ネットワーク機能を実現するための従来の情報処理システムの構成例と、図16のポコウォッチャを含む情報処理システムの構成例との比較図である。It is a comparison figure of the structural example of the conventional information processing system for implement | achieving a network function, and the structural example of the information processing system containing the pocowatcher of FIG.
 以下、本発明の実施形態について、図面を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
 図1は、本発明の一実施形態に係る情報処理システムの構成例を示すブロック図である。
 例えば、図1に示す情報処理システムは、サーバやPCに内蔵される基板上に実装される。
 情報処理システムは、本発明が適用される電子機器の一実施形態としてのポコウォッチャ11と、ネットワークプロセッサ12と、CPU13と、複数個(図1の例では4個)の通信デバイス14a乃至14dとを備えている。
FIG. 1 is a block diagram illustrating a configuration example of an information processing system according to an embodiment of the present invention.
For example, the information processing system shown in FIG. 1 is mounted on a substrate built in a server or a PC.
The information processing system includes a pocowatcher 11 as an embodiment of an electronic apparatus to which the present invention is applied, a network processor 12, a CPU 13, and a plurality (four in the example of FIG. 1) of communication devices 14a to 14d. It has.
 ネットワークプロセッサ12の機能を拡張する場合、従来においては上述した様に、様々なメモリが必要であった。例えば上述した図15の従来例では、経路制御及びトラヒック監視の実現のためにTCAM501が使用され、経路制御、帯域制御、及びトラヒック監視のためにSRAM502が使用され、バッファとして大容量可能なDRAM503が使用されていた。
 これに対して、本実施形態の情報処理システムにおいては、ポコウォッチャ11は、DRAMプロセスが可能なシングルチップで構成されているため、大容量なバッファにも対応可能である。このため、図1に示す様に、ポコウォッチャ11をネットワークプロセッサ12に接続するといった構成のみで、当該ネットワークプロセッサ12の機能を拡張させることができる。
When expanding the function of the network processor 12, conventionally, various memories are required as described above. For example, in the conventional example of FIG. 15 described above, the TCAM 501 is used for realizing the path control and traffic monitoring, the SRAM 502 is used for the path control, bandwidth control, and traffic monitoring, and the DRAM 503 capable of a large capacity as a buffer is provided. It was used.
On the other hand, in the information processing system according to the present embodiment, the pocowatcher 11 is configured by a single chip capable of a DRAM process, and therefore can cope with a large-capacity buffer. For this reason, as shown in FIG. 1, the function of the network processor 12 can be expanded only by connecting the pocowatcher 11 to the network processor 12.
 なお、情報処理システムの構成自体は、ネットワークプロセッサ12とポコウォッチャ11とが通信可能な構成であれば足り、図1の構成に特に限定されない。 The configuration of the information processing system is not particularly limited to the configuration of FIG. 1 as long as the network processor 12 and the pocowatcher 11 can communicate with each other.
 図2は、本発明の一実施形態に係る情報処理システムの構成例であって、図1の例とは異なる例を示すブロック図である。
 図2(a)の例の情報処理システムにおいては、図1の例の差異点として、通信デバイス14a乃至14dがポコウォッチャ11に接続されている。
 図2(b)の例の情報処理システムにおいては、図1の例の差異点として、図示せぬルータ等と接続される通信デバイス14eが、ポコウォッチャ11に接続されている。
 なお、図2(a),(b)の構成は、例示に過ぎず、例えば図示はしないが、ポコウォッチャ11を2個用意して、通信デバイス14eとネットワークプロセッサ12との間と、ネットワークプロセッサ12と通信デバイス14a乃至14dの間とに、夫々1個ずつポコウォッチャ11を同時に挿入してもよい。
FIG. 2 is a block diagram showing an example of the configuration of the information processing system according to the embodiment of the present invention, which is an example different from the example of FIG.
In the information processing system of the example of FIG. 2A, communication devices 14a to 14d are connected to the pocowatcher 11 as a difference from the example of FIG.
In the information processing system of the example of FIG. 2B, a communication device 14e connected to a router or the like (not shown) is connected to the poco watcher 11 as a difference from the example of FIG.
2A and 2B is merely an example, and for example, although not shown, two pocowatchers 11 are prepared, the communication device 14e and the network processor 12, and the network processor. The pocowatcher 11 may be inserted simultaneously between the communication device 12 and the communication devices 14a to 14d.
 図3は、ポコウォッチャ11の機能のうち、ネットワーク機能を実現するための機能ブロック図を示している。
 図3に示す様に、ポコウォッチャ11においては、経路制御部31と、帯域制御部32と、トラヒック監視部33と、バッファ部34と、アクセス制御部35と、主制御部36とが機能する。
FIG. 3 is a functional block diagram for realizing a network function among the functions of the pocowatcher 11.
As shown in FIG. 3, in the pocowatcher 11, a path control unit 31, a bandwidth control unit 32, a traffic monitoring unit 33, a buffer unit 34, an access control unit 35, and a main control unit 36 function. .
 経路制御部31は、従来のTCAM,HS SRAMにより実現されていた経路制御と同等機能を実現する。
 帯域制御部32は、従来のHS SRAM,LLDRAMにより実現されていた帯域制御と同等機能を実現する。
 トラヒック監視部33は、従来のTCAM,HS SRAMカウンター,ALUにより実現されていたトラヒック監視と同等機能を実現する。
 バッファ部34は、従来のDRAMと同等機能で、バッファを実現する。
 アクセス制御部35は、従来より実現されていたアクセス制御と同等機能を実現する。
 主制御部36は、経路制御部31乃至アクセス制御部35を含むポコウォッチャ11の全体の制御を実行する。
The route control unit 31 realizes the same function as the route control realized by the conventional TCAM and HS SRAM.
The bandwidth control unit 32 realizes the same function as the bandwidth control realized by the conventional HS SRAM and LLDRAM.
The traffic monitoring unit 33 realizes the same function as the traffic monitoring realized by the conventional TCAM, HS SRAM counter, and ALU.
The buffer unit 34 has a function equivalent to that of a conventional DRAM and realizes a buffer.
The access control unit 35 realizes the same function as the access control that has been realized conventionally.
The main control unit 36 performs overall control of the pocowatcher 11 including the path control unit 31 to the access control unit 35.
 図4は、ポコウォッチャ11の機能のうち、マイニング機能を実現するための機能ブロック図を示している。
 図4に示す様に、ポコウォッチャ11においては、上述の主制御部36の他、クラスタリング部37と、ランキング部38と、マイニング部39と、とが機能する。
FIG. 4 is a functional block diagram for realizing the mining function among the functions of the pocowatcher 11.
As shown in FIG. 4, in the pocowatcher 11, a clustering unit 37, a ranking unit 38, and a mining unit 39 function in addition to the main control unit 36 described above.
 クラスタリング部37は、従来より実現されていたクラスタリング制御と同等機能を実現する。
 ランキング部38は、従来より実現されていたランキング制御と同等機能を実現する。
 マイニング部39は、従来のより実現されていたマイニングと同等機能を実現する。
The clustering unit 37 realizes a function equivalent to the clustering control that has been conventionally realized.
The ranking unit 38 realizes a function equivalent to the ranking control that has been conventionally realized.
The mining unit 39 realizes the same function as the mining that has been realized conventionally.
 図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」と呼ぶ。
FIG. 5 shows an example of a hardware configuration that operates when the path control unit 31 or the traffic monitoring unit 33 in FIG. 3 or the clustering unit 37 or the ranking unit 38 in FIG. 4 functions among the hardware configurations of the pocowatcher 11. Is shown.
6 illustrates an example of a hardware configuration that operates when the path control unit 31 or the traffic monitoring unit 33 in FIG. 3 or the clustering unit 37 or the ranking unit 38 in FIG. 4 functions among the hardware configurations of the pocowatcher 11. However, an example different from the example of FIG. 5 is shown.
In order to clearly distinguish the example of FIG. 5 from the example of FIG. 6, hereinafter, the pocowatcher 11 of the example of FIG. 5 is particularly referred to as “pocowatcher 11a”, and the pocowatcher 11 of the example of FIG. This is called “Pocowatcher 11b”.
 図5の例のポコウォッチャ11aは、検索部51aと、統計情報処理部52aと、演算部53aとを有する。 5 includes a search unit 51a, a statistical information processing unit 52a, and a calculation unit 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が出力される。
The search unit 51 a is a so-called search engine, and includes a hash generator 61, a memory unit 62, and a comparator 63.
Here, the search is an operation of referring to a desired search key (data string to be searched) with respect to data stored in a storage device such as a memory (memory unit 62 in the example of FIG. 5). Say.
A case where a search key is found in the memory unit 62 is defined as a hit (Search hit), and a case where the search key cannot be found is defined as a miss (Search miss).
After the search hit, an action (or rule) is output from the memory unit 62.
Specifically, for example, it is assumed that the search key 55_23_75_A4_53_10_89_bd is stored in the memory unit 62 and PortB (the output destination is set to the communication device 14b) is defined as an action when a hit occurs. In this case, when the search key 55_23_75_A4_53_10_89_bd is input to the search unit 51a, the search key is searched from the memory unit 62 and hits, so Port B is output as an action.
 図3の経路制御部31若しくはトラヒック監視部33、又は図4のクラスタリング部37若しくはランキング部38等を機能させる様々なアプリケーションを実行する場合には、このような検索動作が必要になる。
 従来の通常のメモリによるハードウェア構成(図5のメモリ部62のみの構成)では、検索動作(命令)を実行することができない。このため、従来においては、ネットワークIPアドレスの検索等をする場合、TCAM501(図14)という特殊なメモリを用いて検索動作が行われていた。TCAM501は、メモリセルの側にアドレスの比較器を設け、メモリセルに蓄積されているデータと検索キーとを比較する処理を全てのメモリセルで行うことで、検索動作を行う。
 TCAM501を用いた検索における問題点は、全てのメモリセルに対して一斉並列にアクセスするため、消費電力が極めて大きいことである。
Such a search operation is necessary when executing various applications that cause the path control unit 31 or the traffic monitoring unit 33 in FIG. 3 or the clustering unit 37 or the ranking unit 38 in FIG. 4 to function.
In a conventional hardware configuration with a normal memory (a configuration with only the memory unit 62 in FIG. 5), the search operation (instruction) cannot be executed. Therefore, conventionally, when searching for a network IP address or the like, a search operation is performed using a special memory called TCAM 501 (FIG. 14). The TCAM 501 is provided with an address comparator on the memory cell side, and performs a search operation by performing a process of comparing the data stored in the memory cell with the search key in all the memory cells.
The problem in the search using the TCAM 501 is that the power consumption is extremely large because all memory cells are accessed in parallel.
 そこで、本実施形態では、TCAM501等の特殊なメモリを設けることなく検索動作が実行可能なように、ポコウォッチャ11というシングルチップ内に、検索動作を実行可能な検索部51aが設けられている。 Therefore, in the present embodiment, a search unit 51a capable of executing a search operation is provided in the single chip called the pocowatcher 11 so that the search operation can be executed without providing a special memory such as the TCAM 501.
 ここで、検索部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)となり、本願の出願当時の半導体技術において実現可能なメモリ容量よりもはるかに大きい。
Here, in the search unit 51a, the memory unit 62 has the same hardware configuration as that of a normal memory. That is, the memory unit 62 includes a memory cell array 621, a decoder 622, and a sense amplifier & selector 623.
The decoder 622 restores the encoded data (input address). Here, the decoder 622 develops a binary signal. For example, if there are N bits, the decoder 622 expands them to 2N. Then, the decoder 622 selects the position of the memory cell array 621 based on the developed value, writes data to the selected position, or reads data from the selected position.
The sense amplifier & selector 623 includes a sense amplifier that amplifies data read from the memory cell array 621 and a selector that selects data read from the memory cell array 621 according to an address signal.
In this manner, the memory unit 62 alone has all the operations (commands) for writing and reading, and does not have a search operation (command).
Therefore, when the search operation is realized by using a normal memory (memory unit 62) as in the case of the pocowatcher 11 of the present embodiment, it is necessary to handle the input search key as an address.
By defining the memory address as search key data, the memory data as an action, and inputting the search data as an address, the action data can be obtained from the memory. However, according to this method, when the bit width used as the search key is long, there is a problem that the memory capacity becomes enormous. For example, in the case of a 64-bit search key, the total memory capacity is 2 ^ 64 (≈16 × 10 ^ 18), which is much larger than the memory capacity that can be realized in the semiconductor technology at the time of filing this application.
 そこで、本実施形態の検索部51aは、メモリ部62に加えてさらに、ハッシュ生成器61を備えている。
 ハッシュ生成器61は、入力された検索キーを、ハッシュ関数を用いてビット長を縮小する。例えばハッシュ生成器61は、検索キー64ビット長の入力に対して、16ビット幅の出力に圧縮する。
 このように本実施形態の検索部51aは、検索可能なビット長を内部のハッシュ生成器61により縮小し、メモリ部62の搭載容量の制限や限界を加味しつつ、検索動作を可能とするものである。
Therefore, the search unit 51a of the present embodiment further includes a hash generator 61 in addition to the memory unit 62.
The hash generator 61 reduces the bit length of the input search key using a hash function. For example, the hash generator 61 compresses an input having a search key 64-bit length into an output having a 16-bit width.
As described above, the search unit 51a of the present embodiment reduces the searchable bit length by the internal hash generator 61, and enables the search operation while taking into consideration the limitation and limit of the mounting capacity of the memory unit 62. It is.
 ただし、検索キーが圧縮されているため異なるアドレスでありながら区別ができないという問題点がある。この問題点を解決すべく、本実施形態の検索部51aは、ハッシュ生成器61とメモリ部62とに加えてさらに、比較器63を備えている。
 比較器63は、メモリセルアレイ621からセンスアンプ&セレクター623を介する読出し時に、アクション結果に加えて書き込んでおいた検索キーを読み出し、読み出した検索キーと入力された検索キーとの比較を行い、最終的なヒット/ミスを判定する。
 なお、検索部51aのさらなる詳細は、特許文献3を参照するとよい。
However, since the search key is compressed, there is a problem that it cannot be distinguished even though the addresses are different. In order to solve this problem, the search unit 51 a of the present embodiment further includes a comparator 63 in addition to the hash generator 61 and the memory unit 62.
The comparator 63 reads the search key written in addition to the action result at the time of reading from the memory cell array 621 via the sense amplifier & selector 623, compares the read search key with the input search key, and finally Judge hit / miss.
For further details of the search unit 51a, refer to Patent Document 3.
 ここで、図5のポコウォッチャ11においては、検索部51aのみならず、統計情報処理部52aと演算部53aがさらに設けられている。
 検索部51aのみで構成すると、アプリケーションによって変化する検索テーブルに対し、自在性が乏しいという問題点が生じるからである。
 例えば、ルータなどネットワーク機器におけるIPアドレスを検索テーブルとした場合、IPv4ではおよそ数100万エントリのデータを蓄積するための容量が必要である。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がさらに設けられている。
Here, in the pocowatcher 11 of FIG. 5, not only the search unit 51a but also a statistical information processing unit 52a and a calculation unit 53a are further provided.
This is because if only the search unit 51a is used, there is a problem that the search table that varies depending on the application is less flexible.
For example, when an IP address in a network device such as a router is used as a search table, IPv4 requires a capacity for storing data of about several million entries. In the case of IPv6, the search key is up to 64b, but since the number of entries is large, a large search table is required. Further, in recent ICN (Information Centric Network) and CCN / DCN (Content Centric Network / Data Centric Network), a path is controlled by a character string, so a search key that handles a long bit length is required.
As described above, various devices that function the route control unit 31 or the traffic monitoring unit 33 in FIG. 3 or the clustering unit 37 or the ranking unit 38 in FIG. Or a problem that waste occurs.
In order to solve such a problem, the pocowatcher 11 of FIG. 5 is further provided with not only the search unit 51a but also a statistical information processing unit 52a and a calculation unit 53a.
 例えば、検索エンジンのアプリケーションのうち、ルータ等のフォワーディングについて考えてみる。このフォワーディングは、図3の経路制御部31による経路制御によって実現される。
 フォワーディングでは、パケットのヘッダに記載されている宛先アドレス等から、パケットを出力するポート番号を決定する処理が必要になる。
 ここで、宛先が決定されると一意的に出力ポート番号が決定されるような手法が採用された場合を考える。例えば、ポート番号を決定するに際し、宛先アドレス等と出力ポートの関係を記載したテーブルが用いられる場合である。このような場合、同じ宛先、若しくは同じ出力ポートの選択が多くなることによって、トラフィックの混雑が発生する。
 このような一意的に決める手法ではトラフィックの迂回ができないため、フォワーディングでは、各フローのデータ量を蓄積して、これらのデータ量も考慮しながら出力ポートを決定するという手法が採用されている。この手法によれば、特定のフローへのヒットが多い場合には出力ポートが偏ってトラフィックが混雑することになるため、この混雑を避けるべく、各フローにヒットした回数や、流れたトラフィックの量をカウントする処理が必要になる。即ち、統計を蓄積して効率的なネットワークを構築する処理が必要になる。
For example, consider the forwarding of routers among search engine applications. This forwarding is realized by route control by the route control unit 31 of FIG.
In the forwarding, it is necessary to determine a port number for outputting a packet from a destination address or the like described in the packet header.
Here, consider a case where a technique is adopted in which the output port number is uniquely determined when the destination is determined. For example, when determining the port number, a table describing the relationship between the destination address and the output port is used. In such a case, traffic congestion occurs due to an increase in selection of the same destination or the same output port.
Since the traffic cannot be bypassed by such a uniquely determined method, a method of accumulating the data amount of each flow and determining the output port in consideration of the data amount is adopted in the forwarding. According to this method, if there are many hits for a specific flow, the output port is biased and the traffic is congested. To avoid this congestion, the number of times each flow was hit and the amount of traffic that flowed It is necessary to process to count. That is, a process for accumulating statistics and building an efficient network is required.
 このような処理を、シングルチップで実現すべく、図5のポコウォッチャ11においては、検索部51aのみならず、統計情報処理部52aと演算部53aがさらに設けられている。 In order to realize such processing with a single chip, the pocowatcher 11 in FIG. 5 is further provided with not only the search unit 51a but also a statistical information processing unit 52a and a calculation unit 53a.
 統計情報処理部52aは、上述の処理に必要となる統計情報を蓄積するために、メモリ部71を有している。
 このメモリ部71は、通常のメモリと同様のハードウェア構成を有している。即ち、メモリ部71は、メモリセルアレイ711と、デコーダー712と、センスアンプ&セレクター713とを有している。このように、統計情報を蓄積するためのメモリ部71は、特殊なメモリセルではなく通常のメモリセルのため、図5の構成をポコウォッチャ11というシングルチップで実現可能になる。
 メモリ部71は、統計情報を蓄積すべく、検索部51a(検索エンジン)においてヒットしたフローに対応する情報を蓄積する。即ち、メモリ部71は、ヒットした検索キー毎にアドレスを対応させ、そのアドレスに統計情報を蓄積する。
The statistical information processing unit 52a includes a memory unit 71 in order to accumulate statistical information necessary for the above-described processing.
The memory unit 71 has the same hardware configuration as a normal memory. That is, the memory unit 71 includes a memory cell array 711, a decoder 712, and a sense amplifier & selector 713. As described above, since the memory unit 71 for storing statistical information is not a special memory cell but a normal memory cell, the configuration of FIG. 5 can be realized by a single chip called the pocowatcher 11.
The memory unit 71 stores information corresponding to the flow hit in the search unit 51a (search engine) in order to store statistical information. That is, the memory unit 71 associates an address with each search key hit and accumulates statistical information at the address.
 演算部53aは、比較器63によるヒット/ミス判定結果を入力し、ヒットであれば、ヒットの検索キーに対応したユニークなアドレスを読み出し、読み出されたアドレスに従い、メモリ部71にアクセスして統計情報を読み出す。
 演算部53の加算器81は、このようにして読み出された統計情報を加算することでアップデートして、メモリ部71の同一のアドレスに書き戻す。このように、加算器81は、読み出されたデータに対してデータを加算する装置である。加算器81が加算するのは検索部51aでヒットした時のみである。加算器81は、統計情報がパケット数である場合には、プラス1を加算し、統計情報がパケットサイズである場合には、読み出されたデータに対して、パケットのヘッダに記載されているパケットサイズを加算する。
 ここで、ヒット/ミスの判定のためにメモリ部71から読み出されたデータと検索キーとを比較する必要がある。このため、検索部51aの比較器63のヒット信号により加算器81の動作が制御される。
The calculation unit 53a inputs the hit / miss determination result by the comparator 63, and if it is a hit, reads the unique address corresponding to the search key of the hit, and accesses the memory unit 71 according to the read address. Read statistical information.
The adder 81 of the arithmetic unit 53 updates the data by adding the statistical information read in this way, and writes it back to the same address in the memory unit 71. Thus, the adder 81 is a device that adds data to the read data. The adder 81 adds only when there is a hit in the search unit 51a. The adder 81 adds 1 when the statistical information is the number of packets. When the statistical information is the packet size, the adder 81 describes the read data in the packet header. Add packet size.
Here, it is necessary to compare the data read from the memory unit 71 and the search key for hit / miss determination. For this reason, the operation of the adder 81 is controlled by the hit signal of the comparator 63 of the search unit 51a.
 このような一連の動作により、統計情報がメモリ部71に蓄積される。 Statistic information is accumulated in the memory unit 71 by such a series of operations.
 このような図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に蓄積されている統計情報のうち、検索キーに対応するアドレスに格納された統計情報が読み出される。
Similar to the pocowatcher 11a in the example of FIG. 5, the pocowatcher 11b in the example of FIG. 6 includes a search unit 51b, a statistical information processing unit 52b, and a calculation unit 53b.
In the example of FIG. 6, the memory unit 62 of the search unit 51b and the memory unit 91 of the statistical information processing unit 52b are integrally formed. Thus, by writing the statistical information data to the same row as the action of the search memory cell array 621 in the statistical information memory cell array 911, a function equivalent to the example of FIG. Path control) can be realized.
As a specific operation, the hash generator 61 inputs data (search key) such as a destination inputted from the outside to the hash function to reduce the number of bits. The degenerated data is used as an address of the memory (memory unit 62 and memory unit 91). If the search result action is input to the memory data, the search operation can be realized. When an action is read from the memory cell array 621 on the search unit 51b side, the statistical data described in the same row is read from the memory cell array 911 on the statistical information processing unit 52b side. If the search result is a hit, the calculation unit 53 updates the read statistical information and writes it back to the same row in the memory cell array 911 on the statistical information processing unit 52b side.
On the other hand, when the statistical information is read, a search key is input, and among the statistical information stored in the memory cell array 911, the statistical information stored at the address corresponding to the search key is read.
 図7は、図6の例のポコウォッチャ11bのうち、メモリセルアレイ911、センスアンプ&セレクター912及び演算部53bの拡大図を示している。
 図7に示す様に、メモリセルアレイ911を構成する各メモリセル(Word線と2本のbit線とで構成されるメモリセル)は、2つのセンスアンプ、セレクター、及び加算器81と接続されている。
 従って、図示はしないが、メモリ部91の中に加算器81を挿入することもできる。この場合、読み出されてから書き戻すまでの時間が短縮可能になる。
FIG. 7 shows an enlarged view of the memory cell array 911, the sense amplifier & selector 912, and the calculation unit 53b in the pocowatcher 11b in the example of FIG.
As shown in FIG. 7, each memory cell (memory cell composed of a word line and two bit lines) constituting the memory cell array 911 is connected to two sense amplifiers, a selector, and an adder 81. Yes.
Therefore, although not shown, the adder 81 can be inserted into the memory unit 91. In this case, the time from reading to writing back can be shortened.
 図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は標準的なメモリで構成することができる。
FIG. 8 is a schematic diagram for explaining a router function combining the functions of the path control unit 31 and the buffer unit 34 of FIG.
As described above, the path control unit 31 can be realized by the configuration of the example of FIG. 5 or the example of FIG. 6 of the poco watcher 11 as described above.
Input data (such as a packet) for setting the route to the route control unit 31 is input to the input buffer 34IN of the buffer unit 34.
On the other hand, the data (packets and the like) routed by the route control unit 31 is an output buffer connected to the routed output port among a plurality of output ports (output ports # 1 to # 4 in the example of FIG. 8). 34OUT (in the example of FIG. 8, one of the four output buffers 34OUT) is input.
Here, as shown in FIG. 8, the output buffer 34OUT employs a queue configuration to output data with high priority first. That is, by dividing the output buffer 34OUT into FIFOs having the number of queues, it is possible to control the FIFO queues input according to the priority. The FIFO can be configured with standard memory.
 以上説明したように、ポコウォッチャ11は、検索エンジン(図5の検索部51aや図6の検索部51b)を標準メモリ(図5や図6のメモリ部62)を含むように構成し、かつ、統計情報を記憶するメモリ(図5のメモリ部71や図6のメモリ部91も標準メモリで構成している。
 これにより、ルータやネットワークスイッチのデータプレーンで必要とされるネットワーク機能、即ち、経路制御、帯域制御、トラヒック制御、バッファ、及びアクセス制御が、ワンチップのポコウォッチャ11で実現可能になる(図3参照)。
As described above, the poco watcher 11 is configured so that the search engine (the search unit 51a in FIG. 5 and the search unit 51b in FIG. 6) includes the standard memory (the memory unit 62 in FIG. 5 and FIG. 6), and , A memory for storing statistical information (the memory unit 71 in FIG. 5 and the memory unit 91 in FIG. 6 are also configured by a standard memory.
As a result, the network functions required in the data plane of the router or network switch, that is, path control, bandwidth control, traffic control, buffer, and access control can be realized by the one-chip pocowatcher 11 (FIG. 3). reference).
 具体的には、経路制御は、上述したように主に図5又は図6の構成(検索エンジン等)により実現可能になる。即ち、経路制御では、入力されたパケットの宛先アドレスが検索部51a,51bに入力され、当該検索部51a,51bから出力されるアクションに従ってパケットが特定の出力バッファ340UIT(図8参照)に出力される。 Specifically, the route control can be realized mainly by the configuration (search engine or the like) shown in FIG. 5 or 6 as described above. That is, in the route control, the destination address of the input packet is input to the search units 51a and 51b, and the packet is output to a specific output buffer 340UIT (see FIG. 8) according to the action output from the search units 51a and 51b. The
 帯域制御は、上述した様に、図8の出力バッファ34OUTのFIFOキューにより実現可能になる。即ち、出力バッファ34OUTに設けられたFIFOによって、出力するデータ量が制限される。入力バッファ34INから入力されるデータ量の方が、出力されるデータ量が多い場合は、出力バッファ34OUTのFIFOにデータが貯められる。 As described above, the bandwidth control can be realized by the FIFO queue of the output buffer 34OUT in FIG. That is, the amount of data to be output is limited by the FIFO provided in the output buffer 34OUT. If the amount of data input from the input buffer 34IN is larger, the data is stored in the FIFO of the output buffer 34OUT.
 トラヒック監視は、図5のメモリ部71や図6のメモリ部91に記憶された統計情報を分析することにより実現可能になる。即ち、統計情報処理部52aのメモリ部71や統計情報処理部52bのメモリ部91に記憶されているデータが読み出され、夫々のデータ値がチェックされることで、トラヒック監視が行われる。例えば特定のデータが多いか、若しくは特定のデータが急に増えた等が読み出されたデータからチェックされる。なお、チェックの動作主体は、例えば図1のCPU13である。 Traffic monitoring can be realized by analyzing statistical information stored in the memory unit 71 of FIG. 5 or the memory unit 91 of FIG. That is, traffic monitoring is performed by reading data stored in the memory unit 71 of the statistical information processing unit 52a and the memory unit 91 of the statistical information processing unit 52b and checking each data value. For example, it is checked from the read data that there is a lot of specific data or the specific data suddenly increases. Note that the operation subject of the check is, for example, the CPU 13 in FIG.
 バッファは、上述した様にFIFO等で実現可能になる(図8参照)。即ち、バッファは、入力されたパケットの経路が決定するまで、一時的にデータを蓄える。帯域制御と同様に、出力されるまでFIFOでデータが蓄積される。 The buffer can be realized by a FIFO or the like as described above (see FIG. 8). That is, the buffer temporarily stores data until the route of the input packet is determined. Similar to the bandwidth control, data is accumulated in the FIFO until output.
 アクセス制御(フィルタリング)は、検索エンジンにより実現可能になる。アクセス制御の詳細については、図10を参照して後述する。 Access control (filtering) can be realized by a search engine. Details of the access control will be described later with reference to FIG.
 以上まとめると、本実施形態の情報処理システムは、ワンチップで構成されるポコウォッチャ11をネットワークプロセッサ12に接続するだけで、ネットワーク機能を拡張することが容易にできる。 In summary, the information processing system according to the present embodiment can easily expand the network function by simply connecting the pocowatcher 11 configured with one chip to the network processor 12.
 具体的には従来においては、外部から入力されるパケットは、所定の通信デバイス(例えば図14の通信デバイス14a)から入力されて、スイッチチップとして機能するネットワークプロセッサ12により行先が判定されて、別の通信デバイス(例えば図14の通信デバイス14b)若しくは同一の通信デバイス(例えば図14の通信デバイス14a)に出力されていた。
 そして、経路制御、帯域制御、アクセス制御、トラヒック監視、バッファ等のネットワーク機能を拡張するためには、図14のDRAM503に加えて、特殊なメモリ(TCAM501やSRAM502)が必要であった。
Specifically, conventionally, a packet input from the outside is input from a predetermined communication device (for example, the communication device 14a in FIG. 14), and the destination is determined by the network processor 12 functioning as a switch chip. The communication device (for example, the communication device 14b in FIG. 14) or the same communication device (for example, the communication device 14a in FIG. 14).
In order to expand network functions such as path control, bandwidth control, access control, traffic monitoring, and buffers, special memories (TCAM 501 and SRAM 502) are required in addition to the DRAM 503 in FIG.
 これに対して、本実施形態の情報処理システムでは、経路制御、帯域制御、アクセス制御、トラヒック監視、バッファ等のネットワーク機能をワンチップで実現するポコウォッチャ11を、ネットワークプロセッサ12と接続するだけで、ネットワーク機能の拡張が容易に実現可能になる。 On the other hand, in the information processing system according to the present embodiment, the pocowatcher 11 that realizes network functions such as path control, bandwidth control, access control, traffic monitoring, and buffer in one chip is simply connected to the network processor 12. Network functions can be easily expanded.
 例えば情報処理システムが図2(a)の構成例をとる場合、通信デバイス14aとネットワークプロセッサ12との間に、ポコウォッチャ11が挿入される。
 この場合、ポコウォッチャ11のうち図5の例又は図6の例の構成部分は、パケットの統計情報を蓄積し、CPU13からのリクエストに反応して当該統計情報を出力する。CPU13は、統計情報に基づいて、フローが偏っていないか否かを判断する。この判断結果は、スイッチチップとして機能するネットワークプロセッサ12にフィードバックされる。ネットワークプロセッサ12は、当該フィードバック上方に基づいて、パケットの出力するポートの選択をコントロールする。このようにして、ポコウォッチャ11により、経路制御が実現される。
 この場合、ポコウォッチャ11は、外部から入力されるパケットを一時的に蓄えるバッファとしても利用できる。また、ポコウォッチャ11は、パケットを出力する時のバッファとしても利用できる。このようにして、ポコウォッチャ11により、出力のデータ量を制限する帯域制御が実現される。
For example, when the information processing system takes the configuration example of FIG. 2A, the poco watcher 11 is inserted between the communication device 14 a and the network processor 12.
In this case, the constituent parts of the example of FIG. 5 or FIG. 6 of the pocowatcher 11 accumulate the statistical information of the packet, and output the statistical information in response to a request from the CPU 13. The CPU 13 determines whether or not the flow is biased based on the statistical information. The determination result is fed back to the network processor 12 functioning as a switch chip. The network processor 12 controls selection of a port to which a packet is output based on the feedback above. In this way, path control is realized by the pocowatcher 11.
In this case, the pocowatcher 11 can also be used as a buffer for temporarily storing externally input packets. The pocowatcher 11 can also be used as a buffer when outputting a packet. In this way, band control for limiting the amount of output data is realized by the pocowatcher 11.
 また例えば情報処理システムが図1の構成例をとる場合、ポコウォッチャ11は、ネットワークプロセッサ12の側に配置されるので、ネットワークプロセッサ12の性能を補足することができる。
 これにより、ネットワークプロセッサ12が有しているネットワーク機能の拡張として、バッファサイズの拡張、統計情報の拡張、経路制御の拡張等が実現可能になる。ここで、統計情報の拡張とは、例えば入力ポート毎の統計情報しか保持できなかった機能を、フロー毎に増やすことを意味する。このような統計情報の拡張により、統計の種類が増加するため、きめ細かな制御が可能になる。
For example, when the information processing system takes the configuration example of FIG. 1, the pocowatcher 11 is arranged on the network processor 12 side, so that the performance of the network processor 12 can be supplemented.
As a result, the expansion of the buffer function, the expansion of statistical information, the expansion of path control, and the like can be realized as the expansion of the network function of the network processor 12. Here, the expansion of the statistical information means, for example, increasing the function that can only hold the statistical information for each input port for each flow. Such expansion of statistical information increases the number of types of statistics, thus enabling fine control.
 また例えば、図示せぬ外部ネットワークであるWANから入力されるか、若しくはWAN側に出力されるパケットのみを監視する用途として、情報処理システムは、図2(b)の構成例をとることもできる。 Further, for example, the information processing system can take the configuration example of FIG. 2B as an application for monitoring only packets input from the WAN, which is an external network (not shown), or output to the WAN side. .
 以上本発明の一実施形態について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。 Although one embodiment of the present invention has been described above, the present invention is not limited to the above-described embodiment, and modifications, improvements, and the like within a scope that can achieve the object of the present invention are included in the present invention. is there.
 例えば、検索エンジンは、多種のアプリケーションに使用される。具体的には例えば顔認証のようなパターン認証に対しても、検索エンジンは適用できる。このように適用した場合、入力される検索キーのビット幅は、アプリケーションに依存する。
 従って、検索キーのビット幅を大きくする手法を採用することで、全てのアプリケーションに対応可能となり、一見有利にみえる。しかしながら、この手法では、検索キーを入力する時間が冗長となり、結局はシステム性能を劣化させるという問題点が生じる。
 また、デバイス内部では、検索キーとの比較のためのメモリ容量が必要となり、余分なリソースを消費することになる。同一メモリ容量では、エントリ数が減るという問題点も生ずる。
For example, search engines are used for a variety of applications. Specifically, the search engine can be applied to pattern authentication such as face authentication. When applied in this way, the bit width of the input search key depends on the application.
Therefore, by adopting a method of increasing the bit width of the search key, it becomes possible to deal with all applications, which seems advantageous at first glance. However, with this method, the time for inputting the search key becomes redundant, which eventually causes a problem of deteriorating system performance.
Further, in the device, a memory capacity for comparison with the search key is required, and extra resources are consumed. In the case of the same memory capacity, there is a problem that the number of entries is reduced.
 上述の実施形態の検索エンジン、即ち図5の例の検索部51aや図6の例の検索部51bでは、これらの問題点を解決することは困難である。
 そこで、これらの問題点を解決するためには、モードレジスタで構成を切り替えることが可能な検索エンジンを採用するとよい。これにより、エントリ数が1/2になる代わりに、検索キーのビット数が2倍になる。アプリケーションに応じて構成を切り替えることで、1つのデバイス(ポコウォッチャ11)で多種のアプリケーションに最適な構成を提供できる。
In the search engine of the above-described embodiment, that is, the search unit 51a in the example of FIG. 5 and the search unit 51b in the example of FIG. 6, it is difficult to solve these problems.
Therefore, in order to solve these problems, it is preferable to employ a search engine whose configuration can be switched by a mode register. This doubles the number of search key bits instead of halving the number of entries. By switching the configuration according to the application, a single device (Pocowatcher 11) can provide an optimal configuration for various applications.
 このような構成を切り替えることが可能な検索エンジンが、図9に示されている。
 即ち、図9は、ポコウォッチャ11の検索エンジンのハードウェア構成例であって、図5や図6とは異なる例を示している。
A search engine capable of switching such a configuration is shown in FIG.
That is, FIG. 9 shows a hardware configuration example of the search engine of the poco watcher 11 and shows an example different from those shown in FIGS.
 図9に示す様に、検索部51cは、アドレス変換回路91と、主検索部92Aと、主検索部92Bと、選択回路93とを備えている。
 ここで、主検索部92Aと主検索部92Bとの夫々は、図5の例の検索部51aと基本的に同様の機能と構成を有しているため、その詳細な説明は省略する。
As shown in FIG. 9, the search unit 51 c includes an address conversion circuit 91, a main search unit 92 </ b> A, a main search unit 92 </ b> B, and a selection circuit 93.
Here, since each of the main search unit 92A and the main search unit 92B has basically the same function and configuration as the search unit 51a in the example of FIG. 5, detailed description thereof will be omitted.
 図9の例では、検索エンジンは、主検索部92Aと、主検索部92Bとに2分割されている。
 モードセット(モードレジスタの信号)は、アドレス変換回路91と選択回路93とに入力される。即ち、入力されるアドレスは、アドレス変換回路91においてモードセットにより切替えられ、検索結果は、選択回路93においてモードセットにより切替えられる。
In the example of FIG. 9, the search engine is divided into two parts, a main search unit 92A and a main search unit 92B.
The mode set (mode register signal) is input to the address conversion circuit 91 and the selection circuit 93. That is, the input address is switched by the mode conversion in the address conversion circuit 91, and the search result is switched by the mode set in the selection circuit 93.
 例えば図9の例において、エントリ数を2倍にする場合、アドレス変換回路91は、分割された2つの検索エンジン、即ち主検索部92Aと主検索部92Bとの夫々に対して、同一の検索キーを入力させる。
 主検索部92Aと主検索部92Bとの夫々から出力されるアクションのうち、ヒット信号が活性しているアクション結果が、検索結果として選択回路93により選択されて出力される。
 また、主検索部92Aと主検索部92Bとの夫々からミス信号が出力された場合、選択回路93は、ミスを出力する。
For example, in the example of FIG. 9, when the number of entries is doubled, the address conversion circuit 91 performs the same search for the two divided search engines, that is, the main search unit 92A and the main search unit 92B. Enter the key.
Of the actions output from the main search unit 92A and the main search unit 92B, the action result in which the hit signal is active is selected and output as a search result by the selection circuit 93.
Further, when a miss signal is output from each of the main search unit 92A and the main search unit 92B, the selection circuit 93 outputs a miss.
 また例えば図9の例において、検索キーのビット幅を2倍にする場合、アドレス変換回路91は、入力された検索キーを、前半のビットと後半のビットとに分割して、前半のビットを主検索部92Aに入力させると共に、後半のビットを主検索部92Bに入力させる。
 主検索部92Aと主検索部92Bとの夫々からヒット信号が活性している場合、選択回路93は、ヒットとしてアクション結果を出力する。
 また、主検索部92Aと主検索部92Bとのうち少なくとも一方からミス信号が出力された場合、選択回路93は、ミスを出力する。
For example, in the example of FIG. 9, when the bit width of the search key is doubled, the address conversion circuit 91 divides the input search key into the first half bit and the second half bit, and the first half bit is divided. While making it input into the main search part 92A, the latter half bit is input into the main search part 92B.
When the hit signal is active from each of the main search unit 92A and the main search unit 92B, the selection circuit 93 outputs an action result as a hit.
When a miss signal is output from at least one of the main search unit 92A and the main search unit 92B, the selection circuit 93 outputs a miss.
 なお、図9の例では、検索エンジンは2分割とされたが、検索エンジンの分割数は特にこれに限定されず、例えば4分割でもよい。4分割の場合はエントリ数が1倍、2倍、4倍の夫々の切り替えが可能になる。 In the example of FIG. 9, the search engine is divided into two, but the number of search engines is not particularly limited to this, and may be divided into four, for example. In the case of four divisions, the number of entries can be switched between 1, 2 and 4 times.
 ここで、検索エンジンによるアクセス制御(フィルタリング)について説明する。
 フィルタリングは、ブラックリスト方式と、ホワイトリスト方式とに大別される。
 ブラックリスト方式は、ブラックリストに記述された既知のビット列を含む検索キーの情報を除外して、それ以外を出力する方式である。
 ホワイトリスト方式は、ホワイトリストに記述された検索キーの情報を出力させる方式である。
 ここで、ブラックリスト方式において、4ビットの検索キーのうち、上位3ビットが“000”というビット列がブラックリストに記述されていたとする。この場合、検索キーが“0001”と“0000”の両方の検索結果を除外対象とする必要がある。
 この場合、検索キーとして“0001”と“0000”を2回検索エンジンに入力して、検索結果を夫々出力させてもよいが、検索キーにマスク機能を入れることで、下位1ビットをマスクした“000*”を検索キーとして1回入力するだけで、“0001”と“0000”の両方の検索結果を出力させることができる。このように、検索キーにマスク機能を入れることで、ブラックリスト方式が採用されている場合に、検索エンジンの処理時間や処理負荷を軽減することができる。
Here, access control (filtering) by the search engine will be described.
Filtering is roughly divided into a black list method and a white list method.
The black list method is a method that excludes search key information including a known bit string described in the black list and outputs other information.
The white list method is a method for outputting search key information described in the white list.
Here, in the black list method, it is assumed that a bit string whose upper 3 bits are “000” in the 4-bit search key is described in the black list. In this case, it is necessary to exclude search results having both search keys “0001” and “0000”.
In this case, “0001” and “0000” may be input to the search engine twice as search keys and the search results may be output respectively. However, by adding a mask function to the search key, the lower 1 bit is masked. By inputting “000 *” as a search key once, both “0001” and “0000” search results can be output. In this manner, by adding a mask function to the search key, the processing time and processing load of the search engine can be reduced when the black list method is adopted.
 また、上位の候補を出力させるアプリケーションも存在する。例えば美術館への道順を検索し、複数の候補を検索結果として出力するようなアプリケーションである。
 このような複数の候補を検索結果として出力する場合にも、検索キーにマスク機能を入れるとよい。
There are also applications that output top candidates. For example, it is an application that searches for directions to a museum and outputs a plurality of candidates as search results.
Even when a plurality of candidates are output as search results, a mask function may be added to the search key.
 図10は、ポコウォッチャ11の検索エンジンのハードウェア構成例であって、図5、図6、図9とは異なる例を示している。
 図10に示す様に、検索部51dは、主検索部101Aと、主検索部101Bと、選択回路102とを備えている。
 ここで、主検索部101Aと主検索部101Bとの夫々は、図5の例の検索部51aと基本的に同様の機能と構成を有しているため、その詳細な説明は省略する。
 検索キーがマスクされる場合、入力される検索キーのビット数は減る。しかしながら、検索結果のアクションは複数個出力できるような構成にする必要があるため、図10に示す様な構成が取られる。
 ここで、マスク信号が活性された場合は、選択回路102は、マスクに対応した検索テーブルに対応した検索エンジンから結果を出力する。
FIG. 10 is a hardware configuration example of the search engine of the poco watcher 11 and shows an example different from that of FIGS. 5, 6, and 9.
As shown in FIG. 10, the search unit 51d includes a main search unit 101A, a main search unit 101B, and a selection circuit 102.
Here, since each of the main search unit 101A and the main search unit 101B has basically the same function and configuration as the search unit 51a in the example of FIG. 5, detailed description thereof will be omitted.
When the search key is masked, the number of bits of the input search key is reduced. However, since it is necessary to have a configuration capable of outputting a plurality of search result actions, the configuration shown in FIG. 10 is adopted.
Here, when the mask signal is activated, the selection circuit 102 outputs a result from the search engine corresponding to the search table corresponding to the mask.
 以上、図9や図10を参照して説明したように、内部の検索エンジンを分割して、入力する検索キーを変え、検索結果の判定を変えることで、様々なアプリケーションに最適なデバイス(ポコウォッチャ11)を提供することが可能となる。 As described above with reference to FIGS. 9 and 10, by dividing the internal search engine, changing the search key to be input, and changing the determination of the search result, the optimal device (Poco) It is possible to provide a watcher 11).
 このように、様々なアプリケーションに対応する手法として、検索エンジンの機能をモードセット等で切り替えることで仕様を変更する手法は好適であるが、この手法に限定されるわけではない。
 例えば別の手法として、1つの検索エンジンが搭載されたLSI(ポコウォッチャ11)を複数個用いる手法を採用してもよい。
As described above, as a method corresponding to various applications, a method of changing specifications by switching the function of a search engine with a mode set or the like is suitable, but the method is not limited to this method.
For example, as another method, a method using a plurality of LSIs (Pocowatcher 11) on which one search engine is mounted may be employed.
 図11は、本発明の一実施形態に係る情報処理システムであって、2つの検索エンジンを用いた情報処理システムの構成例を示している。
 図11の例では、検索エンジン111A,111Bの夫々がネットワークプロセッサ12の検索エンジンコントローラー110に接続されている。
 このような構成にすることで、検索テーブルの容量、即ちエントリ数を2倍にすることが可能である。
 検索する時は、2個の検索エンジン111A,111Bの夫々に同時に検索キーを入力する。そして、検索エンジンコントローラー110は、2個の検索エンジン111A,111Bの夫々から出力された検索結果を確認し、2個の検索エンジン111A,111Bのうち、ヒットした方を使う。
 このように動作させることで検索テーブルを大きくすることが可能になる。
FIG. 11 is an information processing system according to an embodiment of the present invention, and shows a configuration example of an information processing system using two search engines.
In the example of FIG. 11, each of the search engines 111A and 111B is connected to the search engine controller 110 of the network processor 12.
With such a configuration, the capacity of the search table, that is, the number of entries can be doubled.
When searching, a search key is simultaneously input to each of the two search engines 111A and 111B. Then, the search engine controller 110 confirms the search results output from each of the two search engines 111A and 111B, and uses the hit one of the two search engines 111A and 111B.
By operating in this way, the search table can be enlarged.
 大容量の検索テーブルを構築する場合、検索エンジン111A,111Bの夫々には、異なるテーブルを書き込むことになる。従って、検索エンジン111A,111Bの両者で同時にヒットすることはない。
 大容量のテーブルを構築する場合の書き込みは、図12に示すように、最初に1つめの検索エンジン111Aに書き込みを行う。
 この書き込みが成功した場合、2つめの検索エンジン111Bに書き込みを行わない。
 一方、1つ目の検索エンジン111Aに対する書き込みが不成功の場合、2つ目の検索エンジン111Bへの書き込みを行う。
When a large-capacity search table is constructed, different tables are written to the search engines 111A and 111B. Therefore, the search engines 111A and 111B do not hit at the same time.
In the case of building a large-capacity table, as shown in FIG. 12, first, writing is performed to the first search engine 111A.
If this writing is successful, writing is not performed to the second search engine 111B.
On the other hand, if writing to the first search engine 111A is unsuccessful, writing to the second search engine 111B is performed.
 このような複数個の検索エンジン(図11及び図12の例では2個の検索エンジン111A,111B)を用いることで検索のテーブルを拡張するためには、書き込みが完了して「成功」したか、若しくは「不成功」であったかの結果を、夫々の検索エンジン(図11及び図12の例では2個の検索エンジン111A,111B)から出力することで実現可能となる。 In order to expand the search table by using such a plurality of search engines (two search engines 111A and 111B in the examples of FIGS. 11 and 12), is the write completed and “successful”? Alternatively, it can be realized by outputting the result of “unsuccessful” from each search engine (two search engines 111A and 111B in the examples of FIGS. 11 and 12).
 なお、検索エンジンコントローラー110が、書き込みが成功したか否かの判定を行うこともできる。
 しかしながら、検索エンジン111A,111Bと同様の機能を検索エンジンコントローラー110に設けることになることから、多くの場合リソースが足りなくなる。また無駄なリソースになるため、賢明な方法とはいえない。
 逆に考えれば、書き込み完了信号を使うことで、簡単に検索テーブルの拡張は可能である。
 なお、上述の例では、検索のテーブルを2倍に拡張する例を示したが、特にこれに限定されず、検索エンジン(LSI)の個数を増加させれば、それに比例して、検索のテーブルの容量を拡張することが容易にできる。
Note that the search engine controller 110 can also determine whether writing has succeeded.
However, since the same functions as those of the search engines 111A and 111B are provided in the search engine controller 110, resources are often insufficient. It's also a wasteful resource, so it's not a wise method.
Conversely, the search table can be easily expanded by using the write completion signal.
In the above example, the example in which the search table is doubled has been shown. However, the present invention is not particularly limited to this. If the number of search engines (LSIs) is increased, the search table is proportionally increased. Can be easily expanded.
 ところで、上述の実施形態では、ポコウォッチャ11は、サーバやPC(1筐体)内の基板上に、CPUやネットワークコントローラと共に実装されたが、実装の形態は特にこれに限定されない。
 例えば、図13や図14に示す様に、ポコウォッチャ11を1つの装置(1筐体)として、他の装置(1筐体)と接続する構成を取ってもよい。
 図13は、本発明の一実施形態に係る情報処理システムの構成例であって、図1や図2の例とは異なる例を示すブロック図である。
 図13(a)の例の情報処理システムにおいては、ルータ202と接続されるL2スイッチ203と、複数のPC204a乃至204dの間に、ポコウォッチャ11が接続されている。ネットワークコントローラ201は、ルータ202、L2スイッチ203、及びポコウォッチャ11の夫々と接続されている。
 図13(b)の例の情報処理システムにおいては、ルータ202と、2つのL2スイッチ203A,203Bとの夫々の間に、ポコウォッチャ11が接続されている。ネットワークコントローラ201は、ルータ202及びポコウォッチャ11の夫々と接続されている。L2スイッチ203Aには、複数のPC204a乃至204cが接続されている。L2スイッチ203Bには、それらとは別の複数のPC204d乃至204fが接続されている。
By the way, in the above-described embodiment, the poco watcher 11 is mounted together with a CPU and a network controller on a substrate in a server or a PC (one housing), but the mounting form is not particularly limited to this.
For example, as shown in FIGS. 13 and 14, the pocowatcher 11 may be configured as one device (one housing) and connected to another device (one housing).
FIG. 13 is a block diagram illustrating an example of the configuration of the information processing system according to the embodiment of the present invention, which is different from the examples of FIGS. 1 and 2.
In the information processing system in the example of FIG. 13A, the pocowatcher 11 is connected between the L2 switch 203 connected to the router 202 and the plurality of PCs 204a to 204d. The network controller 201 is connected to each of the router 202, the L2 switch 203, and the pocowatcher 11.
In the information processing system in the example of FIG. 13B, the pocowatcher 11 is connected between the router 202 and each of the two L2 switches 203A and 203B. The network controller 201 is connected to the router 202 and the poco watcher 11. A plurality of PCs 204a to 204c are connected to the L2 switch 203A. A plurality of PCs 204d to 204f different from these are connected to the L2 switch 203B.
 図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において個々の装置のデータが解析されて個々の装置への制御情報が生成されて送信されてきた場合、当該制御情報を受信し、当該制御情報に基づいて個々の装置のうち接続されたものを制御する機能とを有している。
FIG. 14 is a block diagram illustrating an example of a configuration of an information processing system according to an embodiment of the present invention, which is different from the examples of FIGS. 1, 2, and 13.
In the information processing system of the example of FIG. 14, there are a router 301, enterprise routers 302-1 and 302-2, and consumer routers 303-1 to 303-3 as devices constituting the network N.
The network controller 401 in the example of FIG. 14 is a device that provides an overview of information about the entire network N. That is, the information processing system in the example of FIG. 14 implements SDN (Software Defined Network).
In order to realize the SDN, the network controller 401 needs to acquire the status of each device that configures the network N, and control each device based on the obtained information.
For this reason, conventionally, although not shown, since the network controller 401 and the devices constituting the network N directly communicate with each other, it is very difficult to realize SNS due to the following factors. Met.
The first factor is that each device is provided by a separate manufacturer. Furthermore, some devices support SDN and some do not.
The second factor is that the router will be simplified more and more due to future technological trends, for example, by NFV (Network Function-Virtualization) FV.
Therefore, in the information processing system of the example of FIG. 14, the poco watchers 11-1 to 11-5 are connected to individual devices constituting the network N, and the network controller 401 and the poco watchers 11-1 to 11-5 are connected. (Hereinafter, these are collectively referred to as “Pocowatcher 11”).
The pocowatcher 11 monitors traffic (data collection) and executes various controls. That is, the pocowatcher 11 transmits traffic data to the network controller 401, and conversely receives control data from the network controller 401.
As described above, the pocowatcher 11 monitors the traffic of the connected devices among the individual devices, acquires the data and transmits the data to the network controller 401, and the network controller 401 analyzes the data of the individual devices to individually When the control information is generated and transmitted to the device, the control information is received, and the connected device is controlled based on the control information.
 換言すると、本発明が適用されるメモリ機器は、次のような構成を取れば足り、上述の実施形態を含め、各種各様な実施形態を取ることができる。
 即ち、本発明が適用されるメモリ機器は、
 シングルチップで構成されるメモリ機器(例えば図1や図2のポコウォッチャ11)であって、
 ネットワーク機能のうち少なくとも、経路制御、帯域制御、トラヒック監視、バッファ、及びアクセス制御が機能する(例えば図3の機能的構成を有する)、
 メモリ機器であればよい。
 このような構成を有するメモリ機器を採用することで、NFVやネットワークのコモディティ化に際して、安価かつ低消費電力で、ネットワーク機能の拡張が容易に実現可能になる。
In other words, the memory device to which the present invention is applied only needs to have the following configuration, and can take various embodiments including the above-described embodiment.
That is, the memory device to which the present invention is applied is
A memory device composed of a single chip (for example, the pocowatcher 11 in FIGS. 1 and 2),
Among network functions, at least path control, bandwidth control, traffic monitoring, buffer, and access control function (for example, having the functional configuration of FIG. 3)
Any memory device may be used.
By adopting a memory device having such a configuration, network functions can be easily expanded with low cost and low power consumption when commoditizing NFV and networks.
 ここで、メモリ機器は、
 第1メモリ部(例えば図5や図6のメモリ部62)を有し、前記第1メモリ部に蓄積されたデータに対して、入力された検索キーを参照する検索動作を実行する検索部(例えば図5や図6の検索部51a,51b)と、
 前記検索部においてヒットした検索キー毎に前記第1メモリ部のアドレスを対応させ、当該アドレスの統計情報を記憶する第2メモリ部(例えば図5のメモリ部71や図6のメモリ部91)を有する統計情報処理部(例えば図5や図6の統計情報処理部52a,52b)と、
  前記検索部によりヒットする毎に前記統計情報を更新する演算部(例えば図5や図6の演算部53a,53b)と、
 を備えることができる。
Here, the memory device
A search unit having a first memory unit (for example, the memory unit 62 in FIGS. 5 and 6) and performing a search operation for referring to the input search key for the data stored in the first memory unit. For example, the search units 51a and 51b) in FIG. 5 and FIG.
A second memory unit (for example, the memory unit 71 of FIG. 5 or the memory unit 91 of FIG. 6) that stores the statistical information of the address by associating the address of the first memory unit with each search key hit in the search unit. A statistical information processing unit (for example, the statistical information processing units 52a and 52b in FIGS. 5 and 6),
An arithmetic unit (e.g., arithmetic units 53a and 53b in FIGS. 5 and 6) that updates the statistical information every time it is hit by the search unit;
Can be provided.
また、前記検索部(例えば図9の検索部51c)は、検索キーのビット幅を可変できる機能を有することができる。 In addition, the search unit (for example, the search unit 51c in FIG. 9) can have a function of changing the bit width of the search key.
 また、前記検索部(例えば図11の検索エンジン111A,111B)は、情報の書き込みが成功か不成功かを示す判定信号を出力する機能を有することができる。 Further, the search unit (for example, the search engines 111A and 111B in FIG. 11) can have a function of outputting a determination signal indicating whether information writing is successful or unsuccessful.
 また、前記検索部(例えば図10の検索部51d)は、ホワイトリスト方式の前記アクセス制御と、ブラックリスト方式の前記アクセス制御とを選択的に実行することができる。 Also, the search unit (for example, the search unit 51d in FIG. 10) can selectively execute the access control of the white list method and the access control of the black list method.
 また、ネットワークを構成する個々の装置(例えば図14のネットワークNを構成する、ルータ301、エンタープライズ向ルータ302-1,302-2、及びコンシューマ向ルータ303-1乃至303-3)と、当該個々の装置を制御するネットワークコントローラ(例えば図14のネットワークコントローラ401)とを含む情報処理システム内に、前記メモリ機器は、前記個々の装置毎に1つずつ接続されて設けられ、
 前記メモリ機器(例えば図14のポコウォッチャ11-1乃至11-5)は、
  前記個々の装置のうち接続されたもののトラヒックを監視してデータを取得して前記ネットワークコントローラへ送信する機能と、
  前記ネットワークコントローラにおいて前記個々の装置のデータが解析されて前記個々の装置への制御情報が生成されて送信されてきた場合、当該制御情報を受信し、当該制御情報に基づいて前記個々の装置のうち接続されたものを制御する機能と、
 を備える。
Further, individual devices constituting the network (for example, the router 301, enterprise routers 302-1 and 302-2, and consumer routers 303-1 to 303-3 constituting the network N in FIG. 14), and the individual devices In the information processing system including a network controller (for example, the network controller 401 in FIG. 14) for controlling the devices, the memory devices are provided to be connected to each of the individual devices,
The memory device (for example, the poco watchers 11-1 to 11-5 in FIG. 14)
A function of monitoring the traffic of connected ones of the individual devices to acquire data and transmitting it to the network controller;
When the network controller analyzes the data of the individual device and generates and transmits control information to the individual device, the network controller receives the control information, and based on the control information, receives the control information of the individual device. The ability to control what is connected,
Is provided.
 ところで、ポコウォッチャ11は、上述した様にネットワーク専用のDDR DRAMとして具現化することもできるが、図16に示す様に、汎用のDDR DRAMにネットワーク機能を選択的に取り付けたものとして具現化することができる。
 ここで、汎用のDRAMとは、JEDECで規格されて標準化されたDRAMをいう。
By the way, the pocowatcher 11 can be embodied as a network-specific DDR DRAM as described above, but as shown in FIG. 16, it is embodied as a general-purpose DDR DRAM with a network function selectively attached thereto. be able to.
Here, the general-purpose DRAM means a DRAM standardized by JEDEC.
 図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の実装方法は、メタルマスクとアドレスキーのうち少なくとも一方を用いると好適である。
The pocowatcher 11c of FIG. 16 is formed in a DDR DRAM, and has a configuration that can be used by selectively switching between a network and a general-purpose PC.
The hash generator 61 is provided outside the DDR DRAM, but other network units 601 such as the memory units 62 and 81, the comparator 68, and the adder 82 are formed in the DDR DRAM.
Here, the network function unit 601 has the functional configuration shown in FIG.
The DDR DRAM is provided with a selector 602. That is, when the selector 602 is switched to the upper route in FIG. 16, that is, the network function unit 601 side such as the memory units 62 and 81, the comparator 68, and the adder 82, it functions as a network DDR DRAM. On the other hand, when the selector 602 is switched to the upper route in FIG. 16, that is, the route directly from the memory units 62 and 81 to the selector 602, it functions as a general-purpose DDR DRAM.
As a mounting method of the selector 602, it is preferable to use at least one of a metal mask and an address key.
 図17は、図16のポコウォッチャ11c(ネットワーク用のDDR DRAMとして機能)の接続の状態を示す図である。
 図17に示す様に、FPGAやASICのIPとしてのコントローラ701に対して、ポコウォッチャ11c(ネットワーク用のDDR DRAMとして機能)を接続することができる。
 これにより、TCAMのようにパラレル比較ができる機能を実現可能になる。ここで、図17の右方の下の図に示す様に、汎用のDRAMは、メモリ部711に加えて、テストモードで使用するため比較器群712が元々設けられている。この比較器群712をそのまま、図16のネットワーク機能部601に流用することができる。
FIG. 17 is a diagram showing a connection state of the poco watcher 11c (functioning as a network DDR DRAM) in FIG.
As shown in FIG. 17, a poco watcher 11c (functioning as a network DDR DRAM) can be connected to a controller 701 as an IP of an FPGA or ASIC.
As a result, a function capable of parallel comparison like TCAM can be realized. Here, as shown in the lower diagram on the right side of FIG. 17, the general-purpose DRAM is originally provided with a comparator group 712 for use in the test mode in addition to the memory unit 711. This comparator group 712 can be used for the network function unit 601 in FIG. 16 as it is.
 図18は、ネットワーク機能を実現するための従来の情報処理システムの構成例と、図16のポコウォッチャ11c(ネットワーク用のDDR DRAMとして機能)を含む情報処理システムの構成例との比較図である。 18 is a comparison diagram of a configuration example of a conventional information processing system for realizing a network function and a configuration example of an information processing system including the pocowatcher 11c (functioning as a network DDR DRAM) in FIG. .
 図18(A)は、ネットワーク機能を実現するための従来の情報処理システムの構成例を示している。
 図15を用いて上述した様に、ネットワーク機能を実現するための従来の情報処理システムでは、NP、ASIC、FPGA等に対して、複数のTCAM、RLDRAM、QDR/DDR SRAMが接続されることで、ネットワーク機能が実現される。
 複数のTCAM、RLDRAM、QDR/DDR SRAMは、高価で消費電力も大きいコンポーネントである。これらのコンポーネントは市場規模が小さいため価格が下がらない(スケールメリットがない)と予測されるので、今後も高価であると予測される。
 さらに、NP、ASIC、FPGA等からこれらのコンポートネントへの夫々のインターフェースも別途必要になるというデメリットもある。
FIG. 18A shows a configuration example of a conventional information processing system for realizing a network function.
As described above with reference to FIG. 15, in the conventional information processing system for realizing the network function, a plurality of TCAMs, RLDRAMs, QDR / DDR SRAMs are connected to NP, ASIC, FPGA, and the like. The network function is realized.
A plurality of TCAMs, RLDRAMs, and QDR / DDR SRAMs are expensive components with high power consumption. These components are expected to remain expensive because the market size is small and the price will not drop (no scale merit).
Furthermore, there is a demerit that separate interfaces from NP, ASIC, FPGA, etc. to these components are also required.
 図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との間のインターフェースがあればよい。つまり、インターフェースをまとめることができる。
FIG. 17B shows a configuration example of an information processing system including the pocowatcher 11c (functioning as a network DDR DRAM) of FIG. 16 to which the present invention is applied.
All of the network functions (FIG. 3) are inserted in the poco watcher 11c. The pocowatcher 11c is formed on a general-purpose DDT2 (3,4) DRAM. That is, the selector 602 (FIG. 16) is realized by at least one of the metal mask (wiring layer) and the address key (mode register), and the DDT2 DRAM is switched between the general-purpose PC and the network.
Here, since the comparator group 712 is provided in advance in the DDT2 DRAM for use in the test mode (FIG. 17), it is necessary to provide a new component by diverting it as the network function unit 601. Absent.
As a result, it is possible to reduce the price of the memory for the network and realize an information processing system at a low cost and with low power consumption by the price premium of the general-purpose DDR.
Furthermore, since the network functions are integrated into the pocowatcher 11c, as shown in FIG. 18, there may be an interface between the pocowatcher 11c and a controller 701 as an IP such as NP, ASIC, or FPGA. In other words, the interface can be put together.
 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・・・比較器群 11, 11a, 11b, 11c: Pocowatcher, 12 ... Network processor, 31 ... Path control unit, 32 ... Band control unit, 33 ... Traffic monitoring unit, 34 ... Buffer unit 35 ... Access control unit 36 ... Main control unit 37 ... Clustering unit 38 ... Ranking unit 39 ... Minning unit 51a, 51b, 51c, 51d ... Search unit 52a, 52b ... statistical information processing unit, 53a, 53b ... calculation unit, 62 ... memory unit, 71 ... memory unit, 81 ... adder, 91 ... memory unit, 92A , 92B, 101A, 101B ... main search unit, 111A, 111B ... search engine, 601 ... network function unit, 602 ... selector, 712 ... comparator group

Claims (9)

  1.  シングルチップで構成されるメモリ機器であって、
     ネットワーク機能のうち少なくとも、経路制御、帯域制御、トラヒック監視、バッファ、及びアクセス制御が機能する、
     メモリ機器。
    A memory device composed of a single chip,
    Among network functions, at least routing control, bandwidth control, traffic monitoring, buffer, and access control function.
    Memory equipment.
  2.  第1メモリ部を有し、前記第1メモリ部に蓄積されたデータに対して、入力された検索キーを参照する検索動作を実行する検索部と、
     前記検索部においてヒットした検索キー毎に前記第1メモリ部のアドレスを対応させ、当該アドレスの統計情報を記憶する第2メモリ部を有する統計情報処理部と、
      前記検索部によりヒットする毎に前記統計情報を更新する演算部と、
     を備える請求項1に記載のメモリ機器。
    A search unit that includes a first memory unit, and executes a search operation for referring to an input search key for data stored in the first memory unit;
    A statistical information processing unit having a second memory unit that associates an address of the first memory unit with each search key hit in the search unit and stores statistical information of the address;
    An arithmetic unit that updates the statistical information every time it is hit by the search unit;
    The memory device according to claim 1.
  3.  前記検索部は、検索キーのビット幅を可変できる機能を有する、
     請求項2に記載のメモリ機器。
    The search unit has a function of changing a bit width of a search key;
    The memory device according to claim 2.
  4.  前記検索部は、情報の書き込みが成功か不成功かを示す判定信号を出力する機能を有する、
     請求項2に記載のメモリ機器。
    The search unit has a function of outputting a determination signal indicating whether writing of information is successful or unsuccessful,
    The memory device according to claim 2.
  5.  前記検索部は、ホワイトリスト方式の前記アクセス制御と、ブラックリスト方式の前記アクセス制御とを選択的に実行する、
     請求項2に記載のメモリ機器。
    The search unit selectively executes the access control of a white list method and the access control of a black list method.
    The memory device according to claim 2.
  6.  ネットワークを構成する個々の装置と、当該個々の装置を制御するネットワークコントローラとを含む情報処理システム内に、前記メモリ機器は、前記個々の装置毎に1つずつ接続されて設けられ、
     前記メモリ機器は、
      前記個々の装置のうち接続されたもののトラヒックを監視してデータを取得して前記ネットワークコントローラへ送信する機能と、
      前記ネットワークコントローラにおいて前記個々の装置のデータが解析されて前記個々の装置への制御情報が生成されて送信されてきた場合、当該制御情報を受信し、当該制御情報に基づいて前記個々の装置のうち接続されたものを制御する機能と、
     を備える請求項1に記載のメモリ機器。
    In an information processing system including individual devices that constitute a network and a network controller that controls the individual devices, the memory device is provided by being connected to each individual device,
    The memory device is
    A function of monitoring the traffic of connected ones of the individual devices to acquire data and transmitting it to the network controller;
    When the network controller analyzes the data of the individual device and generates and transmits control information to the individual device, the network controller receives the control information, and based on the control information, receives the control information of the individual device. The ability to control what is connected,
    The memory device according to claim 1.
  7.  メモリ部と、
     前記ネットワーク機能を発揮させるネットワーク機能部と、
     前記メモリ部と前記ネットワーク機能部との第1ルートと、前記メモリ部の第2ルートとを切替えるセレクタ部と、
     を備える請求項1又は2に記載のメモリ機器。
    A memory section;
    A network function unit for exerting the network function;
    A selector unit that switches between a first route between the memory unit and the network function unit and a second route of the memory unit;
    The memory device according to claim 1, further comprising:
  8.  前記セレクタ部は、メタルマスクとアドレスキーのうち少なくとも一方により実現される、
     請求項7に記載のメモリ機器。
    The selector unit is realized by at least one of a metal mask and an address key.
    The memory device according to claim 7.
  9.  前記ネットワーク機能部は、前記メモリ部に対するテストモード用の比較器群により構成される、
     請求項7又は8に記載のメモリ機器。
    The network function unit is configured by a comparator group for a test mode for the memory unit.
    The memory device according to claim 7 or 8.
PCT/JP2016/073477 2015-08-18 2016-08-09 Memory device WO2017030054A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020187007086A KR20180037268A (en) 2015-08-18 2016-08-09 Memory device
CN201680048310.8A CN107925621A (en) 2015-08-18 2016-08-09 Memory devices
US15/753,826 US10523566B2 (en) 2015-08-18 2016-08-09 Memory device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2015161228 2015-08-18
JP2015-161228 2015-08-18
JP2015207863A JP6666686B2 (en) 2015-08-18 2015-10-22 Memory equipment
JP2015-207863 2015-10-22

Publications (1)

Publication Number Publication Date
WO2017030054A1 true WO2017030054A1 (en) 2017-02-23

Family

ID=58051846

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/073477 WO2017030054A1 (en) 2015-08-18 2016-08-09 Memory device

Country Status (1)

Country Link
WO (1) WO2017030054A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997031455A1 (en) * 1996-02-23 1997-08-28 Allied Telesyn International Corporation Method and apparatus for switching data packets in a data network
JP2001251351A (en) * 2000-03-02 2001-09-14 Nec Corp Input packet processing system for packet switch
WO2011007437A1 (en) * 2009-07-16 2011-01-20 富士通株式会社 Communication device, information processing device, and communication control method
WO2012098786A1 (en) * 2011-01-17 2012-07-26 日本電気株式会社 Network system, controller, switch, and traffic monitoring method
JP2014187447A (en) * 2013-03-22 2014-10-02 Fujitsu Ltd Switch device, control method therefor, and network system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997031455A1 (en) * 1996-02-23 1997-08-28 Allied Telesyn International Corporation Method and apparatus for switching data packets in a data network
JP2001251351A (en) * 2000-03-02 2001-09-14 Nec Corp Input packet processing system for packet switch
WO2011007437A1 (en) * 2009-07-16 2011-01-20 富士通株式会社 Communication device, information processing device, and communication control method
WO2012098786A1 (en) * 2011-01-17 2012-07-26 日本電気株式会社 Network system, controller, switch, and traffic monitoring method
JP2014187447A (en) * 2013-03-22 2014-10-02 Fujitsu Ltd Switch device, control method therefor, and network system

Similar Documents

Publication Publication Date Title
US9450780B2 (en) Packet processing approach to improve performance and energy efficiency for software routers
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
US6535951B1 (en) Hit result register file used in a CAM
US9569561B2 (en) Label masked addressable memory
US9641428B2 (en) System and method for paging flow entries in a flow-based switching device
US7327744B2 (en) Fibre channel forwarding information base
US20080288721A1 (en) Transposing of bits in input data to form a comparand within a content addressable memory
Fu et al. Efficient IP-address lookup with a shared forwarding table for multiple virtual routers
TW200301429A (en) A method of improving the lookup performance of tree-type knowledge base searches
CN110266679B (en) Container network isolation method and device
US20070261110A1 (en) Packet firewalls of particular use in packet switching devices
US20220045896A1 (en) Network state management
US11652744B1 (en) Multi-stage prefix matching enhancements
CN109981464B (en) TCAM circuit structure realized in FPGA and matching method thereof
US20070091899A1 (en) Data structure for storing and accessing multiple independent sets of forwarding information
JP6666686B2 (en) Memory equipment
JP2012155650A (en) Router and many-core system
US10447585B2 (en) Programmable and low latency switch fabric for scale-out router
WO2017030054A1 (en) Memory device
US11277357B2 (en) Multi-port queue group system
US7523251B2 (en) Quaternary content-addressable memory
US8700591B2 (en) Search engine and search method
CN110401594B (en) Message forwarding method and device, electronic equipment and machine-readable storage medium
US9553829B2 (en) Apparatus and method for fast search table update in a network switch

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16837044

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15753826

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20187007086

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 16837044

Country of ref document: EP

Kind code of ref document: A1