CN116414307A - 操作存储装置的方法和存储装置 - Google Patents

操作存储装置的方法和存储装置 Download PDF

Info

Publication number
CN116414307A
CN116414307A CN202310028067.5A CN202310028067A CN116414307A CN 116414307 A CN116414307 A CN 116414307A CN 202310028067 A CN202310028067 A CN 202310028067A CN 116414307 A CN116414307 A CN 116414307A
Authority
CN
China
Prior art keywords
data
region
optional
read
selectable
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.)
Pending
Application number
CN202310028067.5A
Other languages
English (en)
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN116414307A publication Critical patent/CN116414307A/zh
Pending legal-status Critical Current

Links

Images

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/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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • 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/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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • 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/065Replication mechanisms

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

提供了一种操作包括非易失性存储器装置的存储装置的方法。在该方法中,异常区域可被检测为非易失性存储器装置中的可选区域,并且可选数据可被存储在可选区域中。异常区域可以是非易失性存储器装置的访问时间超过参考延迟的部分。

Description

操作存储装置的方法和存储装置
相关申请的交叉引用
本申请要求2022年1月7日提交于韩国知识产权局(KIPO)的韩国专利申请No.10-2022-0002643的优先权,其内容整体以引用方式并入本文中。
技术领域
示例实施例总体上涉及半导体集成电路,更具体地,涉及一种操作存储装置的方法和存储装置。
背景技术
存储装置可包括存储数据的非易失性存储器装置和控制非易失性存储器装置的存储控制器。存储控制器可响应于写请求将从主机提供的数据写入非易失性存储器装置,并且可响应于读请求从非易失性存储器装置读取数据以将数据提供给主机。
在对非易失性存储器装置的区域的访问时间超过参考延迟的情况下,为了确保对存储装置的访问(例如,写和/或读)性能,非易失性存储器装置的该区域可被确定为异常区域,并且不能用作存储空间。
发明内容
本公开的至少一个示例实施例提供了一种能够使用异常区域作为存储空间的存储装置的操作方法。
本公开的至少一个示例实施例提供了一种能够使用异常区域作为存储空间的存储装置。
根据示例实施例,在包括非易失性存储器装置的存储装置的操作方法中,异常区域可被检测为非易失性存储器装置中的可选区域,并且可选数据可被存储在可选区域中。异常区域可以是非易失性存储器装置的访问时间超过参考延迟的部分。
根据示例实施例,一种存储装置可包括非易失性存储器装置以及被配置为控制非易失性存储器装置的存储控制器。存储控制器可被配置为将异常区域检测为非易失性存储器装置中的可选区域并且将可选数据存储在可选区域中。异常区域可以是非易失性存储器装置的访问时间超过参考延迟的部分。
根据示例实施例,提供了一种操作包括非易失性存储器装置的存储装置的方法。该方法可包括:将异常区域检测为非易失性存储器装置中的可选区域,异常区域是非易失性存储器装置的访问时间超过参考延迟的部分;接收包括非易失性存储器装置的正常区域内的存储器块的逻辑地址、写数据和第一元数据的写请求,第一元数据包括写数据的第一唯一密钥、第一版本值、存储计数和策略信息;基于逻辑地址映射至的物理地址将写数据写入存储器块;基于第一元数据更新可选数据管理表;将可选数据管理表中具有第一唯一密钥和不同版本值的数据的数量与第一元数据的存储计数进行比较;如果数据的数量大于存储计数,则基于第一元数据的策略信息选择具有不同版本值的数据之一;从正常区域读取所述数据之一;将所述数据之一作为可选数据写入可选区域;并且将第一唯一密钥、不同版本值当中所述数据之一的版本值以及所述数据之一在可选区域内的物理地址存储在可选区域表中。
在根据示例实施例的操作存储装置的方法和存储装置中,访问时间超过参考延迟的异常区域可被检测为非易失性存储器装置中的可选区域,并且可选数据可被存储在可选区域中。因此,由于传统存储装置中未使用的区域用作可选数据的存储空间,所以存储装置的存储空间可扩展,并且可高效地使用存储装置。
附图说明
例示性、非限制性示例实施例将从以下结合附图进行的详细描述更清楚地理解。
图1是示出根据示例实施例的存储装置的操作方法的流程图。
图2是示出根据示例实施例的存储装置的框图。
图3是用于描述根据示例实施例的存储装置中的逻辑地址空间和物理地址空间的示例的图。
图4是用于描述根据示例实施例的存储装置中的逻辑地址空间和物理地址空间的另一示例的图。
图5是用于描述在根据示例实施例的存储装置的操作方法中检测可选区域的示例的流程图。
图6是用于描述正常区域、可选区域和永久非工作区域的示例的图。
图7是用于描述在根据示例实施例的存储装置的操作方法中检测可选区域的另一示例的流程图。
图8是用于描述正常区域、可选区域和永久非工作区域的另一示例的图。
图9是用于描述在根据示例实施例的存储装置的操作方法中可选数据被写入可选区域的示例的流程图。
图10是示出可选区域表的示例的图。
图11是用于描述在根据示例实施例的存储装置的操作方法中从可选区域读取可选数据的示例的流程图。
图12是用于描述在根据示例实施例的存储装置的操作方法中可选数据被写入可选区域的示例的流程图。
图13是示出可选数据管理表的示例的图。
图14是示出可选区域表的另一示例的图。
图15是用于描述快照数据作为可选数据被写入可选区域的示例的图。
图16是用于描述在根据示例实施例的存储装置的操作方法中从可选区域读取可选数据的示例的流程图。
图17是示出根据示例实施例的计算系统的框图。
图18是示出根据示例实施例的存储装置中所包括的非易失性存储器装置的示例的框图。
图19是示出图18的非易失性存储器装置的存储器单元阵列中所包括的存储器块的示例的立体图。
图20是示出参照图19描述的存储器块的等效电路的电路图。
图21是根据示例实施例的存储装置中所包括的非易失性存储器装置的截面图。
具体实施方式
将参照示出示例实施例的附图更充分地描述各种示例实施例。然而,本公开可按许多不同的形式体现,并且不应被解释为限于本文所阐述的示例实施例。贯穿本申请,相同的标号是指相同的元件。
图1是示出根据示例实施例的存储装置的操作方法的流程图。
参照图1,在根据示例实施例的存储装置的操作方法中,访问时间超过参考延迟的异常区域可被检测为存储装置的非易失性存储器装置中的可选区域(操作S100)。被检测为可选区域的异常区域可以是需要比参考延迟更长的访问时间的区(或区域),但是可以是可访问区域。在一些示例实施例中,参考延迟可包括参考写延迟。在对非易失性存储器装置的存储器块的写操作的时间超过参考写延迟的情况下(例如,响应于该条件),该存储器块可被检测为可选区域。在其它示例实施例中,参考延迟还可包括参考读延迟。在对存储器块的读操作的时间超过参考读延迟的情况下,该存储器块可被检测为可选区域。在本公开中,可选区域也可被称为次级区域,可选数据也可被称为次级数据。
可选数据可被存储在可选区域中(操作S200)。因此,可选区域可用作存储可选数据的存储空间。在一些示例实施例中,可选数据可以是存储在可选区域中的任何数据。在其它示例实施例中,可选数据可以是即使数据的输入/输出或访问(例如,写和/或读)花费较长时间(比参考延迟长)也不要紧的数据。例如,可选数据可以是(但不限于)快照数据、空间数据证明等。在其它示例实施例中,可选数据可以是从非易失性存储器装置的正常区域移动到可选区域的数据、从正常区域删除的数据或存储在正常区域中的数据的备份数据。
与具有逻辑地址映射至的物理地址并且可由主机基于逻辑地址访问的正常区域不同,可选区域的物理地址可不映射至逻辑地址,并且可选区域的地址可不提供给主机。因此,对可选区域的读请求可不包括逻辑地址,而是可包括表示请求哪些可选数据的元数据。响应于包括元数据的读请求,存储装置可基于元数据从可选区域读取可选数据(操作S300)。
在传统存储装置中,在对非易失性存储器装置的区域的访问时间超过参考延迟的情况下,为了确保传统存储装置的访问(例如,写和/或读)性能,非易失性存储器装置的该区域可被确定为异常区域,并且不能用作存储空间。然而,在根据示例实施例的存储装置的操作方法中,访问时间超过参考延迟的异常区域可被检测为可选区域,并且可选数据可被存储在可选区域中。因此,传统存储装置中未使用的区域可用作可选数据的存储空间,存储装置的存储空间可扩展,并且可高效地使用存储装置。
图2是示出根据示例实施例的存储装置的框图,图3是用于描述根据示例实施例的存储装置中的逻辑地址空间和物理地址空间的示例的图,图4是用于描述根据示例实施例的存储装置中的逻辑地址空间和物理地址空间的另一示例的图。
参照图2,根据示例实施例的存储装置200可包括存储数据的非易失性存储器装置220和控制非易失性存储器装置220的存储控制器210。在一些示例实施例中,存储装置200可以是固态驱动器(SSD)装置。例如,存储装置200可以是符合NVMe标准的SSD装置。在其它示例实施例中,存储装置200可以是通用闪存(UFS)装置、多媒体卡(MMC)装置或嵌入式MMC(eMMC)装置。在其它示例实施例中,存储装置200可以是安全数字(SD)卡、微型SD卡、记忆棒、芯片卡、通用串行总线(USB)卡、智能卡、紧凑闪存(CF)卡等。
非易失性存储器装置220可由存储控制器210控制以存储从主机接收的写数据。存储在非易失性存储器装置220中的数据可由存储控制器210读取,并且可作为读数据提供给主机。在一些示例实施例中,非易失性存储器装置220可利用(但不限于)NAND闪速存储器来实现。在其它示例实施例中,非易失性存储器装置220可利用电可擦除可编程只读存储器(EEPROM)、相变随机存取存储器(PRAM)、电阻随机存取存储器(RRAM)、纳米浮栅存储器(NFGM)、聚合物随机存取存储器(PoRAM)、磁性随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)等来实现。
存储控制器210可控制存储装置200的总体操作。例如,存储控制器210可执行将写数据写入非易失性存储器装置220的写操作,或者可执行从非易失性存储器装置220读取读数据的读操作。存储控制器210可包括将提供给主机的逻辑地址映射至非易失性存储器装置220的物理地址的映射表212,并且可使用映射表212来执行写操作和读操作。例如,响应于来自主机的具有第一逻辑地址的写请求,存储控制器210可对非易失性存储器装置220的具有第一逻辑地址映射至的第一物理地址的第一存储器块执行写操作。此外,响应于来自主机的具有第二逻辑地址的读请求,存储控制器210可对非易失性存储器装置220的具有第二逻辑地址映射至的第二物理地址的第二存储器块执行读操作。
存储控制器210可将访问时间超过参考延迟的异常区域检测为非易失性存储器装置220中的可选区域224。例如,如下面参照图5和图6描述的,存储控制器210可从主机接收对非易失性存储器装置220的正常区域222内的存储器块的写请求,并且可对该存储器块执行写操作。如果写操作没有在参考写延迟内完成,则存储控制器210可向主机传送写失败响应,并且可将先前在正常区域222中的存储器块设定为可选区域224。在另一示例中,如下面参照图7和图8描述的,存储控制器210可从主机接收对非易失性存储器装置220的正常区域222内的存储器块的读请求,并且可对该存储器块执行读操作。如果读操作没有在参考读延迟内完成,则存储控制器210可向主机传送读失败响应,并且可将先前在正常区域222中的存储器块设定为可选区域224。
映射表212可将逻辑地址映射至正常区域222的物理地址,但是可不将逻辑地址映射至可选区域224的物理地址。因此,可选区域224的物理地址可不映射至逻辑地址,并且可选区域224的地址可不提供给主机。为了管理可选区域224的物理地址,存储控制器210还可包括用于管理存储在可选区域224中的可选数据的可选区域表214。在一些示例实施例中,如下面参照图10描述的,可选区域表214可包括可选数据的唯一密钥以及存储可选数据的可选区域224的物理地址。在其它示例实施例中,如下面参照图14描述的,可选区域表214还可包括可选数据的版本值以及存储可选数据的更新时间。在将可选数据写入可选区域224之后,存储控制器210可更新可选区域表214中的可选数据的信息。此外,存储控制器210可基于存储在可选区域表214中的信息从可选区域224读取可选数据。
在一些示例实施例中,可选数据可以是从正常区域222移动到可选区域224的数据。存储控制器210还可包括可选数据管理表216,其管理(在可选数据被移动到可选区域224之前)存储在正常区域222中的可选数据,并且用于确定要移动到可选区域224的可选数据。在一些示例实施例中,如下面参照图13描述的,可选数据管理表216可包括(但不限于)可选数据的唯一密钥、版本值、地址、存储计数、策略信息和更新时间。
在根据示例实施例的存储装置200中,存储控制器210可使用可选区域表214和/或可选数据管理表216将可选区域224用作用于存储可选数据的存储空间。例如,如图3所示,提供给主机的逻辑地址空间中的逻辑地址LA1、LA2、LA3和LA4可使用映射表212被映射至物理地址空间中的非易失性存储器装置220的正常区域NORMAL的物理地址PA1、PA2、PA3和PA4。在一些示例实施例中,正常区域NORMAL可包括过度供给区域OP。
在传统存储装置中,在对非易失性存储器装置的区域的访问时间超过参考延迟的情况下,非易失性存储器装置的该区域可被确定为异常区域ABNORMAL,异常区域ABNORMAL的物理地址可不映射至逻辑地址LA1、LA2、LA3和LA4,并且异常区域ABNORMAL可不被使用(例如,“NOT USED”)。然而,在根据示例实施例的存储装置200中,访问时间超过参考延迟的异常区域ABNORMAL可被设定为可选区域OPTIONAL或224,并且可选区域OPTIONAL或224可用于存储可选数据。可选区域OPTIONAL或224的物理地址PA5可不映射至逻辑地址LA1、LA2、LA3和LA4,并且可使用可选区域表214来管理。这里,可选区域OPTIONAL或224可以是需要比参考延迟更长的访问时间的区域,但是可以是可访问的区域。
在一些示例实施例中,如图4所示,作为不可访问的区(或者不可访问的区域)的异常区域ABNORMAL或者访问时间超过比参考延迟长的坏块参考延迟的异常区域ABNORMAL可被设定为永久非工作区域NOT WORKING或226,并且永久非工作区域NOT WORKING或226可不被使用(例如,“NOT USED”)。
如上所述,在根据示例实施例的存储装置200中,异常区域ABNORMAL可被设定为可选区域OPTIONAL或224,并且可选区域OPTIONAL或224可用于存储可选数据。因此,存储装置200的存储空间可扩展,并且可高效地使用存储装置200。
图5是用于描述在根据示例实施例的存储装置的操作方法中检测可选区域的示例的流程图,图6是用于描述正常区域、可选区域和永久非工作区域的示例的图。
参照图2和图5,存储控制器210可从主机接收对正常区域222内的存储器块的写请求(操作S110)。例如,写请求可包括与存储器块的物理地址对应的逻辑地址、要写入存储器块的写数据以及指示写请求的写命令。
存储控制器210可响应于写请求对存储器块执行写操作(操作S120和操作S130)。例如,存储控制器210可设定用于执行写操作的写逻辑(操作S120),并且可执行写逻辑(操作S130)。在写操作未完成的情况下,或者在写数据未通过写逻辑正常地写入存储器块的情况下(操作S140:否),存储控制器210可确定写操作的时间是否超过参考写延迟(操作S160)。如果写操作的时间未超过参考写延迟(操作S160:否),则存储控制器210可设定另一写逻辑(操作S120)。例如,存储控制器210可设定(但不限于)默认写逻辑、用于根据存储器块的保留值执行校正的写逻辑、用于根据编程/擦除(P/E)循环执行校正的写逻辑、用于使用软决策算法执行校正的写逻辑、用于使用机器学习防御代码执行校正的写逻辑、用于为每个层执行错误恢复例程的写逻辑或它们的组合。存储控制器210可执行该另一写逻辑(操作S130)。
在写操作完成的情况下,或者在写数据通过写逻辑被正常地写入存储器块的情况下(操作S140:是),存储控制器210可向主机传送写成功响应(操作S150)。然而,在写操作未完成(操作S140:否),并且写操作的时间超过参考写延迟(操作S160:是)的情况下,存储控制器210可将存储器块设定为用于存储可选数据的可选区域224(操作S170),并且可向主机传送写失败响应(操作S180)。
如上所述,在根据示例实施例的存储装置200的操作方法中,在对正常区域222内的存储器块的写操作的时间超过参考写延迟的情况下(例如,响应于该条件),存储器块可被设定为可选区域224。此外,在一些示例实施例中,在对存储器块的写操作的时间超过比参考写延迟长的坏块参考写延迟的情况下,存储器块可被设定为不使用的永久非工作区域226。
例如,如图6所示,存储控制器210可响应于写请求WRITE REQUEST顺序地执行N+M个写逻辑WL1、WL2、…、WLN、WLN+1、…、WLN+M以对存储器块执行写操作,其中N和M中的每一个是大于0的整数。如果写操作在参考写延迟RWL1内完成,或者如果写操作通过N或更少的写逻辑WL1至WLN完成,则存储器块可维持为正常区域222。另选地,如果写操作的时间超过参考写延迟RWL1,但没有超过坏块参考写延迟RWL2,或者如果写操作通过至多第(N+1)写逻辑WLN+1至第(N+M)写逻辑WLN+M完成,则存储器块可被设定为可选区域224。此外,如果写操作的时间超过坏块参考写延迟RWL2,或者如果写操作通过N+M个写逻辑WL1至WLN+M没有完成,则存储器块可被设定为永久非工作区域226。
图7是用于描述在根据示例实施例的存储装置的操作方法中检测可选区域的另一示例的流程图,图8是用于描述正常区域、可选区域和永久非工作区域的另一示例的图。
参照图2和图7,存储控制器210可从主机接收对正常区域222内的存储器块的读请求(操作S115)。例如,读请求可包括与存储器块的物理地址对应的逻辑地址以及指示读请求的读命令。
存储控制器210可响应于读请求对存储器块执行读操作(操作S125和操作S135)。例如,存储控制器210可设定用于执行读操作的读逻辑(操作S125),并且可执行读逻辑(操作S135)。在读操作未完成的情况下,或者在读数据未通过读逻辑正常地从存储器块读取的情况下(操作S145:否),存储控制器210可确定读操作的时间是否超过参考读延迟(操作S165)。如果读操作的时间未超过参考读延迟(操作S165:否),则存储控制器210可设定另一读逻辑(操作S125)。例如,存储控制器210可设定(但不限于)默认读逻辑、用于根据存储器块的保留值执行校正的读逻辑、用于通过比较当前温度与存储在非易失性存储器装置220中的温度来执行校正的读逻辑、用于使用软决策算法执行校正的读逻辑、用于使用机器学习防御代码执行校正的读逻辑、用于为每个层执行错误恢复例程的读逻辑或它们的组合。存储控制器210可执行该另一读逻辑(操作S135)。
在读操作完成的情况下,或者在读数据通过读逻辑正常地从存储器块读取的情况下(操作S145:是),存储控制器210可向主机提供读数据,并且可向主机传送读成功响应(操作S155)。然而,在读操作未完成(操作S145:否),并且读操作的时间超过参考读延迟(操作S165:是)的情况下,存储控制器210可将该存储器块设定为用于存储可选数据的可选区域224(操作S175),并且可向主机传送读失败响应(操作S185)。
如上所述,在根据示例实施例的存储装置200的操作方法中,在对正常区域222内的存储器块的读操作的时间超过参考读延迟的情况下,存储器块可被设定为可选区域224。此外,在一些示例实施例中,在对存储器块的读操作的时间超过比参考读延迟更长的坏块参考读延迟的情况下,存储器块可被设定为不使用的永久非工作区域226。
例如,如图8所示,存储控制器210可响应于读请求READ REQUEST顺序地执行N+M个读逻辑RL1、RL2、…、RLN、RLN+1、…、RLN+M以对存储器块执行读操作,其中N和M中的每一个是大于0的整数。如果读操作在参考读延迟RRL1内完成,或者如果读操作通过N或更少的读逻辑RL1至RLN完成,则存储器块可维持为正常区域222。另选地,如果读操作的时间超过参考读延迟RRL1,但没有超过坏块参考读延迟RRL2,或者如果读操作通过至多第(N+1)读逻辑RLN+1至第(N+M)读逻辑RLN+M完成,则存储器块可被设定为可选区域224。此外,如果读操作的时间超过坏块参考读延迟RRL2,或者如果读操作通过N+M个读逻辑RL1至RLN+M没有完成,则存储器块可被设定为永久非工作区域226。
图9是用于描述在根据示例实施例的存储装置的操作方法中可选数据被写入可选区域的示例的流程图,图10是示出可选区域表的示例的图。在本公开中,可选区域表也可被称为次级区域表。
参照图2和图9,在根据示例实施例的存储装置200的操作方法中,存储装置200的存储控制器210可从主机接收写请求(操作S210)。存储控制器210可根据写请求是否包括元数据选择性地执行对正常区域222的写操作或对可选区域224的写操作(操作S220、操作S230和操作S240)。在写请求不包括元数据的情况下(操作S220:否),存储控制器210可执行对正常区域222的写操作(操作S230)。例如,存储控制器210可基于包括在写请求中的逻辑地址映射至的物理地址将包括在写请求中的写数据写入正常区域222(操作S230)。
在写请求包括元数据的情况下(操作S220:是),存储控制器210可对可选区域224执行写操作(操作S240)。在一些示例实施例中,写请求可包括写数据和元数据,并且元数据可包括写数据的唯一密钥。存储控制器210可响应于写请求将写数据作为可选数据写入可选区域224的空白存储空间或自由存储空间(操作S240)。
在写数据被写入可选区域224之后,存储控制器210可将写数据的唯一密钥和写数据在可选区域224内的物理地址存储在可选区域表214中。例如,如图10所示,如果第一写请求的第一写数据响应于包括第一唯一密钥KEY1的第一写请求被写入可选区域224的第一物理地址OA_PA1,则第一唯一密钥KEY1和第一物理地址OA_PA1可被存储在可选区域表214a中。此外,如果第二写请求的第二写数据响应于包括第二唯一密钥KEY2的第二写请求被写入可选区域224的第二物理地址OA_PA2,则第二唯一密钥KEY2和第二物理地址OA_PA2可被存储在可选区域表214a中。
图11是用于描述在根据示例实施例的存储装置的操作方法中从可选区域读取可选数据的示例的流程图。
参照图2和图11,在根据示例实施例的存储装置200的操作方法中,存储装置200的存储控制器210可从主机接收读请求(操作S310)。存储控制器210可根据读请求是否包括元数据选择性地执行对正常区域222的读操作或对可选区域224的读操作(操作S320、操作S330、操作S340和操作S350)。在读请求不包括元数据的情况下(操作S320:否),存储控制器210可对正常区域222执行读操作(操作S330)。例如,存储控制器210可基于包括在读请求中的逻辑地址映射至的物理地址来读取读数据(操作S330)。
在读请求包括元数据的情况下(操作S320:是),存储控制器210可对可选区域224执行读操作(操作S340和操作S350)。在一些示例实施例中,读请求可不包括逻辑地址,但是可包括元数据。此外,元数据可包括唯一密钥。存储控制器210可在可选区域表214中搜索元数据的唯一密钥(操作S340)。此外,存储控制器210可基于可选区域表214中与唯一密钥对应的物理地址从可选区域224读取可选数据(操作S350)。例如,在包括图10所示的可选区域表214a的存储装置200中,在读请求的元数据包括第一唯一密钥KEY1的情况下,存储控制器210可基于与第一唯一密钥KEY1对应的第一物理地址OA_PA1读取可选区域224的第一物理地址OA_PA1处存储的可选数据。
图12是用于描述在根据示例实施例的存储装置的操作方法中可选数据被写入可选区域的示例的流程图,图13是示出可选数据管理表的示例的图,图14是示出可选区域表的另一示例的图,图15是用于描述快照数据作为可选数据被写入可选区域的示例的图。
参照图2和图12,在根据示例实施例的存储装置200的操作方法中,存储装置200的存储控制器210可从主机接收写请求(操作S205),并且可响应于写请求对正常区域222执行写操作(操作S215)。写请求可包括逻辑地址、写数据和写命令,并且存储控制器210可基于逻辑地址映射至的物理地址将写数据写入正常区域222。在写请求不包括元数据的情况下(操作S225:否),存储装置200响应于写请求的操作可完成。
另选地,如果写请求包括元数据(操作S225:是),则存储控制器210可更新可选数据管理表216(操作S235)。在一些示例实施例中,当主机传送对要写入可选区域224的可选数据的写请求时,写请求可包括元数据。元数据可包括用于包括在写请求中的写数据或用于要写入可选区域224的可选数据的唯一密钥、版本值、存储计数和策略信息。存储控制器210可将包括在写请求中的写数据或可选数据的唯一密钥、版本值、存储计数和策略信息添加或更新在可选数据管理表216中。
例如,如图13所示,用于管理存储在正常区域222中的可选数据的可选数据管理表216可存储用于存储在正常区域222中的可选数据的唯一密钥、版本值、地址、存储计数、策略信息和更新时间。唯一密钥可用于指定可选数据。例如,第一唯一密钥KEY1可被指派给第一可选数据,并且不同于第一唯一密钥KEY1的第二唯一密钥KEY2可被指派给不同于第一可选数据的第二可选数据。在示例中,第一可选数据可以是(但不限于)快照数据,并且第一唯一密钥KEY1可以是快照数据的唯一密钥SNAPSHOT_KEY。版本值可用于在相同可选数据或相同类型的可选数据的不同版本之间进行区分。例如,每次主机请求对快照数据的写操作时,主机可将快照数据的版本值从第一版本值VER1逐渐增大至高于第一版本值VER1的第二版本值VER2和高于第二版本值VER2的第三版本值VER3。此外,具有第二唯一密钥KEY2的第二可选数据可具有第二可选数据的版本值VER。地址是存储可选数据的正常区域222的地址(例如,逻辑地址或物理地址)。存储计数可表示保留在正常区域222中的相同可选数据的数量。策略信息可用于确定要从正常区域222移动到可选区域224的可选数据。例如,策略信息可具有(但不限于)表示最旧数据OLDEST的第一值、表示具有最低版本值的数据的第二值、表示具有最大大小LARGEST的数据的第三值和表示具有最小大小的数据的第四值之一。在一些示例实施例中,关于每个可选数据,存储计数和策略信息可被更新为从主机最近接收的存储计数和策略信息。更新时间可表示每个可选数据被存储在正常区域222中的时间,并且可具有时间戳值。
存储控制器210可参考可选数据管理表216检查存储在正常区域222中的具有写请求的元数据的唯一密钥的可选数据的数量,并且可将具有与元数据的唯一密钥相同的唯一密钥的可选数据的数量与元数据的存储计数比较(操作S245)。在具有相同唯一密钥的可选数据的数量小于或等于存储计数的情况下(操作S245:否),存储装置200响应于写请求的操作可完成。
另选地,在具有相同唯一密钥和不同版本值的可选数据的数量大于存储计数的情况下(操作S245:是),存储控制器210可基于写请求的元数据使可选数据从正常区域222移动到可选区域224(操作S255至操作S285)。
在一些示例实施例中,存储控制器210可基于元数据的策略信息从具有不同版本值的可选数据选择要从正常区域222移动到可选区域224的一个可选数据(操作S255)。例如,根据策略信息,可从具有不同版本值的可选数据选择最旧数据、具有最低版本值的数据、具有最大大小的数据或具有最小大小的数据。
存储控制器210可从正常区域222读取所选可选数据(操作S260)。例如,存储控制器210可在可选数据管理表216中获得所选可选数据的地址,并且可基于所获得的地址从正常区域222读取所选可选数据。
存储控制器210可确保可选区域224的空白或自由存储空间(操作S265)。例如,在可选区域224没有用于存储所选可选数据的空白存储空间的情况下,存储控制器210可擦除(但不限于)可选区域224的存储最旧可选数据的存储器块。
存储控制器210可将从正常区域222读取的所选可选数据写入可选区域224(操作S270、操作S275和操作S280)。例如,存储控制器210可设定写逻辑(操作S270),并且可执行写逻辑以将可选数据写入可选区域224(操作S275)。在写操作没有正常完成的情况下(操作S280:否),存储控制器210可设定另一写逻辑(操作S290:是,以及操作S270),并且可执行该另一写逻辑(操作S275)。在写操作正常完成的情况下(操作S280:是),存储控制器210可将可选数据的信息添加或更新在可选区域表214中(操作S285)。例如,如图14所示,可选区域表214b可存储可选区域224中所存储的可选数据的唯一密钥、版本值、物理地址和更新时间。如果所选可选数据被写入可选区域224,则存储控制器210可将写请求的元数据的唯一密钥、所选可选数据的版本值、可选区域224的存储所选可选数据的物理地址以及所选可选数据被存储在可选区域224中的时间添加或更新到可选区域表214b。
另选地,在尽管执行存储控制器210的所有写逻辑,但写操作还没有正常完成的情况下(操作S280:否,并且操作S290:否),可选区域224的执行写操作的存储器块可被设定为永久非工作区域226(操作S295),并且存储控制器210可向主机告知将可选数据写入可选区域224失败。
如上所述,在根据示例实施例的存储装置200的操作方法中,存储在正常区域222中的可选数据可使用可选数据管理表216来管理,并且存储控制器210可使用可选数据管理表216将存储在正常区域222中的可选数据移动到可选区域224。
图15示出存储装置200的示例,其中版本值VER为1的第一快照数据SNAPSD1、版本值VER为2的第二快照数据SNAPSD2和版本值VER为3的第三快照数据SNAPSD3存储在正常区域222a中,并且没有快照数据存储在可选区域224a中。在存储装置200接收到写请求,并且写请求的元数据包括快照密钥SNAPSHOT_KEY作为唯一密钥KEY,版本值VER为4,存储计数STORE COUNT为3并且策略信息POLICY表示最旧数据OLDEST的情况下,存储控制器210可将版本值VER为4的第四快照数据SNAPSD4写入正常区域222b。此外,由于存储在正常区域222b中的快照数据SNAPSD1、SNAPSD2、SNAPSD3和SNAPSD4的数量大于存储计数STORE COUNT 3,所以存储控制器210可基于策略信息POLICY选择要移动到可选区域224b的快照数据SNAPSD1。由于策略信息POLICY表示最旧数据OLDEST,所以存储控制器210可选择快照数据SNAPSD1、SNAPSD2、SNAPSD3和SNAPSD4当中最旧的第一快照数据SNAPSD1。存储控制器210可将第一快照数据SNAPSD1从正常区域222c移动到可选区域224c。因此,由于可选区域224c用作存储空间,所以存储装置200的存储空间可扩展,并且可高效地使用存储装置200。
图16是用于描述在根据示例实施例的存储装置的操作方法中从可选区域读取可选数据的示例的流程图。
参照图2和图16,在根据示例实施例的存储装置200的操作方法中,存储装置200的存储控制器210可从主机接收读请求(操作S305),并且可确定读请求是否包括元数据(操作S315)。在读请求不包括元数据的情况下(操作S315:否),存储控制器210可基于包括在读请求中的逻辑地址映射至的第一物理地址从正常区域222读取第一读数据(操作S325)。
另选地,当主机传送对可选数据的读请求时,读请求可包括具有唯一密钥和版本值的元数据。如果读请求包括元数据(操作S315:是),则存储控制器210可在用于管理存储在正常区域222中的可选数据的可选数据管理表216中搜索元数据的唯一密钥和版本值(操作S335)。在可选数据管理表216中存在唯一密钥和版本值的情况下(操作S335:是),存储控制器210可基于可选数据管理表216中与唯一密钥和版本值对应的第二物理地址从正常区域222读取第二读数据(操作S345)。
在可选数据管理表216中不存在唯一密钥和版本值的情况下(操作S335:否),存储控制器210可在用于管理存储在可选区域224中的可选数据的可选区域表214中搜索唯一密钥和版本值(操作S355)。在可选区域表214中不存在唯一密钥和版本值的情况下(操作S355:否),存储控制器210可向主机传送读失败响应(操作S360)。
另选地,在可选区域表214中存在唯一密钥和版本值的情况下(操作S355:是),存储控制器210可基于可选区域表214中与唯一密钥和版本值对应的第三物理地址从可选区域224读取可选数据(操作S365、操作S370和操作S375)。例如,存储控制器210可设定读逻辑(操作S365),并且可执行读逻辑以从可选区域224读取可选数据(操作S370)。在读操作没有正常完成的情况下(操作S375:否),存储控制器210可设定另一读逻辑(操作S380:是,并且操作S365),并且可执行该另一读逻辑(操作S370)。在读操作正常完成的情况下(操作S375:是),存储控制器210可向主机提供可选数据。另选地,在尽管执行存储控制器210的所有读逻辑,但读操作没有正常完成的情况下(操作S375:否,并且操作S380:否),可选区域224的执行读操作的存储器块可被设定为永久非工作区域226(操作S385),并且存储控制器210可向主机通知从可选区域224读取可选数据失败。
图17是示出根据示例实施例的计算系统的框图。
参照图17,计算系统100可包括存储装置200以及将数据存储在存储装置200中的主机120。在一些示例实施例中,计算系统100可以是诸如个人计算机(PC)、服务器计算机、数据中心、工作站、数字电视(TV)、机顶盒等的任何计算系统。在其它示例实施例中,计算系统100可以是任何移动系统,例如移动电话、智能电话、平板计算机、膝上型计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数字相机、摄像机、便携式游戏机、音乐播放器、视频播放器、导航装置、可穿戴装置、物联网(IoT)装置、万物互联(IoE)装置、电子书阅读器、虚拟现实(VR)装置、增强现实(AR)装置、机器人装置、无人机等。
主机120可包括主机处理器140和主机存储器160。主机处理器140可将存储在主机存储器160中的数据作为写数据传送至存储装置200,或者可将从存储装置200读取的读数据存储在主机存储器160中。
在一些示例实施例中,主机处理器140和主机存储器160可被实现为分离的半导体芯片。另选地,在其它示例实施例中,主机处理器140和主机存储器160可被集成在同一半导体芯片中。作为示例,主机处理器140可以是包括在应用处理器(AP)中的多个模块中的任一个。AP可被实现为系统芯片(SoC)。此外,主机存储器160可以是包括在AP中的嵌入式存储器,或者位于AP之外的非易失性存储器装置(NVM)或存储器模块。
存储装置200可包括存储控制器210和非易失性存储器装置(以下,“NVM”)220。在一些示例实施例中,NVM 220可包括闪速存储器,并且闪速存储器可包括2D NAND存储器阵列或3D(或垂直)NAND(VNAND)存储器阵列。在其它示例实施例中,NVM 220可包括各种其它类型的NVM,例如MRAM、自旋转移矩MRAM、导电桥接RAM(CBRAM)、FRAM、PRAM、RRAM和各种其它类型的存储器。
存储控制器210可包括主机接口230、存储器接口232、中央处理单元(CPU)233和缓冲存储器236。存储控制器210还可包括闪存转换层(FTL)234、分组管理器235、纠错码(ECC)引擎237和高级加密标准(AES)引擎238。存储控制器210还可包括加载有FTL 234的工作存储器(未示出),CPU 233可执行FTL 234以控制对NVM 220的数据写操作和读操作。
主机接口230可向主机120发送和从主机120接收分组。从主机120发送到主机接口230的分组可包括要写至NVM 220的命令或数据。从主机接口230发送到主机120的分组可包括对从NVM 220读取的命令或数据的响应。存储器接口232可将要写入NVM 220的数据发送到NVM 220,或者可接收从NVM 220读取的数据。存储器接口232可被配置为符合诸如Toggle或开放NAND闪存接口(ONFI)的标准协议。
FTL 234可执行诸如地址映射操作、磨损均衡操作和垃圾收集操作的各种功能。地址映射操作可以是将从主机120接收的逻辑地址转换为NVM 220中用于实际存储数据的物理地址的操作。磨损均衡操作可以是用于通过允许NVM 220的块被均匀地使用来减少或防止特定块的过度劣化的技术。作为示例,磨损均衡操作可使用平衡物理块的擦除计数的固件技术来实现。垃圾收集操作可以是用于通过在将现有块的有效数据复制到新块之后擦除现有块来确保NVM 220中的可用容量的技术。在一些示例实施例中,FTL 234可包括和管理将主机120的逻辑地址映射至NVM 220的物理地址的映射表(MT)212、管理存储在NVM 220的可选区域中的可选数据的可选区域表(OAT)214以及管理存储在NVM 220的正常区域中的可选数据的可选数据管理表(ODMT)216。
分组管理器235可根据符合主机120的接口的协议来生成分组,或者从接收自主机120的分组解析各种类型的信息。另外,缓冲存储器236可包括暂时存储要写入NVM 220的写数据的写缓冲器WB、暂时存储从NVM 220读取的读数据的读缓冲器RB以及用于内部操作的内部缓冲器。尽管缓冲存储器236可以是包括在存储控制器210中的组件,但是缓冲存储器236可在存储控制器210之外。
ECC引擎237可对从NVM 220读取的读数据执行检错和纠错操作。例如,ECC引擎237可为要写入NVM 220的写数据生成奇偶校验比特,并且所生成的奇偶校验比特可与写数据一起被存储在NVM 220中。在从NVM 220读取数据期间,ECC引擎237可使用从NVM 220读取的奇偶校验比特连同读数据一起来纠正读数据中的错误,并且输出纠错的读数据。
AES引擎238可使用对称密钥算法来对输入到存储控制器210的数据执行加密操作和解密操作中的至少一个。
图18是示出根据示例实施例的存储装置中所包括的非易失性存储器装置的示例的框图。
参照图18,非易失性存储器装置300可包括存储器单元阵列330以及针对存储器单元阵列330执行操作的控制电路。控制电路可包括控制逻辑电路系统320、页缓冲器电路340、电压生成器350和行解码器360。尽管图18中未示出,非易失性存储器装置300还可包括接口电路系统310。另外,存储器装置300还可包括列逻辑、预解码器、温度传感器、命令解码器和/或地址解码器。
控制逻辑电路系统320可控制非易失性存储器装置300的所有各种操作。控制逻辑电路系统320可响应于来自接口电路系统310的命令CMD和/或地址ADDR而输出各种控制信号。例如,控制逻辑电路系统320可输出电压控制信号CTRL_vol、行地址X-ADDR和列地址Y-ADDR。
存储器单元阵列330可包括多个存储器块BLK1至BLKz(这里,z是正整数),每个存储器块可包括多个存储器单元。存储器单元阵列330可通过位线BL连接到页缓冲器电路340并且通过字线WL、串选择线SSL和接地选择线GSL连接到行解码器360。
在一些示例实施例中,存储器单元阵列330可包括3D存储器单元阵列,其包括多个NAND串。每个NAND串可包括分别连接到竖直层叠在基板上的字线的存储器单元。美国专利No.7,679,133;8,553,466;8,654,587;8,559,235;和美国专利公布No.2011/0233648的全部公开通过引用并入本文;然而,在本文中所使用的术语与并入的参考文献的术语之间的任何冲突或不一致的情况下,本说明书中所使用的术语优先于并入的参考文献的术语。在一些示例实施例中,存储器单元阵列330可包括2D存储器单元阵列,其包括布置在行方向和列方向上的多个NAND串。
页缓冲器电路340可包括多个页缓冲器PB1至PBm(这里,m是大于或等于3的整数),其可通过多条位线BL分别连接到存储器单元。页缓冲器电路340可响应于列地址Y-ADDR而选择至少一条位线BL。页缓冲器电路340可根据操作模式作为写驱动器或感测放大器操作。例如,在编程操作期间,页缓冲器电路340可将与要编程的数据对应的位线电压施加到所选位线。在读操作期间,页缓冲器电路340可感测所选位线BL的电流或电压并且感测存储在存储器单元中的数据。
电压生成器350可基于电压控制信号CTRL_vol来生成用于编程操作、读操作和擦除操作的各种类型的电压。例如,电压生成器350可生成编程电压、读电压、编程验证电压和擦除电压作为字线电压VWL。
行解码器360可响应于行地址X-ADDR而选择多条字线WL之一并选择多条串选择线SSL之一。例如,行解码器360可在编程操作期间将编程电压和编程验证电压施加到所选字线WL并且在读操作期间将读电压施加到所选字线WL。
图19是示出图18的非易失性存储器装置的存储器单元阵列中所包括的存储器块的示例的立体图。
参照图19,存储器块BLKi包括以三维结构(或竖直结构)形成在基板上的多个单元串(例如,多个竖直NAND串)。存储器块BLKi包括沿着第一方向D1、第二方向D2和第三方向D3延伸的结构。
提供基板111。例如,基板111中可具有第一类型的电荷载流子杂质(例如,第一导电类型)的阱。例如,基板111可具有通过注入诸如硼(B)的3族元素而形成的p阱。具体地,基板111可具有设置在n阱内的袋式p阱。在一些示例实施例中,基板111具有p型阱(或p型袋式阱)。然而,基板111的导电类型不限于p型。
沿着第二方向D2布置的多个掺杂区域311、312、313和314设置在基板111中/上。这多个掺杂区域311至314可具有与基板111的第一类型不同的第二类型的电荷载流子杂质(例如,第二导电类型)。在本发明构思的一些示例实施例中,第一掺杂区域311至第四掺杂区域314可具有n型。然而,第一掺杂区域311至第四掺杂区域314的导电类型不限于n型。
在基板111的第一掺杂区域311和第二掺杂区域312之间的区域上沿着第三方向D3顺序地设置沿着第一方向D1延伸的多个绝缘材料112。例如,多个绝缘材料112沿着第三方向D3设置,间隔特定距离。例如,绝缘材料112可包括诸如氧化物层的绝缘材料或可由诸如氧化物层的绝缘材料形成。
在基板111的第一掺杂区域311和第二掺杂区域312之间的区域上沿着第一方向D1顺序地设置沿着第三方向D3穿透绝缘材料的多个柱113。例如,多个柱113穿透绝缘材料112以接触基板111。
在一些示例实施例中,每个柱113可包括多种材料。例如,每个柱113的沟道层114可包括有第一导电类型的硅材料或可由具有第一导电类型的硅材料形成。例如,每个柱113的沟道层114可包括具有与基板111相同的导电类型的硅材料或可由具有与基板111相同的导电类型的硅材料形成。在本发明构思的一些示例实施例中,每个柱113的沟道层114包括p型硅或由p型硅形成。然而,每个柱113的沟道层114不限于p型硅。
每个柱113的内部材料115包括绝缘材料。例如,每个柱113的内部材料115可包括诸如氧化硅的绝缘材料或可由诸如氧化硅的绝缘材料形成。在一些示例中,每个柱113的内部材料115可包括气隙。如本文所讨论的,术语“空气”可指大气或在制造工艺期间可存在的其它气体。
在第一掺杂区域311和第二掺杂区域312之间的区域上,沿着绝缘材料112、柱113和基板111的暴露表面设置绝缘层116。例如,如所示,设置在绝缘材料112的表面上的绝缘层116可插置在柱113和多个层叠的第一导电材料211、221、231、241、251、261、271、281和291之间。在一些示例中,绝缘层116不需要设置在与接地选择线GSL(例如,211)和串选择线SSL(例如,291)对应的第一导电材料211至291之间。例如,接地选择线GSL是第一导电材料211至291的堆叠件中的最下面的第一导电材料,串选择线SSL是第一导电材料211至291的堆叠件中的最上面的第一导电材料。
在第一掺杂区域311和第二掺杂区域312之间的区域中,多个第一导电材料211至291设置在绝缘层116的表面上。例如,沿着第一方向D1延伸的第一导电材料211设置在与基板111相邻的绝缘材料112和基板111之间。更详细地,沿着第一方向D1延伸的第一导电材料211设置在与基板111相邻的绝缘材料112底部的绝缘层116和基板111之间。
沿着第一方向D1延伸的第一导电材料设置在绝缘材料112当中的特定绝缘材料顶部的绝缘层116和绝缘材料112当中的特定绝缘材料底部的绝缘层116之间。例如,沿着第一方向D1延伸的多个第一导电材料221至281设置在绝缘材料112之间,并且可以理解,绝缘层116设置在绝缘材料112和第一导电材料221至281之间。第一导电材料211至291可由导电金属形成,但在本发明构思的其它示例实施例中,第一导电材料211至291可包括诸如多晶硅的导电材料或可由诸如多晶硅的导电材料形成。
与第一掺杂区域311和第二掺杂区域312上的那些结构相同的结构可设置在第二掺杂区域312和第三掺杂区域313之间的区域中。在第二掺杂区域312和第三掺杂区域313之间的区域中,设置多个绝缘材料112,其沿着第一方向D1延伸。设置多个柱113,其沿着第一方向D1顺序地设置并沿着第三方向D3穿透多个绝缘材料112。绝缘层116设置在多个绝缘材料112和多个柱113的暴露表面上,并且多个第一导电材料211至291沿着第一方向D1延伸。类似地,与第一掺杂区域311和第二掺杂区域312上的那些结构相同的结构可设置在第三掺杂区域313和第四掺杂区域314之间的区域中。
多个漏极区域321分别设置在多个柱113上。漏极区域321可包括掺杂有第二类型的电荷载流子杂质的硅材料或可由掺杂有第二类型的电荷载流子杂质的硅材料形成。例如,漏极区域321可包括掺杂有n型掺杂剂的硅材料或可由掺杂有n型掺杂剂的硅材料形成。在本发明构思的一些示例实施例中,漏极区域321包括n型硅材料或由n型硅材料形成。然而,漏极区域321不限于n型硅材料。
在漏极区域上,设置多个第二导电材料331、332和333,其沿着第二方向D2延伸。第二导电材料331至333沿着第一方向D1设置,彼此间隔开特定距离。第二导电材料331至333分别连接到对应区域中的漏极区域321。漏极区域321和沿着第二方向D2延伸的第二导电材料333可通过每个接触插塞连接。例如,每个接触插塞可以是由诸如金属的导电材料形成的导电插塞。第二导电材料331至333可包括金属材料或可由金属材料形成。第二导电材料331至333可包括诸如多晶硅的导电材料或可由诸如多晶硅的导电材料形成。
在图19的示例中,第一导电材料211至291可用于形成字线WL、串选择线SSL和接地选择线GSL。例如,第一导电材料221至281可用于形成字线WL,其中属于同一层的导电材料可互连。第二导电材料331至333可用于形成位线BL。第一导电材料211至291的层数可根据工艺和控制技术不同地改变。
图20是示出参照图19描述的存储器块的等效电路的电路图。
图20所示的存储器块BLKi可指具有形成在基板上的3D结构的3D存储器块。例如,包括在存储器块BLKi中的多个存储器NAND串可形成在基板的竖直方向上。
参照图20,存储器块BLKi可包括连接在位线BL1、BL2和BL3与公共源极线CSL之间的多个存储器NAND串(例如,NS11至NS33)。存储器NAND串NS11至NS33中的每一个可包括串选择晶体管SST、多个存储器单元(例如,MC1、MC2、…和MC8)和接地选择晶体管GST。在图20中存储器NAND串NS11至NS33中的每一个被示出为包括八个存储器单元MC1、MC2、…和MC8,但不限于此。
串选择晶体管SST可连接到与之对应的串选择线SSL1、SSL2和SSL3。存储器单元MC1、MC2、…和MC8中的每一个可连接到字线WL1、WL2、…、和WL8中的对应一个。字线WL1、WL2、…、和WL8中的一些可对应于虚设字线。接地选择晶体管GST可连接到与之对应的接地选择线GSL1、GSL2和GSL3。串选择晶体管SST可连接到与之对应的位线BL1、BL2和BL3,接地选择晶体管GST可连接到公共源极线CSL。
相同水平高度处的字线(例如,WL1)可共同连接,接地选择线GSL1、GSL2和GSL3与串选择线SSL1、SSL2和SSL3可彼此分离。图20示出存储器块BLKi连接到八条字线WL1、WL2、…、WL8和三条位线BL1、BL2和BL3的情况,但不限于此。
字线WL1至WL8的数量、位线BL1至BL3的数量以及存储器单元MC1至MC8的数量限于图20的示例。
图21是根据示例实施例的存储装置中所包括的非易失性存储器装置的截面图。
参照图21,非易失性存储器装置2000可具有芯片到芯片(C2C)结构。C2C结构可指通过在第一晶圆上制造包括存储器单元区域或单元区域CELL的上芯片,在与第一晶圆分离的第二晶圆上制造包括外围电路区域PERI的下芯片,然后将上芯片和下芯片彼此接合而形成的结构。这里,接合工艺可包括将形成在上芯片的最上金属层上的接合金属和形成在下芯片的最上金属层上的接合金属电连接的方法。例如,接合金属可包括使用Cu到Cu接合的铜(Cu)。然而,示例实施例可不限于此。例如,接合金属也可由铝(Al)或钨(W)形成。
非易失性存储器装置2000的外围电路区域PERI和单元区域CELL中的每一个可包括外部焊盘接合区域PA、字线接合区域WLBA和位线接合区域BLBA。
外围电路区域PERI可包括第一基板2210、层间绝缘层2215、形成在第一基板2210上的多个电路元件2220a、2220b和2220c、分别连接到多个电路元件2220a、2220b和2220c的第一金属层2230a、2230b和2230c以及形成在第一金属层2230a、2230b和2230c上的第二金属层2240a、2240b和2240c。在一些示例实施例中,第一金属层2230a、2230b和2230c可由具有相对高的电阻率的钨形成,第二金属层2240a、2240b,和2240c可由具有相对低的电阻率的铜形成。
在图21所示的示例实施例中,尽管仅示出并描述了第一金属层2230a、2230b和2230c以及第二金属层2240a、2240b和2240c,但示例实施例不限于此,一个或多个附加金属层可进一步形成在第二金属层2240a、2240b和2240c上。形成在第二金属层2240a、2240b和2240c上的一个或多个附加金属层的至少一部分可由电阻率比形成第二金属层2240a、2240b和2240c的铜低的铝等形成。
层间绝缘层2215可设置在第一基板2210上并且覆盖多个电路元件2220a、2220b和2220c、第一金属层2230a、2230b和2230c以及第二金属层2240a、2240b和2240c。层间绝缘层2215可包括诸如氧化硅、氮化硅等的绝缘材料。
下接合金属2271b和2272b可形成在字线接合区域WLBA中的第二金属层2240b上。在字线接合区域WLBA中,外围电路区域PERI中的下接合金属2271b和2272b可电接合到单元区域CELL的上接合金属2371b和2372b。下接合金属2271b和2272b和上接合金属2371b和2372b可由铝、铜、钨等形成。此外,单元区域CELL中的上接合金属2371b和2372b可被称为第一金属焊盘,外围电路区域PERI中的下接合金属2271b和2272b可被称为第二金属焊盘。
单元区域CELL可包括至少一个存储器块。单元区域CELL可包括第二基板2310和公共源极线2320。在第二基板2310上,多条字线2331至2338(例如,2330)可在垂直于第二基板2310的上表面的第三方向D3(例如,Z轴方向)上层叠。至少一条串选择线和至少一条接地选择线可分别布置在多条字线2330之上和之下,并且多条字线2330可设置在至少一条串选择线和至少一条接地选择线之间。
在位线接合区域BLBA中,沟道结构CH可在垂直于第二基板2310的上表面的第三方向D3(例如,Z轴方向)上延伸,并且穿过多条字线2330、至少一条串选择线和至少一条接地选择线。沟道结构CH可包括数据存储层、沟道层、掩埋绝缘层等,并且沟道层可电连接到第一金属层2350c和第二金属层2360c。例如,第一金属层2350c可以是位线接触件,第二金属层2360c可以是位线。在一些示例实施例中,位线2360c可在平行于第二基板2310的上表面的第二方向D2(例如,Y轴方向)上延伸。
在图21所示的示例实施例中,设置有沟道结构CH、位线2360c等的区域可被定义为位线接合区域BLBA。在位线接合区域BLBA中,位线2360c可电连接到外围电路区域PERI中提供页缓冲器2393的电路元件2220c。位线2360c可连接到单元区域CELL中的上接合金属2371c和2372c,并且上接合金属2371c和2372c可连接到与页缓冲器2393的电路元件2220c连接的下接合金属2271c和2272c。
在字线接合区域WLBA中,多条字线2330可在平行于第二基板2310的上表面且垂直于第二方向D2的第一方向D1(例如,X轴方向)上延伸,并且可连接到多个单元接触插塞2341至2347(例如,2340)。多条字线2330和多个单元接触插塞2340可在第一方向D1上以不同长度延伸的多条字线2330的至少一部分所提供的焊盘中彼此连接。第一金属层2350b和第二金属层2360b可顺序地连接到与多条字线2330连接的多个单元接触插塞2340的上部。多个单元接触插塞2340可通过字线接合区域WLBA中的单元区域CELL的上接合金属2371b和2372b和外围电路区域PERI的下接合金属2271b和2272b连接到外围电路区域PERI。
多个单元接触插塞2340可电连接到外围电路区域PERI中形成行解码器2394的电路元件2220b。在一些示例实施例中,形成行解码器2394的电路元件2220b的操作电压可不同于形成页缓冲器2393的电路元件2220c的操作电压。例如,形成页缓冲器2393的电路元件2220c的操作电压可大于形成行解码器2394的电路元件2220b的操作电压。
公共源极线接触插塞2380可设置在外部焊盘接合区域PA中。公共源极线接触插塞2380可由诸如金属、金属化合物、多晶硅等的导电材料形成,并且可电连接到公共源极线2320。第一金属层2350a和第二金属层2360a可顺序地层叠在公共源极线接触插塞2380的上部。例如,设置有公共源极线接触插塞2380、第一金属层2350a和第二金属层2360a的区域可被定义为外部焊盘接合区域PA。
输入/输出焊盘2205和2305可设置在外部焊盘接合区域PA中。覆盖第一基板2210的下表面的下绝缘膜2201可形成在第一基板2210下方,并且第一输入/输出焊盘2205可形成在下绝缘膜2201上。第一输入/输出焊盘2205可通过第一输入/输出接触插塞2203连接到设置在外围电路区域PERI中的多个电路元件2220a、2220b和2220c中的至少一个,并且可通过下绝缘膜2201与第一基板2210分离。另外,侧绝缘膜可设置在第一输入/输出接触插塞2203和第一基板2210之间以将第一输入/输出接触插塞2203和第一基板2210电分离。
覆盖第二基板2310的上表面的上绝缘膜2301可形成在第二基板2310上,并且第二输入/输出焊盘2305可设置在上绝缘膜2301上。第二输入/输出焊盘2305可通过第二输入/输出接触插塞2303连接到设置在外围电路区域PERI中的多个电路元件2220a、2220b和2220c中的至少一个。在一些示例实施例中,第二输入/输出焊盘2305电连接到电路元件2220a。
根据示例实施例,第二基板2310和公共源极线2320可不设置在设置有第二输入/输出接触插塞2303的区域中。另外,第二输入/输出焊盘2305可在第三方向D3(例如,Z轴方向)上不与字线2330交叠。第二输入/输出接触插塞2303可在平行于第二基板2310的上表面的方向上与第二基板2310分离,并且可穿过单元区域CELL的层间绝缘层以连接到第二输入/输出焊盘2305。
根据示例实施例,第一输入/输出焊盘2205和第二输入/输出焊盘2305可选择性地形成。例如,非易失性存储器装置2000可仅包括设置在第一基板2210上的第一输入/输出焊盘2205或设置在第二基板2310上的第二输入/输出焊盘2305。另选地,非易失性存储器装置2000可包括第一输入/输出焊盘2205和第二输入/输出焊盘2305二者。
在分别包括在单元区域CELL和外围电路区域PERI中的外部焊盘接合区域PA和位线接合区域BLBA中的每一个中,设置在最上面的金属层上的金属图案可被设置为虚设图案或者可不存在最上面的金属层。
在外部焊盘接合区域PA中,非易失性存储器装置2000可在外围电路区域PERI的最上面的金属层中包括下金属图案2273a,其与形成在单元区域CELL的最上面的金属层中的上金属图案2372a对应并且具有与单元区域CELL的上金属图案2372a相同的截面形状以彼此连接。在外围电路区域PERI中,形成在外围电路区域PERI的最上面的金属层中的下金属图案2273a可不连接到接触件。类似地,在外部焊盘接合区域PA中,与形成在外围电路区域PERI的最上面的金属层中的下金属图案2273a对应并且具有与外围电路区域PERI的下金属图案2273a相同的形状的上金属图案2372a可形成在单元区域CELL的最上面的金属层中。
下接合金属2271b和2272b可形成在字线接合区域WLBA中的第二金属层2240b上。在字线接合区域WLBA中,外围电路区域PERI的下接合金属2271b和2272b可通过Cu到Cu接合电连接到单元区域CELL的上接合金属2371b和2372b。
此外,在位线接合区域BLBA中,与形成在外围电路区域PERI的最上面的金属层中的下金属图案2252对应并且具有与外围电路区域PERI的下金属图案2252相同的截面形状的上金属图案2392可形成在单元区域CELL的最上面的金属层中。在形成在单元区域CELL的最上面的金属层中的上金属图案2392上可不形成接触件。
在一些示例实施例中,与形成在单元区域CELL和外围电路区域PERI之一中的最上面的金属层中的金属图案对应,具有与该金属图案相同的截面形状的增强金属图案可形成在单元区域CELL和外围电路区域PERI中的另一个中的最上面的金属层中。在增强金属图案上可不形成接触件。
本发明构思可应用于各种存储装置和包括存储装置的计算系统。例如,本发明构思可应用于诸如PC、服务器计算机、数据中心、工作站、移动电话、智能电话、平板计算机、膝上型计算机、PDA、PMP、数字相机、便携式游戏机、音乐播放器、摄像机、视频播放器、导航装置、可穿戴装置、IoT装置、IoE装置、电子书阅读器、VR装置、AR装置、机器人装置、无人机等的计算系统。
上面所公开的一个或多个元件可包括或被实现于处理电路系统中,例如包括逻辑电路的硬件;硬件/软件组合,例如执行软件的处理器;或其组合。例如,处理电路系统更具体地可包括(但不限于)中央处理单元(CPU)、算术逻辑单元(ALU)、数字信号处理器、微计算机、现场可编程门阵列(FPGA)、系统芯片(SoC)、可编程逻辑单元、微处理器、专用集成电路(ASIC)等。
上述是示例实施例的例示,不应被解释为限制示例实施例。尽管已描述了一些示例实施例,但本领域技术人员将易于理解,在不实质上背离本发明构思的实施例的新颖教导和优点的情况下,在本发明构思的实施例中许多修改是可能的。因此,所有这些修改旨在包括在权利要求中限定的示例实施例的范围内。因此,将理解,上述是各种示例实施例的例示,不应被解释为限于所公开的特定示例实施例,并且对所公开的示例实施例的修改以及本发明构思的其它实施例旨在包括在所附权利要求的范围内。

