CN111124273B - 数据存储装置及数据存储装置的操作方法 - Google Patents

数据存储装置及数据存储装置的操作方法 Download PDF

Info

Publication number
CN111124273B
CN111124273B CN201910983437.4A CN201910983437A CN111124273B CN 111124273 B CN111124273 B CN 111124273B CN 201910983437 A CN201910983437 A CN 201910983437A CN 111124273 B CN111124273 B CN 111124273B
Authority
CN
China
Prior art keywords
spare
block
memory
blocks
superblock
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
CN201910983437.4A
Other languages
English (en)
Other versions
CN111124273A (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.)
SK Hynix Inc
Original Assignee
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN111124273A publication Critical patent/CN111124273A/zh
Application granted granted Critical
Publication of CN111124273B publication Critical patent/CN111124273B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • 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
    • 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/0629Configuration or reconfiguration of storage 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/886Masking faults in memories by using spares or by reconfiguring with partially good memories combining plural defective memory devices to provide a contiguous address range, e.g. one device supplies working blocks to replace defective blocks in another device
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

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)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种数据存储装置,该数据存储装置包括存储器装置和控制器。该存储器装置包括多个平面,其中多个平面中的每一个包括两个或更多个存储块。该控制器被配置为控制存储器装置的操作。该控制器进一步被配置为:生成第一超级块,该第一超级块是包括多个平面的多个存储块之中的两个或更多个通路可交织存储块的超级块;确定第一超级块中包括的存储块中的每一个是否是坏块;在多个平面中检索用于替换被确定为坏块的第一存储块的备用块;并且当包括第一存储块的平面的所有备用块被使用时,生成第二替换超级块,该第二替换超级块是利用位于没有第一存储块的平面中的第二存储块替换第一存储块的超级块。

Description

