專利名稱:搜索不同尺寸的字的制作方法
背景技術:
在關聯存儲系統(Associative Memory)中實施搜索操作是公知的,其中將指定數據字(Word of Data)(搜索關鍵字)提交給存儲器,以及關聯存儲系統返回存儲數據等于搜索關鍵字的一個存儲器字(Word of Memory)的位置。在現有技術中,通過將比較器與每個存儲器字關聯來實現該功能以致如果比較器檢測到存儲在存儲器字中的數據與搜索關鍵字間完全相同,發出字匹配信號。在存儲器的幾個字具有匹配數據的情況下,優先電路可用來根據預定的標準選擇單個匹配信號以及輸出發出該較高優先級匹配信號的存儲器字的地址。
在現有的系統中,象內容可尋址存儲器(CAMs),搜索關鍵字必須具有指定的預定尺寸,該尺寸由搜索字的最大尺寸來定義。然后組織這些存儲器以便CAM的基本存儲器字是具有那個最大尺寸的字,原因是將每個比較器設計成比較具有相同預定尺寸的一對字。
在搜索關鍵字是比該最大尺寸低的字的情況下,一個通用技術包括a)將多個任意位增加到搜索關鍵字以便它適用預定尺寸。
b)提供禁止這些任意位間接比較的另外的邏輯電路,以便僅啟動相關位的比較。
這些系統的缺點在于僅可搜索整個包含在一個基本存儲器字中的字。因此,例如,在將被搜索的字的最大尺寸是8字符的情況下,每個字符用用1字節表示,存儲器將分成基本單元,每個基本單元由8字節組成,用于比較過程。提交給存儲器的8字節數據將同時和分別與字節1至8、以及9至16以及17至24等等比較。這種存儲器的劃分將進一步稱為比較分區(Comparison Partition),以及由作為比較單元的那個分區定義的存儲器部分。顯然,根據指定的CAM規格,比較單元的尺寸等于可被搜索的字的最大尺寸。在這種存儲器中,為允許它執行搜索操作,根據分別將每個字存儲在各自的比較單元中的配置,所有字必須存儲在CAM中。很顯然,這種配置造成低效使用存儲器,因為許多字具有小于比較單元的尺寸。該缺點降低了效率以及這種關聯存儲器的使用靈活性,從而限制它們的應用范圍。因此,例如,這種類型的CAM不能有效地用于搜索文本文件,原因在于在文本文件,數據以長串的形式存儲,而當文件數據存儲在CAM中時,不能預先確定字的位置。
一些現有的系統提供了改進,允許多個預定尺寸的有限多個組合。這些系統中的一個是CAM,其中通過邏輯結合幾個CAM字的函數,可分組CAM字。用那種方式,有可能在少量預定尺寸中選擇比較單元的尺寸。然而,比較單元尺寸的變化是有限的,為有效使用,存儲的字仍然需要是適合比較單元的尺寸,一個比較單元存儲一個字。
在專利US6,000,008中,描述了存儲系統,其中連續搜索周期用來查找不同尺寸的字串。該系統具有將被搜索的串必須分成基本字的缺點,每個基本字具有搜索關鍵字的尺寸。該系統的另一缺點是每次可僅搜索一個基本字以便需要來查找整個串的搜索周期的數量等于在那個串中基本字的數量。US6,000,008的系統的另一缺點在于必須將存儲器的另外的“開始位”增加到每個基本字,從而需要更多的電路區域,同時在每次搜索操作前需要為所述“開始位”設置適當的值使得搜索操作更復雜。
因此,需要提供用于查找存儲在存儲器中任意位置處的字串的方法,允許整個串加載到搜索關鍵字并進行比較。另外需要提供用于顯著地降低用于查找字串所需要的搜索周期的數量而不添加另外的存儲位的裝置。
發明內容
本發明涉及用于搜索不同尺寸的字的關聯存儲系統和方法,通過允許用于比較單元的無限多個不同尺寸從而可將整個字串加載到搜索關鍵字上并進行比較,克服了現有技術設備的缺點。在該發明的范圍內,通過一組連續的存儲器字來定義比較單元。這些存儲器字是對該應用來說所要求的最小的小尺寸以及在此將它們稱為子字,同時術語“存儲器字”將指子字串。在每個比較單元端的存儲器子字的位置可在每次搜索操作前通過命令信號重新選擇。因此,將搜索的數據字可連續地存儲在存儲器中而不管那些字的尺寸。由于本發明系統和方法的這種優點,大大增加用作存儲和搜索的存儲單元的數量以便包括大部分存儲空間。本發明的另外的優點在于用于查找指定數據字的位置搜索周期的數量顯著降低,從而導致降低搜索時間。
在優選實施例中,字串的比較可在單個周期中實現。
這種存儲系統和方法可有利地用于搜索存儲在存儲中的任意位置的不同尺寸的數據字。根據另一優點,如將示出的,可顯著地降低搜索在文本中的指定字所需的時間。必須以高速執行快速搜索和過濾操作的通信系統是本發明所設想的應用的多個領域中的一個。
圖2表示將載入搜索關鍵字寄存器,然后在CAM中搜索以便在載入CAM的數據中查找ABCD的模式的數量。
圖3表示發明的存儲系統的配置。
圖4表示一個存儲器字的詳細情況以及在發明的存儲系統中的相關的電路。
圖5表示在與
圖1中相同的數據存儲在發明的存儲系統中的情況下查找字ABCD,將載入搜索關鍵字中的模式數量減少。
為了更詳細說明本發明允許有效和快速在關聯存儲系統中搜索數據字的優點,以及證明由這種類型的操作帶來的以及由本發明的系統和方法解決的問題,現在將參考圖1和2更詳細地說明現有技術的系統。
參考圖1和2,它將示出通用類型的CAM可如何用來在指定文本中搜索字。尤其是,它將示出需要大量的搜索周期直到查找到搜索字的位置。
在圖1中,示出了通用類型的內容可尋址存儲(CAM)。CAM包括多個存儲器字W1至Wn,以及存儲將被搜索的搜索關鍵字寄存器。通過系統總線將數據載入搜索關鍵字寄存器。通過數據線將每個存儲器字連接到搜索關鍵字寄存器,并包括將存儲在存儲器字Wi中的字與存儲在搜索關鍵字寄存器中的字進行比較的比較器。當執行搜索操作時,如果存儲在存儲器字Wi中的字與存儲在搜索關鍵字寄存器中的字相等,該比較器則發出字匹配信號Mi,或核對預定關系。當幾個存儲器字可存儲匹配數據時,可同時發出幾個字匹配信號。然后將所有這些匹配信號輸入到優先編碼器。優先編碼器根據預定優先級,選擇一個匹配信號,并輸出相應的存儲器字的地址。
通常,也提供裝置來屏蔽搜索關鍵字寄存器的一些位以便禁止在對搜索操作無關的位上的比較。如果屏蔽搜索關鍵字寄存器的位,所有存儲器字的比較器將刪除該位與存儲在存儲器字中的字位間的差異,即在與在搜索關鍵字寄存器中的所述屏蔽位的位置相同的存儲器字中的相同位置上。因此該搜索將產生正由具有用于所有未屏蔽位的匹配數據的所有存儲器字輸出的字匹配信號。
在圖1中示出了在現有技術CAM存儲器中存儲的數據的例子。在該例子中,已經拆分數據字“ABCD”以便將“AB”存儲在存儲器字Wi-1的最后兩個字符以及將“CD”存儲在存儲器字Wi的前兩個字符。
為查找ABCD字,需要在搜索關鍵字寄存器中載入數據,該數據在同樣的位位置具有與在比較單元中的所述ABCD字的可能位置的ABCD字相同的ABCD字,以及屏蔽在搜索關鍵字寄存器中的所有其他位。在比較單元中的ABCD字的位置是未知的,以便必須嘗試所有可能的位置直到找到匹配為止。同樣,如在例子中所示,可在兩個字間拆分字ABCD,以便我們也必須考慮到其中將ABCD字拆分成兩部分,在字的結尾以及下一字的開始的位置。
在圖2中示出了可能必須載入搜索關鍵字寄存器的8種不同的模式以便提供字ABCD的所有可能的配置。在載入這些模式中的一個后,操作CAM以便查找它。如果未找到模式,那么載入另一模式并且重復該過程直到找到匹配或已經嘗試過所有模式。在圖2的模式中的星號(*)字符表示為了比較已經屏蔽的搜索關鍵字寄存器中的位。
這種系統的一個缺點在于在已經將數據連續載入CAM的情況下,如圖1中所示的數據的例子,將搜索的字可將拆分成兩個連續字。然后必須使用僅包含搜索數據部分的模式實施搜索操作。在那種情況下,當僅匹配部分存儲器字(在我們的例子中的*****AB)時可獲得匹配。在那種情況下,仍然存在不完全匹配的可能性,即占用下一字的前兩個位置的兩個相鄰的字符可能不是所搜索的,在我們的例子中為CD。因此,將需要核對這些兩個相鄰字符并它們與檢索串(CD)的剩余部分比較。如果字符不匹配,將有必要更改所找到的AB以便將不在下一搜索發出匹配信號,然后用同樣的模式(*****AB)執行另外的搜索操作。然后將重復該過程直到找到完全的匹配。根據所存儲的數據類型,這些連續的搜索操作可能導致大量搜索操作。該方法的另一缺點是搜索過程應當能記住在存儲數據中所做的改變以及在搜索操作結束時恢復原始數據。
現有技術的復雜性以及低效率可能用所存儲的數據是隨機的字母字符(26字符)例子來證明。在這些情況下,“AB”字將比“ABCD”字平均多26*26=676次。應當理解的是,對于我們的例子,最大的搜索周期數是676+8=684,以及通常所需的搜索周期的平均數能計算成約47,每個搜索周期包括搜索、核對、修改以及最后的恢復數據步驟。
如上所示,當具有通用類型的CAM的搜索數據、所需的搜索周期的數量可能非常大時,不管用于實現CAM的搜索特征所采用的增強的和價格昂貴的硬件。用于那個目的的通用CAM的另一缺點在于搜索時間具有值的很大的范圍,即搜索操作在某些情況下需要幾個搜索周期,而在其他情況下需要大量搜索周期。不能預測所需要的搜索周期的數量以及這可能在較將CAM集成在較大的系統中時很難產生同步的問題。這些缺點防礙了CAM廣泛地應用在計算機系統中,以及現今,CAMs的應用領域主要限定于通信系統。
現在將詳細地描述本發明的方法和系統。將理解到本發明并不限定于所描述的實施例以及在此附加的圖形以及實現本發明的許多其他方法在權利要求的范圍內是可能的。
當CAM用來查找在任意位置的數據字時,為了大大地降低搜索周期的數量,本發明的目的是提供用于CAM的有效結構。根據本發明,可設計內容可尋址存儲器(CAMs),允許在最少的搜索周期內搜索在任意位置的字。本發明的系統和方法也可應用在如已經在PCT申請PCT/IL 00/00121;PCT/IL 00327;PCT/IL 01/00088以及PCT/IL 00096中描述過的COM存儲器中(調出存儲器(Call Out Memory)。根據本發明系統的另外的優點,也可大大降低查找字所需的搜索周期的數量差異。
在圖3中,示出了本發明的CAM的原理。正如在通用類型的CAMs中,它包括存儲器字SW0至SWn。然而,現在已經給出了這些字在應用中所需要的最小尺寸。如果例如,應用程序設計成用于搜索字母字符,該尺寸將通常是8位。在通信系統中的應用程序情況下,該尺寸可是一位。這些字將稱為子字,以便將它們與用在現有技術的CAM中的字區分開來。
現在參考圖4,示出了子字SWi,包括具有相關電路的8位存儲器B0至B7。
從圖4中看出,每個子字通過數據線連接到數據總線。數據可存儲在和/或在已知的通用類型的存儲器的每個子字中檢索。如在常規的CAMs中,每個子字SWi包括比較器。當執行搜索操作時,在每個子字SWi中的比較器將在數據線上的數據與它自己的數據進行比較。如果兩者相同,或核對預定關系,該比較器輸出匹配信號Mi。
通常數據線由用來存儲將被搜索的字的搜索關鍵字寄存器發出。
為實現本發明的可變比較單元,定義多個命令信號。用各種方法設置這些命令信號,如通過命令總線。正如在圖3中所看到的,在每個子字(SWi)位置,關聯一個命令信號(Ci)。在OR函數中,該命令信號與來自在前子字(SWMi-1)的子字匹配信號(將在下面定義)結合。然后在AND函數中,將該OR函數的結果與子字(Mi)的匹配輸出結合以便形成子字匹配輸出(SWMi)。然后在AND函數中將每個子字匹配信號SWMi與命令信號Ci+1結合以形成字匹配信號WMi,該命令信號Ci+1與下一子字SWi+1有關。原則上不限定命令信號的數量,以及如在圖3的實施例中,有可能定義用于每個子字的命令信號。然而,為了降低命令信號的數量,可為幾個子字定義單一命令信號。
現在將示出如何將比較單元定義成在邏輯電平1的兩個命令信號間的一組子字。
讓我們考慮如s是整數以及命令信號Ci以及Ci-s均在邏輯電平1,以及所有命令信號Ci-s+1直到Ci-1均是邏輯電平0的情況。在匹配信號上的邏輯組合的結果將是只有當設置匹配信號Mi-1以及設置所有子字匹配SWMi-s,SWMi-s+1直到SWMi-2時才將設置子字匹配輸出SWMi-1。這表示在子字SWi-s至SWi-1中的整個數據串正與設置在連接到這些子字的數據總線上的相應的數據串進行比較。在那種情況下,設置所有子字信號SWMi-s、SWMi-s+1到SWMi-1,但不設置字匹配信號WMi-s、WMi-s+1直到WMi-2,因為命令信號Ci-s+1、Ci-s+2直到Ci-1均位于邏輯電平0。僅設置字匹配信號WMi-1,因為同時也設置了命令信號Ci。因此該WMi-1信號包含存儲在子字SWMi-s、SWMi-s+1直到SWMi-1中的整個數據串與設置在數據線上的相應數據間比較的結果。
因此,設置的命令信號現在定義比較單元界限,即每個設置的命令信號Ci將子字SWi-1定義為比較單元的最后一個子字以及將子字SWi定義為下一比較單元的開始子字。通過選擇性地設置命令信號,現在有可能定義任何尺寸和在任何位置的比較單元。
正如在常規的CAMs以及在PCT申請PCT/IL 00/00121;PCT/IL00327;PCT/IL 01/00088以及PCT/IL 00096中描述過的創新的COMs中,然后將所有字匹配輸出輸入到優先編碼器以及根據定義的特定的優先級,優先編碼器將輸出具有字匹配信號設置的一個子字的地址。
下述是使用本發明的CAM以及很小的搜索周期,如何執行搜索操作的一個例子。
圖5表示用來搜索圖1前述例子的字“ABCD”的模式集。搜索關鍵字尺寸是8個子字,每個子字存儲一個字符。將搜索的字由四個子字組成。當將搜索字載入搜索關鍵字寄存器中時,有8種用于選擇用于第一子字的位置的可能性,即,我們能以搜索關鍵字寄存器的任何子字開始載入“ABCD”串。然而,考慮到可能定義比較單元的開始位置以及尺寸,我們現在可以將相同的搜索關鍵字載入搜索關鍵字寄存器兩次,因為搜索關鍵字寄存器尺寸是搜索字的兩倍。同樣,我們能“循環”搜索關鍵字寄存器尺寸寫入搜索串,即,當載入搜索串時,如果到達搜索關鍵字寄存器結尾時,我們繼續從搜索關鍵字寄存器的第一子字載入。每次將模式載入搜索關鍵字寄存器時,設置命令信號以便使比較單元的尺寸適合搜索模式。
在我們的例子中,我們需要僅應用四種不同模式的搜索關鍵字寄存器以便搜索“ABCD”字。
在圖5中,示出了這四個搜索模式。同時如粗線所示,是設置到邏輯電平的命令信號-用于在這些模式下實施的搜索的一個命令信號。在該具體的例子中,以循環次序設置命令信號,循環周期是8個子字。數字k表示整數以及例如,標志8k+0表示命令信號的循環設置,其中均設置所有線0,8,16...等等。
再參考圖5,將注意到模式3將產生匹配。該匹配是整個的搜索字,因為在那個搜索中,設置命令線8k+2和8k+6,定義包括整個詞ABCD的比較單元以便不需要另外的讀取或搜索周期,以及查找ABCD字所需的最大周期數將是4而平均數將是2.5周期。
將理解到該發明的CAM大大地降低查找存儲器字所需要的搜索周期的數量。
因此,發明的CAM提供優于現有技術的方法和系統的下述優點a)允許更快的搜索操作b)不需要將搜索的數據字根據預定順序安排在存儲器中以便允許搜索操作。
本發明的系統和方法的另外的優點是大大減少存儲數據所要求的存儲空間,以及也降低載入時間,因為能以自然順序將數據載入存儲器中。
將理解到根據特定應用的需要,可用許多不同的方式執行信號線的設置。
因此,例如,在優選實施例中,命令總線可包括多條線,其數量是搜索關鍵字寄存器的子字的數量的倍數。在該實施例中,命令信號可能與命令總線循環連接,周期長度將是命令總線的數量。因此,例如,在搜索關鍵字包含8個子字,以及命令總線包含16條線的情況下,命令信號C0、C16、C32...將連接到命令總線0,命令信號(線?)C1、C17、C33...將連接到命令總線1等等...。
在另一優選實施例中,搜索關鍵字寄存器可包括多個子字,多個子字是命令總線的數量的倍數。在該第二實施例中,命令信號可具有與命令總線的循環連接,周期長度是命令總線的數量。例如,在搜索關鍵字包含8個子字,以及命令總線包含四條線的情況下,命令信號C0、C4、C8....將連接到命令總線0,命令信號C1、C5、C9...將連接到命令總線1等等...。
在另一優選實施例中,通過存儲在子字中的值的邏輯組合來設置命令信號。對該優選實施例所設想的一個應用是搜索文本中的字。在文本中,字通常用空格、點以及其他字符,以下稱為“分隔符”來分隔。然后將邏輯電路與每個子字關聯,如果子符正存儲分隔符,那個邏輯電路的輸出是設置信號。然后將該信號用作用于那個子字的命令信號。用那種方式,比較單元尺寸適用于字尺寸以便存儲在CAM中的每個文本字定義一個比較單元。
在上述所有描述過的實施例中,將通過多次將搜索字置于搜索關鍵字上來執行搜索字,每次在搜索關鍵字中移動字的第一字符的位置,直到找到匹配。如上所解釋的,當將字放在搜索關鍵字以及移動第一字符的位置時,在沒有足夠的空間來載入整個字的情況下,以循環方式將字的剩余部分載入,即在搜索關鍵字的第一子字處重啟。
根據本發明的一個優點,其適用于任何尺寸的子字,以及該尺寸可在CAM陣列中改變。
本發明也可應用于并非所有子字均與命令信號關聯的情況下。在那種情況下,根據CAM的規格,根據在那個位置的特殊邏輯電路的狀態發出在非連接的子字的字匹配信號。例如,在子字SWi沒有相關命令信號的情況下,可設計邏輯電路以便給出相同的功能似乎與固定狀態的命令線是關聯的,從而在多個固定位置提供固定分區定義。所使用的邏輯函數可是任何已知的種類。
本發明的方法和電路不由在CAMs和COMs中使用的優先電路的類型而定,因此,可與CAMs或COMs一起使用,為這些設備增加更多的功能,以及擴展它們的適用領域。
將理解到相對于存儲子字的遞增順序已經在這里描述過本發明的原理。很顯然,也可應用使用存儲子字的遞減順序的相同的原理。另外,可任意定義子字的順序。尤其是,沒有必要與由存儲子字的一般地址定義的相同。將進一步理解到雖然已經將優選實施例描述成其中搜索數據載入搜索關鍵字寄存器的方法和系統,本發明也可考慮其他的設計。因此,例如,通過數據線可直接將所搜索的數據連接到子字。
根據本發明的存儲系統的另一方面,也可應用于在輸入的字串流中檢測存在在給定這種字列表中的一個或幾個字。在該應用中,預先在存儲器中存儲字列表以及設置命令信號以便定義與這些存儲字一致的比較單元。然后按等于搜索詞的尺寸一致的分組載入流,以及交每個分組與在CAM中的預先存儲字比較。如果匹配發生,則表示至少一個預先存儲字存在于輸入流中。
權利要求
1.一種內容可尋址存儲器,用于搜索在任意位置的不同尺寸的字,將內容可尋址存儲器分成按預定順序配置的基本存儲單元(子字),其中每個子字包括比較器,將每個子字連接到一個或多個數據線以及在存儲在所述子字中的數據與所述數據線上的數據證實預定關系的情況下,將每個子字設計成輸出匹配信號;所述內容可尋址存儲器包括用于選擇性地將所述內容可尋址存儲器劃分成比較單元以及用于以所述預定順序選擇所述比較單元的最低子字和最高子字的位置的裝置,每個比較單元包括可選擇的多個連續子字,其中如果所述比較單元的所有子字均輸出子字匹配信號,則將每個比較單元設計成輸出字匹配信號。
2.如權利要求1所述的內容可尋址存儲器,其中將所述比較單元的每一個設計成在單個周期中輸出所述字匹配信號。
3.如權利要求1或2所述的內容可尋址存儲器,其中所述內容可尋址存儲器還具有允許其在調出模式中操作的裝置。
4.如權利要求1-3任何一個所述的內容可尋址存儲器,其中所述子字具有在應用中所要求的最小尺寸。
5.如權利要求1-4任何一個所述的內容可尋址存儲器,其中所述內容可尋址存儲器還具有允許比較屏蔽數據線的裝置。
6.如權利要求1-5任何一個所述的內容可尋址存儲器,其中用于選擇性地劃分所述存儲器以及用于定義所述比較單元的所述最低和最高子字的裝置是一組命令信號,每個命令信號與至少一個子字有關。
7.如權利要求1-6任何一個所述的內容可尋址存儲器,其中用于選擇性地劃分所述內容可尋址存儲器以及用于定義所述比較單元的所述最低和最高子字的所述裝置是一組命令線,每條命令線與至少一個子字有關。
8.如權利要求7所述的內容可尋址存儲器,其中所述命令信號可周期性地連接到一組命令線上以便如果所述命令線組包含n條線,將具有索引j的子字的命令信號連接到線r,其中r是n除以j的余數。
9.如權利要求7所述的內容可尋址存儲器,其中所述命令線組包括在命令總線中。
10.如上述任何一個權利要求所述的內容可尋址存儲器,其中一些子字與任何命令信號無關以及根據該位置的特定邏輯電路,分別在每個所述無關子字發出字匹配信號。
11.如權利要求10所述的內容可尋址存儲器,其中所述邏輯電路提供這樣的功能,即好象具有固定狀態的命令線與所述子字有關,由此,在所述內容可尋址存儲器中的多個固定位置提供固定分區定義。
12.如上述任何一個權利要求所述的內容可尋址存儲器,其中所述比較單元的尺寸是相同且固定的,所述內容可尋址存儲器包括用于改變所述比較單元中第一和最后一個子字的位置的裝置。
13.一種用于在內容可尋址存儲器中的任意位置搜索不同尺寸的字的方法,包括以下步驟i)在所述內容可尋址存儲器的數據線上設置將搜索的字的數據ii)通過以預定順序定義用于比較單元的最低子字以及以所述預定順序定義用于在前比較單元的最高子字,將所述內容可尋址存儲器劃分成比較單元,以便每個所述比較單元包含等于將搜索的所述數據字尺寸的子字串iii)在i)-輸出子字SWi的匹配信號,ii)-根據預定順序輸出在所述子字SWi之前的子字的子字匹配信號,或通過與所述子字SWi相關的邏輯電路設置與所述子字SWi相關的命令信號的情況下,執行用于輸出在所述子字串中子字SWi的子字匹配信號的邏輯功能iv)在通過與所述子字SWi有關的第二邏輯電路輸出所述子字SWi的子字匹配信號以及與后來的(按預定順序)子字有關的命令信號的情況下,執行輸出字匹配信號的邏輯功能。
14.如權利要求13所述的用于在內容可尋址存儲器中的任意位置搜索不同尺寸的字的方法,其中輸出字匹配信號的所述邏輯功能在單個周期中執行。
15.如權利要求13或14所述的用于在內容可尋址存儲器中的任意位置搜索不同尺寸的字的方法,其中所述內容可尋址存儲器還具有允許其在調出模式中操作的裝置。
16.如權利要求13-15任何一個所述的用于在內容可尋址存儲器中的任意位置搜索不同尺寸的字的方法,其中所述比較單元是由一組命令信號定義的,每個命令信號與至少一個子字有關,以及其中在比較單元的子字串中按預定順序的最低子字是與所述命令信號有關的子字,以及其中在前比較單元的各個子字串中按所述預定順序的最高子字是與所述命令信號有關的所述子字之前的子字。
17.如權利要求14-16任何一個所述的用于在內容可尋址存儲器中的任意位置搜索不同尺寸的字的方法,其中通過多條命令線設置一些或全部所述命令信號。
18.如權利要求14-17任何一個所述的用于在內容可尋址存儲器中的任意位置搜索不同尺寸的字的方法,其中分別與所述子字相關的一些或全部所述命令信號是存儲在它們的各自的子字和/或其他子字中的數據的邏輯組合的結果。
19.如權利要求18所述的用于在內容可尋址存儲器中的任意位置搜索不同尺寸的字的方法,其中當存儲在與所述命令信號有關的子字中的數據是諸如空格、點或類似字符的分隔符時,設置命令信號。
20.如權利要求13-19任何一個所述的用于在內容可尋址存儲器中的任意位置搜索不同尺寸的字的方法,其中在一個或多個位置,根據特定的邏輯電路設置所述字匹配信號。
21.如權利要求13-20任何一個所述的用于在內容可尋址存儲器中的任意位置搜索不同尺寸的字的方法,其中所述命令信號具有恒定狀態。
22.如權利要求13-21任何一個所述的用于在內容可尋址存儲器中的任意位置搜索不同尺寸的字的方法,其中為了比較屏蔽數據線上的一些數據位。
23.如權利要求13-22任何一個所述的用于在內容可尋址存儲器中的任意位置搜索不同尺寸的字的方法,其中所述方法還包括根據預定優先級,將所有字匹配輸出輸入到優先編碼器中,該優先編碼器輸出在所有具有字匹配信號設置的子字串中一個子字串的地址。
24.一種使用如在權利要求1-12中任何一個所述的內容可尋址存儲器,在字串的輸入流中檢測這些字的給定列表中一個或幾個字存在的方法。
25.一種基本上如參考附圖所述的、用于在內容可尋址存儲器中搜索不同尺寸的字的方法。
26.一種基本上如參考附圖所述的、用于搜索不同尺寸的字的內容可尋址存儲器。
全文摘要
用于搜索可變尺寸的字的CAM存儲器可劃分成不同尺寸的比較單元,每個比較單元具有子字串。通過命令信號選擇在比較單元的兩端的子字的位置。因此,將搜索的任何尺寸的數據字可連續存儲在存儲器字中以便所有存儲器可用于存儲和搜索。搜索周期的數量以及用于查找數據字的位置的時間顯著降低。僅在相同的比較單元的整個在前子字串已經設置匹配信號以及已經設置其后的命令信號的情況下,將來自子字的匹配信號輸出作為字匹配。
文檔編號G11C15/04GK1447941SQ01814383
公開日2003年10月8日 申請日期2001年5月17日 優先權日2001年5月17日
發明者耶維斯·E·維拉雷特, 塞穆爾·普羅科派茨 申請人:梅姆考爾有限責任公司