Claims (20)

1.一种操作包括非易失性存储器装置的存储装置的方法,所述方法包括:
将异常区域检测为所述非易失性存储器装置中的可选区域,所述异常区域是所述非易失性存储器装置的访问时间超过参考延迟的部分;以及
将可选数据存储在所述可选区域中。
2.根据权利要求1所述的方法,其中
所述参考延迟是参考写延迟和参考读延迟,并且
将所述异常区域检测为所述可选区域包括:如果对所述非易失性存储器装置的存储器块的写操作的时间超过所述参考写延迟或如果对所述存储器块的读操作的时间超过所述参考读延迟,则将所述非易失性存储器装置的所述存储器块检测为所述可选区域。
3.根据权利要求1所述的方法,其中,将所述异常区域检测为所述可选区域包括:
从主机接收对所述非易失性存储器装置的正常区域内的存储器块的写请求;
对所述存储器块执行写操作;
如果所述写操作在参考写延迟内没有完成,则向所述主机传送写失败响应;以及
如果所述写操作在所述参考写延迟内没有完成,则将所述存储器块设定为所述可选区域。
4.根据权利要求1所述的方法,其中,将所述异常区域检测为所述可选区域包括:
从主机接收对所述非易失性存储器装置的正常区域内的存储器块的读请求;
对所述存储器块执行读操作;
如果所述读操作在参考读延迟内没有完成,则向所述主机传送读失败响应;以及
如果所述读操作在所述参考读延迟内没有完成,则将所述存储器块设定为所述可选区域。
5.根据权利要求1所述的方法,其中
所述存储装置不将所述可选区域的物理地址映射至逻辑地址,并且
所述存储装置不向主机提供所述可选区域的地址。
6.根据权利要求1所述的方法,其中,响应于从主机接收的写请求,所述存储装置根据所述写请求是否包括元数据选择性地执行对所述非易失性存储器装置的正常区域的写操作或对所述可选区域的写操作。
7.根据权利要求1所述的方法,其中,将所述可选数据存储在所述可选区域中包括:
接收包括写数据和元数据的写请求,所述元数据具有所述写数据的唯一密钥;
响应于所述写请求将所述写数据作为所述可选数据写入所述可选区域;以及
将所述写数据的唯一密钥和所述写数据在所述可选区域内的物理地址存储在用于管理存储在所述可选区域中的可选数据的可选区域表中。
8.根据权利要求1所述的方法,其中,响应于从主机接收的读请求,所述存储装置根据所述读请求是否包括元数据选择性地执行对所述非易失性存储器装置的正常区域的读操作或对所述可选区域的读操作。
9.根据权利要求1所述的方法,还包括:
从主机接收读请求;
检测所述读请求是否包括元数据;以及下列之一:
如果所述读请求不包括元数据,则基于包括在所述读请求中的逻辑地址映射至的物理地址从所述非易失性存储器装置的正常区域读取读数据;和
如果所述读请求包括所述元数据,则基于可选区域表中的物理地址从所述可选区域读取所述可选数据。
10.根据权利要求1所述的方法,其中,所述可选数据是从所述非易失性存储器装置的正常区域移动到所述可选区域的数据、从所述正常区域删除的数据或存储在所述正常区域中的数据的备份数据。
11.根据权利要求1所述的方法,其中,将所述可选数据存储在所述可选区域中包括:
接收写请求,所述写请求包括所述非易失性存储器装置的正常区域内的存储器块的逻辑地址、写数据和元数据;
基于所述逻辑地址映射至的物理地址将所述写数据写入所述正常区域内的存储器块;以及
基于所述元数据将所述可选数据从所述正常区域移动到所述可选区域。
12.根据权利要求11所述的方法,还包括:
更新包括在所述存储装置中的可选数据管理表,其中
所述元数据包括所述写数据的唯一密钥、版本值、存储计数和策略信息,
所述存储装置使用所述可选数据管理表来管理写入所述正常区域内的存储器块的所述可选数据,并且
在所述写数据被写入所述正常区域内的存储器块之后,基于所述元数据来执行所述可选数据管理表的更新。
13.根据权利要求11所述的方法,其中,将所述可选数据从所述正常区域移动到所述可选区域包括:
将可选数据管理表中具有唯一密钥和不同版本值的数据的数量与所述元数据的存储计数进行比较;
如果所述数据的数量大于所述存储计数,则基于所述元数据的策略信息选择所述具有不同版本值的数据之一;
从所述正常区域读取所述数据之一;以及
将所述数据之一作为所述可选数据写入所述可选区域。
14.根据权利要求13所述的方法,其中,所述策略信息包括表示最旧数据的第一值、表示具有最低版本值的数据的第二值、表示具有最大大小的数据的第三值和表示具有最小大小的数据的第四值之一。
15.根据权利要求13所述的方法,其中
所述存储装置还包括用于管理存储在所述可选区域中的可选数据的可选区域表,并且
将所述可选数据从所述正常区域移动到所述可选区域还包括在所述数据之一被写入所述可选区域之后将所述唯一密钥、所述不同版本值当中所述数据之一的版本值和所述数据之一在所述可选区域内的物理地址存储在所述可选区域表中。
16.根据权利要求1所述的方法,还包括:
从主机接收读请求;
检测所述读请求是否包括元数据;
根据所述读请求执行第一类型读操作或执行另一操作,如果所述读请求不包括所述元数据,则执行所述第一类型读操作,并且如果所述读请求包括所述元数据并且所述元数据具有唯一密钥和版本值,则执行所述另一操作,其中
执行所述第一类型读操作包括:基于包括在所述读请求中的逻辑地址映射至的第一物理地址从所述非易失性存储器装置的正常区域读取第一读数据,
执行所述另一操作包括:在用于管理存储在所述正常区域中的可选数据的可选数据管理表中搜索所述唯一密钥和所述版本值,并且如果所述可选数据管理表中存在所述唯一密钥和所述版本值,则执行第二类型读操作,或者如果所述可选数据管理表中不存在所述唯一密钥和所述版本值,则执行第三类型读操作,
执行所述第二类型读操作包括:基于所述可选数据管理表中与所述唯一密钥和所述版本值对应的第二物理地址从所述正常区域读取第二读数据,并且
执行所述第三类型读操作包括在用于管理存储在所述可选区域中的可选数据的可选区域表中搜索所述唯一密钥和所述版本值,并且基于所述可选区域表中与所述唯一密钥和所述版本值对应的第三物理地址从所述可选区域读取所述可选数据。
17.根据权利要求1所述的方法,还包括:
如果所述异常区域的访问时间超过坏块参考延迟,则将所述异常区域设定为所述非易失性存储器装置的永久非工作区域,
其中,所述坏块参考延迟比所述参考延迟更长。
18.一种存储装置,包括:
非易失性存储器装置;以及
存储控制器,被配置为控制所述非易失性存储器装置,其中
所述存储控制器被配置为将异常区域检测为所述非易失性存储器装置中的可选区域并且将可选数据存储在所述可选区域中,并且
所述异常区域是所述非易失性存储器装置的访问时间超过参考延迟的部分。
19.一种操作包括非易失性存储器装置的存储装置的方法,所述方法包括:
将异常区域检测为所述非易失性存储器装置中的可选区域,所述异常区域是所述非易失性存储器装置的访问时间超过参考延迟的部分;
接收写请求,所述写请求包括所述非易失性存储器装置的正常区域内的存储器块的逻辑地址、写数据和第一元数据,所述第一元数据包括所述写数据的第一唯一密钥、第一版本值、存储计数和策略信息;
基于逻辑地址映射至的物理地址将所述写数据写入所述存储器块;
基于所述第一元数据更新可选数据管理表;
将所述可选数据管理表中具有所述第一唯一密钥和不同版本值的数据的数量与所述第一元数据的存储计数进行比较;
如果所述数据的数量大于所述存储计数,则基于所述第一元数据的策略信息选择具有不同版本值的数据之一;
从所述正常区域读取所述数据之一;
将所述数据之一作为可选数据写入所述可选区域;以及
将所述第一唯一密钥、所述不同版本值当中所述数据之一的版本值和所述数据之一在所述可选区域内的物理地址存储在可选区域表中。
20.根据权利要求19所述的方法,还包括:
从主机接收读请求;
检测所述读请求是否包括第二元数据;
根据所述读请求执行第一类型读操作或执行另一操作,如果所述读请求不包括所述第二元数据,则执行所述第一类型读操作,并且如果所述读请求包括所述第二元数据并且所述第二元数据具有第二唯一密钥和第二版本值,则执行所述另一操作,其中
执行所述第一类型读操作包括:基于包括在所述读请求中的逻辑地址映射至的第一物理地址从所述正常区域读取第一读数据,
执行所述另一操作包括在可选数据管理表中搜索所述第二唯一密钥和所述第二版本值,并且如果所述可选数据管理表中存在所述第二唯一密钥和所述第二版本值,则执行第二类型读操作,或者如果所述可选数据管理表中不存在所述第二唯一密钥和所述第二版本值,则执行第三类型读操作,
执行所述第二类型读操作包括:基于所述可选数据管理表中与所述第二唯一密钥和所述第二版本值对应的第二物理地址从所述正常区域读取第二读数据,
执行所述第三类型读操作包括:在所述可选区域表中搜索所述第二唯一密钥和所述第二版本值,并且基于所述可选区域表中与所述第二唯一密钥和所述第二版本值对应的第三物理地址从所述可选区域读取所述可选数据。
CN202310028067.5A 2022-01-07 2023-01-09 操作存储装置的方法和存储装置 Pending CN116414307A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0002643 2022-01-07
KR1020220002643A KR20230106915A (ko) 2022-01-07 2022-01-07 스토리지 장치의 구동 방법, 및 스토리지 장치

