TW200910088A - Block addressing for parallel memory arrays - Google Patents

Block addressing for parallel memory arrays Download PDF

Info

Publication number
TW200910088A
TW200910088A TW097124899A TW97124899A TW200910088A TW 200910088 A TW200910088 A TW 200910088A TW 097124899 A TW097124899 A TW 097124899A TW 97124899 A TW97124899 A TW 97124899A TW 200910088 A TW200910088 A TW 200910088A
Authority
TW
Taiwan
Prior art keywords
address
block
memory
array
blocks
Prior art date
Application number
TW097124899A
Other languages
English (en)
Other versions
TWI376601B (en
Inventor
David Eggleston
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of TW200910088A publication Critical patent/TW200910088A/zh
Application granted granted Critical
Publication of TWI376601B publication Critical patent/TWI376601B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0853Cache with multiport tag or data arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

200910088 九、發明說明: 【發明所屬之技術領域】 本發明之實施例大體而言係關於積體電路。特定言之, 本發明之實施例係關於記憶體電路。 【先前技術】
Ο 半導體記憶體裝置普遍存在於數位電子裝置中。此等裝 置之實例包括電腦、相機、數位媒體播放器、遊戲機、個 人數位助理、行動電話、導航裝置、非揮發性儲存產品及 其類似物非揮發性儲存產品之實例包括CompactFlash (CF)卡、MultiMedia 卡(MMC)、安全數位(sd)卡、Flash PC卡(例如’ ΑΤΑ Flash卡)、SmartMedia卡、固態磁碟 (SSD)、混合硬碟機及記憶棒。半導體記憶體提供資料之 儲存與掘取。 存在許多類型之半導體記憶體。記憶體之實例包括各種 類型之隨機存取記.隱體(RAM)(包括sram、d讀及 在許多子型(subtype) ⑽AM)、快閃記憶體、電可抹可程式化唯讀記憶體 (EEPROM)、磁阻隨機存取記憶體(Mram)、可程式化導 體記憶體、鐵電記憶體及其類似物。在此等記㈣㈣存 :常’記憶體裝置之記憶體單元以一或多個陣列來配置 且藉由啟動適當字線⑼)及位元線(行)而被存取 Γ型二憶體褒置中’每-單元儲存單個資料位元。: 些早兀U如,快閃記憶體單元)可在—個以上層次 中储存資料(每-單元料―個以上位元)。 a 132777.doc 200910088 亦可將S己憶體裝置組織為 塊。舉例而言,通常將… 進—步組織為若干區 頁。亦行Η 〗記憶體組織為若干區塊及 (LIU 了記憶體、電可抹可程式化唯讀記憶體 == 式化唯讀記憶體(⑽m)中找到此組織。 塊及頁之大小可在非常廣泛之範圍中變化。2十億位元 組(GB)㈣體陣列之—實例具有2,州個區塊,每一區塊 具有64個頁,每一頁 次挝办_ , 以惘位兀組,其包括2,048個 貝科位疋組及64個備用位元組(不包括備用區塊、頁、 列行等等)。概念上,圖i中說明此情形。 可在測試期間識別不良或不可用記憶體單元。舉例而 ^ δ己憶體单元可未能保持於特定邏輯狀態、未能滿足計 時規格或其類似者。在生產期間,可藉由用陣列中之額外 =冗餘列及/或行代替有缺陷的列及/或行來映射並校正此 等故障。此類型之故障通常係藉由永久映射個別列之内部 位址㈣㈣之位址來處理且料最終❹者而言係明顯 的。 單凡亦可在現場發生故障。舉例而言,許多非揮發性記 隐體類i可在多個寫人循環後磨損。_些記憶體裝置亦可 包括錯誤校正碼(ECC),且在可校正之限度内容忍不良翠 兀。除非可藉由某一形式之錯誤校正來校正,否則不應使 用不良或不可用記憶體單元。不良或不可用記憶體單元可 影響較高p身記憶體部件之可用性。舉例而言,+良單元可 導致-列係不可㈣,且導致該列之該(等)頁係不可用 的。圮憶體區塊亦可具有用以替換不良頁之備用頁。當— 132777.doc 200910088 區塊之不充足數目之頁可科,可將該整個區塊標記為不 良區塊’且該區塊之頁中之任—者通常均非可存取的。 在處理不良區塊時出現問題。可將不良區塊標記於不良 區塊表中。舉例而t ’若在生產測試期間判定一區塊係不 良的’則可使用修復程序以用備用區塊來替換該不良區 塊。 >看圖2 ’在-實例中,兩個或兩個以上之陣列儲存來 自資料匯流排之資料或將資料提供至資料匯流排。將資料 頁寫入至陣列202、204或自陣列2〇2、204讀取資料頁所花 費的日可間可長於將資料頁寫入至快取暫存器施、2⑽或自 快取暫存器206、208讀取資料頁所花費的時間。因為速 度’可配置記憶體以使得首先寫入或讀取來自一個陣列 2〇2之頁,接著寫入或讀取來自第二陣列之頁,接著將 新的頁寫入至第一陣列2〇2或自第一陣列2〇2讀取新的頁, 等等。此情形被稱為"往復轉換"且係快速的,因為可將來 自交替陣列之資料預栽至適用快取暫存器206、208中,同 時寫入或讀取來自另-快取記憶體之資料。其他暫存器 210 212可辅助寫入或取出資料。若陣列2〇2、2〇4係在同 曰曰片上,則可共用快取暫存器2〇6、2〇8(亦即,將通常 僅存在一個快取暫存器)。 然而,右位址並非為連續的,則可能不有效地發生預 載。舉例而言’當使用兩個8位元晶片來提供資料時,則 通常共用被提供至該兩個晶片之位址線,且位址線之最低 有效位7G (LSB)係冗餘的。在具有多個陣列之習知晶片 132777.doc 200910088 中不僅共用位址線’而且亦通常在多個陣列之間共用列 解碼器。當陣列之區塊係不良時,修復解決方案可將不同 區塊映射至與良好區塊相同之邏輯位址。然而,啟動用於 该替換區塊之一組不同列線可顯著加長寫入或讀取時間, 因為(例如)接著自記憶體裝置内存取兩個不同實體記憶體 位置以進行讀取或寫入。圖3中展示此情形。
圖3說明用於使來自兩個不同記憶體陣列3〇2、3〇4之區 塊成對的習知技術之實例。可使兩個以上之記憶體陣列” 成對"或匹配(亦即,相關聯以一同儲存及擷取)。在另一實 例中,使4個陣列或8個陣列”成對"。在所說明之實例中, 來自記憶體陣列A 302之前四個區塊(丨入至从)3〇6、3〇8、 310、3 12係良好的。來自記憶體陣列B 3〇4之第一區塊1B 3 14、第二區塊2B 3 16及第四區塊4B 320係良好的。然 而,記憶體陣列B 304之第三區塊3B 31 8係不良的。第一 區塊1A 306與弟一區塊1B 314成對。第二區塊2A 308與第 二區塊2B 316成對。第四區塊4A 312與第四區塊4B 320成 對。 然而’來自陣列A 302之第三區塊3A 310不與來自陣列b 304之第三區塊3B 318成對,因為第三區塊3B 318係不良 的且並非為可用的。實情為,第三區塊3A 310與來自陣列 B之另一區塊XB 322成對。通常,在陣列之末尾(就實體位 址而言)之良好區塊係備用區塊,且所使用之另一區塊XB 3 22係選自該等備用區塊中之一者。舉例而言,區塊xb 322可為被規定具有至少2,048個良好區塊之陣列的第2,〇5〇 132777.doc 200910088 個區塊。第三區塊3A 310鱼s ^ λτ ϋ與另一區塊XB 322係位於不同實 體位址,且當將資料頁儲存至 母者或自每一者榻取資料 頁時,來自第三區塊从31〇之頁及來自區塊別322之頁係 使用兩個獨立存取且在無"往復轉換"的情況下在内部存 取。此情形降低效能。舉例而言,圖3中所說明之技術通 常使用某-形式之内部控制器干預以選擇該(等)替換區塊 並組合來自獨立内部記憶體讀取之資料,此情形進一步減 慢存取。 針對資料而使用多個陣列係普遍的。在具有多個資料通 道之系統中’針對資料流,可存在來自多個陣列之資料。 區塊可成對之另一實例係當資料匯流排相對寬時(諸如, 在3 2位元寬之資料匯流排中),且四個記憶體陣列中之每 一者處理32個資料位元中之8個位元。 圖4說明用於使來自兩個不同記憶體陣列4〇2、4〇4之區 塊成對的習知技術之實例。在此技術中,跳過不良區塊之 整個實體位址,且使用具有兩個或兩個以上之良好區塊的 下一實體位址。此技術仍通常使用控制器干預來管理實體 位址之跳躍。在所說明之實例中,來自記憶體陣列A 402 之前四個區塊(1A至4A) 406、408、410、412係良好的。來 自記憶體陣列B 404之第一區塊1B 4 14、第二區塊2B 416 及第四區塊4B 420係良好的。然而,記憶體陣列b 404之 第三區塊3B 418係不良的。第一區塊1A 406與第一區塊1B 4Η成對。第二區塊2A 408與第二區塊2B 416成對。第四 區塊4A 412與第四區塊4B 420成對。 132777.doc -10- 200910088
ί 然而,來自陣列A 402之第三區塊3Α 410不與來自陣列Β 404之第三區塊3Β 41 8成對,因為第三區塊3Β 418係不良 的且並非為可用的。與仍使用區塊3八31〇之圖3之實例相 反,在圖4之實例中,儘管第三區塊3Α 41〇係良好的但 將其保持為未成對且未使用。此情形保留陣列4〇2、在 讀取相關聯之區塊之各頁時因為速度而進行"往復轉換"的 忐力,因為以此方式配置之成對區塊係使用相同實體位址 且可藉由啟動共用列解碼器之相同列來存取。然而,並不 利用第三區塊3Α 41〇(儘管其具有生存力)且實際上將其處 :為不良區塊。此情形減小一陣列之可用區塊的數目,且 右良好區塊之有效數目係在所規定之最小值以下則此可 降低生產良率並增加生產成本。 【發明内容】 本文中提供此等圖式及相關聯之描述以說明實施例且 其並不意欲為限制性的。 :管在本文中描述特定實施例,但對於一般熟習此項技 广’本發明之其他實施例(包括並未提供本文中所 之所有益處及特徵的實施例)將係顯而易見的。 區it:月之一實施例提供兩個或兩個以上之記憶體陣列之 :、目關聯映射’使得來自該兩個或兩 陣列之良好區塊的資料(諸如,資料百、 己隐體 替m曾 针如’貝枓頁)可因為速度而以交 提供U入或讀取或可平行地寫入或讀取以用於將資料 干預以存取散布舉例而言,此情形消除控制器 、"歹〗中之相關聯之資料且可藉由提供 132777.doc 200910088 (在被組態的情況下)交替讀取來自兩個或兩個以上之陣列 的資料的能力而增加資料通量。舉例而言,當將來自一個 陣列之資料載入至快取記憶體時,可讀取來自另一陣列之 已載入至該快取5己憶體的貢料。在一實例中,所映射之區 塊對應於快閃裝置之最小可抹實體。在另一實例令,所映 射之區塊對應於相對大數目之記憶體單元。另外,陣列之 相對少數之良好區塊變得未使用。 【實施方式】 C、 圖5說明兩個陣列之共同映射之區塊的實例。可將共同 映射之原理及優勢應用於非常廣泛範圍之數目的陣列。舉 例而言,圖6說明四個陣列之共同映射之區塊的實例。可 在製造期間或稍後在現場將區塊之狀態判定為良好或不 良。可使用廣泛各種技術來判定區塊是良好的還是不良 的。將容易由—般熟習此項技術者來判定一種適用技術。 此外,若(例如)適用記憶體單元係在不可由錯誤校正碼 t'i (ECC)校正之—或多個錯誤内或適用記憶體單元接近磨損 限度等等’則可能需要將區塊標記為不良(即使其係良好 的)。 理想上’陣列之良好區塊被—同邏輯定址以使得存取電 子處理部件(諸如’控制器、處理器、CPU或其他裝置)可 自该等陣列迅速平行地讀取資料而無須作出位址跳躍或無 j自陣歹j獨立地讀取資料。在__實施例中,良好區塊經邏 j重新配置以形成記憶體之連續可定址的良好區塊。在一 實施例中,執行映射以使得良好區塊被映射至相對低之位 132777.doc 200910088 址,且不良區塊或未使用之備用區塊(若存在)被映射至相 對高之位址。未使用之區塊(不良區塊或備用區塊)之映射 並非為關鍵的《將在下文關於圖12A及圖12B來描述實 例。在一實例中,並未在陣列之間共用用於記憶體裝置之 列解碼器。此情形允許獨立於陣列來進行記憶體區塊之列 止 了谷易在生產测试時供應列解碼器或位址轉譯器之 此程式化以跳過一陣列中之不良區塊並保持良好區塊之相 連映射。另外,亦可供應對在現場發生故障之區塊的修 復。舉例而言,可使用一組熔斷器來儲存修復解決方案。 可程式化熔斷器以識別對應於已變為不良之原始區塊的邏 輯位址範圍。當遇到該邏輯位址範圍時,用良好區塊(先 則為几餘的)來代替該不良區塊。該等熔斷器可為基於快 閃之熔斷器,其允許針對基於現場之修復而重新程式化修 復解決方案。 參看圖5 ’使陣列A 502與陣列b 504之區塊共同地相關 聯。陣列A 502與陣列B 504可在同一晶片上或在不同晶片 上。陣列A 502與陣列B 504之區塊具有邏輯位址5〇6、5〇8 且具有内部位址5 1 〇、5 12。邏輯位址506、508係由存取記 憶體之裝置(諸如,控制器、處理器、cpu及其類似物)來 使用。内部位址510、5 12與陣列内之原始實體位址有關。 出於論述之目的’將通常將内部位址5】〇、5丨2用作區塊 之參考來描述圖5。在該實例中,針對陣列a 502,展示具 有内部位址1A之區塊5 14、具有内部位址2 A之區塊51 6、 具有内部位址3 A之區塊5 18、具有内部位址4A之區塊 132777.doc •13- 200910088 520、具有内部位址5A之區塊522、具有内部位址6A之區 塊524、具有内部位址7A之區塊526及具有内部位址8A之 區塊 528。區塊 1A 514、2A 516、3A 518、4A 520、5A 522、7A 526及8A 528係良好的,且區塊6A 524係不良 的。針對陣列B 504,展示具有内部位址1B之區塊530、具 有内部位址2B之區塊532、具有内部位址3B之區塊534、 具有内部位址4B之區塊536、具有内部位址5B之區塊 538、具有内部位址6B之區塊540、具有内部位址7B之區 塊542及具有内部位址8B之544之區塊,區塊1B 530、2B 532、4B 53 6、5B 53 8、7B 542及8B 544係良好的,且區塊 3B 534及6B 540係不良的。 區塊1A 514與區塊1B 530成對,且兩者被映射於區塊之 開始邏輯位址處,該開始邏輯位址通常為區塊之第一頁的 〇。區塊2A 516與區塊2B 532成對,且兩者被映射於下一 區塊位址(亦即,第一頁之第二邏輯區塊位址)處。此係通 常為自0之固定偏移且通常取決於區塊之頁之數目而變 化。 不良區塊3B 534並未有意成對且被映射至未使用之位址 (諸如,映射至接近陣列之位址範圍之末尾的位址)。在一 實施例中’當遇到不良區塊時,映射過程首先以最後可用 區塊位址(最高位址)開始而重新映射不良區塊,且逐漸地 將不良區塊映射至更低位址。此允許將良好區塊映射於位 於陣列之區塊之開始(開始區塊位址)處的第一相連位址空 間中’且將不良區塊映射於位於位址範圍之末尾處的第二 132777.doc -14- 200910088 相連位址空間中。良好區塊至相對大之相連位址空間的映 射為使用者提供相對大之可用記憶體區域。然而,將容易 由一般熟習此項技術者來判定用於分離良好區塊之邏輯位 址與不良區塊的其他技術。 區塊3A 518與區塊4B 536成對’且兩者被映射至第三邏 輯£塊位址。措由重新映射及使用每一列之獨立列解碼 器’區塊3A 518與區塊4B 536可皆被映射至同一邏輯位址 508並被同時存取(即使在陣列502、504内之内部,區塊 518、536係位於如由陣列502、504内之列計數所判定的全 異内部位址處)。區塊4A 520與區塊5B 538成對,且被映射 至第四邏輯區塊位址。區塊5A 522與區塊7B 542成對,且 被映射至第五邏輯區塊位址。區塊6A 524係不良的、未成 對的,且被映射向陣列A 502之位址之末尾。區塊6b 54〇 係不良的、未成對的,且被映射向陣列B 504之位址之末 尾。區塊7A 526與區塊8B 544成對且被映射至第六邏輯區 塊位址。 藉由上文所描述之映射,每一對良好區塊具有匹配之邏 輯位址506、508且來自兩個陣列502、5〇4之區塊可用於被 同時存取以藉由(例如)至連續位址之資料寫入或自連續位 址之資料讀取來快速存取資料。在一實施例中,來自陣列 A 502之資料頁與來自陣列B 5〇4之資料頁交錯以允許控制 器在寫入或讀取資料頁時在陣列502、504之間來回地”往 復轉換"。 圖6說明四個陣列602、604、606、608之共同映射之區 132777.doc 15· 200910088 塊的實例。展示每一陣列6〇2、6〇4、606、6〇8之前四個良 好區塊的共同映射。應理解,陣列通常具有許多區塊(例 如’數千個)。為清晰起見’將在以下論述中經由區塊之 内部位址(例如,實體列位址)來參考該等區塊,該等内部 位址被映射至邏輯位址,該等邏輯位址係由主機(諸如, 控制器、處理器及其類似物)來使用。即使當匹配之區塊 位於全異實體位址(就列而言為全異的)處時,仍可同時寫 入至該等匹配之區塊或自該等匹配之區塊讀取而無獨立寫 入或讀取’此情形改良記憶體效能。
陣列A 602之所說明之部分具有四個區塊1A 61〇、2A 612、3A 614、4A 016,其皆係良好的。陣列B 004具有良 好區塊 1Β 620、2Β 622、3Β 624及 5Β 628。區塊 4Β 626並 非為良好的。陣列C 606具有良好區塊1C 630、3C 634、 4C 636及5C 638。區塊2C 632並非為良好的。陣列d具有 良好區塊 1D 640、2D 642、3D 644及 5D 648。區塊 4D 646 並非為良好的。 在所說明之實例中,區塊如下匹配。區塊1A 610、區塊 1B 620、區塊1C 630及區塊1D 640係匹配的。區塊2A 612、區塊2B 622、區塊3C 634及區塊2D 642係匹配的。 區塊3A 614、區塊3B 624、區塊4C 636及區塊3D 644係匹 配的。區塊4A 616、區塊5B 628、區塊5C 638及區塊5D 648係匹配的。 區塊4B 626、區塊2C 63 2及區塊4D 646係不良區塊且映 射至位於用於良好區塊之相連位址空間之外的位址空間。 132777.doc • 16- 200910088 w吕,可將該等不良區塊映射至位址空間之末尾。 上文所描述之區塊的匹配或”成對"保留用於存取記憶體 之位址的連續性’此情形允許藉由在陣列之間交替來快速 地^取兄憶體之區塊及/或允許自陣列平行地讀取資料。 '然而:並非必需以連續内部位址次序來映射區塊以便保持 連續邏輯位址之益處。在—實施例中,順序地^址資料 •(如由控制器、處理器或咖所見),但記憶體晶片内之實 ϋ區塊的實際排序可變化且通常對於控制器或處理器而言
將係明顯的。在—營Α«丨rU 抑 在實^例中,使用熔斷器(諸如,快閃熔 斷盗)來實施映射以儲存映射資料。可最初在生產測試期 間判定映射並在現場更新映射。在一實施例中,溶斷器位 於列解碼器之外’但影響解碼解決方案。舉例而言,溶斷 器可為位址轉譯器電路之部分,可為置換(Over·)正常列 解碼之置換電路的部分,或其類似物。在另一實施例中, 溶斷器提供列解碼器自身之可程式化性。 Ο 圖7說明控制器7〇2、位址轉課器704及記憶體裝置之 實例:控制11702表示控制器或使用記憶體裝置观之其他 處理器。其他控制器或處理器亦可經由(例如)直接記憶體 ' 存取(DMA) 7〇8來使用記憶體裝置706。位址轉譯器704提 供如適用於記憶體裳置鳩之區塊之位址的映射及/或重新 映射。 在只把例中,位址轉譯器704係在記憶體裝置706之 外士圖7中所不。此情形允許使用現有記憶體裝置7〇6, 且允許每&址轉譯器7〇4使用相對許多個記憶體裝置 132777.doc 200910088 706 ° 在另實知例中,位址轉譯器704係記憶體裝置706之部 、、拿 Vrn ^ 〜/忍’單個記憶體裝置706可儲存多個記憶體陣 ^位址轉厚器7〇4可或者與控制器術整合,與腿A控制 °°整。《為獨立晶片。在-實施例中,位址轉譯器將如 。使用《己隱體裝置7〇6之裝置(諸如,控制器術)所見的邏 輯{止轉澤或映射至用以自記憶體裝置706擷取資料的位 址中可將映射資訊儲存於查找表(LUT)中。在所說明之 實知例令將5己憶體之區塊定址(位址之區塊部分)向位址 之最高有效位元(msb)部分,而將頁(若存在)及位元組定址 向4止之彔低有效位元(lsb)部分。在意欲以"往復轉換, (P g ponging)之方式來讀取陣列之頁的情況下則其位址 轉譯可因此變化。 圖8係具有位址轉譯器8〇2之記憶體晶片8〇〇的示意圖。 在所說明之實例中,記憶體晶片_具有記憶體陣列A _ 及記憶體陣列B 8G6。為清晰起見,i未展示用於記憶體 陣列B 8G6之雜項支援電路’且在—實施例中,該等雜項 支援電路與所描述之用於記憶體陣列A 8〇4的雜項支援電 路相同。當實施於同一晶片上時,兩個陣列8〇4、8〇6可共 用快取暫存器808。 位址轉譯器802接收邏輯位址作為輸入且提供經轉譯之 位址作為輸出。邏輯位址可源自(例如)耦接至輸入/輸出電 路809的控制器、處理器、CPU或其類似物。在一實施例 中’可經由啟用信號810來選擇性地啟用或停用位址轉譯 132777.doc • 18- 200910088 器之轉譯功能。位址轉譯器802亦可具有用於程式化之模 式及用於正常使用之模式,其可藉由程式化信號812來加 以選擇。舉例而言,可在生產測試期間程式化位址轉譯器 802以將良好區塊映射至相連位址空間。 將位址轉#器802之輸出提供至用於陣列a 8〇4之位址鎖 存器814及用於陣列B 806之另一位址鎖存器(未圖示卜陣 列A 804與陣列B 806之間的映射可不同’因此被鎖存之位 址亦可不同。應注意,位址轉譯器802通常並非必需轉移 位址匯流排之每一位元,但應至少轉譯用於選擇區塊之位 址位元。 提供位址鎖存器A 814之輸出作為對列解碼器816之輸 入在實施例中,用於記憶體陣列A 804之列解碼器8 16 獨立於用於記憶體陣列8 806之列解碼器。此情形允許藉 由共同邏輯位址來同時存取來自記憶體陣列A 8〇4及記憶 體陣列B 806的全異實體資料頁(就實體列位址而言為不同 C, 施例中’ #可映射列解碼器816以校正列及/或 行中之不良記憶體位置。舉例而言,若區塊在現場變為不 良’則可程式化一組溶斷器以债測該不良區塊之位址範圍 並代用另外几餘區塊以修復陣列。列解碼器816選擇適當 用於讀取資料。舉—言,在反及㈣記憶體之情 形下,列解碼器816可啟動特定列(亦被稱為字線),且可" 接通"其他相關列以使得可寫入或讀取選定之列之特定單 元。 亦提供位址鎖存器814之輸出作為對行解碼器818之輸 132777.doc •19· 200910088 實施例中,列解碼器8丨6之位址由位址轉譯器&〇2 來轉譯’但行解碼器818之位址並未轉譯。感應/驅動器電 路820與行解碼器8} 8及陣列A 8〇4通信以將資料寫入至陣 列A 8〇4或自陣列A 804讀取資料。資料緩衝器/鎖存器822 儲存來自輸人/輸出電路8()9之資料以用於儲存於記憶體陣 列A 8〇4中,且資料暫存器824、826分別儲存自記憶體陣 列A 804、圮憶體陣列B 8〇6擷取之資料。快取暫存器肋8 提供來自資料暫存器824、似之資料以用於快速存取該資 料。若記憶體陣列A 804與記憶體陣列B 8〇6不在同一晶片 上,則將通常不共用快取暫存器8 〇 8。 圖9說明用於實施位址轉譯之查找表(LUT) 的實例。 在一實施例中,將查找表9〇2實施為可程式化非揮發性記 憶體(諸如,EEPROM或快閃記憶體(反或或反及))。在一 實施例中,藉由在生產測試期間程式化查找表9〇2並在操 作期間使用該經程式化之查找表來實施位址轉譯器9〇4。 在一實施例中,亦可在現場重新程式化查找表9〇2(諸如, 經由韌體或狀態機控制)^查找表9〇2可或者由在使用前載 入有適當資料之揮發性記憶體裝置(諸如,靜態RAM)來實 施,此情形可在使用期間提供更快之速度。 在所說明之實施例中,位址轉譯器9〇4接收邏輯位址9〇6 作為輸入’且提供兩個或兩個以上之位址9〇8、909作為輸 出。邏輯位址906並不需要為全位址(例如,可為用於定址 區塊之位址之部分)。一個位址9〇8可用於定址—個陣列之 資料’且另一位址909可用於定址該對陣列之另一陣列的 132777.doc 20- 200910088 資料。在所說明之實施例中,轉譯兩個陣列之位址以用於 有效存取用於CPU之資料。舉例而言,若資料在相連位址 處可用,則CPU可更快速地讀取該資料。 然而,一陣列之位址可保持未經轉譯,且其他陣列之良 好區塊的位址被轉譯以與該未經轉譯之陣列的未經轉譯之 位址匹配。舉例而言,在程式化過程期間,位址轉譯器 904可經組態以將邏輯位址9〇6傳遞至一或多個經轉譯之位 址908、909而無修改。經轉譯之位址908、909可彼此不同 以使得可有效擷取來自全異位址之區塊的資料。當位址轉 譯器904被啟用以進行轉譯操作時,可將邏輯位址9〇6應用 於查找表902作為關於記憶體位置之位址,且可自查找表 902之所儲存之資料摘取經轉譯之位址908。 在所說明之實施例中,查找表9〇2具有兩個陣列之映 射。在另一實施例中,查找表902可儲存兩個以上之陣列 的映射。另外,查找表902可或者經組態以將每一陣列之 C, 卜映射儲存於獨立表中。在-實施例中,處理器910(諸 如’微處理器、微控制器、可授權核心、狀態機或其類似 物)經組態以產生儲存於查找表902中之映射。處理器91〇 可為記憶體裝置之部分,可為系'统中之獨立晶片,可為使 帛記憶體之裝置的處理器,或其類似物。在一實施例中, 由測試裝備實施處理器91G。可以各種方式實施查找表 902。舉例而言,在—實施例中,僅將記憶體區塊層次處 之位址資料的區塊位址部分(諸如,位址内之位元範圍)儲 存於查找表902中,且組合來自CPU之位址之剩餘部分以 132777.doc -21 - 200910088 形成記憶體陣列之完整位址。因此,可使用—參數(諸 如,區塊位址之部分的替換資料)來重新映射被重新映射 的位址之此部分。舉例而言,在另一實施例中,查找表 902儲存用於產生新位址之偏移而非位址自身,且用於重 新映射之參數可為該偏移。 圖10係大體說明共同區塊映射之流程圖^熟習此項技術 者將瞭解,可以各種方式來修改所說明之過程。舉例而 言,在另一實施例令,所說明之過程的各個部分可組合, 可以替代序列來重新配置,可移除’及其類似者。可使用 所說明之過程來匹配兩個或兩個以上之記憶體陣列的區 塊。 该過程始於在相連位址空間(邏輯位址)中映射丨一陣 列(例如’陣列"A")之良好區塊的至少一部分。在一實施 例中’相連部分包㈣以提供足夠記憶體空間來滿足陣列 之規定記憶體容量的至少足夠之良好區塊。因&,該等至 少足夠之良好區塊可包含少於所有良好區塊之良好區塊。 在實施例_,相連區塊之部分包括所有良好區塊(如圖 12A中所不)。在另_實施例中,相連區塊之部分僅包括良 好區塊之一部分,兮卹八β、,± °卩刀足以提供足夠記憶體空間來滿足 陣列之規定記愫體交旦, 〜谷里(如圖12B中所示)。將在稍後關於 圖U來更詳細地描述用於執行映射難之過程的-實施 例。 再人 > 看圖1 〇,該過程前進至將一或多個其他陣列(例 如陣列B )之良好區塊的至少若干部分映射1004至同一 132777.doc •22- 200910088 相連位址工間。良好區塊至同一相連位址空間的映射確保 因此所映射之陣列區塊共用相同邏輯位址以進行有效存 取。舉例而言,不同陣列可使用獨立列解碼器以允許同時 存取位於全異實體位址處之區塊。 "亥過程刖進至儲存丨006映射以用於位址轉譯至各個記憶 ,車列之特定區塊。在一實施例中,如較早關於圖9所描 述’該等映射儲存於查找表中。在另一實施例中,一陣列 之特定映射係藉由程式化用於該陣列之列解碼器來儲 的。 圖11係大體說明陣列内之區塊映射的流程圖。所說明之 過程將一陣列之良好區塊映射至相連位址空間中。可在需 要時針對其他陣列而重複該過程。熟習此項技術者將瞭 解,可以各種方式來修改所說明之過程。舉例而言,在另 實施例中’所說明之過程的各個部分可組合,可以替代 序列來重新配置’可移除,及其類似者。 該過程始於初始化1102變數。在流程圖中,11指示實體 或内部區塊號碼(位址),且(例如)可被初始化至〇。變數i 指不邏輯位址且應被初始化至陣列A之第—區塊的開始邏 輯位址。出於論述之目的,變數丨可始於〇。 該過程前進至判定1104區塊η(位址n)是否為良好的。舉 例而言’記憶體裝置通常具有在生產測試期間填入(且可 在使用期間由(例如)控制器來更新)於已知之良好記憶體空 間中的參考表,其指示哪些記憶體區塊係良好的且哪些記 憶體區塊係不良的。若區塊係不良的,則該過程將區塊號 132777.doc •23· 200910088 碼η儲存1106於不良區塊表中。該過程自狀態11〇6前進至 決定區塊1 1 1 〇。 若區塊係良好的’則該過程使邏輯位址i與區塊號碼η相 關聯1108。該過程自狀態11〇8前進至決定區塊111〇。 該過程判定1110是否完成所處理之陣列的區塊。若尚未 完成,則該過程進行至狀態1112,其中該過程使區塊號碼 • 11遞增以預備處理下一區塊。該過程接著自狀態1U2返回 至決定區塊1104。 若該過程完成,則該過程自決定區塊111〇進行至狀態 1114,其中s玄過程使在狀態丨丨〇6中所收集之不良區塊與位 於查找表末尾之位址相關聯或將在狀態11〇6中所收集之不 良區塊映射至列解碼器之位址範圍的末尾。可或者在該過 程之不同點(諸如在狀態11〇6中)將不良區塊映射至查找表 末尾。可針對其他相關聯之陣列而重複該過程。關於圖Η 而描述之過程的一優勢係可將個別陣列之區塊處理為可定 C) 址於相連區塊中,以使得不需要知道其他陣列之良好區塊 的位置。 圖12Α說明記憶體陣列之記憶體映射的實例,其中所有 • 良好區塊(不管是已使用之區塊1202還是備用區塊12〇4)被 映射至邏輯記憶體位址之相連空間1206。圖12Β說明記憶 體陣列之記憶體映射的另一實例,其中待使用之良好區塊 1208被映射至邏輯位址之相連空間,且為備用區塊ΐ2ι〇之 良好區塊被映射至不與所使用之良好區塊之位址空間相連 的位址空間。 132777.doc •24· 200910088 本發明之實施例有利地允許控制器或其類似物使用同一 邏輯位址來定址來自全異陣列之匹配之區塊的資料。舉例 而言’映射記憶體陣列之一或多個良好區塊的位址,以使 得控制器在存取來自具有不同實體位址之全異陣列的匹配 之區塊之資料時不需要在兩個或兩個以上之不同邏輯位址 之間來回切換。獨立列解碼器允許將具有全異實體位址之 匹配之區塊的資料頁同時儲存至多個陣列或自多個陣列同 時擷取具有全異實體位址之匹配之區塊的資料頁。此情形 可允許在(例如)多通道資料匯流排、往復轉換之陣列及其 類似物中相對有效地存取資料。 一實施例係一種用於組織針對散布於兩個或兩個以上之 全異記憶體陣列之間的資料之匹配之區塊的存取的設備, 其中該設備包括:一位址轉譯器,其經組態以接收源自一 處理器之邏輯位址的至少一區塊部分,其中該區塊部分對 應於一用於選擇記憶體之區塊之位址範圍,其中該位址轉 譯器經組態以修改所接收之邏輯位址的至少該所接收之區 塊部分以產生第一經修改之位址或第二經修改之位址中之 至少一者’其中該等第一經修改之位址係用於選擇該兩個 或兩個以上之記憶體陣列中之第一記憶體陣列的記憶體區 塊’其中該等第二經修改之位址係用於選擇該兩個或兩個 以上之記憶體陣列中之第二記憶體陣列的記憶體區塊,其 中該等第一經修改之位址與該等第二經修改之位址經組態 以使用用於邏輯位址之一區塊部分的同一邏輯位址來分別 選擇第一記憶體陣列與第二記憶體陣列之匹配之區塊;一 132777.doc 25- 200910088 第列解馬盗’其與位址轉譯器通信以接收第一經修改之 位址,該第一列解碼器麵接至第-記憶體陣列;及一第二 賴碼益纟與位址轉譯器通信以接收第二經修改之位 。該第一列解碼_接至第二記憶體陣列’該第二列解 碼器獨立於該第一列解碼器。
實施例係一種匹配兩個或兩個以上之記憶體陣列之記 憶體空間的區塊以用於使用同一邏輯位址來存取與該等匹 配區塊相關聯之資料的方法,其中該方法包括:在一相連 邏輯位址空間中使該兩個或兩個以上之記憶體陣列中之第 陣列的可用良好區塊與該兩個或兩個以上之記憶體陣列 t之第二㈣的可用良好區塊相關聯,以使得該兩個或兩 個以亡之s憶體陣列之記憶體的匹配t良好區塊可藉由用 於邏輯位址之一區塊部分的同一邏輯位址來邏輯定址,其 令與第二陣列之良好區塊相關聯的第一陣列之可用良好區 塊之至少一部分具有不同實體位址,且其中第一陣列與第 二陣列之相關聯之良好區塊即使具有全異實體位址而仍可 同時存取;及儲存該等關聯以進行邏輯位址轉譯。 一實施例係一種修改位址以用於存取兩個或兩個以上之 全異記憶體陣列的方法’其中該方法包括:自一處理器接 收邏輯位址以用於存取兩個或兩個以上之全異記憶體陣列 的δ己憶體位置,其中該等邏輯位址之區塊部分與記憶體陣 列内之特定區塊的定址有關;自邏輯位址及對應於第—記 憶體陣列之選定之記憶體區塊的所儲存之參數產生第—記 憶體陣列之第一經修改之位址以重新配置對該等選定之記 132777.doc -26- 200910088 憶體區塊之存取,以使得針對第一記憶體陣列規定之至少 最小數目的良好記憶體區塊之至少一第一良好記憶體區塊 群組可在一相連邏輯記憶體位址空間中存取且使得不良區 塊未被定址於該相連邏輯記憶體位址空間内;自邏輯位址 及對應於第二記憶體陣列之選定之記憶體區塊的所儲存之 參數產生第一 §己憶體陣列之第二經修改之位址以重新配置 對該等選定之記憶體區塊之存取,以使得針對第二記憶體 陣列而規定之至少最小數目的良好記憶體區塊之至少一第 一良好S己憶體區塊群組可在相連邏輯記憶體位址空間中存 取且使得不良區塊未被定址於該相連邏輯記憶體位址空間 内;及使用該等第一經修改之位址及該等第二經修改之位 址來存取第一記憶體陣列及第二記憶體陣列之匹配之區 塊,以使得該等匹配之區塊可由處理器使用用於邏輯位址 之同一區塊部分來定址,且使得該等匹配之區塊即使在該 等匹配之區塊具有全異實體位址時仍可同時存取。 已在上文描述各種實施例。儘管係參看此等特定實施例 來描述,但1¾等描述意欲為說明的而非意欲為限制性的。 在不背離如隨附申請專利範圍中所界定之本發明之真實精 神及範4的情況下,熟習此項技術者將瞭解各種修改及應 用。 【圖式簡單說明】 圖1說明記憶體架構’其在陣列内具有多個頁及區塊。 圖2說明自多個記憶體讀取以用於快速存取或用於平行 存取。 132777.doc -27· 200910088 圖則使來自不同記憶體陣列之區塊成 之技術,其導致對資料之存取相對緩慢。 ,^ 圖4說明使來自不同記憶體陣列之區塊成對的先前技術 之技術,其導致低效地利用記憶體空間。 圖5說明兩個陣列之共同映射之區塊的實例。 圖6說明四個陣列之共同映射之區塊的實例。
圖7說明控制器、位址轉譯器及記憶體裝置的實例。 圖8係具有位址轉譯器之記憶體晶片的示意圖。 圖9說明用於實施位址轉譯之查找表(LlJT)的實例。 圖10係大體說明共同區塊映射之流程圖。 圊11係大體說明陣列内之區塊映射的流程圖。 圖12A及圖12B說明記憶體映射之實例。
【主要元件符號說明】 202 陣列 204 陣列 206 快取暫存器 208 快取暫存器 210 暫存器 212 暫存器 302 記憶體陣列 304 記憶體陣列 306 區塊1A 308 區塊2A 310 區塊3A
132777.doc -28-
200910088 312 區塊4A 314 區塊IB 316 區塊2B 318 區塊3B 320 區塊4B 322 區塊XB 402 記憶體陣列 404 記憶體陣列 ( 406 區塊1A 408 區塊2A 410 區塊3 A 412 區塊4A 414 區塊1B 416 區塊2B 418 區塊3B . 420 區塊4B u 502 陣列A 504 陣列B 506 邏輯位址 508 邏輯位址 510 内部位址 512 内部位址 514 區塊1A 516 區塊2A 132777.doc 200910088
518 區塊3 A 520 區塊4 A 522 區塊5A 524 區塊6A 526 區塊7A 528 區塊8A 530 區塊1B 532 區塊2B 534 區塊3B 536 區塊4B 538 區塊5B 540 區塊6B 542 區塊7B 544 區塊8B 602 陣列 604 陣列 606 陣列 608 陣列 610 區塊1A 612 區塊2A 614 區塊3 A 616 區塊4A 620 區塊1B 622 區塊2B 132777.doc -30 200910088 624 區塊3B 626 區塊4B 628 區塊5B 630 區塊1C 632 區塊2C 634 區塊3C 636 區塊4C 638 區塊5C 640 區塊1D 642 區塊2D 644 區塊3 D 646 區塊4D 648 區塊5D 702 控制器 704 位址轉譯器 706 記憶體裝置 708 直接記憶體存取(DMA) 800 記憶體晶片 802 位址轉譯器 804 記憶體陣列A 806 記憶體陣列B 808 快取暫存器 809 輸入/輸出電路 810 啟用信號 132777.doc -31 - 200910088 812 814 816 818 820 822 824 826 902 904 906 908 909 910 1202 1204 1206 1208 1210 程式化信號 位址鎖存器 列解碼器 行解碼器 感應/驅動器電路 資料缓衝器/鎖存器 資料暫存器 資料暫存器 查找表(LUT) 位址轉譯器 邏輯位址 位址 位址 處理器 已使用之區塊 備用區塊 相連空間 良好區塊 備用區塊 132777.doc -32-

Claims (1)

  1. 200910088 十、申請專利範圍: 1. 種用於組織針對散布於兩個或兩個以上之全異記憶體 陣列之間的資料之匹配之區塊的存取之設備,該設備包 含·· 一位址轉譯器,其經組態以接收源自一處理器之邏輯 位址的至少一區塊部分,其中該區塊部分對應於一用於 選擇#己憶體之區塊之位址範圍,其中該位址轉譯器經組 態以修改該等所接收之邏輯位址的至少該所接收之區塊 部分以產生第-經修改之位址或第二經修改之位址中之 至少-者’其中該等第一經修改之位址係用於選擇該兩 個或兩個以上之記憶體陣列中之一第一記憶體陣列的記 憶體區塊,其中該等第二經修改之位址係用於選擇該兩 個或兩個以上之記憶體陣列之一第二記憶體陣列的記憶 體區塊,其中該等第_經修改之位址與該等第二經修改 之位址經組態以使㈣於該邏輯位址之—區塊部分的同 -邏輯位址來分別選擇該第—記憶體陣列與該第二記憶 體陣列之匹配之區塊; 第一經修改之位址 體陣列;及 一第二列解碼器 第二經修改之位址 -第-列解碼n,其與該位址轉譯器通信以接收該等 該第一列解碼器耦接至該第一記憶 其與該位址轉譯器通信以接收該等 該第二列解碼器耦接至該第二記情 體陣列’該第二列解碼器獨立於該第—列解碼琴。 2·如請求们之設備’其中該位址轉譯器包含至少—查找 132777.doc 200910088 表。 3·如請求項1之設備,其中該位址轉譯器、該第一列解碼 器、該第二列解碼器、該第一記憶體陣列及該第二記愴 體陣列係實施於一積體電路中。 4. 如請求項1之設備,其中該位址轉譯器經進一步組態以 將該等所接收之邏輯位址轉譯成該兩個或兩個以上之記 憶體陣列中之每一者的經修改之位址。 5. 如請求項1之設備,其進一步包含針對該兩個或兩個以 上之記憶體陣列的反及快閃記憶體之兩個或兩個以上之 記憶體陣列。 6. 如請求項丨之設備,其中該位址轉譯器係可程式化的。 7. 如請求項丨之設備,其中該位址轉譯器之至少一部分係 實施為一用於該第一記憶體陣列或該第二記憶體陣列之 可程式化列解碼器。 8. 如請求項1之設備,其中該設備係實施於一位於一記憶 體裝置之外之控制器中。 9. 如請求項1之設備,其中該設備係實施於一記憶體裝置 内。 10. 一種匹配兩個或兩個以上之記憶體陣列之記憶體空間的 區塊以用於使用同一邏輯位址來存取與該等匹配區塊相 關聯之資料之方法,該方法包含: 在一相連邏輯位址空間中使該兩個或兩個以上之記憶 體陣列中之-第-陣列的可用良好區塊與該兩個或兩個 以上之記憶體陣列中之一第二陣列的可用良好區塊相關 132777.doc -2 - 200910088 聯’以使得該兩個或兩個以上之記憶體陣列之記憶體的 匹配之良好區塊可藉由用於該邏輯位址之—區塊部分的 同一邏輯位址來邏輯定址,其中與該第二陣列之該等良 好區塊相關聯的該第一陣列之該等可用良好區塊之至少 一部分具有不同實體位址,且其中該第一陣列與該第二 陣列之該等相關聯之良好區塊即使具有全異實體位址而 仍可同時存取;及
    儲存該等關聯以進行邏輯位址轉譯。 11·如凊求項10之方法,其中儲存進一步包含程式化一或多 個查找表以儲存來自該兩個或兩個以上之記憶體陣列之 良好區塊的關聯及邏輯位址。 1 2’如π求項]i之方法,其進一步包含儲存代替邏輯位址之 一區塊部分之參數以儲存該等關聯。 13.如吻求項丨丨之方法’其進一步包含儲存與邏輯位址組合 之偏移以儲存該等關聯。 如靖求項1 0之方法,其進一步包含經由一或多個列解碼 器之程式化來儲存該等關聯。 15.如請求項10之方法,其中相關聯包含: 判定一記憶體陣列之區塊是良好的還是不良的; 在—相連位址空間中針對該記憶體陣列之該等良好區 塊而自該5己憶體陣列之__開始位址開始來順序地使位址 相關聯;及 使該C憶體陣列之該等不良區塊與位於該記憶體陣列 之也址乾圍之一末尾的位址相關聯。 132777.doc 200910088 K如請求項Η)之方法,其進—步包含在生產測試期間執行 該方法。 17. 如請求項} 〇之方法,其進一 馆m丄 ^ 夾岜含在一現場應用中執行 該方法。 18. —種修改位址以用於存取兩個或兩個以上之全異記憶體 陣列之方法,該方法包含: 自一處理器接收邏輯位址以用於存取兩個或兩個以上 之全異記憶體陣列的記憶體位置,其中該等邏輯位址之 區塊部分與記憶體陣列内之特定區塊的定址有關; 自該等邏輯位址及對應於一第一記憶體陣列之選定之 〇己憶體區塊的所健存之參數產生該第一記憶體陣列之第 一經修改之位址以重新配置對該等選定之記憶體區塊之 存取,以使得針對該第一記憶體陣列而規定之至少最小 數目的良好記憶體區塊之至少一第一良好記憶體區塊群 組可在一相連邏輯記憶體位址空間中存取且使得不良區 塊未被定址於該相連邏輯記憶體位址空間内; 自該等邏輯位址及對應於一第二記憶體陣列之選定之 記憶體區塊的所儲存之參數產生該第二記憶體陣列之第 二經修改之位址以重新配置對該等選定之記憶體區塊之 存取,以使得針對該第二記憶體陣列而規定之至少最小 數目的良好記憶體區塊之至少一第二良好記憶體區塊群 組可在該相連邏輯記憶體位址空間中存取且使得不良區 塊未被定址於該相連邏輯記憶體位址空間内;及 使用該等第一經修改之位址及該等第二經修改之位址 132777.doc Λ 200910088 來存取該第一記憶體陣列及該第二記憶體陣列之匹配之 區塊,以使得該等匹配之區塊可由該處理器使用該邏輯 位址之同一區塊部分來定址,且使得該等匹配之區塊即 使在該等匹配之區塊具有全異實體位址時仍可同時存 取。 m 19. 如請求項18之方法,其中該等經修改之位址經修改 於將資料寫入至5亥兩個或兩個以上之記憶體陣列。 f: 20. 如請求項18之方法,其中該等經修改之位址經修改以用 於將資料讀取至該兩個或兩個以上之記憶體陣列。 21. 如請求項18之方法,其中該等參數包含一用於邏輯位址 之區塊部分的替代物。 22. 如請求項18之方法,其中該等參數包含用於產生該等第 一經修改之位址及該等第二經修改之位址之偏移/ 23. 如請求項丨8之方法,其中至少一 第良好δ己憶體區塊群 、,且包含至少該最小數目之良好記憶體區塊 好記憶體區塊,且其中至少_第_ 以义 包含至, $ -良好錢體區塊群組 …少該最小數目之良好記憶體區塊 記憶體區塊。 叮有。亥專良好 132777.doc