数据存储装置及数据存储装置的操作方法
相关申请的交叉引用
本申请要求于2018年10月31日提交的申请号为10-2018-0131695的韩国申请的优先权,该韩国申请通过引用整体并入本文。
技术领域
各个实施例总体涉及一种半导体装置,并且更特别地,涉及一种数据存储装置及数据存储装置的操作方法。
背景技术
最近,计算环境范例已经变为可以随时随地使用计算机系统的普适计算环境。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用利用存储器装置的数据存储装置。数据存储装置用于存储便携式电子装置中使用的数据。
由于利用存储器装置的数据存储装置没有机械驱动器,因此数据存储装置具有优异的稳定性和耐用性,表现出高信息访问速度,并且具有低功耗。具有这些优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态驱动器(SSD)。
发明内容
各个实施例涉及一种利用通路可交织存储块替换非通路可交织存储块的技术。
在实施例中,一种数据存储装置可以包括:存储器装置,包括多个平面,其中多个平面中的每一个包括两个或更多个存储块;以及控制器,被配置为控制存储器装置的操作。该控制器进一步被配置为:生成第一超级块,该第一超级块是包括多个平面的多个存储块之中的两个或更多个通路可交织存储块的超级块;确定第一超级块中包括的存储块中的每一个是否是坏块;在多个平面中检索用于替换被确定为坏块的第一存储块的备用块;并且当包括第一存储块的平面的所有备用块被使用时,生成第二替换超级块,该第二替换超级块是利用位于没有第一存储块的平面中的第二存储块替换第一存储块的超级块。
在实施例中,提供一种数据存储装置的操作方法,该数据存储装置包括:存储器装置,包括多个存储块;以及控制器,被配置为控制存储器装置的操作。该操作方法可以包括以下步骤:生成第一超级块,该第一超级块是包括多个存储块之中的两个或更多个通路可交织存储块的超级块;确定第一超级块中包括的存储块中的每一个是否是坏块;在多个平面中检索用于替换被确定为坏块的第一存储块的备用块;当包括第一存储块的平面的所有备用块被使用时,生成第二替换超级块,该第二替换超级块是利用位于没有第一存储块的平面中的第二存储块替换第一存储块的超级块;在生成第二替换超级块之后,检索已经变成作为通路可交织备用块可用于替换第二存储块的第三存储块;以及生成第三替换超级块,该第三替换超级块是利用第三存储块替换第二存储块的超级块。
在实施例中,一种数据存储装置可以包括:存储器装置,包括多个平面,其中多个平面中的每一个包括两个或更多个存储块;以及控制器,被配置为控制存储器装置的操作。该控制器被配置为:管理超级块,每个超级块包括多个存储块之中的两个或更多个通路可交织存储块;确定超级块中的每一个中包括的存储块是否是坏块;并且管理一个或多个备用超级块以基于坏块确定来替换坏块,每个备用超级块具有两个或更多个通路可交织备用存储块,其中当利用备用超级块中的非通路可交织备用存储块替换坏块时,利用另一备用超级块中的通路可交织备用存储块重新替换坏块。
在实施例中,提供一种数据存储装置的操作方法,该数据存储装置包括:存储器装置,包括多个平面,每个平面具有两个或更多个存储块;以及控制器,被配置为控制存储器装置的操作。该操作方法包括:通过控制器管理超级块,每个超级块包括多个存储块之中的两个或更多个通路可交织存储块;通过控制器确定超级块中的每一个中包括的存储块是否是坏块;通过控制器管理一个或多个备用超级块以基于坏块确定来替换坏块,每个备用超级块具有两个或更多个通路可交织备用存储块;以及当利用备用超级块中的非通路可交织备用存储块将坏块替换为非通路可交织存储块时,通过利用另一备用超级块中的通路可交织备用存储块替换非通路可交织存储块来生成新的超级块。
在实施例中,一种数据存储装置可以包括:存储器装置,包括多个平面,其中多个平面中的每一个包括两个或更多个存储块;以及控制器,被配置为控制存储器装置的操作。该控制器包括:超级块管理器,被配置为管理超级块,每个超级块包括多个存储块之中的两个或更多个通路可交织存储块;坏块确定器,被配置为确定超级块中的每一个中包括的存储块是否是坏块;以及备用块管理器,被配置为管理一个或多个备用超级块以基于坏块确定来替换坏块,每个备用超级块具有两个或更多个通路可交织备用存储块,其中当利用备用超级块中的非通路可交织备用存储块将坏块替换为非通路可交织存储块时,超级块管理器被配置为通过利用另一备用超级块中的通路可交织备用存储块替换非通路可交织存储块来生成新的超级块。
附图说明
图1是示出根据实施例的数据存储装置的配置的示图。
图2是示出图1所示的存储器的配置的示图。
图3是用于描述根据实施例的非易失性存储器装置中包括的数据存储区域的示图。
图4是用于描述图1所示的非易失性存储器装置的示例的示图。
图5是根据实施例的图2所示的FTL的框图。
图6是示出根据实施例的数据存储装置的操作方法的流程图。
图7至图9是用于描述根据实施例的备用块的示图。
图10是示出根据实施例的包括固态驱动器(SSD)的数据处理系统的示图。
图11是示出图10的控制器的配置的示图。
图12是示出包括根据实施例的数据存储装置的数据处理系统的示图。
图13是示出包括根据实施例的数据存储装置的数据处理系统的示图。
图14是示出包括根据实施例的数据存储装置的网络系统的示图。
图15是示出根据实施例的数据存储装置中包括的非易失性存储器装置的框图。
具体实施方式
在下文中,将通过示例性实施例参照附图描述根据本公开的数据存储装置及数据存储装置的操作方法。
图1是示出根据实施例的数据存储装置10的配置的示图。
参照图1,根据本实施例的数据存储装置10可以存储由诸如以下的主机装置20访问的数据:移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV或车载信息娱乐系统。数据存储装置10可以被称为存储器系统。
根据联接到主机装置20的接口协议,数据存储装置10可以被制造为各种类型的存储装置中的任意一种。例如,数据存储装置10可以被配置为包括以下的各种类型的存储装置中的任意一种:固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用串行总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡式存储装置、外围组件互连(PCI)卡式存储装置、PCI高速(PCI-E)卡式存储装置、紧凑型闪存(CF)卡、智能媒体卡和记忆棒,其中MMC例如为eMMC、RS-MMC或微型MMC,SD卡例如为迷你SD卡或微型SD卡。
数据存储装置10可以被制造为各种类型的封装中的任意一种。例如,数据存储装置10可以被制造为诸如以下的各种类型的封装中的任意一种:层叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
数据存储装置10可以包括非易失性存储器装置100和控制器200。
非易失性存储器装置100可以作为数据存储装置10的存储介质而操作。根据存储器单元,非易失性存储器装置100可以被配置为包括以下的各种类型的非易失性存储器装置中的任意一种:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)膜的磁性RAM(MRAM)、使用硫族化物合金的相变RAM(PRAM)以及使用过渡金属氧化物的电阻式RAM(ReRAM)。
图1示出了数据存储装置10包括一个非易失性存储器装置100。然而,这仅是为了便于描述,并且数据存储装置10可以包括多个非易失性存储器装置。本实施例可以以相同的方式应用于包括多个非易失性存储器装置的数据存储装置10。
非易失性存储器装置100可以包括存储器单元阵列(未示出),该存储器单元阵列具有布置在多个位线(未示出)和多个字线(未示出)之间的各个交叉点处的多个存储器单元。存储器单元阵列可以包括多个存储块,并且存储块中的每一个可以包括多个页面。
例如,存储器单元阵列的存储器单元中的每一个可以被配置为能够存储1位数据的单层单元(SLC)或能够存储2位或更多位数据的多层单元(MLC)。MLC可以存储2位数据、3位数据、4位数据等。通常,用于存储2位数据的存储器单元可以被称为MLC,用于存储3位数据的存储器单元可以被称为三层单元(TLC),用于存储4位数据的存储器单元可以被称为四层单元(QLC)。然而,在本实施例中,为了便于描述,将用于存储2位至4位数据的存储器单元统称为MLC。
存储器单元阵列110可以包括SLC和MLC中的一个或多个。此外,存储器单元阵列110可以包括具有二维水平结构的存储器单元或具有三维垂直结构的存储器单元。
控制器200可以通过驱动加载到存储器230的固件或软件来控制数据存储装置10的全部操作。控制器200可以解码并驱动基于代码的指令或算法,例如固件或软件。控制器200可以以硬件或硬件和软件的组合来实施。
控制器200可以包括主机接口210、处理器220、存储器230和存储器接口240。虽然未在图1中示出,但是控制器200可以进一步包括错误校正码(ECC)引擎,该ECC引擎通过对从主机装置提供的写入数据执行ECC编码来生成奇偶校验数据,并且使用奇偶校验数据对从非易失性存储器装置100读取的读取数据执行ECC解码。
主机接口210可以根据主机装置20的协议来接口连接主机装置20和数据存储装置10。例如,主机接口210可以通过以下中的任意一种协议与主机装置20通信:USB(通用串行总线)、UFS(通用闪存)、MMC(多媒体卡)、PATA(并行高级技术附件)、SATA(串行高级技术附件)、SCSI(小型计算机系统接口)、SAS(串列SCSI)、PCI(外围组件互连)和PCI-E(PCI高速)。
处理器220可以包括微控制单元(MCU)和中央处理单元(CPU)。处理器220可以处理从主机装置20传送的请求。为了处理从主机装置20传送的请求,处理器220可以驱动加载到存储器230的基于代码的指令或算法,即固件,并且控制非易失性存储器装置100以及诸如主机接口210、存储器230和存储器接口240的内部功能块。
处理器220可以基于从主机装置20传送的请求来生成控制非易失性存储器装置100的操作的控制信号,并且通过存储器接口240将生成的控制信号提供至非易失性存储器装置100。
存储器230可以被配置为随机存取存储器(RAM),例如动态RAM(DRAM)或静态RAM(SRAM)。存储器230可以存储由处理器220驱动的固件。此外,存储器230可以存储驱动固件所需的数据,例如元数据。也就是说,存储器230可以作为处理器220的工作存储器而操作。
存储器230可以包括用于临时存储从主机装置20待传送到非易失性存储器装置100的写入数据或者从非易失性存储器装置100待传送到主机装置20的读取数据的数据缓冲器。也就是说,存储器230可以作为缓冲存储器而操作。
存储器接口240可以在处理器220的控制下控制非易失性存储器装置100。存储器接口240还可以被称为存储器控制器。存储器接口240可以将控制信号提供至非易失性存储器装置100。控制信号可以包括用于控制非易失性存储器装置100的命令、地址和操作控制信号。存储器接口240可以将存储在数据缓冲器中的数据提供至非易失性存储器装置100,或者将从非易失性存储器装置100传送的数据存储在数据缓冲器中。
图2是示出图1的存储器230的示图。
参照图2,根据本实施例的存储器230可以包括:第一区域R1,存储闪存转换层(FTL);以及第二区域R2,用作用于使与从主机装置20提供的请求对应的命令排队的命令队列CMDQ。然而,对于本领域技术人员将显而易见的是,除了图2所示的区域之外,存储器230还可以包括诸如以下的用于各种用途的区域:用作用于临时存储写入数据的写入数据缓冲器的区域、用作用于临时存储读取数据的读取数据缓冲器的区域、以及用作用于高速缓存映射数据的映射高速缓存缓冲器的区域。
存储器230可以包括存储系统数据、元数据等的区域(未示出)。
当非易失性存储器装置100被配置为闪速存储器装置时,处理器220可以控制非易失性存储器装置100的特定操作,并且驱动被称为FTL的软件以提供与主机装置的20装置兼容性。当驱动FTL时,主机装置20可以将数据存储装置10识别为并用作诸如硬盘的通用存储装置。
存储在存储器230的第一区域R1中的FTL可以包括用于执行各种功能的模块以及驱动各个模块所需的元数据。FTL可以存储在非易失性存储器装置100的系统区域(未示出)中。当数据存储装置10通电时,FTL可以从非易失性存储器装置100的系统区域被读取并加载到存储器230的第一区域R1。
图3是用于描述根据实施例的非易失性存储器装置中包括的数据存储区域的示图。
参照图3,非易失性存储器装置100可以包括共用与控制器200联接的通道的多个管芯310a和310b,管芯中的每一个可以包括共用与通道联接的通路311的多个平面312a和312b,并且平面中的每一个可以包括多个页面。页面可以指读取数据或写入数据的最小存储区域单元。此外,被共同擦除的多个页面可以被称为存储块,作为一个存储块来管理的多个存储块可以被称为超级块。因此,非易失性存储器装置100中的数据存储区域可以指管芯、平面、超级块、存储块、页面等。然而,在下面的描述中,除非另有说明,否则数据存储区域可以指页面。
图4是用于描述图1所示的非易失性存储器装置的示例的示图。
参照图4,非易失性存储器装置100可以包括第一管芯Die_0 410和第二管芯Die_1420。第一管芯410可以包括两个平面411和412,第二管芯420可以包括两个平面421和422。平面中的每一个可以包括五个存储块BLK_0至BLK_4。超级块0Super BLK_0可以指包括各个平面的第零存储块的存储块组,超级块1Super BLK_1可以指包括各个平面的第一存储块的存储块组,超级块2Super BLK_2可以指包括各个平面的第二存储块的存储块组。此外,非易失性存储器装置可以包括用于替换坏块的存储块组,该坏块指在用于存储数据的写入操作期间发生失败的存储块。备用存储块组0Spare Group_0可以指包括各个平面的第三存储块的存储块组,备用存储块组1Spare Group_1可以指包括各个平面的第四存储块的存储块组。
在实施例中,仅当备用存储块组0没有作为可用存储块的备用块时,备用存储块组1才可以用于替换坏块。
图5是根据本实施例的图2所示的FTL的框图。
参照图5,根据本实施例的FTL可以包括超级块管理模块510、坏块确定模块520和备用块管理模块530。
超级块管理模块510可以通过映射(map)非易失性存储器装置100中包括的多个存储块来生成并管理超级块。
在实施例中,超级块管理模块510可以通过映射两个或更多个存储块来生成超级块,使得可以进行通路交织。例如,超级块管理模块510可以生成包括分别包括在不同平面中的两个或更多个存储块的超级块。
超级块管理模块510可以通过利用备用存储块组中包括的另一存储块替换超级块中包括的坏块来重新生成超级块。对于具体示例,当超级块中包括的一些存储块被确定为坏块时,超级块管理模块510可以通过利用备用块替换被确定为坏块的存储块来重新生成超级块,其中备用块是备用存储块组中包括的存储块。
在实施例中,仅当备用存储块组0没有作为可用存储块的备用块时,超级块管理模块510才可以通过利用备用存储块组1中包括的备用块替换坏块来重新生成超级块。
在实施例中,超级块管理模块510可以优先应用通路可交织备用块,并且通过利用该备用块替换坏块来重新生成超级块。在本公开中,“通路可交织”备用块被定义为当替换超级块内的坏块时允许非易失性存储器装置100对该超级块执行通路交织操作的备用块。在本公开中,“通路可交织”存储块被定义为允许非易失性存储器装置100对超级块执行通路交织操作的超级块内的每个存储块。具体地,当存在通路可交织备用块时,超级块管理模块510可通过利用通路可交织备用块替换坏块来重新生成超级块。此外,当不存在通路可交织备用块时,超级块管理模块510可以利用通道可交织备用块替换坏块。在本公开中,“通道可交织”备用块被定义为当替换超级块内的坏块时允许非易失性存储器装置100对该超级块执行通道交织操作的备用块。
超级块管理模块510可以通过利用通路可交织存储块替换非通路可交织存储块来重新生成超级块。此处,非通路可交织存储块可以是不能执行通路交织操作的存储块。具体地,当超级块中包括的一些存储块包括在相同平面中并且因此不能通路交织时,超级块管理模块510可以通过利用备用存储块组中包括的可用备用块之中的通路可交织存储块替换非通路可交织存储块来重新生成超级块。
在实施例中,当备用存储块组没有通路可交织备用块时,超级块管理模块510不会重新生成超级块,而是保留当前超级块。
在实施例中,当超级块管理模块510通过利用非通路可交织备用块替换坏块来重新生成超级块时,通路可交织备用块可以是与坏块存在于相同平面中的存储块。
坏块确定模块520可以确定存储块是否是坏块。具体地,坏块确定模块520可以监控超级块中包括的存储块的擦除操作、写入操作、读取操作等,并且确定发生相应操作失败的存储块是坏块。
备用块管理模块530可以管理备用块,备用块是用于替换坏块的存储块。
在实施例中,备用块管理模块530可以限制备用块的使用。具体地,当备用存储块组0没有通路可交织备用块而具有非通路可交织备用块时,备用块管理模块530可以限制超级块管理模块510利用备用存储块组1中包括的备用块替换超级块中包括的坏块。
在实施例中,当利用通道可交织备用块替换超级块中包括的非通路可交织存储块时,备用块管理模块530可以重新分配现有非通路可交织存储块作为备用块。
FTL可以执行作为后台操作的生成超级块的操作。
图5所示的框图用于根据功能描述FTL的固件,并且这仅是FTL的示例。因此,显而易见的是,FTL不限于此,而是可以被实施为诸如电路的单独硬件。
图6是示出根据实施例的数据存储装置的操作方法的流程图。图7至图9是用于描述根据实施例的备用块的示图。
由于描述了该方法由图1所示的数据存储装置10执行,因此显而易见的是,可以将数据存储装置10的描述扩展到该方法。
参照图6和图7,在步骤S610中,数据存储装置10,例如FTL R1的超级块管理模块510可以生成第一超级块Super Block_0、Super Block_1和Super Block_2。具体地,第一超级块中的一个可以是通过映射非易失性存储器装置中包括的多个存储块之中的两个或更多个存储块而生成的一个组。
在实施例中,数据存储装置10可以生成第一超级块,使得可以进行通路交织。例如,数据存储装置10可以生成包括分别包括在不同平面中的两个或更多个存储块的第一超级块。例如,如图4所示,第一超级块Super Block_0、Super Block_1和Super Block_2可以包括分别包括在不同平面中的四个存储块。
在步骤S620中,数据存储装置10可以确定第一超级块Super Block_0、SuperBlock_1和Super Block_2中的坏块。具体地,数据存储装置10可以确定非易失性存储器装置中包括的多个存储块是否是坏块。
在步骤S630中,数据存储装置10可以验证是否存在通路可交织备用块。具体地,当第一超级块中包括的存储块中的任意一个被确定为坏块时,数据存储装置10可以检索是否存在作为用于替换坏块的可用存储块的备用块。此外,数据存储装置10可以验证包括坏块BAD的平面中是否存在可用备用块以及可用备用块是否可以通路交织。例如,数据存储装置10可以从图4所示的备用存储块组Spare Group_0和Spare Group_1中检索用于替换坏块的可用备用块,并且验证检索到的备用块之中、与被确定为坏块的块存在于相同平面中的块是通路可交织备用块。
在实施例中,仅当备用存储块组0没有作为可用存储块的备用块时,数据存储装置10才可以检索备用存储块组1的备用块。例如,数据存储装置10可以被预先设置为在图4所示的备用存储块组0Spare Group_0中包括的块全部被使用之后,使用备用存储块组1SpareGroup_1的块作为备用块。在这种情况下,仅当备用存储块组0Spare Group_0没有可用备用块时,即在图4所示的备用存储块组0Spare Group 0中包括的块全部被使用之后,数据存储装置10才可以从备用存储块组1Spare Group_1中检索可用备用块。
在实施例中,数据存储装置10可以验证用于替换坏块的可用存储块之中、与被确定为坏块的存储块存在于相同平面中的备用块是通路可交织备用块。例如,当图4中所示的构成第一超级块Super Block_0的块之中、管芯0Die_0的平面0Plane_0的块被确定为坏块时,数据存储装置10可以验证备用存储块组0Spare Group_0和备用存储块组1SpareGroup_1中的、管芯0Die_0的平面0Plane_0中包括的块中的块BLK_3和BLK_4是通路可交织块。
在实施例中,备用块之中、位于与包括坏块的平面不同的平面中的通路可交织存储块可以被确定为非通路可交织备用块。例如,当图4所示的构成第一超级块0SuperBlock_0的块之中、管芯0Die_0的平面0Plane_0的块被确定为坏块时,数据存储装置10可以验证管芯0Die_0的平面1Plane_1、管芯1Die_1的平面0Plane_0和管芯1Die_1的平面1Plane_1中包括的块中的块BLK_3和BLK_4是非通路可交织块。
在步骤S640中,数据存储装置10可以生成第二替换超级块。具体地,当不存在通路可交织备用块时,数据存储装置10可以生成第二替换超级块,第二替换超级块是利用非通路可交织备用块替换坏块的超级块。例如,如图7所示,构成用作第一超级块的超级块SuperBlock_0的块之中、管芯0Die_0的平面0Plane_0中包括的块BLK_0被确定为坏块,但是构成备用存储块组0Spare Group_0的备用块和构成备用存储块组1Spare Group_1的备用块之中、管芯0Die_0的平面0Plane_0中包括的备用块不可用(没有通路可交织备用块)。在这种情况下,数据存储装置10可以利用可用块中的任意一个替换用作第一超级块的超级块0的坏块。因此,数据存储装置10可以生成第二替换超级块Super BLK_R2,第二替换超级块Super BLK_R2是已经利用非通路可交织备用块替换用作第一超级块的超级块0的坏块的超级块0。例如,当第一管芯Die_0中的第一平面411的第零存储块BLK_0是坏存储块BAD并且第一平面411没有可用存储块时,第一管芯Die_0中的第一平面411的第零存储块BLK_0可以利用备用存储块组Spare Group_0和Spare Group_1中的非通路可交织存储块BLK 3和BLK 4中的一个替换。例如,图7中示出了第二替换超级块Super BLK_R2与第一超级块Super BLK_0。
在步骤S650中,数据存储装置10可以验证包括坏块BAD的平面411中是否存在通路可交织备用块。具体地,在生成第二替换超级块Super BLK_R2之后,数据存储装置10可以检索是否存在可以替换第二替换超级块Super BLK_R2的非通路可交织存储块的备用块。通过特定进程,在生成第二替换超级块Super BLK_R2之后,包括坏块的平面411的已使用块可能被处理为通路可交织备用块。同时,数据存储装置10可以被预先设置为在图8所示的备用存储块组0Spare Group_0中包括的块全部被使用之后,使用备用存储块组1Spare Group_1的块作为备用块。在这种情况下,基于在生成第二替换超级块Super BLK_R2时备用存储块组0Spare Group_0中包括的块之中只有非通路可交织块可用的情况,因为在生成第二替换超级块之后,备用存储块组0Spare Group_0中包括的块全部被使用,所以备用存储块组SpareGroup_1中包括的块可以用作备用块。然后,数据存储装置10可以检索备用存储块组1SpareGroup_1中包括的可用块之中是否存在通路可交织块。
在步骤S660中,数据存储装置10可以生成如图8所示的第三替换超级块SuperBLK_R3。具体地,当可用存储块包括可以替换非通路可交织存储块使得可以进行通路交织的备用块时,数据存储装置10可以生成第三替换超级块,该第三替换超级块是利用通路可交织备用块替换非通路可交织备用块的超级块。例如,当如图8所示,在基于备用存储块组0Spare Group_0中包括的非通路可交织块生成第二替换超级块之后,备用存储块组0SpareGroup_0中包括的块全部被使用时,数据存储装置10可以通过利用备用存储块组1SpareGroup_1中包括的块中的通路可交织块替换第二替换超级块的非通路可交织块来生成第三替换超级块。换言之,通过步骤650已经在包括坏块BAD的平面0的备用存储块组1SpareGroup_1中检索到通路可交织块BLK_4,利用检索到的通路可交织块BLK_4替换第二替换超级块Super BLK_R2的非通路可交织备用块BLK_3以形成第三替换超级块Super BLK_R3。
在步骤S670中,数据存储装置10可以生成第四超级块Super BLK_R4。具体地,当在步骤S630中确定平面411的第一备用存储块组Spare Group_0中存在通路可交织备用块时,数据存储装置10可以生成第四超级块Super BLK_R4,该第四超级块Super BLK_R4是利用包括坏块BAD的平面411的第一备用存储块组Spare Group_0中的通路可交织备用块替换坏块的超级块。例如,当如图9所示,通路可交织备用块作为可用备用块与被确定为坏块的块存在于相同平面中时,数据存储装置10可以通过利用通路可交织备用块替换坏块来生成第四超级块。
图10示出根据实施例的包括固态驱动器(SSD)的数据处理系统。参照图10,数据处理系统2000可以包括主机装置2100和SSD 2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250以及电源连接器2260。
控制器2210可以控制SSD 2200的全部操作。
缓冲存储器装置2220可以临时存储待被存储在非易失性存储器装置2231至223n中的数据。此外,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读取的数据。临时存储在缓冲存储器装置2220中的数据可以在控制器2210的控制下被传送到主机装置2100或非易失性存储器装置2231到223n。
非易失性存储器装置2231至223n可以用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以通过多个通道CH1至CHn联接到控制器2210。一个或多个非易失性存储器装置可以联接到一个通道。联接到一个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源2240可以将通过电源连接器2260输入的电力PWR提供至SSD 2200中。电源2240可以包括辅助电源2241。当发生突然断电时,辅助电源2241可以供应电力以正常关闭SSD 2200。辅助电源2241可以包括能够存储电力PWR的大电容器。
控制器2210可以通过信号连接器2250与主机装置2100交换信号SGL。信号SGL可以包括命令、地址、数据等。根据主机装置2100和SSD 2200之间的接口方法,信号连接器2250可以被配置为各种类型的连接器。
图11示出图10的控制器的配置。参照图11,控制器2210可以包括主机接口单元2211、控制单元2212、RAM 2213、ECC单元2214和存储器接口单元2215。
根据主机装置2100的协议,主机接口单元2211可以接口连接主机装置2100和SSD2200。例如,主机接口单元2211可以通过以下中的任意一个协议与主机装置2100通信:安全数字、USB(通用串行总线)、MMC(多媒体卡)、eMMC(嵌入式MMC)、PCMCIA(个人计算机存储卡国际协会)、PATA(并行高级技术附件)、SATA(串行高级技术附件)、SCSI(小型计算机系统接口)、SAS(串列SCSI)、PCI(外围组件互连)、PCI-E(PCI高速)和UFS(通用闪存)。主机接口单元2211可以执行支持主机装置2100将SSD 2200识别为例如硬盘驱动器(HDD)的通用数据存储装置的磁盘仿真功能。
控制单元2212可以分析并处理从主机装置2100输入的信号SGL。控制单元2212可以根据用于驱动SSD 2200的固件或软件来控制内部功能块的操作。RAM 2213可以用作用于存储这种固件或软件的工作存储器。
ECC单元2214可以生成待被传送到非易失性存储器装置2231至223n的数据的奇偶校验数据。生成的奇偶校验数据和数据可以存储在非易失性存储器装置2231至223n中。ECC单元2214可以基于奇偶校验数据检测从非易失性存储器装置2231至223n读取的数据的错误。当检测到的错误落在可校正范围内时,ECC单元2214可以校正检测到的错误。
存储器接口单元2215可以在控制单元2212的控制下将诸如命令和地址的控制信号提供至非易失性存储器装置2231至223n。存储器接口单元2215可以在控制单元2212的控制下与非易失性存储器装置2231至223n交换数据。例如,存储器接口单元2215可以将存储在缓冲存储器装置2220中的数据提供至非易失性存储器装置2231至223n,或者将从非易失性存储器装置2231至223n读取的数据提供至缓冲存储器装置2220。
图12示出包括根据实施例的数据存储装置的数据处理系统。参照图12,数据处理系统3000可以包括主机装置3100和数据存储装置3200。
主机装置3100可以被配置为诸如PCB的板。虽然未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
主机装置3100可以包括诸如插座、插槽或连接器的连接端子3110。数据存储装置3200可以安装在连接端子3110上。
数据存储装置3200可以被配置为诸如PCB的板。数据存储装置3200可以被称为存储器模块或存储卡。数据存储装置3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240以及连接端子3250。
控制器3210可以控制数据存储装置3200的全部操作。控制器3210可以以与图11所示的控制器2210相同的方式来配置
缓冲存储器装置3220可以临时存储待被存储在非易失性存储器装置3231和3232中的数据。此外,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可以在控制器3210的控制下被传送到主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作数据存储装置3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供至数据存储装置3200中。PMIC 3240可以在控制器3210的控制下管理数据存储装置3200的电力。
连接端子3250可以联接到主机装置的连接端子3110。通过连接端子3250,可以在主机装置3100和数据存储装置3200之间传送信号和电力,该信号包括命令、地址、数据等。根据主机装置3100和数据存储装置3200之间的接口方法,连接端子3250可以以各种方式配置。连接端子3250可以设置在数据存储装置3200的任意一侧。
图13示出包括根据实施例的数据存储装置的数据处理系统。参照图13,数据处理系统4000可以包括主机装置4100和数据存储装置4200。
主机装置4100可以被配置为诸如PCB的板。虽然未示出,但是主机装置4100可以包括用于执行主机装置的功能的内部功能块。
数据存储装置4200可以被配置为表面安装封装。数据存储装置4200可以通过焊球4250安装在主机装置4100上。数据存储装置4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制数据存储装置4200的全部操作。控制器4210可以以与图11所示的控制器2210相同的方式来配置
缓冲存储器装置4220可以临时存储待被存储在非易失性存储器装置4230中的数据。此外,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以在控制器4210的控制下被传送到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作数据存储装置4200的存储介质。
图14示出包括根据本发明的实施例的数据存储装置的网络系统5000。参照图14,网络系统5000可以包括通过网络5500连接的服务器系统5300以及多个客户端系统5410、5420和5430。
服务器系统5300可以响应于多个客户端系统5410、5420和5430的请求来提供数据。例如,服务器系统5300可以存储从多个客户端系统5410、5420和5430提供的数据。又例如,服务器系统5300可以将数据提供至多个客户端系统5410、5420和5430。
服务器系统5300可以包括主机装置5100和数据存储装置5200。数据存储装置5200可以被配置为图1的数据存储装置10、图10的SSD 2200、图12的数据存储装置3200或图13的数据存储装置4200。
图15是示出根据实施例的数据存储装置中包括的非易失性存储器装置的框图。参照图15,非易失性存储器装置100可以包括存储器单元阵列110、行解码器120、列解码器130、数据读取/写入块140、电压生成器150和控制逻辑160。
存储器单元阵列110可以包括布置在字线WL1至WLm与位线BL1至BLn之间的各个交叉点处的存储器单元MC。
行解码器120可以通过字线WL1至WLm联接到存储器单元阵列110。行解码器120可以在控制逻辑160的控制下操作。行解码器120可以解码从外部装置(未示出)提供的地址。行解码器120可以基于解码结果选择并驱动字线WL1至WLm。例如,行解码器120可以将从电压生成器150提供的字线电压提供至字线WL1至WLm。
数据读取/写入块140可以通过位线BL1至BLn联接到存储器单元阵列110。数据读取/写入块140可以包括分别与字线BL1至BLn对应的读取/写入电路RW1至RWn。数据读取/写入块140可以在控制逻辑160的控制下操作。根据操作模式,数据读取/写入块140可以作为写入驱动器或读出放大器而操作。例如,在写入操作期间,数据读取/写入块140可以作为将从外部装置提供的数据存储在存储器单元阵列110中的写入驱动器而操作。又例如,在读取操作期间,数据读取/写入块140可以作为从存储器单元阵列110读取数据的读出放大器而操作。
列解码器130可以在控制逻辑160的控制下操作。列解码器130可以解码从外部装置提供的地址。列解码器130可以根据解码结果将数据读取/写入块140的分别与位线BL1至BLn对应的读取/写入电路RW1至RWn联接到数据输入/输出线(或数据输入/输出缓冲器)。
电压生成器150可以生成用于非易失性存储器装置100的内部操作的电压。电压生成器150生成的电压可以施加到存储器单元阵列110的存储器单元。例如,在编程操作期间生成的编程电压可以施加到待执行编程操作的存储器单元的字线。又例如,在擦除操作期间生成的擦除电压可以施加到待执行擦除操作的存储器单元的阱区。再例如,在读取操作期间生成的读取电压可以施加到待执行读取操作的存储器单元的字线。
控制逻辑160可以基于从外部装置提供的控制信号控制非易失性存储器装置100的全部操作。例如,控制逻辑160可以控制非易失性存储器装置100的操作,诸如非易失性存储器装置100的读取操作、写入操作或擦除操作。
根据本实施例,可以通过通路交织来提高数据存储装置的性能。
虽然上面已经描述了各个实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例。因此,不应基于所描述的实施例来限制本文所描述的数据存储装置和操作方法。

Claims (18)

1.一种数据存储装置,包括:
存储器装置,包括多个平面,其中所述多个平面中的每一个包括多个存储块;以及
控制器,控制所述存储器装置的操作,
其中所述控制器进一步:
生成第一超级块,所述第一超级块包括所述多个平面中包括的多个存储块之中的通路可交织存储块;
确定所述第一超级块中的所述通路可交织存储块之中是否存在坏块;
当所述第一超级块中存在所述坏块时,确定所述坏块所在的平面中是否存在可用备用块;
当所述平面中不存在所述可用备用块时,通过用所述平面之外的平面之一中包括的第一备用块替换所述坏块来生成第二超级块;并且
当所述平面中的备用块之一变得可用时,通过用所述平面中第二备用块替换所述第二超级块中的所述第一备用块来生成第三超级块。
2.根据权利要求1所述的数据存储装置,其中所述控制器基于分别包括在不同平面中的两个或更多个存储块来生成所述第一超级块。
3.根据权利要求1所述的数据存储装置,
其中所述存储器装置包括第一备用存储块组和第二备用存储块组,所述第一备用存储块组和所述第二备用存储块组中的每一个包括所述存储器装置中包括的两个或更多个备用块。
4.根据权利要求3所述的数据存储装置,其中当所述第一备用存储块组的所有备用块被使用时,所述第二备用存储块组中包括的备用块变得可用。
5.根据权利要求1所述的数据存储装置,其中所述坏块所在的所述平面之外的平面中的备用块是非通路可交织备用块,并且
其中所述坏块所在的所述平面中的备用块是通路可交织备用块。
6.根据权利要求5所述的数据存储装置,其中所述通路可交织备用块包括在与所述坏块相同的平面中,
其中所述非通路可交织备用块包括在与所述坏块不同的平面中。
7.根据权利要求3所述的数据存储装置,其中当所述第二超级块中的所述第一备用块包括在所述第一备用存储块组中并且在生成所述第二超级块之后所述第一备用存储块组中不存在可用备用块时,所述控制器检索所述第二备用存储块组中包括的备用块之中、与所述坏块包括在相同平面中的备用块。
8.一种数据存储装置的操作方法,所述数据存储装置包括:存储器装置,包括多个存储块;以及控制器,控制所述存储器装置的操作,所述操作方法包括以下步骤:
生成第一超级块,所述第一超级块包括所述多个存储块之中的通路可交织存储块;
确定在所述第一超级块的通路可交织存储块之中存在坏块;
当所述第一超级块中存在所述坏块时,确定所述坏块所在的平面中是否存在可用备用块;
当所述平面中不存在所述可用备用块时,通过用所述平面之外的平面之一中包括的第一备用块替换所述坏块来生成第二超级块;并且
当所述平面中的备用块之一可用时,通过用所述平面中第二备用块替换所述第二超级块中的所述第一备用块来生成第三超级块。
9.根据权利要求8所述的操作方法,
其中所述存储器装置包括所述多个平面,每个平面包括一个或多个存储块,
其中生成所述第一超级块包括:基于分别包括在不同平面中的两个或更多个存储块来生成所述第一超级块。
10.根据权利要求8所述的操作方法,其中确定存在所述坏块包括:确定所述第一超级块中包括的存储块之中、发生写入操作失败的存储块是所述坏块。
11.根据权利要求8所述的操作方法,
其中所述存储器装置包括:第一备用存储块组和第二备用存储块组,所述第一备用存储块组和所述第二备用存储块组中的每一个包括所述存储器装置中包括的两个或更多个备用块,
其中所述第一备用存储块组和所述第二备用存储块组依次变得可用。
12.根据权利要求11所述的操作方法,其中当所述第一备用存储块组中包括的所有备用块被使用时,所述第二备用存储块组中包括的备用块之一可用。
13.根据权利要求8所述的操作方法,其中所述第二备用块是与所述坏块包括在相同平面中的通路可交织备用块。
14.根据权利要求8所述的操作方法,其中所述存储器装置包括第一备用存储块组和第二备用存储块组,所述第一备用存储块组和所述第二备用存储块组中的每一个包括所述存储器装置中包括的两个或更多个备用块,并且
其中当所述第一备用块包括在所述第一备用存储块组中并且在生成所述第二超级块之后在所述第一备用存储块组中不存在可用的备用块时,在与所述坏块相同的平面中检索所述第二备用存储块组中包括的备用块之中的所述第二超级块。
15.根据权利要求8所述的操作方法,其中所述步骤中的一个或多个作为后台操作执行。
16.一种数据存储装置,包括:
存储器装置,包括多个平面,其中所述多个平面中的每一个包括多个存储块;以及
控制器,控制所述存储器装置的操作,
其中所述控制器:
管理超级块,每个超级块包括多个存储块之中的通路可交织存储块;
确定所述超级块中的每一个中包括的通路可交织存储块之中是否存在坏块;并且
管理一个或多个备用超级块以基于坏块确定来替换所述坏块,每个备用超级块具有通路可交织备用存储块,
其中当所述一个或多个备用超级块之中的当前可用的第一备用超级块中不存在通路可交织备用存储块时,用所述第一备用超级块中包括的非通路可交织备用存储块来替换所述坏块,并且
其中当所述一个或多个备用超级块之中的第二备用超级块可用时,用所述第二备用超级块中包括的通路可交织备用存储块来重新替换所替换的非通路可交织备用存储块。
17.一种数据存储装置的操作方法,所述数据存储装置包括:存储器装置,包括多个平面,每个平面具有多个存储块;以及控制器,控制所述存储器装置的操作,所述操作方法包括:
通过所述控制器管理超级块,每个超级块包括多个存储块之中的通路可交织存储块;
通过所述控制器确定所述超级块中的每一个中包括的通路可交织存储块之中是否存在坏块;
通过所述控制器管理一个或多个备用超级块以基于坏块确定来替换所述坏块,每个备用超级块具有通路可交织备用存储块;以及
当所述一个或多个备用超级块之中的当前可用的第一备用超级块中不存在替换所述坏块的通路可交织备用存储块时,生成第一新的超级块,在所述第一新的超级块中,用所述第一备用超级块中包括的非通路可交织备用存储块来替换所述坏块,
当所述一个或多个备用超级块之中的第二备用超级块变得可用时,生成第二新的超级块,在所述第二新的超级块中,用所述第二备用超级块中包括的通路可交织备用存储块来重新替换所述第一新的超级块中的所替换的非通路可交织备用存储块。
18.一种数据存储装置,包括:
存储器装置,包括多个平面,其中所述多个平面中的每一个包括多个存储块;以及
控制器,控制所述存储器装置的操作,
其中所述控制器包括:
超级块管理器,管理超级块,每个超级块包括多个存储块之中的两个或更多个通路可交织存储块;
坏块确定器,确定所述超级块中的每一个中包括的两个或更多个通路可交织存储块之中是否存在坏块;以及
备用块管理器,管理一个或多个备用超级块以基于坏块确定来替换所述坏块,每个备用超级块具有通路可交织备用存储块,
其中当所述一个或多个备用超级块之中的当前可用的第一备用超级块中不存在替换所述坏块的通路可交织备用存储块时,所述超级块管理器通过用所述第一备用超级块中包括的非通路可交织备用存储块替换所述坏块来生成第一新的超级块,并且
其中当所述一个或多个备用超级块之中的第二备用超级块变得可用时,所述超级块管理器通过用所述第二备用超级块中包括的通路可交织备用存储块重新替换所述第一新的超级块中的所替换的非通路可交织备用存储块来生成第二新的超级块。
CN201910983437.4A 2018-10-31 2019-10-16 数据存储装置及数据存储装置的操作方法 Active CN111124273B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180131695A KR102592803B1 (ko) 2018-10-31 2018-10-31 데이터 저장 장치 및 그것의 동작 방법
KR10-2018-0131695 2018-10-31

Publications (2)

Publication Number Publication Date
CN111124273A CN111124273A (zh) 2020-05-08
CN111124273B true CN111124273B (zh) 2023-08-01

Family

ID=70327163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910983437.4A Active CN111124273B (zh) 2018-10-31 2019-10-16 数据存储装置及数据存储装置的操作方法

Country Status (3)

Country Link
US (2) US11275678B2 (zh)
KR (1) KR102592803B1 (zh)
CN (1) CN111124273B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102517681B1 (ko) * 2018-06-05 2023-04-05 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
CN113220508B (zh) * 2021-05-08 2022-09-23 联芸科技(杭州)股份有限公司 存储器块的管理方法、存储器的写操作方法以及存储器
JP2023044518A (ja) 2021-09-17 2023-03-30 キオクシア株式会社 メモリシステムおよび方法
KR20230050012A (ko) 2021-10-07 2023-04-14 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
US11687263B2 (en) * 2021-12-01 2023-06-27 Western Digital Technologies, Inc. Full die recovery in ZNS SSD
US11842062B2 (en) * 2022-02-09 2023-12-12 Western Digital Technologies, Inc. Method of handling irregular MetaBlock wear leveling and UGSD boot time improvement

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102341792A (zh) * 2009-03-04 2012-02-01 美光科技公司 存储器块管理
CN107632777A (zh) * 2016-07-18 2018-01-26 爱思开海力士有限公司 存储器系统及其操作方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
US9671962B2 (en) * 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
KR102291507B1 (ko) 2014-05-20 2021-08-20 삼성전자주식회사 메모리 컨트롤러의 동작 방법
US9811413B2 (en) * 2014-07-30 2017-11-07 Apple Inc. Orphan block management in non-volatile memory devices
US10114562B2 (en) * 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
US9766814B2 (en) 2015-08-10 2017-09-19 Intel Corporation Method and apparatus for defect management in a non-volatile memory device
KR20170061221A (ko) * 2015-11-25 2017-06-05 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20180047329A (ko) * 2016-10-31 2018-05-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR102645572B1 (ko) * 2016-11-29 2024-03-11 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
KR20180102241A (ko) * 2017-03-06 2018-09-17 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US11269764B2 (en) * 2017-03-21 2022-03-08 Western Digital Technologies, Inc. Storage system and method for adaptive scheduling of background operations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102341792A (zh) * 2009-03-04 2012-02-01 美光科技公司 存储器块管理
CN107632777A (zh) * 2016-07-18 2018-01-26 爱思开海力士有限公司 存储器系统及其操作方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于NAND闪存存储器的一种超级块闪存翻译层机制研究";秦晓安 等;《计算机应用与软件》;第32卷(第6期);第328-333页 *