Publications (1)

Publication Number Publication Date
CN116414307A true CN116414307A (zh) 2023-07-11

Family

ID=87055531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310028067.5A Pending CN116414307A (zh) 2022-01-07 2023-01-09 操作存储装置的方法和存储装置

Country Status (3)

Country Link
US (1) US20230221875A1 (zh)
KR (1) KR20230106915A (zh)
CN (1) CN116414307A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023137910A (ja) * 2022-03-18 2023-09-29 キオクシア株式会社 メモリシステムおよび制御方法

Also Published As

Publication number Publication date
KR20230106915A (ko) 2023-07-14
US20230221875A1 (en) 2023-07-13

Similar Documents

Publication Publication Date Title
US10467133B2 (en) Storage device including nonvolatile memory device and garbage collection method thereof
US8990483B2 (en) Nonvolatile memory device, memory system, and program method therof
CN105608015B (zh) 存储系统及其操作方法
KR20170056765A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR102514388B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
CN106610904B (zh) 存储系统及其操作方法
KR20170050953A (ko) 메모리 시스템 및 그의 동작방법
CN106560781B (zh) 数据处理系统
KR20170061218A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
TW201723852A (zh) 記憶體系統及其操作方法
KR102398611B1 (ko) 메모리 시스템
US12068047B2 (en) Memory system for programming dummy data to a portion of a storage region in a program mode
CN115954031A (zh) 存储设备
KR20170027036A (ko) 데이터 처리 시스템
CN116414307A (zh) 操作存储装置的方法和存储装置
KR20170073944A (ko) 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법
KR20160148940A (ko) 메모리 시스템 및 그의 동작방법
US20160155509A1 (en) Memory string and semiconductor device including the same
CN116126222A (zh) 包括非易失性存储器装置的存储装置
KR102530889B1 (ko) 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
US20230297505A1 (en) Storage device, system including storage device and method operating storage device
US20230221885A1 (en) Storage system and computing system including the same
US11983436B2 (en) Memory controller and memory system
EP4332778A1 (en) Storage device and operating method of storage controller
EP4174663A1 (en) Storage device and operation method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication