CN113741798A - 数据存储装置及其操作方法 - Google Patents

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

Info

Publication number
CN113741798A
CN113741798A CN202011006394.3A CN202011006394A CN113741798A CN 113741798 A CN113741798 A CN 113741798A CN 202011006394 A CN202011006394 A CN 202011006394A CN 113741798 A CN113741798 A CN 113741798A
Authority
CN
China
Prior art keywords
ftl
assertion
data storage
read
dump
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
Application number
CN202011006394.3A
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.)
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 CN113741798A publication Critical patent/CN113741798A/zh
Withdrawn 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/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/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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0793Remedial or corrective actions
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/0653Monitoring storage devices or 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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/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
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

本文描述了数据存储装置及其操作方法。数据存储装置可以包括非易失性存储器装置和控制器,控制器被配置为当在执行针对从主机装置接收的命令的操作时发生故障时增加断言计数,断言计数表示故障已发生的次数,并且当断言计数大于或等于参考值时,响应于来自主机装置的初始化请求,在读取专用模式中执行闪存转换层(FTL)重置操作。

Description

数据存储装置及其操作方法
相关申请的交叉引用
本申请要求于2020年5月29日在韩国知识产权局提交的韩国专利申请号10-2020-0065312的优先权,其全部内容通过引用并入本文。
技术领域
各个实施例一般地涉及半导体装置,并且更具体地涉及数据存储装置及其操作方法。
背景技术
使用存储器装置的数据存储装置的优点在于,由于其不具有机械驱动器并且具有非常高的信息访问速度和低功耗,因此具有优异的稳定性和耐久性。具有这样的优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储器卡、通用闪存(UFS)装置和固态驱动器(SSD)。
如果存储装置由于诸如静态随机存取存储器(SRAM)中的位翻转(或变化)或NAND不可纠正ECC(UECC)的故障而不再能够执行正常操作,存储装置可能处于停滞状态。
此后,主机装置尝试对处于停滞状态中的存储装置进行初始化,但是由于故障的下层原因尚未解决,即使反复尝试初始化也失败。结果,存储装置可能变得不可用。因此,由于主机装置无法访问其中存储的数据,不可用存储装置中先前存储的所有数据可能丢失。
此外,当主机装置反复尝试针对存储装置进行初始化时,由于仅初始化尝试信息保留在存储装置中,可能无法保持存储装置中的闪存转换层(FTL)的状态。因此,可能无法获得用于由于故障导致的存储装置的故障分析的FTL状态信息。
发明内容
各种实施例针对数据存储装置及其操作方法,数据存储装置使得当数据存储装置中发生故障并且待向主机装置提供读取服务时,能够选择性地选择初始化尝试项。
在一个实施例中,一种数据存储装置可以包括非易失性存储器装置以及控制器,控制器被配置为:当在执行针对从主机装置接收的命令的操作时发生故障时增加断言计数,断言计数表示故障已发生的次数;以及当断言计数大于或等于参考值时,响应于来自主机装置的初始化请求,在读取专用模式中执行闪存转换层(FTL)重置操作。
在一个实施例中,一种数据存储装置的操作方法可以包括:在执行针对从主机装置接收的命令的操作时,监测是否已发生故障;增加断言计数;以及响应于从主机装置接收的初始化请求,执行重置操作,其中执行重置操作包括:当随着故障重复而断言计数大于或等于参考值时,在读取专用模式中执行闪存转换层(FTL)重置操作,以及当断言计数小于参考值时,在正常模式中执行FTL重置操作。
在一个实施例中,一种存储器***可以包括存储器装置和控制器,控制器被配置为:监测在执行对存储器装置的操作时是否已发生故障;将故障已发生的次数与参考次数进行比较;当确定故障已发生至少参考次数时,执行简化的闪存转换层(FTL)重置操作;以及当确定故障已发生少于参考次数时,执行正常的FTL重置操作,其中简化的FTL重置操作包括跳过虚设写入、映射更新、重新编程和初始垃圾收集中的至少一个。
附图说明
图1是图示根据实施例的数据存储装置的配置的图。
图2是概念性地图示根据实施例的闪存转换层(FTL)的图。
图3是图示根据实施例的第一***表的示例的图。
图4是图示根据实施例的第二***表的项的图。
图5是用于具体描述图4所示的第二***表的一些项的图。
图6是图示根据实施例的数据存储装置的操作方法的流程图。
图7是图示图6中的正常模式重置的方法的流程图。
图8是图示图6中的读取专用模式重置的方法的流程图。
图9是图示根据实施例的包括固态驱动器(SSD)的数据处理***的图。
图10是图示图9所示的控制器的配置的图。
图11是图示根据实施例的包括数据存储装置的数据处理***的图。
图12是图示根据实施例的包括数据存储装置的数据处理***的图。
图13是图示根据实施例的包括数据存储装置的网络***的图。
图14是图示根据实施例的数据存储装置中包括的非易失性存储器装置的框图。
具体实施方式
在下文中,参考附图来描述实施例。贯穿说明书,对“一个实施例”、“另一实施例”等的引用不一定仅是一个实施例,并且对任何这样的短语的不同引用不一定是相同的(多个)实施例。当在本文中使用时,术语“实施例”未必指代所有实施例。
图1是图示根据实施例的数据存储装置10的配置的图。图2是概念性地图示根据实施例的闪存转换层(FTL)的图。
下面参考图3至图5来描述数据存储装置10和FTL。图3是图示根据实施例的第一***表的示例的图。图4是图示根据实施例的第二***表的项的图。图5是用于具体描述图4所示的第二***表的一些项的图。
参考图1,数据存储装置10可以存储由主机装置20(诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视或车载信息娱乐***)访问的数据。数据存储装置10可以被称为存储器***。
根据用于与主机装置20通信的接口协议,数据存储装置10可以被制造或配置为各种类型的存储装置中的任一个。例如,数据存储装置10可以被配置作为诸如固态驱动器(SSD)、MMC、eMMC、RS-MMC和micro-MMC类型的多媒体卡、SD、mini-SD和micro-SD类型的安全数字卡、通用串行总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储器卡国际协会(PCMCIA)卡类型存储装置、***部件互连(PCI)卡类型存储装置、PCI-快速(PCI-e)或PCIe)卡类型的存储装置、紧凑型闪存(CF)卡、智能媒体卡和/或记忆棒之类的各种类型的存储装置中的任一个。
数据存储装置10可以以各种类型的封装中的任一个来被制造。例如,数据存储装置10可以被制造为叠层封装(POP)、***级封装(SIP)、片上***(SOC)、多芯片封装(MCP)、板载芯片(COB)、晶圆级制造封装(WFP)和/或晶圆级堆叠封装(WSP)。
数据存储装置10可以包括非易失性存储器装置100和控制器200。
当在控制器200针对从主机装置20接收的命令执行操作时发生故障时,控制器200可以在非易失性存储器装置100中存储断言转储(或其相关信息)和已发生断言转储的FTL的当前状态,并且可以对已发生的断言转储的次数进行计数以生成断言计数。随着重复发生故障而在断言计数大于或等于参考值时,控制器200可以响应于来自主机装置20的初始化请求,在读取专用模式中执行FTL重置操作。
前述故障可以被限定为错误,诸如当执行针对从主机装置20接收的命令的FTL操作时可能发生的SRAM中的位翻转或NAND UECC。
在本实施例中,术语“断言”(assert)可以表示当执行FTL功能时发生的错误状态。术语“断言转储”(assert dump)可以表示存储器230中存储的针对正在执行的FTL功能的信息由于正在执行的FTL功能的错误的发生而被存储在非易失性存储器装置100中。在这种情况下,存储器230可以是易失性存储器(诸如静态随机存取存储器(SRAM)),但是本发明不限于此。
控制器200可以通过驱动加载到存储器230上的固件或软件来控制数据存储装置10的整体操作。控制器200可以以诸如固件或软件的代码形式来对指令或算法进行解码和驱动。控制器200可以被实现为硬件或者被实现为硬件和软件的组合。
控制器200可以包括主机接口210、处理器220、存储器230和存储器接口240。尽管在图1中未图示,但是控制器200还可以包括纠错码(ECC)引擎,以用于通过对由主机装置20提供的写入数据进行ECC编码来生成奇偶校验并且使用奇偶校验来对从非易失性存储器装置100读取的数据进行ECC解码。ECC引擎可以被设置在存储器接口240内部或外部。
主机接口210可以根据主机装置20的协议来在主机装置20和数据存储装置10之间进行对接。例如,主机接口210可以通过通用串行总线(USB)、通用闪存(UFS)、多媒体卡(MMC)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机***接口(SCSI)、串行连接的SCSI(SAS)、***部件互连(PCI)和/或PCI快速(PCI-e)协议中的任一个来与主机装置20通信。
处理器220可以在稍后描述的非易失性存储器装置100的第一***表110中存储随着FTL的功能被执行而生成的FTL操作信息。FTL操作信息可以表示用于执行FTL的各种功能的信息。在这种情况下,第一***表110中存储的FTL操作信息可以包括与FTL操作有关的所有信息,诸如FTL功能信息、映射信息、指示每个块的数据的无效性或有效性的信息、擦除计数信息和读取计数信息。
FTL可以被存储在存储器230中。FTL可以是由处理器220驱动的软件。处理器220可以通过驱动FTL来控制非易失性存储器装置100的特定操作,并且可以提供关于主机装置20的装置兼容性的信息。主机装置20可以通过驱动FTL来将数据存储装置10识别并用作诸如硬盘的公共存储装置。FTL可以包括用于执行各种功能的模块。
FTL可以被存储在非易失性存储器装置100的***区域中,并且可以在数据存储装置10启动时从***区域中被读取并存储在存储器230中。此外,用于驱动FTL中的各种模块的元数据可以被存储在存储器230中。
参考图2,FTL可以包括地址映射、垃圾收集模块、损耗均衡模块和坏块管理模块。另外,FTL可以包括各种其他功能模块,诸如读取模块、写入模块和擦除模块。FTL中的功能模块可以在处理器220的控制下被执行。
此外,处理器220可以在非易失性存储器装置100的第二***表130中存储存储器230中存储的信息,该信息与当故障发生时正在执行的FTL的操作、功能或模块以及已发生断言转储的FTL的当前状态有关,并且处理器220可以对已发生的断言转储的次数进行计数以生成断言计数。
参考图4,第二***表130可以包括存储器230中存储的并且与当发生故障时正在执行的FTL的操作或模块有关的转储信息(即,存储器内容转储)和寄存器信息。
另外,第二***表130可以包括已发生断言转储的FTL的当前状态,当前状态包括断言转储的原因、断言计数和指示模式是否为读取专用模式的断言标志。参考图5,断言转储的原因可以具有其中存储先前与每个原因匹配的数字的形式。例如,如果断言转储的原因是SRAM位翻转(即,SRAM中的位翻转)①(相对于NAND UECC②),则当由于SRAM位翻转而发生故障时,处理器220可以将①存储在断言转储的原因的项中。
如下所述,所存储的断言转储的原因可以与该原因的断言计数相关联。即,与每个断言转储原因相关联的数据/信息可以被单独地维持。
处理器220可以在增加当前断言转储原因的断言计数之前,检查第二***表130中存储的先前断言转储的原因。当由于作为检查结果与先前断言转储的原因相同的原因而发生断言转储时,处理器220可以增加断言计数。
例如,当由于SRAM中的位翻转而已发生断言转储时,处理器220可以检查第二***表130中存储的先前断言转储的原因,并且在当前断言转储的原因与先前断言转储的原因相同(即,两者均由SRAM中的位翻转引起)时,可以将断言计数增加1(即,+1)。
当针对特定断言转储原因的断言计数大于或等于参考值时,处理器220可以生成读取专用模式标志,并且将读取专用模式标志存储在第二***表130中。
标志能够区分读取专用模式标志和正常模式标志,并且处理器220可以将读取专用模式标志存储在第二***表130的断言标志字段中。
在读取专用模式中执行FTL重置操作时,处理器220可以跳过在非易失性存储器装置100中执行FTL写入操作。
例如,可以由处理器220跳过的写入操作包括FTL操作之中的映射更新、虚设写入、重新编程或垃圾收集。
在读取专用模式中执行FTL重置操作时,处理器220可以基于第一***表110中存储的FTL操作信息之中故障之前的最后FTL操作信息来执行FTL重置操作。在这种情况下,读取专用模式中的FTL重置操作被执行,以便通过跳过可能触发另一断言发生的写入操作(诸如映射更新或垃圾收集)来防止在初始化执行期间再次发生断言。因此,数据存储装置10的初始化可以被完成,使得FTL状态可以返回到发生故障之前的最后检查点(例如,图3中的检查点)。
参考图3,处理器220可以在第一***表110中存储的第一FTL操作信息(即,信息1)、第二FTL操作信息(即,信息2)和第三FTL操作信息(即,信息3)之中基于故障发生定时来将最后FTL操作信息(即,信息3)使用作为检查点来执行FTL重置操作。
在读取专用模式中执行FTL重置操作时,处理器220可以设置写入保护模式,在写入保护模式中仅针对主机装置20所请求的命令之中的读取命令的操作被执行。
在通过处理器220完成初始化过程之后,主机装置20可以尝试通过将各种命令传输到数据存储装置10来控制数据存储装置10。当由于发生写入而在数据存储装置10内发生更新FTL信息的操作(例如,映射更新)时,可能出现故障反复发生的现象。前述写入保护模式可以是用于防止在数据存储装置10的初始化过程完成之后可能再次发生故障的模式。
在写入保护模式中,当从主机装置20接收写入命令时,处理器220可以跳过写入命令的执行,然后将写入保护错误传输到主机装置20。在这种情况下,处理器220可以在不写入针对来自主机装置20的写入命令的数据的情况下向主机装置20传输写入保护错误,使得主机装置20可以识别数据存储装置10处于写入保护状态。
当已设置写入保护模式时,处理器220可以在没有来自主机装置20的命令的情况下跳过更新FTL操作信息的所有操作,FTL操作信息可以在数据存储装置10内自动生成。例如,这样自动生成的FTL操作信息可以用于后台垃圾收集(GC)和/或读取收回。在写入保护模式中,针对这些操作的FTL操作信息可能不被更新。
在这样的情况下,数据存储装置10不能执行针对来自主机装置20的写入命令的操作,但是可以执行针对来自主机装置20的读取命令的操作。因此,可以基于经初始化的FTL状态来执行针对由主机装置20先前写入的数据的读取服务。
此外,在一个实施例中,由于在读取专用模式中执行FTL重置操作时跳过了针对非易失性存储器装置100的写入操作,因此可以获得故障分析样本。具体地,根据一个实施例,由于跳过针对非易失性存储器装置100的写入操作,由于当发生故障时来自主机装置20的多个初始化,仅初始化历史被存储在***表中。因此,由于可以防止在第一次发生故障时不保留FTL操作信息的现象,可以提供故障分析样本。即,FTL被保留。
处理器220可以被配置作为微控制单元(MCU)或中央处理单元(CPU)。处理器220可以处理来自主机装置20的请求。为了处理来自主机装置20的请求,处理器220可以驱动加载到存储器230上的代码形式的指令或算法(即,固件),并且可以控制诸如主机接口210、存储器230和存储器接口240以及非易失性存储器装置100的内部元件的操作。
处理器220可以基于来自主机装置20的请求而生成用于控制非易失性存储器装置100的操作的控制信号。此外,处理器220可以通过存储器接口240将所生成的控制信号提供给非易失性存储器装置100。
存储器230可以包括静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。存储器230可以存储由处理器220驱动的固件。此外,存储器230可以存储用于驱动固件的数据(例如,元数据)。即,存储器230可以作为处理器220的工作存储器进行操作。尽管图1中未图示,控制器200可以进一步包括与处理器220相邻地被定位的处理器专用存储器。存储器230中存储的固件和元数据可以被加载到处理器专用存储器上。
存储器230可以被配置为包括数据缓冲器,以用于临时存储待从主机装置20传输到非易失性存储器装置100的写入数据或待从非易失性存储器装置100读取以及然后传输到主机装置20的数据。即,存储器230可以用作缓冲存储器。
如图1所示,存储器230被包括在控制器200内。然而,在另一实施例中,存储器230可以被设置在控制器200的外部。
存储器接口240可以在处理器220的控制下控制非易失性存储器装置100。如果非易失性存储器装置100被配置作为NAND闪存,则存储器接口240也可以被称为闪存控制顶部(FCT)。存储器接口240可以将由处理器220生成的控制信号传输到非易失性存储器装置100。控制信号可以包括用于控制非易失性存储器装置100的操作的命令、地址和操作控制信号。作为示例而非限制,操作控制信号可以包括芯片使能信号、命令锁存使能信号、地址锁存使能信号、写入使能信号、读取使能信号和数据选通信号,但是本发明不限于此。此外,存储器接口240可以将写入数据传输到非易失性存储器装置100,或者可以从非易失性存储器装置100接收读取数据。
存储器接口240和非易失性存储器装置100可以通过多个通道CH1至CHn耦合。存储器接口240可以通过多个通道CH1至CHn将诸如命令、地址、操作控制信号和数据(即,写入数据)的信号传输至非易失性存储器装置100。此外,存储器接口240可以通过多个通道CH1至CHn从非易失性存储器装置100接收状态信号(例如,就绪/繁忙)和数据(即,读取数据)。
非易失性存储器装置100可以作为数据存储装置10的存储介质进行操作。根据存储器装置100中的存储器单元类型,非易失性存储器装置100可以被配置作为各种类型的非易失性存储器装置中的任一个,诸如NAND闪存装置、NOR闪存装置、使用铁电电容器的铁电型随机存取存储器(FRAM)、使用隧穿磁阻(TMR)膜的磁性随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PRAM)和/或使用过渡金属氧化物的电阻式随机存取存储器(ReRAM)。
非易失性存储器装置100可以包括具有多个存储器单元的存储器单元阵列(未图示),多个存储器单元被设置在多个位线(未图示)和多个字线(未图示)交叉的相应区域中。例如,存储器单元阵列中的每个存储器单元可以是能够存储一位数据的单级单元(SLC)、能够存储两位数据的多级单元(MLC)、能够存储3位数据的三级单元(TLC)、或者能够存储4位数据的四级单元(QLC)。存储器单元阵列可以包括这些类型中的至少一种类型的存储器单元。而且,存储器单元阵列中的存储器单元可以具有二维水平结构或三维垂直结构。
在一些实施例中,非易失性存储器装置100可以包括第一***表110和第二***表130。
第一***表110可以存储FTL操作信息。FTL操作信息可以表示用于执行FTL的各种功能的信息。例如,FTL操作信息可以包括与FTL操作有关的所有信息,诸如FTL功能信息、映射信息、指示每个块的数据的无效性或有效性的信息、擦除计数信息和读取计数信息。
第二***表130可以存储断言转储和断言转储已发生的当前状态。
参考图4,第二***表130可以包括存储器230中存储的并且与发生故障时正在执行的FTL有关的转储信息(即,存储器内容转储)和寄存器信息。另外,第二***表130可以包括其中已发生断言转储的当前状态,当前状态包括断言转储的原因、断言计数以及指示模式是否是读取专用模式的断言标志。参考图5,断言转储的原因可以具有其中存储先前与每个原因匹配的数字的形式。例如,断言转储的原因①是SRAM位翻转,并且断言转储的原因②是NAND UECC,当由于SRAM位翻转而发生故障时,处理器220可以将①存储在断言转储的原因的项中。
由于固定的物理地址被分配给第二***表130,处理器220可以基于由处理器220先前识别的第二***表130的物理地址,通过访问第二***表130来检查第二***表130中存储的信息。例如,处理器220可以通过访问第二***表130的区域之中最近存储的区域来检查信息。由于第二***表130中可以存储数据的区域小于第一***表110中可以存储数据的区域,根据需要,第二***表130可以通过擦除操作来确保可以存储数据的区域。
图6是图示根据实施例的数据存储装置10的操作方法的流程图。
首先,当数据存储装置10执行针对从主机装置20接收的命令的操作时,可能发生故障(S101)。
数据存储装置10可以将断言转储和已发生断言转储的FTL的当前状态存储在非易失性存储器装置100中(S103)。
具体地,非易失性存储器装置100可以包括其中存储了FTL操作信息的第一***表110和其中存储了断言转储和已发生断言转储的当前状态的第二***表130。
数据存储装置10可以在非易失性存储器装置100的第二***表130中存储存储器230中存储的信息,该信息与在发生故障时正在执行的FTL的操作、以及已发生断言转储的FTL的当前状态有关。
此外,数据存储装置10可以增加断言计数,断言计数表示与断言转储的特定原因相关联的断言转储已发生的次数(S103)。
接下来,数据存储装置10可以响应于来自主机装置20的初始化请求而开始重置操作(S105)。
在操作S105中,当断言计数大于或等于参考值(指示故障发生的次数多于参考值次数)时,数据存储装置10可以在读取专用模式中执行FTL重置操作。当断言计数小于参考值时,数据存储装置10可以在正常模式中执行FTL重置操作。
接下来,数据存储装置10可以通过检查非易失性存储器装置100的第二***表130中存储的信息来检查是否已设置了读取专用标志(S107)。
当作为检查的结果确定尚未设置读取专用标志时,数据存储装置10可以在正常模式中执行FTL重置操作(S109)。
当确定在正常模式中的FTL重置操作期间已发生断言转储时(S111,是),数据存储装置10可以增加断言计数(S113)。
尽管未图示,但是在操作S111和S113之间,数据存储装置10可以标识第二***表130中存储的先前断言转储的原因。此外,数据存储装置10可以在当前断言转储的原因与先前断言转储的原因相同的情况下增加断言计数。
接下来,数据存储装置10可以检查断言计数是否大于或等于参考值(S115)。当经由检查确定断言计数大于或等于参考值时,数据存储装置10可以生成读取专用模式标志(即,设置读取专用模式标志),并且将读取专用模式标志存储在第二***表130中(S117)。
作为操作S107中的检查的结果,当确定已设置读取专用标志时,数据存储装置10可以在读取专用模式中执行FTL重置操作(S119)。
当确定在正常模式中的FTL重置操作期间尚未发生断言转储时(S111,否),数据存储装置10可以继续在正常模式中执行FTL重置操作(S109)。
图7是图示图6中的正常模式重置的方法的流程图。参考图7来详细描述图6的步骤S109。
参考图7,数据存储装置10可以通过检查第一***表110来检查多个FTL操作信息之中在故障之前的最后FTL操作信息(S201)。操作S201可以是用于由数据存储装置10基于故障之前的最后FTL操作信息来执行FTL重置操作的过程。
接下来,数据存储装置10可以执行FTL重置操作,包括开放块扫描操作(S203)、映射更新操作(S205)、开放块虚设写入和重新编程(S207)以及初始GC操作(S209)。
图8是图示图6中的读取专用模式重置的方法的流程图。参考图8来详细描述图6中的操作S119。
参考图8,当在读取专用模式中执行FTL重置操作时,数据存储装置10可以通过检查第一***表110来检查多个FTL操作信息之中在故障之前的最后FTL操作信息(S301)。
在图3所示的示例中,数据存储装置10可以在第一***表110中存储的所有FTL操作信息(即,FTL操作信息1、2和3)之中基于故障发生定时来将最后FTL操作信息(即,图3中的信息3)用作检查点,在读取专用模式中开始FTL重置操作。
接下来,数据存储装置10可以跳过在非易失性存储器装置100中可能发生写入的重置操作,并且可以在读取专用模式中执行FTL重置操作(S303)。
例如,FTL操作之中的映射更新、虚设写入、重新编程或垃圾收集是在非易失性存储器装置100中可能发生写入的操作。数据存储装置10可以跳过这样的操作。
接下来,当在读取专用模式中执行FTL重置操作时,数据存储装置10可以设置写入保护模式,在写入保护模式中仅执行针对由主机装置20请求的命令之中的读取命令的操作(S305)。
尽管未图示,但是在操作S305之后,当已设置写入保护模式时,当从主机装置20接收写入命令时,数据存储装置10可以跳过针对写入命令的操作并且将写入保护错误传输到主机装置20。
在这种情况下,写入命令可以表示能够在非易失性存储器装置100上生成写入操作的所有命令。
图9是图示根据实施例的包括固态驱动器(SSD)的数据处理***2000的图。参考图9,数据处理***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可以向SSD 2200提供通过功率连接器2260接收的功率源PWR。电源2240可以包括辅助电源2241。当突然断电时,辅助电源2241可以向SSD 2200提供功率,使得SSD2200被正确终止。辅助电源2241可以包括能够存储功率源PWR的高容量电容器。
控制器2210可以通过信号连接器2250与主机装置2100交换信号SGL。在这种情况下,信号SGL可以包括命令、地址和数据。信号连接器2250可以根据主机装置2100和SSD2200之间的接口协议以各种形式中的任一个来被配置。
图10是图示图9所示的控制器2210的配置的图。参考图10,控制器2210可以包括主机接口2211、控制部件2212、RAM 2213、ECC部件2214和存储器接口2215。
主机接口2211可以基于主机装置2100的协议将主机装置2100和SSD 2200对接。例如,主机接口2211可以通过安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储器卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机***接口(SCSI)、串行连接的SCSI(SAS)、***部件互连(PCI)、PCI快速(PCI-e或PCIe)或通用闪存(UFS)协议中的任一个与主机装置2100进行通信。此外,主机接口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可以向非易失性存储器装置2231至223n提供缓冲存储器装置2220中存储的数据,或者可以向缓冲存储器装置2220提供从非易失性存储器装置2231至223n读取的数据。
图11是图示根据实施例的包括数据存储装置的数据处理***3000的图。参考图11,数据处理***3000可以包括主机装置3100和数据存储装置3200。
主机装置3100可以以板的形式(诸如印刷电路板(PCB))来被配置。尽管未图示,但是主机装置3100可以包括用于执行主机装置3100的功能的内部功能块。
主机装置3100可以包括连接端子3110,诸如插座、插槽或连接器。数据存储装置3200可以安装在连接端子3110上。
数据存储装置3200可以以诸如PCB的板的形式来被配置。数据存储装置3200可以被称为存储器模块或存储器卡。数据存储装置3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、功率管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制数据存储装置3200的整体操作。控制器3210可以与图10所示的控制器2210相同地被配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。此外,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。缓冲存储器装置3220中临时存储的数据可以在控制器3210的控制下被传输到主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作数据存储装置3200的存储介质。
PMIC 3240可以向数据存储装置3200提供通过连接端子3250接收的功率源。PMIC3240可以在控制器3210的控制下管理数据存储装置3200的功率源。
连接端子3250可以被耦合到主机装置3100的连接端子3110。可以通过连接端子3250在主机装置3100和数据存储装置3200之间交换诸如命令、地址和数据的信号以及功率源。连接端子3250可以根据主机装置3100和数据存储装置3200之间的接口协议以任何各种形式来被配置。连接端子3250可以位于数据存储装置3200的任一侧上或任一侧中。
图12是图示根据实施例的包括数据存储装置的数据处理***4000的图。参考图12,数据处理***4000可以包括主机装置4100和数据存储装置4200。
主机装置4100可以以诸如PCB的板的形式来被配置。尽管未图示,但是主机装置4100可以包括用于执行主机装置4100的功能的内部功能块。
数据存储装置4200可以以表面安装封装形式来被配置。数据存储装置4200可以通过焊球4250安装在主机装置4100上。数据存储装置4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制数据存储装置4200的整体操作。控制器4210可以与图10中所示的控制器2210相同地被配置。
缓冲存储器装置4220可以临时存储待存储在非易失性存储器装置4230中的数据。此外,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。缓冲存储器装置4220中临时存储的数据可以在控制器4210的控制下被传输到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作数据存储装置4200的存储介质。
图13是图示根据实施例的包括数据存储装置的网络***5000的图。参考图13,网络***5000可以包括通过网络5500耦合的服务器***5300和多个客户端***5410、5420和5430。
服务器***5300可以响应于来自多个客户端***5410、5420和5430的请求来服务数据。例如,服务器***5300可以存储由多个客户端***5410、5420和5430提供的数据。对于另一示例,服务器***5300可以向多个客户端***5410、5420和5430提供数据。
服务器***5300可以包括主机装置5100和数据存储装置5200。数据存储装置5200可以被配置作为图1的数据存储装置10、图9的数据存储装置2200、图11的数据存储装置3200或图12的数据存储装置4200。
图14是图示根据实施例的数据存储装置中包括的非易失性存储器装置100的框图。参考图14,非易失性存储器装置100可以包括存储器单元阵列110、行解码器120、数据读/写块130、列解码器140、电压发生器150和控制逻辑160。
存储器单元阵列110可以包括布置在字线WL1至WLm和位线BL1至BLn交叉的区域处的存储器单元MC。
行解码器120可以通过字线WL1至WLm耦合到存储器单元阵列110。行解码器120可以在控制逻辑160的控制下操作。行解码器120可以对由诸如主机装置的外部装置提供的地址进行解码。行解码器120可以基于解码的结果来选择并驱动字线WL1至WLm。例如,行解码器120可以向字线WL1至WLm提供由电压发生器150提供的字线电压。
数据读/写块130可以通过位线BL1至BLn耦合到存储器单元阵列110。数据读/写块130可以包括与位线BL1至BLn分别相对应的读/写电路RW1至RWn。数据读/写块130可以在控制逻辑160的控制下进行操作。根据操作模式,数据读/写块130可以作为写入驱动器或感测放大器进行操作。例如,在写入操作中,数据读/写块130可以作为写入驱动器进行操作,以用于将由外部装置提供的数据存储在存储器单元阵列110中。对于另一示例,在读取操作中,数据读/写块130可以作为感测放大器进行操作,以用于从存储器单元阵列110读取数据。
列解码器140可以在控制逻辑160的控制下操作。列解码器140可以对由外部装置提供的地址进行解码。列解码器140可以基于解码的结果,将数据输入/输出线(或数据输入/输出缓冲器)以及数据读/写块130的与位线BL1至BLn分别相对应的读/写电路RW1至RWn耦合。
电压发生器150可以生成用于非易失性存储器装置100的内部操作的电压。由电压发生器150生成的电压可以被施加到存储器单元阵列110的存储器单元MC。例如,编程操作中生成的编程电压可以被施加到与将执行编程操作的存储器单元相对应的字线。对于另一示例,擦除操作中生成的擦除电压可以被施加到将执行擦除操作的存储器单元的阱区域。对于又一示例,读取操作中生成的读取电压可以被施加到与将执行读取操作的存储器单元相对应的字线。
控制逻辑160可以基于由外部装置提供的控制信号来控制非易失性存储器装置100的整体操作。例如,控制逻辑160可以控制非易失性存储器装置100的操作,诸如非易失性存储器装置100的读取、写入和擦除操作。
根据实施例,由于当装置故障发生时选择性地选择并执行初始化尝试项,可以预期可以向主机装置提供读取服务的效果。
所公开的实施例在所有方面均是例示性的,而不是限制性的,因为如本领域技术人员将理解的,在不脱离本发明的精神和范围的情况下,可以以其他形式来实现本公开。因此,本发明的范围由所附权利要求书而不是具体实施方式来限定。这样,本发明涵盖落入权利要求范围内的任何公开实施例的所有修改和变化。