Also Published As

Publication number Publication date
CN111124273A (zh) 2020-05-08
US11275678B2 (en) 2022-03-15
US20200133838A1 (en) 2020-04-30
KR20200048978A (ko) 2020-05-08
KR102592803B1 (ko) 2023-10-24
US20220197788A1 (en) 2022-06-23

Similar Documents

Publication Publication Date Title
CN111324551B (zh) 数据存储装置及其操作方法
CN111506516B (zh) 数据存储装置及数据存储装置的操作方法
CN111124273B (zh) 数据存储装置及数据存储装置的操作方法
CN109992202B (zh) 数据存储设备、其操作方法以及包括其的数据处理系统
US20200117559A1 (en) Data storage device and operating method thereof
US20200218653A1 (en) Controller, data storage device, and operating method thereof
CN109407966B (zh) 数据存储装置及其操作方法
CN111916140A (zh) 控制器及其操作方法以及包括控制器的存储器系统
CN111752852A (zh) 数据存储装置及数据存储装置的操作方法
CN111752858A (zh) 控制器、存储器系统及其操作方法
US11379363B2 (en) Controller, memory system, and operating methods thereof
CN113806241A (zh) 存储装置及其操作方法
CN112988045A (zh) 数据存储装置及其操作方法
CN110032466B (zh) 数据存储装置及其操作方法
CN112286444B (zh) 控制器以及包括控制器的存储器系统
CN115794535A (zh) 事件日志管理方法、控制器和存储装置
CN110941566B (zh) 数据存储装置及其操作方法
US11194512B2 (en) Data storage device which selectively performs a cache read or a normal read operation depending on work load and operating method thereof
CN109840214B (zh) 数据存储装置及其操作方法
US20200250082A1 (en) Controller, memory system, and operating method thereof
CN112783429A (zh) 数据存储装置、使用其的存储系统及其操作方法
CN112084118A (zh) 数据存储装置及其操作方法
CN111324302B (zh) 数据存储装置及其操作方法
US11144246B2 (en) Memory system using available bad block based on data storage reliability and operating method thereof
CN110175134B (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
GR01 Patent grant
GR01 Patent grant