CN101772810B - 用于并行存储器阵列的块寻址 - Google Patents

用于并行存储器阵列的块寻址 Download PDF

Info

Publication number
CN101772810B
CN101772810B CN2008801022316A CN200880102231A CN101772810B CN 101772810 B CN101772810 B CN 101772810B CN 2008801022316 A CN2008801022316 A CN 2008801022316A CN 200880102231 A CN200880102231 A CN 200880102231A CN 101772810 B CN101772810 B CN 101772810B
Authority
CN
China
Prior art keywords
address
memory
array
piece
good
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN2008801022316A
Other languages
English (en)
Other versions
CN101772810A (zh
Inventor
戴维·埃格尔斯顿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
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 CN101772810A publication Critical patent/CN101772810A/zh
Application granted granted Critical
Publication of CN101772810B publication Critical patent/CN101772810B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/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/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)

Abstract

本发明揭示设备及方法,其提供两个或两个以上存储器阵列(502、504)的块的关联映射(图5),使得可为了速度而以交替方式读取或可为了将数据提供到相对较宽的数据通道而平行地读取来自所述两个或两个以上存储器阵列的良好块的数据(例如数据页)。这避免需要处理器干预来存取数据且可通过在被配置的情况下提供交替读取来自两个或两个以上阵列(502、504)的数据的能力而增加数据吞吐量。举例来说,当一个阵列正将数据加载到高速缓冲存储器(206/208)时,存储器装置可正在提供已经加载到所述高速缓冲存储器(206/208)的数据。

Description

用于并行存储器阵列的块寻址
技术领域
本发明的实施例大体上涉及集成电路。明确地说,本发明的实施例涉及存储器电路。
背景技术
半导体存储器装置普遍存在于数字电子装置中。这些装置的实例包括计算机、相机、数字媒体播放器、游戏机、个人数字助理、移动电话、导航装置、非易失性存储产品等。非易失性存储产品的实例包括紧凑快闪(CompactFlash,CF)卡、多媒体卡(MultiMediacard,MMC)、安全数字(SD)卡、快闪PC卡(例如,ATA快闪卡)、智能媒体(SmartMedia)卡、固态磁盘(SSD)、混合硬盘驱动器及存储棒。半导体存储器提供数据存储及检索。
存在许多类型的半导体存储器。存储器的实例包括各种类型的随机存取存储器(RAM)(包括SRAM、DRAM及SDRAM)、快闪存储器、电可擦除可编程只读存储器(EEPROM)、磁阻随机存取存储器(MRAM)、可编程导体存储器、铁电存储器等。在这些存储器内还存在许多子类型。
通常,存储器装置的存储器单元以一个或一个以上阵列来布置且通过激活适当字线(行)及位线(列)来存取。在大多数类型的存储器装置中,每一单元存储单个数据位。然而,一些单元(例如,快闪存储器单元)可以一个以上电平(每单元一个以上位)存储数据。
还可将存储器装置组织为若干页且进一步组织为若干块。举例来说,通常将NAND快闪组织为若干块及若干页。还可在NOR快闪、电可擦除可编程只读存储器(EEPROM)及可编程只读存储器(PROM)中找到此组织。块及页的大小可在非常广泛的范围中变化。2千兆字节(GB)存储器阵列的一个实例具有2,048个块,每一块具有64个页,每一页具有2,112个字节,其包括2,048个数据字节及64个备用字节(不包括备用块、页、行、列等等)。概念上,这在图1中说明。
可在测试期间识别不良或不可用的存储器单元。举例来说,存储器单元可能未能保持于特定逻辑状态、未能满足时序规格等等。在生产期间,可映射并通过用阵列中的额外或冗余行及/或列代替有缺陷的行及/或列来校正这些故障。此类型的故障通常通过个别行的内部地址与阵列内的地址的永久映射来处理且对于最终用户来说是透明的。
单元还可能在现场发生故障。举例来说,许多非易失性存储器类型可能在多个写入循环后磨损。一些存储器装置还可能包括错误校正码(ECC),且在可校正的限度内容忍不良单元。除非可通过某一形式的错误校正来校正,否则不应使用不良或不可用的存储器单元。不良或不可用的存储器单元可能影响较高阶存储器单位的可用性。举例来说,不良单元可能导致行不可用,且导致所述行的页不可用。存储器块还可具有备用页以替换不良页。当块的不充足数目的页可用时,可将所述整个块标记为不良块,且所述块的页中的任一者通常都不是可存取的。
在处理不良块时出现问题。可在不良块表中标记不良块。举例来说,如果在生产测试期间确定块是不良的,则可使用修复程序以用备用块来替换所述不良块。
参看图2,在一个实例中,两个或两个以上阵列存储来自数据总线的数据或将数据提供到数据总线。将数据页写入到阵列202、204或从阵列202、204读取数据页所花费的时间可能长于将数据页写入到高速缓存寄存器206、208或从高速缓存寄存器206、208读取数据页所花费的时间。为了速度,可布置存储器以使得首先写入或读取来自一个阵列202的页,接着写入或读取来自第二阵列204的页,接着将新的页写入到第一阵列202或从第一阵列202读取新的页,等等。这被称为“乒乓”且是快速的,因为当正在写入或读取来自另一高速缓冲存储器的数据的同时,可将来自交替阵列的数据预加载到适用高速缓存寄存器206、208中。其它寄存器210、212可辅助写入或取出数据。如果阵列202、204位于同一芯片上,则可共享高速缓存寄存器206、208,即,通常将仅存在一个高速缓存寄存器。
然而,如果地址不是按顺序的,则可能不会有效地发生预加载。举例来说,当使用两个8位芯片来提供数据时,则通常共享被提供到所述两个芯片的地址线,且地址线的最低有效位(LSB)是冗余的。在具有多个阵列的常规芯片中,不仅共享地址线,而且还通常在多个阵列之间共享行解码器。当阵列的块是不良的时,修复解决方案可将不同块映射到同一逻辑地址作为良好块。然而,激活用于所述替换块的一组不同行线可能显著加长写入或读取时间,因为(举例来说)接着从存储器装置内存取两个不同物理存储器位置以进行写入或读取。这在图3中展示。
图3说明用于使来自两个不同存储器阵列302、304的块成对的常规技术的实例。可使两个以上存储器阵列“成对”或匹配,即,相关联以用于一起存储及检索。在另一实例中,使4个阵列或8个阵列“成对”。在所说明的实例中,来自存储器阵列A 302的前四个块(1A到4A)306、308、310、312是良好的。来自存储器阵列B 304的第一块1B 314、第二块2B 316及第四块4B 320是良好的。然而,存储器阵列B 304的第三块3B 318是不良的。第一块1A 306与第一块1B 314成对。第二块2A 308与第二块2B316成对。第四块4A 312与第四块4B 320成对。
然而,来自阵列A 302的第三块3A 310不与来自阵列B 304的第三块3B 318成对,因为第三块3B 318是不良的且不是可用的。而是,第三块3A 310与来自阵列B的另一块XB 322成对。通常,在阵列的末尾处(就物理地址来说)的良好块是备用块,且所使用的另一块XB 322选自所述备用块中的一者。举例来说,块XB 322可为被指定具有至少2,048个良好块的阵列的第2,050个块。第三块3A 310与另一块XB 322位于不同物理地址处,且当将数据页存储到每一者或从每一者检索数据页时,使用两个单独存取且在无“乒乓”的情况下在内部存取来自第三块3A 310的页及来自块XB 322的页。这降低了性能。举例来说,图3中所说明的技术通常使用某一形式的内部控制器干预来选择替换块并组合来自单独内部存储器读取的数据,这进一步减慢了存取。
针对数据使用多个阵列是常见的。在具有多个数据通道的系统中,针对数据流可能存在来自多个阵列的数据。可使若干块成对的另一实例是当数据总线相对较宽(例如,在32位宽的数据总线中)且四个存储器阵列中的每一者处理32个数据位中的8个位时。
图4说明用于使来自两个不同存储器阵列402、404的块成对的常规技术的实例。在此技术中,跳过不良块的整个物理地址,且使用具有两个或两个以上良好块的下一物理地址。此技术仍通常使用控制器干预来管理物理地址的跳跃。在所说明的实例中,来自存储器阵列A402的前四个块(1A到4A)406、408、410、412是良好的。来自存储器阵列B 404的第一块1B 414、第二块2B 416及第四块4B 420是良好的。然而,存储器阵列B 404的第三块3B 418是不良的。第一块1A 406与第一块1B 414成对。第二块2A408与第二块2B 416成对。第四块4A412与第四块4B 420成对。
然而,来自阵列A 402的第三块3A 410不与来自阵列B 404的第三块3B 418成对,因为第三块3B 418是不良的且不是可用的。与仍使用块3A 310的图3的实例相反,在图4的实例中,尽管第三块3A 410是良好的,但将其保持为不成对且不使用。这保留阵列402、404在读取相关联的块的各页时为了速度而进行“乒乓”的能力,因为以此方式布置的成对块使用相同物理地址且可通过共享行解码器激活相同行来存取。然而,并不利用第三块3A410(尽管其具有可行性)且实际上将其处理为不良块。这减小了阵列的可用块的数目,且如果良好块的有效数目下降到低于所指定的最小值,则这可能降低生产良率并增加生产成本。
发明内容
本发明的实施例有利地准许控制器或其类似物使用同一逻辑地址来寻址来自全异阵列的匹配块的数据。举例来说,对存储器阵列的一个或一个以上良好块的地址进行映射以使得控制器在存取来自全异阵列的具有不同物理地址的匹配块的数据时不需要在两个或两个以上不同逻辑地址之间来回切换。独立的行解码器准许将具有全异物理地址的匹配块的数据页同时存储到多个阵列或从多个阵列同时检索具有全异物理地址的匹配块的数据页。这可准许在(例如)多通道数据总线、乒乓式阵列等中相对有效地存取数据。
一个实施例是一种用于组织针对散布于两个或两个以上全异存储器阵列之间的匹配数据块的存取的设备,其中所述设备包括:地址转换器,其经配置以接收源自处理器的逻辑地址的至少一块部分,其中所述块部分对应于用于选择存储器块的地址范围,其中所述地址转换器经配置以修改所接收逻辑地址的至少所述所接收块部分以产生第一经修改地址或第二经修改地址中的至少一者,其中所述第一经修改地址用于选择所述两个或两个以上存储器阵列中的第一存储器阵列的存储器块,其中所述第二经修改地址用于选择所述两个或两个以上存储器阵列中的第二存储器阵列的存储器块,其中所述第一经修改地址及所述第二经修改地址经配置以针对逻辑地址的块部分使用同一逻辑地址来分别选择第一存储器阵列及第二存储器阵列的匹配块;第一行解码器,其与地址转换器通信以接收第一经修改地址,所述第一行解码器耦合到第一存储器阵列;及第二行解码器,其与地址转换器通信以接收第二经修改地址,所述第二行耦合到第二存储器阵列,所述第二行解码器独立于所述第一行解码器。
一个实施例是一种匹配两个或两个以上存储器阵列的存储器空间块以用于使用同一逻辑地址来存取与所述匹配块相关联的数据的方法,其中所述方法包括:在邻接逻辑地址空间中使所述两个或两个以上存储器阵列中的第一阵列的可用良好块与所述两个或两个以上存储器阵列中的第二阵列的可用良好块相关联,使得所述两个或两个以上存储器阵列的匹配的良好存储器块可针对逻辑地址的块部分用同一逻辑地址来逻辑寻址,其中第一阵列的与第二阵列的良好块相关联的可用良好块的至少一部分具有不同物理地址,且其中第一阵列及第二阵列的相关联的良好块即使具有全异物理地址仍可同时存取;及存储所述关联以用于逻辑地址转换。
一个实施例是一种修改地址以用于存取两个或两个以上全异存储器阵列的方法,其中所述方法包括:从处理器接收逻辑地址以用于存取两个或两个以上全异存储器阵列的存储器位置,其中所述逻辑地址的块部分与存储器阵列内的特定块的寻址有关;根据逻辑地址及对应于第一存储器阵列的选定存储器块的所存储参数产生第一存储器阵列的第一经修改地址以重新布置对所述选定存储器块的存取,使得针对第一存储器阵列而指定的至少最小数目的良好存储器块的至少第一良好存储器块群组可在邻接逻辑存储器地址空间中存取且使得不良块不被寻址于所述邻接逻辑存储器地址空间内;根据逻辑地址及对应于第二存储器阵列的选定存储器块的所存储参数产生第二存储器阵列的第二经修改地址以重新布置对所述选定存储器块的存取,使得针对第二存储器阵列而指定的至少最小数目的良好存储器块的至少第二良好存储器块群组可在邻接逻辑存储器地址空间中存取且使得不良块不被寻址于所述邻接逻辑存储器地址空间内;及使用所述第一经修改地址及所述第二经修改地址来存取第一存储器阵列及第二存储器阵列的匹配块,使得所述匹配块可由处理器针对所述逻辑地址使用同一块部分来寻址,且使得所述匹配块即使在所述匹配块具有全异物理地址时仍可同时存取。
附图说明
提供本文中的这些图式及相关联描述以说明实施例且其并不希望为限制性的。
图1说明存储器架构,其在阵列内具有多个页及块。
图2说明从多个存储器读取以用于快速存取或用于并行存取。
图3说明使来自不同存储器阵列的块成对的现有技术的技术,其导致对数据的相对缓慢存取。
图4说明使来自不同存储器阵列的块成对的现有技术的技术,其导致低效地利用存储器空间。
图5说明共同映射两个阵列的块的实例。
图6说明共同映射四个阵列的块的实例。
图7说明控制器、地址转换器及存储器装置的实例。
图8是具有地址转换器的存储器芯片的示意图。
图9说明用于实施地址转换的查找表(LUT)的实例。
图10是大体说明共同块映射的流程图。
图11是大体说明阵列内的块映射的流程图。
图12A及图12B说明存储器映象的实例。
具体实施方式
尽管在本文中描述特定实施例,但所属领域的技术人员将明白本发明的其它实施例,其中包括并不提供本文中所陈述的所有益处及特征的实施例。
本发明的一个实施例提供两个或两个以上存储器阵列的块的关联映射,使得来自所述两个或两个以上存储器阵列的良好块的数据(例如数据页)可为了速度而以交替方式写入或读取或可平行地写入或读取以用于将数据提供到相对较宽的数据通道。举例来说,这避免控制器干预来存取散布于全异行中的相关联数据且可通过在被配置的情况下提供交替读取来自两个或两个以上阵列的数据的能力而增加数据吞吐量。举例来说,当正将来自一个阵列的数据加载到高速缓冲存储器时,可读取已经加载到所述高速缓冲存储器的来自另一阵列的数据。在一个实例中,所映射的块对应于快闪装置的最小可擦除实体。在另一实例中,所映射的块对应于相对较大数目的存储器单元。另外,阵列的相对少数的良好块变得不使用。
图5说明共同映射两个阵列的块的实例。所述共同映射的原理及优势可应用于非常广泛范围的数目的阵列。举例来说,图6说明共同映射四个阵列的块的实例。可在制造期间或稍后在现场将块的状态确定为良好或不良。可使用广泛各种技术来确定块是良好的还是不良的。将容易由所属领域的技术人员来确定一种适用技术。此外,如果(例如)适用存储器单元属于不可由错误校正码(ECC)校正的一个其它错误或适用存储器单元接近磨损限度等等,则可能需要将块标记为不良(即使其是良好的)。
理想地,阵列的良好块被一起逻辑寻址,使得存取电子处理单元(例如,控制器、处理器、CPU或其它装置)可从所述阵列快速平行地读取数据而不必作出地址跳跃或不必单独地从阵列读取数据。在一个实施例中,良好块经逻辑重新布置以形成连续可寻址的良好存储器块。在一个实施例中,执行映射以使得良好块被映射到相对较低的地址,且不良块或不使用的备用块(如果存在)被映射到相对较高的地址。不使用的块(不良块或备用块)的映射不是关键的。将在下文中结合图12A及图12B来描述实例。在一个实例中,并未在阵列之间共享用于存储器装置的行解码器。这准许独立于阵列来进行存储器块的行寻址。可容易在生产测试时供应对行解码器或地址转换器的此编程以跳过阵列中的不良块并保持良好块的邻接映射。另外,还可供应对在现场发生故障的块的修复。举例来说,可使用一组熔断器来存储修复解决方案。可对熔断器进行编程以识别对应于已变为不良的原始块的逻辑地址范围。当遇到所述逻辑地址范围时,用良好块(先前为冗余的)来代替所述不良块。所述熔断器可为基于快闪的熔断器,其准许针对基于现场的修复而重新编程修复解决方案。
参看图5,阵列A 502与阵列B 504的块共同地相关联。阵列A 502与阵列B 504可位于同一芯片上或位于不同芯片上。阵列A 502与阵列B 504的块具有逻辑地址506、508且具有内部地址510、512。逻辑地址506、508由存取存储器的装置(例如,控制器、处理器、CPU等)来使用。内部地址510、512与阵列内的原始物理地址有关。
出于论述的目的,将大体上使用内部地址510、512作为对块的参考来描述图5。在所述实例中,对于阵列A 502,展示具有内部地址1A的块514、具有内部地址2A的块516、具有内部地址3A的块518、具有内部地址4A的块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 536、5B 538、7B 542及8B 544是良好的,且块3B 534及6B 540是不良的。
块1A 514与块1B 530成对,且两者被映射于所述块的开始逻辑地址处,所述开始逻辑地址通常为块的第一页的0。块2A 516与块2B 532成对,且两者被映射于下一块地址(即,第一页的第二逻辑块地址)处。这通常为从0的固定偏移且通常依据块的页数目而变化。
不良的块3B 534并未有意成对,且被映射到不使用的地址,例如映射到接近阵列的地址范围的末尾的地址。在一个实施例中,当遇到不良块时,映射过程首先以最后可用块地址(最高地址)开始来重新映射不良块,且逐渐地将不良块映射到较低地址。这准许将良好块映射在位于阵列的块的开始(开始块地址)处的第一邻接地址空间中,且将不良块映射在位于地址范围的末尾处的第二邻接地址空间中。将良好块映射到相对较大的邻接地址空间为用户提供了相对较大的可用存储器区域。然而,将容易由所属领域的技术人员来确定用于分离良好块与不良块的逻辑地址的其它技术。
块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 540是不良的且不成对,且被映射朝向阵列B 504的地址的末尾。块7A 526与块8B 544成对且被映射到第六逻辑块地址。
通过上文所描述的映射,每一对良好块具有匹配的逻辑地址506、508且来自两个阵列502、504的块可用于被同时存取以通过(例如)对连续地址的数据写入或读取来快速存取数据。在一个实施例中,来自阵列A 502的数据页与来自阵列B 504的数据页交错以准许控制器在写入或读取数据页时在阵列502、504之间来回地“乒乓”。
图6说明共同映射四个阵列602、604、606、608的块的实例。展示每一阵列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 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 632及块4D 646是不良块且被映射到位于用于良好块的邻接地址空间之外的地址空间。举例来说,所述不良块可被映射到地址空间的末尾。
上文所描述的块的匹配或“成对”保留了用于存取存储器的地址的连续性,这准许通过在阵列之间交替来快速地读取存储器的块且/或准许平行地从阵列读取数据。然而,并不是必须以顺序内部地址次序来映射所述块以便保持连续逻辑地址的益处。在一个实施例中,顺序地寻址数据(如由控制器、处理器或CPU所见),但存储器芯片内的物理块的实际排序可变化且将通常对于控制器或处理器来说是透明的。在一个实施例中,使用熔断器(例如,快闪熔断器)来实施映射以存储映射数据。可最初在生产测试期间确定映射并在现场更新映射。在一个实施例中,熔断器位于行解码器之外,但影响解码解决方案。举例来说,熔断器可为地址转换器电路的部分,可为超驰正常行解码的超驰电路的部分,等等。在另一实施例中,熔断器提供行解码器自身的可编程性。
图7说明控制器702、地址转换器704及存储器装置706的实例。控制器702表示使用存储器装置706的控制器或其它处理器。其它控制器或处理器也可经由(例如)直接存储器存取(DMA)708来使用存储器装置706。地址转换器704提供适用于存储器装置706的块的地址的映射及/或重新映射。
在一个实施例中,地址转换器704在存储器装置706之外,如图7中所示。这准许使用现有存储器装置706,且准许每一地址转换器704使用相对较多个存储器装置706。
在另一实施例中,地址转换器704是存储器装置706的部分。应注意,单个存储器装置706可存储多个存储器阵列。地址转换器704可替代地与控制器702集成,与DMA控制器集成,或为单独芯片。在一个实施例中,地址转换器将由使用存储器装置706的装置(例如,控制器702)所看见的逻辑地址转换或映射成用以从存储器装置706检索数据的地址。可将映射信息存储于查找表(LUT)中。在所说明的实施例中,将存储器的块寻址(地址的块部分)朝向地址的最高有效位(msb)部分,而将页(如果存在)及字节寻址朝向地址的最低有效位(1sb)部分。在既定以“乒乓”方式来读取阵列的页的情况下,则其地址转换可相应地变化。
图8是具有地址转换器802的存储器芯片800的示意图。在所说明的实例中,存储器芯片800具有存储器阵列A 804及存储器阵列B 806。为清晰起见,并未展示用于存储器阵列B 806的杂项支持电路,且在一个实施例中,所述杂项支持电路与针对存储器阵列A 804所描述的杂项支持电路相同。当实施于同一芯片上时,两个阵列804、806可共享高速缓存寄存器808。
地址转换器802接收逻辑地址作为输入且提供经转换的地址作为输出。逻辑地址可源自(例如)耦合到输入/输出电路809的控制器、处理器、CPU等。在一个实施例中,可经由启用信号810来选择性地启用或停用地址转换器的转换功能。地址转换器802还可具有用于编程的模式及用于正常使用的模式,其可用编程信号812来加以选择。举例来说,地址转换器802可在生产测试期间经编程以将良好块映射到邻接地址空间。
将地址转换器802的输出提供到用于阵列A 804的地址锁存器814及用于阵列B 806的另一地址锁存器(未图示)。阵列A 804与阵列B 806之间的映射可为不同的,因此被锁存的地址也可为不同的。应注意,地址转换器802通常不必转换地址总线的每个位,但应至少转换用于选择块的地址位。
将地址锁存器A 814的输出提供作为对行解码器816的输入。在一个实施例中,用于存储器阵列A 804的行解码器816独立于用于存储器阵列B 806的行解码器。这准许以共用逻辑地址同时存取来自存储器阵列A 804及存储器阵列B 806的全异物理数据页(就物理行地址来说为不同的)。在一个实施例中,还可映射行解码器816以校正行及/或列中的不良存储器位置。举例来说,如果块在现场变为不良的,则可对一组熔断器进行编程以检测所述不良块的地址范围并用另外冗余块代替以修复阵列。行解码器816选择适当的行以读取数据。举例来说,在NAND快闪的情形下,行解码器816可激活特定行(也被称为字线),且可“接通”其它相关行以使得可对选定行的特定单元进行写入或读取。
还将地址锁存器814的输出提供作为对列解码器818的输入。在一个实施例中,用于行解码器816的地址由地址转换器802来转换,但用于列解码器818的地址并未转换。感应/驱动器电路820与列解码器818及阵列A 804通信以将数据写入到阵列A 804或从阵列A 804读取数据。数据缓冲器/锁存器822存储来自输入/输出电路809的数据以用于存储在存储器阵列A 804中,且数据寄存器824、826分别存储从存储器阵列A 804、存储器阵列B 806检索的数据。高速缓存寄存器808提供来自数据寄存器824、826的数据以用于快速存取所述数据。如果存储器阵列A 804与存储器阵列B 806不在同一芯片上,则将通常不共享高速缓存寄存器808。
图9说明用于实施地址转换的查找表(LUT)902的实例。在一个实施例中,将查找表902实施为可编程非易失性存储器,例如EEPROM或快闪存储器(NOR或NAND)。在一个实施例中,通过在生产测试期间编程查找表902并在操作期间使用所述所编程的查找表来实施地址转换器904。在一个实施例中,查找表902还可在现场重新编程(例如,经由固件或状态机控制)。查找表902可替代地由在使用之前加载有适当数据的易失性存储器装置(例如,静态RAM)来实施,这可在使用期间提供更快的速度。
在所说明的实施例中,地址转换器904接收逻辑地址906作为输入,且提供两个或两个以上地址908、909作为输出。逻辑地址906并不需要为全地址(例如,可为用于寻址块的地址的部分)。一个地址908可用于寻址一个阵列的数据,且另一地址909可用于寻址所述对中的另一阵列的数据。在所说明的实施例中,转换两个阵列的地址以实现CPU的有效数据存取。举例来说,如果数据在邻接地址处可用,则CPU可更快速地读取所述数据。
然而,阵列的地址可保持未经转换,且其它阵列的良好块的地址被转换以与所述未经转换的阵列的未经转换的地址匹配。举例来说,在编程过程期间,地址转换器904可经配置以将逻辑地址906传递到一个或一个以上经转换的地址908、909而无修改。经转换的地址908、909可彼此不同以使得可有效检索来自全异地址的块的数据。当地址转换器904被启用以进行转换操作时,可将逻辑地址906应用于查找表902作为关于存储器位置的地址,且可从查找表902的所存储数据检索经转换的地址908。
在所说明的实施例中,查找表902具有两个阵列的映射。在另一实施例中,查找表902可存储两个以上阵列的映射。另外,查找表902可替代地经配置以将每一阵列的每一映射存储于单独表中。在一个实施例中,处理器910(例如,微处理器、微控制器、可获许可的核心、状态机等)经配置以产生存储于查找表902中的映射。处理器910可为存储器装置的部分,可为系统中的单独芯片,可为使用存储器的装置的处理器,等等。在一个实施例中,由测试装备实施处理器910。可以多种方式实施查找表902。举例来说,在一个实施例中,仅将存储器块层级处的地址数据的块地址部分(例如,所述地址内的位范围)存储于查找表902中,且组合来自CPU的地址的剩余部分以形成存储器阵列的完整地址。因此,块地址的被重新映射的部分可使用参数(例如,所述地址的所述部分的替换数据)来重新映射。举例来说,在另一实施例中,查找表902存储用于产生新地址的偏移而非地址本身,且用于重新映射的参数可为所述偏移。
图10是大体上说明共同块映射的流程图。熟练的专业人员将了解,可以多种方式来修改所说明的过程。举例来说,在另一实施例中,所说明的过程的各个部分可被组合,可以替代顺序来重新布置,可被移除,等等。可使用所说明的过程来匹配两个或两个以上存储器阵列的块。
所述过程通过将阵列(例如,阵列“A”)的良好块的至少一部分映射1002在邻接地址空间(逻辑地址)中来开始。在一个实施例中,邻接部分包括用以提供足够存储器空间来满足所述阵列的指定存储器容量的至少足够的良好块。因此,所述至少足够的良好块可包含少于所有良好块的良好块。在一个实施例中,邻接块的部分包括所有良好块,如图12A中所示。在另一实施例中,邻接块的部分仅包括所述良好块的一部分,所述部分足以提供足够存储器空间来满足所述阵列的指定存储器容量,如图12B中所示。稍后将结合图11来更详细地描述用于执行映射1002的过程的一个实施例。
再次参看图10,所述过程前进到将一个或一个以上其它阵列(例如,阵列“B”)的良好块的至少若干部分映射1004到同一邻接地址空间。将良好块映射到同一邻接地址空间确保如此映射的阵列块共享相同逻辑地址以实现有效存取。举例来说,不同阵列可使用独立行解码器以准许同时存取位于全异物理地址处的块。
所述过程前进到存储1006映射以用于地址转换到各个存储器阵列的特定块。在一个实施例中,如较早结合图9所描述,所述映射存储于查找表中。在另一实施例中,阵列的特定映射是通过编程用于所述阵列的行解码器来存储的。
图11是大体上说明阵列内的块映射的流程图。所说明的过程将阵列的良好块映射到邻接地址空间中。可在必要时针对其它阵列而重复所述过程。熟练的专业人员将了解,可以多种方式来修改所说明的过程。举例来说,在另一实施例中,所说明的过程的各个部分可被组合,可以替代顺序来重新布置,可被移除,等等。
所述过程通过对变量进行初始化1102来开始。在流程图中,n指示物理或内部块编号(地址),且举例来说,可被初始化到0。变量i指示逻辑地址且应被初始化到阵列A的第一块的开始逻辑地址。出于论述的目的,变量i可始于0。
所述过程前进到确定1104块n(地址n)是否为良好的。举例来说,存储器装置通常在已知良好存储器空间中具有在生产测试期间填入(且可在使用期间由(例如)控制器来更新)的参考表,其指示哪些存储器块是良好的且哪些存储器块是不良的。如果块是不良的,则所述过程将块编号n存储1106于不良块表中。所述过程从阶段1106前进到决定块1110。
如果块是良好的,则所述过程使逻辑地址i与块编号n相关联1108。所述过程从阶段1108前进到决定块1110。
所述过程确定1110是否完成了正被处理的阵列的块。如果尚未完成,则所述过程进行到阶段1112,在所述阶段1112处所述过程使块编号n递增以预备处理下一块。所述过程接着从阶段1112返回到决定块1104。
如果所述过程已完成,则所述过程从决定块1110前进到阶段1114,在所述阶段1114中所述过程使在阶段1106中所收集的不良块与位于查找表末尾的地址相关联或将在阶段1106中所收集的不良块映射到行解码器的地址范围的末尾。可替代地在所述过程的不同点处(例如,在阶段1106中)将不良块映射到查找表的末尾。可针对其它相关联的阵列而重复所述过程。结合图11而描述的过程的一个优势是可将个别阵列的块处理为可寻址于邻接块中,使得不需要知道其它阵列的良好块的位置。
图12A说明存储器阵列的存储器映象的实例,其中所有良好块(不管是已使用的块1202还是备用块1204)被映射到逻辑存储器地址的邻接空间1206。图12B说明存储器阵列的存储器映象的另一实例,其中待使用的良好块1208被映射到逻辑地址的邻接空间,且作为备用块1210的良好块被映射到不与所使用的良好块的地址空间邻接的地址空间。
上文已描述了各种实施例。尽管参看这些特定实施例来描述,但所述描述既定为说明性的,而不希望为限制性的。在不背离如所附权利要求书中所界定的本发明的真实精神及范围的情况下,所属领域的技术人员可作出各种修改及应用。