Claims (19)

1.一种数据存储装置,包括:
非易失性存储器装置;以及
控制器,被配置为当在执行针对从主机装置接收的命令的操作时发生故障时增加断言计数,所述断言计数表示所述故障已发生的次数,以及当所述断言计数大于或等于参考值时,响应于来自所述主机装置的初始化请求,在读取专用模式中执行闪存转换层FTL重置操作。
2.根据权利要求1所述的数据存储装置,其中所述非易失性存储器装置包括:
第一***表,其中存储FTL操作信息;以及
第二***表,其中在发生所述故障时存储断言转储和已发生所述断言转储的当前状态。
3.根据权利要求2所述的数据存储装置,其中所述控制器包括:
存储器,以及
处理器,被配置为在所述第一***表中存储随着执行FTL的功能而生成的所述FTL操作信息,在所述第二***表中存储所述存储器中存储的信息,以及增加所述断言计数,所述信息与在发生所述故障时正在执行的所述FTL的功能以及已发生所述断言转储的所述当前状态有关。
4.根据权利要求3所述的数据存储装置,其中所述处理器被配置为:
在增加所述断言计数之前,确认所述第二***表中存储的先前断言转储的原因,以及
作为所述确认的结果,当所述断言转储的原因与所述先前断言转储的原因相同时,增加所述断言计数。
5.根据权利要求3所述的数据存储装置,其中所述处理器被配置为:
当所述断言计数大于或等于所述参考值时,生成读取专用模式标志,以及
将所述读取专用模式标志存储在所述第二***表中。
6.根据权利要求3所述的数据存储装置,其中所述处理器被配置为当在所述读取专用模式中执行所述FTL重置操作时,基于所述第一***表中存储的所述FTL操作信息之中在所述故障之前的最后FTL操作信息来执行所述FTL重置操作。
7.根据权利要求3所述的数据存储装置,其中所述处理器被配置为当在所述读取专用模式中执行所述FTL重置操作时,跳过在所述非易失性存储器装置中发生写入的重置操作。
8.根据权利要求3所述的数据存储装置,其中所述处理器被配置为当在所述读取专用模式中执行所述FTL重置操作时,设置写入保护模式,在所述写入保护模式中,仅执行针对由所述主机装置请求的命令之中的读取命令的操作。
9.根据权利要求8所述的数据存储装置,其中所述处理器被配置为:
当所述写入保护模式已被设置时,在从所述主机装置接收到写入命令时,跳过针对所述写入命令的操作,以及
向所述主机装置传输写入保护错误。
10.一种数据存储装置的操作方法,包括:
在执行针对从主机装置接收的命令的操作时,监测是否已发生故障;
增加断言计数;以及
响应于来自所述主机装置的初始化请求,执行重置操作,
其中执行所述重置操作包括:
当随着所述故障重复所述断言计数大于或等于参考值时,在读取专用模式中执行闪存转换层FTL重置操作,以及
当所述断言计数小于所述参考值时,在正常模式中执行所述FTL重置操作。
11.根据权利要求10所述的操作方法,其中非易失性存储器装置包括:
第一***表,其中存储FTL操作信息;以及
第二***表,其中在发生所述故障时存储断言转储和已发生所述断言转储的当前状态。
12.根据权利要求11所述的操作方法,进一步包括:在所述故障的发生和所述断言计数的计数之间,在所述非易失性存储器装置中存储所述断言转储和已发生所述断言转储的所述当前状态,
其中当存储所述断言转储和所述当前状态时,存储器中存储的与正在执行的FTL有关的信息以及已发生所述断言转储的所述当前状态被存储在所述第二***表中。
13.根据权利要求12所述的操作方法,进一步包括:
确认所述第二***表中存储的先前断言转储的原因;以及
作为所述确认的结果,当所述断言转储的原因与所述先前断言转储的原因相同时,增加所述断言计数。
14.根据权利要求11所述的操作方法,其中执行所述重置操作进一步包括:
当所述断言计数大于或等于所述参考值时,生成读取专用模式标志,以及
将所述读取专用模式标志存储在所述第二***表中。
15.根据权利要求11所述的操作方法,其中执行所述重置操作包括:当在所述读取专用模式中执行所述FTL重置操作时,基于所述第一***表中存储的所述FTL操作信息之中在所述故障之前的最后FTL操作信息来执行所述FTL重置操作。
16.根据权利要求11所述的操作方法,其中执行所述重置操作包括:当在所述读取专用模式中执行所述FTL重置操作时,跳过在所述非易失性存储器装置中发生写入的重置操作。
17.根据权利要求11所述的操作方法,其中执行所述重置操作包括:当在所述读取专用模式中执行所述FTL重置操作时,设置写入保护模式,在所述写入保护模式中,仅执行针对由所述主机装置请求的命令之中的读取命令的操作。
18.根据权利要求17所述的操作方法,进一步包括:
在执行所述重置操作之后,
当所述写入保护模式已被设置时,在从所述主机装置接收到写入命令时,跳过针对所述写入命令的操作,以及
向所述主机装置传输写入保护错误。
19.一种存储器***,包括:
存储器装置;以及
控制器,被配置为:
监测在执行对所述存储器装置的操作时是否已发生故障;
将所述故障已发生的次数与参考次数进行比较;
当确定所述故障已发生至少所述参考次数时,执行简化的闪存转换层FTL重置操作;以及
当确定所述故障已发生少于所述参考次数时,执行正常的FTL重置操作,
其中简化的FTL重置操作包括跳过虚设写入、映射更新、重新编程和初始垃圾收集中的至少一个。
CN202011006394.3A 2020-05-29 2020-09-23 数据存储装置及其操作方法 Withdrawn CN113741798A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0065312 2020-05-29
KR1020200065312A KR20210147696A (ko) 2020-05-29 2020-05-29 데이터 저장 장치 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
CN113741798A true CN113741798A (zh) 2021-12-03

