WO2017030054A1 - Memory device - Google Patents
Memory device Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
Description
加えて、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.
例えば、低コスト型のエンタープライズ向け機種等については、プロセッサやメモリのコモディティ化によって、誰でもが製造できるオープンプラットフォーム化が徐々に浸透しつつある。 Conventionally, network devices such as routers and switches (see, for example,
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.
この場合、図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に示す従来の情報処理システムは、サーバや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
In the conventional information processing system, when the function of the
These TCAM 501, SRAM 502, and DRAM 503 are expensive components that consume a large amount of power.
シングルチップで構成されるメモリ機器であって、
ネットワーク機能のうち少なくとも、経路制御、帯域制御、トラヒック監視、バッファ、及びアクセス制御が機能する、
メモリ機器である。 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.
前記メモリ機器は、
前記個々の装置のうち接続されたもののトラヒックを監視してデータを取得して前記ネットワークコントローラへ送信する機能と、
前記ネットワークコントローラにおいて前記個々の装置のデータが解析されて前記個々の装置への制御情報が生成されて送信されてきた場合、当該制御情報を受信し、当該制御情報に基づいて前記個々の装置のうち接続されたものを制御する機能と、
を備えることができる。 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.
例えば、図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
これに対して、本実施形態の情報処理システムにおいては、ポコウォッチャ11は、DRAMプロセスが可能なシングルチップで構成されているため、大容量なバッファにも対応可能である。このため、図1に示す様に、ポコウォッチャ11をネットワークプロセッサ12に接続するといった構成のみで、当該ネットワークプロセッサ12の機能を拡張させることができる。 When expanding the function of the
On the other hand, in the information processing system according to the present embodiment, the
図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,
In the information processing system of the example of FIG. 2B, a
2A and 2B is merely an example, and for example, although not shown, two
図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
As shown in FIG. 3, in the
帯域制御部32は、従来のHS SRAM,LLDRAMにより実現されていた帯域制御と同等機能を実現する。
トラヒック監視部33は、従来のTCAM,HS SRAMカウンター,ALUにより実現されていたトラヒック監視と同等機能を実現する。
バッファ部34は、従来のDRAMと同等機能で、バッファを実現する。
アクセス制御部35は、従来より実現されていたアクセス制御と同等機能を実現する。
主制御部36は、経路制御部31乃至アクセス制御部35を含むポコウォッチャ11の全体の制御を実行する。 The
The
The
The
The
The
図4に示す様に、ポコウォッチャ11においては、上述の主制御部36の他、クラスタリング部37と、ランキング部38と、マイニング部39と、とが機能する。 FIG. 4 is a functional block diagram for realizing the mining function among the functions of the
As shown in FIG. 4, in the
ランキング部38は、従来より実現されていたランキング制御と同等機能を実現する。
マイニング部39は、従来のより実現されていたマイニングと同等機能を実現する。 The
The ranking
The
図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
6 illustrates an example of a hardware configuration that operates when the path control
In order to clearly distinguish the example of FIG. 5 from the example of FIG. 6, hereinafter, the
ここで、検索(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
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 (
A case where a search key is found in the
After the search hit, an action (or rule) is output from the
Specifically, for example, it is assumed that the search key 55_23_75_A4_53_10_89_bd is stored in the
従来の通常のメモリによるハードウェア構成(図5のメモリ部62のみの構成)では、検索動作(命令)を実行することができない。このため、従来においては、ネットワークIPアドレスの検索等をする場合、TCAM501(図14)という特殊なメモリを用いて検索動作が行われていた。TCAM501は、メモリセルの側にアドレスの比較器を設け、メモリセルに蓄積されているデータと検索キーとを比較する処理を全てのメモリセルで行うことで、検索動作を行う。
TCAM501を用いた検索における問題点は、全てのメモリセルに対して一斉並列にアクセスするため、消費電力が極めて大きいことである。 Such a search operation is necessary when executing various applications that cause the path control
In a conventional hardware configuration with a normal memory (a configuration with only the
The problem in the search using the
デコーダー622は、符号化されたデータ(入力されたアドレス)を復元する。ここでは、デコーダー622は、2進数の信号を展開する。例えばNビットであれば、デコーダー622により2Nに展開される。そして、デコーダー622は、展開した値に基づいて、メモリセルアレイ621の位置を選択し、選択された位置にデータを書き込み、或いは選択された位置からデータを読み出す。
センスアンプ&セレクター623は、メモリセルアレイ621から読み出されたデータを増幅するセンスアンプと、メモリセルアレイ621から読み出されたデータをアドレス信号に従って選択するセレクターを有している。
このように、メモリ部62単体は、書き込みと読み出しが動作(命令)の全てであり、検索の動作(命令)を有していない。
このため、本実施形態のポコウォッチャ11のように、検索の動作を通常のメモリ(メモリ部62)を用いて実現する場合、入力される検索キーをアドレスとして扱う必要がある。
メモリのアドレスを検索キーデータとし、メモリのデータをアクションとして定義し、検索データをアドレス入力することによってアクションデータをメモリから得ることが可能となる。しかしながらこの方式によれば、検索キーとして使用するビット幅が長い場合、メモリ容量が膨大になるという問題点がある。例えば64ビット長の検索キーの場合、メモリの総容量は2^64(≒16×10^18)となり、本願の出願当時の半導体技術において実現可能なメモリ容量よりもはるかに大きい。 Here, in the
The
The sense amplifier &
In this manner, the
Therefore, when the search operation is realized by using a normal memory (memory unit 62) as in the case of the
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.
ハッシュ生成器61は、入力された検索キーを、ハッシュ関数を用いてビット長を縮小する。例えばハッシュ生成器61は、検索キー64ビット長の入力に対して、16ビット幅の出力に圧縮する。
このように本実施形態の検索部51aは、検索可能なビット長を内部のハッシュ生成器61により縮小し、メモリ部62の搭載容量の制限や限界を加味しつつ、検索動作を可能とするものである。 Therefore, the
The
As described above, the
比較器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
The
For further details of the
検索部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
This is because if only the
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
In order to solve such a problem, the
フォワーディングでは、パケットのヘッダに記載されている宛先アドレス等から、パケットを出力するポート番号を決定する処理が必要になる。
ここで、宛先が決定されると一意的に出力ポート番号が決定されるような手法が採用された場合を考える。例えば、ポート番号を決定するに際し、宛先アドレス等と出力ポートの関係を記載したテーブルが用いられる場合である。このような場合、同じ宛先、若しくは同じ出力ポートの選択が多くなることによって、トラフィックの混雑が発生する。
このような一意的に決める手法ではトラフィックの迂回ができないため、フォワーディングでは、各フローのデータ量を蓄積して、これらのデータ量も考慮しながら出力ポートを決定するという手法が採用されている。この手法によれば、特定のフローへのヒットが多い場合には出力ポートが偏ってトラフィックが混雑することになるため、この混雑を避けるべく、各フローにヒットした回数や、流れたトラフィックの量をカウントする処理が必要になる。即ち、統計を蓄積して効率的なネットワークを構築する処理が必要になる。 For example, consider the forwarding of routers among search engine applications. This forwarding is realized by route control by the
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.
このメモリ部71は、通常のメモリと同様のハードウェア構成を有している。即ち、メモリ部71は、メモリセルアレイ711と、デコーダー712と、センスアンプ&セレクター713とを有している。このように、統計情報を蓄積するためのメモリ部71は、特殊なメモリセルではなく通常のメモリセルのため、図5の構成をポコウォッチャ11というシングルチップで実現可能になる。
メモリ部71は、統計情報を蓄積すべく、検索部51a(検索エンジン)においてヒットしたフローに対応する情報を蓄積する。即ち、メモリ部71は、ヒットした検索キー毎にアドレスを対応させ、そのアドレスに統計情報を蓄積する。 The statistical
The
The
演算部53の加算器81は、このようにして読み出された統計情報を加算することでアップデートして、メモリ部71の同一のアドレスに書き戻す。このように、加算器81は、読み出されたデータに対してデータを加算する装置である。加算器81が加算するのは検索部51aでヒットした時のみである。加算器81は、統計情報がパケット数である場合には、プラス1を加算し、統計情報がパケットサイズである場合には、読み出されたデータに対して、パケットのヘッダに記載されているパケットサイズを加算する。
ここで、ヒット/ミスの判定のためにメモリ部71から読み出されたデータと検索キーとを比較する必要がある。このため、検索部51aの比較器63のヒット信号により加算器81の動作が制御される。 The
The
Here, it is necessary to compare the data read from the
図6の例では、検索部51bのメモリ部62と統計情報処理部52bのメモリ部91とは一体形成されている。これにより、統計情報用のメモリセルアレイ911のうち、検索用のメモリセルアレイ621のアクションと同一行に対して、統計情報用のデータを書き込むことで、図5の例と等価な機能(例えば上述した経路制御)を実現することができる。
具体的な動作としては、ハッシュ生成器61は、外部から入力される宛先等のデータ(検索キー)をハッシュ関数に入力してビット数を縮退させる。この縮退されたデータが、メモリ(メモリ部62とメモリ部91)のアドレスとして使用される。メモリのデータに検索結果のアクションを入力しておけば、検索動作が実現できる。検索部51b側のメモリセルアレイ621からアクションを読みだす時に、統計情報処理部52b側のメモリセルアレイ911のうち、それと同一行に記載されている統計データを読み出す。検索結果がヒットであれば、演算部53は、読み出された統計情報を更新して、統計情報処理部52b側のメモリセルアレイ911における同一行に書き戻す。
一方、統計情報が読み出される場合には、検索キーが入力され、メモリセルアレイ911に蓄積されている統計情報のうち、検索キーに対応するアドレスに格納された統計情報が読み出される。 Similar to the
In the example of FIG. 6, the
As a specific operation, the
On the other hand, when the statistical information is read, a search key is input, and among the statistical information stored in the
図7に示す様に、メモリセルアレイ911を構成する各メモリセル(Word線と2本のbit線とで構成されるメモリセル)は、2つのセンスアンプ、セレクター、及び加算器81と接続されている。
従って、図示はしないが、メモリ部91の中に加算器81を挿入することもできる。この場合、読み出されてから書き戻すまでの時間が短縮可能になる。 FIG. 7 shows an enlarged view of the
As shown in FIG. 7, each memory cell (memory cell composed of a word line and two bit lines) constituting the
Therefore, although not shown, the
上述した様に、ポコウォッチャ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
As described above, the path control
Input data (such as a packet) for setting the route to the
On the other hand, the data (packets and the like) routed by the
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で実現可能になる(図3参照)。 As described above, the
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).
そして、経路制御、帯域制御、アクセス制御、トラヒック監視、バッファ等のネットワーク機能を拡張するためには、図14のDRAM503に加えて、特殊なメモリ(TCAM501やSRAM502)が必要であった。 Specifically, conventionally, a packet input from the outside is input from a predetermined communication device (for example, the
In order to expand network functions such as path control, bandwidth control, access control, traffic monitoring, and buffers, special memories (
この場合、ポコウォッチャ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
In this case, the constituent parts of the example of FIG. 5 or FIG. 6 of the
In this case, the
これにより、ネットワークプロセッサ12が有しているネットワーク機能の拡張として、バッファサイズの拡張、統計情報の拡張、経路制御の拡張等が実現可能になる。ここで、統計情報の拡張とは、例えば入力ポート毎の統計情報しか保持できなかった機能を、フロー毎に増やすことを意味する。このような統計情報の拡張により、統計の種類が増加するため、きめ細かな制御が可能になる。 For example, when the information processing system takes the configuration example of FIG. 1, the
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
従って、検索キーのビット幅を大きくする手法を採用することで、全てのアプリケーションに対応可能となり、一見有利にみえる。しかしながら、この手法では、検索キーを入力する時間が冗長となり、結局はシステム性能を劣化させるという問題点が生じる。
また、デバイス内部では、検索キーとの比較のためのメモリ容量が必要となり、余分なリソースを消費することになる。同一メモリ容量では、エントリ数が減るという問題点も生ずる。 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.
そこで、これらの問題点を解決するためには、モードレジスタで構成を切り替えることが可能な検索エンジンを採用するとよい。これにより、エントリ数が1/2になる代わりに、検索キーのビット数が2倍になる。アプリケーションに応じて構成を切り替えることで、1つのデバイス(ポコウォッチャ11)で多種のアプリケーションに最適な構成を提供できる。 In the search engine of the above-described embodiment, that is, the
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は、ポコウォッチャ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
ここで、主検索部92Aと主検索部92Bとの夫々は、図5の例の検索部51aと基本的に同様の機能と構成を有しているため、その詳細な説明は省略する。 As shown in FIG. 9, the
Here, since each of the
モードセット(モードレジスタの信号)は、アドレス変換回路91と選択回路93とに入力される。即ち、入力されるアドレスは、アドレス変換回路91においてモードセットにより切替えられ、検索結果は、選択回路93においてモードセットにより切替えられる。 In the example of FIG. 9, the search engine is divided into two parts, a
The mode set (mode register signal) is input to the
主検索部92Aと主検索部92Bとの夫々から出力されるアクションのうち、ヒット信号が活性しているアクション結果が、検索結果として選択回路93により選択されて出力される。
また、主検索部92Aと主検索部92Bとの夫々からミス信号が出力された場合、選択回路93は、ミスを出力する。 For example, in the example of FIG. 9, when the number of entries is doubled, the
Of the actions output from the
Further, when a miss signal is output from each of the
主検索部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
When the hit signal is active from each of the
When a miss signal is output from at least one of the
フィルタリングは、ブラックリスト方式と、ホワイトリスト方式とに大別される。
ブラックリスト方式は、ブラックリストに記述された既知のビット列を含む検索キーの情報を除外して、それ以外を出力する方式である。
ホワイトリスト方式は、ホワイトリストに記述された検索キーの情報を出力させる方式である。
ここで、ブラックリスト方式において、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に示す様に、検索部51dは、主検索部101Aと、主検索部101Bと、選択回路102とを備えている。
ここで、主検索部101Aと主検索部101Bとの夫々は、図5の例の検索部51aと基本的に同様の機能と構成を有しているため、その詳細な説明は省略する。
検索キーがマスクされる場合、入力される検索キーのビット数は減る。しかしながら、検索結果のアクションは複数個出力できるような構成にする必要があるため、図10に示す様な構成が取られる。
ここで、マスク信号が活性された場合は、選択回路102は、マスクに対応した検索テーブルに対応した検索エンジンから結果を出力する。 FIG. 10 is a hardware configuration example of the search engine of the
As shown in FIG. 10, the
Here, since each of the
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
例えば別の手法として、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の例では、検索エンジン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
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
By operating in this way, the search table can be enlarged.
大容量のテーブルを構築する場合の書き込みは、図12に示すように、最初に1つめの検索エンジン111Aに書き込みを行う。
この書き込みが成功した場合、2つめの検索エンジン111Bに書き込みを行わない。
一方、1つ目の検索エンジン111Aに対する書き込みが不成功の場合、2つ目の検索エンジン111Bへの書き込みを行う。 When a large-capacity search table is constructed, different tables are written to the
In the case of building a large-capacity table, as shown in FIG. 12, first, writing is performed to the
If this writing is successful, writing is not performed to the
On the other hand, if writing to the
しかしながら、検索エンジン111A,111Bと同様の機能を検索エンジンコントローラー110に設けることになることから、多くの場合リソースが足りなくなる。また無駄なリソースになるため、賢明な方法とはいえない。
逆に考えれば、書き込み完了信号を使うことで、簡単に検索テーブルの拡張は可能である。
なお、上述の例では、検索のテーブルを2倍に拡張する例を示したが、特にこれに限定されず、検索エンジン(LSI)の個数を増加させれば、それに比例して、検索のテーブルの容量を拡張することが容易にできる。 Note that the
However, since the same functions as those of the
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.
例えば、図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
For example, as shown in FIGS. 13 and 14, the
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
In the information processing system in the example of FIG. 13B, the
図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
The
In order to realize the SDN, the
For this reason, conventionally, although not shown, since the
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
The
As described above, the
即ち、本発明が適用されるメモリ機器は、
シングルチップで構成されるメモリ機器(例えば図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
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
A second memory unit (for example, the
An arithmetic unit (e.g.,
Can be provided.
前記メモリ機器(例えば図14のポコウォッチャ11-1乃至11-5)は、
前記個々の装置のうち接続されたもののトラヒックを監視してデータを取得して前記ネットワークコントローラへ送信する機能と、
前記ネットワークコントローラにおいて前記個々の装置のデータが解析されて前記個々の装置への制御情報が生成されて送信されてきた場合、当該制御情報を受信し、当該制御情報に基づいて前記個々の装置のうち接続されたものを制御する機能と、
を備える。 Further, individual devices constituting the network (for example, the
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.
ここで、汎用のDRAMとは、JEDECで規格されて標準化されたDRAMをいう。 By the way, the
Here, the general-purpose DRAM means a DRAM standardized by JEDEC.
ハッシュ生成機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
The
Here, the
The DDR DRAM is provided with a
As a mounting method of the
図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
As shown in FIG. 17, a
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
図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.
ネットワーク機能(図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
All of the network functions (FIG. 3) are inserted in the
Here, since the
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
Claims (9)
- シングルチップで構成されるメモリ機器であって、
ネットワーク機能のうち少なくとも、経路制御、帯域制御、トラヒック監視、バッファ、及びアクセス制御が機能する、
メモリ機器。 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. - 第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. - 前記検索部は、検索キーのビット幅を可変できる機能を有する、
請求項2に記載のメモリ機器。 The search unit has a function of changing a bit width of a search key;
The memory device according to claim 2. - 前記検索部は、情報の書き込みが成功か不成功かを示す判定信号を出力する機能を有する、
請求項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. - 前記検索部は、ホワイトリスト方式の前記アクセス制御と、ブラックリスト方式の前記アクセス制御とを選択的に実行する、
請求項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. - ネットワークを構成する個々の装置と、当該個々の装置を制御するネットワークコントローラとを含む情報処理システム内に、前記メモリ機器は、前記個々の装置毎に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. - メモリ部と、
前記ネットワーク機能を発揮させるネットワーク機能部と、
前記メモリ部と前記ネットワーク機能部との第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: - 前記セレクタ部は、メタルマスクとアドレスキーのうち少なくとも一方により実現される、
請求項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. - 前記ネットワーク機能部は、前記メモリ部に対するテストモード用の比較器群により構成される、
請求項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.
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)
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 |
-
2016
- 2016-08-09 WO PCT/JP2016/073477 patent/WO2017030054A1/en active Application Filing
Patent Citations (5)
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 |