CN114267392A - 存储器控制器、存储装置及其操作方法 - Google Patents
存储器控制器、存储装置及其操作方法 Download PDFInfo
- Publication number
- CN114267392A CN114267392A CN202110465657.5A CN202110465657A CN114267392A CN 114267392 A CN114267392 A CN 114267392A CN 202110465657 A CN202110465657 A CN 202110465657A CN 114267392 A CN114267392 A CN 114267392A
- Authority
- CN
- China
- Prior art keywords
- block
- plane
- memory
- blocks
- data
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开提供一种存储器控制器、存储装置及其操作方法。一种存储装置包括存储器装置和存储器控制器。存储器装置包括第一平面和第二平面,第一平面和第二平面各自包括被配置为存储用户数据的数据块、被配置为替换一个或更多个坏块的一个或更多个替换块、以及被配置为存储***信息的***块。存储器控制器被配置为当在第一平面中的一个或更多个替换块全部都被用于替换先前检测到的坏块之后在第一平面中检测到坏块时,用在第一平面中的***块当中选择的目标***块来替换检测到的坏块。
Description
技术领域
本文描述的一个或更多个实施方式涉及一种电子装置,更具体地,涉及一种存储装置及其操作方法。
背景技术
存储装置在诸如计算机或智能电话的主机装置的控制下存储数据。在结构上,存储装置配备有存储器装置,并且在一些情况下还可以包括用于控制存储器装置的存储器控制器。在其它情况下,存储器控制器可以从外部联接到存储器装置。
一般来说,存储器装置分为易失性存储器装置和非易失性器存储装置。易失性存储器装置仅在供电时存储数据。当供电中断时,存储的数据丢失。易失性存储器装置的示例包括静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。
非易失性存储器装置即使在供电中断时仍保持数据的存储。非易失性存储器装置的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM),电可擦ROM(EEROM)和闪存存储器。
发明内容
实施方式提供一种具有改进的坏块管理性能的存储器装置和该存储器装置的操作方法。
根据本公开的一个方面,提供一种存储装置,该存储装置包括:存储器装置,该存储器装置包括第一平面和第二平面,第一平面和第二平面各自包括被配置为存储用户数据的数据块、被配置为替换一个或更多个坏块的一个或更多个替换块、以及被配置为存储***信息的***块;以及存储器控制器,该存储器控制器被配置为当在第一平面中的一个或更多个替换块全部都被用于替换先前检测到的坏块之后在第一平面中检测到坏块时,用在第一平面中的***块当中选择的目标***块来替换检测到的坏块。
根据本公开的另一方面,提供一种操作存储装置的方法,该存储装置包括第一平面和第二平面,第一平面和第二平面各自包括被配置为存储用户数据的数据块、被配置为替换一个或更多个坏块的一个或更多个替换块、以及被配置为存储***信息的***块,该方法包括以下步骤:检测在第一平面中是否出现坏块;以及当在第一平面中的一个或更多个替换块全部都被用于替换先前检测到的坏块之后在第一平面中检测到坏块时,用在第一平面中的***块当中选择的目标***块来替换检测到的坏块。
根据本公开的又一方面,提供一种控制存储器装置的存储器控制器,该存储器装置包括第一平面和第二平面,第一平面和第二平面各自包括被配置为存储用户数据的数据块、被配置为替换一个或更多个坏块的一个或更多个替换块、以及被配置为存储***信息的***块,该存储器控制器包括:块管理器,该块管理器被配置为将包括在第一平面中的数据块中的至少一个和包括在第二平面中的数据块中的至少一个分配给超级块;以及操作控制器,该操作控制器被配置为在对超级块执行存储器操作时控制存储器装置执行同时驱动第一平面和第二平面的多平面操作,其中,当在第一平面中的一个或更多个替换块全部都被用于替换先前检测到的坏块之后在第一平面中检测到坏块时,块管理器被配置为用在第一平面中的***块当中选择的目标***块来替换检测到的坏块。
根据本公开的又一方面,提供一种操作存储装置的方法,该存储装置包括第一平面和第二平面,第一平面和第二平面各自包括被配置为存储用户数据的数据块、被配置为替换一个或更多个坏块的一个或更多个替换块、以及被配置为存储***信息的***块,该方法包括以下步骤:检测第一平面中的坏块;当没有替换块可用于替换第一平面中的坏块时,将存储在从第一平面中的***块当中选择的目标***块中的数据移动到第二平面中的替换块中的一个;以及用包括在第一平面中的目标***块替换坏块。
附图说明
现在将在下文中参照附图更全面地描述示例性实施方式;然而,它们可以以不同的形式实施,并且不应当被解释为限于本文阐述的实施方式。相反,提供这些实施方式是为了使得本公开彻底和完整,并且向本领域技术人员充分传达示例性实施方式的范围。
在附图中,为了图示清楚,可能夸大尺寸。应当理解,当一个元件被称为位于两个元件“之间”时,该一个元件可以是该两个元件之间的唯一元件,或者也可以存在一个或更多个中间元件。相同的附图标记始终表示相同的元件。
图1示出存储装置的实施方式。
图2示出存储器装置的实施方式。
图3示出存储器单元阵列的实施方式。
图4示出超级块的实施方式。
图5示出用于执行坏块替换的实施方式。
图6示出用于执行坏块替换的实施方式。
图7示出用于执行坏块替换的实施方式。
图8示出存储装置的操作的实施方式。
图9示出存储器控制器的实施方式。
图10示出可以应用存储装置的卡***的实施方式。
图11示出可以应用存储装置的固态驱动器(SDD)的实施方式。
图12示出可以应用存储装置的用户***的实施方式。
具体实施方式
本文公开的具体的结构描述或功能描述仅仅是说明性的,以用于描述根据本公开的实施方式的目的。根据本公开的实施方式能够以各种形式实现,并且不能被解释为限于本文阐述的实施方式。
图1是示出存储装置50的实施方式的图,该存储装置50可以包括存储器装置100和被配置为控制存储器装置100的操作的存储器控制器200。存储装置50可以是例如在主机300的控制下存储数据的装置。主机300的示例包括移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏控制台、电视机、平板电脑或车载信息娱乐装置。
根据例如主机300的主机接口的通信协议或标准,可以将存储装置50制造为各种类型的存储装置中的任何一种。存储装置50的示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式多媒体卡(eMMC)、缩小尺寸MMC(RS-MMC)、微型MMC(micro-MMC)、安全数字(SD)卡、迷你SD卡、微型SD卡、通用串行总线(USB)存储装置、通用闪存存储(UFS)装置、紧凑型闪存(CF)卡、智能媒体卡(SMC)和记忆棒。
可以将存储装置50制造成具有各种封装类型。示例包括层叠封装(PoP)、***级封装(SIP)、片上***(SoC)、多芯片封装(MCP)、板上芯片(COB)、晶片级制造封装(WFP)和晶片级层叠封装(WSP)。
存储器装置100可以在存储器控制器200的控制下存储数据。存储器装置100可以包括一个或更多个存储器单元阵列,每一个存储器单元阵列包括用于存储数据的多个存储器单元。每一个存储器单元可以被配置为例如存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
每个存储器单元阵列可以包括多个存储器块,每个存储器块包括一个或更多个存储器单元。一个存储器块可以包括多个页。在一个实施方式中,可以将页认为是用于在存储器装置100中存储数据或者用于读取存储在存储器装置100中的数据的单位。
存储器块可以是用于擦除数据的单位。存储器装置100的示例包括双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功率DDR(LPDDR)、RAMBUS动态随机存取存储器(RDRAM)、NAND闪存存储器、垂直NAND闪存存储器、NOR闪存存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)和自旋转移力矩随机存取存储器(STT-RAM)。出于例示的目的,将描述存储器装置100是NAND闪存存储器的情况。
存储器装置100从存储器控制器200接收命令和地址,并且访问对应存储器单元阵列中的由地址选择的区域。例如,存储器装置100可以对由地址选择的区域执行由命令指示的操作。在一个实施方式中,存储器装置100可以执行写入(编程)操作、读取操作和/或擦除操作。在编程操作中,存储器装置100可以在由地址选择的区域中编程数据。在读取操作中,存储器装置100可以从由地址选择的区域读取数据。在擦除操作中,存储器装置100可以擦除存储在由地址选择的区域中的数据。
在一个实施方式中,存储器装置100可以包括多个平面。每个平面可以包括多个存储器块。每个平面可以独立地执行读取操作、编程操作和擦除操作。在一个实施方式中,平面可以包括用于存储用户数据的数据块、用于存储用于执行存储装置50的操作的***信息的***块以及用于替换坏块的替换块(replacement block)。
存储器控制器200可以控制存储装置50的整体操作。当向存储装置50供电时,存储器控制器200可以执行固件(FW)。当存储器装置100是闪存存储器装置时,存储器控制器200可以执行诸如用于控制主机300和存储器装置100之间的通信的闪存转换层(FTL)的FW。
在一个实施方式中,存储器控制器200可以从主机300接收数据和逻辑块地址(LBA),并且可以将LBA转换成表示存储器装置100中将要存储数据的存储器单元的地址的物理块地址(PBA)。
响应于来自主机300的请求,存储器控制器200可以控制存储器装置100执行编程操作、读取操作、擦除操作和/或另一操作。在编程操作中,存储器控制器200可以向存储器装置100提供编程命令、PBA和数据。在读取操作中,存储器控制器200可以向存储器装置100提供读取命令和PBA。在擦除操作中,存储器控制器200可以向存储器装置100提供擦除命令和PBA。
在一个实施方式中,存储器控制器200可以独立于从主机300接收请求的过程而自主产生命令、地址和数据,并且可以将该命令、地址和数据发送到存储器装置100。例如,存储器控制器200可以向存储器装置100提供命令、地址和数据以执行后台操作,例如,用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在一个实施方式中,存储器控制器200可以例如根据预定(例如,交织)技术来控制至少两个存储器装置100以提高操作性能。在一个实施方式中,交织技术可以是允许至少两个存储器装置100的操作部分(operating section)彼此重叠的操作技术。
在一个实施方式中,存储器控制器200可以包括块管理器、操作控制器220和块信息存储部230。
当在一个平面中的数据块当中检测到坏块时,块管理器210可以用同一平面的***块来替换检测到的坏块。例如,存储器装置100可以包括第一平面和第二平面。可以包括在存储器装置100中的平面的数量不限于该实施方式。
当在第一平面中的数据块当中检测到坏块时,块管理器210可以用第一平面的替换块来替换检测到的坏块。当在第一平面的所有替换块都被用来替换坏块之后在第一平面中的数据块当中检测到坏块时,块管理器210可以用第一平面的***块来替换检测到的坏块。在块管理器210将存储在第一平面的***块中的数据移动到第二平面的替换块之后,块管理器210可以用该***块来替换第一平面中检测到的坏块。
在一个实施方式中,当***块存储的***信息的量小于或等于一个存储器块的存储容量时,块管理器210可以选择该***块作为用于替换坏块的存储器块。当***信息的量大于一个存储器块的存储容量时,***信息可以被划分并且存储在两个或更多个***块中。在一个实施方式中,***信息可以包括用于驱动存储装置50的固件信息、映射数据信息、用于错误恢复的重建信息和/或其它信息。
块管理器210可以将包括在第一平面中的数据块和包括在第二平面中的数据块分配给一个超级块(super block)。当在分配给超级块的数据块中检测到坏块时,块管理器210可以排除对应的坏块使其不被分配给超级块。当用另一个块来替换检测到的坏块时,块管理器210可以将经替换的块分配给对应的超级块。
在一个实施方式中,当在分配给超级块的数据块当中的在第一平面中的数据块中检测到坏块时,块管理器210可以用同一第一平面的***块来替换检测到的坏块。当用***块来替换检测到的坏块时,块管理器210可以更新超级块分配信息。
操作控制器220可以控制存储器装置100对超级块执行存储器操作。所述存储器操作可以是读取操作、编程操作或擦除操作。
在一个实施方式中,在对超级块的存储器操作中,操作控制器220可以控制存储器装置100执行同时驱动第一平面和第二平面的多平面操作(multi-plane operation)。在一个实施方式中,操作控制器220可以控制存储器装置100针对每个平面独立地执行对分配给超级块的数据块中的每一个执行的存储器操作。多平面操作可以是对分配给超级块的每个平面的数据块并行地(in parallel)执行存储器操作的操作。
块信息存储部230可以存储关于平面中包括的存储器块的种类和地址的块管理信息。块信息存储部230可以存储关于分配给超级块的存储器块的超级块分配信息。
主机300可以使用一种或更多种通信来与存储装置50通信。示例包括通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机***接口(SCSI)、火线、***组件互连(PCI)、PCI Express(PCIe)、非易失性存储器Express(NVMe)、通用闪存存储(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、注册DIMM(RDIMM)和减载DIMM(LRDIMM)。
图2是示出图1所示的存储器装置100的实施方式的图。参照图2,存储器装置100可以包括存储器单元阵列100、***电路120和控制逻辑130。
存储器单元阵列110包括通过行线RL连接到地址解码器121的多个存储器块BLK1至BLKz。多个存储器块BLK1至BLKz通过位线BL1至BLm连接到读/写电路123。多个存储器块BLK1至BLKz中的每一个包括多个存储器单元。在一个实施方式中,多个存储器单元可以是非易失性存储器单元。可以将(多个存储器单元当中的)连接到同一字线的存储器单元定义为一个物理页。存储器单元阵列110可以配置有一个或多个物理页。根据一个实施方式,存储器单元阵列110中的多个存储器块BLK1至BLKz中的每一个可以包括多个虚设单元。一个或更多个虚设单元可以串联连接在漏极选择晶体管和存储器单元之间以及源极选择晶体管和存储器单元之间。存储器装置的每一个存储器单元可以被配置为例如存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
***电路120驱动存储器单元阵列110。例如,***电路120可以驱动存储器单元阵列110来执行编程操作、读取操作和擦除操作。
***电路120可以包括地址解码器121、电压发生器122、读/写电路123、数据输入/输出电路124和感测电路125。地址解码器121通过行线RL连接到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和公共源极线。根据一个实施方式,字线可以包括正常字线和虚设字线。根据一个实施方式,行线RL还可以包括管选择线(pipe selectline)。
地址解码器121可以在控制逻辑130的控制下进行操作。地址解码器121从控制逻辑130接收地址ADDR。地址解码器121可以对接收到的地址ADDR中的块地址进行解码,并且根据解码的块地址在存储器块BLK1至BLKz当中选择至少一个存储器块。地址解码器121可以对接收到的地址ADDR中的行地址进行解码。地址解码器121可以根据解码的行地址从选定存储器块的字线当中选择至少一条字线。地址解码器121可以向选定字线施加从电压发生器122提供的操作电压Vop。
在编程操作中,地址解码器121可以向选定字线施加编程电压,并且可以向未选字线施加通过电压(例如,其电平低于编程电压的电平)。在编程验证操作中,地址解码器121可以向选定字线施加验证电压,并且可以向未选字线施加验证通过电压(例如,其电平高于验证电压的电平)。
在读取操作中,地址解码器121可以向选定字线施加读取电压,并且可以向未选字线施加读取通过电压(例如,其电平高于读取电压的电平)。
根据一个实施方式,以存储器块为单位执行存储器装置100的擦除操作。在擦除操作中,输入到存储器装置100的地址ADDR包括块地址。地址解码器121可以对块地址进行解码并且根据解码的块地址选择至少一个存储器块。在擦除操作中,地址解码器121可以向连接到选定存储器块的字线施加接地电压。
根据一个实施方式,地址解码器121可以对发送至其的地址ADDR中的列地址进行解码。可以将解码的列地址发送到读/写电路123。在一个示例中,地址解码器121可以包括以下组件:所述组件包括但不限于行解码器、列解码器和地址缓冲器。
电压发生器122可以基于提供给存储器装置100的外部电源电压来产生多个操作电压Vop。电压发生器122在控制逻辑130的控制下进行操作。在一个实施方式中,电压发生器122可以通过调节外部电源电压来产生内部电源电压。由电压发生器122产生的内部电源电压可以用作存储器装置100的操作电压。
在一个实施方式中,电压发生器122可以基于外部电源电压或内部电源电压来产生多个操作电压Vop。电压发生器122可以产生供存储器装置100使用的各种电压。例如,电压发生器122可以产生多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个未选读取电压。
为了产生具有各种电压电平的多个操作电压Vop,电压发生器122可以包括用于接收内部电源电压的多个泵浦(pumping)电容器。然后,可以通过在控制逻辑130的控制下选择性地激活多个泵浦电容器来产生多个操作电压Vop。多个产生的操作电压Vop可以由地址解码器121提供给存储器单元阵列110。
读/写电路123包括通过相应的第一位线BL1至第m位线BLm连接到存储器单元阵列110的第一页缓冲器PB1至第m页缓冲器PBm。第一页缓冲器PB1至第m页缓冲器PBm在控制逻辑130的控制下进行操作。
第一页缓冲器PB1至第m页缓冲器PBm与数据输入/输出电路124交换数据DATA。在编程操作中,第一页缓冲器PB1至第m页缓冲器PBm通过数据输入/输出电路124和数据线DL接收要存储的数据DATA。在编程操作中,当编程脉冲施加至选定字线时,第一页缓冲器PB1至第m页缓冲器PBm可以通过位线BL1至BLm将通过数据输入/输出电路124接收的数据DATA传输到选定存储器单元。可以根据传输的数据DATA对选定存储器单元中的存储器单元进行编程。
连接到通过其施加编程允许电压(例如,(参考)接地电压)的位线的存储器单元可以具有增大的阈值电压。连接到通过其施加编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可以保持不变。在编程验证操作中,第一页缓冲器PB1至第m页缓冲器PBm通过位线BL1至BLm(从选定存储器单元)读取存储在选定存储器单元中的数据DATA。
在读取操作中,读/写电路123可以通过位线BL从选定页的存储器单元读取数据DATA,并且可以将读取的数据DATA存储在第一页缓冲器PB1至第m页缓冲器PBm中。
在擦除操作中,读/写电路123可以浮置位线BL。在一个实施方式中,读/写电路123可以包括列选择电路。
数据输入/输出电路124通过数据线DL连接到第一页缓冲器PB1至第m页缓冲器PBm,并且可以在控制逻辑130的控制下进行操作。数据输入/输出电路124可以包括接收输入数据DATA的多个输入/输出缓冲器。在编程操作中,数据输入/输出电路124可以从外部控制器接收要存储的数据DATA。在读取操作中,数据输入/输出电路124向外部控制器输出从读/写电路123中的第一页缓冲器PB1至第m页缓冲器PBm发送的数据。
在读取操作或验证操作中,感测电路125可以响应于由控制逻辑130产生的允许位VRYBIT信号而产生参考电流。然后,感测电路125可以通过比较从读/写电路123接收的感测电压VPB和由参考电流产生的参考电压来向控制逻辑130输出通过信号或失败信号。
控制逻辑130可以连接到地址解码器121、电压发生器122、读/写电路123、数据输入/输出电路124和感测电路125。控制逻辑130可以控制存储器装置100的总体操作。控制逻辑130可以响应于从外部装置传输的命令CMD而进行操作。
在一个实施方式中,控制逻辑130可以通过响应于命令CMD和地址ADDR而产生数个信号来控制***电路120。例如,控制逻辑130可以响应于命令CMD和地址ADDR而产生操作信号OPSIG、行地址RADD、读/写电路控制信号PBSIGNALS和允许位VRYBIT。控制逻辑130可以向电压发生器122输出操作信号OPSIG,向地址解码器121输出行地址RADD,向读/写电路123输出读/写电路控制信号PBSIGNALS,并且向感测电路125输出允许位VRYBIT。此外,控制逻辑130可以响应于由感测电路125输出的通过信号PASS或失败信号FAIL来确定验证操作是已经通过还是失败。
图3是示出图2所示的存储器单元阵列的实施方式的图。参照图3,第一存储器块BLK1至第z存储器块BLKz共同连接到第一位线BL1至第m位线BLm。在图3中,为了便于描述,示出多个存储器块BLK1至BLKz当中的第一存储器块BLK1中包括的组件来代表其它存储器块BLK2至BLKz中包括的组件。
存储器块BLK1可以包括多个单元串CS1_1至CS1_m(其中m是正整数)。第一单元串CS1_1至第m单元串CS1_m分别连接到第一位线BL1至第m位线BLm。第一单元串CS1_1至第m单元串CS1_m中的每一个包括漏极选择晶体管DST、串联连接的多个存储器单元MC1至MCn(n是正整数)和源极选择晶体管SST。
第一单元串CS1_1至第m单元串CS1_m中的每一个中包括的漏极选择晶体管DST的栅极端子连接到漏极选择线DSL1。第一单元串CS1_1至第m单元串CS1_m中的每一个中包括的第一存储器单元MC1至第n存储器单元MCn的栅极端子分别连接到第一字线WL1至第n字线WLn。第一单元串CS1_1至第m单元串CS1_m中的每一个中包括的源极选择晶体管SST的栅极端子连接到源极选择线SSL1。为了便于描述,将描述第一单元串CS1_1的结构来代表其它单元串CS1_2至CS1_m的结构。
第一单元串CS1_1中包括的漏极选择晶体管DST的漏极端子连接到第一位线BL1。第一单元串CS1_1中包括的漏极选择晶体管DST的源极端子连接到第一单元串CS1_1中的第一存储器单元MC1的漏极端子。第一存储器单元MC1至第n存储器单元MCn彼此串联连接。第一单元串CS1_1中包括的源极选择晶体管SST的漏极端子连接到第一单元串CS1_1中的第n存储器单元MCn的源极端子。第一单元串CS1_1中包括的源极选择晶体管SST的源极端子连接到公共源极线CSL。在一个实施方式中,第一存储器块BLK1至第z存储器块BLKz可以共同连接到公共源极线CSL。
漏极选择线DSL1、第一字线WL1至第n字线WLn和源极选择线SSL1被包括在图2所示的行线RL中。漏极选择线DSL1、第一字线WL1至第n字线WLn和源极选择线SSL1由图2所示的地址解码器121控制。公共源极线CSL可以由图2所示的控制逻辑130控制。第一位线BL1至第m位线BLm由图2所示的读/写电路123控制。
图4是示出超级块的一个实施方式的图。参照图4,一个存储器装置可以包括多个平面Plane 1至Plane 4,每一个平面可以包括一个或更多个存储器块BLK1至BLKi(其中i是正整数)。每一个平面中包括的存储器块的数量可以在实施方式之间变化,例如,各个平面可以包括相同数量的存储器块,或者两个或更多个平面可以具有不同数量的存储器块。
平面可以是用于独立执行编程操作、读取操作或擦除操作的单元。因此,对于每个平面,存储器装置可以包括参照图2描述的地址解码器121和读/写电路123。
在一个实施方式中,超级块可以包括多个平面中包括的存储器块当中的在不同平面中的至少两个存储器块。例如,可以将多个平面Plane 1至Plane 4中的第一存储器块BLK1分配给第一超级块SB1。可以将多个平面Plane 1至Plane 4中的第二存储器块BLK2分配给第二超级块SB2,等等。以这种方式,可以将多个平面Plane 1至Plane4中的第i存储器块BLKi分配给第i超级块SBi。因此,一个存储器装置中的多个平面Plane 1至Plane 4可以包括第一超级块SB1至第i超级块SBi。
当要对分配给超级块的存储器块执行存储器操作时,存储器装置可以并行地执行针对每个平面的存储器操作。这可以被描述为例如多平面操作。存储器操作可以是读取操作、编程操作或擦除操作。
图5是示出针对存储器装置执行的坏块替换的实施方式的图。参照图5,存储器装置可以包括第一平面Plane 1和第二平面Plane 2。在不同的实施方式中,存储器装置中的平面的数量可以不同。
第一平面Plane 1可以包括数据块Data BLK1_1至Data BLK1_4、替换块ReplaceBLK1_1和Replace BLK1_2以及***块System BLK1_1和System BLK1_2。第二平面Plane 2可以包括数据块Data BLK2_1至Data BLK2_4、替换块Replace BLK2_1和Replace BLK2_2以及***块System BLK2_1和System BLK2_2。在不同的实施方式中,每个平面中的数据块、替换块和***块的数量可以不同。
在图5中,在关于第一平面Plane 1的块管理信息BI_1中,数据块Data BLK1_2和Data BLK1_4可以是坏块。可以用替换块Replace BLK1_1来替换坏数据块Data BLK1_2。可以用替换块Replace BLK1_2来替换坏数据块Data BLK1_4。
在关于第二平面Plane 2的块管理信息BI_2中,数据块Data BLK2_1和Data BLK2_3可以是坏块。可以用替换块Replace BLK2_1来替换坏数据块Data BLK2_1。可以用替换块Replace BLK2_2来替换坏数据块Data BLK2_3。
在超级块分配信息SBI中,可以将数据块Data BLK1_1和Data BLK2_1分配给第一超级块SB1。可以将数据块Data BLK1_2和Data BLK2_2分配给第二超级块SB2。可以将数据块Data BLK1_3和Data BLK2_3分配给第三超级块SB3。可以将数据块Data BLK1_4和DataBLK2_4分配给第四超级块SB4。
在对坏块进行替换之后,在超级块分配信息SBI中,可以用对应替换块ReplaceBLK1_1、Replace BLK1_2、Replace BLK2_1和Replace BLK2_2来替换数据块Data BLK1_2、Data BLK1_4、Data BLK2_1和Data BLK2_3。
即使在对坏块进行替换之后,也将不同平面的存储器块分配给超级块,因此可以执行多平面操作。
图6是示出存储器装置中的坏块替换的实施方式的图。参照图6,当在一个平面中的替换块全部都被用于替换同一平面的坏块之后在同一平面中出现新的坏块时,可以用另一平面的替换块来替换新的坏块。
在图6中,在关于第一平面Plane 1的块管理信息BI_1中,数据块Data BLK1_2、Data BLK1_3和Data BLK1_4可以是坏块。可以用替换块Replace BLK1_1来替换坏数据块Data BLK1_2。可以用替换块Replace BLK1_2来替换坏数据块Data BLK1_4。可以用第二平面Plane 2的替换块Replace BLK2_1来替换坏数据块Data BLK1_3。在对坏块进行替换之后,在超级块分配信息SBI中,可以用第二平面Plane 2的替换块Replace BLK 2_1来替换第一平面Plane 1的数据块Data BLK1_3。
因此,将同一第二平面Plane 2的(而不是不同的平面的)存储器块Replace BLK2_1和Data BLK2_3分配给第三超级块SB3。因此,仅单平面操作是可行的,而不执行多平面操作。例如,当用另一平面的存储器块(而不是同一平面的存储器块,因为同一平面的替换块都被使用)来替换坏块时,仅同一平面的存储器块被分配给超级块。因此,多平面操作可能不能进行,并且仅单平面操作可以执行。执行单平面操作(而不是多平面操作),因此存储器装置的性能可能降低。
图7是示出存储器装置中的坏块替换的实施方式的图。参照图7,当在一个平面中包括的替换块全部都被用于替换坏块之后在同一平面中出现新的坏块时,可以用同一平面的***块来替换新的坏块。
在图7中,在关于第一平面Plane 1的块管理信息BI_1中,数据块Data BLK1_2、Data BLK1_3和Data BLK1_4可以是坏块。可以用替换块Replace BLK1_1来替换坏数据块Data BLK1_2。可以用替换块Replace BLK1_2来替换坏数据块Data BLK1_4。可以用第一平面Plane 1的***块System BLK1_1来替换坏数据块Data BLK1_3。在用***块SystemBLK1_1来替换数据块Data BLK1_3之前,可以将存储在***块System BLK1_1中的数据移动到第二平面Plane 2的替换块Replace BLK2_1。
在对坏块进行替换之后,在超级块分配信息SBI中,可以用第一平面Plane 1的替换块Replace BLK1_1和Replace BLK1_2以及***块System BLK1_1来替换同一第一平面Plane 1的数据块Data BLK1_2、Data BLK1_3和Data BLK1_4。
在一个实施方式中,即便在一个平面中的替换块全部都被用于替换同一平面的坏块之后在同一平面中出现新的坏块,也可以用同一平面的***块来替换对应的坏块。例如,虽然一个平面中的坏块的数量超过了同一平面中的替换块的数量,但是用同一平面的***块来替换超出数量的坏块。因此,能够将不同平面的存储器块分配给超级块,并且能够执行多平面操作。
因此,尽管一个平面中的坏块的数量超过了同一平面中的替换块的数量,但是也能够执行多平面操作,从而能够保持存储器装置的性能。
图8是示出存储装置的操作的实施方式的流程图。参照图8,在操作S801中,存储装置可以监测在平面中的数据块当中是否已经出现坏块。当作为监测的结果出现坏块时,存储装置前进到操作S803。当没有出现坏块时,存储装置结束操作。
在操作S803中,存储装置可以确定是否可以用已经出现坏块的同一平面的替换块来替换坏块。例如,存储装置可以确定坏块的数量是否超过同一平面的替换块的数量。
当作为确定的结果可以用同一平面的替换块来替换坏块时(例如,当坏块的数量等于或小于替换块的数量时),存储装置前进到操作S809。当不能用同一平面的替换块来替换坏块时(例如,当坏块的数量超过替换块的数量时),存储装置前进到操作S805。
在操作S805中,存储装置可以将存储在同一平面的***块中的数据移动到另一平面的替换块。存储在***块中的***信息的量可以小于或等于存储在一个存储器块中的数据的量。
在操作S807中,存储装置可以用上述同一平面的***块来替换在操作S801中检测到的坏块。
在操作S809中,存储装置可以用同一平面的替换块来替换坏块。
图9是示出存储器控制器1000的图,存储器控制器1000例如可以对应于图1所示的存储器控制器。
参照图9,存储器控制器1000连接到主机和存储器装置,并且可以响应于来自主机的请求而访问存储器装置。例如,存储器控制器1000可以控制存储器装置的各种类型的操作,包括但不限于写入操作、读取操作、擦除操作和后台操作。存储器控制器1000可以充当存储器装置和主机之间的接口。存储器控制器1000可以驱动用于控制存储器装置的固件。
存储器控制器1000可以包括处理器1010、存储器缓冲器1020、纠错码(ECC)电路1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。总线1070可以被配置为在存储器控制器1000的各个组件之间提供信道。
处理器1010可以控制存储器控制器1000的整体操作,并且可以执行逻辑操作。处理器1010可以通过主机接口1040与外部主机通信,并且可以通过存储器接口1060与存储器装置通信。此外,处理器1010可以通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可以例如通过使用存储器缓冲器1020作为工作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。
处理器1010可以执行闪存转换层(FTL)的功能。处理器1010可以通过FTL将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。FTL可以接收LBA,以使用映射表来将LBA转换成PBA。根据映射单位,存在数种FTL的地址映射方法。代表性的地址映射方法的示例包括页映射方法、块映射方法和混合映射方法。
处理器1010可以例如使用随机化种子来对从主机接收的数据进行随机化。可以将经随机化的数据提供为要存储在存储器装置中的数据以将其编程在存储器单元阵列中。
在读取操作中,处理器1010可以例如使用去随机化种子来对从存储器装置接收的数据进行去随机化。可以将经去随机化的数据输出到主机。在一个实施方式中,处理器1010可以通过驱动软件或固件来执行随机化和去随机化。
存储器缓冲器1020可以用作处理器1010的工作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可以存储要由处理器1010执行的代码和命令。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路1030可以执行ECC操作,例如,ECC电路1030可以对要通过存储器接口1060写入存储器装置的数据执行ECC编码。经ECC编码的数据可以通过存储器接口1060传输到存储器装置。ECC电路1030可以对通过存储器接口1060从存储器装置接收的数据执行ECC解码。在一个示例中,ECC电路1030可以作为存储器接口1060的组件而被包括在存储器接口1060中。
主机接口1040可以在处理器1010的控制下与外部主机通信。主机接口1040可使用至少一种通信形式与主机通信。示例包括通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机***接口(SCSI)、火线、***组件互连(PCI)、PCI Express(PCIe)、非易失性存储器Express(NVMe)、通用闪存存储(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、注册DIMM(RDIMM)和减载DIMM(LRDIMM)。
缓冲器控制电路1050被配置为在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060被配置为在处理器1010的控制下与存储器装置通信。例如,存储器接口1060可以通过一个或更多个信道与存储器装置交换命令、地址和数据。
在一个示例中,存储器控制器1000可以不包括存储器缓冲器1020和缓冲器控制电路1050。
在一个示例中,处理器1010可以使用一个或更多个代码来控制存储器控制器1000的操作。处理器1010可以从存储器控制器1000中的非易失性存储器装置(例如,只读存储器(ROM))加载一个或更多个代码。在另一示例中,处理器1010可以通过存储器接口1060从存储器装置加载代码。
在一个示例中,存储器控制器1000的总线1070可以被分为控制总线和数据总线。数据总线可以被配置为在存储器控制器1000中传输数据。控制总线可以被配置为在存储器控制器1000中传输诸如命令和地址的控制信息。数据总线和控制总线彼此分离而可以不彼此干扰或影响。数据总线可以连接到主机接口1040、缓冲器控制电路1050、ECC电路1030和存储器接口1060。控制总线可以连接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
在一个实施方式中,如图1所示的例如块管理器210和操作控制器220可以被包括在处理器1010中。图1所示的块信息存储部230可以被包括在存储器缓冲器1020中。
图10是示出可以应用本文所述的存储装置的卡***2000的实施方式的框图。
参照图10,存储卡***2000包括存储器控制器2100、存储器装置2200和连接器2300。存储器控制器2100连接到存储器装置2200,并且被配置为访问存储器装置2200。例如,存储器控制器2100被配置为控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置为充当存储器装置2200和主机之间的接口。存储器控制器2100被配置为驱动用于控制存储器装置2200的固件。在一个实施方式中,存储器控制器2100可以被实现为参照图1描述的存储器控制器200。
存储器控制器2100可以包括各种组件,所述各种组件例如包括随机存取存储器(RAM)、处理单元、主机接口、存储器接口和纠错器。
存储器控制器2100可以根据一个或更多个通信协议通过连接器2300与外部装置(例如,主机)通信。通信协议的示例包括通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、PCI Express(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机***接口(SCSI)、增强型小型磁盘接口(ESDI)、集成驱动电子装置(IDE)、火线、通用闪存存储(UFS)、Wi-Fi、蓝牙和NVMe。
存储器装置2200可以由诸如电可擦除可编程ROM(EEPROM)、NAND闪存存储器、NOR闪存存储器、相变RAM(PRAM)、电阻RAM(ReRAM)、铁电RAM(FRAM)和自旋力矩转移磁性RAM(STT-MRAM)的各种非易失性存储器装置实现。
在一个实施方式中,存储器控制器2100和存储器装置2200可以集成到单个半导体装置中以构成存储卡。存储卡的示例包括PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存(CF)卡、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC、RS-MMC、MMCmicro和eMMC)、SD卡(SD、miniSD、microSD和SDHC)和通用闪存存储(UFS)。
图11是示出可以应用本文描述的存储装置的固态驱动器(SDD)***3000的实施方式的框图。参照图11,SSD***3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并且通过电源连接器3002接收电力PWR。SSD 3200包括SSD控制器3210、多个闪存存储器3221至322n、辅助电源3230和缓冲存储器3240。
根据一个实施方式,SSD控制器3210可以充当参照图1描述的存储器控制器200。SSD控制器3210可以响应于从主机3100接收的信号SIG而控制多个闪存存储器3221至322n。在一个实施方式中,信号SIG可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号SIG可以由以下各种类型的接口中的至少一种来定义:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、PCI Express(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机***接口(SCSI)、增强型小型磁盘接口(ESDI)、集成驱动电子装置(IDE)、火线、通用闪存存储(UFS)、WI-FI、蓝牙和NVMe。
辅助电源3230通过电源连接器3002连接到主机3100。当来自主机3100的电力供应偏离预定波形或模式(例如,不平滑)时,辅助电源3230可以为SSD 3200供电。辅助电源3230可以位于例如SSD 3200内部或者SSD 3200的外部。例如,辅助电源3230可以位于主板上以用于向SSD 3200提供辅助电力。
缓冲存储器3240操作为SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或者从多个闪存存储器3221至322n接收的数据,并且/或者可以临时存储闪存存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括一个或更多个诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图12是示出可以应用本文描述的存储装置的用户***4000的实施方式的框图。
参照图12,用户***4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。应用处理器4100可以驱动用户***4000中的组件、操作***(OS)或用户程序等。应用处理器4100可以包括例如用于控制用户***4000中的组件的一个或更多个控制器、各种接口和图形引擎等。在一个实施方式中,应用处理器4100可以被实现为片上***(SoC)。
存储器模块4200可以作为用户***4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器进行操作。存储器模块4200可以包括一个或更多个易失性随机存取存储器(其示例包括DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM)或非易失性随机存取存储器(例如,PRAM、ReRAM、MRAM和FRAM)。应用处理器4100和存储器模块4200可以实现为例如一个半导体封装(例如,层叠封装(PoP))。
网络模块4300可以与一个或更多个外部装置通信,并且可以支持无线通信(例如,码分多址(CDMA)、全球移动通信***(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、Wimax、WLAN、UWB、蓝牙和Wi-Fi)。网络模块4300可以被包括在例如应用处理器4100中。
存储模块4400可以存储例如从应用处理器4100接收的数据。在一个实施方式中,存储模块4400可以将存储在其中的数据传输到应用处理器4100。存储模块4400可以由非易失性半导体存储器装置实现,非易失性半导体存储器装置的示例包括:相变RAM(PRAM)、磁性RAM(MRAM)、电阻RAM(RRAM)、NAND闪存、NOR闪存或具有三维结构的NAND闪存。示例性地,存储模块4400可以被设置为可移除驱动器(例如,用户***4000的存储卡)或外部驱动器。
存储模块4400可以包括例如一个或更多个非易失性存储器装置,其例如与参照图1描述的存储器装置100以相似或相同的方式操作。在一个实施方式中,存储模块4400可以与参照图1描述的存储装置50以相似或相同的方式操作。
用户接口4500可以包括用于向应用处理器4100输入数据或命令或者用于向外部装置输出数据的一个或更多个接口。用于输入数据的一个或更多个接口的示例包括键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像头、麦克风、陀螺仪传感器、振动传感器和压电元件。用于输出数据的一个或更多个接口的示例包括液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
虽然已经参照本公开的某些实施方式示出和描述了本公开,但是本领域技术人员应当理解,在不脱离由所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以在形式和细节上对本公开进行各种改变。因此,本公开的范围不应限于上述实施方式,而是应不仅由所附权利要求书确定,还应由其等同物确定。
在上述实施方式中,可以选择性地执行所有步骤或部分步骤可以省略。在每个实施方式中,操作不一定按照描述的顺序执行,而是可以重新排列。本说明书和附图中公开的实施方式仅仅是用于帮助理解本公开的示例,并且本公开不限于此。也就是说,对于本领域技术人员来说,显然能够基于本公开的技术范围进行各种变型。可以组合一个或更多个实施方式以形成附加的实施方式。
同时,已经在附图和说明书中描述了本公开的各种实施方式。虽然这里使用了特定术语,但是这些术语仅用于解释本公开的实施方式。因此,本公开不限于上述实施方式,并且在本公开的精神和范围内,可以进行许多变化。对于本领域技术人员来说,显然除了本文公开的实施方式之外,还能够基于本公开的技术范围进行各种变型。
相关申请的交叉引用
本申请要求于2020年9月16日向韩国知识产权局提交的韩国专利申请No.10-2020-0118696的优先权,其全部公开内容通过引用并入本文。
Claims (20)
1.一种存储装置,该存储装置包括:
存储器装置,所述存储器装置包括第一平面和第二平面,所述第一平面和所述第二平面各自包括存储用户数据的数据块、替换一个或更多个坏块的一个或更多个替换块、以及存储***信息的***块;以及
存储器控制器,当在所述第一平面中的所述一个或更多个替换块全部都被用于替换先前检测到的坏块之后在所述第一平面中检测到坏块时,所述存储器控制器用在所述第一平面中的所述***块当中选择的目标***块来替换检测到的坏块。
2.根据权利要求1所述的存储装置,其中,所述存储器控制器控制所述存储器装置将存储在所述目标***块中的数据移动到所述第二平面中的替换块。
3.根据权利要求1所述的存储装置,其中,所述存储器控制器选择所述第一平面中的所述***块中的存储的***信息的量小于或等于所述第一平面中的一个***块的存储容量的一个***块作为所述目标***块。
4.根据权利要求1所述的存储装置,其中,所述存储器控制器用所述目标***块的地址来替换所述检测到的坏块的地址。
5.根据权利要求1所述的存储装置,其中,所述存储器控制器将包括在所述第一平面中的所述数据块中的至少一个和包括在所述第二平面中的所述数据块中的至少一个分配给超级块。
6.根据权利要求5所述的存储装置,其中,当所述检测到的坏块被包括在所述超级块中时,所述存储器控制器从所述超级块的分配中排除所述检测到的坏块,并且将所述目标***块分配给所述超级块。
7.根据权利要求5所述的存储装置,其中,当对所述超级块执行存储器操作时,所述存储器控制器控制所述存储器装置执行同时驱动所述第一平面和所述第二平面的多平面操作。
8.根据权利要求7所述的存储装置,其中,所述存储器操作是读取操作、编程操作或擦除操作。
9.一种操作存储装置的方法,该存储装置包括第一平面和第二平面,所述第一平面和所述第二平面各自包括存储用户数据的数据块、替换一个或更多个坏块的一个或更多个替换块、以及存储***信息的***块,该方法包括以下步骤:
检测在所述第一平面中是否出现坏块;以及
当在所述第一平面中的所述一个或更多个替换块全部都被用于替换先前检测到的坏块之后在所述第一平面中检测到坏块时,用在所述第一平面中的所述***块当中选择的目标***块来替换所述检测到的坏块。
10.根据权利要求9所述的方法,其中,用所述目标***块来替换所述检测到的坏块的步骤包括以下步骤:
将存储在所述目标***块中的数据移动到所述第二平面中的所述一个或更多个替换块中的一个;以及
用所述目标***块的地址来替换所述检测到的坏块的地址。
11.根据权利要求9所述的方法,其中,将所述第一平面中的所述***块当中的存储的***信息的量小于或等于所述第一平面中的一个***块的存储容量的一个***块选择作为所述目标***块。
12.根据权利要求9所述的方法,该方法还包括以下步骤:将包括在所述第一平面中的所述数据块中的至少一个和包括在所述第二平面中的所述数据块中的至少一个分配给超级块。
13.根据权利要求12所述的方法,该方法还包括以下步骤:
当所述检测到的坏块被包括在所述超级块中时,从所述超级块的分配中排除所述检测到的坏块;以及
将所述目标***块分配给所述超级块。
14.根据权利要求13所述的方法,该方法还包括以下步骤:基于包括在所述第一平面和所述第二平面的每一个中的块的种类和地址,将所述检测到的坏块的地址更新为所述目标***块的地址。
15.根据权利要求12所述的方法,其中,当对所述超级块执行存储器操作时,执行同时驱动所述第一平面和所述第二平面的多平面操作。
16.一种用于控制存储器装置的存储器控制器,该存储器装置包括第一平面和第二平面,所述第一平面和所述第二平面各自包括存储用户数据的数据块、替换一个或更多个坏块的一个或更多个替换块、以及存储***信息的***块,所述存储器控制器包括:
块管理器,所述块管理器将包括在所述第一平面中的所述数据块中的至少一个和包括在所述第二平面中的所述数据块中的至少一个分配给超级块;以及
操作控制器,当对所述超级块执行存储器操作时,所述操作控制器控制所述存储器装置执行同时驱动所述第一平面和所述第二平面的多平面操作,
其中,当在所述第一平面中的所述一个或更多个替换块全部都被用于替换先前检测到的坏块之后在所述第一平面中检测到坏块时,所述块管理器用在所述第一平面中的所述***块当中选择的目标***块来替换检测到的坏块。
17.根据权利要求16所述的存储器控制器,该存储器控制器还包括块信息存储部,所述块信息存储部存储关于包括在所述第一平面和所述第二平面的每一个中的块的种类和地址的块管理信息以及关于分配给所述超级块的块的超级块分配信息。
18.根据权利要求17所述的存储器控制器,其中,所述块管理器在所述超级块分配信息中将所述检测到的坏块的地址更新为所述目标***块的地址。
19.根据权利要求18所述的存储器控制器,其中,所述操作控制器基于经更新的所述超级块分配信息来控制所述存储器装置执行所述多平面操作。
20.一种操作存储装置的方法,该存储装置包括第一平面和第二平面,所述第一平面和所述第二平面各自包括存储用户数据的数据块、替换一个或更多个坏块的一个或更多个替换块、以及存储***信息的***块,该方法包括以下步骤:
检测所述第一平面中的坏块;
当没有替换块能够用于替换所述第一平面中的所述坏块时,将存储在从所述第一平面中的所述***块当中选择的目标***块中的数据移动到所述第二平面中的所述一个或更多个替换块中的一个;以及
用包括在所述第一平面中的所述目标***块替换所述坏块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200118696A KR20220036468A (ko) | 2020-09-16 | 2020-09-16 | 저장 장치 및 그 동작 방법 |
KR10-2020-0118696 | 2020-09-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114267392A true CN114267392A (zh) | 2022-04-01 |
Family
ID=80626602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110465657.5A Withdrawn CN114267392A (zh) | 2020-09-16 | 2021-04-28 | 存储器控制器、存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11543984B2 (zh) |
KR (1) | KR20220036468A (zh) |
CN (1) | CN114267392A (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210055878A1 (en) * | 2019-08-20 | 2021-02-25 | Micron Technology, Inc. | Data compaction within the same plane of a memory component |
US11281578B2 (en) | 2019-08-20 | 2022-03-22 | Micron Technology, Inc. | Garbage collection in a memory sub-system during a low battery state |
US11726869B2 (en) | 2019-08-20 | 2023-08-15 | Micron Technology, Inc. | Performing error control operation on memory component for garbage collection |
US11282567B2 (en) | 2019-08-20 | 2022-03-22 | Micron Technology, Inc. | Sequential SLC read optimization |
US11281392B2 (en) | 2019-08-28 | 2022-03-22 | Micron Technology, Inc. | Garbage collection in a memory component using an adjusted parameter |
KR20220089868A (ko) * | 2020-12-22 | 2022-06-29 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
US11481123B1 (en) * | 2021-04-27 | 2022-10-25 | Micron Technology, Inc. | Techniques for failure management in memory systems |
US20230229326A1 (en) * | 2022-01-18 | 2023-07-20 | Kioxia Corporation | Superblock size management in non-volatile memory devices |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101546072B1 (ko) | 2008-10-07 | 2015-08-21 | 삼성전자주식회사 | 반도체 디스크 장치, 그것을 포함하는 컴퓨팅 시스템, 그리고 그것의 동작 방법 |
US8095765B2 (en) * | 2009-03-04 | 2012-01-10 | Micron Technology, Inc. | Memory block management |
KR20140142035A (ko) | 2013-06-03 | 2014-12-11 | 삼성전자주식회사 | 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작방법 |
TWI516921B (zh) * | 2013-10-02 | 2016-01-11 | 群聯電子股份有限公司 | 資料處理方法、記憶體儲存裝置與記憶體控制電路單元 |
KR20220064101A (ko) * | 2020-11-11 | 2022-05-18 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
-
2020
- 2020-09-16 KR KR1020200118696A patent/KR20220036468A/ko unknown
-
2021
- 2021-03-17 US US17/204,117 patent/US11543984B2/en active Active
- 2021-04-28 CN CN202110465657.5A patent/CN114267392A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
KR20220036468A (ko) | 2022-03-23 |
US20220083223A1 (en) | 2022-03-17 |
US11543984B2 (en) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11543984B2 (en) | Memory controller, storage device and operating method thereof | |
US10846002B2 (en) | Memory controller to adjust the size of write data, operating method therof and storage device including the same | |
CN111435289B (zh) | 映射数据访问性能提高的存储器控制器及其操作方法 | |
CN111352855B (zh) | 具有提高的映射更新速度的存储装置及其操作方法 | |
CN111208936B (zh) | 存储装置及其操作方法 | |
CN112306902A (zh) | 存储器控制器及操作其的方法 | |
CN113535079B (zh) | 存储器控制器以及具有存储器控制器的存储装置 | |
CN114443507A (zh) | 存储器***及其操作方法 | |
CN111752856A (zh) | 存储器控制器及其操作方法 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
US11537296B2 (en) | Storage device and operating method thereof | |
CN111105836A (zh) | 存储装置及其操作方法 | |
CN114115708A (zh) | 存储装置及其操作方法 | |
CN111506515B (zh) | 存储器控制器及其操作方法 | |
US11036586B2 (en) | Storage device and operating method thereof | |
CN113010096A (zh) | 存储装置及其操作方法 | |
CN112445420B (zh) | 存储控制器、存储装置以及操作该存储装置的方法 | |
CN114300021A (zh) | 存储装置及其操作方法 | |
CN113555054A (zh) | 存储装置及其操作方法 | |
KR20220052161A (ko) | 메모리 장치 및 그 동작 방법 | |
CN113126895A (zh) | 存储装置及其操作方法 | |
CN112199037A (zh) | 存储器控制器及其操作方法 | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same | |
US20230305712A1 (en) | Storage device including memory controller and operating method thereof | |
CN113764011A (zh) | 存储装置及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220401 |