Family

ID=78706277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011006394.3A Withdrawn CN113741798A (zh) 2020-05-29 2020-09-23 数据存储装置及其操作方法

Country Status (3)

Country Link
US (1) US11481153B2 (zh)
KR (1) KR20210147696A (zh)
CN (1) CN113741798A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116661678A (zh) * 2022-12-28 2023-08-29 荣耀终端有限公司 数据转储方法及电子设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220008428A (ko) * 2020-07-13 2022-01-21 삼성전자주식회사 고효율 입출력 인터페이스를 지원하는 불휘발성 메모리 장치
DE102021103872A1 (de) * 2020-07-13 2022-01-13 Samsung Electronics Co., Ltd. Nichtflüchtige speichervorrichtung, die eine hocheffiziente e/a-schnittstelle unterstützt

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188225B1 (en) * 2003-12-05 2007-03-06 Applied Micro Circuits Corporation Storage system with disk drive power-on-reset detection
US8572310B2 (en) * 2007-11-06 2013-10-29 Samsung Electronics Co., Ltd. Invalidating storage area of non-volatile storage medium based on metadata
KR101009927B1 (ko) 2009-05-12 2011-01-20 한국기계연구원 금속 분말의 유동도 및 겉보기 밀도 측정장치 및 이를 이용한 측정 방법
KR101658485B1 (ko) 2009-06-18 2016-09-22 삼성전자주식회사 휴대용 단말기에서 디버깅을 위한 부팅 방법 및 장치
JP5418597B2 (ja) 2009-08-04 2014-02-19 富士通株式会社 リセット方法及び監視装置
KR102147970B1 (ko) * 2014-08-05 2020-08-25 삼성전자주식회사 비휘발성 메모리 기반의 스토리지 디바이스의 복구 방법 및 상기 스토리지 디바이스를 포함하는 전자 시스템의 동작 방법
US10949286B2 (en) * 2015-01-12 2021-03-16 Hewlett Packard Enterprise Development Lp Handling memory errors in memory modules that include volatile and non-volatile components

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116661678A (zh) * 2022-12-28 2023-08-29 荣耀终端有限公司 数据转储方法及电子设备
CN116661678B (zh) * 2022-12-28 2024-04-19 荣耀终端有限公司 数据转储方法及电子设备

