TWI376601B - Block addressing for parallel memory arrays - Google Patents

Block addressing for parallel memory arrays Download PDF

Info

Publication number
TWI376601B
TWI376601B TW097124899A TW97124899A TWI376601B TW I376601 B TWI376601 B TW I376601B TW 097124899 A TW097124899 A TW 097124899A TW 97124899 A TW97124899 A TW 97124899A TW I376601 B TWI376601 B TW I376601B
Authority
TW
Taiwan
Prior art keywords
memory
address
block
array
blocks
Prior art date
Application number
TW097124899A
Other languages
English (en)
Other versions
TW200910088A (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

1376601 九、發明說明: 【發明所屬之技術領域】 本發明之實施例大體而言係關於積體電路。特定言之, 本發明之實施例係關於記憶體電路。 【先前技術】 半導體記憶體裝置普遍存在於數位電子裝置中。此等裝 置之實例包括電腦、相機、數位媒體播放器、遊戲機、個 人數位助理、行動電話、導航裝置、非揮發性儲存產品及 其類似物。非揮發性儲存產品之實例包括c〇mpactnash (CF)卡' MultiMedia卡(MMC)、安全數位(SD)卡、❿讣 pC卡(例如’ ΑΤΑ Flash卡)、SmartMedia卡、固態磁碟 (SSD)、混合硬碟機及記憶棒。半導體記憶體提供資料之 儲存與插取。 存在許多類型之半導體記憶體。記憶體之實例包括各種 類型之隨機存取記憶體(ram)(包括SRAM、DRAM及 SDRAM)、快閃記憶體、電可抹可程式化唯讀記憶體 (EEPROM)、磁阻隨機存取記憶體(MRAM)、可程式化導 體記憶體、鐵電記憶體及其類似物。在此等記憶體内亦存 在許多子型(subtype)。 通常,s己憶體裝置之記憶體單元以一或多個陣列來配置 且藉由啟動適當字線(列)及位元線(行)而被存取。在大多 數類型之記憶體裝置中,每一單元儲存單個資料位鈇 而,一些單元(諸如,快閃記憶體單元)可在一個以上層次 中儲存資料(每一單元儲存一個以上位元)。 132777.doc 1376601 亦可將記憶體裝置組織為若干頁且進一步組織為若干區 塊。舉例而言,通常將反及快閃記憶體組織為若干區塊及 頁。亦可在反或快閃記憶體、電可抹可程式化唯讀記憶體 (EEPROM)及可程式化唯讀記憶體(pR〇M)中找到此組織。 區塊及頁之大小可在非常廣泛之範圍中變化。2十億位元 組_記憶體陣列之—實例具有2,_個區塊,每I區塊 具有64個頁,每一頁具有2,112個位元組,其包括2,剩 資料位元組及64個備用位元組(不包括備用區塊、頁、 列、行等等)。概念上,圖!中說明此情形。 可在測試朗間識別不&或不可用記憶體單元。舉例而 言,記憶體單元可未能保持於特定邏輯狀態、未能滿足計 時祕或其類似者4生產期間,可藉由轉财之額外 或几餘列及/或行代替有缺陷的列及/或行來映射並校正此 等故障。此類型之故障通常係藉由永久映射個別列之内部 位址與陣列^之位址來處理且對於最終使用者而言係明顯 的。 單疋亦可在現場發生故障。舉例而言,許多非揮發性記 It體類里可在多個寫入猶環後磨損。一些記憶體裝置亦可 包括錯誤校正碼(ECC),且在可校正之限度内容忍不良單 疋。除非可藉由某一形式之錯誤校正來校正,否則不應使 用不良或不可用記憶體單元。不良或不可用記憶體單元可 影響較高Ph憶體部件之可用性。舉例而言,+良單元可 導致一列係不可用的,且導致該列之該(等)頁係不可用 的。s己憶體區塊亦可具有用以替換不良頁之備用頁。當— 132777.doc 1376601 不充:數目之頁可用•,可將該整個區塊 良£塊,且㈣塊之頁中之任—者通㈣非可存取的。 ::理不良區塊時出現問題。可將不良區塊標記於不良 區塊表中。舉例而言,苦太&本 ☆在生產測試期間判定-區塊係不 :的,則可使用修復程序以用備用區塊來替換該不良區 塊。 參看圖2 ’在一實例中’兩個或兩個以上之陣列儲存來
自資料匯流排之資料或將資料提供至資料匯流排。將資料 頁寫入至陣列2 0 2、2 0 4或白睡《διί 〇 λ 〇 /¾ λ 叫次自陣列202、204讀取資料頁所花 費的時間可長於將資料頁寫入至快取暫存器2〇6、或自 快取暫存器鳩、208讀取資料頁所花費的時間。因為速 度,可配置記憶體以使得首先寫入或讀取來自一個陣列 2〇2之頁,接著寫入或讀取來自第二陣列2〇4之頁接著將 新的頁寫入至第一陣列202或自第一陣列2〇2讀取新的頁, 等等。此情形被稱為"往復轉換"且係快速的,因為可將來 自交替陣列之資料預載至適用快取暫存器施、2〇8中同 時寫入或讀取來自另一快取記憶體之資料。其他暫存器 210、212可辅助寫入或取出資料。若陣列2〇2、2〇4係在同 一晶片上,則可共用快取暫存器2〇6、2〇8(亦即,將通常 僅存在一個快取暫存器)。 然而,若位址並非為連續的,則可能不有效地發生預 載。舉例而言,當使用兩個8位元晶片來提供資料時,則 通㊉共用被提供至該兩個晶片之位址線,且位址線之最低 有效位元(LSB)係冗餘的。在具有多個陣列之習知晶片 132777.doc 1376601 中,不僅共用位址線,而且亦通常在多個陣列之間共用列 解碼器。當陣列之區塊係不良時,修復解決方案可將不同 區塊映射至與良好區塊相同之邏輯位址。然而,啟動用於 該替換區塊之一組不同列線可顯著加長寫入或讀取時間, 因為(例如)接著自S己憶體裝置内存取兩個不同實體記憶體 位置以進行讀取或寫入。圖3中展示此情形。 圖3說明用於使來自兩個不同記憶體陣列3〇2、3之區 塊成對的習知技術之實例。可使兩個以上之記憶體陣列" 成對"或匹配(亦即,相關聯以一同儲存及擷取)^在另一實 例中,使4個陣列或8個陣列"成對"。在所說明之實例中, 來自記憶體陣列A 302之前四個區塊(1 a至4A) 306、308、 310、3 12係良好的。來自記憶體陣列b 304之第一區塊1B 314、第二區塊2B 3 16及第四區塊4B 320係良好的。然 而’記憶體陣列B 304之第三區塊3B 3 18係不良的。第一 區塊1A 306與第一區塊IB 3 14成對。第二區塊2A 308與第 二區塊2B 316成對。第四區塊4A 312與第四區塊4B 320成 對。 然而,來自陣列A 302之第三區塊3A 310不與來自陣列B 304之第三區塊3B 318成對’因為第三區塊3B 318係不良 的且並非為可用的。實情為,第三區塊3A 3 10與來自陣列 B之另一區塊322成對。通常’在陣列之末尾(就實體位 址而言)之良好區塊係備用區塊,且所使用之另一區塊χΒ 322係選自該等備用區塊中之一者。舉例而言,區塊χΒ 322可為被規定具有至少2,048個良好區塊之陣列的第2,050 132777.doc 丄: 第二區塊3A 310與另一區塊XB 322係位於不同實 ’且當將資料頁儲存至每_者或自每—者擷取資料 來自第二區塊3A 310之頁及來自區塊χΒ 322之頁係 使用兩個獨立存取且在無"往復轉換,,的情況下在内部存 Α此It形降低效能。舉例而言,圖3中所說明之技術通 *使用某-形式之内部控制器干預以選擇該(等)替換區塊 並組合來自獨立内部記憶體讀取之資料,此情形進-步減 慢存取。
針對f料而使用多個陣列係#遍的。在具有多個資料通 道之系統中,針對資料流’可存在來自多個陣列之資料。 區塊可成對之另一實例係當資料匯流排相對寬時(諸如, 在32位το寬之資料匯流排中),且四個記憶體陣列中之每 一者處理32個資料位元中之8個位元。 圖4說明用於使來自兩個不同記憶體陣列4〇2、4〇4之區 塊成對的習知技術之實例。在此技術中,跳過不良區塊之 整個實體位址,且使用具有兩個或兩個以上之良好區塊的 下一實體位址。此技術仍通常使用控制器干預來管理實體 位址之跳躍。在所說明之實例中’來自記憶體陣列A 402 之前四個區塊(1A至4A) 406、408、410 ' 412係良好的。來 自記憶體陣列B 404之第一區塊414、第二區塊2B 416 及第四區塊4B 420係良好的。然而,記憶體陣列b 404之 第三區塊3B 418係不良的。第一區塊ία 4〇6與第一區塊1B 4 14成對。第二區塊2A 408與第二區塊2B 416成對。第四 區塊4A 412與第四區塊4B 420成對。 132777.doc •10- 1376601 然而’來自陣列A 402之第三區塊3A 410不與來自陣列B 404之第三區塊3B 418成對,因為第三區塊邛418係不良 的且並非為可用的。與仍使用區塊3A 310之圖3之實例相 反’在圖4之實例中,儘管第三區塊3A 41〇係良好的,但 將其保持為未成對且未使用。此情形保留陣列、404在 "只取相關聯之區塊之各頁時因為速度而進行"往復轉換"的 能力,因為以此方式配置之成對區塊係使用相同實體位址 • 且可藉由啟動共用列解碼器之相同列來存取。然而,並不 利用第三區塊3A 410(儘管其具有生存力)且實際上將其處 理為不良區塊。此情形減小一陣列之可用區塊的數目且 若良好區塊之有效數目係在所規定之最小值以下,則此可 降低生產良率並增加生產成本。 【發明内容】 在本文中提供此等圖式及相關聯之描述以說明實施例且 其並不意欲為限制性的。 • 儘管在本文中描述特定實施例,但對於-般熟習此項技 術者而言,本發明之其他實施例(包括並未提供本文中所 陳述之所有益處及特徵的實施例)將係顯而易見的。 • 本發明之一實施例提供兩個或兩個以上之記憶體陣列孓 區塊的相關聯映射,使得來自該兩個或兩個 體 陣列之良好區塊的資料(諸如,資料頁)可因為速度而Z 替方式來寫入或讀取或可平行地寫入或讀取以用於將資料 提供至相對寬之資料通道。舉例而言,此情形消除控制器 干預以存取散布於全異列中之相關聯之資料且可藉由提供 132777.doc 1376601 (在被組態的情況下)交替讀取來自兩個或兩個以上之陣列 的資料的能力而增加資料通量。舉例而言,當將來自一個 陣列之資料載入至快取記憶體時,可讀取來自另_陣列之 已載入至該快取記憶體的資料。在一實例中,所映射之區 塊對應於快閃裝置之最小可抹實體。在另一實例中,所映 射之區塊對應於相對大數目之記憶體單元。另外,陣列之 相對少數之良好區塊變得未使用。
【實施方式】 圖5說明兩個陣列之共同映射之區塊的實例。可將共同 映射之原理及優勢應用於非常廣泛範圍之數目的陣列。舉 例而言,圖6說明四個陣列之共同映射之區塊的實例。可 在製造期間或稍後在現場將區塊之狀態判定為良好或不 良。可使用廣泛各種技術來判定區塊是良好的還是不良 的將今易由一般熟習此項技術者來判定一種適用技術。 此外,若(例如)適用記憶體單元係在不可由錯誤校正碼
(E C q校正之-或多個錯誤内或適用記憶體單元接近磨損 限度等等’則可能需要將區塊標記為不良(即使其係良好 的)。 ^ 艮好區塊被一同邏輯定址以使得存取電 子處理部件(諸如,妨在_丨 W如控制盗、處理器、CPU或其他裝置)可 自該等陣列迅速平行地靖& $ & , 讀取資料而無須作出位址跳躍或無 須自陣列獨立地讀取資料。 。 在一實施例中,良好區塊經邏 輯重新配置以形成纪悟牌 β體之連續可定址的良好區塊。在一 實施例^ ’執行映射^^ 使传良好區塊被映射至相對低之位 132777.doc -12- 1376601 址,且不良區塊或未使用之備用區塊(若存在)被映射至相 對高之位址。未使用之區塊(不良區塊或備用區塊)之映射 並非為關鍵的。將在下文關於圖12A及圖12B來描述實 例。在一實例中,並未在陣列之間共用用於記憶體裝置之 列解碼器。此情形允許獨立於陣列來進行記憶體區塊之列 疋址可谷易在生產測試時供應列解碼器或位址轉譯器之 此程式化以跳過一陣列中之不良區塊並保持良好區塊之相 連映射。另外,亦可供應對在現場發生故障之區塊的修 復。舉例而言,可使用一組熔斷器來儲存修復解決方案。 可程式化熔斷器以識別對應於已變為不良之原始區塊的邏 輯位址範圍。當遇到該邏輯位址範圍時,用良好區塊(先 月1j為几餘的)來代替該不良區塊。該等熔斷器可為基於快 閃之熔斷器,其允許針對基於現場之修復而重新程式化修 復解決方案》 參看圖5,使陣列A 502與陣列B 5〇4之區塊共同地相關 聯。陣列A 502與陣列B 504可在同一晶片上或在不同晶片 上。陣列A 502與陣列B 504之區塊具有邏輯位址5〇6、5〇8 且具有内部位址510、512。邏輯位址506、5〇8係由存取記 憶體之裝置(諸如’控制器、處理器、cpu及其類似物)來 使用。内部位址51〇、512與陣列内之原始實體位址有關。 出於論述之目的,將通常將内部位址510、5 12用作區塊 之參考來描述圖5。在該實例中,針對陣列A 5〇2,展示具 有内部位址1A之區塊514、具有内部位址2A之區塊51^、 ”有内。p位址3A之區塊518、具有内部位址4A之區塊 132777.doc 13 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之區塊53 6、具有内部位址5B之區塊 538、具有内部位址6B之區塊540、具有内部位址7B之區 塊542及具有内部位址8B之544之區塊。區塊1B 530、2B 532、4B 536、5B 53 8、7B 542及 8B 544係良好的,且區塊 3B 534及6B 540係不良的》 區塊1A 514與區塊1B 530成對,且兩者被映射於區塊之 開始邏輯位址處,該開始邏輯位址通常為區塊之第一頁的 〇。區塊2A 51 6與區塊2B 532成對,且兩者被映射於下一 區塊位址(亦即,第一頁之第二邏輯區塊位址)處。此係通 常為自0之固定偏移且通常取決於區塊之頁之數目而變 化。 不良區塊3B 534並未有意成對且被映射至未使用之位址 (諸如’映射至接近陣列之位址範圍之末尾的位址在一 實施例中,當遇到不良區塊時,映射過程首先以最後可用 區塊位址(最高位址)開始而重新映射不良區塊,且逐漸地 將不良區塊映射至更低位址《此允許將良好區塊映射於位 於陣列之區塊之開始(開始區塊位址)處的第一相連位址空 間中’且將不良區塊映射於位於位址範圍之末尾處的第二 132777.doc 14 1376601 相連位址空間中。良好區塊至相對大之相連位址空間的映 射為使用者提供相對大之可用記憶體區域。然而,將容易 由一般熟習此項技術者來判定用於分離良好區塊之邏輯位 址與不良區塊的其他技術。 區塊3Α 518與區塊4Β 536成對,且兩者被映射至第三邏 輯區塊位址。藉由重新映射及使用每一列之獨立列解喝 器,區塊3Α 518與區塊4Β 536可皆被映射至同一邏輯位址 5 08並被同時存取(即使在陣列5〇2、504内之内部,區塊 518、536係位於如由陣列502、504内之列計數所判定的全 異内部位址處)》區塊4Α 520與區塊5Β 538成對,且被映射 至第四邏輯區塊位址。區塊5α 522與區塊7Β 542成對,且 被映射至第五邏輯區塊位址。區塊6Α 524係不良的、未成 對的’且被映射向陣列A 502之位址之末尾《區塊6Β 540 係不良的、未成對的’且被映射向陣列B 504之位址之末 尾。區塊7A 526與區塊8B 544成對且被映射至第六邏輯區 塊位址》 藉由上文所描述之映射,每一對良好區塊具有匹配之邏 輯位址506、5 08且來自兩個陣列5〇2、5〇4之區塊可用於被 同時存取以藉由(例如)至連續位址之資料寫入或自連續位 址之資料讀取來快速存取資料。在一實施例中,來自陣列 A 502之資料頁與來自p車列B 5〇4之資料頁交錯以允許控制 器在寫入或讀取資料頁時在陣列5〇2、5〇4之間來回地"往 復轉換"。 圖6說明四個陳列6m、< , 平幻ϋ2 004、606、608之共同映射之區 132777.doc 1376601 塊的實例。展示每一陣列602、604、606、608之前四個良 好區塊的共同映射。應理解,陣列通常具有許多區塊(例 如,數千個)。為清晰起見,將在以下論述中經由區塊之 内部位址(例如,實體列位址)來參考該等區塊,該等内部 位址被映射至邏輯位址,該等邏輯位址係由主機(諸如, 控制器、處理器及其類似物)來使用。即使當匹配之區塊 位於全異實體位址(就列而言為全異的)處時,仍可同時寫 入至該等匹配之區塊或自該等匹配之區塊讀取而無獨立寫 入或讀取,此情形改良記憶體效能。 陣列A 602之所說明之部分具有四個區塊1A 610、2A 612、3A 614、4A 616,其皆係良好的。陣列B 604具有良 好區塊 1B 620、2B 622、3B 624及 5B 628。區塊 4B 626並 非為良好的。陣列C 606具有良好區塊1C 630、3C 634、 4C 63 6及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 6 4 8係匹配的。 區塊4B 626、區塊2C 632及區塊4D 646係不良區塊且映 射至位於用於良好區塊之相連位址空間之外的位址空間。 132777.doc -16- 1376601 舉例而言,可將該等不良區塊映射至位址空間之末尾β 上文所描述之區塊的匹配或"成對"保留用於存取記憶體 之位址的連續性,此情形允許藉由在陣列之間交替來快速 地讀取s己憶體之區塊及/或允許自陣列平行地讀取資料。 然而,並非必需以連續内部位址次序來映射區塊以便保持 連續邏輯位址之益處。在一實施例中,順序地定址資料 (如由控制1§、處理器或CPU所見),但記憶體晶片内之實 φ 體區塊的實際排序可變化且通常對於控制器或處理器而言 將係明顯的》在一實施例中,使用熔斷器(諸如,快閃熔 斷器)來實施映射以儲存映射資料。可最初在生產測試期 間判定映射並在現場更新映射。在一實施例中,溶斷器位 於列解碼器之外,但影響解碼解決方案。舉例而言,熔斷 器可為位址轉譯器電路之部分,可為置換(〇verride)正常列 解碼之置換電路的部分,或其類似物。在另—實施例中, 熔斷器提供列解碼器自身之可程式化性。 • 圖7說明控制器702、位址轉譯器704及記憶體裝置706之 實例控制器702表不控制器或使用記憶體裝置7〇6之其他 冑理器。其他控制|§或處理器亦可經由(例如)直接記憶體 存取(DMA) 708來使用記憶體裝置鳩。位址轉譯器7〇4提 ^ 供如適用於記憶體裝置7〇6之區塊之位址的映射及/或重新 映射。 在一實施例中,位址轉譯器7〇4係在記憶體裝置7〇6之 外’如圖7中所示。此情形允許使用現有記憶體裝置706, 且允許每一位址轉譯器7〇4使用相對許多個記憶體裝置 132777.doc 706。 、在另實把例中’位址轉譯器7〇4係記憶體裝置鳩之部 分。應注意’單個記憶體裝置鳩可儲存多個記憶體陣 =。位址轉譯器704可或者與控制器7〇2整合與舰控制 器整合,或為獨立晶片。在一音 在實把例中,位址轉譯器將如 由使用s己憶體裝置7〇6之步署(链 。 爻裒置(邊如,控制器702)所見的邏 輯位址轉譯或映射至用以自 自記隐體裝置706擷取資料的位 址中。可將映射資訊儲存於杳技 宜找表(LUT)中。在所說明之 實施例中,將記憶體之區掄金 : 灸匚塊夂址(位址之區塊部分)向位址 之最高有效位元(msb)部分,(若存在)及位元組定址 向位址之最低有效位元(lsb)部分。在意欲以"往復轉換" (Ping-ponging)之方式㈣取陣狀頁的情況下,則其位址 轉譯可因此變化。 圖8係具有位址轉譯器802之記憶體晶片800的示意圖。 在所說明之實例中,記憶體晶片8()()具有記憶體陣列A⑽ 及記憶體陣列B 806。為清晰起見,i未展示用於記憶體 陣列B 8G6之雜項支援電路,且在—實施例中,該等雜項 支援電路與所描述之用於記憶體陣列A 8〇4的雜項支援電 路相同。备實施於同一晶片上時,兩個陣列可共 用快取暫存器808。 位址轉澤器802接收邏輯位址作為輸入且提供經轉譯之 位址作為輸出。邏輯位址可源自(例如)耦接至輸入/輸出電 路809的控制器、處理器、CPU或其類似物。在一實施例 中,可經由啟用信號810來選擇性地啟用或停用位址轉譯 132777.doc •18· 1376601 窃之轉譯功能。位址轉譯器8〇2亦可具有用於程式化之模 式及用於正常使用之模式,其可藉由程式化信號812來加 以選擇。舉例而言,可在生產測試期間程式化位址轉課器 802以將良好區塊映射至相連位址空間。 將位址轉譯器802之輸出提供至用於陣列A 804之位址鎖 存态814及用於陣列B 8〇6之另一位址鎖存器(未圖示卜陣 列A 804與陣列B 806之間的映射可不同,因此被鎖存之位 址亦可不同。應注意,位址轉譯器802通常並非必需轉移 位址匯流排之每一位元,但應至少轉譯用於選擇區塊之位 址位元。 提供位址鎖存器A 814之輸出作為對列解碼器816之輸 入。在一實施例中,用於記憶體陣列A 8〇4之列解碼器816 獨立於用於記憶體陣列B 8〇6之列解碼器。此情形允許藉 由共同邏輯位址來同時存取來自記憶體陣列A 8〇4及記憶 體陣列B 806的全異實體資料頁(就實體列位址而言為不同 的)。在一實施例中,亦可映射列解碼器816以校正列及/或 行中之不良&己憶體位置。舉例而言,若區塊在現場變為不 良,則可程式化一組溶斷器以该測該不良區塊之位址範圍 並代用另外冗餘區塊以修復陣列。列解碼器8丨6選擇適當 之列以用於讀取資料。舉例而言,在反及快閃記憶體之情 形下’列解碼器816可啟動特定列(亦被稱為字線),且可" 接通"其他相關列以使得可寫入或讀取選定之列之特定單 元。 亦提供位址鎖存器814之輸出作為對行解碼器818之輸 132777.doc 19 入。在一實施例中,列解碼器816之位址由位址轉譯器802 來轉譯’但行解碼器818之位址並未轉譯。感應/驅動器電 路820與行解碼器81 8及陣列A 804通信以將資料寫入至陣 列A 804或自陣列A 804讀取資料。資料緩衝器/鎖存器822 儲存來自輸入/輸出電路8〇9之資料以用於儲存於記憶體陣 列A 804中’且資料暫存器824、826分別儲存自記憶體陣 列A 804、記憶體陣列B 806擷取之資料。快取暫存器808 提供來自資料暫存器824、826之資料以用於快速存取該資 料°若記憶體陣列A 804與記憶體陣列B 806不在同一晶片 上’則將通常不共用快取暫存器8〇8。 圖9說明用於實施位址轉譯之查找表(LUT) 9〇2的實例。 在一實施例中,將查找表9〇2實施為可程式化非揮發性記 憶體(諸如’ EEPROM或快閃記憶體(反或或反及))^在一 實施例中’藉由在生產測試期間程式化查找表902並在操 作期間使用該經程式化之查找表來實施位址轉譯器9〇4。 在一實施例中,亦可在現場重新程式化查找表9〇2(諸如, 經由韌體或狀態機控制卜查找表9〇2可或者由在使用前載 入有適當資料之揮發性記憶體裝置(諸如,靜態RAM)來實 施,此情形可在使用期間提供更快之速度。 在所說明之實施例中,位址轉譯器9〇4接收邏輯位址 作為輸入,且提供兩個或兩個以上之位址9〇8、作為輸 出I輯位址906並不需要為全位址(例如,可為用於定址 區塊之位址之部分)。一個位址9〇8可用於定址一個陣列之 資料,且另-位址9〇9可用於定址該對陣列之另一陣列的 132777.doc •20- 1376601 資料。在所說明之實施例中,轉譯 子闷個陣列之位址以用於 有效存取用於CPU之資料。舉例而 、 右貧料在相連位址 處可用,則CPU可更快速地讀取該資料。 然而’-降列之位址可保持未經轉譯,且其他陣列之良 好區塊的位址被轉譯以與該未經轉譯之陣列的未經轉譯之 位址匹配。舉例而言’在程式化過程期間,位址轉譯器 904可經組態以將邏輯位址9〇6傳遞5 埒逛至或多個經轉譯之位
址908 ' 909而無修改。經轉螺夕仞 上锝渾之位址908、9〇9可彼此不同 以使得可有效擷取來自全里位妯夕π地,, 主,、位址之區塊的資料。當位址轉
澤窃904被啟用以進行棘燦接你ni —Γ ύ^τ VP X 丁锝渾操作時,可將邏輯位址906應用 於查找表902作為關於記憶體位置之位址,且可自查找表 902之所儲存之資料擷取經轉譯之位址9〇8。
在所說明之實施例中,查找表902具有兩個陣列之映 射。在另一實施例中,查找表902可儲存兩個以上之陣列 的映射另外,查找表902可或者經組態以將每一陣列之 每一映射儲存於獨立表中。在-實施例中,處理器910(諸 如,微處理器、微控制器、可授權核心、狀態機或其類似 物)經組態以產生儲存於查找表9G2中之映射。處理器 可為圯憶體裝置之部分,可為系統中之獨立晶#,可為使 用記憶體之裝置的處理器,或其類似物。在一實施例中, 由測„式裝備實施處理器91〇。可以各種方式實施查找表 902 °舉例而言’纟—實施例中,僅將記憶體區塊層次處 之位址資料的區塊位址部分(諸如,位址内之位元範圍)儲 存於查找表902中,且纽合來自cpu之位址之剩餘部分以 132777.doc -21 - 1376601 形成S己憶體陣列之完整位址。因此,可使用一參數(諸 如,區塊位址之部分的替換資料)來重新映射被重新映射 的位址之此部分。舉例而言,在另一實施例中查找表 902儲存用於產生新位址之偏移而非位址自身,且用於重 新映射之參數可為該偏移。 圖10係大體說明共同區塊映射之流程圖。熟習此項技術 者將瞭解,可以各種方式來修改所說明之過程。舉例而 吕,在另一實施例中,所說明之過程的各個部分可組合, 可以替代序列來重新配置,可移除,及其類似者。可使用 所說明之過程來匹配兩個或兩個以上之記憶體陣列的區 塊。 該過程始於在相連位址空間(邏輯位址)令映射丨002 一陣 列(例如’陣列"A")之良好區塊的至少一部分。在一實施 例中相連部分包括用以提供足夠記憶體空間來滿足陣列 之規定記憶體容量的至少足夠之良好區塊。因此,該等至 少足夠之良好區塊可包含少於所有良好區塊之良好區塊。 在一實施例令,相連區塊之部分包括所有良好區塊(如圖 十所示在另-實施例中,相連區塊之部分僅包括良 好區塊之β(5 Λ ’該苦p分足以提供足夠記憶體空間來滿足 陣列之規定記憶體容量(如圖12Β中所示)。將在稍後關於 圖11來更詳細地描述用於執行映射1002之過程的一實施 例0 再次參看圖10,該過程前進至將一或多個其他陣列(例 如,陣列"Β")之良好區塊的至少若干部分映射1〇〇4至同一 132777.doc • 22- 丄376601 相連位址空間。良好區塊至同-相連位址空間的映射確保 因此所映射之陣列區塊共用相同邏輯位址以進行有效存 取。舉例而言,不同陣列可使用獨立列解碼器以允許同時 存取位於全異實體位址處之區塊。 該過程前進至儲存祕映射以用於位址轉譯至各個記憶 體陣列之特定區塊。在—實施例中,如較早關於圖9所描 述,該等映射儲存於查找表中。在另一實施例中,一陣列 之特定映射係藉由程式化用於該陣列之列解碼器來儲存 的。 圖Π係大體說明陣列内之區塊映射的流程圖。所說明之 過程將一陣列之良好區塊映射至相連位址空間中。可在需 要時針對其他陣列而重複該過程°熟習此項技術者將^ 解,可以各種方式來修改所說明之過程。舉例而言,在另 一實施例中,所說明之過程的各個部分可組合,可以替代 序列來重新配置,可移除,及其類似者。
該過程始於初始化1102變數。在流程圖中,η指示實體 或内部區塊號碼(位址),且(例如)可被初始化至變數i 指示邏輯位址且應被初始化至陣列A之第一區塊的開始邏 輯位址。出於論述之目的,變數丨可始於 該過程前進至判定11〇4區塊n(位址n)是否為良好的。舉 例而言,記憶體裝置通常具有在生產測試期間填入(且可 在使用期間由(例如)控制器來更新)於已知之良好記憶體空 間中的參考表,其指示哪些記憶體區塊係良好的且哪些記 憶體區塊係不良的。若區塊係不良的,則該過程將區塊號 132777.doc •23· 1376601 碼η儲存1106於不良區塊表中。該過程自狀態11〇6前進至 決定區塊1110 » 若區塊係良好的,則該過程使邏輯位址丨與區塊號碼η相 關聯1108。該過程自狀態1108前進至決定區塊ι11〇β 該過程判定1110是否完成所處理之陣列的區塊。若尚未 元成,則該過程進行至狀態1112,其中該過程使區塊號碼 η遞增以預備處理下一區塊。該過程接著自狀態ιιΐ2返回 至決定區塊1104。 若該過程完成,則該過程自決定區塊111〇進行至狀態 1114,其中該過程使在狀態ι1〇6中所收集之不良區塊與位 於查找表末尾之位址相關聯或將在狀態11〇6中所收集之不 良區塊映射至列解碼器之位址範圍的末尾。可或者在該過 程之不同點(諸如在狀態1106中)將不良區塊映射至查找表 末尾。可針對其他相關聯之陣列而重複該過程。關於圖j】 而描述之過程的一優勢係可將個別陣列之區塊處理為可定 址於相連區塊中,以使得不需要知道其他陣列之良好區塊 的位置。 圖12 Α說明記憶體陣列之記憶體映射的實例,其中所有 良好£塊(不管疋已使用之區塊12 02還是備用區塊12 04)被 映射至邏輯記憶體位址之相連空間1206。圖12B說明記憶 體陣列之記憶體映射的另一實例,其中待使用之良好區塊 1208被映射至邏輯位址之相連空間,且為備用區塊121〇之 良好區塊被映射至不與所使用之良好區塊之位址空間相連 的位址空間》 132777.doc -24· 本發明之實施例有利地允許控制器或其類似物使用同一 邏輯位址來定址來自全異陣列之匹配之區塊的資料。舉例 而S ’映射記憶體陣列之一或多個良好區塊的位址,以使 得控制器在存取來自具有不同實體位址之全異陣列的匹配 之區塊之資料時不需要在兩個或兩個以上之不同邏輯位址 之間來回切換。獨立列解碼器允許將具有全異實體位址之 匹配之區塊的資料頁同時儲存至多個陣列或自多個陣列同 時擷取具有全異實體位址之匹配之區塊的資料頁。此情形 可允許在(例如)多通道資料匯流排、往復轉換之陣列及其 類似物中相對有效地存取資料。 一實施例係一種用於組織針對散布於兩個或兩個以上之 全異記憶體陣列之間的資料之匹配之區塊的存取的設備, 其中該设備包括.一位址轉譯器,其經組態以接收源自一 處理器之邏輯位址的至少一區塊部分,其中該區塊部分對 應於一用於選擇記憶體之區塊之位址範圍,其中該位址轉 譯器經組態以修改所接收之邏輯位址的至少該所接收之區 塊部分以產生第一經修改之位址或第二經修改之位址中之 至少一者’其中該等第一經修改之位址係用於選擇該兩個 或兩個以上之記憶體陣列中之第一記憶體陣列的記憶體區 塊’其中該等第二經修改之位址係用於選擇該兩個或兩個 以上之記憶體陣列中之第二記憶體陣列的記憶體區塊,其 中該等第一經修改之位址與該等第二經修改之位址經組態 以使用用於邏輯位址之一區塊部分的同一邏輯位址來分別 選擇第一記憶體陣列與第二記憶體陣列之匹配之區塊;一 132777.doc •25· 1376601 第-列解碼器’其與位址轉譯器通信以接收第一經修改之 4址該第列解碼器耦捿至第一記憶體陣列;及一第二 列解碼器’其與位址轉譯器通信以接收第二經修改之位 址,該第二列解碼器耦接至第二記憶體陣列,該第二列解 碼器獨立於該第一列解瑪器。 一實施例係一種匹配兩個或兩個以上之記憶體陣列之記 憶體空間的區塊以用於使用同一邏輯位址來存取與該等匹 配區塊相關聯之資料的方法,其中該方法包括:在一相連 邏輯位址空間中使該兩個或兩個以上之記憶體陣列中之第 -陣列的可用良好區塊與該兩個或兩個以上之記憶體陣列 中之第二陣列的可用良好區塊相關聯,以使得該兩個或兩 個以上之記憶體陣列之記憶體的匹配之良好區塊可藉由用 於邏輯位址之一區塊部分的同一邏輯位址來邏輯定址,其 中/、第一陣列之良好區塊相關聯的第一陣列之可用良好區 塊之至j/一部分具有不同實體位址,且其中第一陣列與第 二陣列之相關聯之良好區塊即使具有全異實體位址而仍可 同時存取;及儲存該等關聯以進行邏輯位址轉譯。 一實施例係一種修改位址以用於存取兩個或兩個以上之 全異記憶體陣列的方法,其中該方法包括:自一處理器接 收邏輯位址以用於存取兩個或兩個以上之全異記憶體陣列 的記憶體位置,其中該等邏輯位址之區塊部分與記憶體陣 列内之特定區塊的定址有關;自邏輯位址及對應於第一記 憶體陣列之選定之記憶體區塊的所儲存之參數產生第一記 憶體陣列之第一經修改之位址以重新配置對該等選定之記 132777.doc • 26 - 1376601 憶體區塊之存取,以使得針對第一記憶體陣列規定之至少 最小數目的良好記憶體區塊之至少一第一良好記憶體區塊 群組可在一相連邏輯記憶體位址空間中存取且使得不良區 塊未被定址於該相連邏輯記憶體位址空間内;自邏輯位址 . 及對應於第二記憶體陣列之選定之記憶體區塊的所儲存之 參數產生第二記憶體陣列之第二經修改之位址以重新配置 • ㈣等選定之記憶體區塊之存取,以使得針對第二記憶體 φ 陣列而規定之至少最小數目的良好記憶體區塊之至少一第 一良好S己憶體區塊群組可在相連邏輯記憶體位址空間中存 取且使得不良區塊未被定址於該相連邏輯記憶體位址空間 内;及使用該等第一經修改之位址及該等第二經修改之位 址來存取第一記憶體陣列及第二記憶體陣列之匹配之區 塊,以使得該等匹配之區塊可由處理器使用用於邏輯位址 之同一區塊部分來定址,且使得該等匹配之區塊即使在該 等匹配之區塊具有全異實體位址時仍可同時存取。 • 已在上文描述各種實施例。儘管係參看此等特定實施例 來描述,但該等描述意欲為說明的而非意欲為限制性的。 . 在不背離如隨附申請專利範圍中所界定之本發明之真實精 神及範疇的情況下,熟習此項技術者將瞭解各種修改及應 用》 【圖式簡單說明】 圖1說明記憶體架構,其在陣列内具有多個頁及區塊。 圖2說明自多個記憶體讀取以用於快速存取或用於平行 存取。 132777.doc -27- 1376601 圖3說明使來自不同記憶體陣列之區塊成對的先前技術 之技術’其導致對資料之存取相對緩慢。 圖4說明使來自不同記憶體陣列之區塊成對的先前技術 之技術’其導致低效地利用記憶體空間。 圖5說明兩個陣列之共同映射之區塊的實例。 圖6說明四個陣列之共同映射之區塊的實例。 圖7說明控制器、位址轉譯器及記憶體裝置的實例》 圖8係具有位址轉譯器之記憶體晶片的示意圖。 圖9說明用於實施位址轉譯之查找表(LUT)的實例。 圖10係大體說明共同區塊映射之流程圖。 圖11係大體說明陣列内之區塊映射的流程圖。 圖12 A及圖12B說明記憶體映射之實例。
【主要元件符號說明】 202 陣列 204 陣列 206 快取暫存器 208 快取暫存器 210 暫存器 212 暫存器 302 記憶體陣列 304 記憶體陣列 306 區塊1A 308 區塊2A 310 區塊3 A 132777.doc -28· 1376601
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 502 陣列A 504 陣列B 506 邏輯位址 508 邏輯位址 510 内部位址 512 内部位址 514 區塊1A 516 區塊2A 132777.doc -29- 1376601
區塊3 A 區塊4A 區塊5A 區塊6A 區塊7A 區塊8A 區塊1B 區塊2B 區塊3B 區塊4B 區塊5B 區塊6B 區塊7B 區塊8B 陣列 陣列 陣列 陣列 區塊1A 區塊2A 區塊3 A 區塊4A 區塊1B 區塊2B 132777.doc 1376601
624 區塊3B 626 區塊4B 628 區塊5B 630 區塊1 C 632 區塊2 C 634 區塊3 C 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 啟用信號 •31 · 132777.doc 1376601 812 814 816 818 820 822 824 826
902 904 906 908 909 910 1202
1206 1208 1210 程式化信號 位址鎖存器 列解碼器 行解碼器 感應/驅動器電路 資料緩衝器/鎖存器 資料暫存器 資料暫存器 查找表(LUT) 位址轉譯器 邏輯位址 位址 位址 處理器 已使用之區塊 備用區塊 相連空間 良好區塊 備用區塊 132777.doc -32-

Claims (1)

1376601 十、申請專利範圍: 1. 一種用於組織針對散布於兩個或兩個以上之全異記憶體 陣列之間的資料之匹配之區塊的存取之設備,該設備包 含: 位址轉譯器,其經組態以接收源 位址的至少一區塊部分,其中該區塊部分對應於一用於 選擇記憶體之區塊之位址範圍,其中該位址轉譯器經組 態以修改該等所接收之邏輯位址的至少該所接收之區塊 邛刀以產生第一經修改之位址或第二經修改之位址中之 至 > 者,其中該等第一經修改之位址係用於選擇該兩 個或兩個以上之§己憶體陣列中之一第一記憶體陣列的記 隐體區塊,其中該等第二經修改之位址係用於選擇該兩 個或兩個以上之記憶體陣列之—第二記憶體陣列的記憶 體區塊’其中該等第一經修改之位址與該等第二經修改 之位址經組態以使用詩該邏輯位址之一區塊部分的同 一邏輯位址來分別選擇㈣一記憶體陣列與該第二記憶 體陣列之匹配之區塊; 第一經修改之位址 體陣列;及 一第二列解碼器 第二經修改之位址 一第一列解,其與該位址轉譯器通信以接收該等 該第一列解碼器耦接至該第一記憶 其與該位址轉譯器通信以接收該等 該第二列解碼器搞接至該第二記情 體陣列,該第二列解碼器獨立於該第一列解碼器。W 2.如請求項!之設備,其中該位址轉譯器包含至少一查栈 132777.doc 1376601 表0 3·:請求項!之設備,其中該位址轉譯器、該第一列解碼 态、該第二列解碼器、該第一記憶體陣列及該第二記 體陣列係實施於一積體電路中。 4.如請求項^備,其中該位址轉譯器經進—步組態以 將該等所接收之邏輯位址轉譯成該兩個或兩個以上之記 憶體陣列中之每一者的經修改之位址。
5·如請求们之設備,其進—步包含針對該兩個或兩個以 上之記憶料列的反及快閃記憶體之兩個或兩個以 記憶體陣列。 6. 如請求们之設備’其令該位址轉譯器係可程式化的。 7. 如請求項1之設備,其中該位址轉譯器之至少一部分係 實施為-用於該第—記憶體陣列或該第二記憶體陣列之 可程式化列解碼器。
8·如請求们之設備,其中該設備係實施於一位於一記憶 體裝置之外之控制器中。 〜 9.、如請求w之設備,纟中該設備係實施於一記憶體裝置 内。 1、〇. -種匹配兩個或兩個以上之記憶體陣列之記憶體空間的 區塊以用於使用同-邏輯位址來存取與該等匹配區塊相 關聯之資料之方法,該方法包含: I一相連邏輯位 BJ T 1之琢兩個或兩個以上之記憶 體陣列中之-第-陣列的可用良好區塊與該兩個或兩個、 以上之記憶體陣列中之一第二陣列的可用良好區塊相關 132777.doc 聯’以使得該兩個或兩個以上之記憶體陣列之記憶體的 之良好區塊可藉由用於該邏輯位址之一區塊部分的 同邏輯位址來邏輯定址,其令與該第二陣列之該等良 二區塊相關聯的該第一陣列之該等可用良好區塊之至少 P刀八有不同實體位址,且其甲該第一陣列與該第二 陣列之該等相關聯之良好區塊即使具有全異實體位址而 仍可同時存取;及 儲存該等關聯以進行邏輯位址轉譯。 ".如請求項10之方法’其中儲存進一步包含程式化一或多 固—找表以儲存來自該兩個或兩個以上之記憶體陣列之 良好區塊的關聯及邏輯位址。 .如π求項11之方法’其進一步包含儲存代替邏輯位址之 一區塊部分之參數以儲存該等關聯。 .如。月求項11之方法,其進—步包含儲存與邏輯位址組合 之偏移以儲存該等關聯。 4·如明求項10之方法’其進一步包含經由一或多個列解碼 器之程式化來儲存該等關聯。 15.如請求項10之方法’其中相關聯包含: 判定一記憶體陣列之區塊是良好的還是不良的; 在-相連位址空間中針對該記憶體陣列之該等良好區 龙而自該記itn陣列之—開始位址開始來順序地使位址 相關聯;及 使該》己隐體陣列之該等不良區塊與位於該記憶體陣列 之-位址範圍之-末尾的位址相關聯。 132777.doc 16. 16. 如請求項10之方法 該方法。 其進—步包含在生產測試期間執行 17. 18. 如请求項10之方法 該方法。 其進一步包含在一現場應用中執行 —種修改位址以用於存取兩個或 陣列之方法,該方法包含: 兩個以上之全異記憶體 自-處理器接收邏輯位址以用於存取兩個或兩個以上 之全異s己憶體陣列的記憶體位置,其中該等邏輯位址之 區塊π分與#憶體陣列内之特定區塊的定址有關; 自該等邏輯位址及對應於一第一記憶體陣列之選定之 。己隐體區塊的所儲存之參數產生該第一記憶體陣列之第 ,,呈修改之位址以重新配置對該等選定之記憶體區塊之 存取,以使得針對該第一記憶體陣列而規定之至少最小 數目的良好記憶體區塊之至少一第一良好記憶體區塊群 組可在一相連邏輯記憶體位址空間中存取且使得不良區 塊未被定址於該相連邏輯記憶體位址空間内; 自該等邏輯位址及對應於一第二記憶體陣列之選定之 記憶體區塊的所儲存之參數產生該第二記憶體陣列之第 二經修改之位址以重新配置對該等選定之記憶體區塊之 存取’以使得針對該第二記憶體陣列而規定之至少最小 數目的良好記憶體區塊之至少一第二良好記憶體區塊群 組可在該相連邏輯記憶體位址空間中存取且使得不良區 塊未被定址於該相連邏輯記憶體位址空間内;及 使用該等第一經修改之位址及該等第二經修改之位址 132777.doc 1376601 來存取該第一記憶體陣列及該第二記憶體陣列之匹配之 區塊,以使得該等匹配之區塊可由該處理器使用該邏輯 位址之同一區塊部分來定址,且使得該等匹配之區塊即 使在該等匹配之區塊具有全異實體位址時仍可同時存 取。 如請求項18之方法,其中該等經修改之位址經修改以用 於將資料寫入至該兩個或兩個以上之記憶體陣列。
19. 20. 21. 22. 23. 如請求項18之方法,其中該等經修改之位址經修改以用 於將寊料讀取至該兩個或兩個以上之記憶體陣列。 如請求項18之方法,其中該等參數包含一用於邏輯位址 之區塊部分的替代物。 如請求項18之方法,其中該等參數包含用於產生該等第 一經修改之位址及該等第二經修改之位址之偏移。 如請求項18之方法,其中至少—第—良好記憶體區塊群 組包含至少該最小數目之良好記憶體區塊的所有該等良 好記憶體區;t鬼,且其中至少一第二良好記憶體區塊群組 包含至少該最小數目之良好記憶體區塊的所有該等良好 記憶體區塊。 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 TW200910088A (en) 2009-03-01
TWI376601B true 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)

Families Citing this family (41)

* 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
TWI406130B (zh) * 2009-03-10 2013-08-21 Phison Electronics Corp 資料處理系統、控制器及其搜尋特定記憶體區的方法
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
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
US10261876B2 (en) 2016-11-08 2019-04-16 Micron Technology, Inc. Memory management
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 旺宏電子股份有限公司 列解碼器及應用其之記憶體系統
JP7074454B2 (ja) * 2017-10-30 2022-05-24 キオクシア株式会社 計算機システムおよび制御方法
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

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI376601B (en) Block addressing for parallel memory arrays
US9367392B2 (en) NAND flash memory having internal ECC processing and method of operation thereof
US9870293B2 (en) Memory device performing post package repair (PPR) operation
TWI380313B (en) Programming management data for nand memories
US10430330B2 (en) Handling of unaligned sequential writes
US10761997B2 (en) Methods of memory address verification and memory devices employing the same
US20130166825A1 (en) Method Of Controlling Non-Volatile Memory, Non-Volatile Memory Controller Therefor, And Memory System Including The Same
US20110258362A1 (en) Redundant data storage for uniform read latency
US20240126701A1 (en) Methods of memory address verification and memory devices employing the same
US10229052B2 (en) Reverse map logging in physical media
JP2008527586A (ja) オンチップデータのグループ化および整列
US9734921B2 (en) Memory repair using external tags
US20100037102A1 (en) Fault-tolerant non-volatile buddy memory structure
JP2005346887A (ja) 半導体記憶装置
TWI501249B (zh) 晶片上之反及閘快閃記憶體及其損壞區塊管理方法
JP5870017B2 (ja) 不揮発性半導体記憶装置
US20130067141A1 (en) Data writing method, and memory controller and memory storage apparatus using the same
TWI774356B (zh) 記憶體元件、具有記憶體元件的系統及用於操作記憶體元件的方法
CN113168883B (zh) 具有使用冗余库的故障主库修复的存储器器件
JP2007310915A (ja) メモリカード及びメモリコントローラ
US11380417B1 (en) Circuit to reduce gating overall system performance
EP4181142A1 (en) Nonvolatile memory device and operation method thereof
JP2013246855A (ja) 半導体メモリ
JP2023530507A (ja) 冗長バンクを使用した故障メインバンクの修理を伴うメモリデバイス