Claims (23)

1.一种用于组织针对散布于两个或两个以上全异存储器阵列之间的匹配数据块的存取的设备,所述设备包含:
地址转换器,其经配置以接收源自处理器的逻辑地址的块部分,其中所述块部分对应于用于选择存储器块的地址范围,其中所述块包括快闪存储器的可擦除实体,其中所述地址转换器经配置以修改所述所接收逻辑地址的所述所接收块部分以产生第一经修改地址或第二经修改地址,其中所述第一经修改地址用于选择所述两个或两个以上存储器阵列中的第一存储器阵列的存储器块,其中所述第二经修改地址用于选择所述两个或两个以上存储器阵列中的第二存储器阵列的存储器块,其中所述第一经修改地址及所述第二经修改地址经配置以针对所述逻辑地址的块部分使用同一逻辑地址来分别选择所述第一存储器阵列及所述第二存储器阵列的匹配块;
第一行解码器,其与所述地址转换器通信以接收所述第一经修改地址,所述第一行解码器耦合到所述第一存储器阵列;及
第二行解码器,其与所述地址转换器通信以接收所述第二经修改地址,所述第二行解码器耦合到所述第二存储器阵列,所述第二行解码器独立于所述第一行解码器。
2.根据权利要求1所述的设备,其中所述地址转换器包含至少一个查找表。
3.根据权利要求1所述的设备,其中所述地址转换器、所述第一行解码器、所述第二行解码器、所述第一存储器阵列及所述第二存储器阵列实施于集成电路中。
4.根据权利要求1所述的设备,其中所述地址转换器进一步经配置以针对所述两个或两个以上存储器阵列中的每一者将所述所接收逻辑地址转换成经修改地址。
5.根据权利要求1所述的设备,其进一步包含用于所述两个或两个以上存储器阵列的两个或两个以上NAND快闪存储器阵列。
6.根据权利要求1所述的设备,其中所述地址转换器是可编程的。
7.根据权利要求1所述的设备,其中所述地址转换器的至少一部分被实施为用于所述第一存储器阵列或所述第二存储器阵列的可编程行解码器。
8.根据权利要求1所述的设备,其中所述设备实施于位于存储器装置之外的控制器中。
9.根据权利要求1所述的设备,其中所述设备实施于存储器装置内。
10.一种匹配块的方法,所述方法包含:
在邻接逻辑地址空间中使两个或两个以上存储器阵列中的第一阵列的可用良好块与所述两个或两个以上存储器阵列中的第二阵列的可用良好块相关联,使得所述两个或两个以上存储器阵列的匹配的良好存储器块可针对所述逻辑地址的块部分用同一逻辑地址来逻辑寻址,其中与所述第二阵列的所述良好块相关联的所述第一阵列的所述可用良好块的至少一部分具有不同物理地址,其中所述第一阵列及所述第二阵列的所述相关联的良好块即使具有全异物理地址仍可同时存取,且其中所述块包括快闪存储器的可擦除实体;及
存储所述关联以用于逻辑地址转换。
11.根据权利要求10所述的方法,其中存储进一步包含编程一个或一个以上查找表以存储来自所述两个或两个以上存储器阵列的良好块与逻辑地址的关联。
12.根据权利要求11所述的方法,其进一步包含存储代替逻辑地址的块部分的替换数据以存储所述关联。
13.根据权利要求11所述的方法,其进一步包含存储与逻辑地址组合的偏移以存储所述关联。
14.根据权利要求10所述的方法,其进一步包含经由对一个或一个以上行解码器的编程来存储所述关联。
15.根据权利要求10所述的方法,其中相关联包含:
确定存储器阵列的块是良好的还是不良的;
在邻接地址空间中针对所述存储器阵列的所述良好块而从所述存储器阵列的开始地址开始顺序地使地址相关联;及
使所述存储器阵列的所述不良块与位于所述存储器阵列的地址范围的末尾处的地址相关联。
16.根据权利要求10所述的方法,其进一步包含在生产测试期间执行所述方法。
17.根据权利要求10所述的方法,其进一步包含在现场应用中执行所述方法。
18.一种修改地址以用于存取两个或两个以上全异存储器阵列的方法,所述方法包含:
从处理器接收逻辑地址以用于存取两个或两个以上全异存储器阵列的存储器位置,其中所述逻辑地址的块部分与存储器阵列内的特定块的寻址有关,其中所述块包括快闪存储器的可擦除实体;
根据所述逻辑地址及对应于第一存储器阵列的选定存储器块的所存储参数产生所述第一存储器阵列的第一经修改地址以重新布置对所述选定存储器块的存取,使得针对所述第一存储器阵列而指定的最小数目的良好存储器块的第一良好存储器块群组可在邻接逻辑存储器地址空间中存取且使得不良块不被寻址于所述邻接逻辑存储器地址空间内;
根据所述逻辑地址及对应于第二存储器阵列的选定存储器块的所存储参数产生所述第二存储器阵列的第二经修改地址以重新布置对所述选定存储器块的存取,使得针对所述第二存储器阵列而指定的最小数目的良好存储器块的第二良好存储器块群组可在所述邻接逻辑存储器地址空间中存取且使得不良块不被寻址于所述邻接逻辑存储器地址空间内;及
使用所述第一经修改地址及所述第二经修改地址来存取所述第一存储器阵列及所述第二存储器阵列的匹配块,使得所述匹配块可由所述处理器针对所述逻辑地址使用同一块部分来寻址,且使得所述匹配块即使在所述匹配块具有全异物理地址时仍可同时存取。
19.根据权利要求18所述的方法,其中修改所述经修改地址以用于对所述两个或两个以上存储器阵列进行数据写入。
20.根据权利要求18所述的方法,其中修改所述经修改地址以用于对所述两个或两个以上存储器阵列进行数据读取。
21.根据权利要求18所述的方法,其中所述参数包含逻辑地址的块部分的代替物。
22.根据权利要求18所述的方法,其中所述参数包含用于产生所述第一经修改地址及所述第二经修改地址的偏移。
23.根据权利要求18所述的方法,其中第一良好存储器块群组包含所述最小数目的良好存储器块的所有所述良好存储器块,且其中第二良好存储器块群组包含所述最小数目的良好存储器块的所有所述良好存储器块。
CN2008801022316A 2007-07-03 2008-06-30 用于并行存储器阵列的块寻址 Active CN101772810B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/773,321 2007-07-03
US11/773,321 US20090013148A1 (en) 2007-07-03 2007-07-03 Block addressing for parallel memory arrays
PCT/US2008/068849 WO2009006442A1 (en) 2007-07-03 2008-06-30 Block addressing for parallel memory arrays

