專利名稱:用于在內存陣列的特定行附近界定備用范圍的方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明大致有關內存陣列。更具體而言,本發(fā)明有關一種內存?zhèn)溆脵C制。
背景技術:
典型內存陣列的架構是此項技術中現(xiàn)有的。一般而言,一內存陣列包含配置成若干列及行的一些線。通常將該陣列的該等列稱為字線,并將該等行稱為位線。
字線及位線在可稱為節(jié)點的點上重疊。內存單元是位于每一節(jié)點上,或位于接近每一節(jié)點處,而內存單元通常是某一類型的晶體管。在一虛擬接地(virtual ground)架構中,可根據是在對內存單元進行燒錄驗證或讀取,而將一位線用來作為該晶體管(內存單元)的一源極或漏極線。為了簡化討論,“讀取”可意指一讀取作業(yè)或一燒錄驗證作業(yè)。
先前技術的圖1標出了一內存陣列(5)的一部分。為了簡化附圖,只示出內存陣列(5)的各行位線。此外,只示出了內存陣列(5)的兩個區(qū)塊(區(qū)塊0及區(qū)塊1);我們當了解,一傳統(tǒng)的內存陣列中通常有兩個以上的區(qū)塊。可將這些組的區(qū)塊稱為輸入/輸出(I/O)區(qū)塊,或簡單地稱為“I/O”。一般而言,一I/O包含耦合到(例如,被選通到)單一I/O墊或埠的某一數(shù)目的行。在一種類型的傳統(tǒng)內存陣列中,每一區(qū)塊或I/O有32行(N=32)。
請注意,先前技術的圖1所示的該等行是“金屬-2(metal-2)”位線。每一metal-2位線是與兩條“金屬-1(metal-1)”位線相關聯(lián)。例如,當N=32時,對于每一I/O共有64條metal-1位線,且內存陣列(5)可在每一I/O的每一字線中存儲64位的信息。諸如metal-1位線及metal-2位線等術語的使用是此項技術中現(xiàn)有的。
當讀取所選擇的一內存單元時,是將核心電壓施加到與該內存單元對應的字線,并將與該內存單元對應的位線連接到一負載(例如一疊接級或疊接放大器)。在一使用虛擬接地架構的內存陣列中,字線上的所有內存單元都接收到該核心電壓。因而可能沿著該字線誘發(fā)一漏電流或誤差電流,而實際上造成該字線上的該等內存單元間的不必要的相互影響。如果該漏電流夠大,則可能在讀取所選擇的內存單元時造成一錯誤。
為了盡量減小一字線上的各內存單元間的相互影響,且為了減少讀取時的錯誤,而使用了一種一般稱為預充電(precharging)的技術。預充電工作時是將對應于正在被讀取的內存單元的行的下一行充電(施加一電氣負載)。如果漏極節(jié)點及預充電節(jié)點大約有相同的電壓,則該預充電有減小漏電流的效果。請參閱先前技術的圖1,例如,為了要讀取第1行上的一內存單元,是將一預充電電壓耦合到第2行。
在該先前技術中,可將內存陣列(5)耦合到一備用陣列(圖中未示出)。該備用陣列本質上系列數(shù)與內存陣列(5)相同,但行數(shù)較少的另一內存區(qū)塊。備用陣列的行數(shù)通常小于一區(qū)塊或I/O的行數(shù),但并不一定就是此種情形。
為了簡化如何采用一備用陣列的討論,將使用備用陣列中的行數(shù)小于一區(qū)塊中的行數(shù)的一個例子。對內存陣列(5)的測試可能指示無法正確地讀取沿著該內存陣列的其中一行的內存單元。例如,在制造期間可能已將諸如短路接地等的一缺陷列入該行。是將該備用陣列用來作為有缺陷的行以及包含有缺陷的行的區(qū)塊中的其它行的替代物。可將內存陣列(5)中用該備用陣列取代的該等行稱為“備用范圍”(“redundancy window”)。先前技術的圖1中舉例示出一備用范圍(6)。根據該例子,備用范圍(6)是固定于一定的位置,且包含小于區(qū)塊1中的行數(shù)的某一數(shù)目的行。此時并不將數(shù)據寫到備用范圍(6)中的該等行,也不自備用范圍(6)中的該等行讀取數(shù)據,而是將數(shù)據寫到該備用陣列且自該備用陣列讀取數(shù)據。因此,并不燒錄備用范圍(6)中的內存單元。
在重復地抹除內存陣列(5)之后,前文所述的備用機制可能會發(fā)生問題。當抹除內存的一區(qū)段(sector)時,抹除了該區(qū)段中所有的內存單元?!癥-選擇(Y-select)”譯碼是所有I/O共同的;譬如,當抹除區(qū)塊1時,也抹除了備用范圍(6)中的內存單元。因此,繼續(xù)上述的例子,縱使不曾燒錄過備用范圍(6)中的該等內存單元,也會抹除這些于備用范圍(6)中的內存單元。因此,備用范圍(6)中的該等內存單元會變?yōu)椤氨贿^度抹除”。在過度抹除的情形下,備用范圍(6)中的該等內存單元的電阻減小,因而增加了這些內存單元的漏電流(誤差電流)。此種漏電流的增加又可能影響到對鄰近備用范圍(6)的各行中的內存單元的讀取,尤其可能影響到對鄰接備用范圍(6)的內存單元(例如,第N-1行中的那些內存單元)的讀取。例如,與第N行相關聯(lián)的漏電流可能較大;當對第N行施加預充電時,該預充電可能大到足以補償該漏電流,因而在讀取第N-1行時可能或造成錯誤。
因此,一種可消除或減少在讀取鄰近備用范圍的內存單元時的錯誤的備用機制將是對傳統(tǒng)備用機制的一種改良。
發(fā)明內容
本發(fā)明的各實施例有關一種可消除或減少在讀取鄰近一內存陣列中的備用范圍的內存單元時的錯誤的內存?zhèn)溆梅椒捌湎到y(tǒng)。識別該內存陣列的一特定行(例如,一有缺陷的行)。根據本發(fā)明的各實施例,選擇其中包含有缺陷的行的一組相鄰行,而界定該備用范圍。該組行的選擇方式為在該有缺陷的行的一端有至少一行且在該有缺陷的行的另一端有至少另一行。在該有缺陷的行的每一端通常將有多個行。在一實施例中,該備用范圍的界定方式為使該有缺陷的行大約在該組相鄰行的中間。在另一實施例中,是指定與該備用范圍的一邊界對應的一地址,而界定該備用范圍。
在一實施例中,只燒錄在該備用范圍的邊界上的各行中的內存單元。在另一實施例中,燒錄該備用范圍中在該有缺陷的行的兩端的所有行中的內存單元。一般而言,根據本發(fā)明的各實施例,有作用的且被燒錄的各行的一障壁是位于該有缺陷的行與該備用范圍的相鄰(且在該備用范圍的外)的行之間。
在一實施例中,是將該內存陣列中的該等多個行組織成若干獨立的輸入/輸出(I/O)組,其中是將一I/O組內的各行耦合到一個別的I/O墊。在該實施例中,該備用范圍可包含來自兩個相鄰I/O組的行。對于一個此種實施例而言,說明了一種將該備用陣列中的數(shù)據導引到適當?shù)腎/O墊的方法。亦說明了一種決定一指定的地址是否造成該備用范圍(且因而該備用陣列)中的一命中的方法。
被包含在本說明書且構成本說明書的一部分的各附圖標出了本發(fā)明的各實施例,且該等附圖連同說明是用來解說本發(fā)明的原理,這些附圖有圖1是先前技術的一內存陣列的一部分的示意圖,圖中示出一先前技術的內存?zhèn)溆脵C制。
第2A圖是可用來實施本發(fā)明的實施例的一內存陣列的示意圖。
第2B圖是根據本發(fā)明的一實施例的一內存陣列及一備用陣列的方塊圖。
第3A圖是根據本發(fā)明的一實施例的一例示內存單元的示意圖。
圖3B是根據本發(fā)明的一實施例的一例示鏡像位內存單元的一示意圖。
圖4是一內存陣列的示意圖,圖中示出根據本發(fā)明的一實施例的一內存?zhèn)溆脵C制。
圖5標出根據本發(fā)明的一實施例的內存陣列的例示輸入/輸出區(qū)塊的一位對映表(實體的和邏輯的)。
圖6是根據本發(fā)明的一實施例的內存?zhèn)溆梅椒ǖ牧鞒虉D。
圖7A是根據本發(fā)明的一實施例而決定一地址是否與備用范圍相關聯(lián)的方法的流程圖。
圖7B是根據本發(fā)明的一實施例而自一內存陣列或備用陣列讀取信息的方法的流程圖。
圖8A是根據本發(fā)明的一實施例而決定應將備用數(shù)據傳送到哪一輸入/輸出墊的方法的流程圖。
圖8B標出根據本發(fā)明的一實施例而決定應將備用數(shù)據傳送到哪一輸入/輸出墊的邏輯電路。
具體實施例方式
在本發(fā)明的下列詳細說明中,述及了許多特定的細節(jié),以便能徹底了解本發(fā)明。然而,本領域技術人員當可了解,可在無須該特定細節(jié)或其等效事項的情形下實施本發(fā)明。在其它的情形中,并不詳細說明現(xiàn)有的方法、程序、組件、及電路,以便不會非必要地模糊了本發(fā)明的各面向。
將以程序、步驟、邏輯方塊、處理、以及可在計算機內存中對數(shù)據位執(zhí)行的運算的符號表示法的方式呈現(xiàn)下文的詳細說明的某些部分。這些說明及表示法是本領域技術人員用來將其工作的內涵最有效地傳遞給其它本領域技術人員的方式。程序、計算機執(zhí)行的步驟、邏輯方塊、程序等在本說明書中(且一般地)被認為是將造成一所需結果的首尾一致的序列的步驟或指令。該等步驟是需要對物理量進行物理操作的那些步驟。雖非必然,但通常這些物理量采取可在計算機系統(tǒng)中被存儲、轉移、結合、比較、及以其它方式操作的電氣或磁性信號的形式。將這些信號稱為位、數(shù)值、元素、符號、字符、項、或數(shù)字等術語時,已證明經常是較便利的,主要也是為了普遍使用之故。
然而,我們當謹記于心,所有這些術語及其它類似的術語都與適當?shù)奈锢砹坑嘘P,而且只是適用于這些物理量的便利性標記而已。除非在下文的說明中明顯有其它特別的陳述,否則我們當了解在本發(fā)明的全部說明書中,使用諸如“識別”、“界定”、“燒錄”、“指定”、“選擇”、“建立”、“接收”、“決定”、“比較”、或“讀取”等的術語的討論都意指計算機系統(tǒng)或類似的電子運算裝置的動作及程序(例如,分別在第6、7A、7B、及8A圖的流程圖600、700、730、及800,且計算機系統(tǒng)是將該計算機系統(tǒng)的緩存器及內存內表現(xiàn)為物理量(電子量)的數(shù)據操作并變換成該計算機系統(tǒng)的內存、緩存器、或其它此種信息存儲裝置、傳輸裝置、或顯示裝置內同樣表現(xiàn)為物理量的其它數(shù)據。
圖2A標出根據本發(fā)明的一實施例的內存陣列100的一部分。在第2A圖中,為了簡化討論及附圖,只示出了單一的字線40及若干位線30、31、及32。然而,我們當了解,一內存陣列實際上可使用不同數(shù)目的字線及位線。亦即,內存陣列100實際上將進一步向左及向右而延伸,且亦將沿著水平及垂直的方向而延伸(左、右、水平、及垂直都是相對方向)??蓪⒆志€稱為列,并可將位線稱為行;然而,我們當了解,這些都是相對的術語。我們亦當了解,圖中只示出一內存陣列的某些組件;亦即,一內存陣列實際上可包含圖中所示出組件以外的組件。例如,在一實施例中,內存陣列100采用一虛擬接地架構。在一虛擬接地架構中,根據要對內存單元進行讀取(或燒錄驗證),而可將一位線用來作為一源極或漏極。
一電源(電壓源60)可耦合到字線40,而一負載(圖中未示出)可耦合到各位線30至32。位線30至32是大致相互平行,且字線40是大致與該等位線正交。字線40及位線30至32是分別在若干節(jié)點10、11、及12上重疊(但并未連接)。這些節(jié)點的每一節(jié)點對應于一內存單元20、21、22。亦即,在該實施例中,內存單元20對應于節(jié)點10,內存單元21對應于節(jié)點11,且內存單元22對應于節(jié)點12。圖中亦示出一內存單元23,該內存單元23是對應于另一節(jié)點(圖中未示出)。內存單元20至23實際上是介于各位線之間,且是在字線之下(“在…之下”是一相對術語)。內存單元20至23可以是諸如第3A圖所示的內存單元200等單一位的內存單元,或者可以是諸如第3B圖所示的內存單元250等一鏡像位(mirror bit)的內存單元。
圖2B是根據本發(fā)明的一實施例而耦合到一備用陣列110的內存陣列100的方塊圖。雖然圖中是視為個別的組件,但是我們當了解,可將內存陣列100及備用陣列110整合為單一組件。一般而言,備用陣列110本質上系列數(shù)與內存陣列100相同但行數(shù)較少的另一內存區(qū)塊。備用陣列110是用于將在下文中名的一備用機制中。
圖3A標出根據本發(fā)明的一實施例的例示內存單元300。在該實施例中,內存單元300是一浮接柵極內存單元,包含用來形成源極及漏極區(qū)的一基材310。內存單元300通常亦包含第一氧化物層320a、一存儲組件330(例如一浮接柵極)、第二氧化物層320b、及一控制柵極340。在該實施例中,是將存儲組件330用來存儲單一位。諸如內存單元300等的內存單元是此項技術中現(xiàn)有的。
圖3B標出根據本發(fā)明的一實施例的一例示鏡像位內存單元350。在該實施例中,內存單元350包含一基材360、第一氧化物層370a、一存儲組件380(例如一浮接柵極)、第二氧化物層370b、及一控制柵極390。與基于具有不同的源極及不同的漏極的一非對稱晶體管的第3A圖所示的內存單元300不同,鏡像位內存單元350是基于具有類似的(可選擇的)源極及漏極的一對稱晶體管。此外,鏡像位內存單元350配置成可讓一位存儲在存儲組件380的任一端或兩端。更具體而言,一旦將電子存儲在存儲組件380的一端之后,該等電子即停留在該端,且不會遷移到該存儲組件的另一端。因此,在本實施例中,每一內存單元可存儲兩個位。
圖4標出一內存陣列100,圖中示出根據本發(fā)明的一實施例的一內存?zhèn)溆脵C制。為了簡化附圖,圖中只示出內存陣列100的行(位線)。此外,圖中只示出內存陣列100的兩個輸入/輸出(I/O)區(qū)塊(I/O 0及I/O1);然而,我們當了解,內存陣列100通常將包含兩個以上的I/O區(qū)塊。此外,可將每一I/O分為某一數(shù)目的子I/O(請參閱圖5)。
在本文的用法中,一I/O區(qū)塊或I/O組(或簡稱為I/O)包含某一數(shù)目的行,且該等行被耦合到(例如選通到)單一的I/O墊或埠。在圖4中,I/O 0耦合到I/O墊401,且I/O l耦合到I/O墊402??梢砸环N現(xiàn)有的方式利用I/O內容可尋址內存(Content Addressable Memory;簡稱CAM)而唯一地識別每一I/O。例如,對于16個I/O而言,是利用四個CAM來唯一地識別每一I/O。
在一實施例中,每一I/O有32行(N=32)。請注意,圖4所示的該等行是metal-2位線。每一metal-2位線是與兩條metal-1位線相關聯(lián)。例如,當N=32時,每一I/O共有64條metal-1位線。在第3A圖所例示的內存架構中,內存陣列100在每一I/O的每一字線中可存儲64位的信息。在第3B圖所例示的內存架構(鏡像位架構)中,內存陣列100在每一I/O的每一字線中可存儲128位的信息。
請參閱圖4,內存陣列100是連接到一備用陣列110。備用陣列110包含某一數(shù)目的行??蓪溆藐嚵?10組織成具有若干組件,而各組件包含某一數(shù)目的行。例如,備用陣列110可包含由五行構成的單一組件,或者該備用陣列110可包含兩個組件,且每一組件有五行。備用陣列110可包含組織成任何數(shù)目的組件的任何數(shù)目的行。
根據本發(fā)明的各實施例,是選擇數(shù)目等于或小于備用陣列110的一組件中的行數(shù)的一組相鄰行,而界定一備用范圍410。為了便于討論,在此處假設備用陣列110具有由五行構成的單一組件,且此處亦將備用范圍410描述為包含五行。然而,我們當了解,備用范圍410可根據備用陣列110中的行數(shù)而包含任何數(shù)目的行。
根據本發(fā)明的實施例,是選擇一些行,使得一特定的(例如有缺陷的)行的一端上有至少一行,且該有缺陷的行的另一端上至少有另一行,而界定備用范圍410。備用范圍410通常將在有缺陷的行的每一端上包含一行以上。例如,可將諸如第N行等的一行識別為有缺陷的或有缺點的(但是也可能因某一其它的理由而選擇第N行)。根據本發(fā)明的實施例,備用范圍410包含第N行以及第N行的兩端上的各相鄰行(例如,在一端上的第N-2行及第N-1行、以及在另一端上的第N+1行及第N+2行)。在一實施例中,在該有缺陷的行(例如第N行)的一端上所選擇的行數(shù)等于在該有缺陷的行的另一端上所選擇的行數(shù),使第N行位于備用范圍410的中間。請注意,備用范圍可完全位于一I/O區(qū)塊內,可包含一完整的I/O區(qū)塊,或者可包含來自兩個相鄰I/O區(qū)塊的行。最后的例子是示于圖4。
根據本發(fā)明的一實施例,是指定與備用范圍410的一個邊界對應的一地址,而界定該備用范圍。下文中將參照圖5而說明一種機制。亦可利用其它的機制來界定該備用范圍。例如,可使用與第N-2行(或第N+2行)對應的地址來識別備用范圍410的一邊界。因為備用范圍410中的行數(shù)是已知的,所以可利用第N-2行(或第N+2行)的地址來決定該備用范圍中包含的其它行。再舉另一個例子,可使用備用范圍410中的每一行的地址,或者可使用備用范圍410的兩個邊界上的各行的地址。在有缺陷的行(例如第N行)是位于備用范圍410的中間的一實施例中,可使用第N行的地址來界定該備用范圍,這是因為一相同數(shù)目的行將位于第N行的任一端。
如前文所述,根據本發(fā)明的實施例,是將圖4的備用范圍410界定成在該有缺陷的行的每一端上有至少一行。因此,備用范圍410的各邊界上將有可工作的(無缺陷的)行。在一實施例中,在該有缺陷的行的每一端上的至少一行中的內存單元被燒綠。在一個此種實施例中,只有備用范圍410的邊界上的各行中的內存單元被燒錄。在另一此種實施例中,備用范圍410中的所有可工作的行中的內存單元被燒錄。因此,在該有缺陷的行與該備用范圍(之外的)各相鄰行之間有效地放置了可工作的且被燒錄的行的一障壁。
在一實施例中,是將“0”(零)寫到備用范圍410中的各內存單元,而完成對該等內存單元的燒錄。藉由燒錄備用范圍410中的各行,因而若重復地抹除內存陣列100時,這些行將不會被過度抹除。因此,在其它相鄰行的讀取作業(yè)期間中,可正確地將這些行預充電。例如,因為縱使第N-2行位于備用范圍410(的邊緣)內,也要燒錄第N-2行,所以可在讀取第N-3行時令人滿意地對第N-2行預充電,因而消除了或減少了于讀取與第N-3行相關聯(lián)的內存單元時可能發(fā)生的錯誤。
圖5標出根據本發(fā)明的一實施例的內存陣列(例如圖4所示的內存陣列400)的一部分的位對映表500。更具體而言,位對映表500代表一鏡像位內存陣列的一I/O。在本實施例中,是將位對映表500的I/O組織為四個子I/O501、502、503、及504。雖然隨后將在第3B圖所例示的鏡像位架構的環(huán)境中說明本發(fā)明的實施例,但是我們當了解,可將該說明延伸到其它的內存架構,例如第3A圖所例示的架構。
在下文的說明中,將說明一種用來界定一備用范圍的機制。在所要說明的該機制中,識別該備用范圍的起點;因為該備用范圍中的行數(shù)是已知的,所以可利用該起點來界定該備用范圍。如前文所述,亦可根據本發(fā)明而使用其它的機制來界定一備用范圍。
在本實施例中,圖5的位對映表500所代表的I/O能夠在64個內存單元(64個metal-1行或32個metal-2行)中存儲128個位。因此,必須以七個地址(A0至A6)來識別一特定的位。每一地址A0至A6代表一個邏輯零或一個邏輯一。位對映表500示出每一位的實際(實體)位置,以及利用該等七個地址A0至A6而識別的邏輯位置。用來界定一備用范圍的起點的地址的數(shù)目是取決于所需的分離程度。如果需要以一位的層級來指定備用范圍的起點,則可使用七個地址來界定該備用范圍的起點。在一實施例中,是使用四個地址(尤指地址A6、A5、A1、及A0)來界定該備用范圍的起點。如圖5所示,使用這四個地址時,識別了一特定組的八個位(然而,只使用這四個地址時,無法個別地識別該組中的這八個位)。例如,當A6、A5、A1、及A0分別等于0、1、0、0時,識別了在實體位置8至15上的且在邏輯位置32、36、40、44、48、52、56、及60上的該組的位。因而將該備用范圍的起點(“A”)識別為包含所識別的四行(八個位)。此外,可利用該等四個地址A6、A5、A1、及A0來識別位對映表500中被識別為“V”且是對應于該組的八個位的起點的一特定位置。
該備用范圍可根據該備用陣列中的行數(shù)而延伸到一鄰近的I/O。例如,類似于剛才所說明的方式,可以分別等于1、0、1、1的A6、A5、A1、及A0來識別具有一起點“B”的一備用范圍。如果將該備用范圍界定為包含16行,則具有起點“B”的該備用范圍將延伸到圖5中并未示出的另一(相鄰的)I/O。
根據本發(fā)明的實施例,在選擇一備用范圍及其起點時,是指定與該備用范圍相關聯(lián)的各CAM,而固定所界定的備用范圍。本文中將把這些CAM稱為ADDCAM,以便與前文所述的I/O CAM區(qū)分。如果以前文所述的方式(亦即,使用四個地址)界定該起點,則可使用四個ADDCAM來界定該備用范圍;一般而言,ADDCAM的數(shù)目對應于指定該備用范圍時所需的分離程度。
當一應用是將信息寫到一內存陣列或自一內存陣列讀取信息時,通常是由該應用指定該內存陣列中的一地址。為了簡化對照,本文中可將該地址稱為“使用者指定的地址”。根據本發(fā)明的一實施例,可利用該等ADDCAM來決定使用者指定的地址是否會造成該備用范圍中(因而也造成備用陣列中的)的一命中。當自備用陣列讀取信息時,可將該使用者指定的地址、該等ADDCAM、及該等I/O CAM的組合用來將該備用陣列中的數(shù)據導引到適當?shù)腎/O墊。
圖6是根據本發(fā)明的一實施例的一種內存?zhèn)溆梅椒ǖ牧鞒虉D600。雖然流程圖600中揭示了一些特定的步驟,但是這些步驟只是舉例。亦即,本發(fā)明極適于執(zhí)行各種其它的步驟、或流程圖600所示該等步驟的變形。我們當了解,可按照與所呈現(xiàn)順序不同的順序執(zhí)行流程圖600中的該等步驟,且不必然在所示的序列中執(zhí)行流程圖600中的該等步驟。
在步驟610中,是于本實施例中識別一內存陣列中的一特定行。例如,可將該內存陣列中的一有缺點的或無作用的行識別為該特定行。在圖4所示的實施例中,是將第N行識別為該特定(有缺陷的)行。
在圖6所示的步驟620中,是于本實施例中選擇該有缺陷的行的每一端上的若干行(尤指一些相鄰行),而界定一備用范圍。在一實施例中,該有缺陷的行的每一端上有至少一行;該有缺陷的行的每一端上通常有一行以上。在另一實施例中,該有缺陷的行是大致位于該備用范圍的中間,而該有缺陷的行的每一端上有相同數(shù)目的行。在又一實施例中,該備用范圍包含來自一個以上的I/O組或區(qū)塊的行的若干行。
在步驟630中,于一實施例中,該備用范圍中的內存單元的全部或部分被燒錄。在一個此種實施例中,該有缺陷的行的每一端上的至少一行被燒錄。在另一此種實施例中,只有該備用范圍的邊界上的各行中被燒錄。在又一實施例中,該備用范圍中的所有可工作的行被燒錄。
圖7A是根據本發(fā)明的一實施例而決定一地址是否與一備用范圍相關聯(lián)的一種方法的流程圖700。雖然流程圖700中揭示了一些特定的步驟,但是這些步驟只是舉例。亦即,本發(fā)明極適于執(zhí)行各種其它的步驟、或流程圖700所示該等步驟的變形。我們當了解,可按照與所呈現(xiàn)順序不同的順序執(zhí)行流程圖700中的該等步驟,且不必然在所示的序列中執(zhí)行流程圖700中的該等步驟。
在第7A圖的步驟710中,于一讀取或寫入作業(yè)中,是針對內存陣列中的內存位置而接收一地址(例如由應用指定的使用者指定的地址)。請務必注意,該地址通常將指向該內存陣列中的一位置。與該地址相關聯(lián)的信息的實際位置是在該內存陣列中或是在備用陣列中在本質上是對所執(zhí)行的作業(yè)透通的。
因此,在步驟720中,決定與步驟710中接收的地址對應的實際內存位置。如前文所述,在一實施例中,可使用取決于所需分離程度的某一數(shù)目的地址來界定該備用范圍。在一個此種實施例中,使用被稱為ADDCAM的四個地址來界定該備用范圍的起點。在該實施例中,可將在步驟710中接收的地址與該等ADDCAM比較,以便決定是否有該備用范圍中的一命中。該備用范圍中的一命中指示與該地址對應的實際內存位置是在該備用陣列中;否則,實際內存位置是在內存陣列中。
在一讀取作業(yè)中,請注意,可在自該內存陣列及(或)該備用陣列讀取信息之后,才決定與圖7A的步驟710中接收的地址對應的信息的實際內存位置。下文中將參照圖7B而進一步說明此種情形。
圖7B是根據本發(fā)明的一實施例而自一內存陣列或備用陣列讀取信息的一種方法的流程圖730。請參閱第7B圖中的步驟740,在本實施例中,是針對一讀取作業(yè)而接收一地址。然而,在本程序中的此點,并不作出與該地址是否對應于該備用范圍內(因而也在該備用陣列內)的一位置有關的決定。
在步驟750中,于本實施例中讀取該備用陣列中的信息。亦即,在一實施例中,于一讀取作業(yè)期間總是讀取該備用陣列中的信息。
在步驟760中,于本實施例中讀取在步驟740中接收的地址所識別的內存陣列中的該位置上的信息。如果內存陣列中的該位置對應于該陣列中的有缺陷的行,則在步驟760中可不讀取任何信息。如果該內存陣列中的該位置對應于該備用范圍內的行,則可讀取信息;然而,該信息可能是或可能不是有效的。例如,如前文所述,可只以零來燒錄該備用范圍中的有作用的行,且或許只燒錄該備用范圍中的某些行。下文中的步驟770將解決此種情形。請注意,可在大致相同的時間而以平行的方式執(zhí)行步驟750及步驟760。
在步驟770中,于本實施例中決定(來自步驟740的)該地址是否對應于該備用范圍中的一內存位置。如果該地址對應于該備用范圍中的一內存位置,則該讀取作業(yè)中要求的信息是位于該備用陣列中。因此,在步驟772中,使用步驟750中自該備用陣列讀取的信息來取代步驟760中自該內存陣列讀取的信息。如果該地址對應于該備用范圍外部的一內存位置,則在該讀取作業(yè)中要求的信息是位于該內存陣列中。因此,在步驟774中,使用步驟760中自該內存陣列讀取的信息來取代步驟750中自該備用陣列讀取的信息。在一實施例中,使用一多任務作業(yè)來完成步驟772及774。
圖8A是根據本發(fā)明的一實施例而決定應將備用數(shù)據傳送到哪一輸入/輸出墊的一種方法的一流程圖800。第8B圖標出用來實施流程圖800的一邏輯電路的一個實施例。雖然流程圖800中揭示了一些特定的步驟,但是這些步驟只是舉例。亦即,本發(fā)明極適于執(zhí)行各種其它的步驟、或流程圖800所示該等步驟的變形。我們當了解,可按照與所呈現(xiàn)順序不同的順序執(zhí)行流程圖800中的該等步驟,且不必然在所示的序列中執(zhí)行流程圖800中的該等步驟。
在圖8A的步驟810中,是利用諸如前文中參照圖7A及圖7B所述的程序,而在一讀取作業(yè)中識別并找到該備用陣列中的一內存位置。如前文所述,該備用范圍可延伸到一個以上的I/O區(qū)塊。因此,可能需要決定哪一I/O區(qū)塊是與該備用陣列中被識別的位置相關聯(lián),以便可將自該位置讀取的信息導引到適當?shù)腎/O墊或埠。
因此,在圖8A的步驟820中,決定該適當?shù)腎/O區(qū)塊。在一實施例中,是利用諸如圖8B所示的一邏輯電路,而進行由使用者指定的地址、用來界定各I/O區(qū)塊的各I/O CAM、以及用來界定該備用范圍的各ADDCAM構成的一比較,以便識別該適當?shù)腎/O區(qū)塊。因此,可將自該備用陣列讀取的信息導引到該適當?shù)腎/O墊。
前文中已針對例示及說明而提供了對本發(fā)明的一些特定實施例的說明。這些說明的用意并非具有耗盡性,也并非將本發(fā)明限制在所揭示的刻板形式,且顯然在參照前文的揭示事所述之后將可作出許多修改及變化。選擇并說明該等實施例,以便以最佳的方式解說本發(fā)明的原理及其實際應用,因而使其它本領域技術人員能夠在適于所考慮的特定用途而進行的各種修改下,而以最佳的方式利用本發(fā)明及各實施例。將由最后的權利要求書及其等效事項界定本發(fā)明的范圍。
權利要求
1.一種在包含多行的內存單元的一內存陣列中的內存?zhèn)溆梅椒?600),該方法包含下列步驟(610)識別該內存陣列的一特定行;(620)選擇其中包含該特定行的一組相鄰行,而界定一備用范圍,該步驟的特征在于根據被耦合到該內存陣列的一備用陣列中的行數(shù)而決定該組中的行數(shù),其中該組的選擇方式為使在該特定行的一端上有至少第一行且在該特定行的另一端上有至少第二行;以及(630)燒錄該第一行中的各內存單元及該第二行中的各內存單元。
2.如權利要求1所述的方法,其中是將該多行組織成若干獨立的輸入/輸出(I/O)組(0,1),其中將一I/O組內的各行耦合到一個別的I/O墊(401,402)。
3.如權利要求1所述的方法,其中該燒錄步驟包含下列步驟(630)燒錄該備用范圍中有作用的各內存單元。
4.如權利要求1所述的方法,其中該備用范圍的界定方式為使該特定行大約在該組相鄰行的中間。
5.如權利要求1所述的方法,其中該第一行位于該備用范圍的一邊界,且該第二行位于該備用范圍的另一邊界。
6.如權利要求1所述的方法,其中是指定與該備用范圍的一邊界對應的一地址,而界定該備用范圍。
7.一種在一內存陣列中的內存?zhèn)溆梅椒?600),該方法包含下列步驟(610)選擇該內存陣列的一特定行,其中該內存陣列包含多行的內存單元,該多行被組織成若干獨立的輸入/輸出(I/O)組,其中一I/O組中的各行被耦合到一個別的I/O節(jié)點;以及(620)選擇其中包含該特定行的一組相鄰行,而建立一備用范圍,其中是根據耦合到該內存陣列的一備用陣列中的行數(shù)而決定該組相鄰行中的行數(shù),其中該組相鄰行的選擇方式為使在該特定行的一端上有至少第一行且在該特定行的另一端上有至少第二行,且其中該組相鄰行包含來自兩相鄰I/O組的若干行。
8.一種內存?zhèn)溆梅椒?700),包含下列步驟(710)接收一內存陣列中的內存位置的一地址,其中該內存陣列包含多行的內存單元,該多行被組織成若干獨立的輸入/輸出(I/O)組,其中一I/O組中的各行耦合到個別的I/O節(jié)點;以及(720)決定與該地址對應的一實際內存位置,其中該實際內存位置是在該內存陣列中、或耦合到該內存陣列的一備用陣列中,其中該備用陣列是與為該內存陣列界定的一備用范圍相關聯(lián),該備用范圍包含其中包括一特定行的一組相鄰行,其中該組相鄰行的選擇方式為使在該特定行的一端上有至少第一行且在該特定行的另一端上有至少第二行,且其中該組相鄰行包含來自兩相鄰I/O組的若干行。
9.如權利要求8所述的方法,進一步包含下列步驟(750)讀取該備用陣列中的信息;(760)讀取該內存陣列中對應于該地址的該內存位置上的信息;以及(770)根據該實際內存位置,而在自該備用陣列讀取的該信息與自該內存陣列讀取的該信息之間作一選擇。
10.一種內存?zhèn)溆梅椒?800),包含下列步驟(810)讀取耦合到一內存陣列的一備用陣列中存儲的信息,其中該內存陣列包含多行的內存單元,該多行被組織成若干獨立的輸入/輸出(I/O)組,其中一I/O組中的各行耦合到個別的I/O節(jié)點,其中該備用陣列存儲來自至少兩個該I/O組的信息;以及(820)決定該信息是與該I/O組中的哪一I/O組相關聯(lián)。
全文摘要
本發(fā)明說明了一種內存?zhèn)溆梅椒?600)及實施該方法的一系統(tǒng)(100)。一內存陣列通常包含多條行(例如位線)的內存單元。識別該內存陣列的一特定(例如有缺陷的)行(步驟610)。選擇其中包含該有缺陷的行的一組相鄰行,而界定一備用范圍(410)(步驟620)。該組所選擇的行中的行數(shù)可于耦合到該內存陣列的一備用陣列(110)中的行數(shù)。該備用陣列是用來存儲已由另行存儲在該備用范圍中的內存單元的信息。該組的選擇方式為使在該有缺陷的行的一端上有至少一行且在該有缺陷的行的另一端上有至少另一行。該有缺陷的行的每一端上通常將有多個行。這些行中的內存單元被燒錄(步驟630)。
文檔編號G11C29/00GK1701391SQ03825406
公開日2005年11月23日 申請日期2003年7月10日 優(yōu)先權日2002年11月26日
發(fā)明者B·Q·李, P-L·陳 申請人:先進微裝置公司