Also Published As

Publication number Publication date
US11481153B2 (en) 2022-10-25
KR20210147696A (ko) 2021-12-07
US20210373810A1 (en) 2021-12-02

Similar Documents

Publication Publication Date Title
CN107168886B (zh) 数据存储装置及其操作方法
KR102419036B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
CN108932107B (zh) 数据存储装置及其操作方法
CN107240420B (zh) 数据存储装置及其操作方法
CN111916140B (zh) 控制器及其操作方法以及包括控制器的存储器***
US11481153B2 (en) Data storage device and operating method thereof
US11681462B2 (en) Memory system, operating method thereof and computing system
US11036493B2 (en) Memory system and operating method thereof
US11748025B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
KR20200089939A (ko) 메모리 시스템 및 그 동작 방법
US11281590B2 (en) Controller, operating method thereof and storage device including the same
KR20190035280A (ko) 데이터 저장 장치 및 그것의 동작 방법
US10861576B2 (en) Nonvolatile memory device, operating method thereof and data storage device including the same
US12032824B2 (en) Event log management method, controller and storage device
US11157401B2 (en) Data storage device and operating method thereof performing a block scan operation for checking for valid page counts
US10657046B2 (en) Data storage device and operating method thereof
US9966148B1 (en) Data storage device and operating method thereof
US10726938B2 (en) Data storage device and operating method thereof
CN114840444A (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: 20211203