CN114446357A - 存储装置及其操作方法 - Google Patents

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

Info

Publication number
CN114446357A
CN114446357A CN202110746367.8A CN202110746367A CN114446357A CN 114446357 A CN114446357 A CN 114446357A CN 202110746367 A CN202110746367 A CN 202110746367A CN 114446357 A CN114446357 A CN 114446357A
Authority
CN
China
Prior art keywords
page
memory
data
sudden power
target block
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
CN202110746367.8A
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 CN114446357A publication Critical patent/CN114446357A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/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/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本技术涉及一种电子装置,特别地,涉及一种存储装置及其操作方法。根据本技术的存储装置可包括存储器装置和存储器控制器。存储器装置可包括多个存储块。存储器控制器可控制存储器装置以对多个存储块之中的、编程操作由于第一突然断电而被停止的目标块执行针对第一突然断电的恢复操作,并且执行将锁定数据存储到目标块中的、恢复操作完成的页面的下一页面的编程操作,锁定数据包括指示针对第一突然断电的恢复操作完成的信息。

Description

存储装置及其操作方法
相关申请的交叉引用
本申请要求于2020年11月2日提交的申请号为10-2020-0144654的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本公开涉及一种电子装置,并且更特别地,涉及一种存储装置及其操作方法。
背景技术
存储装置是一种在诸如计算机或智能电话的主机装置的控制下存储数据的装置。存储装置可包括存储数据的存储器装置和控制存储器装置的存储器控制器。存储器装置被划分为易失性存储器装置和非易失性存储器装置。
易失性存储器装置是仅在供应电力时存储数据并且在电力供应中断时丢失所存储的数据的装置。易失性存储器装置包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
非易失性存储器装置是即使电力中断也不会丢失数据的装置。非易失性存储器装置包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器等。
发明内容
本公开的实施例提供了一种具有提高的突然断电恢复性能的存储装置及其操作方法。
根据本公开的实施例的存储装置可包括存储器装置和存储器控制器。存储器装置可包括多个存储块。存储器控制器可控制存储器装置以对多个存储块之中的、编程操作由于第一突然断电而被停止的目标块执行针对第一突然断电的恢复操作,并且执行将锁定数据存储到目标块中的、恢复操作完成的页面的下一页面的编程操作,该锁定数据包括指示针对第一突然断电的恢复操作完成的信息。
根据本公开的实施例的操作包括多个存储块的存储装置的方法可包括:感测供应到存储装置的电力被异常中断的第一突然断电;对多个存储块之中的、编程操作由于第一突然断电而被停止的目标块执行针对第一突然断电的恢复操作;并且执行将锁定数据存储到目标块中的、恢复操作完成的页面的下一页面的编程操作,该锁定数据包括指示针对第一突然断电的恢复操作完成的信息。
根据本公开的实施例,控制包括多个存储块的存储装置的存储器控制器可包括电源管理器和编程操作控制器。电源管理器可感测供应到存储器装置的电力被异常中断的突然断电,并且可生成电力异常信息。编程操作控制器可控制存储器装置以基于该电力异常信息,对多个存储块之中的、编程操作由于突然断电而被停止的目标块执行针对突然断电的恢复操作,并且执行将锁定数据存储到目标块中的、恢复操作完成的页面的下一页面的编程操作,该锁定数据包括指示针对突然断电的恢复操作完成的信息。
一种操作存储装置的方法,该操作方法包括:对装置内的目标块执行针对突然断电的恢复操作;将指示完成恢复操作的锁定数据编程到锁定页面中,该锁定页面作为紧邻复制页面的擦除页面;并且当最后编程的数据是装置的存储块内的锁定数据时,跳过对该存储块进行的针对后续突然断电的后续恢复操作。对目标块内的目标页面的编程操作由于突然断电而被中断,并且恢复操作包括:将虚设数据编程到虚设页面中的操作,该虚设页面是紧邻目标页面的擦除页面,并且将数据从目标页面复制到复制页面,该复制页面是紧邻虚设页面的擦除页面。
根据本技术,提供了具有提高的突然断电恢复性能的存储装置及其操作方法。
附图说明
图1是示出根据本公开的实施例的存储装置的示图。
图2是示出图1的存储器装置的结构的示图。
图3是示出图2的存储器单元阵列的示图。
图4是示出突然断电恢复操作的示图。
图5是示出根据本公开的实施例的突然断电恢复操作的示图。
图6是示出根据本公开的实施例的锁定数据的突然断电的累计次数的示图。
图7是示出根据本公开的实施例的存储装置的操作的流程图。
图8是示出根据本公开的实施例的存储装置的操作的流程图。
图9是示出图1的存储器控制器的另一实施例的示图。
图10是示出应用根据本公开的实施例的存储装置的存储卡系统的框图。
图11是示出应用根据本公开的实施例的存储装置的固态驱动器(SSD)系统的框图。
图12是示出应用根据本公开的实施例的存储装置的用户系统的框图。
具体实施方式
仅示出在本说明书或本申请中公开的实施例的具体结构或功能描述以描述根据本公开的实施例。根据本公开的实施例可以各种形式来体现,并且这些描述不限于本说明书或本申请中描述的实施例。
图1是示出根据本公开的实施例的存储装置的示图。
参照图1,存储装置50可包括存储器装置100和控制存储器装置的操作的存储器控制器200。存储装置50是在诸如以下的主机300的控制下存储数据的装置:移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统。
根据作为与主机300的通信方法的主机接口,存储装置50可被制造成各种类型的存储装置中的一种。例如,存储装置50可被配置成诸如以下的各种类型的存储装置中的一种:SSD,MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,SD、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-E)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡,以及记忆棒。
存储装置50可被制造成各种类型的封装中的一种。例如,存储装置50可被制造成诸如以下的各种类型的封装中的一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器装置100可存储数据。存储器装置100在存储器控制器200的控制下操作。存储器装置100可包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元。
存储器单元中的每一个可被配置成存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
存储器单元阵列可包括多个存储块。每个存储块可包括多个存储器单元。一个存储块可包括多个页面。在实施例中,页面可以是用于将数据存储在存储器装置100中或读取存储器装置100中存储的数据的单位。
存储块可以是用于擦除数据的单位。在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(ReRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移扭矩随机存取存储器(STT-RAM)等。在本说明书中,为便于描述,存储器装置100是NAND闪速存储器。
存储器装置100被配置成从存储器控制器200接收命令和地址,并且访问存储器单元阵列的由该地址选择的区域。也就是说,存储器装置100可对由地址选择的区域执行由命令指示的操作。例如,存储器装置100可执行写入操作(编程操作)、读取操作和擦除操作。在编程操作期间,存储器装置100可将数据编程到由地址选择的区域。在读取操作期间,存储器装置100可从由地址选择的区域读取数据。在擦除操作期间,存储器装置100可擦除由地址选择的区域中存储的数据。
存储器控制器200控制存储装置50的全部操作。
当向存储装置50供应电力时,存储器控制器200可运行固件FW。当存储器装置100为闪速存储器装置时,存储器控制器200可操作用于控制主机300和存储器装置100之间的通信的诸如闪存转换层(FTL)的固件。
在实施例中,存储器控制器200可从主机300接收数据和逻辑块地址(LBA),并且可将LBA转换为物理块地址(PBA),物理块地址(PBA)指示存储器装置100中包括的存储器单元的、待存储数据的地址。
存储器控制器200可响应于来自主机300的请求,控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可向存储器装置100提供写入命令、PBA和数据。在读取操作期间,存储器控制器200可向存储器装置100提供读取命令和PBA。在擦除操作期间,存储器控制器200可向存储器装置100提供擦除命令和PBA。
在实施例中,存储器控制器200可不管来自主机300的请求,生成命令、地址和数据并且将命令、地址和数据传输到存储器装置100。例如,存储器控制器200可向存储器装置100提供命令、地址和数据以执行诸如用于损耗均衡的编程操作以及用于垃圾收集的编程操作的后台操作。
在实施例中,存储器控制器200可控制至少两个存储器装置100。在这种情况下,存储器控制器200可根据交错方法来控制至少两个存储器装置100,以提高操作性能。交错方法可以是使至少两个存储器装置100的操作时段重叠的操作方法。
在实施例中,存储器装置100可包括多个存储块。存储器控制器200可控制存储器装置100以对多个存储块之中的、编程操作由于突然断电而被停止的目标块执行针对突然断电的恢复操作。突然断电的恢复操作可包括将虚设数据存储在目标块中包括的多个页面之中的、编程操作被停止的页面的下一页面中的虚设编程操作。恢复操作可包括将编程操作被停止的页面中存储的有效数据复制到另一页面的编程操作。
在执行恢复操作之后,存储器控制器200可控制存储器装置100以执行将锁定数据存储在目标块中的编程操作。突然断电可指在存储装置50的操作期间,供应到存储装置50的电力由于意外的电力错误而被异常中断的情况。
在实施例中,锁定数据可包括指示针对突然断电的恢复操作完成的信息。锁定数据可包括关于在目标块被开放之后对目标块的编程操作期间发生的突然断电的累计次数的信息。每当每个块变为开放时,可对每个块的累计次数进行计数。
在实施例中,存储块可被划分成空闲块、开放块或封闭块。空闲块可以是没有存储有效数据并且在被擦除之后可用于存储数据的块。开放块可以是对存储块的编程操作没有完成的块。可将新数据存储在开放块中。封闭块可以是对存储块的所有编程操作完成并且不再存储新数据的块。
在实施例中,当在突然断电之后发生另外的突然断电时,存储器控制器200可控制存储器装置100以读取目标块中包括的多个页面之中被最后编程的页面中存储的数据。存储器控制器200可根据来自目标块的读取数据是否是锁定数据来确定是否执行针对另外的突然断电的恢复操作。例如,当来自目标块的读取数据与锁定数据相同时,存储器控制器200可控制存储器装置100以跳过对目标块的针对另外的突然断电的恢复操作。当来自目标块的读取数据不同于锁定数据时,存储器控制器200可控制存储器装置100以对目标块执行针对另外的突然断电的恢复操作。
在实施例中,存储器控制器200可控制存储器装置100以读取目标块中存储的锁定数据。存储器控制器200可基于锁定数据来将在目标块被开放之后对目标块的编程操作期间发生的突然断电的累计次数与参考次数进行比较。
当突然断电的累计次数大于参考次数时,存储器控制器200可控制存储器装置100以执行将目标块中存储的数据复制到不同于该目标块的存储块中的备份操作。在备份操作完成之后,存储器控制器200可将目标块设置为坏块。
在实施例中,存储器控制器200可包括电源管理器210、编程操作控制器220和块管理器230。
电源管理器210可感测供应到存储装置50的电力被异常中断的突然断电。当感测到突然断电时,电源管理器210可生成电力异常信息。
编程操作控制器220可接收电力异常信息。编程操作控制器220可基于从电源管理器210接收的电力异常信息来确定是否发生突然断电。编程操作控制器220可控制存储器装置100以执行针对突然断电的恢复操作,以及将锁定数据存储在编程操作由于突然断电而被停止的目标块中的编程操作。
每当每个块变为开放时,编程操作控制器220可对每个块的突然断电的累计次数进行计数。编程操作控制器220可基于锁定数据将目标块的突然断电的累计次数与参考次数进行比较。当突然断电的累计次数超过参考次数时,编程操作控制器220可控制存储器装置100以执行将目标块中存储的数据复制到另一存储块的备份操作。
块管理器230可存储关于多个存储块中的每一个是正常块还是坏块的信息。基于目标块的突然断电的累计次数与参考次数的比较结果,当突然断电的次数超过参考次数时,块管理器230可将目标块设置为坏块。
主机300可使用诸如以下的各种通信方法中的至少一种来与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCI-E)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。
图2是示出图1的存储器装置的结构的示图。
参照图2,存储器装置100可包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL连接到地址解码器121。多个存储块BLK1至BLKz通过位线BL1至BLm连接到读取和写入电路123。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元为非易失性存储器单元。多个存储器单元之中连接到相同字线的存储器单元被定义为一个物理页面。也就是说,存储器单元阵列110由多个物理页面配置。根据本公开的实施例,存储器单元阵列110中包括的多个存储块BLK1至BLKz中的每一个可包括多个虚设单元。虚设单元中的至少一个可串联连接在漏极选择晶体管与存储器单元之间,以及在源极选择晶体管与存储器单元之间。
存储器装置100的存储器单元中的每一个可被配置成存储一个数据位的SLC、存储两个数据位的MLC、存储三个数据位的TLC或者存储四个数据位的QLC。
外围电路120可包括地址解码器121、电压生成器122、读取和写入电路123、数据输入/输出电路124以及感测电路125。
外围电路120驱动存储器单元阵列110。例如,外围电路120可驱动存储器单元阵列110以执行编程操作、读取操作和擦除操作。
地址解码器121通过行线RL连接到存储器单元阵列110。行线RL可包括漏极选择线、字线、源极选择线和公共源极线。根据本公开的实施例,字线可包括普通字线和虚设字线。根据本公开的实施例,行线RL可进一步包括管道选择线。
地址解码器121被配置成响应于控制逻辑130的控制而操作。地址解码器121从控制逻辑130接收地址ADDR。
地址解码器121被配置成对所接收的地址ADDR的块地址进行解码。地址解码器121根据经解码的块地址来选择存储块BLK1至BLKz之中的至少一个存储块。地址解码器121被配置成对所接收的地址ADDR的行地址RADD进行解码。地址解码器121可根据经解码的行地址RADD选择所选择的存储块的字线之中的至少一个字线。地址解码器121可将从电压生成器122供应的操作电压Vop施加到所选择的字线。
在编程操作期间,地址解码器121可将编程电压施加到所选择的字线并将电平小于编程电压的电平的通过电压施加到未选择的字线。在编程验证操作期间,地址解码器121可将验证电压施加到所选择的字线并将电平大于验证电压的电平的验证通过电压施加到未选择的字线。
在读取操作期间,地址解码器121可将读取电压施加到所选择的字线并将电平大于读取电压的电平的读取通过电压施加到未选择的字线。
根据本公开的实施例,以存储块为单位来执行对存储器装置100的擦除操作。在擦除操作期间输入到存储器装置100的地址ADDR包括块地址。地址解码器121可对块地址进行解码,并且根据经解码的块地址来选择至少一个存储块。在擦除操作期间,地址解码器121可将接地电压施加到与所选择的存储块连接的字线。
根据本公开的实施例,地址解码器121可被配置成对所传送的地址ADDR中的列地址进行解码。经解码的列地址可被传送到读取和写入电路123。作为示例,地址解码器121可包括诸如行解码器、列解码器和地址缓冲器的组件。
电压生成器122被配置成通过使用供应到存储器装置100的外部电源电压来生成多个操作电压Vop。电压生成器122响应于控制逻辑130的控制而操作。
在实施例中,电压生成器122可通过调节外部电源电压来生成内部电源电压。通过电压生成器122生成的内部电源电压用作存储器装置100的操作电压。
在实施例中,电压生成器122可使用外部电源电压或内部电源电压来生成多个操作电压Vop。电压生成器122可被配置成生成存储器装置100所需的各种电压。例如,电压生成器122可生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压以及多个未选择读取电压。
为了生成具有不同电压电平的多个操作电压Vop,电压生成器122可包括接收内部电压的多个泵浦(pumping)电容器,并且响应于控制逻辑130而选择性地启用多个泵浦电容器以生成多个操作电压Vop。
所生成的多个操作电压Vop可通过地址解码器121而供应到存储器单元阵列110。
读取和写入电路123包括第一至第m页面缓冲器PB1至PBm。第一至第m页面缓冲器PB1至PBm分别通过第一至第m位线BL1至BLm连接到存储器单元阵列110。第一至第m页面缓冲器PB1至PBm响应于控制逻辑130的控制而操作。
第一至第m页面缓冲器PB1至PBm与数据输入/输出电路124通信数据DATA。在编程时,第一至第m页面缓冲器PB1至PBm通过数据输入/输出电路124和数据线DL接收待存储的数据DATA。
在编程操作期间,当编程电压被施加到所选择的字线时,第一至第m页面缓冲器PB1至PBm可通过位线BL1至BLm将待存储的数据DATA即通过数据输入/输出电路124接收的数据DATA传送到所选择存储器单元。根据所传送的数据DATA,对所选择的页面的存储器单元进行编程。连接到施加了编程允许电压(例如,接地电压)的位线的存储器单元可具有增加的阈值电压。连接到施加了编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可被维持。在编程验证操作期间,第一至第m页面缓冲器PB1至PBm可通过位线BL1至BLm从所选择的存储器单元中读取该存储器单元中存储的数据DATA。
在读取操作期间,读取和写入电路123可通过位线BL从所选择的页面中的存储器单元中读取数据DATA,并且将所读取的数据DATA存储在第一至第m页面缓冲器PB1至PBm中。
在擦除操作期间,读取和写入电路123可使位线BL浮置。在实施例中,读取和写入电路123可包括列选择电路。
数据输入/输出电路124通过数据线DL连接到第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124响应于控制逻辑130的控制而操作。
数据输入/输出电路124可包括接收输入的数据DATA的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124从外部控制器(未示出)接收待存储的数据DATA。在读取操作期间,数据输入/输出电路124将从读取和写入电路123中包括的第一至第m页面缓冲器PB1至PBm传送的正常数据DATA输出到外部控制器。
在读取操作或验证操作期间,感测电路125可响应于由控制逻辑130生成的允许位VRYBIT信号而生成参考电流,并且可将从读取和写入电路123接收的感测电压VPB与由参考电流生成的参考电压进行比较,以将通过信号或失败信号输出到控制逻辑130。
控制逻辑130可连接到地址解码器121、电压生成器122、读取和写入电路123、数据输入/输出电路124以及感测电路125。控制逻辑130可被配置成控制存储器装置100的全部操作。控制逻辑130可响应于从外部装置传送的命令CMD而操作。
控制逻辑130可响应于命令CMD和地址ADDR而生成各种信号以控制外围电路120。例如,控制逻辑130可响应于命令CMD和地址ADDR而生成操作信号OPSIG、行地址RADD、读取和写入电路控制信号PBSIGNALS、允许位VRYBIT。控制逻辑130可向电压生成器122输出操作信号OPSIG,向地址解码器121输出地址ADDR,向读取和写入电路123输出读取和写入控制信号,并且向感测电路125输出允许位VRYBIT。另外,控制逻辑130可响应于通过感测电路125输出的通过信号PASS或失败信号FAIL来确定验证操作是已经通过还是已经失败。
图3是示出图2的存储器单元阵列的示图。
参照图3,第一至第z存储块BLK1至BLKz共同连接到第一至第m位线BL1至BLm。在图3中,为便于描述,示出多个存储块BLK1至BLKz之中的第一存储块BLK1中包括的元件,并且省略了剩余存储块BLK2至BLKz中的每一个中包括的元件。可理解的是,剩余存储块BLK2至BLKz中的每一个类似于第一存储块BLK1来配置。
存储块BLK1可包括多个单元串CS1_1至CS1_m(m为正整数)。第一至第m单元串CS1_1至CS1_m分别连接到第一至第m位线BL1至BLm。第一至第m单元串CS1_1至CS1_m中的每一个包括漏极选择晶体管DST、串联连接的多个存储器单元MC1至MCn(n为正整数)以及源极选择晶体管SST。
第一至第m单元串CS1_1至CS1_m中的每一个中包括的漏极选择晶体管DST的栅极端子连接到漏极选择线DSL1。第一至第m单元串CS1_1至CS1_m中的每一个中包括的第一至第n存储器单元MC1至MCn的栅极端子中的每一个连接到第一至第n字线WL1至WLn。第一至第m单元串CS1_1至CS1_m中的每一个中包括的源极选择晶体管SST的栅极端子连接到源极选择线SSL1。
为便于描述,基于多个单元串CS1_1至CS1_m之中的第一单元串CS1_1来描述单元串的结构。然而,可理解的是,剩余单元串CS1_2至CS1_m中的每一个类似于第一单元串CS1_1来配置。
第一单元串CS1_1中包括的漏极选择晶体管DST的漏极端子连接到第一位线BL1。第一单元串CS1_1中包括的漏极选择晶体管DST的源极端子连接到第一单元串CS1_1中包括的第一存储器单元MC1的漏极端子。第一至第n存储器单元MC1至MCn彼此串联连接。第一单元串CS1_1中包括的源极选择晶体管SST的漏极端子连接到第一单元串CS1_1中包括的第n存储器单元MCn的源极端子。第一单元串CS1_1中包括的源极选择晶体管SST的源极端子连接到公共源极线CSL。在实施例中,公共源极线CSL可共同连接到第一至第z存储块BLK1至BLKz。
图2的行线RL中包括漏极选择线DSL1、第一至第n字线WL1至WLn以及源极选择线SSL1。由地址解码器121控制漏极选择线DSL1、第一至第n字线WL1至WLn以及源极选择线SSL1。由控制逻辑130控制公共源极线CSL。由读取和写入电路123控制第一至第m位线BL1至BLm。
图4是示出突然断电恢复操作的示图。
参照图4,存储块BLK1可包括第一至第八页面Page 1至Page 8。存储块BLK1中包括的页面的数量不限于本实施例。在图4中,编程顺序可从第一页面Page 1进行到第八页面Page 8。在另一实施例中,可以相反的次序执行该编程顺序。
在t1处,可将数据Data 1编程到第一页面Page 1。第二至第八页面Page 2至Page8可以是擦除页面。
在t1与t2之间可能发生第一突然断电SPO1,并且可在第一突然断电SPO1之后执行第一恢复操作RCV 1。第一恢复操作RCV 1可包括将虚设数据编程到第二页面Page 2中的操作,该第二页面Page 2是根据存储块BLK1中的编程顺序的第一擦除页面。第一恢复操作RCV1可包括将第一页面Page 1中存储的数据Data 1复制到第三页面Page 3的编程操作,第一页面Page 1是第一突然断电SPO1之前被最后编程的页面,第三页面Page 3是根据编程顺序的第二擦除页面。
在t2处,可将数据Data 1编程到第一页面Page 1中。可将虚设数据编程到第二页面Page 2中。可将数据Data 1编程到第三页面Page 3中。第四至第八页面Page 4至Page 8可以是擦除页面。
在t2与t3之间可能发生第二突然断电SPO2,并且可在第二突然断电SPO2之后执行第二恢复操作RCV 2。第二恢复操作RCV 2可包括将虚设数据编程到第四页面Page 4中的操作,该第四页面Page 4是根据存储块BLK1中的编程顺序的第一擦除页面。第二恢复操作RCV2可包括将第三页面Page 3中存储的数据Data 1复制到第五页面Page 5的编程操作,第三页面Page 3是第二突然断电SPO2之前被最后编程的页面,第五页面Page 5是根据编程顺序的第二擦除页面。
在t3处,可将数据Data 1编程到第一页面Page 1中。可将虚设数据编程到第二页面Page 2中。可将数据Data 1编程到第三页面Page 3中。可将虚设数据编程到第四页面Page 4中。可将数据Data 1编程到第五页面Page 5中。第六至第八页面Page 6至Page 8可以是擦除页面。
在t3与t4之间可能发生第三突然断电SPO3,并且可在第三突然断电SPO3之后执行第三恢复操作RCV 3。第三恢复操作RCV 3可包括将虚设数据编程到第六页面Page 6中的操作,该第六页面Page 6是根据存储块BLK1中的编程顺序的第一擦除页面。第三恢复操作RCV3可包括将第五页面Page 5中存储的数据Data 1复制到第七页面Page 7的编程操作,第五页面Page 5是第三突然断电SPO3之前被最后编程的页面,第七页面Page 7是根据编程顺序的第二擦除页面。
在执行第三恢复操作RCV 3之后,可根据从主机接收的写入命令将新数据Data 2编程到存储块BLK1中。
在t4处,可将数据Data 1编程到第一页面Page 1中。可将虚设数据编程到第二页面Page 2中。可将数据Data 1编程到第三页面Page 3中。可将虚设数据编程到第四页面Page 4中。可将数据Data 1编程到第五页面Page 5中。可将虚设数据编程到第六页面Page6中。可将数据Data1编程到第七页面Page 7中。可将数据Data 2编程到第八页面Page 8中。
根据图4的进程,即使从t1直到从主机接收到写入命令都不存在主机的输入/输出(Host I/O),但是在重复由于突然断电而中断电力和再次供应电力的电力周期(powercycle)时,也可重复执行恢复操作。因此,当数据Data 1由于不必要的恢复操作而被重复地存储在存储块BLK1中时,可能浪费存储块BLK1的存储空间。另外,由于重复的恢复操作,存储块BLK1的劣化可能较为严重。
图5是示出根据本公开的实施例的突然断电恢复操作的示图。
参照图5,存储块BLK1可包括第一至第八页面Page 1至Page 8。存储块BLK1中包括的页面的数量不限于本实施例。在图5中,编程顺序可从第一页面Page 1进行到第八页面Page 8。在另一实施例中,可以相反的次序执行该编程顺序。
在t1'处,可将数据Data 1编程到第一页面Page 1。第二至第八页面Page 2至Page8可以是擦除页面。
在t1'与t2'之间可能发生第一突然断电SPO1,并且可在第一突然断电SPO1之后执行第一恢复操作RCV 1。第一恢复操作RCV 1可包括将虚设数据编程到第二页面Page 2中的操作,该第二页面Page 2是根据存储块BLK1中的编程顺序的第一擦除页面。第一恢复操作RCV 1可包括将第一页面Page 1中存储的数据Data 1复制到第三页面Page 3的编程操作,第一页面Page 1是第一突然断电SPO1之前被最后编程的页面,第三页面Page 3是根据编程顺序的第二擦除页面。
在执行第一恢复操作RCV 1之后,可执行将锁定数据存储在第四页面Page 4中的编程操作Lock 1,第四页面Page 4是根据编程顺序的第三擦除页面。锁定数据可包括指示针对第一突然断电SPO1的第一恢复操作RCV 1完成的信息。锁定数据可包括关于在存储块BLK1被开放之后对该存储块执行编程操作时发生的突然断电的累计次数的信息。在图5中,因为在对锁定数据进行编程的时间点处,存储块BLK1仅发生了第一突然断电SPO1,所以突然断电的累计次数可以是1。
在t2'处,可将数据Data 1编程到第一页面Page 1中。可将虚设数据编程到第二页面Page 2中。可将数据Data 1编程到第三页面Page 3中。可将锁定数据编程到第四页面Page 4中。第五至第八页面Page 5至Page 8可以是擦除页面。
在t2'和t3'之间可能发生第二突然断电SPO2。可在第二突然断电SPO2之后读取存储块BLK1中被最后编程的页面中存储的数据。可根据该读取数据是否是锁定数据来选择性地执行第二恢复操作RCV 2。例如,当读取数据是锁定数据时,可跳过第二恢复操作RCV 2。当读取数据是不同于锁定数据的数据时,可执行第二恢复操作RCV 2。
因为从作为在第二突然断电SPO2之后在存储块BLK1中被最后编程的页面的第四页面Page 4中读取的数据与锁定数据相同,所以可跳过第二恢复操作RCV 2。
在t3'处,可将数据Data 1编程到第一页面Page 1中。可将虚设数据编程到第二页面Page 2中。可将数据Data 1编程到第三页面Page 3中。可将锁定数据编程到第四页面Page 4中。第五至第八页面Page 5至Page 8可以是擦除页面。
在t3'和t4'之间可能发生第三突然断电SPO3。因为从作为在第三突然断电SPO3之后在存储块BLK1中被最后编程的页面的第四页面Page 4中读取的数据与锁定数据相同,所以可跳过第三恢复操作RCV3。
在第三突然断电SPO3之后,根据从主机接收的写入命令,可将作为新数据的数据Data 2编程到存储块BLK1中。具体地,在将虚设数据编程在第五页面Page 5中之后,可将数据Data 2编程在第六页面Page 6中,第五页面Page 5是作为被最后编程的页面的第四页面Page 4的下一页面。在另一实施例中,在没有虚设编程操作的情况下,可将数据Data 2直接编程在第五页面Page 5中,第五页面Page 5是作为被最后编程的页面的第四页面Page 4的下一页面。
在t4'处,可将数据Data 1编程到第一页面Page 1中。可将虚设数据编程到第二页面Page 2中。可将数据Data 1编程到第三页面Page 3中。可将锁定数据编程到第四页面Page 4中。可将虚设数据编程到第五页面Page 5中。可将数据Data 2编程到第六页面Page6中。第七和第八页面Page 7和Page 8可以是擦除页面。
在图5的实施例中,当从t1'直到从主机接收到写入命令都不存在主机的输入/输出(Host I/O)时,即使重复由于突然断电而中断电力和再次供应电力的电力周期,也可跳过不必要的恢复操作。因此,可防止由于不必要的恢复操作而将数据Data 1重复存储在存储块BLK1中所导致的存储块BLK1的存储空间的浪费。另外,可通过跳过不必要的恢复操作来防止存储块BLK1的劣化。
图6是示出根据本公开的实施例的锁定数据的突然断电的累计次数的示图。
参照图6,存储块BLK1可包括第一至第k页面(k是等于或大于4的自然数)。存储块BLK1中包括的页面的数量不限于本实施例。
可将第一锁定数据Lock Data 1编程到第二页面Page 2中。
在对第一锁定数据Lock Data 1进行编程之前,对存储块BLK1的编程操作期间发生的突然断电的次数可以是1。因此,突然断电的累计次数可以是1。
可将第二锁定数据Lock Data 2编程到第n页面(n是大于1且小于m的自然数)。
从对第一锁定数据Lock Data 1进行编程之后到对第二锁定数据Lock Data 2进行编程之前,在对存储块BLK1的编程操作期间发生的突然断电的次数可以是1。因此,在对第二锁定数据Lock Data 2进行编程的时间点,突然断电的累计次数可以是2。
参照图5,在不存在主机的输入/输出(Host I/O)时,即使发生突然断电,也不能对锁定数据进行编程。在主机的输入/输出(Host I/O)存在时发生突然断电的情况下,可重新对锁定数据进行编程。因此,在某些情况下,可在多次突然断电之后对锁定数据进行编程。
可将第三锁定数据Lock Data 3编程到第m页面(m是大于n且小于k的自然数)。
从对第二锁定数据Lock Data 2进行编程之后到对第三锁定数据Lock Data 3进行编程之前,在对存储块BLK1的编程操作期间发生的突然断电的次数可以是3。因此,在对第三锁定数据Lock Data 3进行编程的时间点,突然断电的累计次数可以是5。
图7是示出根据本公开的实施例的存储装置的操作的流程图。
参照图7,在操作S701中,存储装置可感测突然断电。
在操作S703中,存储装置可确定目标块的被最后编程的页面中存储的数据是否是锁定数据。作为确定的结果,当被最后编程的页面中存储的数据是锁定数据时,操作可结束,并且当被最后编程的页面中存储的数据不是锁定数据时,操作可进行到操作S705。
在操作S705中,存储装置可对目标块执行上面参照图5描述的恢复操作。
在操作S707中,存储装置可将包括关于参照图5描述的突然断电的累计次数的信息的锁定数据编程到目标块中。
图8是示出根据本公开的实施例的存储装置的操作的流程图。
参照图8,在操作S801中,存储装置可读取目标块中存储的锁定数据。
在操作S803中,存储装置可基于锁定数据确定目标块的突然断电的累计次数是否超过参考次数。作为确定的结果,当突然断电的累计次数等于或小于参考次数时,操作结束,并且当突然断电的累计次数超过参考次数时,操作可进行到操作S805。
在操作S805中,存储装置可将目标块中存储的数据备份到另一存储块。
在操作S807中,存储装置可将目标块设置为坏块。
图9是示出图1的存储器控制器的另一实施例的示图。
参照图9,存储器控制器1000连接到主机和存储器装置。存储器控制器1000被配置成响应于来自主机的请求而访问存储器装置。例如,存储器控制器1000被配置成控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000被配置成提供存储器装置与主机之间的接口。存储器控制器1000被配置成驱动用于控制存储器装置的固件。
存储器控制器1000可包括处理器1010、存储器缓冲器1020、错误校正组件(ECC)1030、主机接口1040、缓冲器控制器1050、存储器接口1060和总线1070。
总线1070可被配置成提供存储器控制器1000的组件之间的通道。
处理器1010可控制存储器控制器1000的全部操作,并且可执行逻辑运算。处理器1010可通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。另外,处理器1010可通过缓冲器控制器1050与存储器缓冲器1020通信。处理器1010可使用作为操作存储器、高速缓存存储器或缓冲存储器的存储器缓冲器1020来控制存储装置的操作。
处理器1010可执行闪存转换层(FTL)的功能。处理器1010可通过FTL将由主机提供的LBA转换成PBA。FTL可接收LBA并且使用映射表将LBA转换成PBA。根据映射单元,存在若干FTL的地址映射方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010被配置成使从主机接收的数据随机化。例如,处理器1010可使用随机化种子来将从主机接收的数据随机化。经随机化的数据作为待存储的数据被提供到存储器装置,并且被编程到存储器单元阵列中。
处理器1010被配置成使在读取操作期间从存储器装置接收的数据去随机化。例如,处理器1010可使用去随机化种子将从存储器装置接收的数据去随机化。经去随机化的数据可被输出到主机。
在实施例中,处理器1010可通过驱动软件或固件来执行随机化和去随机化。
存储器缓冲器1020可用作处理器1010的操作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可存储由处理器1010运行的代码和命令。存储器缓冲器1020可存储由处理器1010处理的数据。存储器缓冲器1020可包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC 1030可执行错误校正。ECC 1030可基于通过存储器接口1060待写入到存储器装置的数据来执行错误校正码编码(ECC编码)。经错误校正编码的数据可通过存储器接口1060而传送到存储器装置。ECC 1030可对通过存储器接口1060从存储器装置接收的数据执行错误校正解码(ECC解码)。例如,ECC 1030可作为存储器接口1060的组件被包括在存储器接口1060中。
主机接口1040被配置成在处理器1010的控制下与外部主机通信。主机接口1040可被配置成使用诸如以下的各种通信方式中的至少一种来执行通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCI-E)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。
缓冲器控制器1050被配置成在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060被配置成在处理器1010的控制下与存储器装置通信。存储器接口1060可通过通道与存储器装置通信命令、地址和数据。
例如,存储器控制器1000可不包括存储器缓冲器1020和缓冲器控制器1050。
例如,处理器1010可使用代码来控制存储器控制器1000的操作。处理器1010可从设置在存储器控制器1000内部的非易失性存储器装置(例如,只读存储器)加载代码。作为另一示例,处理器1010可通过存储器接口1060从存储器装置加载代码。
例如,存储器控制器1000的总线1070可被划分成控制总线和数据总线。数据总线可被配置成在存储器控制器1000内传输数据,并且控制总线可被配置成在存储器控制器1000内传输诸如命令和地址的控制信息。数据总线和控制总线可彼此分离,并且可既不互相干扰也不互相影响。数据总线可连接到主机接口1040、缓冲器控制器1050、ECC1030和存储器接口1060。控制总线可连接到主机接口1040、处理器1010、缓冲器控制器1050、存储器缓冲器1020和存储器接口1060。
在实施例中,处理器1010可包括图1的电源管理器210、编程操作控制器220和块管理器230。
图10是示出应用根据本公开的实施例的存储装置的存储卡系统的框图。
参照图10,存储卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100连接到存储器装置2200。存储器控制器2100被配置成访问存储器装置2200。例如,存储器控制器2100可被配置成控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置成提供存储器装置2200与主机之间的接口连接。存储器控制器2100被配置成驱动用于控制存储器装置2200的固件。存储器控制器2100可与参照图1描述的存储器控制器200相同地进行实施。
例如,存储器控制器2100可包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和ECC的组件。
存储器控制器2100可通过连接器2300与外部装置通信。存储器控制器2100可根据特定通信标准与外部装置(例如,主机)通信。例如,存储器控制器2100被配置成通过诸如以下的各种通信标准中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe。例如,连接器2300可由上述各种通信标准中的至少一种来限定。
例如,存储器装置2200可利用诸如以下的各种非易失性存储器元件来配置:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移扭矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可被集成到一个半导体装置中以配置存储卡。例如,存储器控制器2100和存储器装置2200可被集成到一个半导体装置中以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会:PCMCIA)、紧凑型闪存(CF)卡、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)和通用闪存(UFS)。
图11是示出应用根据本公开的实施例的存储装置的固态驱动器(SSD)系统的框图。
参照图11,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并且通过电源连接器3002接收电力PWR。SSD 3200包括SSD控制器3210、多个非易失性存储器3221至322n、辅助电力装置3230和缓冲存储器3240。
根据本公开的实施例,SSD控制器3210可执行参照图1描述的存储器控制器200的功能。
SSD控制器3210可响应于从主机3100接收的信号SIG来控制多个非易失性存储器3221至322n。例如,信号SIG可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号SIG可以是由诸如以下的接口中的至少一种来定义的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe。
辅助电力装置3230通过电源连接器3002连接到主机3100。辅助电力装置3230可从主机3100接收电力PWR,并且可进行充电。当从主机3100供应的电力不平稳时,辅助电力装置3230可提供SSD 3200的电力。例如,辅助电力装置3230可位于SSD 3200中,或者可位于SSD 3200外部。例如,辅助电力装置3230可位于主板上,并且可向SSD 3200提供辅助电力。
缓冲存储器3240作为SSD 3200的缓冲存储器来操作。例如,缓冲存储器3240可临时存储从主机3100接收的数据或从多个非易失性存储器3221至322n接收的数据,或者可临时存储非易失性存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图12是示出应用根据本公开的实施例的存储装置的用户系统的框图。
参照图12,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可驱动用户系统4000中包括的组件、操作系统(OS)、用户程序等。例如,应用处理器4100可包括控制用户系统4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可被设置为片上系统(SOC)。
存储器模块4200可作为用户系统4000的主存储器、操作存储器、缓冲存储器或高速缓存存储器来操作。存储器模块4200可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器或者诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。例如,应用处理器4100和存储器模块4200可基于堆叠封装(POP)来封装,并且被设置为一个半导体封装。
网络模块4300可与外部装置通信。例如,网络模块4300可支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进、Wimax、WLAN、UWB、蓝牙和Wi-Fi的无线通信。例如,网络模块4300可包括在应用处理器4100中。
存储模块4400可存储数据。例如,存储模块4400可存储从应用处理器4100接收的数据。可选地,存储模块4400可将该存储模块4400中存储的数据传输到应用处理器4100。例如,存储模块4400可被实施为诸如以下的非易失性半导体存储器元件:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和三维NAND闪存。例如,存储模块4400可被设置为用户系统4000的诸如存储卡和外部驱动器的可移动存储装置(可移动驱动器)。
例如,存储模块4400可包括多个非易失性存储器装置,并且多个非易失性存储器装置可与参照图1描述的存储器装置100相同地操作。存储模块4400可与参照图1描述的存储装置50相同地操作。
用户接口4500可包括向应用处理器4100输入数据或指令或者将数据输出到外部装置的接口。例如,用户接口4500可包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
虽然为了清楚和理解的目的已经详细说明和描述了前述实施例,但是本发明不限于所提供的细节。正如本领域技术人员根据前述公开内容将理解的,存在许多实施本发明的可选方式。因而所公开的实施例是说明性的,而非限制性的。本发明旨在涵盖落入所附权利要求范围内的所有修改和替换。

Claims (20)

1.一种存储装置,包括:
存储器装置,包括多个存储块;以及
控制器,控制所述存储器装置:
对所述多个存储块之中的、编程操作由于第一突然断电而被停止的目标块执行针对所述第一突然断电的恢复操作,并且
执行将锁定数据存储在所述目标块中的、所述恢复操作完成的页面的下一页面的编程操作,所述锁定数据包括指示针对所述第一突然断电的恢复操作完成的信息。
2.根据权利要求1所述的存储装置,其中所述锁定数据包括关于在所述目标块被开放之后在对所述目标块的编程操作期间发生的突然断电的累计次数的信息。
3.根据权利要求2所述的存储装置,其中所述存储器控制器进一步控制所述存储器装置:
基于所述突然断电的累计次数与参考次数的比较结果,将所述目标块中存储的数据复制到所述多个存储块之中的不同于所述目标块的存储块,并且
将所述目标块设置为坏块。
4.根据权利要求1所述的存储装置,其中所述存储器控制器在针对所述第一突然断电的所述恢复操作中控制所述存储器装置:
执行将虚设数据存储在第一擦除页面中的编程操作,所述第一擦除页面与所述目标块中包括的多个页面之中的、编程操作由于所述第一突然断电而被停止的页面连续,并且
执行将所述编程操作被停止的页面中存储的数据复制到与所述第一擦除页面连续的第二擦除页面的编程操作。
5.根据权利要求4所述的存储装置,其中所述恢复操作完成的页面是所述第二擦除页面。
6.根据权利要求1所述的存储装置,其中当感测到第二突然断电时,所述存储器控制器进一步根据所述锁定数据是否存储在所述目标块中的多个页面之中的被最后编程的页面中来确定是否执行针对所述第二突然断电的恢复操作。
7.根据权利要求6所述的存储装置,其中当不同于所述锁定数据的数据存储在所述被最后编程的页面中时,所述存储器控制器进一步控制所述存储器装置以执行针对所述第二突然断电的恢复操作。
8.根据权利要求6所述的存储装置,其中当在所述第二突然断电之后从主机接收到写入请求和写入数据时,所述存储器控制器进一步控制所述存储器装置以执行将虚设数据和所述写入数据存储在所述目标块中的编程操作。
9.一种操作存储装置的方法,所述存储装置包括多个存储块,所述方法包括:
感测供应到所述存储装置的电力被异常中断的第一突然断电;
对所述多个存储块之中的、编程操作由于所述第一突然断电而被停止的目标块执行针对所述第一突然断电的恢复操作;并且
执行将锁定数据存储在所述目标块中的、所述恢复操作完成的页面的下一页面的编程操作,所述锁定数据包括指示针对所述第一突然断电的恢复操作完成的信息。
10.根据权利要求9所述的方法,其中所述锁定数据包括关于在所述目标块被开放之后在对所述目标块的编程操作期间发生的突然断电的累计次数的信息。
11.根据权利要求10所述的方法,进一步包括:
基于所述第一突然断电的累计次数与参考次数的比较结果,将所述目标块中存储的数据复制到所述多个存储块之中的不同于所述目标块的存储块;并且
将所述目标块设置为坏块。
12.根据权利要求9所述的方法,其中执行针对所述第一突然断电的所述恢复操作包括:
执行将虚设数据存储在第一擦除页面中的编程操作,所述第一擦除页面与所述目标块中包括的多个页面之中的、编程操作由于所述第一突然断电而被停止的页面连续;并且
执行将所述编程操作被停止的页面中存储的数据复制到与所述第一擦除页面连续的第二擦除页面的编程操作。
13.根据权利要求12所述的方法,其中所述恢复操作完成的页面是所述第二擦除页面。
14.根据权利要求9所述的方法,进一步包括:
当在所述第一突然断电之后感测到第二突然断电时,读取所述目标块中包括的多个页面之中被最后编程的页面中存储的数据;并且
根据读取的数据是否是所述锁定数据,执行针对所述第二突然断电的恢复操作。
15.根据权利要求14所述的方法,进一步包括:当所述读取的数据不同于所述锁定数据时,执行针对所述第二突然断电的恢复操作。
16.根据权利要求14所述的方法,进一步包括:
当所述读取的数据与所述锁定数据相同时,跳过针对所述第二突然断电的恢复操作;并且
响应于在所述第二突然断电之后从主机接收的写入请求,执行将虚设数据和从所述主机接收的写入数据存储在所述目标块中的编程操作。
17.一种控制存储器装置的存储器控制器,所述存储器装置包括多个存储块,所述存储器控制器包括:
电源管理器,感测供应到所述存储器装置的电力被异常中断的突然断电并且生成电力异常信息;以及
编程操作控制器,控制所述存储器装置:
基于所述电力异常信息,对所述多个存储块之中的、编程操作由于所述突然断电而被停止的目标块执行针对所述突然断电的恢复操作,并且
执行将锁定数据存储在所述目标块中的、所述恢复操作完成的页面的下一页面的编程操作,所述锁定数据包括指示针对所述突然断电的恢复操作完成的信息。
18.根据权利要求17所述的存储器控制器,
其中所述锁定数据包括关于在所述目标块被开放之后在对所述目标块的编程操作期间发生的突然断电的累计次数的信息,
进一步包括块管理器,基于所述突然断电的累计次数与参考次数的比较结果,将所述目标块设置为坏块,并且
其中所述编程操作控制器进一步控制所述存储器装置以基于所述突然断电的累计次数与所述参考次数的比较结果,将所述目标块中存储的数据复制到所述多个存储块之中不同于所述目标块的存储块。
19.根据权利要求17所述的存储器控制器,
其中针对所述突然断电的恢复操作包括:
将虚设数据存储在第一擦除页面中的编程操作,所述第一擦除页面与所述目标块中包括的多个页面之中的、编程操作由于所述突然断电而被停止的页面连续,并且
将所述编程操作被停止的页面中存储的数据复制到与所述第一擦除页面连续的第二擦除页面的编程操作,并且
其中所述恢复操作完成的页面是所述第二擦除页面。
20.根据权利要求17所述的存储器控制器,其中当在所述突然断电之后感测到另外的突然断电时,所述编程操作控制器进一步控制所述存储器装置以基于所述目标块中包括的多个页面之中的被最后编程的页面中存储的数据是否是所述锁定数据,执行针对所述另外的突然断电的恢复操作。
CN202110746367.8A 2020-11-02 2021-07-01 存储装置及其操作方法 Withdrawn CN114446357A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0144654 2020-11-02
KR1020200144654A KR20220059272A (ko) 2020-11-02 2020-11-02 저장 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
CN114446357A true CN114446357A (zh) 2022-05-06