TW097124899A 2007-07-03 2008-07-02 Block addressing for parallel memory arrays TWI376601B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/773,321 US20090013148A1 (en) 2007-07-03 2007-07-03 Block addressing for parallel memory arrays

Publications (2)

Publication Number Publication Date
TW200910088A true TW200910088A (en) 2009-03-01
TWI376601B TWI376601B (en) 2012-11-11

Family

ID=40222341

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097124899A TWI376601B (en) 2007-07-03 2008-07-02 Block addressing for parallel memory arrays

Country Status (5)

Country Link
US (2) US20090013148A1 (zh)
KR (1) KR101573089B1 (zh)
CN (1) CN101772810B (zh)
TW (1) TWI376601B (zh)
WO (1) WO2009006442A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI406130B (zh) * 2009-03-10 2013-08-21 Phison Electronics Corp 資料處理系統、控制器及其搜尋特定記憶體區的方法
TWI700586B (zh) * 2017-10-30 2020-08-01 日商東芝記憶體股份有限公司 計算機系統及儲存裝置之控制方法

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009244962A (ja) * 2008-03-28 2009-10-22 Toshiba Corp メモリシステム
US8068380B2 (en) * 2008-05-15 2011-11-29 Micron Technology, Inc. Block repair scheme
US8201024B2 (en) * 2010-05-17 2012-06-12 Microsoft Corporation Managing memory faults
KR101111615B1 (ko) * 2010-06-01 2012-02-15 서울통신기술 주식회사 휴대용 단말기의 프로그램 업데이트 장치 및 방법
JP5559616B2 (ja) 2010-06-17 2014-07-23 ラピスセミコンダクタ株式会社 半導体メモリ装置
KR20120003283A (ko) * 2010-07-02 2012-01-10 삼성전자주식회사 데이터 저장 장치 및 그것의 배드 블록 관리 방법
KR101293223B1 (ko) * 2011-04-01 2013-08-05 (주)아토솔루션 비휘발성 메모리 소자, 전자제어 시스템, 및 비휘발성 메모리 소자의 동작방법
KR101293226B1 (ko) * 2011-06-30 2013-08-05 (주)아토솔루션 비휘발성 메모리 소자, 전자제어 시스템, 및 비휘발성 메모리 소자의 동작방법
GB2493340A (en) * 2011-07-28 2013-02-06 St Microelectronics Res & Dev Address mapping of boot transactions between dies in a system in package
KR20130044657A (ko) * 2011-10-24 2013-05-03 삼성전자주식회사 파일 시스템 및 그 제어 방법
US9418700B2 (en) * 2012-06-29 2016-08-16 Intel Corporation Bad block management mechanism
US9032244B2 (en) 2012-11-16 2015-05-12 Microsoft Technology Licensing, Llc Memory segment remapping to address fragmentation
US9318168B2 (en) * 2012-11-27 2016-04-19 Samsung Electronics Co., Ltd. Memory system for continuously mapping addresses of a memory module having defective locations
KR102076067B1 (ko) * 2012-11-27 2020-02-11 삼성전자주식회사 메모리 모듈 및 메모리 시스템
US9136873B2 (en) 2013-03-11 2015-09-15 Intel Corporation Reduced uncorrectable memory errors
CN103902475B (zh) * 2014-04-23 2017-01-25 哈尔滨工业大学 一种基于队列管理机制的固态硬盘并行访问方法及装置
US20150339223A1 (en) * 2014-05-22 2015-11-26 Kabushiki Kaisha Toshiba Memory system and method
JP5748887B2 (ja) * 2014-06-06 2015-07-15 ラピスセミコンダクタ株式会社 半導体メモリ装置
US9910650B2 (en) * 2014-09-25 2018-03-06 Intel Corporation Method and apparatus for approximating detection of overlaps between memory ranges
US9715342B2 (en) * 2015-07-03 2017-07-25 Xitore, Inc. Apparatus, system, and method of logical address translation for non-volatile storage memory
CN105609129A (zh) * 2015-07-10 2016-05-25 上海磁宇信息科技有限公司 一种具有替换行或列的mram芯片及替换、读写方法
KR102415385B1 (ko) 2015-07-22 2022-07-01 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 저장 장치
US9766814B2 (en) * 2015-08-10 2017-09-19 Intel Corporation Method and apparatus for defect management in a non-volatile memory device
JP6542152B2 (ja) * 2016-03-29 2019-07-10 東芝メモリ株式会社 オブジェクトストレージ、コントローラおよびプログラム
US10146604B2 (en) * 2016-08-23 2018-12-04 Oracle International Corporation Bad block detection and predictive analytics in NAND flash storage devices
US10261876B2 (en) 2016-11-08 2019-04-16 Micron Technology, Inc. Memory management
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
US10445199B2 (en) * 2016-12-22 2019-10-15 Western Digital Technologies, Inc. Bad page management in storage devices
KR102395434B1 (ko) * 2017-03-20 2022-05-09 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
US10115441B1 (en) 2017-07-20 2018-10-30 Macronix International Co., Ltd. Row decoder and memory system using the same
TWI630616B (zh) * 2017-08-11 2018-07-21 旺宏電子股份有限公司 列解碼器及應用其之記憶體系統
KR20190052315A (ko) * 2017-11-08 2019-05-16 에스케이하이닉스 주식회사 메모리 장치 및 그것을 포함하는 메모리 시스템
KR102504765B1 (ko) 2017-12-22 2023-03-03 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11086539B2 (en) * 2019-10-21 2021-08-10 Sandisk Technologies Llc Mapping consecutive logical block addresses to consecutive good blocks in memory device
US11436144B2 (en) * 2020-04-10 2022-09-06 Micron Technology, Inc. Cache memory addressing
CN113689902B (zh) 2020-05-19 2023-09-01 长鑫存储技术有限公司 生成存储器地址数据的方法、计算机可读存储介质及设备
US20210406170A1 (en) * 2020-06-24 2021-12-30 MemRay Corporation Flash-Based Coprocessor
US11579772B2 (en) * 2020-11-25 2023-02-14 Micron Technology, Inc. Managing page retirement for non-volatile memory
JP2022143762A (ja) * 2021-03-18 2022-10-03 キオクシア株式会社 メモリシステム、制御方法およびメモリコントローラ

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6047623B2 (ja) * 1982-02-12 1985-10-22 株式会社日立製作所 アドレス変換方式
JP2685770B2 (ja) * 1987-12-28 1997-12-03 株式会社東芝 不揮発性半導体記憶装置
JP3169155B2 (ja) * 1993-12-22 2001-05-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 情報をキャッシュするための回路
JPH08278916A (ja) * 1994-11-30 1996-10-22 Hitachi Ltd マルチチャネルメモリシステム、転送情報同期化方法及び信号転送回路
US5815456A (en) * 1996-06-19 1998-09-29 Cirrus Logic, Inc. Multibank -- multiport memories and systems and methods using the same
JPH10283770A (ja) * 1997-04-07 1998-10-23 Oki Electric Ind Co Ltd 半導体メモリ装置およびその読み出しおよび書き込み方法
US5923605A (en) * 1997-09-29 1999-07-13 Siemens Aktiengesellschaft Space-efficient semiconductor memory having hierarchical column select line architecture
KR100297713B1 (ko) * 1998-09-01 2001-08-07 윤종용 멀티뱅크 반도체 메모리장치
JP3850134B2 (ja) * 1998-03-31 2006-11-29 川崎マイクロエレクトロニクス株式会社 データ検索装置
JP3860436B2 (ja) * 2001-07-09 2006-12-20 富士通株式会社 半導体記憶装置
US7009910B2 (en) * 2001-08-23 2006-03-07 Winbond Electronics Corporation Semiconductor memory having a flexible dual-bank architecture with improved row decoding
US7123512B2 (en) * 2002-07-19 2006-10-17 Micron Technology, Inc. Contiguous block addressing scheme
US6938142B2 (en) * 2002-08-28 2005-08-30 Micron Technology, Inc. Multi-bank memory accesses using posted writes
KR100490084B1 (ko) * 2002-09-12 2005-05-17 삼성전자주식회사 효율적인 리던던시 구제율을 갖는 반도체 메모리 장치
US6906961B2 (en) * 2003-06-24 2005-06-14 Micron Technology, Inc. Erase block data splitting
US6950352B1 (en) * 2003-11-18 2005-09-27 Lsi Logic Corporation Method and apparatus for replacing a defective cell within a memory device having twisted bit lines
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
KR100608592B1 (ko) * 2004-01-27 2006-08-03 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
JP4135680B2 (ja) * 2004-05-31 2008-08-20 ソニー株式会社 半導体記憶装置および信号処理システム
JP4492218B2 (ja) * 2004-06-07 2010-06-30 ソニー株式会社 半導体記憶装置
KR100624960B1 (ko) * 2004-10-05 2006-09-15 에스티마이크로일렉트로닉스 엔.브이. 반도체 메모리 장치 및 이의 패키지 및 이를 이용한메모리 카드
US7420874B2 (en) * 2005-04-06 2008-09-02 Rambus Inc. Integrated circuit memory device, system and method having interleaved row and column control
US20060282610A1 (en) * 2005-06-08 2006-12-14 M-Systems Flash Disk Pioneers Ltd. Flash memory with programmable endurance
KR100739722B1 (ko) * 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
KR100660553B1 (ko) * 2005-10-18 2006-12-22 삼성전자주식회사 데이터 버스트 주파수를 증가시킬 수 있는 원낸드 플래시메모리 장치
CN101484882B (zh) * 2005-12-09 2013-10-02 晟碟以色列有限公司 闪存管理方法
KR100735024B1 (ko) * 2005-12-29 2007-07-03 삼성전자주식회사 반도체 장치의 어드레스 변환기 및 반도체 메모리 장치
JP4171749B2 (ja) * 2006-04-17 2008-10-29 Tdk株式会社 メモリコントローラおよびフラッシュメモリシステム
US7680988B1 (en) * 2006-10-30 2010-03-16 Nvidia Corporation Single interconnect providing read and write access to a memory shared by concurrent threads
US7669092B2 (en) * 2007-02-26 2010-02-23 Micron Technology, Inc. Apparatus, method, and system of NAND defect management

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI406130B (zh) * 2009-03-10 2013-08-21 Phison Electronics Corp 資料處理系統、控制器及其搜尋特定記憶體區的方法
TWI700586B (zh) * 2017-10-30 2020-08-01 日商東芝記憶體股份有限公司 計算機系統及儲存裝置之控制方法
TWI765289B (zh) * 2017-10-30 2022-05-21 日商鎧俠股份有限公司 儲存系統

