WO2002091386A1 - Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau - Google Patents
Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau Download PDFInfo
- Publication number
- WO2002091386A1 WO2002091386A1 PCT/JP2001/003562 JP0103562W WO02091386A1 WO 2002091386 A1 WO2002091386 A1 WO 2002091386A1 JP 0103562 W JP0103562 W JP 0103562W WO 02091386 A1 WO02091386 A1 WO 02091386A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- search
- data
- associative memory
- bit
- primary
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
Definitions
- the present invention relates to an associative memory, a search method therefor, a network device, and a network system.
- the present invention relates to an associative memory having a search mask function, a search method therefor, and a network device and a network system using the same.
- Figure 33 shows a connection example of a conventional computer / network configuration.
- a user device for example, a computer terminal
- a specific network address according to the applicable rules.
- the net address is described as being represented by a multi-digit number, for example, a 3-digit number (abc).
- the predetermined rule is that, for example, the first number of the network address indicates a country such as the United Kingdom, the United States, Japan, and the like, and the second number indicates the country.
- the name of the city in the city, and the third number indicates the name of the company in the city, It has a hierarchical structure. Hereinafter, this hierarchy is referred to as a segment.
- Figure 33 schematically shows the hierarchical structure of the segments.
- one rectangle surrounded by a thick line is one segment.
- the first segment of the network address is segment 1
- the second segment is segment 2
- the first segment is 3. 3 exists as the highest segment.
- segment 1 there is a segment 4 with a network address with the top two numbers being 1.2, and a network with the top two numbers being 1.3.
- Work ⁇ There is a segment 5 that has an address.
- a user device PC401-1 that has a network address; L.2.6 is connected. ing.
- segment 2 In the hierarchy below segment 2, there is a segment 6 with a network 'address whose top two numbers are 2.3, and there is a netpage in segment 6 PC device 40 1 — 2 with network address 2.3.4 and user device PC 40 1 — 3 with network address 2.3.5 And are connected.
- segment 3 In the hierarchy below the segment 3, there is a segment 7 having a network address whose upper two numbers are 3.5. In the address illustrated in the figure, * means don't care.
- each of these net addresses is represented by a 9-bit string in which each digit is represented by an octal number.
- a network address (1.2. *) Is represented by a bit sequence (01.0.100.0.000).
- the bit string of this expression is referred to as storage data.
- * in the network address is a don't care
- the upper 6 bits of the bit string of the corresponding storage data (0 1 1 0 1 0.
- the bit is valid and the bits below it are invalid.
- this pair is referred to as structured data.
- this pair is referred to as structured data.
- it is represented by a bit string (111.11.1.00).
- “1” indicates a mask invalid state
- 0” indicates a mask valid state.
- Each segment has a network device, for example, a router, for transferring communication data between user devices participating in the network.
- segment 1 is network device 400-1; segment 2 is network device 400-2; and segment 3 is network device.
- the network device 400-6 and the segment 7 have the network device 400-7, respectively.
- each network device is connected to a network device or a user device immediately below the segment.
- the network devices 400-1 are network devices 400-2, network devices 400-3, and network devices 40-0. Also connected to 0-6.
- the network equipment included in each segment is used for communication data input from user equipment or other network equipment connected to the network equipment.
- a function for calculating whether or not transfer is possible based on a source network address and a destination network address and a transfer rule set in advance;
- Address and networking-It has a function to calculate the optimal transfer route based on the connection relationship between network devices and to generate the destination network address. Control.
- the communication data whose destination network address is (2.3.4) corresponding to the PC 410-122 is transmitted to the network device 400.
- the network device corresponding to the network address (2. *. *) Can be clearly seen from the figure.
- the network device 400-6 It is more optimal to transfer to the network device 400-6 corresponding to the network's address (2.3. *) Than to transfer it to 400-2.
- the network' address is used in the network device corresponding to the network address that matches the destination network 'address and the mask information in consideration of the mask information. It is optimal to select a network device that has the mask information with the least number of bits in the mask valid state.
- Table 1 (a) shows a setting example of the computer network transfer rules described in this example.
- Table 1 (a) Transfer rule 1 Transfer allowed from inside segment 4 to segment 2 Transfer rule 2 Segment "! From inside--Transfer allowed inside segment 3 Transfer rule 3 From segment 4 inside segment 6 Rejected transfer to the inside Transfer rule 4 Segment 4 Allowed transfer from PC401-11 in the segment 4 to PC401--2 in the segment 6 Transfer rule 5 Segment "! From inside, PC401 in the segment 6-- Rejected transfer to 3
- the network device controls the transfer of communication data and performs communication, thereby providing a finite communication line. Is used efficiently while ensuring safety.
- FIG. 34 is a block diagram showing a configuration example of a conventional network device.
- the conventional network device 42 is shown in FIG.
- the configuration and operation will be explained by taking the case where 0 to 1 is applied as an example.
- the network device 422 receives the input transfer data 402 as an input and outputs the output transfer data 403.
- the input transfer address 402 is a source network address 404, a transfer destination network address 405, and a destination network address 404. 0 6 and a data section 4 07.
- the output transfer server 403 includes a source network address 404, a second destination network address 408, and a destination network address. It has a address 406 and a data section 407.
- FIG. 34 shows an example in which the conventional network device 422 is applied to the network device 400-1 of FIG. 33, so that the input transfer data 4
- the transfer destination network address 402 of address 02 is, of course, the network address of network device 400-1.
- the network link device 4 2 2 includes a source network address extraction unit 409, a destination network ⁇ address extraction unit 4 10, and an associative memory 10. 1, a CPU 4 13, an encoder 4 14, a memory 4 16, a destination network / address change unit 4 18, and a data transfer unit 4 21 .
- the source network address extraction unit 409 outputs the source network address 404 of the input transfer data 402 to the source network address. 'Extract as address information 4 1 1 and input to CPU 4 13.
- the destination network address / address extraction unit 410 receives the destination network of the input transfer data 402 and the destination network address information 410 to the destination network address information 410. Extracted as 2 and input to associative memory 101 and CPU 413.
- the network device 422 includes a segment to which oneself belongs among network devices connected to the network device 422 in the network.
- the network address of the segment to which the network device outside the network belongs is stored in the associative memory 101 of the associative memory 101.
- FIG. 34 shows an example in which the conventional network device 4 ⁇ 22 is applied to the network device 400-1 in FIG. 33, so the associative memo is used.
- the network address ( 2. *. *) Of the segment 2 to which the network device 400-2 belongs is stored in the word 102-1 as described above. De night (0 1
- the associative memory 101 has a function to write and read stored data by specifying an address in the same way as a normal memory, as well as input destination network address information 4 Matching line 1 0 5 — 1 that corresponds to the storage data that has the least number of bits in the mask valid state of the mask information among the storage data that match as a result of comparing 1 2 with the corresponding mask information. ⁇ 1 0 5 — Has the function to make 3 valid.
- As the associative memory 101 for example, there is Japanese Patent Application No. 2000-0-181046.
- the match lines 1 05-1 to 1 0 5-3 output from the associative memory 101 are encoded into the memory address signal 4 15 by the encoder 4 14.
- the memory 416 contains the associative memory of the associative memory 101.
- the network address of the segment consisting of the stored data and mask information stored in the word The network address of the corresponding network device is stored in the word of the same address as the storage address of the associative memory 101. For example, the address (2. *. *) Is stored in the associative memory 'word' 102-1 of the associative memory 101, and the corresponding address in FIG.
- the network address of network device 400-2 is stored in word 4 of memory 416.
- the address of the network device 400 — 6 is assigned to word 2 of the memory 416, and the address of the network device 400 — 3 is assigned to the word 3 of word 3. Is stored.
- the memory 416 outputs the stored data designated as the memory address signal 415 as the read address as the memory data signal 417.
- the transfer destination network / address change unit 4 18 The changed transfer data 4 19 is generated by changing the transfer destination network 'address 4 0 5 of 4 0 2 to the value of the memory' data signal 4 17. Input to overnight transfer section 4 2 1.
- the CPU 413 sends the source network address information 411 and the destination network address information 412 based on the transfer rules shown in Table 1 (b). Judge whether transfer is possible or not and input the judgment result to the data transfer section 4 21 as a transfer control signal 420.
- the data transfer section 4 21 outputs the changed transfer data 4 19 as output transfer data 4 3 if the transfer control signal 4 2 0 permits transfer, and outputs the transfer control signal 4 2 No output if 0 rejects the transfer.
- the source network address 404 of the input transfer data 402 is (1.2.3)
- the destination network address 406 is (3.
- the matching line corresponding to (3. *. *) Stored in the associative memory word 102-3. 1 0 5 — 3 outputs valid status.
- the encoder 4 14 outputs “3” as the memory address 4 15, and the memory 4 16 outputs the network address of the network device 400-3. Output as a memory signal 4 17.
- the transfer destination network address change unit 418 allows the transfer destination network of the input transfer data 402 to be transferred to the network device. Change to the net address of 4 0 0-3 and input the changed transfer data 4 19 into the data transfer section 4 2 1.
- the source network address information 411 is (1.2.3), and the destination network address information 412 is (3.5.3).
- the CPU 4 13 applies the transfer rule 2 and inputs the transfer control signal 4 20 in the transfer permission state to the data transfer section 4 2 1.
- the data transfer section 421 transfers the changed transfer data 419 to the network device 400-3 as the output transfer data 403.
- Network devices 4 0 0-3 perform the same operation as described above based on the transferred data, and secure security for network devices along the optimal route one after another in the evening. It continues to be transferred while, finally destination Ne Uz preparative work. a de-less (3. 5.6) can be transferred to the user equipment having a.
- FIG. 28 is a block diagram showing a configuration example of a conventional associative memory.
- the associative memory 101 is composed of an n-bit two-input one-output selector 123 and an n-bit m-word associative memory 1102—1 to L0 2—m. , An n-bit latch 121, a control circuit 130, and logic gates 1 16 — 1 to 1 16 — n.
- the j-th associative memory word 1 0 2 -j has n associative memory 'cells 1 0 7 — j 1 1 to 1 0 7 — j 1 n.
- the j-th associative memory word 1 0 2 — j has the corresponding data 'word line 1 0 3 — j, mask' word line 106-j, and the comparison control signal 10 4 are connected for input, and the corresponding match line 1 0 5 — j, and n match data intermediate logic lines 1 1 4 1 1 to 1 1 4 1 n are connected for output, n
- the bit lines 1 1 3 — 1 to 1 1 3 — n are connected for input and output.
- the j-th associative memory word 1 0 2 the k-th associative memory of j 'cell 1 0 7 — j — k has the corresponding data word line 1 0 3 — j
- the mask word line 106-j and the comparison control signal 104 are connected for input, and the corresponding match line 105-j and the match data intermediate logic line 114-k are output.
- Bit lines 1 1 3—k are connected for input and output.
- the associative memory 'cell 1 07 — j — k stores the corresponding bit information of the storage data input from the outside via the bit line 1 13 — k
- the data 'cell 108-j-k and the bit information stored in the data' cell 108-j-k and the information input from outside via the bit line 113-k Comparator 1 1 0 — j — k and mask that stores the corresponding bit information of the mask information input from the outside via bit line 1 13 3 — k 'cell 1 09 — j — k And a logic gate 1 1 1 1 1 j 1 k.
- the corresponding data' cell 1 0 8-j-k has the invalid state of the stored data.
- the mask valid state of the mask information is "0”
- the mask invalid state is "1”
- the valid state of the storage device is "1”
- the invalid state is "0”.
- the valid state of the coincidence data OR line 1 17—1 to 1 1 7—n is set to “1” and the invalid state is set to “0”.
- the valid state of the match line 1 0 5 — 1 to 1 0 5 — m is “1”, and the invalid state is “0”.
- Data 'cell 1 08—j—k is written to the corresponding bit line 1 13—k when the corresponding data word line 103–j is enabled, and the data is driven. If the corresponding bit line 113-k is not driven, the stored data is output to the corresponding bit line 113-k if the corresponding bit line 113-k is not driven. To If the corresponding data line 1 0 3—j is inactive, no operation is performed on bit line 1 13—k. Also, regardless of the value of the corresponding data word line 103-j, the stored data stored is the same associative memory. Output to j — k and logic gate 1 1 1 — j — k.
- Mask 'cell 1 09-j---k is written to the corresponding bit line 1 13-k when the corresponding mask word line 106-j is enabled.
- the write data as mask information Stores and outputs the stored mask information to the corresponding bit line 1 13—k if the corresponding bit line 1 13—k is not driven Corresponding mask word line 1 If 0 6—j is in an invalid state, no operation is performed on bit line 1 13—k. Also, regardless of the value of the corresponding mask-word line 106-j, the stored mask information is stored in the same associative memory 'cell 1 07- :) ⁇ Comparator 1 1 in 1k 0— j is output to k.
- the match lines 105-1-1 to 105-m are precharged to a high level before the start of the search operation, and are in the valid state "1".
- Comparator 1 1 0 — j — k is the corresponding pit line 1 1 3 — k and the same associative memory 'cell 1 0 7 — :)' data in 1 k 'cell 1 0 8 — Input the memory data stored in j — k, the mask 'cell 1 09 — the mask information stored in j — k, and the comparison control signal 104.
- the comparison control signal 104 is in the invalid state "0" and the mask information is the mask valid state "0”
- the comparator 1 1 0—j—k releases the corresponding match line 1 05—j Otherwise, if the value of bit line 113-k matches the stored data, the corresponding match line 105-J is opened, otherwise it is disabled.
- Associative memory When n comparators in word 1 0 2 — j 1 1 0 — j — 1 to 1 1 0 — j — n are all open match lines 1 0 5 — j In addition, the match line 1 05—j is in the valid state “1”, otherwise it is in the invalid state “0,”. The valid state “1,” of the match line 105 is true. -Configure the AND logic connection. That is, at the time of the search operation, the associative memo is excluded except for bits that are excluded from the comparison because the comparison control signal 104 is in the invalid state “0” and the mask information is the mask valid state “0”. Reword 1 0 2 — The stored data stored in j and the bit line 1 1 3 1 1 to 1 1 3 — Match line 1 0 5—j only if n is exactly the same Becomes valid state "1", otherwise becomes invalid state "0".
- Logic gate 1 1 1 — j-1 k is the same associative memory word 1 0 1 — Matching line 1 0 5—j in j is valid state “1” and the same associative memory 'cell 1 0 7— j — data in k 'k 1 0 8— j — When the stored data stored in k is valid, the corresponding matched data intermediate theory Is output, otherwise it is left open. In this example, since the valid state of the stored data is "1", the stored data stored in the data cell 1 08—j—k is “1” and the coincidence line 1 05—j is “1”. When "1”, "0" is output to the corresponding coincident data intermediate logic line 1 1 4 — k, otherwise, the release status is output.
- Each match data intermediate logic line 1 1 1 4 1 k is pulled up by a resistor 1 1 1 5 k, and the corresponding m logic gates 1 1 1 1 1 k 1 1 1 1 1 m-k constitute a wired logical connection. Therefore, the connected m logic gates 1 1 1 1 1 1 1 k-: L 1 1 1 m-k are all coincident data intermediate logic lines 1 1 4-k are open. In this case, the matching data intermediate logic lines 114-k become “1", otherwise, they become "0". In other words, it is a wired AND connection with "1" set to true.
- Logic gates 1 16—1 to 1 16—n invert the logic states of the corresponding match data intermediate logic lines 1 1 4 1 1 to 1 1 4 1 n, and match data logic OR lines 1 1 7 — 1 to 1 1 7—Output as n.
- the coincident data OR line 1 17—k has m logical gates 1 1 1—1—k to l 1 1—m—k and the coincident data intermediate logical line 1 14—k , Resistance 1 15—k and logic gate 1 16— All associative memory cells 1 0 7 — 1 — k to l 0 7 — m — k with a match line 1 0 5 — 1 to 1 0 5 — m that is in the valid state “1” during the search operation
- the result of performing a logical OR operation on the stored data stored in cells 108-1-1 — 1 to 108_m—k with the valid state of the stored data set to true Will be obtained.
- the result of the OR operation with the valid state "1" of the stored data set to true is obtained.
- the match data OR lines 1 17 — 1 to 1 1 7 — n have the most invalid state among the stored data that matched the search data 1 12 during the search operation.
- the same value as stored data with a small number of "0" bits will be output.
- the n-bit latch 122 stores the state of the coincidence data OR line 1117_1 to 117—n internally when the latch control signal 122 is enabled. . In addition, the stored state is output to the latch output lines 12 0 — 1 to 12 0 1 n.
- the n-bit 2 input 1 output selector 1 2 3 outputs the data output to the bit line 1 1 3 —;! to 1 13 _n according to the state of the selection signal 1 2 4. Select one of search data 1 1 2 — 1 to 1 1 2 — n and latch output line 1 2 0 — 1 to 1 2 0 — n.
- the control circuit 130 controls the operation of the associative memory 101, so that the latch control signal 122, the selection signal 124, and the comparison signal are synchronized with the clock signal 131. Outputs control signal 104.
- FIG. 29 shows a configuration example of a conventional associative memory 'cell 107.
- the two bit lines 1-1-13a and 113b correspond to the bit lines shown in FIG. 28, however, in FIG. — Represented by i.
- Memory is connected via these two bit lines.
- 108 is an inverted logic gate (G101), an inverted logic gate (G102), and an inverted logic gate (G101), whose inputs and outputs are connected to each other. 2) Connect the output of 302 to the bit line 113a, and set the data line 103 to high.
- a MOS transistor (T101) 3 that becomes conductive when it is at the high level 0 3 and the output of the inverted logic gate (G101) 3 01 connected to bit line 113b and data is turned on when word line 103 is high.
- This is a general SRAM element composed of a 0S transistor (T102) 304.
- the mask cell 109 also has an inverting logic gate (G103) 310 with its inputs and outputs connected to each other, an inverting logic gate (G104) 311, and an inverting logic gate (G104).
- the output of the gate (G104) 311 is connected to the bit line 113a, and the mask word line 106 is high.
- a MOS transistor (T1 0 8) 3 1 2 and the output of the inverted logic gate (G 10 3) 3 10 are connected to bit line 1 13 b and masked.
- This is a general static SRAM element composed of an M 0 S transistor (T 1 09) 3 13 which becomes conductive.
- the comparator 110 is a MOS transistor (T103) 305, a MOS transistor (T104) 306, a MOS transistor (T105) 307, a MOS transistor (T105). It consists of T106) 308 and MOS transistor (T107) 309. MOS transistor (T10.3) 305 and MOS transistor (T104) 306 Are inserted in series between the bit lines 113a and 113b.
- M0S transistor (T103) 305 is at data level when the output of the inversion logic gate (G101) 301 in cell 108 is high. It becomes conductive.
- the MOS transistor (T104) 306 is conducting when the output of the inverted logic gate (G102) 302 in the data cell 108 is at a high level. .
- the MOS transistor (T106) 308 and the MOS transistor (T107) 309 are connected in parallel, and the two MOS transistors connected in parallel form the MOS transistor (T106). Along with T105) 307, it is inserted in series between the match line 105 and the low potential.
- the MOS transistor (T106) 308 becomes conductive when the output of the inverted logic gate (G104) 311 in the mask cell 109 is high-level.
- the MOS transistor (T107) 309 is turned on when the comparison control signal 104 is in the valid state "1".
- the MOS transistor (T105) 307 has a high potential at the connection point between the MOS transistor (T103) 305 and the MOS transistor (T104) 306. ⁇ Conducted at level. Both the output of the bit line 113a and the inverted logic gate (G101) 301 are high. ⁇ Rail or bit line 113b and the inverted logic gate (G102) ) When both outputs of 302 are in the high level, the connection point of MOS transistor (T103) 305 and MOS transistor (T104) 306 is no As a result, the MOS transistor (T105) 307 is brought into the conducting state.
- MOS transistor (T 1 0 5) 3 0 7 becomes conductive.
- MOS transistor (T106) 308 is stored in mask-cell 109 When the mask information is “0”, it is open, and when it is “1,”, it becomes conductive.
- the match line 105 is pre-charged to a high potential before starting the search operation.
- a plurality of associative memory cells 107 are connected to the MOS transistor (T106) 308 and the MOS transistor (T107) 3 When connected via 0 9, even if one associative memory cell 107 outputs a low level, the match line 105 becomes a low level. Connection.
- the associative memory cell 1 0 7 When the MOS transistor (T105) 307 is conducting, the MOS transistor (T106) 308 connected in parallel and the MOS transistor (T107) 3 If at least one of 0 9 is conductive, the associative memory cell 1 0 7 outputs an invalid state “0” to the match line 1 0 5, otherwise the match line 1 0 5 is released. I do. In other words, when the mask information is in the mask valid state “0” and the comparison control signal 104 is in the invalid state “0”, the match line 1 05 regardless of the comparison result between the search data 112 and the stored data Is set to the open state, otherwise, the search data 1 1 2 and the data stored in cell 1 08 on the data lines 11 3 a and 11 3 b are stored. If the values match each other, it is set to the open state, and if they are different, the invalid state "0" is output.
- the match data intermediate logic line 114 is pulled up by the resistor 115 shown in Fig. 28 and is set to "1" before the search operation.
- the logic gate 111 is composed of a MOS transistor (T110) 314 inserted in series between the match data intermediate logic line 114 and the low potential, and an M0S transistor. Evening (Tl1 1) consists of 3 15. MOS transistor (T110) 314 conducts when match line 105 is in valid state "1" In the invalid state “0 ,, the state is open.
- the MOS transistor (Till) 315 is the inversion logic gate (G102) inside the data cell 108.
- Fig. 31 shows the timing chart at that time.
- the associative memory 101 is composed of three 9-bit words, and the memory data stored in each of the associative memory words 10 2—1 to 10
- the network information stores network information other than the network address (1. *. *) Of the network device 400-1 in FIG. 33.
- the bit of the don't care "*” state in the connection information stores the corresponding bit of the stored data in the invalid state "0" of the stored data, and masks the corresponding bit of the mask information. It is represented by the valid state "0, '.
- the associative memory 'word 1 0 2-1-1 represents (2 *. *)
- the stored data is represented by binary numbers (0 1 0 0 0 0 0.
- the associative memory word 102--2 contains (2. 3. *) is represented by structured data, so (0 1 0. 0 1 1.1.0 0 0) is stored as binary data in the storage data and (1 1 1. 1 1 1. 0) is used as mask information. 0 0) is stored.
- the selection signal 124 output from the control circuit 130 causes the n-bit 2-input 1-output selector 123 to search for the data 1 Select 1 2 and output to bit line 1 1 3—1 to L 1 3—9. Also, the control circuit 130 outputs an invalid state “0” to the comparison control signal 104, and in each of the associative memory cells 107-1-1—1 to 107—m—ri, Regardless of the result of comparison between the corresponding bits of the stored data and the search data 112, the corresponding match line 105 is set to the released state when the mask information in the mask data is in the mask valid state "0". Permission to do so. In other words, the comparison takes into account don't care "*".
- the octal representation (2. *. *) Stored in the associative memory 'word 1 02-1' of the associative memory 101 and the associative memory 'word 1 0 2—2
- the octal representation (2.3 *) stored in the matches the search data 1 12 on the bit lines 1 13 3 1 to L 13 9. Therefore, as a result of the primary search, two matching lines 1 0 5 — 1 and 1 0 5 — 2 are in the valid state “1”, and the remaining lines are “1”.
- the match line 1 0 5—3 is invalid "0".
- the storage data “0” corresponding to the coincidence data intermediate logic line 1 141-1 in the associative memory node 102-1 is obtained.
- the associative memory 'word 1 0 2-2 The logical sum result "0" of the storage data "0” corresponding to the coincident data intermediate logic line 1 1 4-1 in "2" with "1" set to true Is output.
- the latch control signal 1 22 output from the control circuit 1-30 is enabled, and the n-bit latch 1 2 1 is set to the match data OR line 1 1 7—1 to 1 1 7 — Stores the state of 9 internally. Therefore, n The latch 1 2 1 stores "0 1 0 0 1 1 0 0 0" in binary notation and outputs the value to the latch output lines 1 2 0-1 to 1 2 0-9.
- timing (3) in FIG. 31 is inserted to make the states of the clock signals 13 1 of both the timing (2) and the evening timing (4) the same. Therefore, the associative memory 101 keeps the final state of the timing (2).
- the n-bit 2 input 1 output selector 123 outputs a latch output by the selection signal 124 output from the control circuit 130.
- the associative memory 1 0 1 starts a secondary search.
- the result of the primary search executed at timing (2) held in the matching lines 1 05-1 to 1 0 5-3 is used.
- two match lines 1 0 5 — 1 and 1 0 5 — 2 hold the valid state “1”
- the data match line 1 0 5 — 3 holds the invalid state “0” are doing.
- each associative memory 'cell 1 0 7 — 1 — 1 to 1 0 7 — ⁇ — ⁇ is the bit line corresponding to the stored data in it, regardless of the mask information in it.
- the comparison result of 1 13 does not match, the invalid state “0” is output to the match line 1 05.
- the memory data stored in each of the associative memory words 10 2 — 1 to 10 2 — 3 and the bit lines 11 are taken into account without considering the don't care “*”. Compare with the state of 3—1 to 1 1 3—9 “0 1 0 0 1 1 0 0 0”.
- match line 1 05-2 The only thing that continues to do is match line 1 05-2.
- the match line corresponding to the storage data having the least number of mask-enabled bits in the mask information among the storage data that match as a result of the comparison between the input search data 1 12 and the corresponding mask information in consideration of the corresponding mask information It can be seen that the valid state is output only to 105-5-2.
- a plurality of network addresses expressed as a set of storage data and mask information are stored in one word of the associative memory.
- a plurality of network addresses entered for the search are compared with the corresponding mask information in consideration of the corresponding mask information. It is not possible to output storage data that minimizes the bit of the mask valid state in the mask information area corresponding to the storage data area corresponding to the address.
- the PC 40 1-1 having a network address (1.2.6) is a PC having a network address (2.3.5).
- FIG. 32 an operation example will be described in which data transfer to 4 0 1 to 3 is determined by using a conventional associative memory 101 as to whether transfer is possible or not.
- the source network of each transfer rule In the transfer rules 1 to 5 in Table 1 (b), the source network of each transfer rule, the address and the destination network, and the 9-bit storage data of the address, The 9-bit mask information is concatenated with each other to form an 18-bit mask.
- Stored data, concatenated, and the network address of the source of each transfer rule 1 Stores a set of 9-bit stored data and a structured data expressed by mask information It is assumed that
- the associative memory 101 has 18 bits and 5 words.
- Table 1 (b) the 9-bit stored data and the 9-bit mask information that constitute the 9-bit structured data of the source network address of each transfer rule are shown in FIG.
- the associative memory word 10 2 — 1 1 0 2 — 5 corresponding to the transfer rule is stored as the upper 9 bits of the stored data and mask information.
- the information shall be stored as the lower 9 bits of the associative memory word 10 2 — 1 10 2 — 5 corresponding to the transfer rule, respectively, as stored data and mask information.
- Fig. 32 shows the 18-bit structured data stored in each of the associative memory codes 10 2-1 1 0 2-5 of the associative memory 101. It is as follows.
- the associative memory 101 converts the search data 112 of (1.2.6.23.5.5) in octal notation to the bit line 1. 13 and a comparison is made taking into account the stored data stored in the associative memory word 102-1-1 and L02-5 and the corresponding mask information.
- the octal representation (1.2. * 2. *. *) Stored in the associative memory word 102-1-1 and the associative memory word 102-2-3
- the octal representation (1.2. * 2.3. *) Stored in the associative memory word 102--5 and the 8 true representation (1. *. * 2) stored in the associative memory word 102-5 3.5.5) matches the search data 1 1 2 on the bit line 1 13.
- the match line 1 0 5 — 1, 1 0 5 — 3, 1 0 5 — 5 are in the valid state “1”, and the remaining matching lines 1 0 5 — 2, 1 0 5-4 are in the invalid state “0” Obviously, as the result of the primary search, the match line 1 0 5 — 1, 1 0 5 — 3, 1 0 5 — 5 are in the valid state “1”, and the remaining matching lines 1 0 5 — 2, 1 0 5-4 are in the invalid state “0” Obviously, as the result of the primary search, the match line 1 0 5 — 1, 1 0 5 — 3, 1 0 5 — 5 are in the valid state “1”, and the remaining matching lines 1 0 5 — 2, 1 0 5-4 are in the invalid state “0” Obviously, as the result of the primary search, the match line 1 0 5 — 1, 1 0 5 — 3, 1 0 5 — 5 are in the valid state “1”, and the remaining matching lines 1 0 5 — 2, 1 0 5-4 are
- the corresponding match line 105 holds the valid state “1” 18
- a logical sum result with "1" set to true is obtained and stored in the n-bit latch 102.
- the octal representation stored in the associative memory word 102-1 — 1 is (12.0.2.0.0.0), and the binary representation is "01.01.010.
- the associative memory 101 is in the state of the latch output line 120, in octal notation (1. 2. 0 2. 3.5) And outputs "001.001.0.101.101" in binary notation to bit line 113, and associative memory word 10 2 — 1 to: Compares the stored data stored in L 0 2 — 5 without considering the corresponding mask information. At this time, all storage data stored in the associative memory word 1 0 2 — 1 to 1 0 2 — 5 will not match, and all matching lines 1 0 5 — 1 to 1 0 5 — 5 will be invalid Outputs state "0".
- the input transfer data the source network address and the destination network in the evening—the transfer rules for the address.
- the function of determining whether or not transfer is possible based on the above has been realized by software processing using a binary tree search algorithm or the like by the CPU as described above. This software processing requires several hundred clocks or more, and the transfer destination network ⁇
- an object of the present invention is to provide an input data composed of a plurality of search areas.
- the search area is considered in consideration of priority. Associating a signal that identifies the word that minimizes the number of masked bits in the masked state of the mask information in the matched codes To provide memory.
- Another object of the present invention is to reduce the total cost of a networked device that performs a high-speed transfer availability determination.
- the associative memory of the present invention provides, as means 1, a mask that can be set by a valid state or an invalid state according to whether or not one or more bits of storage data are excluded from a search target.
- a mask that can be set by a valid state or an invalid state according to whether or not one or more bits of storage data are excluded from a search target.
- N is an integer of 2 or more
- One or more bits of the stored data corresponding to the valid state are excluded from the search target.
- a primary search signal is identified. Search means,
- Intermediate data generating means for outputting the generated intermediate data
- each of the partial bit areas obtained by dividing the intermediate data into N is input, and the word is determined according to the state of the secondary search control signal. It is possible to control whether or not to perform a secondary search selectively only on the bit area of the storage data or the mask information corresponding to the partial bit area in, and the search result is selected.
- the word validity information indicating whether or not the corresponding word is continuously selected for each word is updated each time the primary search and each secondary search are executed.
- Control means for outputting the secondary search control signal so as to execute the secondary search.
- the associative memory of the present invention provides, as means 2, a mask that can be set according to an enabled state or an inactive state as to whether or not to be excluded from a search target for each bit or a plurality of bits of stored data.
- a mask that can be set according to an enabled state or an inactive state as to whether or not to be excluded from a search target for each bit or a plurality of bits of stored data.
- N is an integer of 2 or more
- a primary search means for outputting a primary identification signal for identifying a bit selected as a result of a primary search for excluding one or more bits from a search target;
- a logical operation is performed by inputting one or more sets of stored data corresponding to the word that is still selected, mask information corresponding to the word, and external search data.
- each of the partial bit areas obtained by dividing the intermediate data into N pieces is input and corresponds to the partial bit area in the code.
- N secondary search means for outputting a secondary identification signal for identifying a selected code as a result of performing a secondary search selectively only on the bit area of the stored data or mask information
- the N intermediate data generation means and the N secondary search means include: a first intermediate data generation means; a first intermediate data generated as a result of the primary search; A first secondary search is performed on the first partial bit area by inputting to the search means, and the second intermediate data generation means generates the second intermediate data generated as a result of the first secondary search.
- the second data is input to the second secondary search means, and the second secondary search is performed on the second partial bit area.
- the third intermediate data generator generates the second secondary search.
- the third intermediate data generated as a result of the above is input to the third secondary search means, and a secondary search is performed on the third partial bit area.
- the N-th intermediate data generating means inputs the N-th intermediate data generated as a result of the (N-1) -th secondary search into the N-th secondary search means, and sets the N-th intermediate data in the N-th partial bit area. And perform a secondary search.
- a word corresponding to each word is selected through the primary search and each secondary search.
- the word valid information of whether or not the search is continued is updated and stored every time a secondary search is executed for each of the J-th to K-th (J and K are 1 or more and N or less), and the selection state of each word
- a signal indicating the selected state of the word is input and one or more of the stored data corresponding to the word in the selected state, the mask information corresponding to the word, and the external search data are selected.
- the secondary search is selectively performed only on the pit area corresponding to the J-th to K-th partial bit areas of the stored data or mask information in the word.
- One or more shared secondary search means capable of controlling whether or not to execute a search and outputting a signal identifying a word selected as a result of the search;
- the secondary search control signal is output so as to sequentially execute the K-th secondary search from the J-th secondary search, and the word valid information in the storage unit is updated every time the secondary search is performed.
- Control means for outputting the storage control signal
- the associative memory of the present invention is provided as means 4 in the primary search means,
- One or more attribute data is set as a search data and the stored data is stored.
- a second associative memory for outputting as a search result an attribute matching signal corresponding to the word in which the word is stored,
- the corresponding attribute match signal indicates a match as a result of the search of the attribute data in the second associative memory. Is output.
- An associative memory according to the present invention includes:
- the primary search enable signal When the primary search enable signal is in the valid state, all bits of the external search data are used as the search data, and the mask data is in the mask valid state for each word. Performs a primary search that excludes a bit or multiple bits from the search target.
- the secondary search control signal When the secondary search control signal is valid, it is specified by the state of the secondary search control signal of the stored data or mask information in the word. Means for performing a secondary search selectively only on the bit area to be
- the associative memory includes, as means 6, a primary identification signal output by the primary search means and a first to N-th secondary identification signals output by the N secondary search means. Means for storing one or more of them, and means for storing one or more of the first to N-th intermediate data, thereby achieving pipeline processing. It makes it possible.
- the associative memory according to the present invention includes, as a means 7, whether or not a corresponding word is continuously selected for each word through the primary search and each secondary search input to the intermediate data generating means.
- the wiring for inputting the information to the intermediate data generating means and the wiring for the primary identification signal or the secondary identification signal are formed. They are shared.
- the associative memory of the present invention assigns each partial bit area of the intermediate data the same priority as the corresponding partial bit area of the external search data, and assigns the intermediate data
- the secondary search is executed for the partial bit areas in order from the highest priority to the lowest priority as a search data.
- the associative memory according to the present invention includes, as means 9, one bit or a plurality of bits that are excluded from the search target by the mask information corresponding to the primary search as the storage data.
- a specific bit pattern is stored, and, as a secondary search, the storage data or the partial bit area to be searched for the storage data is the intermediate data input as search data.
- a word that matches the data or the partial bit area of the intermediate data is selected.
- the associative memory of the present invention as means 10, is excluded from the search target by the mask information corresponding to the primary search in the stored data.
- a single bit or a plurality of bits to be searched is a specific bit.
- a secondary search is performed assuming that the pattern is a pattern. In this case, the intermediate data input as the search data or a code matching the partial bit area of the intermediate data is output.
- the specific bit pattern is configured such that all the bits are in an invalid state of stored data.
- the logical operation is a logical sum operation in which the valid state of the storage data corresponding to the word in the selected state is true.
- the result of the logical sum operation is defined as the intermediate data, and the secondary search selects a word having a stored data that matches the intermediate data.
- the logical operation is an AND operation of mask information corresponding to the words in the selected state, the true state of the mask information being true, If the bit of the logical product operation result is in a mask information invalid state, the information of the same bit position of the external search data is set to the state of the same bit position in the intermediate data, and the logical product operation is performed. If the pit of the result is the valid state of the mask information, the invalid state of the stored data is regarded as the state of the same bit position of the intermediate data to generate the intermediate data, and the secondary search performs the secondary search. This is to select a code that has a memory date and time that matches that of the night.
- the logical operation is a logical AND operation between mask information corresponding to the selected words in which the valid state of the mask information is true.
- the result of the AND operation is defined as intermediate data, and the secondary search has mask information that matches the intermediate data.
- a word that has been selected by that time is selected.
- the network device of the present invention includes, as means 15, a source network address and a destination network address associated with the input transfer data as a component. Judgment input data is used as search data. One or more transfer rules are searched to determine whether or not the input data can be transferred, based on a matching state when the search is performed.
- the transfer rule includes: storage data including a bit area corresponding to each component of the determination input data; transfer enable / disable information; and one or more of the transfer rules in the storage data.
- storage data including a bit area corresponding to each component of the determination input data; transfer enable / disable information; and one or more of the transfer rules in the storage data.
- the judgment input data including the source network address and the destination network address associated with the input transfer data as constituent elements are retrieved as search data, and the transfer is performed. Performs a primary search that excludes one or more bits of the corresponding storage data from the search target corresponding to the case where the mask information is mask-enabled for each rule.
- one or a plurality of transfer rules that are continuously selected each time in the primary search and the secondary search are configured.
- the structure of the intermediate data updated by the result of the logical operation with one or more sets among the stored data, the mask information, and the judgment input data.
- the bit area corresponding to the component is used as search data, and the next search is selectively executed for the storage data or mask information of the bit area corresponding to the component, and
- the transfer of the input transfer data is determined.
- the network device includes, as means 16, a determination that includes, as constituent elements, a source network address and a destination network address associated with the input transfer data.
- the input data is used as search data.
- One or more transfer rules are searched to determine whether or not the input transfer data can be transferred, based on a match state, and
- the transfer rule includes a storage data including a bit area corresponding to each component of the determination input data, transfer enable / disable information, and one or more of the transfer rules in the storage data.
- a network device having a transfer rule table represented by mask information indicating whether or not one or more of a 1-bit or multi-bit area is excluded from a search target,
- a primary search means for outputting a primary identification signal for identifying a transfer rule selected as a result of performing a primary search for excluding the search rule from a search target;
- Intermediate data generating means for outputting the generated intermediate data
- the intermediate data One of each of the partial bit areas obtained by dividing the data is input, and a secondary search control signal is applied to the bit area of the storage data or mask information corresponding to the partial bit area in the transfer rule.
- a secondary search control signal is applied to the bit area of the storage data or mask information corresponding to the partial bit area in the transfer rule.
- One or more shared secondary searches that can selectively control whether or not to perform a secondary search and output a secondary identification signal that identifies the transfer rule selected as a result of the search Means,
- the transfer rule validity information indicating whether or not the corresponding transfer rule continues to be selected for each transfer rule is updated each time the primary search and each secondary search are executed.
- the secondary search is sequentially performed using the partial bit areas of the intermediate data as search data.
- the network device of the present invention may include, as means 17, a network device including a source network address and a destination network address associated with the input transfer data.
- the judgment input data composed of a number of elements (N is an integer of 2 or more) is used as the search data, and is determined by the matching state when one or more transfer rules are searched. Determines whether transfer of input transfer data is possible,
- the transfer rule includes a storage data including a bit area corresponding to each component of the judgment input data, transfer enable / disable information, and the storage data for one or more of the transfer rules.
- One or more bits in the evening A network device having a transfer rule table represented by mask information indicating whether one or more of the network regions is excluded from the search target.
- a primary search means for outputting a primary identification signal for identifying a transfer rule selected as a result of performing the primary search
- a logical operation that takes as input one or more sets of stored data corresponding to the transfer rule that continues to be selected, mask information corresponding to the word, and external search data N intermediate data generating means for outputting the intermediate data generated by
- N secondary search means for outputting a signal for identifying a transfer rule selected as a result of performing a secondary search selectively on only the bit region of the stored data or the mask information; Means for determining whether or not the input transfer data can be transferred, based on the transfer permission information referred to by the transfer rule selected by the next search means.
- the N intermediate data generation means and the N secondary search means include a first intermediate data generation means, and the first intermediate data generated as a result of the primary search. Means, and performs a first secondary search on the first partial bit area, and the second intermediate data generating means outputs the second intermediate data generated as a result of the first secondary search.
- the data is input to the second secondary search means, and a second secondary search is performed on the second partial bit area.
- the intermediate data generating means inputs the third intermediate data generated as a result of the second secondary search to the third secondary search means, and outputs the second intermediate data to the third partial bit area.
- the Nth intermediate data generating means performs the Nth intermediate data generated as a result of the (N-1) th secondary search. And performs a secondary search on the Nth partial bit area.
- the network system according to the present invention includes, as means 18, data between devices connected to the network via the network devices according to means 15 to 17. It performs communication. BRIEF DESCRIPTION OF THE FIGURES
- FIG. 1 is a block diagram showing a configuration example of the content addressable memory according to the first embodiment of the present invention.
- FIG. 2 is a block diagram showing details of a configuration example of the content addressable memory according to the first embodiment of the present invention.
- FIG. 3 is a block diagram showing a configuration example of a single-region search associative memory in the associative memory according to the first embodiment of the present invention.
- FIG. 4 is a circuit diagram showing a configuration example of an associative memory cell of a single area search associative memory in the associative memory according to the first embodiment of the present invention.
- FIG. 5 is a flowchart illustrating the operation of the associative memory according to the first embodiment of this invention.
- FIG. 6 is an explanatory diagram showing an example of an operation state in step S100 of the content addressable memory according to the first embodiment of the present invention.
- FIG. 7 is an explanatory diagram showing an example of an operation state in step S101 of the associative memory according to the first embodiment of the present invention.
- FIG. 8 is an explanatory diagram showing an example of an operation state in step S102 of the associative memory according to the first embodiment of the present invention.
- FIG. 9 is an explanatory diagram illustrating an example of an operation state of the associative memory according to the first embodiment of this invention at step S105.
- FIG. 10 is a block diagram showing a second configuration example of the single-region search associative memory in the associative memory according to the first embodiment of the present invention.
- FIG. 11 is a block diagram showing details of a configuration example of the content addressable memory according to the second embodiment of this invention.
- FIG. 12 is a block diagram showing a configuration example of a single-area search associative memory in the associative memory according to the second embodiment of the present invention.
- FIG. 13 is a block diagram showing a configuration example of the content addressable memory according to the third embodiment of the present invention.
- FIG. 14 is a block diagram showing details of a configuration example of the content addressable memory according to the third embodiment of the present invention.
- FIG. 15 is a block diagram showing a configuration example of the primary associative memory in the associative memory according to the third embodiment of the present invention.
- FIG. 16 is a circuit diagram showing a configuration example of an associative memory cell of a primary associative memory in the associative memory according to the third embodiment of the present invention.
- FIG. 17 is a block diagram illustrating a configuration example of a secondary associative memory in the associative memory according to the third embodiment of this invention.
- FIG. 18 is a circuit diagram showing a configuration example of an associative memory cell of a secondary associative memory in the associative memory according to the third embodiment of the present invention.
- FIG. 19 is an explanatory diagram showing an operation example of the associative memory for single area search of the associative memory according to the third embodiment of this invention.
- FIG. 20 is an explanatory diagram showing an example of an operation state of the associative memory according to the third embodiment of the present invention at step S100.
- FIG. 21 is an explanatory diagram showing an example of an operation state in step S101 of the content addressable memory according to the third embodiment of the present invention.
- FIG. 22 is an explanatory diagram showing an example of an operation state ′ in step S102 of the content addressable memory according to the third embodiment of the present invention.
- FIG. 23 is an explanatory diagram showing an example of an operation state in step S105 of the content addressable memory according to the third embodiment of the present invention.
- FIG. 24 is a block diagram showing details of a configuration example of the content addressable memory according to the fourth embodiment of the present invention.
- FIG. 25 is a block diagram showing a configuration example of the primary associative memory in the associative memory according to the fourth embodiment of the present invention.
- FIG. 26 is a block diagram illustrating a configuration example of the content addressable memory according to the fifth embodiment of the present invention.
- FIG. 27 is a block diagram showing a configuration example of a network device of the present invention using the associative memory of the present invention for transferability determination.
- FIG. 28 is a block diagram showing a configuration example of a conventional associative memory.
- FIG. 29 is a circuit diagram showing a configuration example of a conventional associative memory cell.
- FIG. 30 is a diagram showing an operation example of a conventional associative memory.
- FIG. 31 is a timing chart illustrating an operation example of a conventional associative memory.
- FIG. 32 is a diagram showing an operation example when a plurality of network addresses are searched by the conventional associative memory.
- FIG. 33 is a diagram showing a connection example of a configuration of a conventional computer network.
- - Figure 34 is a block diagram showing an example of the configuration of a conventional network device that uses a conventional associative memory for the destination network. ⁇ Address calculation. BEST MODE FOR CARRYING OUT THE INVENTION
- FIG. 1 is a block diagram showing a configuration example of a Hi word associative memory 1 of the present invention.
- the associative memory 1 receives as input a clock signal 41, a start signal 42, and an input data 2 composed of r search data 3-1 to 3-r. The output is the match signal 5-1 to 5-m of the book.
- the associative memory 1 is an associative memory for searching a single area of m words 36-1 to 36-r, the main control circuit 6, the logical product means 39-1 to 39-m, and the memory. Means 43-1 to 43-111 are provided.
- the main control circuit 6 receives the clock signal 41 and the start signal 42 as inputs, and stores the storage control signal 12, the primary search enable signal 10—1 to 10—m, and the secondary search enable signal. 1 1 — 1 to 1 1—r is output.
- the main control circuit 6 has an internal variable 28 that can be read and written. The value of internal variable 28 is represented by p.
- the main control circuit 6 starts the search operation for the input data 2 when the start signal 42 is in the valid state, and synchronizes with the clock signal 41 to store the control signal 12 and the primary search enable signal 10 — 1 to 10 — m and the secondary search permission signal 11 — 1 to 11 — r are used to explain the operation of the associative memory according to the first embodiment of the present invention shown in FIG. Output according to the chart.
- the i-th associative memory for single area search 36-i is common to search data 3-i, primary search enable signal 10-i, secondary search enable signal 1 1-i, and m Matching lines 3 8—1 to 3 8—m are input and m matching lines 3 7—i— :! ⁇ 3 7— output i—m You.
- the search operation in the single area of the associative memory for single area search 36-i is controlled by the primary search permission signal 10i-i and the secondary search permission signal 11i-i as follows.
- the primary search enable signal 1 0—i is in the valid state, the primary search is performed to compare the search data 3—i with the stored data stored inside considering the corresponding mask information.
- the associative memory 1 is composed of the i-th associative memory for single-area search 3 6—i and the secondary search is performed following the primary search
- the match line 3 7-i-1 to 3-i-1 which corresponds to the storage data with the smallest number of pits in the valid state of the mask information among the storage data matching the search data 3-i in consideration of the mask information 3 It is assumed that the valid state can be output only to i—m.
- the i-th associative memory for single area search 36—i is the primary search permission signal 10—i and the secondary search permission signal 11—i both are in an invalid state
- the valid state of the common match line 38 is output for all m match lines 37-i-1 to 37-i-m.
- the priority of the search data 3-1 is set to 1 which is the highest, the priority of the search data 3-2 is 2, and similarly, the priority of the search data 3-r is the lowest r. Assume. Here, the number of bits of each search data 3-1 to 3-r does not need to be the same. Also, if the search data 3 — ⁇ to 31-1 are input to the corresponding associative memory for single area search 36-1 to 36-r, the order in the input data 2 is Duty It is intention. In addition, the order of the ⁇ single-area search associative memories 36-1 to 36-r in the associative memory 1 is not limited as long as the connection relationship is established. Absent.
- the j-th logical AND means 3 9—j receives r matching lines 3 7-j -7—j—r and one common matching line 38—j as inputs, The result of the logical AND operation that sets the valid state to true is output as signal 40 — j.
- the AND signal 40-j and the match signal 5-j are the same.
- the j-th storage means 4 3 — j receives the AND signal 40-j s and the storage control signal 12, and outputs the common match line 38 — j. Stores the state of the common match line 38 1 or j according to the state of the control signal 1 2 or stores the value of the AND signal 4 0 — j, or initializes the valid state of the common match line 3 8, The operation is performed.
- FIG. 2 is a block diagram showing details of a configuration example of the associative memory according to the first embodiment of this invention.
- the associative memory for single area search 36-1 is n-bit m words
- the associative memory for single area search 36-r is s-bit m words, the number of bits forming one word. The only difference is the internal configuration is the same.
- the single-region search associative memory 36-1 has an n-bit associative memory word 44-1-1-l to 44-m-1 and a control circuit 45-1.
- the associative memory for single area search 36-r has an associative memory of s bits, word 44-1-r to 441-m, and a control circuit 45-; r. .
- J 'th associative memory word 4 4—j — 1 is the number of data' cell 8 — j 1 1 1 1 to 8 — j 1 n — 1 and n mask cells 9 — j One 1 One 1-9 One j One! Has 1 — 1 (, j th associative memo Reword 4 4—j one is s data “cells 8—j—11 r to 8—j—s—; r and s masks” cell 9—j—1—r to 9 It has one j-s-r.
- the associative memory for single area search 36 is composed of an n-bit 2-input 1-output enable selector 82, an n-bit m-word associative memory word 4 4—1 to 4 4—, It has a control circuit 45, logic gates 58-1 to 58-and resistors 57-1 to 57-n.
- the j-th associative memory word 44-j has n associative memory 'cells 83-j-1 to 83-j-n.
- the corresponding data word line 5 3-j, the mask word line 5 4-1 j, the common match line 3 8-j, and the comparison control Signal 85 is connected for input, the corresponding match line 37-j, and n match intermediate logic lines 52-l to 52-n are connected for output, and n match lines.
- the bit lines 51-1 to 51-n are connected for input and output.
- the mask valid state of the mask information is "0"
- the mask invalid state is "1”
- the valid state of the stored data is "1”
- the invalid state is "0”.
- the valid state of the coincidence logical OR line 52-1-1 to 52-n is set to "1” and the invalid state is set to "0”.
- the valid state of the match line 37-1 to 37-m and the common match line 38-1 to 38-m is "1"
- the invalid state is "0".
- Matching lines 3 7 — 1 to 37 — m are precharged to the high-level in advance. ⁇ Assume that they are in the valid state “1”.
- the k-th associative memory of the j-th associative memory 4 4 1 j j 'associative memory' cell 8 3-j-1 k has the corresponding data 'word line 5 3-j and Mask ⁇ Word line 54-j, common match line 38-j, and comparison control signal 85 are connected for input, corresponding match line 37-j, and match data intermediate logic Lines 52 k are connected for output, and bit lines 51 k are connected for input and output.
- Each associative memory 'cell 8 3-j-k is a data that stores the corresponding bit information of the stored data input from the outside via the bit line 5 1-k-cell 8- Comparator 8 4 that compares the bit information stored in j — k with the data stored in cell 8 — j — k and the information input from outside via the bi-linear and soft lines 5 1 1 k — J— k and a mask that stores the corresponding bit information of the mask information input via the external bit line 5 1 — k ′ cell 9 — j — k and logical gate 5 6 — j — K.
- the bit information stored in the mask cell 9-1-1-k is in a mask-enabled state of the mask information, the corresponding data in the cell 8-j-k contains invalid storage data. Stores state.
- the comparator 8 4—j-1 k is connected to the corresponding bit line 5 1—k and the same associative memory in the cell 8 3—j—k.
- the stored memory data, the mask information stored in cell 9-j-1k, and the comparison control signal 85 are input. If the comparison control signal 85 is in the invalid state “0” and the mask information is the mask valid state “0”, the comparator 84—j—k releases the corresponding match line 37—j and releases it. Otherwise, if the value of bit line 51 1-k matches the stored data, the corresponding match line 37-j is opened, and if they do not match, invalid state "0" is output. I do.
- N comparators in the associative memory word 4 4—j 8 4—— j—1 to 84—j When all n have the matching line 3 7—j open The match line 37 — j is in the valid state “1”, otherwise it is in the invalid state “0”. A wired AND logical connection with the valid state "1" set to true is configured. In the search operation, the comparison control signal 85 is in the invalid state "0" and the mask information is in the mask valid state "0". The memory data stored in the associative memory lead 44-j and the bit lines 51-1-1 to 51-n are complete, except for the bits excluded from the comparison because of this. The match line 3 7—j is in the valid state “1” only if the match is made, otherwise it is in the invalid state “0”. Of course, a normal logic gate may be used to achieve the same operation.
- the logic gate 5 6—j—k is the same associative memory 'word 4 4 1 1
- the common match line 3 8—j in the j is valid “1” and the same associative memory' cell 8 3 — J — data in k 'k 8 — memory stored in cell j — k is enabled, the corresponding matched data is in the intermediate state. Is output, otherwise it is left open.
- the valid state of the storage data is "1”
- the storage data stored in cell 8-j-1k is "1” and the coincidence line 5—j is "1".
- "0" is output to the corresponding coincident data intermediate logical line 52-k, otherwise, the release status is output.
- the intermediate logic lines 52-1 to 52-n are pulled up by resistors 57-1 to 57-n, and the corresponding m logic gates 56 -1-1-5 6-m-n constitutes a wired logical connection. Therefore, the matching data intermediate logical line 1 1 4 1 of the conventional associative memory 101:! As in the case of ⁇ 1 1 4 1 n, when the connected m logic gates 5 6 all have the match data intermediate logic line 52 open.
- the logic gates 5 8 — 1 to 5 8 — n are the corresponding matching data.
- the intermediate logic lines 5 2 — 1 to 5 2 — n are inverted, and the intermediate data lines 9 2 — 1 to 9 2 — Output as n.
- the intermediate data line 9 2 — k has m logic gates 5 6 1 1 1 1 k to 5 6 — m—k, which coincides with the intermediate logic line 5 2 — k, the resistance 5 7 — k, All the associative memory cells 8 3-l _ k-having matching lines 37-1 to 37-in that are in the valid state "1" during the search operation by the logic gate 58-k and 8 3 — Data in m—k ⁇ Cell 8—1 — 1 to 8 — OR operation between stored data stored in m—k with the valid state of storage data set to true
- the result obtained is as follows. In this example, a result obtained by performing a logical sum operation with the valid state “1” of the stored data set to true is obtained.
- the same operation may be performed by using a normal logic gate.
- the intermediate data — evening line 9 2 — 1 to 9 2 — n contains the most invalid bit “0” of the stored data that matches the search data 3 during the search operation. The same value as the smaller number of stored data will be output.
- the control circuit 45 receives the primary search permission signal 10 and the secondary search permission signal 11 as inputs, and outputs a comparison control signal 85, a selection signal 86, and an invalidation signal 87.
- the control circuit 45 controls the search operation of the associative memory for single area search 36. Therefore, when both the primary search enable signal 10 and the secondary search enable signal 11 are in the invalid state "0", Outputs the valid state "1" to the invalidation signal 87.
- the primary search enable signal 10 is in the valid state "1”
- the invalidation signal 87 becomes the valid state "0”
- the selection signal 86 becomes the invalid state "0”
- the comparison control signal 85 becomes the invalid state.
- the secondary search permission signal 1 1 is in the valid state "1”
- the invalidation signal 87 is changed to the valid state "0”
- An invalid state "1” is output to the selection signal 86 and an invalid state "1” to the comparison control signal 85.
- Selector 82 with n bits 2 inputs and 1 output enable is used to select signal 86, invalidate signal 87, intermediate data line 92-1 to 92-n, search data 3-1 ⁇ 3 — n is input and bit lines 5 1 — 1 to 5 1 — 1 are output.
- the disable signal 87 is in the valid state "1”
- the bit line 5 1 — 1 to 51 — n is connected to all the associative memories.
- Words 4 4—1 to 4 4 1 Output search invalid data that would result in a 1 m comparison result. Otherwise, search if the selection signal 86 is in the invalid state "0".
- Data 3 — 1 — 3 — n if the selection signal 86 is in the valid state “1”, intermediate data lines 92 2 — 1 — 92 2 — n, bit lines 5 1 1 — 5 1—Output to n.
- the clock signal 13 1 is deleted from the input to the control circuit 45, and the primary search signal 10 and the secondary search signal 11 The only difference is that they are added, and the other parts are configured similarly.
- the cell 83 has a point that a common match line 38 is added, and a logic gate. Except for the point that the signal for turning on the MOS transistor (T 10) 2 14 that constitutes the gate 56 is changed from the match line 37 to the common match line 38, Associative memory 'Same as cell 107.
- n-bit 2 input 1 selector with output enable 8 2 in Fig. 3 is the bit line 5 1 — 1 to 5 1 — n all bit lines corresponding to bit line 5 la, 5 lb "0" is output to the set of.
- bit line 51b is set to the value of the bit line 51a. Since the inverted value is input, both bit lines 51a and 51b do not become "0".
- the comparator 84 When the bit lines 51a and 51b are both "0", the comparator 84 outputs the M0S transistor (series) inserted in series between the bit lines 13a and 13b. T 3) 205 and MOS transistor (T 4) 206 In this case, the potential at the connection point of the MOS transistor (T 3) 205 and the transistor ( ⁇ 4) 206 is at the low level, and the MOS transistor ( ⁇ 5) 2 07 does not become conductive. Therefore, the comparator 84 releases the match line 37.
- the associative memory cell 83 of the present invention can be constituted by the same 19 transistors as the conventional associative memory cell 107, and the circuit scale does not change.
- the circuit size of the associative memory cell as a whole is about 620,000 transistors.
- the main control circuit 6 can be composed of about 500 transistors, and the logical AND means 39 and the storage means 43 can be composed of about 50 transistors per word. It can be seen that in the case of the 10 24 bits and 32 bits of the above, the circuit scale is increased by only a few% compared with the conventional associative memory 101.
- FIG. 5 is a flowchart showing an operation of the associative memory according to the first embodiment of the present invention at the time of a search operation for input data composed of a plurality of search data.
- the associative memory 1 is connected to the network from the PC 401-1 having the network address (1.26) in FIG. 33.
- the 9-bit transmission source address (1.2.6) at the time of data transfer is searched for as 3 to 1, and the 9-bit destination address (2.3.5) is retrieved.
- search data 3 2.
- the search data 3-1 is given the highest priority of 1
- the search data 3-2 is given the priority of 2.
- the associative memory 1 is composed of associative memories for single area search 36-1 and 36-2 of 9 words and 5 words. Also, in Table 1 (b), the 9-bit stored data and the 9-bit mask that constitute the 9-bit structured data of the source network address of each transfer rule Memory information for associative memory for single area search 36-1 associative memory word 4 4-1- ⁇ ⁇ 4 4-5-1 Shall be stored.
- the values output from 8 2-2 are represented as bit line data 9 5-1 and 9 5-2, respectively.
- the value of the intermediate data line 92 of the single-area search associative memory 36 is used as the intermediate data 93--1
- the intermediate data line of the single-area search associative memory 36-2 is used as the intermediate data line 92. Is expressed as 9 3 — 2 in the middle.
- All matching lines 3 7 — 1 —- ;! to 3 7 — m— r are pre-charged to the valid state “1” in advance.
- Step S100 When the start signal 42 becomes the valid state "1", the search operation starts.
- the main control circuit 6 executes the operation of step S100 in the flowchart of FIG. 5 in synchronization with the clock signal 41, and the value p of the internal variable 28 is initialized to 1. Also, the main control circuit 6 initializes the storage control signal 12 and the storage means 4 3-1 to 4 3-m to the valid state "1" of the common match line 38-1 to 38-m. Output information.
- an invalid state “0” is output to all the primary search permission signals 10 — 1 to 10 — r and all the secondary search permission signals 11 — 1 to 1 1 — r.
- FIG. 6 shows a case where the content addressable memory 1 is transferred from the PC 401-1 having the network address (1.2.6) in FIG. 33 to the network address (2.
- FIG. 10 is a diagram for explaining an operation state in step S100 when used for judging whether or not data can be transferred to a PC 401-3 having 3.5). Since all primary search enable signals 1 0—1 to 1 0—2 and secondary search enable signals 1 1—1 to 1 1—2 are in the disabled state “0”, the disable signals 8 7 — 1, 8 7 — 2 are both in the valid state “1”, and n-bit 2 input 1 output selectors with output enable 8 2 — 1, 8 2 — Bit line data output from 8 2 — 9 5 — 1, 9 5 and 2 are both search invalidation data.
- the match lines 3 7—1—1 to 3 7—5—1 and the match lines 3 7—1—2 to 3 7—5—2 all keep the valid state “1”.
- the common match lines 38-1 to 38-8 which are the outputs of the storage means 43-1 to 43-5, are initialized to the valid state "1" by the memory control signal 12. I have. Therefore, AND signals 4 0 — 1 to 4 0 — 5 all become "1”.
- the intermediate data 9 3-1 is the logic of all the memory data stored in the associative memory 4 4 1-1-1 to 4 4-1 1 5
- the result of the sum operation is "0 0 1 .0 1 0 .1 1 1 0”.
- the intermediate data 9 3 — 2 is stored in the associative memory 'word 4 4 — 2 ⁇ 1 to 4
- the result of the logical sum operation of all the stored data stored in 4-2-5 is “Oil. 0 1 1. 101”.
- the operation of the main control circuit 6 shifts to the flow chart step S101 in FIG. 5, and all the primary search enable signals 10-1 — 1 0 — Output valid state "1" to r and output invalid state "0" to all secondary search enable signals 1 1 1 1 to 1 1 1 r.
- the value of the logical product signal 40 — 1 to 40 — m at step S 101 is stored in the storage means 43 — 1 to 43 — m when the next step S 102 is performed.
- a signal to be stored is output as a storage control signal 12.
- FIG. 7 shows a case where the associative memory 1 is transferred from the PC 401-1 having the network address (1.2.6) shown in FIG. 33 to the network address (2.
- FIG. 14 is a diagram for explaining an operation state in step S101 when the method is used to determine whether or not data transfer to the PC 410-3 having 3.5) is possible.
- the selector 8 2 with n bits 2 inputs 1 output enable 1 outputs the value of the search data 3-1 "0 0. 0 1 0. 1 1 0" as the bit line data 95-1, and is invalid for the comparison control signal 85-1. "0" is output. Therefore, the value of the bit line data 95-1 and the storage data stored in the associative memory and word 441-11-1 to 44-1-5-1 are also used for corresponding mask information.
- the value of the bit line data 95--2 and the storage data stored in the associative memory 'side 44-1-2 to 44-5-2' are also taken into consideration with the corresponding mask information. Then, the matching lines 3 7 — 1 — 2, 3 7 — 3 — 2, and 3 7 — 5 — 2 are in the valid state “1”, and the matching lines 3 7 — 2 — 2 and 3 7-4-2 become invalid status "0".
- the storage means 4 3 — 1 to 4 3 — 5 outputs the value “1” initialized in step S 100 to the common match line 38 — 1 to 38 — 5, the logical product Signals 40 — 1, 40 — 3, and 40 — 5 become “1”, and AND signals 40 — 2 and 40 — 4 become “0”.
- the values of the logical product signals 40-1 to 40-5 are stored in the storage means 43-1 to 43-5 when the process proceeds to the next step by the storage control signal 12.
- step S102 of the flowchart in FIG. 5 the operation of the main control circuit 6 shifts to step S102 of the flowchart in FIG. 5, and the primary search enable signal 10—1 to 10 — R, secondary search enable signal 1 1 1 1 1 to 1 1 — Secondary search enable signal 1 1 corresponding to associative memory for single area search 3 6—1, which has the highest priority among r 1 1 — Output valid state "1" to only 1 and output invalid state "0" to other signals.
- the storage means 43-3 to 43m The storage control signal 12 is output as a signal for storing the data in the storage control signal 12.
- FIG. 8 shows an associative memory 1 with the network address (1.2.6) in FIG.
- FIG. 11 is a diagram for explaining an operation state in step S102 when the data transfer to the PC 401-3 having the data (2.3.5) is used to determine whether transfer is possible.
- the storage means 4 3-1 to 4 3-5 output the value stored in step S 101, the common match lines 38-1, 38-3, and 38-15 are output. It becomes “1", and the common match lines 38_2 and 38-4 become “0". For this reason, the intermediate data 93-1 of the associative memory for single area search 36-1 is stored in the associative memory words 44-1-1-1, 44-1-3-1, and 44--5.
- the result of the logical OR operation of the stored data stored in the unit 1 is "0 0 1 .0 1 1 .0 0 0".
- the intermediate data 93-2 of the associative memory for single area search 36-2 is the associative memory 'word 44-1-1, 4 4-1-3, and 4 4-15-
- the result of the logical sum operation of the storage data stored in 2 is "0 1 0. 0 1 1. 0 1".
- the secondary search enable signal 11-1 is in the valid state "1", so that n bits 2 inputs 1 output rice
- the selector with a doublet 8 2-1 outputs the value of the intermediate data 9 3-1 "0 0 1. 0 1 0. 0 0 0" as the bit line data 95-1.
- the valid state "1" is output to the comparison control signal 85-1. Therefore, the mask information corresponding to the value of the bit line data 95-1 and the storage data stored in the associative memory ⁇ ⁇ ⁇ ⁇ 4 4 1 1 1 1 to 4 4 5 5 4 1 is considered.
- the comparison is performed as is, and the matching lines 3 7 — 1 1 1 and 3 7 — 3 — 1 are in the valid state “1”, and the matching lines 3 7 — 2 — 1, 3 7- 4-1, and 3 7-5-1 become invalid status "0".
- the primary search enable signal 1 0-2 and the secondary search enable signal 1 1-1 2 are both in the invalid state "0”.
- the invalidation signal 8 7 — 2 becomes the valid state “1” and the n-bit 2 input 1 output selector with selector 8 2 — 2 transmits the search invalidation data to the bit line data 9 5 — 2 and an invalid state "0,” is output to the comparison control signal 85-2. Therefore, the matching lines 3 7 — 1 — 2 to 3 7 — 5 — 2 are all in the valid state “1”.
- step S104 add 1 to the value of the internal variable p, proceed to step S105, and enable the primary search enable signal 1 0 — 1 to 1 0 — r, secondary search enable signal 1 1 1 1 to 1 1 1 1 r, the priority of which is equal to the value ⁇ of internal variable 2 8, single-area search associative memory 3 6 — 2 corresponding to ⁇ Next search enable signal 1 1 Outputs valid state "1" only to 1 ⁇ , and outputs invalid state "0" to other signals.
- step S 105 when the value of the AND signal 40 — 1 to 40 — m in step S 105 is shifted to the next step S 103, the storage means 43 — 1 to 43 — Note on m A signal for storage is output as the storage control signal 1 2.
- steps S103, S104, and SI05 are shown to be executed in the same state of the clock signal 41, but the clock signal 4 It goes without saying that the operation may be divided by 1.
- FIG. 9 shows that the associative memory 1 is transferred from the PC 401-1 having the network address (1.2.6) in FIG. 33 to the network address (2.
- FIG. 7 is a diagram for explaining an operation state in step S105 when the method is used to determine whether or not data can be transferred to a PC 401-3 having .3.5).
- the storage means 4 3 — 1 to 4 3 — 5 output the value stored in step S 102, the common match lines 3 8 — 1 and 3 8 — 3 become “1”. Therefore, the common match lines 38-8, 38-8, and 38-5 become "0".
- the associative memory for single-area search 3 6-1 is stored in the associative memory 'word 4 4-1-1 and 4 4-3-1 in the intermediate memory 9 3-1.
- the result of the logical sum operation of the stored data is “0 0 1. 0 1 0. 0 0 0”.
- the intermediate data 93-2 of the associative memory for single area search 36-2 is stored in the associative memories' 4-1-1 and 4-3-2.
- the result of the logical OR operation of the stored data is "0 1 0. 0 1 1 0 0 0".
- the primary search enable signal 1 0 — 1 and the secondary search enable signal 1 1 — 1 are both in the disabled state “0”, so the disable signal 8 7 — 1 becomes valid state "1", n-bit 2 input 1 selector with output enable 8 2 — 1 outputs search invalidation data as bit line data 95 — 1 and compares Invalid state "0" is output for control signal 8 5 — 1. Therefore, all the matching lines 3 7 — 1 — 1 to 3 7 — 5 — 1 are in the valid state “1”.
- the secondary search enable signal 1 1 1 2 is valid in the associative memory for single area search 3 6 — 2 with the priority 2 “1”
- the n-bit 2 input 1 output enable selector 8 2-2 outputs the intermediate data 3-2 value "0 1 0 0 1 1 1. 0 0 0" to the bit line data. Evening 95-2 is output, and the comparison control signal 85-2 outputs the valid state "1". Therefore, the value of the bit line data 95--2 and the storage data stored in the associative memory word 4 4-1-2 to 4 4-5-2 are converted into the corresponding mask information.
- the match line 3 7 — 3 — 2 is in the valid state “1”, and the match line 3 7 — 1 — 2, 3 7 — 2 — 2, 3 7 — 4 1-2 and 3 7-5-are in the invalid state "0".
- the logical product signal 40 — 3 becomes the valid state “1”, and the logical product signals 40 — 1, 40 — 2, 40 — 4, and 40 — 5 Becomes invalid state "0".
- the states of the AND signals 40 — 1 to 40 — 5 are stored in the storage means 43-1 to 43-5 by the storage control signal 12 when moving to the next step.
- the number r of the associative memory for single area search 36 included in 1 is compared.
- the value of the internal variable 28 and the number r of the associative memory for single area search 36 included in the associative memory 1 are both 2, and the search result ends.
- the match signals 5-1 to 5-5 only the match signal 5-3 outputs the valid state "1", which is obtained as a final search result. become.
- From the PC 41-1 with a network address (1.2.6) to the PC 41-3 with a network address (2.3.5) Data transfer should be subject to transfer rule 3, which indicates correct results.
- a wait cycle is inserted immediately before step S102 and step S105 of the flowchart in FIG. 5 to store intermediate data 93-1 to 93-r. It goes without saying that the operating frequency can be increased by inserting a latch.
- step S105 a secondary search is performed from the words that matched when the secondary search was performed in step S102, so that FIG.
- the value of the intermediate data 93-1 in the step S105 shown in the figure is the same as the value of the intermediate data 93-1 in the step S102 shown in FIG. Therefore, in step S105 of the flow chart of FIG. 5, when the value of the internal variable 28 is p, the valid state is set to the secondary search signal 1 1 — 1 to 1 1 — p. It can be seen that the same result can be obtained by outputting.
- the valid state is output to all the secondary search enable signals 11-1 to 11-1r in the operation of the main control circuit 6 in step S102 of the flowchart of FIG.
- a search operation that is equivalent to the conventional 'associative memory 101' can be achieved by changing to
- memory 1 can be used equivalent to r conventional associative memories 101.
- the transfer enable / disable determination operation is performed by three search operations in steps S101, S102, and S105. It is possible. Assuming that a single search operation by the associative memory of the present invention requires one clock, the transferability determination operation can be performed with the number of clocks obtained by adding 1 to the number r of search areas. .
- FIG. 10 is a block diagram showing a second configuration example of the single area search associative memory in the associative memory according to the first embodiment of the present invention. Comparing each component of the single-region search associative memory 22 of the second configuration shown in FIG. 10 with the configuration of the single-region search associative memory 36 shown in FIG.
- n bits 2 Input 1 selector with output enable 8 2 is changed to n-bit 2 input 1 output selector 96, and logical gate 3 7 — j is inserted at jth match line 3 7 — j
- the invalidation signal 87 output from the control circuit 45 becomes m logic gates ⁇ 8 — 1 to 7 8 — Input to m and the j-th associative memory 'n 7 associative memories in the node 7 0 — 1' cell 6 9 — j — 1 to 6 9 —
- the associative memory for single area search 36 shown in Fig. 3 The configuration is the same. Therefore, only the differences from the associative memory for single area search 36 will be described.
- the n-bit 2 input 1 output selector 96 receives the selection signal 86, the Nakaguru data line 92-1 to 92-n, and the search data 3-1 to 3-n as inputs. And bit lines 5 1 — 1 to 51 — n are output.
- the n-bit 2 input 1 output selector 96 sets the search data 3 ⁇ to 3 — n when the selection signal S 6 is invalid, and the intermediate data line 9 when the selection signal 86 is valid.
- 2 — 1 to 9 2 — n are output to bit lines 5 1 — 1 to 5 1 — n.
- the internal match line 9 7 — 1 to 9 7 — m is the match line 3 7 —; ⁇ 3 7 — Like in, it is pre-charged to the high level in advance, and it is assumed that the valid state is "1". Similarly to the match line 3 7 — j in Fig. 3, n comparators 8 4 — j —.l to 8 4 — j — 11 in the j-th associative memory word 4 41 j When all the internal match lines 97-j are open, the internal match line 97-j keeps the valid state "1", otherwise it becomes invalid state "0". And a logical AND connection with the valid state "1 '" of the internal match line 97 set to true.Of course, the same operation is performed using a normal logical gate. It doesn't matter.
- the j-th logical gate 7 8 — j receives the internal match line 9 7 — j and the invalidation signal 8 7 as input, and the match line 3 7 — j as output.
- the invalidation signal 8 7 is in the valid state
- the valid state of the common match line 3 8 is output to the match line 3 7 — j.
- the internal match line 7 8 — j is State Output to match line 3 7—j.
- the match lines 37 — 1 to 37 — m are controlled by the logical gates 78 — 1 to 78 — m.
- the m match lines 3 7 — 1 to 3 7 — m The function to output the valid state is realized.
- FIG. 11 is a block diagram showing details of a configuration example of the associative memory according to the second embodiment of this invention.
- the associative memory 29 of the second embodiment shown in FIG. 11 is composed of r single-area search associative memories 26-1 to 26-r, each of which is the j-th associative memory 'word 27. — J — 1 to 2 7— j —
- the output signals of the comparison result of r are wired and logically connected to one match line 3 7-j, and are further connected to the match line 3 7 _ j.
- the state held dynamically is used to generate intermediate data.
- the match line 37-: ⁇ is precharged to the valid state "1" only when the start signal 42 is in the valid state. Therefore, the logical product means 3 in the associative memory 1 of the first embodiment shown in FIG. 9-j, the storage means 43-j, and the common match line 38-j are wired and logically connected in the associative memory 29 of the second embodiment shown in FIG. This is realized by the matching line 37-j. Therefore, the storage control signal 12 output from the main control circuit 6 is not connected anywhere. In FIG. 11, the state of the match line 37-j is directly output to the outside as the match signal 5-j. Other than these, the configuration of the associative memory 1 of the first embodiment shown in FIG. 2 is completely the same, and a similar search operation can be performed on input data composed of a plurality of search data. It is clear.
- r single-area search associative memories 26- ;! to 26--r have m matching lines. 3 7-1 to 3 7—m only.
- the number of associative memories for single area search 36-1 to 36-r is mxr number of matching lines 3 7 — 1— 1 to 37—m—r and m shared match lines 38 — 1 to 38—m, which is the sum (mx (r + 1)) of lines, associating with the second embodiment.
- the number of wires is greatly reduced.
- the wiring area is greatly reduced and the chip area is reduced as compared with the associative memory of the first embodiment, and at the same time, the power consumption is greatly reduced. It has the advantage that it can be reduced.
- FIG. 12 is a block diagram of a configuration example of a single-area search associative memory in the associative memory according to the second embodiment.
- the configuration of the single area search associative memory 26 shown in FIG. 12 is the same as that of the first embodiment shown in FIG.
- the common match line 3 8—j was deleted from the j-th associative memory word 27-j, and the j-th N associative memories that make up associative memory word 2 7—j 'cells 7 1 — j — 1 to 7 1 —!
- the match line 37-j which is the output signal, is connected to the n logical gates 56-j'-1 to 56-j-n. Since it is generated by a wire-AND logical connection, the common match line 38-j can be shared with the match line 37_j even within the single-area search associative memory 26. It is possible.
- the match lines 37-1 to 37-m are generated using normal logic gates instead of wired AND logic connections, and the match lines 37- Even in the associative memory for single area search where 1 to 37—m is output from the logical gate 78 to 1 to 781, the logical gate that outputs the match line 37—j
- the associative memory 29 can be used as the associative memory 26 for searching a single area.
- the state of match line 37-j is directly output to the outside as match signal 5-j, but the state of match line 37-j is input to the buffer. Needless to say, the waveform may be shaped and then output as the match signal 5-j.
- FIG. 13 is a block diagram showing a configuration example of the m-word associative memory 25 according to the third embodiment of the present invention.
- the associative memory for single-area search 36-1 to 36-r is a single-area search memory.
- the associative memory for retrieval 4-1-41-r has been changed and the AND means 39-1-39-m have been changed to AND means 13-1-13-m
- the only difference is that they are added, and AND means 15-1 to 15-m are added, and the other parts are configured similarly.
- the search result when the primary search enable signal 10 is in the valid state and the secondary search enable signal 11 is in the valid state is also output to the same match line 37-1 to 37-m, but in this example, the search result is output when the primary search permission signal 10 is in the valid state.
- Match line 17-1 to 17-m and secondary match line 18-1 to 18-m that output search results when the secondary search permission signal 11 is enabled This is an example of a case where the associative memory 25 of the present invention is composed of associative memories 41 to 4—r for simple single area search. Next, only differences from the first embodiment will be described.
- the i-th single-area search associative memory 4 1 i is the same as the search data 3 — ⁇ , the primary search enable signal 10 0 — i, the secondary search enable signal 1 1 1 i, and m Line 3 8 — 1 to 3 8 — m is input, and the search results in a single area are converted into m primary matching lines 1 7 — i— l to 1 7 — i— m and m 2 Output as the next match line 1 8— i— 1-to 18— i— m.
- the associative memory 4 for single area search 4 The search operation in the single area of i is based on the primary search enable signal 1 0—i and the secondary search enable signal 1 1—i as follows. Is controlled. Primary search enable signal 1 0 — When i is valid, search data 3 — i is compared with stored data, taking into account the corresponding mask information. Is output to the primary match line 1 7 — i — 1 to 1 7 — i1 m. When the secondary search enable signal 1 1 i is valid, m common match lines 3 8 — 1 to 3 8 — m are used by using both or one of the stored data and mask information stored inside.
- the associative memory 25 was composed of the i-th associative memory for single-area search 41-i, and the secondary search was performed following the primary search.
- the secondary match line 1 8 — i — corresponds to the search data 3 — i that corresponds to the storage data that has the least number of bits in the valid state of the mask information among the storage data that match in consideration of the mask information. 1 to 1 8 — The valid state can be output only to i — m.
- j-th logical AND means 1 3— j is r primary match lines 1 7 — j — 1 to 1 7-j one r, one common match line 3 8-j v and one match signal Signal 5 — j is input, and the result of the logical AND operation that makes the valid state of the common match line 38 true is output as the logical product signal 40 — j.
- FIG. 14 is a block diagram showing details of a configuration example of the associative memory according to the third embodiment of this invention.
- the first associative memory for single-area search 411 has an n-bit m-word configuration
- the r-th associative memory for single-area search 41-r is an s-bit m-word
- the internal configuration is exactly the same except for the number of bits that make up one word.
- the associative memory for single area search 41 i of the i-th g-bit m-word is a g-bit that performs a search operation when the primary search permission signal 10 0 — i is in a valid state.
- G The primary associative memory of m words 2 0 — i and the secondary search enable signal 1 1 — The search operation is performed when the i is valid.
- the secondary associative memory of g bits m words 2 1 — i is independent. Will be described.
- the associative memory for single area search 4 — i of the associative memory 25 of the embodiment of FIG. 13 is not limited to the configuration shown in FIG. 14. It is needless to say that the configuration can also be made using associative memory as shown in the gazette.
- Primary associative memory 2 0 — i is input for search data 3 — i, primary search enable signal 10 0 — i, and common match line 3 8 — 1 to 3 8 — m
- the search result at is output to the primary match line 1 7—11 i ⁇ l 7—m—i, and the intermediate data 93—i is output.
- the primary search permission signal 1 0 — i is in the invalid state
- the primary match line 17 — i — 1 to 17 — i — m is changed to the valid state of the common match line 38. Output.
- Primary associative memory 2 0 — i has m associative memory words 7 — 1 — i to 7 — m— i, where: i th associative memory 'word 7 — j — i Has g data 'cells 8 — j — l i i-8-j — g — i and g masks' cells 9 — j 1 li-9 — j — g — i.
- the second associative memory 2 1 —; ⁇ receives the intermediate data 9 3 — i and the secondary search enable signal 1 1 1 i as inputs and searches the search results in a single area with the secondary match line 1 8— 1 1 i ⁇ 1 8— m— Output to i. However, if the secondary search enable signal 1 1 — i is in an invalid state, the valid state of the common match line 3 8 is output for all secondary match lines 18 — i — 1 to 18 — i — m I do.
- the second associative memory 2 1—i has m associative memory words 2 4—1—i to 24—m_i, and the j-th associative memory ′ word 2 4 — J — i has g data cells 2 3 _ j — 1 1 i to 2 3 — j — g — i.
- the j-th associative memory 'word 2 4—j the data of the k-th bit of i' cell 2 3—j _k—i contains the primary associative data It is assumed that the same value as the stored data stored in memory 2 0—i is stored in cell 8—j—k—i in advance. However, if the bit information stored in the corresponding mask cell 9—j-1k is in the mask valid state, the data is stored in the cell 23-3—j—k. Is stored as the second storage data.
- the primary associative memory 20 is an associative memory of n bits and m words, words 7 — l to 7 — m, logical gates 58 — 1 to 58 — n, and resistors 57 — 1 to 5 7— n.
- the jth associative memory 'word 7-j' has n associative memory 'cells 50-j-1 to 50-j-n.
- the associative memory word 7—j has the corresponding data word line 53–j, the mask word line 54–j, the common match line 38–j, and the primary word.
- the search enable signal 10 is connected for input, and the corresponding primary match line 17 — j, and the n matching data intermediate logic lines 52 — 1 to 52 — n are connected for output. -, N bit lines 5 1-;! To 5 1 n are connected for input and output.
- the mask valid state of the mask information is "0" and the mask is invalid.
- the state is set to "1”
- the valid state of the storage device is set to "1”
- the invalid state is set to "0”.
- the valid state of the coincidence data OR lines 52-1 to 52-n is set to "1” and the invalid state is set to "0".
- Primary match line 1 7—1 to 17—m, secondary match line 18—1 to 18—m, and common match line 3 8—1 to 38—m The state is set to "0".
- the associative memory 'word 7-j' of the k-th bit of the associative memory 'cell 50-1j-k has a corresponding data word line 53-j and a mask
- Lines 54—j, common match line 38—j, and primary search enable signal 10 are connected for input, and the corresponding primary match line 17—j and match data intermediate logic.
- Lines 52 k are connected for output, and bit lines 51 k are connected for input and output.
- Each associative memory 'cell 50 0-j-k is a cell storing the corresponding bit information of the stored data inputted from the outside via the bit line 51-k.
- Comparator 55 comparing the bit information stored in the data cell 8—k with the information input from outside via the bit line 51—k. j-k, a mask cell 91-j-k for storing the corresponding bit information of the mask information input from the outside via the bit line 51-k, and a logic gate 56- j — k.
- each component of the primary associative memory 20 shown in FIG. 15 is compared with the configuration of the single area search associative memory 36 in the first embodiment shown in FIG.
- the external search data 3 _ 1-3-n is directly input to the bit line 5 1-1-5 1-II-the intermediate data line 9 2-1-9 2-n It is directly output to the outside as the intermediate data 93, and accordingly, the selector 8 with n bits 2 inputs 1 output enable 2 and that the control circuit 45 has been deleted, and the signals input to the comparators 55-1 11 to 55-m-n have been changed from the comparison control signal 85 to the primary search enable signal 10
- the single area search shown in Figure 3 It is exactly the same as the associative memory 36.
- the intermediate data 93 output from the intermediate data lines 92-1 to 92- ⁇ are also generated by the same operation as the associative memory for single area search 36 shown in FIG.
- Comparator 5 5—j—k has the corresponding bit line 5 1—: k and the same associative memory 'cell 50 0—j—k in cell' cell 8—j—k
- the mask information stored in cell 9 j — k, and the primary search enable signal 10 are input, and the primary match line 17 — j is output. . If the primary search enable signal 10 is valid "1" and the value of the bit line 51-k does not match the stored data, the corresponding primary match will be made for the comparator 5 5—j — k An invalid state "0" is output to line 17-j, and otherwise, the primary match line 17-j is opened.
- the associative memory word 7 the stored data stored in the j and the bit line 5 1—1 to 51—n only match the primary match line 1 if and only if they match exactly. 7 — j becomes valid state "1", and if they do not completely match, it becomes invalid state "0".
- it may be configured using a normal logical gate so as to perform the same operation.
- the associative memory cell 50 of the present invention uses a signal input to the comparator 55 for comparison control.
- the signal was changed from signal 85 to primary search enable signal 10 and the match line 3 7 — 1 to 3 7 — m was changed to the primary match line 1 7 —:!
- the MOS transistor (T7) 209 whose conduction state is controlled by the comparison control signal 85 is deleted, and the primary search enable signal 10 Except for the addition of a MOS transistor (T 12) 216 whose conduction state is more controlled, the content addressable memory of the first embodiment shown in FIG. It is configured like this. Therefore, only the differences from the associative memory cell 83 of the first embodiment will be described.
- Comparator 5 5. is a MOS transistor (T3) 205, a MOS transistor (T4) 206, a MOS transistor (T5) 207, and an M0S transistor. (T 6) 208 and a MOS transistor (T 12) 216.
- the MOS transistor (T 3) 205 and the MOS transistor (T 4) 206 are inserted in series between the bit lines 51 a and 5 lb.
- the M-0 S transistor (T 3) 205 becomes conductive when the output of the inverted logic gate (G 1) 201 in the cell 8 is at a high level.
- MOS transistor (T4) 206 Is turned on when the output of the inverted logic gate (G 2) 202 in cell 8 is a high level.
- MOS transistor (T 6) 208, MOS transistor (T 12) 210 and MOS transistor (T 5) 207 are connected between primary match line 17 and low potential. Inserted in series.
- the MOS transistor (T 6) 208 becomes conductive when the output of the inverted logic gate (G 4) 211 in the mask cell 9 is at a high level.
- the MOS transistor (T 12) 2 16 becomes conductive when the primary search enable signal 10 is in the valid state “1”.
- the MOS transistor (T5) 207 becomes conductive when the potential at the connection point between the MOS transistor (T3) 205 and the MOS transistor (T4) 206 is at a high level. .
- the output of the bit line 51 a and the inverted logic gate (G 1) 201 are both high level, or the output of the bit line 5 lb and the inverted logic gate (G 2) 202 is When both transistors are at the high level, the connection point between the MOS transistor (T3) 205 and the MOS transistor (T4) 206 becomes a high level, and the MOS transistor (T3) 205 (T 5) 207 is turned on.
- the MOS transistor (T5) 207 becomes conductive. State.
- the MOS transistor (T 6) 208 is open when the mask information stored in the mask cell 9 is “0”, and is conductive when the mask information is “1”. It is assumed that the primary match line 17 has been precharged to a high potential in advance. As a result, when a plurality of associative memory cells 50 are connected to the primary match line 17 via the MOS transistor (T6) 208, one associative memory cell 50 is connected. Even if 0 is output as a low level signal, the primary match line 17 is connected to a wire AND connection so that it is at the low level. Become.
- the associative memory 'cell 50 outputs an invalid state "0" to the primary match line 17 only when both are in the conductive state, and otherwise leaves the primary match line 17 open.
- the primary match line 17 is set regardless of the comparison result between the search data 3 and the stored data.
- Fig. 17 shows a configuration example of the secondary associative memory 21.
- the second-order associative memory 21 is composed of associative memory 'mode 24'-1 to 24 '-111, and the j-th associative memory word 24-j is n associative memories.
- Associative Memory Word 2 4—j is connected to the corresponding data word line 6 1—j and the secondary search enable signal 11 1 for input, and the corresponding secondary match line 18 1—j is output.
- And n bit lines 59-1 to 59-n are connected for input and output.
- the j-th associative memory word 2 4 the k-th associative memory of j 'cell 6 0 — j 1 k has the corresponding data line 6 1-j , And the secondary search enable signal 1 1 are connected for input, the corresponding secondary match line 18 — j is connected for output, and the bit line 59 — k is connected for input and output.
- the associative memory 'cell 105-j-k is a data cell 23-j-k for storing the corresponding bit information of the second storage data, and the bit line 59- It is provided with a comparator 62-j-k for comparing intermediate data 93 input via k with the bit information stored in the data cell 23-j-k.
- the secondary match line 18—1 to 18—m is pre-charged to the high level beforehand.
- the comparator 6 2—j — k is in the state where the secondary search enable signal 1 1 is valid “1”, and the same associative memory 'data in cell 60 — j — k' cell 2 3—j 1 k If the value of the bit line 59-k does not match the second storage data stored in the second, the invalid state "0" is output to the corresponding secondary match line 18-j, otherwise Open the secondary match line 1 8— j.
- the n comparators 6 2 — j — 1 to 6 2 — j — II in the associative memory '-word 2 4— j All While the secondary match line 18 — j is open, the secondary match line 18 — j is in the valid state “1”, Otherwise, it is in an invalid state "0", and a wired AND logical connection is established in which the valid state "1" of the secondary match line 18 is true. That is, when the secondary search enable signal 11 is in the invalid state "0", the secondary match line 18-j is always in the valid state "1", and the secondary search enable signal 11 is in the valid state.
- the bit line 5 9 — 1 to 5 9 — n exactly matches the storage data stored in the associative memory word 2 4 — j and the secondary Deadlines 1 8 — j are in the valid state "1", and if they do not completely match, the invalid state is "0".
- it may be configured using a normal logic gate so as to perform the same operation.
- the bit line 59 a in the associative memory cell 60 of the secondary associative memory 21 1 , 59b, data-word line 61, and data 'cell 23' are similar to the associative memory 'cell 50 of the primary associative memory 20.
- the comparator 62 includes a MOS transistor (T 23) 22, a MOS transistor (T 24) 22, a MOS transistor (T 25) 22, and a MOS transistor (T 23). 3 2) 2 3 6
- the MOS transistor (T23) 225 and the MOS transistor (T24) 226 are inserted in series between the bit lines 59a and 59b.
- the MOS transistor (T23) 225 is turned on when the output of the inverted logic gate (G21) 221 in the cell 23 is at a high level.
- the MOS transistor (T 24) 222 is turned on when the output of the inverted logic gate (G 222) 222 in the data cell 23 is at a high level.
- the MOS transistor (T32) 236 and the M0S transistor (T25) 227 are low with the secondary match line 18 Inserted in series between potentials.
- the MOS transistor (T32) 236 is turned on when the secondary search enable signal 11 is in the valid state "1".
- the MOS transistor (T2 5) 2 27 is conductive when the potential at the connection point between the MOS transistor (T2 3) 2 25 and the MOS transistor (T2 4) 2 26 is high. State. Both the output of the bit line 59a and the inversion logic gate (G21) 22 1 are at high level, or the bit line 59b and the inversion logic gate (G22) 22 22 When both outputs are high level, the connection point of the MOS transistor (T23) 22 5 and 1 ⁇ 0S transistor (T24) 2 26 is high level. As a result, the MOS transistor (T 25) 227 is turned on.
- the MOS transistor (T2 5) 2 27 becomes conductive. It is assumed that the secondary match line 18 is precharged to a high potential in advance. Thus, when a plurality of associative memory cells 60 are connected to the secondary match line 18 via the MOS transistor (T32) 23 36, one associative memory cell Even if the low level is output even with 60, the secondary match line 18 becomes a low-level wired AND connection.
- the associative memory cell 60 is only connected when the serially connected MOS transistor (T 32) 23 6 is conducting.
- An invalid state "0" is output to the secondary match line 18; otherwise, the secondary match line 18 is opened. That is, when the secondary search enable signal 11 is in the invalid state "0", the secondary match line 18 is open regardless of the comparison result between the intermediate data 23 and the second stored data.
- the secondary search enable signal 11 is in the valid state "1"
- the data is stored in the intermediate data 23 on the bit lines 59a and 59b and the data cell 23.
- the stored second data matches, the state is set to the open state; otherwise, the invalid state "0" is output.
- the secondary search enable signal 11 is controlled by the secondary search enable signal 11 1 to control the M 0 S transistor (T 3 2) 2 3 6 so that the secondary search enable signal 11 is in the invalid state “0”.
- the secondary match line 18 is released in the second state, but the secondary search permission signal 11 is in an invalid state as in the case of the single area search associative memory 36 of the first embodiment.
- this can be realized by providing a means for setting both the bit lines 59a and 59b to "0" in the case of "0".
- the single-area search associative memory 4 described above is stored in the transfer destination network in the network device 4001 in FIG. 33 in the same manner as in the description of the operation of the conventional associative memory 101.
- the operation when used for calculating the network address will be described with reference to FIG.
- the stored data stored in the associative memory words 7 — 1 to 7 — 3 of the primary associative memory 20 Assume that the mask information stores connection information other than the network address (1. *) of the network device 400-1 in FIG. 33. At this time, the bit in the don't care "*" state in the connection information is represented by setting the corresponding bit of the mask information to the mask valid state "0". The state of the corresponding bit of the stored data is arbitrary, but in this example, the invalid state “0” of the stored data is stored.
- the net in Fig. 33 is used as the second storage data stored in each of the associative memory words 24-1 to 24-3 of the secondary associative memory 21, the net in Fig. 33 is used. It is assumed that the value in which the bit in the “don't care” state is replaced with the invalid state “0” of the stored data in the connection information of the device 4 0 0 — 1 is stored. ⁇ (01.00.00.00.00) is assigned to word 24-1, and (01.00.0111.00.00) is assigned to associative memory word 244-2. In the associative memory word 24-4-3, (01.1.0.00.00.00) is stored.
- the value of the primary match line 17-1 is input to the common match line 18-1 from the outside to explain the associative memory 4 for single area search, and the common match is input. It is assumed that the value of the primary match line 1 7-2 is input to the line 18-2, and the value of the primary match line 17-3 is input to the common match line 18-3.
- the octal representation (3. *. *) Stored in 3 does not match. Therefore, the two primary match lines 17-1 and 17-2 are in the valid state "1", and the remaining primary match lines 17-3 are in the invalid state "0".
- the value "1" of the primary match line 17-1 is input to the common match line 18-1 from the outside, and the primary match line 1 is input to the common match line 18-8-2.
- the value “1,” of 7-2 is input, and the value “0” of the primary match line 17-3 is input to the common match line 18-3.
- the storage data “0” corresponding to the matching data intermediate logical line 5 2-1 in the associative memory word 7-1 and the associative memory word 7- The logical sum result "0" with “1” set to true for the stored data "0" corresponding to the coincident intermediate logical line 5 2-1 in 2 is output.
- the matching data in the associative memory ⁇ level 7 1 1 the storage data “1” corresponding to the intermediate logical line 5 2 2 2 and the associative memory 'word 7 1 1
- the logical sum result "1" of "1” for the stored data "1” corresponding to the coincident intermediate logic line 521-1 is output.
- the secondary associative memory 21 performs a secondary search on the value of the input intermediate data 23, "0 1 0 0 1 1 0 0 0".
- the second storage data stored in the associative memory word 24-2 completely matches, and the corresponding secondary match line 18-2 is opened.
- Other associative memories ⁇ Since the second storage data stored in the codes 244-1 and 24-3 do not match, they are invalid for the corresponding secondary match lines 18-1 and 18-3. Outputs status "0". Therefore, only the secondary match line 18-2 keeps the valid state "1" after the secondary search.
- the associative memory for single area search 4 stores the search data 3 of (2.3.3) in octal notation in the same manner as the associative memory for single area search 36 described in FIG.
- the secondary match line 1 8 which corresponds to the storage data with the least number of bits in the mask effective state of the mask information among the storage data that match as a result of the comparison considering the corresponding mask information. It can be seen that the valid state "1" is output only to 2.
- FIG. 20 Using FIG. 20, FIG. 21, FIG. 22, and FIG. 23 as an example, a case where data transfer to data transfer to 1-3 is used will be described with reference to FIG. 5. Each will be described specifically.
- the 9-bit transmission source address (1.2.6) at the time of data transfer is set as the search data 3-1.
- the 9-bit destination address (2.3.5) is used as the search data 3-1, the search data 3-1 is assigned the highest priority, and the search data-the evening 3-2 is given the priority Rank 2
- FIG. 20 FIG. 21, FIG. 22, and FIG.
- the associative memory 25 is a 9-bit 5-word associative memory for single area search 4 — 1 and 4 — 2
- Secondary associative memory 2 Assume that the associative memory word 2 4 — 1 — 1 to 2 4 — 5 — 1 corresponding to the transfer rule of 1 is stored as the second storage data. .
- the 9-bit mask information constituting the 9-bit structured data of the source network address of each transfer rule in Table 1 (b) is stored in the associative memory for single area search.
- -1 associative memory 2 0-1 associative memory corresponding to the transfer rule of 1 'word 7-1 1-1-7-5-1
- the 9-bit stored data constituting the 9-bit structured data of the destination network 'address of each transfer rule in Table 1 (b) is stored in the associative memory for single area search 412.
- Primary associative memory 2 0 associative memory word corresponding to 2 transfer rules 7 — 1 — 2 to 7 — 5 — Stored as storage memory for 2 and secondary associative memory Assume that the associative memory word 2 4 — 1 — 2 to 2 4 — 5 — 2 corresponding to the transfer rule of 2 1 — 2 is stored as the second memory.
- the 9-bit mask information constituting the 9-bit structured data of the destination network address of each transfer rule in Table 1 (b) is associated with a single area search Primary associative memory of memory 4—2, associative memory corresponding to the transfer rule of 0—2, ⁇ —do 7—1—2 to 7—5—2, stored as a mask
- the 9-bit stored data and 9-bit mask information that make up the 9-bit structured data of the destination network address of each transfer rule in Table 1 (b) The associative memory for the single area search associative memory 3 6 — 2 corresponding to the transfer rule ⁇ Word 4 4 — 1 — 2 to 4 4 — 5 — 2 Shall be stored.
- All primary match lines 1 7 — 1 1 1 to 1 7-m_ r and all secondary match lines 1 8 — 1 1 1 to: L 8 — m— r are valid beforehand. Pre-charged.
- FIG. 20 shows an example in which the associative memory 1 is transferred from the PC 410-1 having the network address (1.2.6) in FIG. 33 to the network address (2).
- FIG. 6 is a diagram for explaining an operation state in step S100 of FIG. 5 when the data is used to determine whether or not data can be transferred to a PC 410-3 having PC 3.5. .
- the primary associative memory 2 0—1 releases all primary match lines 1 7—1—1 to 1 7—5—1 As a result, all the primary match lines 1 7-1-1 to 1 7 1 5-1 as the result retain the valid state "1". Since the secondary search enable signal 1 1 — 1 is in the invalid state “0”, the secondary associative memory 2 1 — 1 releases all secondary match lines 1 8 — 1 1 1 to; L 8 — 5 — 1 State, and as a result, all secondary match lines 1 8 — 1-1 to 18 — 5-1 maintain the valid state “1”.
- the primary associative memory 2 0—2 releases all primary match lines 1 7—1—2 to 1 7—5—2 As a result, all the primary match lines 1 7 — 1 — 2 to 1 7 — 5 — 2 hold the valid state “1”. Since the secondary search enable signal 1 1 and 1 2 are in the invalid state "0", the secondary associative memory 2 1 — 2 releases all secondary match lines 1 8 — 1 — 2 to 1 8 — 5 — 2 As a result, all secondary match lines 1 8 — 1 1 1 to 1 8 — 5 — 1 maintain the valid state “1”. Therefore, the coincidence signals 5-1 to 5-5 output from the AND means 15-1 to 15-5 all become the valid state "1".
- the common match lines 3 8 1 1 to 3 8 — 5 which are the outputs of the storage means 4 3 -1 ⁇ to 4 3 -5 are initialized to the valid state “1” by the storage control signal 12. I have. Therefore, AND signals 4 0 — 1 to 4 0 — 5 are all "1" Obviously, the intermediate data 93-1 is the result of the logical sum operation of all storage data stored in the associative memory 'mode 4 4-1-1 to 4 4-1-1 5 " 0 0 1. 0 1 0 1 1 0 ".
- the intermediate data 9 3 — 2 is the logical OR operation result of all the stored data stored in the associative memory ⁇ ⁇ 4 4 2 — 1 to 4 4-2 15.
- FIG. 21 shows a case where the associative memory 25 is transferred from the PC 401-1 having the network address (1.2.6) in FIG. 33 to the network address.
- FIG. 9 is a diagram for explaining an operation state in step S101 when the data transfer to the PC 401-3 having (2.3.5) is used to determine whether transfer is possible or not; .
- the primary associative memory 20-2 of the primary search enable signal 1 0-2 is in the valid state "1". Overnight 3 — 2 value "0 1 0. 0 1 1. 0 1, and the associative memory mode 7 — 1 — 2 to 7 — 5 — 2 Is compared with the corresponding mask information, and the primary match lines 1 7 — 1 1 2, 1 7 — 3 — 2, and 1 7 — 5 — 2 are valid. , And the primary match lines 1 7-2-2 and 1 7-4-2 are invalid "0" Becomes
- the secondary associative memory 2 1 — 1 Since the secondary search enable signal 1 1 1 1 is in the invalid state "0", the secondary associative memory 2 1 — 1 is connected to all secondary match lines 1 8 — 1 — 1 to 1 8 — 5 — 1 All the secondary match lines 1 8 — 1 — 1 to 1 8 — 5 _ 1 remain in the valid state “1”. Since the secondary search enable signal 1 1 1 2 is in the invalid state "0", the secondary associative memory 2 1 — 2 releases all secondary match lines 1 8 — 1 — 2 to 1 8 — 5 — 2 As a result, all secondary match lines 1 8 — 1 — 2 to 1 8 — 5 — 2 maintain the valid state “1”. Therefore, the coincidence signals 5-1 to 5-5 output from the AND means 15-1 to 15-5 are all in the valid state "1".
- the storage means 4 3 — 1 to 4 3 — 5 outputs the value “1” initialized in step S 100 to the common match line 3 8 — 1 to 3 8 — 5, the logical product signal 4 0 — 1, 40 — 3, and 40 — 5 become “1”, and the AND signals 40 — 2, and 40 — 4 become “0”.
- 93-1 is the result of the logical sum operation of all the stored data stored in the associative memory, word 4 4 — 1 — 1 to 4 4 — 1 — 5. 0 0 1 .0 1 0 .1 1 1 1 1 1 ".
- the intermediate data 93-3-2 is the result of the logical OR operation of all the stored data stored in the associative memory word 44-2-2 to 1-44-2-5. 0 1 1 .1 0 1 ".
- the values of the AND signals 40-1 to 40-5 are stored in the storage means 43-1 to 43-5 when the next step is performed by the storage control signal 12.
- FIG. 22 shows an example in which the associative memory 2-5 is transferred from the PC 401-1 having the network address (1.2.6) in FIG. 33 to the network address. (1.3.5) to PC 4 0 1-3
- FIG. 7 is a diagram for explaining an operation state in step S102 when used for determining whether or not transfer is possible in all cases.
- the storage means 4 3 — 1 to 4 3 — 5 output the value stored in step S 101, the common match lines 38 — 1, 38 — 3, and 38 — 5 are “ 1 ", and the common match lines 38-8 and 38-4 become” 0 ". Therefore, the value of the intermediate data 9 3 1 1 of the associative memory 4-1 for single area search is stored in the associative memory ⁇ words 7-1-1, 7-3-1, and 7-5-1 The result of the logical sum operation of the stored data is "0 0 1 .0 1 1 .0 0 0 0". Also, the value of the intermediate data 9 3 — 2 of the associative memory for single area search 4 — 2 is as follows: The logical sum operation result of the stored data is "0 1 0. 0 1 1 1 0 1".
- the valid state “1” is input to the secondary search enable signal 1 1 — 1 and the secondary associative memory 2 1 — 1 Is the value of the intermediate data 9 3 — 1 “0 0. 1 0 1. 0 0 0” and the second stored in the associative memory.
- Word 2 4 — 1 — 1 to 2 4 — 5 — 1 The secondary match lines 1 8 — 1 — 1 and 1 8 — 3 — 1 are in the valid state “1” as a result, and the secondary match lines 1 8 — 2 — 1, 1 8—4—1 and 1 8—5—1 are in the invalid state “0”.
- the primary associative memory 2 0 — 1 of the single area search associative memory 4 — 1 has all the primary match lines 1 7 because the primary search enable signal 1 0 — 1 is in the invalid state “0”. — 1 1 1 to 1 7 — 5 — 1 is in the released state, and as a result, all primary match lines 1 7 — 1 1 1 to 1 7— 5 — 1 are in the valid state “1” I do. -The primary associative memory 2 0 — 2 of the single area search associative memory 4 — 2 has all 1s because the primary search enable signal 1 0 — 2 is in the invalid state “0”.
- the state of the AND signal 4 0 — 1 to 4 0 — .5 is stored in the storage means 4 3 _ 1 to 4 3 — 5 at the time of moving to the next step by the storage control signal 12, [Steve 3 1 0 3 to 3 1 0 5]
- FIG. 23 shows that the associative memory 25 is transferred from the PC 401-1 having the network address (1.2.6) in FIG. 33 to the network address (2.3).
- FIG. 5 is a diagram for explaining an operation state in step S105 when the method is used for judging whether or not data can be transferred to a PC 401-3 having .5). Since the storage means 4 3 — 1 to 4 3 — 5 output the value stored in step S 102, the common match lines 38 — 1 and 38 — 3 become “1”. Therefore, the common match lines 38-8, 38-8, and 38-8 become "0". For this reason, the value of the intermediate data 93-1 of the associative memory for single area search 4-1 is determined by the logic of the stored data stored in the associative memory words 7-1-1 and 7-3-1.
- the result of the sum operation is "001".
- the value of the intermediate data 9 3 — 2 in the associative memory for single area search 4 1 to 2 is the stored data stored in the associative memory word 7 — 1 — 2 and 7 — 3 — 2
- the result of the OR operation is “0 1 0. 0 1 1.
- the associative memory for single area search having a priority of 1 is the primary associative memory 2 0 — 1 of 1—1 because the primary search enable signal 1 0 — 1 is in the invalid state “0”.
- Primary match line 1 7 — 1 —:! 1 1 7 — 5 — 1 is in the released state, and as a result, all primary match lines 1 7 — 1 — 1 to 1 7 — 5 — 1 hold the valid state “1”.
- the secondary associative memory 2 1 — 1 of the single area search associative memory 4 — 1 has all secondary match lines 1 8 — 1 because the secondary search enable signal 1 1 — 1 is in the invalid state “0”.
- — 1 to 1 8 — 5 — 1 is released, and as a result, all secondary match lines 1 8 — 1 1 1 to 1 8-5-1 hold the valid state “1”.
- the effective state "1" is input to the secondary search enable signal 1 1 to 2 in the primary associative memory 2 0—2 of 2 1
- the associative memory 2 1-2 is the value of the intermediate data 9 3-2 "0 1 0. 0 1 1. 0 0 0, and the associative memory 'word 2 4-1-2 to 2 4-5-2
- the second match line 1 8 — 3 — 2 is compared with the second memory data stored in the second memory, and as a result, the valid state is “1” and the second match line 1 8—1—2, 1 8—2—2, 1 8—4—2, and 1 8 — 5 — 2 becomes invalid state “0”.
- the primary associative memory 2 0 — 2 of the single area search associative memory 4 — 2 has all the primary match lines 1 7 because the primary search enable signal 10 — 2 is in the invalid state “0”. — 1 — 2 to 1 7— 5 — 2 is released, and as a result, all primary match lines 1 7—1 1 2 to 1 7-5-2 are kept in the valid state “1” I do.
- the number r of the associative memories for single area search 36 is compared with r.
- the value p of the internal variable 28 and the number r of the associative memories 4 for single area search included in the associative memory 25 are both 2, and the search result ends.
- the match signals 5-1 to 5-5 only the match signal 5 to 3 outputs the valid state "1". This is obtained as the final search result. Become.
- step S105 a secondary search is further performed from the words that matched when the secondary search was performed in step S102.
- the value of the intermediate data 93-1 at step S105 shown in Fig. 22 and the value of the intermediate data 93-1 at step S102 shown in Fig. 22 are, of course, the same. is there. Therefore, in step S105 of the flowchart of FIG. 5, when the value of the internal variable 28 is p, the valid state is output to the secondary search signal 111-1-1p. It can be seen that the same result can be obtained.
- the logical product means 15-1 to 15-m are deleted, and the shared common match line 3 8-:! ⁇ 3 8 — m, logical product means 4 0-;! ⁇ 4 0-m and storage means-4 3-1 to 4 3-m, each secondary associative memory 2 1-; ⁇ 2 1 — r Common match line dedicated to each 3 8 — 1 — ⁇ ⁇
- m logical product means corresponding to the secondary associative memory 2 1 ⁇ 1 1 are effective in place of the coincidence signal 5 ⁇ 1 to 5 ⁇ m for 1 3 — 1—1 to 1 3—m—1.
- the state is input, and r logical product means 1 3— 1— 2 to 13—m—2 corresponding to the secondary associative memory 2 1—2 are replaced with the coincidence signal 5—1 to 5—m.
- For 3—m—r input the secondary match line 1 8—1— (r-1) to 18-m— (r-1) instead of the match signal 5—1 to 5—m.
- the secondary associative memory 2 1— 1 to 2 1— r can be operated independently.
- the primary search permission signal 10 0-1 to; 10-r and the secondary search permission signal 11 1 1 to 11-r can all be in the valid state, and the pipeline operation. It goes without saying that the valid state may be output only to the portion that should be operated according to the frequency. Also, the above storage means 4 3 1 1 1 1 to 4 3—m—r are deleted, and the primary search permission signal 10—1—1 0—r Secondary search permission signal 1 1—1 1—1 1—r If all the valid states are output, all operations are completed in one clock. Also, as described above, the operating frequency of the pipeline is increased by inserting a latch for storing the intermediate data 93-1 to 93-: r. It is easy to see that it is possible.
- FIG. 24 is a block diagram showing a configuration example of the m-word associative memory 35 according to the fourth embodiment of the present invention.
- the associative memory 35 of the fourth embodiment shown in FIG. 24 is composed of r pieces of associative memories for single area search 30-1-30-primary associative memory 31-r which constitutes r. 1 to 3 1 — r It's j-th associative memory ⁇ Word 3 2 1 j — l to 3 2 — j —
- the output signal of the comparison result of r is a single primary match line 1 7 — j And AND logic connection, and primary match line
- the state held dynamically in 1 7 — j is used to generate intermediate data 9 3 — 1 to 9 3 — r.
- the primary match line 17-1j is precharged to the valid state "1" only when the start signal 42 is in the valid state.
- the second-order associative memory 2 1 — 1 to 2 1 — r that forms the single-area search associative memory 2 6 — 1 to 2 6 — r Word 2 4 — j 1 1 to 2 4 — j-r Output signal of comparison result
- the logical product means 15—j in the associative memory 25 of the third embodiment shown in FIG. 14 is different from that of the associative memory 35 of the fourth embodiment shown in FIG. This is realized by a secondary match line 18—j, which is connected with a wired AND logic.
- the state of the secondary match line 18-j is directly output to the outside as a match signal 5-j.
- the j-th primary match line 17—j of the associative memory 35 shown in FIG. 24 is set to a valid state “1” when the start signal 42 is in a valid state.
- r associative memories for single-area search 3 0—1 to 30 r Primary associative memories 3 1—1 to 3 1—constituting r r each j-th associative memory.
- the associative memory 35 shown in Fig. 4 consists of a primary match line 17j connected to a wired AND logic and a MOS transistor 33-j.
- the configuration of the associative memory 25 of the third embodiment is exactly the same as that shown in Fig. 14. It is apparent that the same search operation can be performed on an input data composed of a plurality of search data. is there.
- the number of associative memories for r single area search 30-0 to 30-r is m primary matching lines. This is a total (2 m) of 1 7 — 1 to 17 — m and m secondary matching lines 18 — 1 to 18 1 m.
- the number of wirings between r single-area search associative memories 411 to 4-1r is mxr primary match lines 1 7—1—1 to 1 7 _m—r, mx r secondary match lines 1 8—1—1 to 18—m— and m shared match lines 3 8—1 to 38—m (Mx (2 ⁇ r + 1)), and it can be seen that the number of wires is significantly reduced in the associative memory 35 of the fourth embodiment.
- the wiring between the r single-region search associative memories 30-1 through 30-0-r is routed over the entire area of the associative memory 35, so that the wiring capacity becomes large, and the wiring is maintained. The power consumed every time a state transitions is very large. Therefore, in the associative memory 35 of the fourth embodiment, as compared with the associative memory 25 of the third embodiment, the wiring area is greatly reduced and the chip area is reduced, and at the same time, the power consumption is reduced. Is greatly reduced.
- FIG. 25 shows a block diagram of a configuration example of the primary associative memory in the associative memory according to the fourth embodiment.
- the configuration of the primary associative memory 31 shown in FIG. 25 is different from the primary associative memory 20 of the third embodiment shown in FIG.
- the common coincidence line 3 8—j has been deleted from j, and the j-th associative memory 'word 3 2 —j n associative memory cells 80-j-1 to 80 -j — Logical gate in n 5 6-j-1 to 5 6— j — except that the input of n was changed from the common match line 3 8 — j to the primary match line 1 7 — j
- the primary coincidence line 17—j which is an output signal, is connected to n logic gates 56—j—1 to 56—j—n. Since they are generated by AND logic connection, the common match line 38-j can be shared with the primary match line 17-j even in the primary associative memory 31. It is.
- the primary match lines 17—1 to 17—m are generated using normal logic gates instead of wired AND logic connections, the same configuration as in FIG. Even in a primary associative memory in which the primary match line 1 7—1 to 17—m is output from a logic gate, the primary match line 17—j is used as the logic gate that outputs the primary match line 17—j.
- the association of the fourth embodiment is achieved. It goes without saying that it can be used as the primary associative memory 31 of the memory 35.
- FIG. 26 is a block diagram showing a configuration example of the associative memory according to the fifth embodiment of the present invention.
- the search data 48 is added as a component of the search data 47, and the search data 48 is input and m match lines 90-1 to 90-m are output.
- Associative memory 4 9 has been added.
- Fig. 1 except that the logical matching means 9 1-1 to 9 1 and the corresponding match line 90-1 to 90-m as an input signal of 1 m are added.
- the structure is exactly the same as that of the associative memory 25 shown in FIG.
- the associative memory 46 in FIG. 26 can perform the same search operation as that of the associative memory 25 on a plurality of pieces of search data 3 — 1 to 3 — r. It has a function to narrow down search results in advance using data 48. This makes it possible to switch and use a plurality of tables of the transfer rules described in Table 1 (b).
- the transfer rule of Table 1 (b) is stored in a specific word of the associative memory for searching a single area 4 1 1 to 4 — r, and the storage data of the corresponding word in the associative memory 49 and And store the data that represent "weekdays".
- a transfer rule that allows the other memory of the associative memory for single area search 4-1 to 4-r to only allow transfer from a specific PC to a specific PC and reject all other transfers is specified. If the stored data is stored and the data representing the "holiday" is stored as the stored data of the corresponding word in the associative memory 49, the transfer rule is changed according to the search data 48. In other words, the transfer rule can be set more flexibly than the associative memory 25 shown in FIG.
- FIG. 27 is a block diagram illustrating a configuration example of the network device of the present invention.
- FIG. 27 shows a network machine according to the present invention.
- the device 450 is applied to the network device 400-1 of FIG. 33 in the same way as the description of the conventional network device 4222 shown in FIG.
- the configuration and operation will be described.
- the network device 450 in FIG. 27 is the same as the conventional network device shown in FIG.
- the input transfer data 402 is input and the output transfer data 403 is output.
- the input transfer data 402 is composed of a source network address 404, a destination network address 405, and a destination network 'address 4'. It has 0 6 and 4 7
- the output transfer data 403 includes a source network address 404, a second destination network 'address 408, and a destination network address 4 06 and a data section 407.
- network device 450 is described as an example applied to network device 400-1 in FIG. 33, so input transfer data transfer 402
- the destination network's address 405 is the network of the network device 400-1 shown in Fig. 33. ⁇
- the address is the address.
- a network device 450 of the present invention shown in FIG. 27 includes a source network address extraction unit 409 and a destination network address extraction unit 4. 10, the associative memory 101, the encoder 414, the memory 416, the destination network / address change unit 418, and the data transfer unit 421, It comprises an associative memory 1 of the invention, an encoder 451, and a memory 453.
- the transmission source network address information 4 11 and the destination network address information 4 1 2 Is input, a transfer enable / disable judgment calculation is performed, and the calculation result is used as a transfer control signal 420.
- the CPU 413 having the function of outputting is controlled by the associative memory 1, the encoder 451, and the memory 453.
- the configuration is different.
- the other components, the source network, the address extractor 409, the destination network-address extractor 410, the associative memory 101, and the encoder 4 14 and the memory 4 16 are the same as the conventional network device described in FIG. 34, and are applied to the network device 400-1 in FIG. 33.
- the information to be set in this case is the same as in Fig. 34. Therefore, only the parts different from the conventional network equipment 422 will be described.
- the associative memory 1 shown in Fig. 27 is composed of associative memories 36-1 and 36-2 for searching a single area of 5 words of 9 bits.
- the source network address information 411 output from the source network address extraction unit 409 is detected in the associative memory for searching a single area 36 1.
- the search network 3-1 is input as the destination network address extraction unit 4 10, and the destination network output address information 4 1 2 is output as a single area search. It is entered in the associative memory 3 6 — 2 as search data 3 — 2.
- the priority of search data 3-1 is set to the highest priority 1
- the priority of search data 3-2 is set to 2.
- the 9-bit storage data constituting the 9-bit structured data of the transmission source network address of each transfer rule is stored as 9-bit mask information.
- the associative memory for the single-area search 36-1 associative memory word corresponding to the transfer rule of 4 4-1-1 to 4 4-5-1 Shall be stored.
- the destination network of each transfer rule in Table 1 (b) the 9-bit storage data and the 9-bit data that make up the 9-bit structured data of the address
- the mask information of the unit is stored in the associative memory words 441-1-2 to 44-5-2, which correspond to the transfer rules of the associative memory for single area search 36-2, respectively. It is assumed that it is stored as mask information. It is also assumed that a start signal and a clock signal are supplied to the associative memory 1 by a control circuit (not shown).
- the match signals 5-1 to 515 output from the associative memory 1 as a search result are encoded by the encoder 451 into a memory address signal 451.
- the memory 453 stores information indicating the transfer permission “1” or the transfer rejection “0” in Table 1 (b), and the associative memory 1 stores the transfer rule in Table 1 (b), and stores the mask. It is assumed that the information is stored in the word of the same address as that of the associative memory word in which the information is stored. For example, associative memory word 44-11-1 of associative memory 1 and associative memory 'word 44-1-1-2 store information corresponding to transfer rule 1, which corresponds to this. The information indicating the transfer permission "1" to be transferred is stored in the memory 1 of the memory 453 at the first level.
- the memory 453 outputs the storage data designated by the memory address signal 452 as a read address to the data transfer section 421 as a transfer control signal 420.
- the data transfer section 4 21 outputs the modified transfer data 4 19 as the output transfer data 4 3 if the transfer control signal 4 2 0 permits the transfer, and the transfer control signal 4 2 0 Does not output if refuses to forward.
- the transmission source network As the address 404, the PC shown in FIG. It has a network 41'-1 network 'address (1.2.6) and a destination network.
- the PC 41-3 As the address 410, the PC 41-3 shown in Fig. 33 The operation when the input transfer data 402 having the “network” address (2.3.5) is input will be described.
- the match line 1 0 5 1 2 corresponding to (2.3. *) Stored in the word associative memory 1 0 2-2 outputs a valid state.
- the encoder 4 14 outputs “2,” as the memory address 4 15 and the memory 4 16 outputs the network device 4 0 6
- the work address is output as a memory data signal 417.
- the transfer destination network The transfer destination address of the input transfer data 402 is changed by the address change unit 418.
- the network address 405 is changed to the network * address of the network device 400-6, and the transfer data is changed to the data transfer section 4 2 1 4 1 Enter as 9.
- (1.2.6) is input to the associative memory 1 as the search data 3-1 from the transmission source network / address extraction unit 409, and the destination network (2.3.5) is input as the search data 3-2 from the network / address extraction unit 410.
- the transfer rules stored in the search data 3-1, 3, 12 and the associative memory for single area search 36, 1, 36, 2 are the associative memory of the first embodiment. This is the same as in the description of the operation. Therefore, match signal 5-3 will output a valid state, and the other match lines 5-1, 5-2, 5-4, and 5-5 will output an invalid state.
- the encoder 45 1 outputs “3” as the memory address 452, and the memory 45 3 transfers the information “0” indicating the transfer rejection of the transfer rule 3 It is output to the data transfer section 4 21 as a control signal 4 220. Therefore, the data transfer section 4 2 1 Evening 419 is not output as output transfer data 403. From PC 401-1-3 with network address (1.2.6) to PC 401-1-3 with network address (2.3.5) Since the data transfer must be rejected according to the transfer rule 3, it can be seen that the network device 450 of the present invention has correctly performed the transfer enable / disable determination operation.
- the memory address signal 452 is generated by the encoder 451, but the coincidence signals 5-1 to 5-5 are directly input as the word lines of the memory 453. It goes without saying that the encoder 4 5 1 can be deleted by setting.
- a network device that executes the transfer enable / disable determination operation using the associative memory of the present invention can execute the transfer enable / disable determination operation in three clocks. Therefore, as compared with the conventional network device shown in FIG. 34, which requires several hundred clocks to perform the transfer enable / disable determination operation by the software processing of the CPU like the conventional network device. Computer Network ⁇ System data transfer speed can be greatly increased. O
- the transfer rules can be deleted, added, or changed simply by modifying the data stored in the associative memory of the present invention, so that the transfer rules can be executed in the time required for ordinary memory access. Therefore, with the network device of the present invention, it is possible to delete, add, or change a transfer rule without interrupting the transfer operation.
- the associative memory of the present invention when a search is performed on input data composed of a plurality of search areas in consideration of mask information, all stored data corresponding to the input data match.
- the number of mask enabled bits in the mask information that constitutes structured data for each search area in consideration of the priority order As a result of the comparison, the signal for identifying the word with the minimum value can be output to the outside at a high speed with a clock number equal to or less than the number of search areas plus one.
- it can be realized with an increase in the circuit size by several percent compared to the conventional associative memory.
- the associative memory of the present invention has no restrictions on the order of words for storing structured data and the location of words to be stored, and adds and deletes structured data only in the time required for normal memory access. This has the effect of making corrections. This also has the effect of simplifying software processing for managing structured data in associative memory.
- the network device incorporating the associative memory of the present invention can perform the transfer enable / disable determination operation at a speed several hundred times or more higher than before.
- the transfer permission / non-permission determination operation is performed by using software processing using a binary tree search algorithm, etc., with several hundred clocks. This is because the memory can perform the transfer enable / disable operation in three clocks.
- -Also in a network device incorporating the associative memory of the present invention, it is possible to delete, add, or change a transfer rule without interrupting the transfer operation. It has the advantage of being able to.
- the transfer rule can be deleted, added, or changed in the time required for normal memory access. This eliminates the need to create a huge search table when deleting, adding, or changing transfer rules in network devices that used to perform transfer enable / disable calculations in conventional software processing. This also has the advantage of reducing network downtime and simplifying operation management. In addition, it has the advantage that the security of the whole network is improved because the new transfer rules are quickly reflected.
- a network device incorporating the associative memory of the present invention has an advantage in that the total cost of a network device capable of executing transfer determination at high speed can be reduced. As described above, by mounting the associative memory of the present invention capable of calculating the transfer permission / prohibition at high speed, it is not necessary to mount an expensive high-speed CPU system.
- a network system that can ensure security, can transfer data at high speed, and is easy to operate and manage can be provided. It has the advantage that it can be constructed.
Description
Claims
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA018231888A CN1505819A (zh) | 2001-04-25 | 2001-04-25 | 相联存储器及其检索方法、网络设备及网络系统 |
EP01925898A EP1385173A4 (en) | 2001-04-25 | 2001-04-25 | ASSOCIATIVE MEMORY, HIS SEARCH, NETWORK DEVICE AND NETWORK SYSTEM METHOD |
US10/475,031 US6956756B2 (en) | 2001-04-25 | 2001-04-25 | Associative memory, method for searching the same, network device, and network system |
JP2002588556A JP3957637B2 (ja) | 2001-04-25 | 2001-04-25 | 連想メモリとその検索方法およびネットワーク機器およびネットワーク・システム |
KR20037013975A KR100666241B1 (ko) | 2001-04-25 | 2001-04-25 | 연상 메모리와 그 검색 방법 및 네트워크 기기 및네트워크 시스템 |
PCT/JP2001/003562 WO2002091386A1 (fr) | 2001-04-25 | 2001-04-25 | Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau |
TW91108664A TWI226065B (en) | 2001-04-25 | 2002-04-26 | Associative memory and search thereof, network machine and network system |
US11/252,360 US7397682B2 (en) | 2001-04-25 | 2005-10-17 | Associative memory having a mask function for use in network devices and network system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2001/003562 WO2002091386A1 (fr) | 2001-04-25 | 2001-04-25 | Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10475031 A-371-Of-International | 2001-04-25 | ||
US11/252,360 Continuation US7397682B2 (en) | 2001-04-25 | 2005-10-17 | Associative memory having a mask function for use in network devices and network system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2002091386A1 true WO2002091386A1 (fr) | 2002-11-14 |
Family
ID=11737276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2001/003562 WO2002091386A1 (fr) | 2001-04-25 | 2001-04-25 | Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau |
Country Status (7)
Country | Link |
---|---|
US (2) | US6956756B2 (ja) |
EP (1) | EP1385173A4 (ja) |
JP (1) | JP3957637B2 (ja) |
KR (1) | KR100666241B1 (ja) |
CN (1) | CN1505819A (ja) |
TW (1) | TWI226065B (ja) |
WO (1) | WO2002091386A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007026560A (ja) * | 2005-07-19 | 2007-02-01 | Hitachi Ltd | 半導体装置 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2005013566A1 (ja) * | 2003-07-31 | 2006-09-28 | 富士通株式会社 | データ検索方法及び装置 |
US7392229B2 (en) * | 2005-02-12 | 2008-06-24 | Curtis L. Harris | General purpose set theoretic processor |
US7515449B2 (en) * | 2006-09-15 | 2009-04-07 | International Business Machines Corporation | CAM asynchronous search-line switching |
US8065249B1 (en) | 2006-10-13 | 2011-11-22 | Harris Curtis L | GPSTP with enhanced aggregation functionality |
US7774286B1 (en) | 2006-10-24 | 2010-08-10 | Harris Curtis L | GPSTP with multiple thread functionality |
US8280901B2 (en) * | 2008-01-03 | 2012-10-02 | Masterfile Corporation | Method and system for displaying search results |
KR101011905B1 (ko) * | 2010-02-09 | 2011-02-01 | 주식회사 강림정공 | 다줄 나사 탭핑 머시인 |
US8667230B1 (en) | 2010-10-19 | 2014-03-04 | Curtis L. Harris | Recognition and recall memory |
US20130080448A1 (en) * | 2011-09-23 | 2013-03-28 | The Boeing Company | Associative Memory Technology in Intelligence Analysis and Course of Action Development |
US9659110B2 (en) * | 2011-10-20 | 2017-05-23 | The Boeing Company | Associative memory technology for analysis of requests for proposal |
US9135997B2 (en) * | 2013-01-18 | 2015-09-15 | Fujitsu Limited | System and method for filtering addresses |
US10402816B2 (en) * | 2016-12-31 | 2019-09-03 | Square, Inc. | Partial data object acquisition and processing |
US10621590B2 (en) | 2017-02-22 | 2020-04-14 | Square, Inc. | Line-based chip card tamper detection |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1173782A (ja) * | 1997-08-29 | 1999-03-16 | Nec Corp | ルータを有するネットワークシステムおよび改良されたルータおよびそのルータに用いられる連想メモリ |
JPH11261647A (ja) * | 1998-03-12 | 1999-09-24 | Nec Corp | ルータ及び最長一致検索装置 |
JP2000322892A (ja) * | 1999-05-10 | 2000-11-24 | Nec Corp | 連続検索動作可能な最短マスク出力機能付連想メモリ |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10255485A (ja) * | 1997-03-10 | 1998-09-25 | Kawasaki Steel Corp | 連想メモリおよびネットワークフレーム中継器 |
US6647490B2 (en) * | 1999-10-14 | 2003-11-11 | Advanced Micro Devices, Inc. | Training line predictor for branch targets |
-
2001
- 2001-04-25 EP EP01925898A patent/EP1385173A4/en not_active Withdrawn
- 2001-04-25 CN CNA018231888A patent/CN1505819A/zh active Pending
- 2001-04-25 WO PCT/JP2001/003562 patent/WO2002091386A1/ja not_active Application Discontinuation
- 2001-04-25 JP JP2002588556A patent/JP3957637B2/ja not_active Expired - Fee Related
- 2001-04-25 US US10/475,031 patent/US6956756B2/en not_active Expired - Fee Related
- 2001-04-25 KR KR20037013975A patent/KR100666241B1/ko not_active IP Right Cessation
-
2002
- 2002-04-26 TW TW91108664A patent/TWI226065B/zh not_active IP Right Cessation
-
2005
- 2005-10-17 US US11/252,360 patent/US7397682B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1173782A (ja) * | 1997-08-29 | 1999-03-16 | Nec Corp | ルータを有するネットワークシステムおよび改良されたルータおよびそのルータに用いられる連想メモリ |
JPH11261647A (ja) * | 1998-03-12 | 1999-09-24 | Nec Corp | ルータ及び最長一致検索装置 |
JP2000322892A (ja) * | 1999-05-10 | 2000-11-24 | Nec Corp | 連続検索動作可能な最短マスク出力機能付連想メモリ |
Non-Patent Citations (1)
Title |
---|
See also references of EP1385173A4 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007026560A (ja) * | 2005-07-19 | 2007-02-01 | Hitachi Ltd | 半導体装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3957637B2 (ja) | 2007-08-15 |
US20060120128A1 (en) | 2006-06-08 |
TWI226065B (en) | 2005-01-01 |
EP1385173A1 (en) | 2004-01-28 |
US7397682B2 (en) | 2008-07-08 |
JPWO2002091386A1 (ja) | 2004-08-26 |
CN1505819A (zh) | 2004-06-16 |
US6956756B2 (en) | 2005-10-18 |
EP1385173A4 (en) | 2005-10-26 |
US20040080973A1 (en) | 2004-04-29 |
KR100666241B1 (ko) | 2007-01-10 |
KR20030092104A (ko) | 2003-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3191737B2 (ja) | ルータを有するネットワークシステムおよび改良されたルータおよびそのルータに用いられる連想メモリ | |
WO2002091386A1 (fr) | Memoire associative, procede de recherche dans ladite memoire, dispositif de reseau et systeme de reseau | |
US6389579B1 (en) | Reconfigurable logic for table lookup | |
US6499081B1 (en) | Method and apparatus for determining a longest prefix match in a segmented content addressable memory device | |
US6460112B1 (en) | Method and apparatus for determining a longest prefix match in a content addressable memory device | |
US6574702B2 (en) | Method and apparatus for determining an exact match in a content addressable memory device | |
JP3593920B2 (ja) | 連続検索動作可能な最短マスク出力機能付連想メモリ | |
US5652902A (en) | Asynchronous register for null convention logic systems | |
TW200401206A (en) | Enhanced multiway radix tree and related methods | |
CN105849714A (zh) | 用于在功率选通事件之后恢复数据阵列的多核装置和方法 | |
JP3599273B2 (ja) | 内容参照可能メモリの改良 | |
US7054995B2 (en) | Dynamic linking of banks in configurable content addressable memory systems | |
Nguyen et al. | An efficient I/O architecture for RAM-based content-addressable memory on FPGA | |
JP2002508644A (ja) | ブール論理に基づくアドレス分析の方法と装置 | |
US10242124B2 (en) | Content addressable memory and semiconductor device | |
JP3845845B2 (ja) | 連想メモリ・システムおよびネットワーク機器およびネットワーク・システム | |
US20160358654A1 (en) | Low-power ternary content addressable memory | |
JPWO2014038306A1 (ja) | 不揮発性連想メモリを利用した全文検索システム及びこれに用いる文字列比較方法 | |
Lipovski | A four megabit dynamic systolic associative memory chip | |
Delgado-Frias et al. | A programmable dynamic interconnection network router with hidden refresh | |
JPH0730407A (ja) | プログラム可能制御、デコード及び/又はデータ操作を有するレジスタファイル | |
TW512345B (en) | Association memory and its search method along with router and network system | |
AU2021106221A4 (en) | An improved tcam cell design and method of operation for reduced power dissipation | |
Santhi et al. | Design and Implementation of Reversible Logic Based Ternary Content Addressable Memory | |
Siddiqi et al. | Memristor-Based Lightweight Encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CN JP KR US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2002588556 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020037013975 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 018231888 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2001925898 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10475031 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 2001925898 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 1020037013975 Country of ref document: KR |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2001925898 Country of ref document: EP |