TWI762281B - 記憶體控制邏輯及記憶體位址重新導向方法 - Google Patents
記憶體控制邏輯及記憶體位址重新導向方法 Download PDFInfo
- Publication number
- TWI762281B TWI762281B TW110114941A TW110114941A TWI762281B TW I762281 B TWI762281 B TW I762281B TW 110114941 A TW110114941 A TW 110114941A TW 110114941 A TW110114941 A TW 110114941A TW I762281 B TWI762281 B TW I762281B
- Authority
- TW
- Taiwan
- Prior art keywords
- array
- memory
- region
- redirection
- area
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
- G11C17/18—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
- G11C17/16—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM using electrically-fusible links
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Logic Circuits (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一種記憶體控制邏輯包括:一一次性可程式化(OTP)記憶體陣列;一陣列控制電路,用以將記憶體單元陣列之記憶體容量類型、在記憶體單元陣列中之各區域相應的區域失效旗標及各區域相應的重新導向映射表分別編程至OTP記憶體陣列中之第一陣列、第二陣列及第三陣列;以及一位址重新導向電路,用以依據OTP記憶體陣列中之各區域相應的重新導向映射表以將位址信號轉換為第一重新導向位址信號以輸入至記憶體單元陣列。
Description
本發明係有關於記憶體電路,特別是有關於一種記憶體控制邏輯及記憶體位址重新導向方法。
隨著電子產品及相關應用不斷的開發,記憶體與系統晶片的整合再加上2D/2.5D/3D封裝技術的突破,記憶體產業在記憶體設計與組合上能夠更加的靈活與保有彈性。此外,因為記憶體的容量不斷的擴展再加上半導體製程不斷的微縮,若無相關技術(備份元件、錯誤校正碼等等)的搭配,實難讓晶圓的良率有更大的突破。若只因為些微的缺陷就讓整顆記憶體晶片必須報廢無法使用,造成直接的成本浪費與間接的環保傷害,亦非產業所樂見。
有鑑於此,本發明係提供一種記憶體控制邏輯及記憶體位址重新導向方法以解決上述問題。
本發明係提供一種記憶體控制邏輯,設置於一記憶體電路。該記憶體電路包括一記憶體單元陣列,且該記憶體單元陣列係分割為複數個區域,且該等區域中包含至少一損壞區域,該記憶體電路係接收一位址信號。該記憶體控制邏輯包括:一一次性可程式化(OTP)記憶體陣列;一陣列控制電路,用以將該記憶體單元陣列之記憶體容量類型、在該記憶體單元陣列中之各區域相應的區域失效旗標及各區域相應的重新導向映射表編程至該OTP記憶體陣列中之第一陣列、第二陣列及第三陣列;其中該陣列控制電路更依據該記憶體容量類型以對該OTP記憶體陣列中之各區域相應的該重新導向映射表執行一編程操作以將各損壞區域相應的該重新導向映射表導向至該等區域中之不重複的良好區域;以及一位址重新導向電路,用以依據該OTP記憶體陣列中之各區域相應的重新導向映射表以將該位址信號轉換為第一重新導向位址信號以輸入至該記憶體單元陣列。
在一些實施例中,該第一陣列為二位元陣列[S1,S0],且當該二位元陣列[S1,S0]為0b00、0b01、0b10及0b11時,該二位元陣列[S1,S0]分別對應於100%、50%、25%及12.5%的該記憶體容量類型。
在一些實施例中,該等區域中之一或多個良好區域具有第一數量,且當該一或多個良好區域之數量佔該第一數量之比例R介於75%至100%、50%至75%、25%至50%、及12.5%至25%時,該陣列控制電路係將該第一陣列的該二位元陣列[S1,S0]分別編程為0b00、0b01、0b10及0b11。
在一些實施例中,該記憶體電路更包括一行解碼器以對該位址信號解碼以得到一行位址信號,且該位址重新導向電路係依據該OTP記憶體陣列中之各區域相應的重新導向映射表以將該行位址信號轉換為該重新導向位址信號以輸入至該記憶體單元陣列。
在一些實施例中,當該記憶體容量類型為50%時,該陣列控制電路係依序搜尋在該記憶體單元陣列之第一半區域中的該損壞區域。當該陣列控制電路已搜尋到該第一半區域中的該損壞區域,該陣列控制電路係依序搜尋在該記憶體單元陣列之第二半區域中的良好區域。當該陣列控制電路已搜尋到在該第二半區域中的該良好區域且尚未找到最近良好區域,該陣列控制電路係將該損壞區域相應的該重新導向映射表編程為該良好區域對應的區域索引,並將該良好區域對應的該區域失效旗標設定為1。該陣列控制電路更將該第二半區域中之各區域相應的該重新導向映射表編程為在該第一半區域中之對應位置的該區域索引。
在一些實施例中,當該記憶體容量類型為25%時,該陣列控制電路係依序搜尋在該記憶體單元陣列之第一四分區域中的該損壞區域。當該陣列控制電路已搜尋到該第一四分區域中的該損壞區域,該陣列控制電路係依序搜尋在該記憶體單元陣列之剩餘區域中的良好區域。當該陣列控制電路已搜尋到在該剩餘區域中的該良好區域且尚未找到最近良好區域,該陣列控制電路係將該損壞區域相應的該重新導向映射表編程為該良好區域對應的區域索引,並將該良好區域對應的該區域失效旗標設定為1。該陣列控制電路更將該在該記憶體單元陣列之第二四分區域、第三四分區域及第四四分區域之各區域相應的該重新導向映射表編程為在該第一四分區域中之對應位置的該區域索引。
在一些實施例中,當該記憶體電路在使用期間中有一良好區域變成新損壞區域,該陣列控制電路係在該記憶體單元陣列的第二半區域搜尋出另一良好區域,並將該新損壞區域對應的該重新導向映射表進行編程以導向至該另一良好區域相應的區域索引。
在一些實施例中,該位址重新導向電路包括一邏輯電路,用以依據該記憶體容量類型將該第一重新導向位址信號轉換為一第二重新導向位址信號以輸入至該記憶體單元陣列。
在一些實施例中,當該二位元陣列[S1,S0]為0b00,該邏輯電路係將該第二重新導向位址信號之最高位元設定為該第一重新導向位址信號之最高位元。當該二位元陣列[S1,S0]不為0b00,該邏輯電路係將該第二重新導向位址信號之該最高位元設定為0。當位元S1=1,該邏輯電路係將該第二重新導向位址信號之第二最高位元設定為0。當位元S1=0,該邏輯電路係將該第二重新導向位址信號之該第二最高位元設定為該第一重新導向位址信號之第二最高位元。當該二位元陣列[S1,S0]為0b11,該邏輯電路係將該第二重新導向位址信號之第三最高位元設定為0。當該二位元陣列[S1,S0]不為0b11,該邏輯電路係將該第二重新導向位址信號之第三最高位元設定為該第一重新導向位址信號之第三最高位元。
在一些實施例中,該記憶體單元陣列更包括一或多個備用區域,且該記憶體控制邏輯更利用該一或多個備用區域以替代該至少一損壞區域。
本發明更提供一種記憶體位址重新導向方法,用於一記憶體電路,該記憶體電路包括一記憶體控制邏輯及一記憶體單元陣列,且該記憶體單元陣列係分割為複數個區域,且該等區域中包含至少一損壞區域,其中該記憶體控制邏輯包括一一次性可程式化(OTP)記憶體陣列,且該記憶體電路係接收一位址信號。該方法包括:將該記憶體單元陣列之記憶體容量類型、在該記憶體單元陣列中之各區域相應的區域失效旗標及各區域相應的重新導向映射表編程至該OTP記憶體陣列中之第一陣列、第二陣列及第三陣列;依據該記憶體容量類型以對該OTP記憶體陣列中之各區域相應的該重新導向映射表執行一編程操作以將各損壞區域相應的該重新導向映射表導向至該等區域中之不重複的良好區域;以及依據該OTP記憶體陣列中之各區域相應的重新導向映射表以將該位址信號轉換為第一重新導向位址信號以輸入至該記憶體單元陣列。
第1圖為依據本發明一實施例中之記憶體電路的方塊圖。
記憶體電路100包括記憶體控制邏輯110、記憶體單元陣列(memory cell array)120、行解碼器130及列解碼器140。記憶體電路100係接收讀寫信號、控制信號、資料信號DQ及位址信號A[n:0],且記憶體控制邏輯110係依據來自讀寫信號及控制信號(例如包括晶片選擇(CS#)信號、行位址選通信號(RAS#)、列位址選通信號(CAS#)、及寫入致能信號(WE#)等等)以控制記憶體單元陣列120。此外,記憶體控制邏輯110亦可對記憶體單元陣列120進行更新(refresh)操作。
記憶體單元陣列120之記憶體空間的總容量為2
n位元。記憶體單元陣列120可分為複數個區域1200~1207,其中各區域1200~1207的記憶體空間相同。此外,記憶體單元陣列120可依據記憶體組(memory bank)、記憶體區塊、或其他的劃分方式而分割為各區域1200~1207。行解碼器(row decoder)130及列解碼器(column decoder)140則將位址信號A[n-1:0]進行行解碼及列解碼以傳送行位址信號及列位址信號至記憶體單元陣列120。舉例來説,若記憶體單元陣列120之記憶體空間的總容量為4Gb=2
32位元,則n=32。
記憶體控制邏輯110包括陣列控制電路111、位址重新導向電路112及一次性可程式化(OTP)記憶體陣列113。OTP記憶體陣列113包括第一陣列1131、第二陣列1132及第三陣列1133。第一陣列1131係用以記錄記憶體單元陣列120之可用記憶體容量,其中第一陣列1131為m位元之陣列,可用於表示2
m種記憶體容量類型。第二陣列1132係用以記錄各區域之區域失效旗標,例如區域失效旗標為0表示對應的區域可用(pass)(即良好區域),區域失效旗標為1表示對應的區域失效(fail)(即損壞區域)。陣列控制電路111可依據記憶體單元陣列120之各區域的測試結果而設定第二陣列1132。在此實施例中,第二陣列1132為RC位元之陣列,且區域數量RC=8。第三陣列1133係用以記錄一重新導向映射表以定義重新導向之位址以導向至記憶體單元陣列120中不重複的良好區域,其中第三陣列1133為RAC*RC位元的陣列,其中RAC表示重新導向位址的針腳數量。在一些實施例中,OTP記憶體陣列113例如可用電子可程式化熔絲(eFuse)所實現。
位址重新導向電路112係讀取第三陣列1133中相應於各區域之重新導向映射表,並將位址信號轉換為重新導向位址信號以輸入至記憶體單元陣列120。
在一實施例中,若第一陣列1131為2位元之陣列[S1,S0],則第一陣列1131可表示之不同記憶體容量之組合如表1所示:
表1
| 區域可用比例 | S1 | S0 | 可用記憶體容量比例R |
| 100% | 0 | 0 | 1 |
| >=50% | 0 | 1 | 1/2 |
| >=25% | 1 | 0 | 1/4 |
| >=12.5% | 1 | 1 | 1/8 |
舉例來説,當陣列[S1,S0]=0b00時(註:二進位數值),表示記憶體單元陣列120無缺陷,且在記憶體單元陣列120中的所有區域1200~1207均為良好狀態。此時,位址信號A[n:0]可以直接輸入至記憶體單元陣列120而無需經過位址重新映射(address re-mapping)。當陣列[S1,S0]=0b01時,表示有部分區域是無效且不可用,但是良好區域之數量與記憶體單元陣列120之所有區域之數量的比例R在50%以上(即50%<=R<100%)。此時,能夠用於定址的位址信號變成A[n-1:0],故記憶體單元陣列120的可用記憶體容量比例會變成1/2(即50%)。
當陣列[S1,S0]=0b10時,表示有部分區域是無效且不可用,但是良好區域之數量與記憶體單元陣列120之所有區域之數量的比例R在25%以上(即25%<=R<50%)。此時,實際能夠用於定址的位址信號變成A[n-2:0],故記憶體單元陣列120的可用記憶體容量比例會變成1/4(即25%)。當陣列[S1,S0]=0b11時,表示有部分區域是無效且不可用,但是良好區域之數量與記憶體單元陣列120之所有區域之數量的比例在12.5%以上。此時,能夠用於定址的位址信號變成A[n-3:0],故記憶體單元陣列120的可用記憶體容量比例會變成1/8(即12.5%)。
另外,需說明的是,在此實施例中,若比例R在1/8(即12.5%)以下,則記憶體單元陣列120會在進行記憶體測試時被判讀為瑕疵品。若記憶體單元陣列120可分割為更多數量的區域,則比例R可視實際情況而往下調整,例如1/16或1/32。
第2A圖為依據本發明一實施例中之位址重新映射操作的示意圖。
假定在記憶體單元陣列120的區域1200~1207之記憶體位址空間為連續,若在記憶體單元陣列120中之區域1200~1207均未損壞,則區域1200~1207之記憶體位址空間可用位址信號A[n:0]的最高3個位元A[n]、A[n-1]及A[n-2]進行區隔,例如位址信號A[n:n-2]為(0, 0, 0)係對應於區域1200(區域索引0),位址信號A[n:n-2]為(0, 0, 1)係對應於區域1201(區域索引1),位址信號A[n:n-2]為(0, 1, 0)係對應於區域1202,依此類推。
在第一情境中,記憶體單元陣列120之容量係降低為1/2。在此實施例中,在記憶體單元陣列120有兩個區域被記憶體測試操作判讀為損壞區域,例如區域1200及1203。因此,區域1200及1203(區域索引0及3)對應的區域失效旗標均會被設定為1,如第2A圖中之表200所示。因為記憶體單元陣列120共分為8個區域且有兩個區域為損壞區域,故記憶體單元陣列120的可用記憶體容量比例R為1/2(即50%)。此時,陣列控制電路111可將OTP記憶體陣列113中之第一陣列1131編程為[S1,S0]=0b01,並且將在區域索引0及3所對應的重新導向映射表[RD
2, RD
1, RD
0]編程為0b100及0b101,分別如箭號201及202所示。
詳細而言,因為在記憶體單元陣列120中之良好區域的比例係大於50%,所以在記憶體單元陣列120之第一半區域(例如上半區域)中可找到相應的重新導向映射位址,且在記憶體單元陣列120之第二半區域(例如下半區域)之重新導向映射表[RD
2, RD
1, RD
0]可直接複製在第一半區域的重新導向映射表[RD
2, RD
1, RD
0]。
經由上述流程,位址信號A[n:0]的最高位元A[n]即可被忽略,且記憶體單元陣列120可降低其容量至1/2,且在存取最高位元A[n]時,不需考慮最高位元A[n]的數值,即無論A[n]=0或1,記憶體控制邏輯110均能正確存取在記憶體單元陣列120中的資料。
詳細而言,在第2A圖之實施例中,陣列控制電路111會依序搜尋在記憶體單元陣列120之第一半區域(例如上半區域)中的損壞區域,例如第一半區域的區域索引i=0~3。當陣列控制電路111搜尋出第一半區域中的損壞區域(即區域失效旗標=1),陣列控制電路111會依序搜尋在第二半區域(例如區域索引i=4~7)中的良好區域。當陣列控制電路111找到在第二半區域中的良好區域(例如區域索引j)且尚未找到最近良好區域(nearest good region)(例如旗標1st_good_region=0),則陣列控制電路111會將上述損壞區域相應的重新導向映射表編程為區域索引j,並將區域索引j之良好區域的區域失效旗標設定為1、以及將旗標1st_good_region設定為1。若陣列控制電路111在第一半區域中找到良好區域(區域索引i),則陣列控制電路111會將上述良好區域相應的重新導向映射表編程為區域索引i,意即使用上述良好區域原本的區域索引i做為其重新導向映射表。
接著,對於記憶體單元陣列120之第二半區域(例如下半區域)的各區域索引i,陣列控制電路111會將第二半區域中之各區域索引i(例如i=RC/2至RC-1)的重新導向映射表編程為第一半區域中之對應位置的區域索引(i-RC/2)。
第2B圖為依據本發明另一實施例中之位址重新映射操作的示意圖。
在第二情境中,記憶體單元陣列120之容量係降低為1/4(即25%)。在此實施例中,在記憶體單元陣列120有5個區域被記憶體測試操作判讀為損壞區域,例如區域1201、1202、1203、1204及1206。因此,區域1201、1202、1203、1204及1206(區域索引1、2、3、4、6)對應的區域失效旗標均會被設定為1,如第2B圖中之表210所示。因此,記憶體單元陣列120實際上只剩2個良好區域的區域索引可以使用。
因為在區域索引0的區域1201為良好區域,故區域索引0對應的位址信號A[n:n-2]可直接使用。此時,陣列控制電路111並將OTP記憶體陣列113中之第一陣列1131編程為[S1,S0]=0b10,並且將在區域索引1所對應的重新導向映射表[RD
2, RD
1, RD
0]編程為0b101,如箭號211所示。因此,經由上述流程,在表210中的第一四分區域(即區域索引0及1)的重新導向映射表已建立,故在表210中的第二四分區域(即區域索引2及3)、第三四分區域(即區域索引4及5)及第四四分區域(即區域索引6及7)的重新導向映射表[RD
2, RD
1, RD
0]可複製在第一個四分區域的重新導向映射表[RD
2, RD
1, RD
0]。
詳細而言,在第2B圖之實施例中,陣列控制電路111會依序找出在記憶體單元陣列120之第一四分區域中的損壞區域,例如第一半區域的區域索引i=0~(RC/4-1)。當RC=8,則第一半區域的區域索引i包含0及1。當陣列控制電路111找出第一四分區域中的損壞區域(即區域失效旗標=1),陣列控制電路111會依序搜尋在剩餘區域(例如區域索引i=(RC/4)~(RC-1),即i=2~7)中的良好區域。若陣列控制電路111找到在剩餘區域中的良好區域(例如區域索引j)且尚未找到最近的良好區域(例如旗標1st_good_region=0),則陣列控制電路111會將上述損壞區域相應的重新導向映射表編程為區域索引j,並將區域索引j之良好區域的區域失效旗標設定為1、以及將旗標1st_good_region設定為1。若陣列控制電路111在第一四分區域中找到良好區域(區域索引i),則陣列控制電路111會將上述良好區域相應的重新導向映射表編程為區域索引i,意即使用上述良好區域原本的區域索引i做為其重新導向映射表。
接著,對於記憶體單元陣列120之第二四分區域、第三四分區域及第四四分區域的各區域索引i,陣列控制電路111會將第二四分區域、第三四分區域及第四四分區域中之各區域索引i的重新導向映射表編程為第一四分區域中之對應位置的區域索引。舉例來説,當區域索引i=RC/4~RC/2-1(即對應於第二四分區域),陣列控制電路111會將區域索引i對應的重新導向映射表編程為區域索引(i-RC/4),將區域索引(i+RC/4)對應的重新導向映射表編程為區域索引(i-RC/4),並將區域索引(i+RC/2)對應的重新導向映射表編程為區域索引(i-RC/4)。
第2C圖為依據本發明又一實施例中之位址重新映射操作的示意圖。
在第三情境中,記憶體單元陣列120之容量係降低為1/8(即12.5%)。在此實施例中,在記憶體單元陣列120有7個區域被記憶體測試操作判讀為損壞區域,例如區域1200~1206。因此,區域1200~1206 (區域索引0~6)對應的區域失效旗標均會被設定為1,如第2C圖中之表220所示。因此,記憶體單元陣列120實際上只剩1個良好區域的區域索引可以使用。
陣列控制電路111並將OTP記憶體陣列113中之第一陣列1131編程為[S1,S0]=0b11,並且將在區域索引0所對應的重新導向映射表[RD
2, RD
1, RD
0]編程為0b111,如箭號221所示。因此,經由上述流程,在表220中的第一八分區域(即區域索引0)的重新導向映射表已建立,故在表210中的第二至第八四分區域(即區域索引1~7)的重新導向映射表[RD
2, RD
1, RD
0]可複製在第一八分區域的重新導向映射表[RD
2, RD
1, RD
0]。
第3圖為依據本發明另一實施例中之記憶體電路的方塊圖。請同時參考第1圖及第3圖。
在另一實施例中,記憶體單元陣列120之記憶體空間的總容量為2
n+r,其中r表示備用區域。詳細而言,第3圖與第1圖之差異在於第3圖中的記憶體單元陣列120更包括備用區域(redundant region)1208。需注意的是,本發明之記憶體單元陣列120並不限定於只包含一個備用區域,亦可使用兩個或以上的備用區域。
詳細而言,當記憶體單元陣列120之備用區域的數量大於或等於損壞區域的數量,則記憶體控制邏輯110可利用其內部電路之設計以將備用區域完全替代損壞區域。此時,第一陣列113係同樣編程為[S1,S0]=0b00,且記憶體單元陣列120之的可用容量比例R仍然可以維持在100%,即記憶體位址空間仍然可達到2
n。
當記憶體單元陣列120之良好區域及備用區域的總數量小於記憶體單元陣列120的一般區域之數量RC,但大於或等於一般區域之數量RC的一半,陣列控制電路111則會將第一陣列113係編程為[S1,S0]=0b01。此時,記憶體單元陣列120之的可用容量比例係降低至50%,即記憶體位址空間為2
n/2。依據類似方式,可推導出記憶體單元陣列120之良好區域及備用區域的總數量在一般區域之數量RC之不同比例下的可用容量比例R。
舉例來説,在製造端的記憶體晶片(例如記憶體電路100)之最後測試階段(final test stage)中,可依據多個記憶體晶片之測試通過編號對多個記憶體晶片進行等級排序及分類,且這些記憶體晶片在出廠後可具有不同的可用記憶體空間、亦或是記憶體晶片之使用者可透過記憶體控制器(未繪示)以讀取在OTP記憶體陣列113中第一陣列1131的數值來確認記憶體晶片的可用記憶體空間。當記憶體電路之電源開啟時,在第一陣列1131為[S1,S0]=0b01的情況下,行解碼器130仍然會以原本的列映射方式傳送外部位址信號A[n:0]的行位址信號至記憶體控制邏輯110,但是記憶體控制邏輯110中之位址重新導向電路112則會依據第三陣列1133的重新導向映射表以將行位址信號重新映射,使得重新映射後的行位址可導向至良好區域。
第4圖為依據本發明另一實施例中之記憶體電路的方塊圖。第5A~5B圖為依據本發明另一實施例中多次進行位址重新映射操作的示意圖。第6圖為依據本發明第4圖實施例中之位址重新導向電路的示意圖。請同時參考第4圖、第5A~5B圖及第6圖。
第4圖中之記憶體電路400係類似於第1圖之記憶體電路100,其差別在於在第4圖中的陣列控制電路411可多次針對記憶體單元陣列420中之損壞區域進行位址重新導向的編程操作。此外,位址重新導向電路412可由位址重新導向電路112搭配硬體電路所實現,藉以達成位址信號A[n:0]中之一或多個最高位元之自動遮蔽功能,如第6圖所示,其細節將詳述於後。
舉例來説,在第5A圖的表500係表示在記憶體電路100出廠時,因為記憶體單元陣列420中之區域4200(對應於區域索引0)為損壞區域,故記憶體單元陣列420之容量係降低為1/2。陣列控制電路411會在記憶體單元陣列420的第二半區域搜尋出一個良好區域,並將區域4200之重新導向映射表(A
n(L), A
n-1(L), A
n-2(L))編程為0b100(對應於區域索引4),如箭號501所示。此外,陣列控制電路411並將對應於區域索引4的區域失效旗標編程為1以避免下次再被使用(即視為損壞區域)。
當記憶體電路400被使用一段時間後或在使用期間中,並經由記憶體測試發現區域4203(對應於區域索引3)從良好區域變成新損壞區域。此時,陣列控制電路411可在記憶體單元陣列420的第二半區域搜尋出另一個良好區域,並再度將第5B圖之表510中的區域4203(對應於區域索引3)對應的重新導向映射表(A
n(L), A
n-1(L), A
n-2(L))編程為0b101,如箭號511所示。此外,陣列控制電路411並將對應於區域索引5的區域失效旗標編程為1以避免下次再被使用(即視為損壞區域)。因此,當記憶體電路400繼續使用後,記憶體單元陣列420有其他的良好區域變成損壞區域,經由類似方式,可利用陣列控制電路411對新的損壞區域對應的重新導向映射表(A
n(L), A
n-1(L), A
n-2(L))進行編程以導向至記憶體單元陣列420之剩餘的良好區域。
請參考第6圖。需注意的是,在上述實施例中,各區域索引對應的重新導向映射表之位址信號A
n(L), A
n-1(L), A
n-2(L)(例如為第一重新導向位址信號)並不是位址重新導向電路412最後傳送至記憶體單元陣列420的行位址信號。舉例來説,位址重新導向電路412包括位址重新導向電路112及邏輯電路4121,且位址重新導向電路112所輸出的重新導向映射表之位址信號A
n(L)、A
n-1(L)、A
n-2(L)會再經過邏輯電路4121而產生位址信號A
n(i)、A
n-1(i)及A
n-2(i),其中位址信號A
n(i)、A
n-1(i)及A
n-2(i) (例如為第二重新導向位址信號)即是位址重新導向電路412最後傳送至記憶體單元陣列420的行位址信號。
詳細而言,邏輯電路4121包括反向器451及452、及閘(AND gate)453~456、反及閘(NAND gate)457。邏輯電路4121可依據第一陣列4131中之陣列[S1,S0]的設定以調整所產生的位址信號A
n(i)、A
n-1(i)及A
n-2(i)。
舉例來説,若陣列[S1,S0]=0b00,則位址信號A
n(i)=A
n(L),意即記憶體單元陣列420的可用記憶體容量為100%,且位址信號A[n:0]中的所有位元均為有效位元可用於記憶體定址。若陣列[S1,S0]
0b00,則位址信號A
n(i)=0,意即在記憶體單元陣列420中有一或多個損壞區域,故記憶體單元陣列420的可用記憶體容量至多為50%,且位址信號A[n:0]的最高位元A
n需設定為0。
若位元S1=1,則A
n-1(i)=0,意即在意即在記憶體單元陣列420中的損壞區域數量已超過全部區域數量的一半,故記憶體單元陣列420的可用記憶體容量至多為25%,且位址信號A[n:0]的第一最高位元A
n及第二最高位元A
n-1均需設定為0。若位元S1
1(即S1=0),則A
n-1(i)=A
n-1(L),意即記憶體單元陣列420的可用記憶體容量至少為50%,故位址信號A[n:0]中的第二最高位元A
n-1為可用於記憶體定址的有效位元。
若陣列[S1,S0]=0b11,則位址信號A
n-2(i)=0,意即記憶體單元陣列420的可用記憶體容量為12.5%,且位址信號A[n:0]中的最高三個位元A
n、A
n-1及A
n-2均需設定為0。若陣列[S1,S0]
0b11,則位址信號A
n-2(i)=A
n-2(L),意即記憶體單元陣列420的可用記憶體容量至少為25%,故位址信號A[n:0]中的第三最高位元A
n-2為可用於記憶體定址的有效位元。
在某些特殊情況中,位址重新導向電路112所產生的位址信號A
n(L)、A
n-1(L)、A
n-2(L)的一或多個位元可能會有浮接的情況。經由邏輯電路412之設計,可讓位址重新導向電路412所輸出的位址信號A
n(i)、A
n-1(i)及A
n-2(i)可依據陣列[S1,S0]之上述不同情況而綁定至0,以避免造成控制邏輯410誤動作。
第7A圖為依據本發明一實施例中之記憶體位址重新導向方法的流程圖。請同時參考第4圖及第7A圖。
在步驟S702,陣列控制電路411取得記憶體單元陣列420之記憶體容量類型(memory size type)MST以及記憶體單元陣列420中之各區域相應的區域失效旗標,並將記憶體容量類型及各區域相應的區域失效旗標編程至OTP記憶體陣列413。舉例來説,在記憶體單元陣列420有至少一損壞區域的情況下,記憶體容量類型可為50%、25%或12.5%,且良好區域數量Good_regions=區域總數量RC*記憶體容量類型MST。此外,陣列控制電路411會將陣列索引n設定為0。
在步驟S704,陣列控制電路411判斷目前區域之區域失效旗標。若區域失效旗標為1,則執行步驟S706、S708及S710。
在步驟S706,搜尋最近可用區域並且取得該最近可用區域之區域索引i。其中,i係用二進位數值表示。
在步驟S708,將該目前區域相應的重新導向映射表RD_map及區域失效旗標分別編程為i(註:i係用二進位數值表示)及1。
在步驟S710,判斷陣列索引n是否大於良好區域數量Good_regions。若陣列索引n大於良好區域數量Good_regions,則此流程結束。若陣列索引n未大於良好區域數量Good_regions,則執行步驟S712以將陣列索列n加1,並回到步驟S704。
第7B圖為依據本發明第7A實施例中之步驟S706的流程圖。請同時參考第4圖及第7A-7B圖。
在第7A圖的步驟S706係包含步驟S7061至S7066,其中步驟S706可視為一子函式以回傳最近可用區域之區域索引i。
在步驟S7061,設定第一索引n及第二索引m為0。需注意的是,在此處的第一索引n及第二索引m僅為便於說明,其與第7A圖中的陣列索引n無關。
在步驟S7062,判斷第一索引n相應的區域失效旗標。若第一索引n相應的區域失效旗標為1,則執行步驟S7066以將第一索引n加1。若第一索引n相應的區域失效旗標為0,則執行步驟S7063以將第二索引m加1,並執行步驟S7064。
在步驟S7064,判斷第二索引m是否等於良好區域數量Good_regions+1。若第二索引m等於良好區域數量Good_regions+1,則執行步驟S7065以回傳第一索引n。換言之,在此流程中,已偵測的良好區域之數量與預先設定的良好區域數量Good_regions相等,故此時需執行步驟S7065以回傳第一索引n。若第二索引m不等於良好區域數量Good_regions,則執行步驟S7066以將第一索引n加1。換言之,在此流程中,已偵測的良好區域之數量尚未到達預先設定的良好區域數量Good_regions,故需執行步驟S7066以將第一索引n加1並重複執行步驟S7062~S7064。
綜上所述,當記憶體電路中之記憶體單元陣列有損壞時(即缺陷記憶體晶片),經由對OTP記憶體陣列進行適當的編程可使位址信號被重新導向至良好區域,故本發明之記憶體控制邏輯及記憶體位址重新導向方法可有效利用記憶體容量以提高記憶體晶片之良率。此外,客戶端在使用記憶體電路時並不需要使用額外的電路板佈線或設計,故可增進使用的便利性。對於在記憶體晶片在不同的使用期間所產生的新損壞區域,本發明亦提供了高彈性的記憶體位址重新導向方法可對OTP記憶體陣列進行多次編程以延長記憶體電路之使用壽命。
100、400:記憶體電路
110、410:記憶體控制邏輯
111、411:陣列控制電路
112、412:位址重新導向電路
113、413:OTP記憶體陣列
120、420:記憶體單元陣列
130、430:行解碼器
140、440:列解碼器
451、452:反向器
453-456:及閘
457:反及閘
1200-1208、4200-4207:區域
1131、4131:第一陣列
1132、4132:第二陣列
1133、4133:第三陣列
4121:邏輯電路
200、210、220、500、510:表
202-202、211、221、501、511:箭號
DQ:資料信號
S0、S1:位元
An~A0:位址信號
A
n(L)、A
n-1(L)、A
n-2(L):位址信號
A
n(i)、A
n-1(i)、A
n-2(i):位址信號
S702-S710:步驟
S7061-S7066:步驟
第1圖為依據本發明一實施例中之記憶體電路的方塊圖。
第2A~2C圖為依據本發明之三種不同實施例之位址重新映射操作的示意圖。
第3~4圖為依據本發明之兩種不同實施例之記憶體電路的方塊圖。
第5A~5B圖為依據本發明另一實施例中多次進行位址重新映射操作的示意圖。
第6圖為依據本發明第4圖實施例中之位址重新導向電路的示意圖。
第7A圖為依據本發明一實施例中之記憶體位址重新導向方法的流程圖。
第7B圖為依據本發明第7A實施例中之步驟S706的流程圖。
100:記憶體電路
110:記憶體控制邏輯
111:陣列控制電路
112:位址重新導向電路
113:OTP記憶體陣列
120:記憶體單元陣列
130:行解碼器
140:列解碼器
1200-1207:區域
1131:第一陣列
11322:第二陣列
1133:第三陣列
DQ:資料信號
An~A0:位址信號
Claims (10)
- 一種記憶體控制邏輯,設置於一記憶體電路,該記憶體電路包括一記憶體單元陣列,且該記憶體單元陣列係分割為複數個區域,且該等區域中包含至少一損壞區域,該記憶體電路係接收一位址信號,該記憶體控制邏輯包括: 一一次性可程式化(OTP)記憶體陣列; 一陣列控制電路,用以將該記憶體單元陣列之記憶體容量類型、在該記憶體單元陣列中之各區域相應的區域失效旗標及各區域相應的重新導向映射表編程至該OTP記憶體陣列中之第一陣列、第二陣列及第三陣列; 其中該陣列控制電路更依據該記憶體容量類型以對該OTP記憶體陣列中之各區域相應的該重新導向映射表執行一編程操作以將各損壞區域相應的該重新導向映射表導向至該等區域中之不重複的良好區域;以及 一位址重新導向電路,用以依據該OTP記憶體陣列中之各區域相應的該重新導向映射表以將該位址信號轉換為第一重新導向位址信號以輸入至該記憶體單元陣列。
- 如請求項1之記憶體控制邏輯,其中該第一陣列為二位元陣列[S1,S0],且當該二位元陣列[S1,S0]為0b00、0b01、0b10及0b11時,該二位元陣列[S1,S0]分別對應於100%、50%、25%及12.5%的該記憶體容量類型,其中該等區域中之一或多個良好區域具有第一數量,且當該一或多個良好區域之數量佔該第一數量之比例R介於75%至100%、50%至75%、25%至50%、及12.5%至25%時,該陣列控制電路係將該第一陣列的該二位元陣列[S1,S0]分別編程為0b00、0b01、0b10及0b11。
- 如請求項2之記憶體控制邏輯,其中該記憶體電路更包括一行解碼器以對該位址信號解碼以得到一行位址信號,且該位址重新導向電路係依據該OTP記憶體陣列中之各區域相應的重新導向映射表以將該行位址信號轉換為該重新導向位址信號以輸入至該記憶體單元陣列。
- 如請求項2之記憶體控制邏輯,其中當該記憶體容量類型為50%時,該陣列控制電路係依序搜尋在該記憶體單元陣列之第一半區域中的該損壞區域, 其中當該陣列控制電路已搜尋到該第一半區域中的該損壞區域,該陣列控制電路係依序搜尋在該記憶體單元陣列之第二半區域中的良好區域, 其中當該陣列控制電路已搜尋到在該第二半區域中的該良好區域且尚未找到最近良好區域,該陣列控制電路係將該損壞區域相應的該重新導向映射表編程為該良好區域對應的區域索引,並將該良好區域對應的該區域失效旗標設定為1, 其中該陣列控制電路更將該第二半區域中之各區域相應的該重新導向映射表編程為在該第一半區域中之對應位置的該區域索引。
- 如請求項2之記憶體控制邏輯,其中當該記憶體容量類型為25%時,該陣列控制電路係依序搜尋在該記憶體單元陣列之第一四分區域中的該損壞區域, 其中當該陣列控制電路已搜尋到該第一四分區域中的該損壞區域,該陣列控制電路係依序搜尋在該記憶體單元陣列之剩餘區域中的良好區域, 其中當該陣列控制電路已搜尋到在該剩餘區域中的該良好區域且尚未找到最近良好區域,該陣列控制電路係將該損壞區域相應的該重新導向映射表編程為該良好區域對應的區域索引,並將該良好區域對應的該區域失效旗標設定為1, 其中該陣列控制電路更將該在該記憶體單元陣列之第二四分區域、第三四分區域及第四四分區域之各區域相應的該重新導向映射表編程為在該第一四分區域中之對應位置的該區域索引。
- 如請求項2之記憶體控制邏輯,其中當該記憶體電路在使用期間中有一良好區域變成新損壞區域,該陣列控制電路係在該記憶體單元陣列的第二半區域搜尋出另一良好區域,並將該新損壞區域對應的該重新導向映射表進行編程以導向至該另一良好區域相應的區域索引。
- 如請求項6之記憶體控制邏輯,其中該位址重新導向電路包括一邏輯電路,用以依據該記憶體容量類型將該第一重新導向位址信號轉換為一第二重新導向位址信號以輸入至該記憶體單元陣列。
- 如請求項7之記憶體控制邏輯,其中當該二位元陣列[S1,S0]為0b00,該邏輯電路係將該第二重新導向位址信號之最高位元設定為該第一重新導向位址信號之最高位元,且當該二位元陣列[S1,S0]不為0b00,該邏輯電路係將該第二重新導向位址信號之該最高位元設定為0, 其中當位元S1=1,該邏輯電路係將該第二重新導向位址信號之第二最高位元設定為0,且當位元S1=0,該邏輯電路係將該第二重新導向位址信號之該第二最高位元設定為該第一重新導向位址信號之第二最高位元, 其中當該二位元陣列[S1,S0]為0b11,該邏輯電路係將該第二重新導向位址信號之第三最高位元設定為0,且當該二位元陣列[S1,S0]不為0b11,該邏輯電路係將該第二重新導向位址信號之第三最高位元設定為該第一重新導向位址信號之第三最高位元。
- 如請求項1之記憶體控制邏輯,其中該記憶體單元陣列更包括一或多個備用區域,且該記憶體控制邏輯更利用該一或多個備用區域以替代該至少一損壞區域。
- 一種記憶體位址重新導向方法,用於一記憶體電路,該記憶體電路包括一記憶體控制邏輯及一記憶體單元陣列,且該記憶體單元陣列係分割為複數個區域,且該等區域中包含至少一損壞區域,其中該記憶體控制邏輯包括一一次性可程式化(OTP)記憶體陣列,且該記憶體電路係接收一位址信號,該方法包括: 將該記憶體單元陣列之記憶體容量類型、在該記憶體單元陣列中之各區域相應的區域失效旗標及各區域相應的重新導向映射表編程至該OTP記憶體陣列中之第一陣列、第二陣列及第三陣列; 依據該記憶體容量類型以對該OTP記憶體陣列中之各區域相應的該重新導向映射表執行一編程操作以將各損壞區域相應的該重新導向映射表導向至該等區域中之不重複的良好區域;以及 依據該OTP記憶體陣列中之各區域相應的該重新導向映射表以將該位址信號轉換為第一重新導向位址信號以輸入至該記憶體單元陣列。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW110114941A TWI762281B (zh) | 2021-04-26 | 2021-04-26 | 記憶體控制邏輯及記憶體位址重新導向方法 |
| US17/467,848 US11860671B2 (en) | 2021-04-26 | 2021-09-07 | Memory-control logic and method of redirecting memory addresses |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW110114941A TWI762281B (zh) | 2021-04-26 | 2021-04-26 | 記憶體控制邏輯及記憶體位址重新導向方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI762281B true TWI762281B (zh) | 2022-04-21 |
| TW202242665A TW202242665A (zh) | 2022-11-01 |
Family
ID=82199046
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW110114941A TWI762281B (zh) | 2021-04-26 | 2021-04-26 | 記憶體控制邏輯及記憶體位址重新導向方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US11860671B2 (zh) |
| TW (1) | TWI762281B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI869991B (zh) * | 2023-08-24 | 2025-01-11 | 力晶積成電子製造股份有限公司 | 可組態記憶體裝置的組態設定方法以及可組態記憶體裝置 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI563512B (en) * | 2014-12-03 | 2016-12-21 | Winbond Electronics Corp | Apparatus using one-time-programmable memory and method thereof |
| TWI695376B (zh) * | 2019-09-17 | 2020-06-01 | 華邦電子股份有限公司 | 記憶體裝置及其資料讀取方法 |
| TW202107471A (zh) * | 2018-06-28 | 2021-02-16 | 台灣積體電路製造股份有限公司 | 記憶體儲存裝置、寫入驅動器及其操作方法 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6728851B1 (en) * | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
| US20020199130A1 (en) * | 2001-06-20 | 2002-12-26 | Yao-Jung Kuo | Automatic address redirecting memory device and the method of the same |
| US20080010510A1 (en) * | 2006-06-19 | 2008-01-10 | Tony Turner | Method and system for using multiple memory regions for redundant remapping |
| DE102007029371A1 (de) * | 2007-06-26 | 2009-01-02 | Qimonda Ag | Verfahren zum Verbergen defekter Speicherzellen und Halbleiterspeicher |
| US20180107591A1 (en) * | 2011-04-06 | 2018-04-19 | P4tents1, LLC | System, method and computer program product for fetching data between an execution of a plurality of threads |
-
2021
- 2021-04-26 TW TW110114941A patent/TWI762281B/zh active
- 2021-09-07 US US17/467,848 patent/US11860671B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI563512B (en) * | 2014-12-03 | 2016-12-21 | Winbond Electronics Corp | Apparatus using one-time-programmable memory and method thereof |
| TW202107471A (zh) * | 2018-06-28 | 2021-02-16 | 台灣積體電路製造股份有限公司 | 記憶體儲存裝置、寫入驅動器及其操作方法 |
| TWI695376B (zh) * | 2019-09-17 | 2020-06-01 | 華邦電子股份有限公司 | 記憶體裝置及其資料讀取方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20220342827A1 (en) | 2022-10-27 |
| US11860671B2 (en) | 2024-01-02 |
| TW202242665A (zh) | 2022-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7120068B2 (en) | Column/row redundancy architecture using latches programmed from a look up table | |
| TWI584294B (zh) | 記憶體裝置之軟包裝後修復 | |
| JP3847993B2 (ja) | マルチビット半導体メモリ装置及びその装置の誤り訂正方法 | |
| CN1037721C (zh) | 修复半导体存储器器件中缺陷的方法和电路 | |
| US11232849B2 (en) | Memory device with a repair match mechanism and methods for operating the same | |
| US6163489A (en) | Semiconductor memory having multiple redundant columns with offset segmentation boundaries | |
| CN1153984A (zh) | 半导体存储器件的冗余电路及其方法 | |
| CN108074620B (zh) | 修复控制器件及包括其的半导体器件 | |
| EP0274378A2 (en) | Semiconductor memory device | |
| US6788597B2 (en) | Memory device having programmable column segmentation to increase flexibility in bit repair | |
| TWI762281B (zh) | 記憶體控制邏輯及記憶體位址重新導向方法 | |
| CN113299336A (zh) | 修复电路、存储器和修复方法 | |
| US6400618B1 (en) | Semiconductor memory device with efficient redundancy operation | |
| US7055075B2 (en) | Apparatus for random access memory array self-test | |
| US4975882A (en) | User programmable redundant memory | |
| CN115440286A (zh) | 存储器控制逻辑及存储器地址重新导向方法 | |
| EP1049017A1 (en) | Semiconductor memory device with redundancy | |
| US7548479B2 (en) | Semiconductor memory device and manufacturing method thereof | |
| KR101124320B1 (ko) | 리던던시 회로 | |
| US6473872B1 (en) | Address decoding system and method for failure toleration in a memory bank | |
| JPH1050092A (ja) | 半導体記憶装置の欠陥救済回路 | |
| JP2001256793A (ja) | 半導体集積回路装置 | |
| US11803501B2 (en) | Routing assignments based on error correction capabilities | |
| US20200194045A1 (en) | Decoder circuit | |
| KR100573478B1 (ko) | 플래시 메모리 장치 |