Family

ID=81362858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110746367.8A Withdrawn CN114446357A (zh) 2020-11-02 2021-07-01 存储装置及其操作方法

Country Status (3)

Country Link
US (1) US11543975B2 (zh)
KR (1) KR20220059272A (zh)
CN (1) CN114446357A (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10643668B1 (en) * 2013-08-27 2020-05-05 Seagate Technology Llc Power loss data block marking
US20180261281A1 (en) * 2017-03-10 2018-09-13 Micron Technology, Inc. Methods for mitigating power loss events during operation of memory devices and memory devices employing the same
KR102259256B1 (ko) 2017-05-16 2021-06-02 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102430798B1 (ko) * 2018-01-11 2022-08-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20200011832A (ko) * 2018-07-25 2020-02-04 에스케이하이닉스 주식회사 메모리 시스템에서의 데이터 처리 방법 및 장치
KR20200113047A (ko) * 2019-03-20 2020-10-06 삼성전자주식회사 오픈 채널 스토리지 장치의 동작 방법
US11126368B2 (en) * 2019-04-30 2021-09-21 Western Digital Technologies, Inc. Systems and methods for finding a last good page in NAND open block

Also Published As

Publication number Publication date
KR20220059272A (ko) 2022-05-10
US20220137836A1 (en) 2022-05-05
US11543975B2 (en) 2023-01-03

Similar Documents

Publication Publication Date Title
US11481272B2 (en) Memory controller and method of operating the same
US20210327513A1 (en) Memory device and method of operating the same
KR20210090439A (ko) 메모리 컨트롤러 및 그 동작 방법
CN111435333B (zh) 存储装置及其操作方法
US20220051725A1 (en) Memory device and method of operating the same
US11205487B2 (en) Memory device and method of operating the same
CN114121104A (zh) 存储器设备及其操作方法
US11557349B2 (en) Memory device and method of operating the memory device
US20210334173A1 (en) Storage device and method of operating the same
US20210132804A1 (en) Storage device and method of operating the storage device
US11003392B2 (en) Memory controller and method of operating the memory controller
CN114360593A (zh) 存储装置及其操作方法
CN114237975A (zh) 存储器系统、存储器装置和操作存储器装置的方法
CN112199037A (zh) 存储器控制器及其操作方法
CN111752470A (zh) 存储器控制器及其操作方法
CN112447234A (zh) 存储器控制器及其操作方法
US11543975B2 (en) Storage device and method of operating the same
US11482291B2 (en) Memory device and method of operating the same
US11467745B2 (en) Storage device and method of operating the same
US20220334760A1 (en) Storage device and method of operating the same
US11688464B2 (en) Storage device and method of operating the same
US11500768B2 (en) Storage device performing garbage collection and method of operating the same
US11276477B2 (en) Memory controller and operating method thereof
US20210382819A1 (en) Storage device and method of operating the same
KR20220053374A (ko) 메모리 컨트롤러 및 그 동작 방법

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: 20220506