Publications (2)

Publication Number Publication Date
CN101772810A CN101772810A (zh) 2010-07-07
CN101772810B true CN101772810B (zh) 2013-03-27

Family

ID=40222341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801022316A Active CN101772810B (zh) 2007-07-03 2008-06-30 用于并行存储器阵列的块寻址

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 キオクシア株式会社 メモリシステム、制御方法およびメモリコントローラ

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4628451A (en) * 1982-02-12 1986-12-09 Hitachi, Ltd. Data processing apparatus for virtual memory system
US5835928A (en) * 1993-12-22 1998-11-10 International Business Machines Corporation Circuitry and method for relating first and second memory locations where the second memory location stores information from the first memory location
CN1396599A (zh) * 2001-07-09 2003-02-12 富士通株式会社 在刷新操作过程中读取数据并能纠错的半导体存储器件
US7219200B2 (en) * 1997-04-07 2007-05-15 Oki Electric Industry Co., Ltd. Method of accessing matrix data with address translation circuit that enables quick serial access in row or column directions

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2685770B2 (ja) * 1987-12-28 1997-12-03 株式会社東芝 不揮発性半導体記憶装置
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
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 川崎マイクロエレクトロニクス株式会社 データ検索装置
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 삼성전자주식회사 데이터 버스트 주파수를 증가시킬 수 있는 원낸드 플래시메모리 장치
WO2007066326A2 (en) * 2005-12-09 2007-06-14 Sandisk Il Ltd. Method for flash-memory management
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4628451A (en) * 1982-02-12 1986-12-09 Hitachi, Ltd. Data processing apparatus for virtual memory system
US5835928A (en) * 1993-12-22 1998-11-10 International Business Machines Corporation Circuitry and method for relating first and second memory locations where the second memory location stores information from the first memory location
US7219200B2 (en) * 1997-04-07 2007-05-15 Oki Electric Industry Co., Ltd. Method of accessing matrix data with address translation circuit that enables quick serial access in row or column directions
CN1396599A (zh) * 2001-07-09 2003-02-12 富士通株式会社 在刷新操作过程中读取数据并能纠错的半导体存储器件