Also Published As

Publication number Publication date
TWI376601B (en) 2012-11-11
US20090013148A1 (en) 2009-01-08
WO2009006442A1 (en) 2009-01-08
US20150220441A1 (en) 2015-08-06
KR20100051804A (ko) 2010-05-18
KR101573089B1 (ko) 2015-11-30
CN101772810B (zh) 2013-03-27
US9436609B2 (en) 2016-09-06
CN101772810A (zh) 2010-07-07

Similar Documents

Publication Publication Date Title
TW200910088A (en) Block addressing for parallel memory arrays
US8412987B2 (en) Non-volatile memory to store memory remap information
JP2019091519A (ja) 内部ecc処理を有するnand型フラッシュメモリおよびその動作方法
US8832507B2 (en) Systems and methods for generating dynamic super blocks
US20240126701A1 (en) Methods of memory address verification and memory devices employing the same
US10229052B2 (en) Reverse map logging in physical media
US9141476B2 (en) Method of storing system data, and memory controller and memory storage apparatus using the same
JP5259138B2 (ja) 記憶装置
US9720609B1 (en) Data protecting method, memory control circuit unit and memory storage device
CN110678851A (zh) 存储器地址验证方法及采用所述方法的存储器装置
US11061769B2 (en) Storage device selectively generating parity bits according to endurance of memory cell, and method thereof
US20190347193A1 (en) Memory system and operating method thereof
US9230692B2 (en) Apparatuses and methods for mapping memory addresses to redundant memory
US8635426B2 (en) Diagonally accessed memory array circuit
US8738847B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
CN109656471B (zh) 数据存储设备及其操作方法
US10109373B2 (en) Data storage apparatus and operating method thereof
US11842067B2 (en) Memory controller, memory system including the same, and method of operating the memory system
US10078548B2 (en) Memory controller, semiconductor device and method of controlling semiconductor device
CN113515466A (zh) 用于多内核之间动态逻辑块地址分布的系统和方法
EP4181142A1 (en) Nonvolatile memory device and operation method thereof
US20240004579A1 (en) Computational storage device, and computational storage system and electronic system including the same
CN116137174A (zh) 非易失性存储器件及其操作方法