买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:瑞萨电子株式会社
摘要:本公开的各实施例涉及搜索存储器。本公开提供了能够抑制芯片面积的增加和电流消耗量的增加的搜索存储器。搜索存储器包括输入控制区段、N个搜索单元和N个第一选择器。输入控制区段接收并行输入的N个N:两个或更多搜索数据。N个第一选择器分别与N个搜索单元相关联地设置,以从N个搜索数据中选择两个搜索数据。搜索单元各自包括多个搜索块和M个第二选择器。M个第二选择器选择由第一选择器选择的两个搜索数据中的一个搜索数据。针对N个搜索单元中的至少一个搜索单元,执行分配,使得与N个搜索数据分别相关联的N种类型的条目数据中的两种类型分别存储在搜索块中。
主权项:1.一种搜索存储器,其执行搜索以确定输入的搜索数据与存储在存储器单元阵列中的条目数据是否匹配,并且输出与匹配的条目数据相关联的地址信息,所述搜索存储器包括:控制区段,所述控制区段接收并行输入的N个搜索数据的所述输入,N为两个或更多;N个搜索单元;以及N个第一选择器,所述N个第一选择器分别与所述N个搜索单元相关联地设置,以便从所述N个搜索数据中选择两个搜索数据,其中所述搜索单元各自包括:多个搜索块;以及M个第二选择器,所述M个第二选择器分别与所述搜索块相关联地设置,以便选择由针对相关联的所述搜索单元设置的所述第一选择器选择的两个搜索数据中的一个搜索数据,以及其中,针对所述N个搜索单元中的至少一个搜索单元,分配被执行,使得与所述N个搜索数据分别相关联的N种类型的条目数据中的两种类型分别被存储在所述搜索块中。
全文数据:搜索存储器相关申请的交叉引用包括说明书、附图和摘要的、于2017年12月27日提交的日本专利申请号2017-251714的公开内容通过引用整体并入本文。技术领域本公开涉及半导体装置。例如,本公开涉及搜索存储器。背景技术被称为搜索存储器或者CAM内容可寻址存储器的存储器装置从存储的数据字中搜索匹配搜索字的数据字。当找到匹配的数据字是,这种存储器装置输出其地址。CAM有两种类型,即BCAM二进制CAM和TCAM三进制CAM。BCAM中的每个存储器单元存储“0”或“1”作为信息。与此同时,TCAM的每个存储器单元除了“0”和“1”之外还能够存储“无需理会”作为信息。在该示例中,符号“*”用于表示“无需理会”。符号“*”表明信息可以是或者“0”或者“1”。在网络路由器诸如,因特网中,广泛使用TCAM装置,以便执行地址搜索和提供存取控制。为了提供大容量,TCAM装置通常包括多个阵列并且在所包括的阵列上同时执行搜索操作。TCAM装置能够同时将输入搜索数据输入分组与TCAM单元数据进行比较。因此,TCAM装置在所有搜索应用中比RAM随机存取存储器快。更具体地,TCAM装置包括匹配线ML,用于比较用户想要搜索的数据以及在存储器单元中存储的数据,以及示出数据是否相互匹配。TCAM装置被配置使得输出与匹配的匹配线相关联的地址信息命中索引。近年来,CAM阵列的数目增加以扩大CAM的容量。此外,提出了通过使用多个搜索关键字并行执行搜索过程的方法美国专利号6,374,326和美国专利号9,159,420。发明内容与此同时,为了通过使用多个搜索关键字并行执行搜索过程,需要将所有搜索关键字发送到CAM阵列。因此,数据总线的宽度可能增加,以扩大芯片面积和电流消耗量。本公开内容已经做出以解决以上问题,并且提供了能够抑制芯片面积增加和电流消耗量增加的搜索存储器。根据以下描述和附图,其它问题以及新颖特征将是明显的。根据本公开的一个方面,提供了搜索存储器,其执行搜索以确定输入的搜索数据与存储在存储器单元阵列中的条目数据是否匹配,并输出与匹配的条目数据相关联的地址信息。搜索存储器包括输入控制区段、N个搜索单元和N个第一选择器。输入控制区段接收并行输入的N个N:两个或更多搜索数据的输入。第一选择器分别与N个搜索单元相关联地设置,以便从N个搜索数据中选择两个搜索数据。每个搜索单元包括多个搜索块和M个第二选择器。第二选择器分别与搜索块相关联地设置,以便选择由针对相关联的搜索单元设置的第一选择器选择的两个搜索数据中的一个搜索数据。对于N个搜索单元中的至少一个搜索单元,执行分配,使得与N个搜索数据分别相关联的N种类型的条目数据中的两种类型分别存储在搜索块中。根据本公开的一个实施例的搜索存储器能够抑制芯片面积的增加和电流消耗量的增加。附图说明图1是图示根据本公开的第一实施例的通信设备1的配置的示图;图2是图示TCAM单元的示例性配置的电路图;图3是以表格形式图示在X单元和Y单元中存储的内容与TCAM数据之间的关联的示图;图4是图示根据第一实施例的在搜索存储器中包括的搜索块的配置的示图;图5是图示根据第一实施例的在搜索存储器中包括的搜索单元的配置的示图;图6A和图6B是图示根据第一实施例的选择器203-0的配置的示图;图7A和图7B是图示根据第一实施例的选择器SL-0的配置的示图;图8A和图8B是图示根据第一实施例的中优先级编码器的配置的示图;图9A和图9B是图示根据第一实施例的优先级编码器的配置的示图;图10A和图10B是图示将条目数据分配给搜索块的示图;图11A和图11B是图示根据第一实施例的存储与输入搜索数据关键字相关联的条目数据的搜索块的概念图;图12是图示根据第一实施例的针对搜索块的分配方法的流程图;图13是图示分配给图10B中所描绘的搜索单元的选择信号的示图;图14是图示搜索存储器中的数据的更新的示图;图15是图示根据本公开的第二实施例的搜索存储器8#的配置的示图;图16是图示根据第二实施例的搜索单元的配置的示图;图17是图示根据第二实施例的物理块地址和逻辑块地址之间的关系的示图;图18是图示根据第二实施例的物理块地址和逻辑块地址之间的关系的另一示图;图19是图示根据第二实施例的搜索存储器中的数据的更新的示图;图20是图示根据第二实施例的控制区段中所包括的写入控制区段的示图;以及图21是图示根据第二实施例的修改的写入控制区段的配置的示图。具体实施方式现在将参照附图详细描述本公开的实施例。附图中相同或相似的元件由相同的附图标记指定,并且不再重复描述。第一实施例图1是图示根据本公开的第一实施例的通信设备1的配置的示图。如图1所示,通信设备1是诸如开关或路由器的通信装置。通信设备1包括CPU中央处理单元2、传输控制电路4、通用存储器6和搜索存储器8。CPU2提供对通信设备1的整体控制。CPU2与在通用存储器6中存储的程序合作实现各种功能。例如,通用存储器6可以由DRAM动态随机存取存储器形成,以及与CPU2合作以建立操作系统OS。CPU2例如与邻近的通信设备交换信息,并且进行用于传输过程所需要的信息的维护。传输控制电路4执行通信分组的传输过程。传输控制电路4包括专用于传输过程的专用硬件,诸如ASIC专用集成电路或NPU网络处理单元。传输控制电路4访问搜索存储器8以获得用于传输过程所需要的信息。在本示例中,将结合其中使用TCAM装置的情况描述搜索存储器8。[TCAM单元的配置]图2是图示TCAM单元的示例性配置的电路图。参照图2,TCAM单元还被称为存储器单元MC包括两个SRAM单元静态随机存取存储器单元11和14以及数据比较区段13。SRAM单元11还被称为X单元,并且SRAM单元14还被称为Y单元。X单元11存储与内部存储节点对ND1、ND1_n彼此互补的1位数据当一个是“1”时,另一个是“0”。Y单元14存储与内部存储节点对ND2、ND2_n彼此互补的1位数据。TCAM单元还被称为搜索存储器单元。TCAM单元被耦合到位线对BL、BL、搜索线对SL、SL,匹配线对ML以及字线WLX、WLY。位线对BL、BL在图4中描绘的TCAM单元阵列20的列方向Y方向上延伸,并且由在列方向上排列的多个TCAM单元共享。搜索线对SL、SL在TCAM单元阵列20的列方向Y方向上延伸,并且由在列方向上排列的TCAM单元共享。匹配线ML在TCAM单元阵列20的行方向X方向上延伸,并且由在行方向上排列的TCAM单元共享。字线WLX和WLY在TCAM单元阵列20的行方向X方向上延伸,并且由在行方向上排列的TCAM单元共享。X单元11包括反相器INV1、INV2以及N沟道MOS金属氧化物半导体晶体管Q1、Q2。反相器INV1被耦合在存储节点ND1和存储节点ND1_n之间,使得从存储节点ND1_n到存储节点ND1的方向是前向方向。反相器INV2与反相器INV1并联耦合,并且在与反相器INV1相反的方向上取向。MOS晶体管Q1被耦合在存储节点ND1和位线BL之间。MOS晶体管Q2被耦合在存储节点ND1_n和位线BL之间。MOS晶体管Q1、Q2的栅极被耦合到字线WLX。Y单元14包括反相器INV3、INV4以及MOS金属氧化物半导体晶体管Q3、Q4。反相器INV3被耦合在存储节点ND2和存储节点ND2_n之间,使得从存储节点ND2_n到存储节点ND2的方向是前向方向。反相器INV4与反相器INV3并联耦合,并且在与反相器INV3相反的方向上取向。MOS晶体管Q3被耦合在存储节点ND2和位线BL之间。MOS晶体管Q4被耦合在存储节点ND2_n和位线BL之间。MOS晶体管Q3、Q4的栅极被耦合到字线WLY。数据比较区段13包括N沟道MOS晶体管Q6-Q9。MOS晶体管Q6、Q7在节点ND3和接地节点GND之间串联耦合。节点ND3是耦合到匹配线ML的点。MOS晶体管Q8、Q9在节点ND3和接地节点GND之间串联耦合,并且并联耦合到串联耦合的MOS晶体管Q6、Q7两者。MOS晶体管Q6、Q8的栅极被分别耦合到存储节点ND1、ND2。MOS晶体管Q7、Q9的栅极被分别耦合到搜索线SL、SL。图3是以表格形式图示在图2中描绘的X单元和Y单元中存储的内容与TCAM数据之间的关联的示图。参照图2和图3,TCAM单元能够通过使用2位SRAM单元来存储三个值,即“0”、“1”和“*”无需理会。更具体地,当“1”被存储在X单元11的存储节点ND1中并且“0”被存储在Y单元14的存储节点ND2中时,假设“0”被存储在TCAM单元中。当“0”被存储在X单元11的存储节点ND1中并且“1”被存储在Y单元14的存储节点ND2中时,假设“1”被存储在TCAM单元中。当“0”被存储在X单元11的存储节点ND1中并且“0”被存储在Y单元14的存储节点ND2中时,假设“*”无需理会被存储在TCAM单元中。当“1”被存储在X单元11的存储节点ND1中并且“1”被存储在Y单元14的存储节点ND2中时,没有使用TCAM单元中的数据。根据上面描述的TCAM单元的配置,当搜索数据为“1”即,搜索线SL为“1”并且搜索线SL为“0”并且TCAM数据为“0”存储节点ND1为“1”并且存储节点ND2为“0”时,MOS晶体管Q6、Q7被接通。因此,预充电的匹配线ML的电势被拉低到接地电势。当搜索数据为“0”即,搜索线SL为“0”并且搜索线SL为“1”并且TCAM数据为“1”存储节点ND1为“0”并且存储节点ND2为“1”时,MOS晶体管Q8、Q9被接通。因此,预充电的匹配线ML的电势被拉低到接地电势。即,当搜索数据和TCAM数据不匹配时,匹配线ML的电势被拉低到接地电势。相反地,当输入的搜索数据为“1”并且TCAM数据为“1”或者“*”时,或者当搜索数据为“0”并且TCAM数据为“0”或者“*”时即,当搜索数据和TCAM数据相互匹配时,维持预充电的匹配线ML的电势供电电压VDD水平。如上所述,TCAM使得在匹配线ML中存储的电势被拉低,除非被耦合到与一个条目行相关联的匹配线ML的所有TCAM单元中的数据匹配输入搜索数据。因此,TCAM执行高速搜索,但是消耗大量电流。图4是图示根据第一实施例的在搜索存储器8中包括的搜索块200的配置的示图。如图4中所示,搜索块200包括TCAM单元阵列20还简单地被称为单元阵列、写入驱动器21、搜索线驱动器22、匹配放大器区段23、控制逻辑电路24和读出电路25。尽管未描述,但是搜索块200包括字线驱动器未示出和输入输出电路未示出。字线驱动器驱动字线WLX、WLY。输入输出电路接收例如所输入的控制信号和地址信号。TCAM单元阵列20包括以矩阵形式j行,k列排列的TCAM单元。在本示例中,所描绘的单元阵列20使得行的数目条目的数目j是L并且列的数目位的数目k是40。注意,单元阵列20包括至少一个冗余存储器单元列。与单元阵列20的列相关联,设置有kk=40个位线对BL0和BL0到BLk-1和BLk-1以及kk=40个搜索线对SL0和SL0到SLk-1和SLk-1。与单元阵列20的行相关联,设置有mm=N个匹配线ML0到MLN-1、m个X单元字线WLX0到WLXN-1未示出和m个Y单元字线WLY0到WLYN-1未示出。在写入操作期间,写入驱动器21通过位线对BL、BL将写入数据提供给每个TCAM单元。在搜索操作期间,搜索线驱动器22通过搜索线对SL、SL将搜索数据提供给每个TCAM单元。控制逻辑电路24控制搜索块200的整体操作。在搜索操作期间,控制逻辑电路24接收搜索命令并且将控制信号输出到搜索线驱动器22和匹配放大器区段23,以便控制搜索线驱动器22、匹配放大器区段23和预充电电路的操作。在读出操作期间,控制逻辑电路24接收读取命令并且输出控制信号,用于控制读出电路25。因此,可以读出和输出在单元阵列20中存储的条目数据。匹配放大器区段23包括多个匹配放大器MA,其与单元阵列的行中的行相关联。在搜索操作期间,根据相关联的匹配线ML的电势,匹配放大器MA检测输入搜索数据的相关联部分是否和相关联的TCAM单元数据匹配。在本实施例中,匹配放大器MA各自包括预充电电路,用于在搜索操作期间对相关联的匹配线ML进行预充电。图5是图示根据第一实施例的在搜索存储器8中包括的多个搜索单元的配置的示图。参考图5,设置搜索单元102-0至102-3下文中通常还被称为搜索单元102、控制区段101和全局优先级编码器GPE301。控制区段101并行地接收多个输入搜索数据关键字0至3的输入下文中通常还被称为输入搜索数据关键字。控制区段101分别将输入搜索数据关键字0至3输出到搜索单元102。控制区段101将选择信号SELP和SELQ输出到每个搜索单元102。搜索单元各自包括多个搜索块200。搜索单元102-0包括搜索块200-0至200-3通常还被称为搜索块200、选择器203-0、中优先级编码器MPE300-0和选择器SL0-SL3通常还被称为选择器SL。选择器SL0-SL3分别与搜索块200-0至200-3相关联地设置。选择器203-0接收输入搜索数据关键字0至3的输入,并且根据选择信号SELQ0、SELQ1的输入来将两个输入搜索数据关键字输出到每个选择器SL。选择器SL0-SL3接收两个输入搜索数据关键字的输入,并且根据选择信号SELP0-SELP3的输入来将两个输入搜索数据关键字中的任何一个输入搜索数据关键字输出到相关联的搜索块200。相关联的搜索块200对从选择器SL输入的输入搜索数据关键字执行搜索操作。相关联的搜索块200将与相匹配的匹配线相关联的地址信息命中索引输出到中优先级编码器MPE300-0。中优先级编码器300-0接收从搜索块200-0至200-3输出的地址信息命中索引,并且将高优先级地址信息输出到全局优先级编码器GPE301。搜索单元102-1包括搜索块200-4至200-7、选择器203-1、中优先级编码器MPE300-1和选择器SL4-SL7。选择器SL4-SL7分别与搜索块200-4至200-7相关联地设置。选择器203-1接收输入搜索数据关键字0至3的输入,并且根据选择信号SELQ2、SELQ3的输入来将两个输入搜索数据关键字输出到每个选择器SL。选择器SL4-SL7接收两个输入搜索数据关键字的输入,并且根据选择信号SELP4-SELP7的输入来将两个输入搜索数据关键字中的任何一个输入搜索数据关键字输出到相关联的搜索块200。相关联的搜索块200对从选择器SL输入的输入搜索数据关键字执行搜索操作。相关联的搜索块200将与相匹配的匹配线相关联的地址信息命中索引输出到中优先级编码器MPE300-1。中优先级编码器300-1接收从搜索块200-4至200-7输出的地址信息命中索引,并且将高优先级地址信息输出到全局优先级编码器GPE301。搜索单元102-2包括搜索块200-8至200-11、选择器203-2、中优先级编码器MPE300-2和选择器SL8-SL11。选择器SL8-SL11分别与搜索块200-8至200-11相关联地设置。选择器203-2接收输入搜索数据关键字0至3的输入,并且根据选择信号SELQ4、SELQ5的输入来将两个输入搜索数据关键字输出到每个选择器SL。选择器SL8-SL11接收两个输入搜索数据关键字的输入,并且根据选择信号SELP8-SELP11的输入来将两个输入搜索数据关键字中的任何一个输入搜索数据关键字输出到相关联的搜索块200。相关联的搜索块200对从选择器SL输入的输入搜索数据关键字执行搜索操作。相关联的搜索块200将与相匹配的匹配线相关联的地址信息命中索引输出到中优先级编码器MPE300-2。中优先级编码器300-2接收从搜索块200-8至200-11输出的地址信息命中索引,并且将高优先级地址信息输出到全局优先级编码器GPE301。搜索单元102-3包括搜索块200-12至200-15、选择器203-3、中优先级编码器MPE300-3和选择器SL12-SL15。选择器SL12-SL15分别与搜索块200-12至200-15相关联地设置。选择器203-3接收输入搜索数据关键字0至3的输入,并且根据选择信号SELQ6、SELQ7的输入来将两个输入搜索数据关键字输出到每个选择器SL。选择器SL12-SL15接收两个输入搜索数据关键字的输入,并且根据选择信号SELP12-SELP15的输入来将两个输入搜索数据关键字中的任何一个输入搜索数据关键字输出到相关联的搜索块200。相关联的搜索块200对从选择器SL输入的输入搜索数据关键字执行搜索操作。相关联的搜索块200将与相匹配的匹配线相关联的地址信息命中索引输出到中优先级编码器MPE300-3。中优先级编码器300-3接收从搜索块200-12至200-15输出的地址信息命中索引,并且将高优先级地址信息输出到全局优先级编码器GPE301。全局优先级编码器GPE301接收多个中优先级编码器300-0至300-3的输出,并且最终输出高优先级地址信息。在本示例中,针对多个输入搜索数据关键字0至3分别输出多组地址信息命中索引0至命中索引3。图6A和图6B是图示根据第一实施例的选择器203-0的配置的示图。参照图6A,选择器203-0包括选择电路203A、203B。选择电路203A接收多个输入搜索数据关键字0至3,根据选择信号SELQ0的输入来选择输入搜索数据关键字0至3中的一个输入搜索数据关键字,并且输出所选择的输入搜索数据关键字作为输出信号X。选择电路203B接收多个输入搜索数据关键字0至3,根据选择信号SELQ1的输入来选择输入搜索数据关键字0至3中的一个输入搜索数据关键字,并且输出所选择的输入搜索数据关键字作为输出信号Y。选择信号SELQ0、SELQ1是2位控制信号。图6B图示选择信号SELQ和待选择的输出信号之间的关系。当选择信号SELQ0,SELQ1为“00”时,选择输入搜索数据关键字0。当选择信号SELQ0,SELQ1为“01”时,选择输入搜索数据关键字1。当选择信号SELQ0、SELQ1为“10”时,选择输入搜索数据关键字2。当选择信号SELQ0,SELQ1为“11”时,选择输入搜索数据关键字3。其它选择器203-1至203-3的配置与选择器203-0的配置相同,并且不再重复详细描述。图7A和图7B是图示根据第一实施例的选择器SL0的配置的示图。参照图7A,选择器SL0接收输出信号X、Y的输入,根据选择信号SELP0的输入来选择输出信号X、Y中的一个输出信号,并且将所选择的输出信号输出到搜索块200-0。选择信号SELP0是1位控制信号。图7B图示选择信号SELQ0和待选择的输出信号之间的关系。当选择信号SELQ0为“0”时,选择并且输出信号X。当选择信号SELQ0为“1”时,选择并且输出信号Y。其它选择器SL1至SL15的配置与选择器SL0的配置相同,并且不再重复详细描述。图8A和图8B是图示根据第一实施例的中优先级编码器300-0的配置的示图。参考图8A,中优先级编码器300-0包括开关电路SW0-SW3和优先级编码器300A、300B。开关电路SW0-SW3根据选择信号SELP0-SELP3选择输入的两组地址信息命中索引中的一组地址信息,并且将所选择的一组地址信息命中索引输出到任一优先级编码器300A、300B。图8B图示选择信号SELP0和输出地址信息命中索引的优先级编码器之间的关系。当选择信号SELQ0为“0”时,地址信息命中索引被输出到优先级编码器300A。当选择信号SELQ0为“1”时,地址信息命中索引被输出到优先级编码器300B。优先级编码器300A、300B从输入的一组地址信息命中索引中选择高优先级信息,并且输出所选择的高优先级信息。例如,结合优先级编码器300A输出地址信息命中索引X并且优先级编码器300B输出地址信息命中索引Y的情况来描述本示例。图9A和图9B是图示根据第一实施例的优先级编码器301的配置的示图。参考图9A,优先级编码器301包括开关电路SW4-SW11和优先级编码器301A-301D。根据选择信号SELP0-SELP7的输入,开关电路SW4-SW11将输入的地址信息命中索引输出到优先级编码器301A-301D中的一个优先级编码器。开关电路SW4根据选择信号SELQ0将输入的地址信息命中索引X输出到优先级编码器301A-301D中的一个优先级编码器。开关电路SW5根据选择信号SELQ1将输入的地址信息命中索引Y输出到优先级编码器301A-301D中的一个优先级编码器。开关电路SW6根据选择信号SELQ2将输入的地址信息命中索引X输出到优先级编码器301A-301D中的一个优先级编码器。开关电路SW7根据选择信号SELQ3将输入的地址信息命中索引Y输出到优先级编码器301A-301D中的一个优先级编码器。开关电路SW8根据选择信号SELQ4将输入的地址信息命中索引X输出到优先级编码器301A-301D中的一个优先级编码器。开关电路SW9根据选择信号SELQ5将输入的地址信息命中索引Y输出到优先级编码器301A-301D中的一个优先级编码器。开关电路SW10根据选择信号SELQ6将输入的地址信息命中索引X输出到优先级编码器301A-301D中的一个优先级编码器。开关电路SW11根据选择信号SELQ7将输入的地址信息命中索引Y输出到优先级编码器301A-301D中的一个优先级编码器。优先级编码器301A-301D最终从输入的地址信息中选择高优先级地址信息,并且输出所选择的高优先级地址信息。在本示例中,优先级编码器301A-301D分别输出多组地址信息命中索引0至命中索引3。图9B图示选择信号SELQ和地址信息输出所至的优先级编码器PE之间的关系。选择信号SELQ0-SELQ7是2位控制信号。例如,当选择信号SELP0-SELQ7为“00”时,开关电路SW4-SW11将输入的地址信息命中索引输出到优先级编码器301A。例如,当选择信号SELQ0-SELQ7为“01”时,开关电路SW4-SW11将输入的地址信息命中索引输出到优先级编码器301B。例如,当选择信号SELQ0-SELQ7为“10”时,开关电路SW4-SW11将输入的地址信息命中索引输出到优先级编码器301C。当选择信号SELP0-SELQ7为“11”时,开关电路SW4-SW11将输入的地址信息命中索引输出到优先级编码器301D。现在将描述向搜索块200分配条目数据。图10A和图10B是图示将条目数据分配给搜索块200的示图。图10A指示用于对输入搜索数据关键字0至3执行搜索操作的条目数据被分配所至的搜索块200的数目。更具体地,所指示的情况是,四个搜索块200被分配用于存储针对输入搜索数据关键字0的条目数据,并且四个搜索块200被分配用于存储针对输入搜索数据关键字1的条目数据。进一步指示的情况是,四个搜索块200被分配用于存储针对输入搜索数据关键字2的条目数据,并且四个搜索块200被分配用于存储针对输入搜索数据关键字3的条目数据。在以上实例中,用于存储针对输入搜索数据关键字0的条目数据的搜索块200-0至200-3被分配到搜索单元102-0。用于存储针对输入搜索数据关键字1的条目数据的搜索块200-4至200-7被分配到搜索单元102-1。用于存储针对输入搜索数据关键字2的条目数据的搜索块200-8至200-11被分配到搜索单元102-2。用于存储针对输入搜索数据关键字3的条目数据的搜索块200-12至200-15被分配到搜索单元102-3。图10B指示用于对输入搜索数据关键字0至3执行搜索操作的条目数据被分配所至的搜索块200的数目。更具体地,所指示的情况是,六个搜索块200被分配用于存储针对输入搜索数据关键字0的条目数据,并且五个搜索块200被分配用于存储针对输入搜索数据关键字1的条目数据。进一步指示的情况是,三个搜索块200被分配用于存储针对输入搜索数据关键字2的条目数据,并且两个搜索块200被分配用于存储针对输入搜索数据关键字3的条目数据。在以上实例中,用于存储针对输入搜索数据关键字0的条目数据的搜索块200-0至200-3四个搜索块被分配到搜索单元102-0。用于存储针对输入搜索数据关键字0的条目数据的搜索块200-4、200-5两个搜索块和用于存储针对输入搜索数据关键字1的条目数据的搜索块200-6、200-7两个搜索块被分配到搜索单元102-1。用于存储针对输入搜索数据关键字1的条目数据的搜索块200-8、200-9、200-10三个搜索块和用于存储针对输入搜索数据关键字2的条目数据的搜索块200-11一个搜索块被分配到搜索单元102-2。用于存储针对输入搜索数据关键字2的条目数据的搜索块200-12、200-13两个搜索块和用于存储针对输入搜索数据关键字3的条目数据的搜索块200-14、200-15两个搜索块被分配到搜索单元102-3。图11A和图11B是图示根据第一实施例的存储与输入搜索数据关键字相关联的条目数据的搜索块200的概念图。参考图11A,根据图10A中所示的分配,将与输入搜索数据关键字相关联的条目数据存储在搜索块200中。本示例指示关于每个搜索单元102存储针对一种类型的输入搜索数据关键字的条目数据的情况。参考图11B,根据图10B中所示的分配,将与输入搜索数据关键字相关联的条目数据存储在搜索块200中。本示例指示关于一些搜索单元102存储针对两种类型的输入搜索数据关键字的条目数据的情况。更具体地,用于存储针对输入搜索数据关键字0的条目数据的搜索块200两个搜索块和用于存储针对输入搜索数据关键字1的条目数据的搜索块200两个搜索块被分配到搜索单元102-1。用于存储针对输入搜索数据关键字1的条目数据的搜索块200三个搜索块和用于存储针对输入搜索数据关键字2的条目数据的搜索块200一个搜索块被分配到搜索单元102-2。用于存储针对输入搜索数据关键字2的条目数据的搜索块200两个搜索块和用于存储针对输入搜索数据关键字3的条目数据的搜索块200两个搜索块被分配到搜索单元102-3。当使用上述分配方法时,每个搜索单元102能够存储两种类型的条目数据。因此,不需要将四种类型的输入搜索数据关键字输入到相应的搜索块200。因此,可以减小数据总线的宽度。进一步地,减小数据总线宽度使得可以减少功率消耗量。图12是图示根据第一实施例的搜索块200的分配方法的流程图。图12的流程图示使得一个搜索单元102能够存储两种类型的条目数据的方法。这里,假设一个搜索单元102包括P个搜索块。参考图12,在分配时,按照用于存储与输入搜索数据关键字0至3相关联的条目数据的搜索块200的数目增加的顺序来排列搜索块200步骤S0。更具体地,按照分配的搜索块200的数目增加的顺序来排列搜索块200。接下来,执行校验以确定分配用于存储与最小数目的输入搜索数据相关联的条目数据的搜索块200的数目是否是P或更大步骤S1。我们假设,例如,P等于4。执行校验以确定分配用于存储与最小数目的输入搜索数据相关联的条目数据的搜索块200的数目是否是4或更大。如果在步骤S1中确定分配用于存储与最小数目的输入搜索数据相关联的条目数据的搜索块200的数目是P或更大步骤S1处的“是”,则用于存储与最小数目的输入搜索数据相关联的条目数据的一组搜索块200被分配作为一个搜索单元中的搜索块步骤S2。接下来,执行校验以确定分配用于存储与最小数目的输入搜索数据相关联的条目数据的搜索块200的数目是否大于P。即,执行校验以确定是否存在超过P个用于存储与剩余的最小数目的输入搜索数据关键字相关联的条目数据的搜索块200步骤S3。下面描述的情况是,存在超过P个用于存储与剩余的最小数目的输入搜索数据关键字相关联的条目数据的搜索块200步骤S3处的“是”。在该情况中,用于存储与剩余的最小数目的输入搜索数据关键字相关联的条目数据以及与第二最小数目的输入搜索数据关键字相关联的条目数据的一组搜索块200被分配作为下一搜索单元中的搜索块200步骤S4。接下来,执行校验以确定是否存在用于存储与剩余的第二最小数目的输入搜索数据关键字相关联的条目数据的搜索块200步骤S5。下面描述的情况是,存在用于存储与剩余的第二最小数目的输入搜索数据关键字相关联的条目数据的搜索块200步骤S5处的“是”。在该情况中,用于存储与第二和第三最小数目的输入搜索数据关键字相关联的条目数据的一组搜索块200被分配作为下一搜索单元中的搜索块200步骤S6。接下来,分配用于存储与剩余的第四最小数目的输入搜索数据相关联的条目数据的一组搜索块200步骤S7。然后,过程终止结束。与此同时,下面描述的情况是,在步骤S3中确定不存在用于存储与剩余的最小数目的输入搜索数据关键字相关联的条目数据的搜索块200,即,用于存储与最小数目的输入搜索数据关键字相关联的条目数据的搜索块的数目是P或更大的情况步骤S3处的“否”。在该情况中,用于存储与第二最小数目的输入搜索数据关键字相关联的条目数据的一组搜索块200被分配作为下一搜索单元中的搜索块200步骤S8。然后,过程继续进行到步骤S5。与此同时,下面描述的情况是,在步骤S5中确定不存在用于存储与剩余的第二最小数目的输入搜索数据关键字相关联的条目数据的搜索块200步骤S5处的“否”。在该情况中,一组用于存储与第三最小数目的输入搜索数据关键字相关联的条目数据的搜索块200被分配作为下一搜索单元中的搜索块200步骤S9。然后,过程继续进行到步骤S7。一旦完成步骤S7,过程终止结束。下面描述的情况是,例如,四个搜索块200被分配用于存储与最小数目的输入搜索数据相关联的条目数据,并且四个搜索块200被分配用于存储与第二最小数目的输入搜索数据相关联的条目数据。进一步地,四个搜索块200被分配用于存储与第三最小数目的输入搜索数据相关联的条目数据,并且四个搜索块200被分配用于存储与第四最小数目的输入搜索数据相关联的条目数据。在以上实例中,在步骤S2中,分配用于存储与最小数目的输入搜索数据相关联的条目数据的一组四个搜索块200。进一步地,在步骤S8中,分配用于存储与第二最小数目的输入搜索数据相关联的条目数据的一组四个搜索块200。此外,在步骤S9中,分配用于存储与第三最小数目的输入搜索数据相关联的条目数据的一组四个搜索块200。此外,在步骤S7中,分配用于存储与第四最小数目的输入搜索数据相关联的条目数据的一组四个搜索块200。接下来,下面描述的情况是,确定用于存储与最小数目的输入搜索数据相关联的条目数据的搜索块200的数目是P或更大步骤S1处的“否”。在该情况中,执行校验以确定用于存储与最小和第二最小数目的输入搜索数据关键字相关联的条目数据的搜索块200的总体数目是否是P或更大步骤S10。我们假设,例如,P等于4。执行校验以确定用于存储与最小和第二最小数目的输入搜索数据关键字相关联的条目数据的搜索块200的总体数目是否是4或更大。下面描述的情况是,在步骤S10中确定用于存储与最小和第二最小数目的输入搜索数据关键字相关联的条目数据的搜索块200的总体数目是P或更大步骤S10处的“是”。在该情况中,一组用于存储与最小和第二最小数目的输入搜索数据关键字相关联的条目数据的搜索块200被分配作为一个搜索单元中的搜索块步骤S11。接下来,执行校验以确定是否存在用于存储与剩余的第二最小数目的输入搜索数据关键字相关联的条目数据的搜索块200步骤S12。下面描述的情况是,在步骤S12中确定存在用于存储与剩余的第二最小数目的输入搜索数据关键字相关联的条目数据的搜索块200步骤S12处的“是”。在该情况中,用于存储与第二和第三最小数目的输入搜索数据相关联的条目数据的一组搜索块200被分配作为下一搜索单元中的搜索块步骤S14。接下来,执行校验以确定是否存在用于存储与剩余的第三最小数目的输入搜索数据相关联的条目数据的搜索块200步骤S16。下面描述的情况是,在步骤S16中确定存在用于存储与剩余的第三最小数目的输入搜索数据相关联的条目数据的搜索块200步骤S16处的“是”。在该情况中,用于存储与第三和第四最小数目的输入搜索数据相关联的条目数据的一组搜索块200被分配作为下一搜索单元中的搜索块步骤S18。接下来,分配用于存储与剩余的第四最小数目的输入搜索数据相关联的条目数据的一组搜索块200步骤S20。然后,过程终止结束。下面描述的情况是,例如,两个搜索块200被分配用于存储与最小数目的输入搜索数据相关联的条目数据,并且三个搜索块200被分配用于存储与第二最小数目的输入搜索数据相关联的条目数据。进一步地,下面描述的情况是,五个搜索块200被分配用于存储与第三最小数目的输入搜索数据相关联的条目数据,并且六个搜索块200被分配用于存储与第四最小数目的输入搜索数据相关联的条目数据。在以上实例中,在步骤S11中,一组用于存储与最小数目的输入搜索数据相关联的条目数据的两个搜索块200和用于存储与第二最小数目的输入搜索数据相关联的条目数据的两个搜索块200被分配作为一个搜索单元中的搜索块。接下来,在步骤S14中,一组用于存储与第二最小数目的输入搜索数据相关联的条目数据的一个搜索块200和用于存储与第三最小数目的输入搜索数据相关联的条目数据的三个搜索块200被分配作为下一搜索单元中的搜索块。接下来,在步骤S18中,一组用于存储与第三最小数目的输入搜索数据相关联的条目数据的两个搜索块200和用于存储与第四最小数目的输入搜索数据相关联的条目数据的两个搜索块200被分配作为下一搜索单元中的搜索块。进一步地,在步骤S20中,分配用于存储与剩余的第四最小数目的输入搜索数据相关联的条目数据的一组四个搜索块200。与此同时,下面描述的情况是,确定用于存储与最小和第二最小数目的输入搜索数据相关联的条目数据的搜索块200的总体数目不是P或更大步骤S10处的“否”。在该情况中,执行校验以确定用于存储与最小和第三最小数目的输入搜索数据相关联的条目数据的搜索块200的总体数目是否是P或更大步骤S28。下面描述的情况是,在步骤S28中确定用于存储与最小和第三最小数目的输入搜索数据相关联的条目数据的搜索块200的总体数目是P或更大步骤S28处的“是”。在该情况中,分配用于存储与最小和第三最小数目的输入搜索数据相关联的条目数据的一组搜索块200步骤S30。接下来,在步骤S34中,执行校验以确定用于存储与第二和第三最小数目的输入搜索数据相关联的条目数据的搜索块200的总体数目是否是P或更大步骤S34。如果在步骤S34中确定用于存储与第二和第三最小数目的输入搜索数据相关联的条目数据的搜索块200的总体数目是P或更大步骤S34处的“是”,则分配一组用于存储与第二和第三最小数目的输入搜索数据相关联的条目数据的搜索块200步骤S36。然后,过程继续进行到步骤S16。下面描述的情况是,例如,一个搜索块200被分配用于存储与最小数目的输入搜索数据相关联的条目数据,并且一个搜索块200被分配用于存储与第二最小数目的输入搜索数据相关联的条目数据。进一步地,六个搜索块200被分配用于存储与第三最小数目的输入搜索数据相关联的条目数据,并且八个搜索块200被分配用于存储与第四最小数目的输入搜索数据相关联的条目数据。在以上实例中,在步骤S30中,分配一组用于存储与最小数目的输入搜索数据相关联的条目数据的一个搜索块200和用于存储与第三最小数目的输入搜索数据相关联的条目数据的三个搜索块200。接下来,分配一组用于存储与第二最小数目的输入搜索数据相关联的条目数据的一个搜索块200和用于存储与第三最小数目的输入搜索数据相关联的条目数据的三个搜索块200。与此同时,如果在步骤S28中确定用于存储与最小和第三最小数目的输入搜索数据相关联的条目数据的搜索块200的总体数目不是P或更大步骤S28处的“否”,则分配一组用于存储与最小和第四最小数目的输入搜索数据相关联的条目数据的搜索块200步骤S32。接下来,如果在步骤S34中确定用于存储与第二和第三最小数目的输入搜索数据相关联的条目数据的搜索块200的总体数目不是P或更大步骤S34处的“否”,则分配一组用于存储与第二和第四最小数目的输入搜索数据相关联的条目数据的搜索块200步骤S38。接下来,执行校验以确定是否存在用于存储与剩余的第三最小数目的输入搜索数据相关联的条目数据的搜索块200步骤S40。如果在步骤S40中确定存在用于存储与剩余的第三最小数目的输入搜索数据相关联的条目数据的搜索块200步骤S40处的“是”,则分配用于存储与第三和第四最小数目的输入搜索数据相关联的条目数据的一组搜索块200步骤S41。下面描述的情况是,例如,一个搜索块200被分配用于存储与最小数目的输入搜索数据相关联的条目数据,并且两个搜索块200被分配用于存储与第二最小数目的输入搜索数据相关联的条目数据。进一步地,下面描述的情况是,四个搜索块200被分配用于存储与第三最小数目的输入搜索数据相关联的条目数据,并且九个搜索块200被分配用于存储与第四最小数目的输入搜索数据相关联的条目数据。在以上实例中,在步骤S32中,分配一组用于存储与最小数目的输入搜索数据相关联的条目数据的一个搜索块200和用于存储与第三最小数目的输入搜索数据相关联的条目数据的三个搜索块200。接下来,在步骤S38中,分配一组用于存储与第二最小数目的输入搜索数据相关联的条目数据的两个搜索块200和用于存储与第四最小数目的输入搜索数据相关联的条目数据的两个搜索块200。接下来,分配一组用于存储与第三最小数目的输入搜索数据相关联的条目数据的一个剩余的搜索块200和用于存储与第四最小数目的输入搜索数据相关联的条目数据的三个搜索块200。然后,过程继续进行到步骤S20。与此同时,如果在步骤S40中确定不存在用于存储与剩余的第三最小数目的输入搜索数据相关联的条目数据的搜索块200步骤S40处的“否”,则过程继续进行到步骤S20。下面描述的情况是,例如,一个搜索块200被分配用于存储与最小数目的输入搜索数据相关联的条目数据,并且一个搜索块200被分配用于存储与第二最小数目的输入搜索数据相关联的条目数据。进一步地,下面描述的情况是,三个搜索块200被分配用于存储与第三最小数目的输入搜索数据相关联的条目数据,并且十一个搜索块200被分配用于存储与第四最小数目的输入搜索数据相关联的条目数据。在以上实例中,在步骤S30中,分配一组用于存储与最小数目的输入搜索数据相关联的条目数据的一个搜索块200和用于存储与第三最小数目的输入搜索数据相关联的条目数据的三个搜索块200。接下来,在步骤S38中,分配一组用于存储与第二最小数目的输入搜索数据相关联的条目数据的一个搜索块200和用于存储与第四最小数目的输入搜索数据相关联的条目数据的三个搜索块200。然后,过程继续进行到步骤S20。与此同时,如果在步骤S12中确定不存在用于存储与剩余的第二最小数目的输入搜索数据相关联的条目数据的搜索块200步骤S12处的“否”,则执行校验以确定用于存储与第三最小数目的输入搜索数据相关联的条目数据的搜索块200的数目是否是P或更大步骤S24。如果在步骤S24中确定用于存储与第三最小数目的输入搜索数据相关联的条目数据的搜索块200的数目是P或更大步骤S24处的“是”,则分配用于存储与第三最小数目的输入搜索数据相关联的条目数据的一组P个搜索块200步骤S26。然后,过程继续进行到步骤S16。下面描述的情况是,例如,两个搜索块200被分配用于存储与最小数目的输入搜索数据相关联的条目数据,并且两个搜索块200被分配用于存储与第二最小数目的输入搜索数据相关联的条目数据。进一步地,下面描述的情况是,四个搜索块200被分配用于存储与第三最小数目的输入搜索数据相关联的条目数据,并且八个搜索块200被分配用于存储与第四最小数目的输入搜索数据相关联的条目数据。在以上实例中,在步骤S11中,分配一组用于存储与最小数目的输入搜索数据相关联的条目数据的两个搜索块200和用于存储与第二最小数目的输入搜索数据相关联的条目数据的两个搜索块200。接下来,在步骤S26中,分配一组用于存储与第三最小数目的输入搜索数据相关联的条目数据的四个搜索块200。然后,过程继续进行到步骤S16。与此同时,如果在步骤S24中确定用于存储与第三最小数目的输入搜索数据相关联的条目数据的搜索块200的数目不是P或更大步骤S24处的“否”,则过程继续进行到步骤S40。下面描述的情况是,例如,一个搜索块200被分配用于存储与最小数目的输入搜索数据相关联的条目数据,并且三个搜索块200被分配用于存储与第二最小数目的输入搜索数据相关联的条目数据。进一步地,下面描述的情况是,三个搜索块200被分配用于存储与第三最小数目的输入搜索数据相关联的条目数据,并且九个搜索块200被分配用于存储与第四最小数目的输入搜索数据相关联的条目数据。在以上实例中,在步骤S11中,分配一组用于存储与最小数目的输入搜索数据相关联的条目数据的一个搜索块200和用于存储与第二最小数目的输入搜索数据相关联的条目数据的三个搜索块200。然后,过程继续进行到步骤S40。与此同时,如果在步骤S16中确定用于存储与剩余的第三最小数目的输入搜索数据相关联的条目数据的搜索块200的数目不是P或更大步骤S16处的“否”,则过程继续进行到步骤S20。下面描述的情况是,例如,两个搜索块200被分配用于存储与最小数目的输入搜索数据相关联的条目数据,并且三个搜索块200被分配用于存储与第二最小数目的输入搜索数据相关联的条目数据。进一步地,下面描述的情况是,三个搜索块200被分配用于存储与第三最小数目的输入搜索数据相关联的条目数据,并且八个搜索块200被分配用于存储与第四最小数目的输入搜索数据相关联的条目数据。在以上实例中,在步骤S11中,分配一组用于存储与最小数目的输入搜索数据相关联的条目数据的两个搜索块200和用于存储与第二最小数目的输入搜索数据相关联的条目数据的两个搜索块200。接下来,在步骤S14中,分配一组用于存储与第二最小数目的输入搜索数据相关联的条目数据的一个搜索块200和用于存储与第三最小数目的输入搜索数据相关联的条目数据的三个搜索块200。然后,过程继续进行到步骤S20。下面描述在图10B中描绘的情况,其中用于存储与输入搜索数据关键字0至3相关联的条目数据的搜索块200的数目分别是6、5、3和2。参考图12的流程图,在步骤S0中,按照用于存储与输入搜索数据关键字0至3相关联的条目数据的搜索块200的数目增加的顺序来排列待分配的搜索块200。更具体地,按照两个搜索块关键字3、三个搜索块关键字2、五个搜索块关键字1、六个搜索块关键字0的顺序来排列搜索块200。然后,在步骤S2中,确定用于存储与最小数目的输入搜索数据关键字3的输入搜索数据相关联的条目数据的搜索块200的数目不是PP=4。接下来,在步骤S6中,确定用于存储与最小数目的输入搜索数据关键字3和第二最小数目的输入搜索数据关键字2相关联的条目数据的搜索块200的总体数目是4或更大。最终,在步骤S8中,分配一组用于存储与最小数目的输入搜索数据关键字3和第二最小数目的输入搜索数据关键字2相关联的条目数据的搜索块200。更具体地,分配一组用于存储与最小数目的输入搜索数据关键字3相关联的条目数据的两个搜索块200和用于存储与第二最小数目的输入搜索数据关键字2相关联的条目数据的两个搜索块200。接下来,在步骤S10中,确定存在用于存储与剩余的第二最小数目的输入搜索数据关键字2相关联的条目数据的搜索块200。随后,在步骤S12中,确定用于存储与第二最小数目的输入搜索数据关键字2和第三最小数目的输入搜索数据关键字1相关联的条目数据的搜索块200的总体数目是4或更大。最终,在步骤S12中,分配一组用于存储与第二最小数目的输入搜索数据关键字2和第三最小数目的输入搜索数据关键字1相关联的条目数据的搜索块200。更具体地,分配一组用于存储与第二最小数目的输入搜索数据关键字2相关联的条目数据的一个搜索块200和用于存储与第三最小数目的输入搜索数据关键字1相关联的条目数据的三个搜索块200。随后,在步骤S16中,确定存在用于存储与剩余的第三最小数目的输入搜索数据关键字1相关联的条目数据的搜索块200。接下来,在步骤S18中,分配一组用于存储与第三最小数目的输入搜索数据关键字1和第四最小数目的输入搜索数据关键字0相关联的条目数据的搜索块200。更具体地,分配一组用于存储与第三最小数目的输入搜索数据关键字1相关联的条目数据的两个搜索块200和用于存储与第四最小数目的输入搜索数据关键字0相关联的条目数据的两个搜索块200。接下来,在步骤S20中,分配一组用于存储与剩余的第四最小数目的输入搜索数据关键字相关联的条目数据的搜索块200。更具体地,分配一组用于存储与第四最小数目的输入搜索数据关键字0相关联的条目数据的四个搜索块200。在本示例中,将所分配的每组搜索块200存储在相应的搜索单元102中。作为一个示例,将针对输入搜索数据关键字0的一组四个搜索块200分配给搜索单元102-0。将一组针对输入搜索数据关键字0的两个搜索块200和针对输入搜索数据关键字1的两个搜索块200分配给搜索单元102-1。将一组针对输入搜索数据关键字1的三个搜索块200和针对输入搜索数据关键字2的一个搜索块200分配给搜索单元102-2。将一组针对输入搜索数据关键字2的两个搜索块200和针对输入搜索数据关键字3的两个搜索块200分配给搜索单元102-3。图13是图示分配给图10B中所描绘的搜索单元的选择信号的示图。参照图13,针对搜索单元102-0的选择信号SELQ0、SELQ1都被设置为“00”。选择信号SELQ0-SELQ3被设置为“0”。当选择信号SELQ0为“00”时,选择器203-0将输入搜索数据关键字0输出作为输出信号X。进一步地,当选择信号SELQ1为“00”时,选择器203-0将输入搜索数据关键字0输出作为输出信号Y。根据选择信号SELP0-SELP3“0”,选择器SL0-SL3选择作为输出信号X的输入搜索数据关键字0,并将选择的输出信号X输出到搜索块200-0到200-3。对于搜索单元102-1,选择信号SELQ2、SELQ3分别被设置为“00”和“01”。选择信号SELQ4、SELQ5被设置为“0”。选择信号SELQ6、SELQ7被设置为“1”。当选择信号SELQ2为“00”时,选择器203-1将输入搜索数据关键字0输出作为输出信号X。进一步地,当选择信号SELQ3为“01”时,选择器203-1将输入搜索数据关键字1输出作为输出信号Y。根据选择信号SELP4、SELP5“0”,选择器SL4、SL5选择作为输出信号X的输入搜索数据关键字0,并将选择的输出信号X输出到搜索块200-4、200-5。根据选择信号SELP6、SELP7“1”,选择器SL6、SL7选择作为输出信号Y的输入搜索数据关键字1,并将选择的输出信号Y输出到搜索块200-6、200-7。对于搜索单元102-2,选择信号SELQ4、SELQ5分别被设置为“01”和“10”。选择信号SELP8、SELP9、SELP10被设置为“0”。选择信号SELP11被设置为“1”。当选择信号SELQ4为“01”时,选择器203-2将输入搜索数据关键字1输出作为输出信号X。进一步地,当选择信号SELQ5为“10”时,选择器203-2将输入搜索数据关键字2输出作为输出信号Y。根据选择信号SELP8、SELP9、SELP10“0”,选择器SL8、SL9、SL10选择作为输出信号X的输入搜索数据关键字1,并将所选择的输出信号X输出到搜索块200-8、200-9、200-10。根据选择信号SELP11“1”,选择器SL11选择作为输出信号Y的输入搜索数据关键字2,并将选择的输出信号Y输出到搜索块200-11。对于搜索单元102-3,选择信号SELQ6、SELQ7分别被设置为“10”和“11”。选择信号SELP12、SELP13、SELP14被设置为“0”。选择信号SELP14、SELP15被设置为“1”。当选择信号SELQ6为“10”时,选择器203-2将输入搜索数据关键字2输出作为输出信号X。进一步地,当选择信号SELQ7为“11”时,选择器203-3将输入搜索数据关键字3输出作为输出信号Y。根据选择信号SELP12、SELP13“0”,选择器SL12、SL13选择作为输出信号X的输入搜索数据关键字2,并将所选择的输出信号X输出到搜索块200-12、200-13。根据选择信号SELP14、SELP15“1”,选择器SL14、SL15选择作为输出信号Y的输入搜索数据关键字3,并将所选择的输出信号Y输出到搜索块200-14、200-15。搜索单元102-0的中优先级编码器300-0从搜索块200-0至200-3中的每个搜索块接收地址信息的输入。更具体地,根据选择信号SELP0-SELP3的输入,相应的地址信息被输入到优先级编码器300A,并输出高优先级地址信息。搜索单元102-1的中优先级编码器300-1从搜索块200-4至200-7中的每个搜索块接收地址信息的输入。更具体地,根据选择信号SELP4-SELP7的输入,相应的地址信息被输入到优先级编码器300A、300B。根据选择信号SELP4、SELP5的输入“0”,将与搜索块200-4、200-5有关的地址信息输入到优先级编码器300A。根据选择信号SELP6、SELP7的输入“1”,将与搜索块200-6、200-7有关的地址信息输入到优先级编码器300B。搜索单元102-2的中优先级编码器300-2从搜索块200-8至200-11中的每个搜索块接收地址信息的输入。更具体地,根据选择信号SELP8-SELP11的输入,相应的地址信息被输入到优先级编码器300A、300B。根据选择信号SELP8、SELP9、SELP10的输入“0”,将与搜索块200-8、200-9、200-10有关的地址信息输入到优先级编码器300A。根据选择信号SELP11的输入“1”,将与搜索块200-11有关的地址信息输入到优先级编码器300B。搜索单元102-3的中优先级编码器300-3从搜索块200-12至200-15中的每个搜索块接收地址信息的输入。更具体地,根据选择信号SELP12-SELP15的输入,相应的地址信息被输入到优先级编码器300A、300B。根据选择信号SELP12、SELP13的输入“0”,将与搜索块200-12、200-13有关的地址信息输入到优先级编码器300A。根据选择信号SELP14、SELP15的输入“1”,将与搜索块200-14、200-15有关的地址信息输入到优先级编码器300B。搜索单元301从中优先级编码器300-0至300-3中的每个中优先级编码器接收地址信息的输入。更具体地,根据选择信号SELP0-SELP7的输入,相应的地址信息被输入到优先级编码器301A-300D。当选择信号SELQ0、SELQ1被设置为“00”时,来自搜索单元102-0的地址信息被输入到优先级编码器301A。当选择信号SELQ2被设置为“00”时,来自搜索单元102-1的地址信息被输入到优先级编码器301A。进一步地,当选择信号SELQ3被设置为“01”时,来自搜索单元102-1的地址信息被输入到优先级编码器301B。当选择信号SELQ4被设置为“01”时,来自搜索单元102-2的地址信息被输入到优先级编码器301B。进一步地,当选择信号SELQ5被设置为“10”时,来自搜索单元102-2的地址信息被输入到优先级编码器301C。当选择信号SELQ6被设置为“10”时,来自搜索单元102-3的地址信息被输入到优先级编码器301C。进一步地,当选择信号SELQ7被设置为“11”时,来自搜索单元102-3的地址信息被输入到优先级编码器301D。优先级编码器301A-301D根据输入的地址信息输出高优先级地址信息。与输入搜索数据关键字0相关联的地址信息被输入到优先级编码器301A。与输入搜索数据关键字1相关联的地址信息被输入到优先级编码器301B。与输入搜索数据关键字2相关联的地址信息被输入到优先级编码器301C。与输入搜索数据关键字3相关联的地址信息被输入到优先级编码器301D。当采用上述方法时,分别与输入搜索数据关键字0至3相关联的条目数据可以相对于向其输入了输入搜索数据关键字0至3的搜索存储器自由地分配给搜索块200。因此,可以减小数据总线的宽度以减少电流消耗量。当四个不同的输入搜索数据被分发到预定搜索单元以用于搜索目的时,相关领域的方法将四个不同的输入搜索数据输入到所有搜索块200并执行搜索过程。因此,当用于K个并行搜索的搜索关键字被分发到搜索单元时,相关领域的方法需要K倍的数据总线宽度即,输入搜索数据的总线宽度。然而,第一实施例基于特定规则来执行分配,使得目标搜索单元被集成到针对每个输入搜索数据的特定组中。因此,每组所需的输入搜索数据的数目可以减少到两个。相应地,采用分层数据总线,以便在个体组的基础上从K个输入搜索数据中选择两个输入搜索数据,并从针对每个搜索单元所选择的两个输入搜索数据中选择最终输入搜索数据。上述配置可以将搜索单元中的数据总线宽度减小到输入搜索数据的两倍的数据总线宽度。这使得可以减小芯片面积和电流消耗量。第二实施例基于预定分配规则和针对每个输入搜索数据的搜索单元的搜索块的数目,上面已经描述的第一实施例确定哪个搜索单元执行对每个输入搜索数据的搜索。由于写入搜索存储器的数据由于例如添加或删除而随时间更新,因此块的数目改变。图14是图示搜索存储器中的数据的更新的示图。图14描绘了用于存储与输入搜索数据关键字0相关联的条目数据的搜索块200-3中的数据由于更新而被删除的情况。下面描述了新存储输入搜索数据关键字1的条目数据的情况。在该情况下,可以设想输入搜索数据关键字1的条目数据将被存储在未占用的搜索块200-3中。然而,每个搜索块200具有优先级,该优先级用作在从优先级编码器PE输出时选择地址信息命中索引的标准。通常,进行设计使得在低编号地址处的条目数据通常具有高优先级。因此,16个搜索块200的优先级被设计为按照用于标识搜索块200的块地址的四个高阶位的值的增加的顺序变得更高。优先级被设计成照搜索块200-1、200-2、200-3、200-4、...、200-15的顺序变得更高。相应地,当输入搜索数据关键字1的条目数据被存储在未占用的搜索块200-3中以用于添加目的时,分配高优先级。然而,如果要添加的输入搜索数据关键字1的条目数据具有低优先级,则存储在搜索块200中的条目数据需要如图14所示进行移动,以便保持个体搜索块200的优先级。如上所述移动条目数据可能会延长数据更新所需的时间。图15是图示根据本公开的第二实施例的搜索存储器8#的配置的示图。参考图15,搜索存储器#8包括多个搜索单元700-0到700-3下文中通常还被称为搜索单元700、控制区段601和全局优先级编码器GPE301。控制区段601并行地接收多个输入搜索数据关键字0至3的输入下文中通常还被称为输入搜索数据关键字。控制区段601分别将输入搜索数据关键字0至3输出到搜索单元700。控制区段601将选择信号SELP和SELQ输出到搜索单元700中的每个搜索单元。控制区段601包括写入控制区段800。图16是图示根据第二实施例的搜索单元700-0的配置的示图。参考图16,搜索单元700各自包括多个搜索块200。在本示例中,搜索单元700-0被描述为代表性。写入控制区段800进行控制以将数据写入搜索块200和寄存器704。搜索单元700-0包括四个子搜索单元701-0至701-3通常还被称为子搜索单元701和中优先级编码器300-0。由于子搜索单元701具有基本相同的配置,因此将主要描述子搜索单元701-0、701-2的配置。子搜索单元701-0包括搜索块200-0、选择器SL0、寄存器704-0通常还被称为寄存器704和合成电路703-0通常还被称为合成电路703。子搜索单元701-2包括搜索块200-2、选择器SL2、寄存器704-2和合成电路703-2。子搜索单元701与结合第一实施例描述的搜索单元102的不同之处在于添加了寄存器704和合成电路703。其它元件与结合第一实施例描述的元件相同,并且不再重复详细描述。寄存器704存储相关联的搜索块200的块地址。合成电路703将在寄存器704中存储的块地址视为高阶位,将从搜索块200-0输出的地址信息命中索引视为低阶位,并输出高阶位和低阶位的组合。现在将描述中优先级编码器300-0的配置。中优先级编码器300-0包括开关SW0-SW3和优先级编码器300A、300B。开关SW0-SW3分别与子搜索单元701-0至701-3相关联地设置。根据选择信号SELP0-SELP3,开关SW0-SW3将从子搜索单元701-0到701-3中的每个子搜索单元输出的地址信息命中索引输出到优先级编码器300A、300B中的任何一个优先级编码器。优先级编码器300A包括确定电路702-0、702-1、707。确定电路702-0包括选择器705和优先级决策电路706。优先级决策电路706根据从子搜索单元701-0、701-2输入的地址信息命中索引判定较高的优先级。根据由优先级决策电路706作出的判定,选择器705输出高优先级地址信息命中索引。确定电路702-1具有与确定电路702-0相同的配置。更具体地,确定电路702-1根据从子搜索单元701-1、701-3输入的地址信息命中索引判定较高的优先级,并输出高优先级地址信息命中索引。确定电路707还具有与确定电路702-0相同的配置,将从确定电路702-0输入的地址信息命中索引与从确定电路702-1输入的地址信息命中索引进行比较,并且输出高优先级地址信息命中索引。优先级编码器300B具有与优先级编码器300A相同的配置。在第二实施例中,可变逻辑块地址被存储在寄存器704中。图17是图示根据第二实施例的物理块地址和逻辑块地址之间的关系的示图。参考图17,与输入搜索数据关键字0相关联的条目数据被分配给四个搜索块200。进一步地,与输入搜索数据关键字1相关联的条目数据被分配给四个搜索块200。此外,与输入搜索数据关键字2相关联的条目数据被分配给四个搜索块200。此外,与输入搜索数据关键字3相关联的条目数据被分配给四个搜索块200。在将块地址分配给个体搜索块200时,第二实施例分配逻辑块地址。本示例指示的情况是,逻辑块地址“0000”、“0001”、“0010”和“0011”被分配给与输入搜索数据关键字0相关联的条目数据被分配所至的四个搜索块200。本示例还指示的情况是,逻辑块地址“0100”、“0101”、“0110”和“0111”被分配给与输入搜索数据关键字1相关联的条目数据被分配所至的四个搜索块200。本示例进一步指示的情况是,逻辑块地址“1000”、“1001”、“1010”和“1011”被分配给与输入搜索数据关键字2相关联的条目数据被分配所至的四个搜索块200。本示例附加地指示的情况是,逻辑块地址“1100”、“1101”、“1110”和“1111”被分配给与输入搜索数据关键字3相关联的条目数据被分配所至的四个搜索块200。在以上实例中,指示的情况是逻辑块地址与物理块地址一致。图18是图示根据第二实施例的物理块地址和逻辑块地址之间的关系的另一示图。图18描绘了用于存储与输入搜索数据关键字0相关联的条目数据的搜索块200-3中的数据被删除的情况。更具体地,图18中描绘的是与逻辑块地址“0011”物理块地址“0011”相关联的搜索块200-3中的条目数据被删除的情况。进一步描述的是新分配与输入搜索数据关键字1相关联的条目数据的情况。在本示例中,改变被应用于分别与多个搜索块200相关联的多个寄存器704的值,用于存储与输入搜索数据关键字1相关联的条目数据。更具体地,高优先级逻辑块地址被分配给与高优先级搜索块200相关联的寄存器704。作为一个示例,假设物理块地址“0100”处的搜索块200中的条目数据具有最高优先级,并且物理块地址“0101”处的搜索块200中的条目数据具有第二最高优先级。进一步假设物理块地址“0110”处的搜索块200中的条目数据具有第三最高优先级,并且物理块地址“0111”处的搜索块200中的条目数据具有第四最高优先级。此外,假设与输入搜索数据关键字1相关联的新条目数据具有最低优先级。在本示例中,对于具有最高优先级的搜索块200,高优先级逻辑块地址被分配给寄存器704。对于与物理块地址“0100”相关联的搜索块200,逻辑块地址“0011”被存储在寄存器704中。对于与物理块地址“0101”相关联的搜索块200,逻辑块地址“0100”被存储在寄存器704中。对于与物理块地址“0110”相关联的搜索块200,逻辑块地址“0101”被存储在寄存器704中。对于与物理块地址“0111”相关联的搜索块200,逻辑块地址“0110”被存储在寄存器704中。最终,对于与物理块地址“0011”相关联的搜索块200,逻辑块地址“0111”被存储在寄存器704中。如上所述,存储在寄存器704中的信息在合成电路703中作为待输出的地址信息的高阶位进行合成。因此,关于地址信息命中索引的优先级,物理块地址“0100”处的搜索块200中的条目数据具有最高优先级,而物理块地址“0101”处的搜索块200中的条目数据具有第二最高优先级。进一步地,物理块地址“0110”处的搜索块200中的条目数据具有第三最高优先级,而物理块地址“0111”处的搜索块200中的条目数据具有第四最高优先级。此外,与输入搜索数据关键字1相关联的新条目数据具有最低优先级。图19是图示根据第二实施例的搜索存储器中的数据的更新的示图。图19描绘了用于存储与输入搜索数据关键字0相关联的条目数据的搜索块200-3中的数据由于更新而被删除,并且与输入搜索数据关键字1相关联的条目数据被新存储在搜索块200-3中的情况。进一步地,如上所述,更新与搜索块200-3、200-4、200-5、200-6、200-7相关联的寄存器704的值。根据逻辑块地址的上述更新,设置按搜索块200-4、200-5、200-6、200-7、200-3的顺序依次存储的条目数据的优先级。因此,不需要实际移动在搜索块200-4、200-5、200-6、200-7中存储的条目数据。仅改变在寄存器704中存储的逻辑块地址就足够了。即,可以在短时间内执行数据更新过程。图20是图示根据第二实施例的控制区段601中所包括的写入控制区段800的示图。参考图20,写入控制区段800从外部接收命令Com、地址Addr和数据Data的输入,并输出用于搜索块200的写入命令CAM-W和写入数据CAM-D。进一步地,写入控制区段800输出用于寄存器704的写入命令REG-W和写入数据REG-D。此外,写入控制区段800具有将逻辑块地址转换为物理块地址的地址转换表。在从外部接收到命令Com、地址Addr和数据Data时,写入控制区段800通过使用地址转换表来执行地址转换过程。通过使用地址转换表,写入控制区段800将例如外部输入的地址信息的高阶位逻辑块地址转换为物理块地址,并获得对目标搜索块200的访问。写入控制区段800根据写入命令CAM-W对由地址Addr指定的搜索块200执行条目数据写入过程,或者根据写入命令REG-W针对指定的搜索块200对寄存器704执行逻辑块地址写入过程。修改在第一实施例和第二实施例中,主机系统能够实行根据上述特定分配规则确定搜索块200的分配的过程。具体地,上述过程可以由参考图1描述的CPU2执行。CPU2通过传输控制电路4从相邻通信电路收集与条目数据的组有关的信息,并且基于所收集的信息,根据上述特定分配规则确定搜索块的分配。同时,可以在搜索存储器内执行上述过程。图21是图示根据第二实施例的修改的写入控制区段的配置的示图。参考图21,写入控制区段801包括CPU802。基于用于存储与输入的输入搜索数据关键字0至3相关联的条目数据的相应数目的搜索块200,CPU802执行根据上述特定分配规则确定搜索块200的分配的过程。CPU802基于上述确定过程分配用于存储与输入搜索数据关键字0至3相关联的条目数据的各个搜索块200,并设置逻辑块地址。然后,CPU802创建地址设置表820,用于限定逻辑块地址与存储与输入搜索数据关键字0至3相关联的条目数据的搜索块200之间的关联。基于地址设置表820,CPU802创建地址转换表810,其限定设置的逻辑块地址与物理块地址之间的关联。CPU802将由地址设置表820设置的逻辑块地址存储在用于存储与输入搜索数据关键字0至3相关联的条目数据的搜索块200的寄存器中。更具体地,写入控制区段801中的CPU802接收命令Com、地址Addr和数据Data的输入,并输出用于搜索块200的写入命令CAM-W和写入数据CAM-D。此外,CPU802输出用于寄存器704的写入命令REG-W和写入数据REG-D。进一步地,通过使用地址转换表810,写入控制区段801中的CPU802将例如外部输入的地址信息的高阶位逻辑块地址转换为物理块地址,并获得对目标搜索块200的访问。写入控制区段801中的CPU802根据写入命令CAM-W对由地址Addr指定的搜索块200执行条目数据写入过程,或者根据写入命令REG-W对针对指定搜索块200的寄存器704执行逻辑块地址写入过程。根据上述过程,可以通过将条目数据存储在搜索块200中并且将在针对搜索块200设置的寄存器704中存储的逻辑块地址改变为期望值来调整搜索块200的优先级。虽然已经根据特定实施例详细描述了本公开,但是本公开不限于前述实施例。本领域技术人员应理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。
权利要求:1.一种搜索存储器,其执行搜索以确定输入的搜索数据与存储在存储器单元阵列中的条目数据是否匹配,并且输出与匹配的条目数据相关联的地址信息,所述搜索存储器包括:输入控制区段,所述输入控制区段接收并行输入的N个搜索数据的所述输入,N为两个或更多;N个搜索单元;以及N个第一选择器,所述N个第一选择器分别与所述N个搜索单元相关联地设置,以便从所述N个搜索数据中选择两个搜索数据,其中所述搜索单元各自包括:多个搜索块;以及M个第二选择器,所述M个第二选择器分别与所述搜索块相关联地设置,以便选择由针对相关联的所述搜索单元设置的所述第一选择器选择的两个搜索数据中的一个搜索数据,以及其中,针对所述N个搜索单元中的至少一个搜索单元,分配被执行,使得与所述N个搜索数据分别相关联的N种类型的条目数据中的两种类型分别被存储在所述搜索块中。2.根据权利要求1所述的搜索存储器,其中所述搜索单元各自包括两个地址信息输出电路,所述两个地址信息输出电路与所述搜索块被相关联地设置,以便输出地址信息中所包括的高优先级地址信息,所述地址信息与从所述搜索块中的每个搜索块输出的匹配的条目数据相关联。3.根据权利要求2所述的搜索存储器,进一步包括:N个地址信息决策电路,其与所述N个搜索单元被相关联地设置,以便分别输出从所述搜索单元中的每个搜索单元输出的地址信息中所包括的N组高优先级地址信息。4.根据权利要求1所述的搜索存储器,进一步包括:控制区段,当将被存储在搜索块中的所述N种类型的条目数据中的一些条目数据的数目大于搜索单元中所包括的搜索块的数目时,出于存储目的而根据预定规则将所述N种类型的条目数据分配到所述N个搜索单元中的所述搜索块中的每个搜索块。5.根据权利要求1所述的搜索存储器,其中所述地址信息包括块地址和本地地址,所述块地址指定所述搜索块中的至少一个搜索块,所述本地地址与指定的搜索块中的条目数据相关联,以及其中所述搜索单元各自包括:多个块寄存器,所述多个块寄存器与所述搜索块相关联地设置,以便存储分配的搜索块的所述块地址;以及多个地址转换区段,所述多个地址转换区段分别与所述搜索块相关联地设置,以便执行到逻辑地址的转换,所述逻辑地址与基于存储在相关联的块寄存器中的块地址和相关联的本地地址而被指定的搜索块中的匹配的条目数据相关联。6.根据权利要求1所述的搜索存储器,其中所述地址转换区段各自执行到逻辑地址的转换,所述逻辑地址通过组合相关联的所述块地址与相关联的所述本地地址而获得,相关联的所述块地址被用作高阶位,相关联的所述本地地址被用作低阶位。7.根据权利要求6所述的搜索存储器,进一步包括:地址转换表,所述地址转换表将物理块地址改变为逻辑块地址,所述物理地址块将要被存储在所述搜索单元中的每个搜索单元中所包括的块寄存器中。
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。