Also Published As

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

Similar Documents

Publication Publication Date Title
CN101772810B (zh) 用于并行存储器阵列的块寻址
US7567466B2 (en) Non-volatile memory with redundancy data buffered in remote buffer circuits
US7663950B2 (en) Method for column redundancy using data latches in solid-state memories
US7224605B1 (en) Non-volatile memory with redundancy data buffered in data latches for defective locations
US7352635B2 (en) Method for remote redundancy for non-volatile memory
CN103871447B (zh) 与非门快闪存储器阵列及芯片及其存取、读取及管理方法
US7404031B2 (en) Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory
US8904086B2 (en) Flash memory storage system and controller and data writing method thereof
US20030149856A1 (en) Memory device with sector pointer structure
US20100146239A1 (en) Continuous address space in non-volatile-memories (nvm) using efficient embedded management of array deficiencies
US8667348B2 (en) Data writing method for non-volatile memory module and memory controller and memory storage apparatus using the same
US8943264B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
US20140089566A1 (en) Data storing method, and memory controller and memory storage apparatus using the same
US20190347037A1 (en) Data storage apparatus and system information programming method therefor
EP2002447B1 (en) Non-volatile memory and method with redundancy data buffered in remote buffer circuits
CN105825890A (zh) 存储器编程方法以及存储器装置
CN112154409A (zh) 超级块操作的时间指示符
EP2008283B1 (en) Non-volatile memory and method with redundancy data buffered in data latches for defective locations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant