CN109840165A - 存储器系统及其操作方法 - Google Patents

存储器系统及其操作方法 Download PDF

Info

Publication number
CN109840165A
CN109840165A CN201810829131.9A CN201810829131A CN109840165A CN 109840165 A CN109840165 A CN 109840165A CN 201810829131 A CN201810829131 A CN 201810829131A CN 109840165 A CN109840165 A CN 109840165A
Authority
CN
China
Prior art keywords
page
memory device
storage system
memory
debugging message
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.)
Granted
Application number
CN201810829131.9A
Other languages
English (en)
Other versions
CN109840165B (zh
Inventor
田长桓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor 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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN109840165A publication Critical patent/CN109840165A/zh
Application granted granted Critical
Publication of CN109840165B publication Critical patent/CN109840165B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1448Management of the data involved in backup or backup restore
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/1417Boot up procedures
    • 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
    • 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
    • G06F11/1469Backup restoration techniques
    • 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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

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

Abstract

本发明提供一种存储器系统及其操作方法。存储器系统可以包括:存储器装置,其存储数据;以及存储器控制器,其控制存储器装置,使得响应于来自主机的请求执行包括编程操作的各种操作,其中存储器控制器包括:内部存储器,其存储系统信息;以及中央处理单元(CPU),其控制存储器装置,使得当在存储器装置的编程操作期间发生突然断电(SPO)时,将与系统信息有关的调试信息存储在存储器装置中的编程操作被中断的位置处。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2017年11月24日提交的申请号为10-2017-0158620的韩国专利申请的优先权,其全部公开通过引用并入本文。
技术领域
本公开的各种实施例总体涉及一种存储器系统以及存储器系统的操作方法。特别地,实施例涉及一种在突然断电之后将调试信息写入到开放块以用于重建操作的存储器系统以及这种存储器系统的操作方法。
背景技术
存储器系统可以包括存储器装置和存储器控制器。
存储器装置可以存储数据或输出存储的数据。例如,存储器装置可以被实施为当电源被中断时数据丢失的易失性存储器装置或者被实施为即使在电源被中断时也保留存储的数据的非易失性存储器装置。
存储器控制器可以控制主机和存储器装置之间的数据通信。
主机能够使用诸如以下的接口协议通过存储器控制器与存储器装置通信:高速外围组件互连(PCI-E)、高级技术附件(SATA)、串联ATA(SATA)、并联ATA(PATA)或串列SCSI(SAS)。主机和存储器系统之间的接口协议不限于上述示例,并且可以包括诸如以下的各种接口:通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)或者电子集成驱动器(IDE)。
发明内容
本公开的各个实施例涉及一种存储器系统,其将调试信息写入到开放块,从而有效地利用存储器系统的存储区域。
本公开的实施例可以提供一种存储器系统。存储器系统可以包括:存储器装置,其存储数据;以及存储器控制器,其控制存储器装置,使得响应于来自主机的请求执行包括编程操作的各种操作,其中存储器控制器包括:内部存储器,其存储系统信息;以及中央处理单元(CPU),其控制存储器装置,使得当在存储器装置的编程操作期间发生突然断电(SPO)时,将与系统信息有关的调试信息存储在存储器装置中的编程操作被中断的位置处。
本公开的实施例可以提供一种存储器系统。存储器系统可以包括:存储器装置,其包括存储数据的多个存储块;以及存储器控制器,其控制存储器装置,使得当发生突然断电(SPO)时,将调试信息存储在多个存储块中的操作被中断的开放块中。
本公开的实施例可以提供一种存储器装置的操作方法。方法可以包括:对存储器装置的选择的页面执行编程操作;在正在执行编程操作的同时发生突然断电(SPO)之后,在存储器装置的启动进程期间,将调试信息写入到选择的页面;使用控制器映射存储调试信息的选择的页面的地址;使用控制器在随后的启动进程期间响应于映射地址从选择的页面读取调试信息;以及基于读取的调试信息检测先前执行的重建操作的环境,并且然后重建在发生SPO时存在的环境。
本公开的实施例可以提供一种存储器系统。存储器系统可以包括:存储器装置,其包括多个页面;以及控制器,其适于:在编程第(i)页面的同时突然断电之后,控制存储器装置将第(i-1)页面的数据复制到第(i+1)页面中,并且将存储器系统的调试信息存储到第(i)页面中;以及在随后的突然断电之后使用调试信息来重建用于重建操作的环境。
附图说明
图1是示出根据本公开的实施例的存储器系统的示图。
图2是详细示出图1的存储器控制器的示图。
图3是详细示出图2的内部存储器的示图。
图4是详细示出图1的存储器装置的示图。
图5是示出图4的存储器单元阵列的示图。
图6是用于说明根据本公开的实施例的调试信息写入操作的示图。
图7是用于说明在调试信息写入操作中写入到存储器装置的信息的示例的示图。
图8和图9是用于说明根据本公开的实施例的重建操作的示图。
图10是示出包括图2的存储器控制器和存储器装置的存储器系统的实施例的示图。
图11是示出包括图2的存储器控制器和存储器装置的存储器系统的实施例的示图。
图12是示出包括图2的存储器控制器和存储器装置的存储器系统的实施例的示图。
图13是示出包括图2的存储器控制器和存储器装置的存储器系统的实施例的示图。
具体实施方式
下面结合附图详细描述本公开的优点和特征,以及在各种实施例的上下文中实现该优点和特征的方法。本公开不限于以下实施例,而是可以以其它形式实施。提供以下描述的实施例,使得本公开透彻和完整,并且向本领域技术人员充分传达本公开的技术精神。此外,对“实施例”的参考不一定意味着仅仅一个实施例,并且对“实施例”的不同参考不一定针对相同的实施例。
将理解的是,当元件被称为“联接”或“连接”到另一元件时,元件可以直接联接或连接到其它元件或者可以在其中存在中间元件。在本说明书中,当元件被称为“包括”或“包含”部件时,这种术语不排除包含一个或多个其它部件,除非上下文另有明确指示。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各种元件,但是这些元件不受这些术语限制。这些术语被用于区分一个元件与另一元件。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。
如本文使用的,单数形式可以包括复数形式,除非上下文另有清楚地说明。
将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。
在下文中,将参照附图详细地描述本发明的各个实施例。
图1是示出根据本公开的实施例的存储器系统的示图。
参照图1,存储器系统1000可以包括存储数据的存储器装置1100以及在主机2000的控制下控制存储器装置1100的存储器控制器1200。
主机2000能够使用诸如以下的接口协议与存储器系统1000通信:高速外围组件互连(PCI-E)、高级技术附件(SATA)、串联ATA(SATA)、并联ATA(PATA)或串列SCSI(SAS)。主机2000和存储器系统1000之间的接口协议不限于上述示例,并且进一步包括诸如以下的接口协议:通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)或者电子集成驱动器(IDE)。
存储器控制器1200可以控制存储器系统1000的整体操作,并且可以控制主机2000和存储器装置1100之间的数据交换。例如,存储器控制器1200可以转换接收的信息并且存储和输出转换的信息,使得命令、地址和数据可以在主机2000和存储器装置1100之间被传输/接收。例如,存储器控制器1200可以控制存储器装置1100从而执行编程操作、读取操作或擦除操作。在实施例中,存储器装置1100可以包括双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)SDRAM、Rambus DRAM(RDRAM)以及闪速存储器。
进一步地,如果在执行编程操作时发生突然断电(SPO),则存储器控制器1200可以控制存储器装置1100,使得调试信息被存储在编程操作被中断的开放块中。
当随后发生SPO时,存储器控制器1200可以在重建操作期间使用存储在存储器装置1100中的调试信息来重建先前执行的重建操作的环境。
图2是详细示出图1的存储器控制器的示图。
参照图2,存储器控制器1200可以包括缓冲存储器1210、中央处理单元(CPU)1220、内部存储器1230、主机接口1240、错误校正码(ECC)单元1250和存储器接口1260以控制主机2000和存储器装置1100之间的通信。
缓冲存储器1210可以临时存储在存储器控制器1200和存储器装置1100之间传输和接收的数据。例如,在编程操作期间,待编程的数据可以在被传输到存储器装置1100之前临时存储在缓冲存储器1210中,并且当存储器装置1100在编程操作中失败时可以重新使用存储的数据。进一步地,在读取操作期间,从存储器装置1100读取的数据可以临时存储在缓冲存储器1210中。例如,在读取操作期间,当预设量的数据被临时存储在缓冲存储器1210中时,读取的数据可以通过主机接口1240被输出到主机2000。
CPU 1220可以执行各种类型的用于控制存储器装置1100的操作,可以生成命令和地址,或者可以运行固件。
如果在对存储器装置1100执行编程操作时发生SPO,则CPU 1220可以在SPO之后的启动进程期间控制存储器装置1100,使得调试信息被存储在存储器装置1100中的编程操作被中断的开放块中。例如,CPU 1220可以在SPO之后的启动进程期间执行重建操作,并且可以控制存储器装置1100,使得在重建操作中,调试信息被存储在编程操作由于SPO而中断的开放块中。
当随后再次发生SPO时,在随后的SPO之后的启动进程期间,存储在存储器装置1100中的调试信息可以用于检测在存储器系统(例如,图1的1000)的先前重建操作中执行了哪种类型的操作。对于该操作,在随后的SPO之后的启动进程中执行的重建操作期间,可以从存储器装置1100的开放块读取调试信息,并且CPU 1220可以将读取的调试信息重写到内部存储器1230,并且可以基于读取的调试信息重建先前的重建操作环境。
内部存储器1230可以用作能够存储存储器控制器1200的操作所需的各种类型的系统信息的存储装置。例如,内部存储器1230可以被实施为静态RAM(SRAM)。内部存储器1230可以包括存储有存储器系统1000的操作所需的各种类型的系统信息的表。
并且,内部存储器1230可以存储由于SPO而中断编程操作的页面的地址映射信息。当存储器系统(例如,图1中的1000)启动时,可以读取这样的信息。CPU 1220可以确定调试信息是否被存储在存储器装置1100中,如果确定调试信息被存储在存储器装置1100中,则可以从存储器装置1100读取调试信息并将调试信息写入到内部存储器1230,并且可以基于写入内部存储器1230的信息执行随后的操作。
主机接口1240可以在CPU 1220的控制下与联接到存储器系统1000的外部主机2000通信。例如,主机接口1240可以从主机2000接收写入命令、数据和对应于写入命令的逻辑地址。进一步地,主机接口1240可以从主机2000接收读取命令和对应于读取命令的逻辑地址。
ECC单元1250可以检测或校正从存储器装置1100读取的数据中包含的错误。例如,ECC单元1250可以通过存储器接口1260基于待被写入到存储器装置1100的数据来执行ECC编码操作。ECC编码的数据可以通过存储器接口1260被传递到存储器装置1100。
进一步地,ECC单元1250可以通过存储器接口1260对从存储器装置1100接收的数据执行ECC解码。ECC单元1250可以基于博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码或低密度奇偶校验(LDPC)码执行错误校正操作。
进一步地,ECC单元1250可以基于待写入到缓冲存储器1210的数据来执行ECC编码或ECC解码。
存储器接口1260可以在CPU 1220的控制下与半导体存储器装置1100通信。存储器接口1260可以通过通道将命令、地址和数据传输到存储器装置1100/从存储器装置1100接收命令、地址和数据。例如,CPU 1220可以使用代码来控制存储器控制器1200的操作。
图3是详细示出图2的内部存储器的示图。
参照图3,内部存储器1230可以被实施为SRAM,并且可以存储其中存储存储器系统(例如,图1的1000)的操作所需的各种类型的信息的表格。例如,内部存储器1230可以存储固件信息表(FW_T)、系统信息表(SI_T)、系统片段表(SF_T)、逻辑到物理地址表(L2P_T)、物理到逻辑地址表(P2L_T)、重建信息表(RI_T)等。
当存储器系统1000启动时,存储器控制器1200可以首先读取存储在内部存储器1230中的系统信息,并且可以基于读取信息设置存储器系统1000的操作所需的各种条件。
图4是详细示出图1的存储器装置的示图。
参照图4,存储器装置1100可以包括存储数据的存储器单元阵列100。存储器装置1100可以包括外围电路200,其执行用于在存储器单元阵列100中存储数据的编程操作、用于输出存储的数据的读取操作以及用于擦除存储的数据的擦除操作。存储器装置1100可以包括控制逻辑300,其在存储器控制器(例如,图1的1200)的控制下控制外围电路200。
存储器单元阵列100可以包括多个存储器单元。在存储块中,可以存储用户数据和存储器装置1100的操作所需的各种类型的信息。
进一步地,在存储器单元阵列100中,可以存储发生SPO时的调试信息。例如,当在编程操作期间发生SPO时,调试信息可以被存储在编程操作被中断的开放块中。
存储块中的每一个可以被实施为二维(2D)结构或三维(3D)结构。每个存储块可以主要被实施为3D结构以提高集成度。例如,具有2D结构的存储块中的每一个可以包括水平布置在衬底上的存储器单元,并且具有3D结构的存储块中的每一个可以包括垂直堆叠在衬底上的存储器单元。
外围电路200可以在控制逻辑300的控制下执行编程操作、读取操作或擦除操作。例如,外围电路200可以包括电压生成电路210、行解码器220、页面缓冲器组230、列解码器240、输入/输出电路250和电流感测电路260。
电压生成电路210可以响应于操作信号OP_CMD而生成用于编程操作、读取操作及擦除操作的各种操作电压Vop。例如,电压生成电路210可以在控制逻辑300的控制下生成编程电压、验证电压、通过电压、补偿编程电压、读取电压、擦除电压、导通电压等。
行解码器220可以响应于行地址RADD将操作电压Vop传送到联接到从存储器单元阵列100的存储块中选择的存储块的局部线LL。局部线LL可以包括局部字线、局部漏极选择线和局部源选择线。另外,局部线LL可以包括各种线,诸如联接到存储块的源极线。
页面缓冲器组230可以联接到位线BL1至BLI,位线BL1至BLI联接到存储器单元阵列100的存储块。页面缓冲器组230可以包括联接到位线BL1至BLI的多个页面缓冲器PB1至PBI。页面缓冲器PB1至PBI可以响应于页面缓冲器控制信号PBSIGNALS而操作。例如,页面缓冲器PB1至PBI可以临时存储通过位线BL1至BLI接收的数据,或者可以在读取操作或验证操作期间感测位线BL1至BLI的电压或电流。
列解码器240可以响应于列地址CADD在输入/输出电路250和页面缓冲器组230之间传输数据。例如,列解码器240可以通过数据线DL与页面缓冲器PB1至PBI交换数据,或者可以通过列线CL与输入/输出电路250交换数据。
输入/输出电路250可以将从存储器控制器(例如,图2的1200)接收的命令CMD和地址ADD传送到控制逻辑300,或者可以与列解码器240交换数据DATA。例如,当从存储器控制器1200接收到调试命令、地址和调试信息时,输入/输出电路250可以将调试命令和地址传输到控制逻辑300,并且可以将调试信息传输到列解码器240。
在读取操作或验证操作期间,电流感测电路260可以响应于使能位VRY_BIT<#>生成参考电流,并且可以将从页面缓冲器组230接收的感测电压VPB与由参考电流生成的参考电压进行比较,并且然后输出通过信号PASS或失败信号FAIL。
控制逻辑300可以响应于命令CMD和地址ADD而输出操作信号OP_CMD、行地址RADD、页面缓冲器控制信号PBSIGNALS和使能位VRY_BIT<#>,并且然后可以控制外围电路200。控制逻辑300可以响应于通过信号PASS或失败信号FAIL来确定验证操作是否已经通过或失败。
特别地,当从存储器控制器(例如,图2的1200)接收到调试命令和地址时,控制逻辑300可以控制外围电路200,使得调试信息被存储在对应于接收的地址的存储块的页面中。
图5是示出图4的存储器单元阵列的示图。
参照图5,存储器单元阵列100可以包括多个平面,平面中的每一个包括多个存储块BLK1至BLKi。在图5中,作为示例,示出包括在多个平面中的任何一个中的第一存储块BLK1至第i存储块BLKi。
第一存储块BLK1至第i存储块BLKi中的每一个可以包括存储数据的多个存储器单元。当存储器装置1100被实施为NAND闪速存储器时,存储器单元可以被形成为水平布置在衬底上的2D结构或者垂直堆叠在衬底上的3D结构。进一步地,可以基于页面对存储器单元执行编程操作和读取操作。
在第一存储块BLK1至第i存储块BLKi中,已经完成编程操作的块可以是封闭块,尚未完成编程操作的块可以是开放块,并且未执行编程操作的块可以是擦除块。
图6是用于说明根据本公开的实施例的调试信息写入操作的示图。
在图6中,将描述第一存储块BLK1至第i存储块BLKi中的第i存储块BLKi作为示例。
第i存储块BLKi可以包括多个页面PAGE1到PAGEj。例如,第i存储块BLKi可以包括第一页面PAGE1至第j页面PAGEj。
可以以预定顺序逐页地执行编程操作。例如,可以首先编程第一页面PAGE1,并且可以在完成对第一页面PAGE1执行的编程操作之后编程第二页面PAGE2。按照该顺序,可以顺序地编程第一页面PAGE1至第j页面PAGEj。
当第一页面PAGE1至第j页面PAGEj均被完全编程时,存储器装置1100可以终止对第i存储块BLKi的编程操作,并且BLKi可以变为封闭块。然而,当在第一页面PAGE1至第j页面PAGEj的编程操作终止之前发生突然断电(SPO)时,第i存储块BLKi可以是未完成编程操作的开放块。
下面将通过示例描述在第四页面PAGE4的编程操作期间发生SPO的情况。
在第一页面PAGE1至第三页面PAGE3的编程操作完成后,在第四页面PAGE4的编程操作期间发生SPO时,第四页面PAGE4处于尚未完成编程操作的状态。进一步地,由于在第四页面PAGE4的编程操作期间发生SPO,因此与第四面PAGE4相邻并且已经完成编程操作的第三页面PAGE3的可靠性可能恶化。
特别地,在多个位被存储在单个存储器单元中的多层单元(MLC)中,对应于多个逻辑页面的编程数据应当被存储在各个物理页面中,并且因此在第四页面PAGE4的编程操作期间可能发生SPO,同时第三页面PAGE3的编程操作尚未完成。
因此,在SPO之后的启动之后,第三页面PAGE3中的数据可以被复制到另一页面,例如,第五页面PAGE5,并且随后可以对第五页面PAGE5执行编程操作。对于该操作,存储器控制器(例如,图2的1200)可以控制存储器装置1100,使得存储在第三页面PAGE3中的数据被存储在第五页面PAGE5中。
该方法还可以避免在由于SPO而中断编程操作的第四页面PAGE4中存储无意义的信息。相反,存储器控制器1200可以控制存储器装置1100,使得存储器系统1000中使用的有意义的信息被存储在第四页面PAGE4中。即,当在第四页面PAGE4的编程操作完成之前发生SPO时,存储器控制器1200仍然可以将第四页面PAGE4识别为开放页面。因此,对于在SPO之后的下一个编程操作,存储器控制器1200可以将可用数据而不是无意义的数据编程到第四页面PAGE4,从而减少存储容量的浪费。例如,在中断编程操作的第四页面PAGE4中,可以存储调试信息而不是虚拟(dummy)数据。存储在第四页面PAGE4中的调试信息可以用于存储器系统的重建操作。
假设第一数据DATA1至第三数据DATA3被存储在第一页面PAGE1至第三页面PAGE3中,存储器控制器1200可以控制存储器装置1100,使得第三数据DATA3被复制到第五页面PAGE5,第五页面PAGE5是发生SPO时正在被编程的第四页面PAGE4之后的下一个页面。因此,存储器控制器1200可以将存储第三数据DATA3的存储位置的地址映射到第五页面PAGE5,而不是第三页面PAGE3。因此,在执行下一个擦除操作和编程操作之前不使用第三页面PAGE3。
存储在第四页面PAGE4中的调试信息DI可以包括关于用于重建操作的环境的信息,重建操作在存储器系统1000中发生失败时被执行。例如,调试信息DI可以包括诸如存储器系统1000的操作条件或系统设置值的信息。以该方式,可以由存储器系统1000使用的可用信息被写入到由于SPO而被中断编程的页面,因此可以更有效地使用存储器装置1100的存储块。
可以颠倒将调试信息DI的写入操作的顺序和在已经完成编程操作的页面中复制数据的操作的顺序。进一步地,可以由在启动进程期间运行的固件来执行读取和写入调试信息DI的操作。
图7是用于说明在调试信息写入操作中写入到存储器装置的信息的示例的示图。
参照图7,示出了以上参照图6描述的调试信息DI的示例。例如,存储器控制器(例如,图2的1200)的内部存储器(例如,图2的1230)可以存储在存储器系统(例如,图1的1000)中使用的信息。存储器系统1000可以在启动进程期间基于存储在内部存储器1230中的信息来确定存储器系统1000的状态并且进行各种类型的设置。例如,存储器系统1000可以基于存储在内部存储器1230中的信息来确定存储器装置1100的状态并进行执行随后的操作所需的各种类型的设置。
存储在由于突然断电(SPO)而中断编程操作的页面中的调试信息DI可以是在相应页面的编程操作期间关于存储器系统1000的状态的信息。这样的信息可以被存储在内部存储器1230中。例如,内部存储器1230可以存储固件信息表(FW_T)、系统信息表(SI_T)、系统片段表(SF_T)、逻辑到物理地址表(L2P_T)、物理到逻辑地址表(P2L_T)、重建信息表(RI_T)等。存储器控制器1200可以在启动进程期间基于调试信息来重建在已经发生SPO时存在的固件环境。
图8和图9是用于说明根据本公开的实施例的重建操作的示图。
参照图8和图9,假设在对第i存储块BLKi中的第四页面PAGE4执行编程操作时发生SPO,则调试信息DI可以在下一个启动操作中被存储在第四页面PAGE4中。存储在第四页面PAGE4中的调试信息DI可以用于存储器系统(例如,图1的1000)的重建操作。例如,在重建操作期间,存储器控制器(例如,图2中的1200)可以从第i存储块BLKi的第四页面PAGE4读取调试信息DI(参见图8),并且可以基于调试信息将系统信息重写入到内部存储器1230(参见图9)。
然后,存储器控制器1200可以基于重建的信息重建存储器系统1000的操作环境,并且可以控制存储器装置(例如,图1的1100),使得对第i存储块BLKi中的处于擦除状态的第五页面PAGE5至第j页面PAGEj执行编程操作。存储在与由于SPO而被中断编程的页面相邻的编程完成页面中的数据可以被复制到下一个顺序页面,该下一个顺序页面在本实施例中为第五页面PAGE5。例如,考虑到第三页面PAGE3的数据的恶化或缺乏可靠性,存储器控制器1200可以控制存储器装置1100,使得存储在第三页面PAGE3中的第三数据DATA3被存储在第五页面PAGE5中。在剩余的第六页面PAGE6至第j页面PAGEj中,可以存储第四数据DATA4至第k数据DATAk。
第三页面PAGE3可以被映射到坏页面,并且存储第三数据DATA3的页面可以被重新映射到第五页面PAGE5。
图10是示出包括图2的存储器控制器和存储器装置的存储器系统的应用示例的示图。
参照图10,存储器系统30000可以被实施为蜂窝电话、智能电话、平板PC、个人数字助理(PDA)或无线通信装置。存储器系统30000可以包括存储器装置1100和能够控制存储器装置1100的操作的存储器控制器1200。在处理器3100的控制下,存储器控制器1200可以控制存储器装置1100的数据访问操作,例如,编程操作、擦除操作或读取操作。
在存储器装置1100中编程的数据可以在存储器控制器1200的控制下经由显示器3200输出。
无线电收发器3300可以通过天线ANT交换无线电信号。例如,无线电收发器3300可以将通过天线ANT接收的无线电信号改变为可以在处理器3100中处理的信号。因此,处理器3100可以处理从无线电收发器3300输出的信号并且将处理的信号传输到存储器控制器1200或显示器3200。存储器控制器1200可以将由处理器3100处理的信号传输到存储器装置1100。此外,无线电收发器3300可以将从处理器3100输出的信号改变为无线电信号,并且通过天线ANT将改变的无线电信号输出到外部装置。输入装置3400可以用于输入用于控制处理器3100的操作的控制信号或者待由处理器3100处理的数据。输入装置3400可以被实施为诸如触摸板或计算机鼠标、小键盘或键盘的点击装置。处理器3100可以控制显示器3200的操作,使得从存储器控制器1200输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据经由显示器3200被输出。
在实施例中,能够控制存储器装置1100的操作的存储器控制器1200可以被实施为处理器3100的一部分或与处理器3100单独提供的芯片。
图11是示出包括图2的存储器控制器和存储器装置的存储器系统的应用示例的示图。
参照图11,存储器系统40000可以被实现为个人计算机、平板PC、电子书、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器。
存储器系统40000可以包括存储器装置1100和能够控制存储器装置1100的数据处理操作的存储器控制器1200。
处理器4100可以根据从输入装置4200输入的数据经由显示器4300输出存储在存储器装置1100中的数据。例如,输入装置4200可以被实施为诸如触摸板或计算机鼠标、小键盘或键盘的点击装置。
处理器4100可以控制存储器系统40000的整体操作并且控制存储器控制器1200的操作。在实施例中,能够控制存储器装置1100的操作的存储器控制器1200可以被实施为处理器4100的一部分或与处理器4100单独提供的芯片。
图12是示出包括图2的存储器控制器和存储器装置的存储器系统的应用示例的示图。
参照图12,存储器系统50000可以被实现为例如数码相机的图像处理装置、设置有数码相机的移动电话、设置有数码相机的智能手机或设置有数码相机的平板PC。
存储器系统50000可以包括存储器装置1100和能够控制存储器装置1100的例如编程操作、擦除操作或读取操作的数据处理操作的存储器控制器1200。
存储器系统50000的图像传感器5200可以将光学图像转换为数字信号。转换的数字信号可以被传输到处理器5100或存储器控制器1200。在处理器5100的控制下,转换的数字信号可经由显示器5300输出,或通过存储器控制器1200存储在存储器装置1100中。存储在存储器装置1100中的数据可以在处理器5100或存储器控制器1200的控制下经由显示器5300输出。
在实施例中,能够控制存储器装置1100的操作的存储器控制器1200可以被实施为处理器5100的一部分或与处理器5100单独提供的芯片。
图13是示出包括图2的存储器控制器和存储器装置的存储器系统的应用示例的示图。
参照图13,存储器系统70000可以被实现为存储卡或智能卡。存储器系统70000可以包括存储器装置1100,存储器控制器1200和卡接口7100。
存储器控制器1200可以控制存储器装置1100和卡接口7100之间的数据交换。在实施例中,卡接口7100可以是但不限于安全数字(SD)卡接口或多媒体卡(MMC)接口。
卡接口7100可以根据主机60000的协议来接口连接主机60000和存储器控制器1200之间的数据交换。在实施例中,卡接口7100可以支持通用串行总线(USB)协议和芯片间(IC)-USB协议。此处,卡接口可以指能够支持由主机60000使用的协议的硬件、安装在硬件中的软件或者信号传输方法。
当存储器系统70000联接到诸如PC、平板PC、数码相机、数字音频播放器、移动电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可以在微处理器(μP)6100的控制下通过卡接口7100和存储器控制器1200执行与存储器装置1100的数据通信。
本公开的实施例可以有效地利用存储器装置的存储块。
进一步地,本公开的实施例可以通过将调试信息而不是虚拟数据写入到存储器装置,在随后的重建操作中基于调试信息重建在先前重建操作中实施的存储器系统的环境。
本文已经公开各个实施例,并且虽然采用特定术语,但是它们被用于和解释为通用和描述性的含义,而不是出于限制的目的。在一些情况下,如从提交本申请起对于本领域普通技术人员显而易见的是,结合特定实施例描述的特征、特性和/或元件可以单独使用或与结合其他它实施例描述的特征、特性和/或元件结合使用,除非另有具体说明。因此,本领域技术人员将理解,在不脱离如所附权利要求中阐述的本公开的精神和范围的情况下,可以进行形式上和细节上的各种改变。

Claims (19)

1.一种存储器系统,其包括:
存储器装置,其存储数据;以及
存储器控制器,其控制所述存储器装置,使得响应于来自主机的请求执行包括编程操作的各种操作,
其中所述存储器控制器包括:
内部存储器,其存储系统信息;以及
中央处理单元即CPU,其控制所述存储器装置,使得当在所述存储器装置的编程操作期间发生突然断电即SPO时,将与系统信息有关的调试信息存储在所述存储器装置中的所述编程操作被中断的位置处。
2.根据权利要求1所述的存储器系统,其中,当发生SPO时,所述CPU控制所述存储器装置,使得所述调试信息存储在所述存储器装置中的所述编程操作被中断的开放块中。
3.根据权利要求1所述的存储器系统,其中,当在发生SPO之后所述存储器系统启动时,所述CPU通过运行固件读取存储在所述存储器装置中的所述调试信息。
4.根据权利要求3所述的存储器系统,其中所述CPU基于所述内部存储器的重建信息来重建在发生SPO之前执行的重建操作的环境。
5.一种存储器系统,其包括:
存储器装置,其包括存储数据的多个存储块;以及
存储器控制器,其控制所述存储器装置,使得当发生突然断电即SPO时,将调试信息存储在所述多个存储块中的操作被中断的开放块中。
6.根据权利要求5所述的存储器系统,其中所述存储器控制器包括:
内部存储器,其存储系统信息;以及
中央处理单元即CPU,其控制所述内部存储器和所述存储器装置。
7.根据权利要求6所述的存储器系统,其中所述内部存储器被实施为静态随机存取存储器即SRAM。
8.根据权利要求6所述的存储器系统,其中所述CPU控制所述存储器装置,使得所述调试信息被存储在所述开放块的页面中的所述编程操作被中断的页面中。
9.根据权利要求8所述的存储器系统,其中所述CPU将存储所述调试信息的页面的地址映射到所述内部存储器。
10.根据权利要求5所述的存储器系统,其中所述调试信息包括固件信息表、系统信息表、系统片段表,逻辑到物理地址表、物理到逻辑地址表和重建信息表。
11.根据权利要求8所述的存储器系统,其中所述存储器控制器控制所述存储器装置,使得存储在未完成所述编程操作的页面中的数据被复制到擦除页面。
12.根据权利要求8所述的存储器系统,其中所述存储器控制器控制所述存储器装置,使得与已经发生SPO的页面相邻并且已经执行编程操作的页面中的数据被复制到擦除页面。
13.根据权利要求12所述的存储器系统,其中所述存储器控制器将与已经发生SPO的页面相邻的页面设置为坏页面,并将所述坏页面的地址映射到所述擦除页面的地址。
14.根据权利要求13所述的存储器系统,其中所述存储器控制器控制所述存储器装置,使得在复制所述数据之后,对所述开放块的页面中的剩余擦除页执行编程操作。
15.一种存储器装置的操作方法,其包括:
对所述存储器装置的选择的页面执行编程操作;
在正在执行所述编程操作的同时发生突然断电即SPO之后,在所述存储器装置的启动进程期间,将调试信息写入到所述选择的页面;
使用控制器映射存储所述调试信息的所述选择的页面的地址;
使用所述控制器在随后的启动进程期间响应于所述映射地址从所述选择的页面读取所述调试信息;以及
基于所述读取的调试信息检测先前执行的重建操作的环境,并且然后重建在发生SPO时存在的环境。
16.根据权利要求15所述的方法,其中所述调试信息包括固件信息表、系统信息表、系统片段表,逻辑到物理地址表、物理到逻辑地址表和重建信息表。
17.根据权利要求15所述的方法,其进一步包括,在发生SPO之后执行的所述启动进程期间:
将与所述选择的页面相邻并且已经执行所述编程操作的页面中的数据复制到擦除页面。
18.根据权利要求17所述的方法,其进一步包括:
将与所述选择的页面相邻并且已经执行所述编程操作的所述页面设置为坏页面;以及
将所述坏页面的地址映射到所述擦除页面。
19.一种存储器系统,其包括:
存储器装置,其包括多个页面;
控制器;
在编程第(i)页面的同时突然断电之后,所述控制器控制所述存储器装置将第(i-1)页面的数据复制到第(i+1)页面中,并且将所述存储器系统的调试信息存储到所述第(i)页面中;以及
在随后的突然断电之后所述控制器使用所述调试信息来重建用于重建操作的环境。
CN201810829131.9A 2017-11-24 2018-07-25 存储器系统及其操作方法 Active CN109840165B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0158620 2017-11-24
KR1020170158620A KR102415218B1 (ko) 2017-11-24 2017-11-24 메모리 시스템 및 이의 동작 방법

Publications (2)

Publication Number Publication Date
CN109840165A true CN109840165A (zh) 2019-06-04
CN109840165B CN109840165B (zh) 2023-10-31

Family

ID=66633178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810829131.9A Active CN109840165B (zh) 2017-11-24 2018-07-25 存储器系统及其操作方法

Country Status (3)

Country Link
US (1) US11003544B2 (zh)
KR (1) KR102415218B1 (zh)
CN (1) CN109840165B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200089939A (ko) * 2019-01-18 2020-07-28 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
US11481277B2 (en) * 2019-07-30 2022-10-25 EMC IP Holding Company, LLC System and method for automated restoration of recovery device
KR20220075914A (ko) 2020-11-30 2022-06-08 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080229000A1 (en) * 2007-03-12 2008-09-18 Samsung Electronics Co., Ltd. Flash memory device and memory system
US20130055013A1 (en) * 2011-08-29 2013-02-28 Hitachi, Ltd. Storage control apparatus and storage control apparatus control method
US20140173357A1 (en) * 2012-12-18 2014-06-19 HGST Netherlands B.V. Salvaging event trace information in power loss interruption scenarios
US20150103599A1 (en) * 2013-10-11 2015-04-16 Samsung Electronics Co., Ltd. Method of operating memory device assuring reliability and memory system
CN104937577A (zh) * 2013-03-15 2015-09-23 惠普发展公司,有限责任合伙企业 支持扩展写入的存储器模块控制器
CN106095699A (zh) * 2015-03-20 2016-11-09 爱思开海力士有限公司 用于快闪存储器的可扩展spor算法
US20170288867A1 (en) * 2016-03-30 2017-10-05 Intel Corporation Authenticating a system to enable access to a diagnostic interface in a storage device

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101270685B1 (ko) 2007-08-24 2013-06-03 삼성전자주식회사 비휘발성 메모리의 데이터 처리 장치 및 방법
JP2009059005A (ja) * 2007-08-29 2009-03-19 Panasonic Corp デバッグシステム、デバッグ装置および方法
TWI414936B (zh) * 2010-06-04 2013-11-11 Quanta Comp Inc 電腦系統之除錯方法
CN102298545B (zh) * 2011-08-23 2014-03-19 晨星软件研发(深圳)有限公司 一种系统启动引导处理方法及装置
KR20130078973A (ko) * 2012-01-02 2013-07-10 삼성전자주식회사 메모리 장치의 불량 저장 영역 관리 방법 및 이를 이용한 저장 장치
US20130198566A1 (en) * 2012-01-27 2013-08-01 Lsi Corporation Method and Apparatus for Debugging System-on-Chip Devices
US9478271B2 (en) 2013-03-14 2016-10-25 Seagate Technology Llc Nonvolatile memory data recovery after power failure
KR102285994B1 (ko) * 2014-05-13 2021-08-06 삼성전자주식회사 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법
EP3839742A1 (en) * 2014-07-09 2021-06-23 Telefonaktiebolaget LM Ericsson (publ) A method for diagnosing power supply failure in a wireless communication device
US10474618B2 (en) * 2014-09-04 2019-11-12 Western Digital Technologies, Inc. Debug data saving in host memory on PCIE solid state drive
US20160378344A1 (en) * 2015-06-24 2016-12-29 Intel Corporation Processor and platform assisted nvdimm solution using standard dram and consolidated storage
TWI611408B (zh) * 2015-11-25 2018-01-11 旺宏電子股份有限公司 記憶體裝置的抹除方法
KR102625637B1 (ko) * 2016-02-01 2024-01-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
WO2018071450A1 (en) * 2016-10-11 2018-04-19 Green Hills Software, Inc. Systems, methods, and devices for vertically integrated instrumentation and trace reconstruction
US20190004947A1 (en) * 2017-06-30 2019-01-03 Intel Corporation Selective temporary data storage

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080229000A1 (en) * 2007-03-12 2008-09-18 Samsung Electronics Co., Ltd. Flash memory device and memory system
US20130055013A1 (en) * 2011-08-29 2013-02-28 Hitachi, Ltd. Storage control apparatus and storage control apparatus control method
US20140173357A1 (en) * 2012-12-18 2014-06-19 HGST Netherlands B.V. Salvaging event trace information in power loss interruption scenarios
CN104937577A (zh) * 2013-03-15 2015-09-23 惠普发展公司,有限责任合伙企业 支持扩展写入的存储器模块控制器
US20150103599A1 (en) * 2013-10-11 2015-04-16 Samsung Electronics Co., Ltd. Method of operating memory device assuring reliability and memory system
CN106095699A (zh) * 2015-03-20 2016-11-09 爱思开海力士有限公司 用于快闪存储器的可扩展spor算法
US20170288867A1 (en) * 2016-03-30 2017-10-05 Intel Corporation Authenticating a system to enable access to a diagnostic interface in a storage device

Also Published As

Publication number Publication date
US11003544B2 (en) 2021-05-11
CN109840165B (zh) 2023-10-31
KR20190060429A (ko) 2019-06-03
US20190163574A1 (en) 2019-05-30
KR102415218B1 (ko) 2022-07-01

Similar Documents

Publication Publication Date Title
CN107766257A (zh) 存储器系统及其操作方法
US10180805B2 (en) Memory system and operating method thereof
CN109992537A (zh) 存储系统及其操作方法
CN107643985A (zh) 存储器系统及其操作方法
CN108121669A (zh) 存储器系统及其操作方法
CN110399311A (zh) 存储器系统及该存储器系统的操作方法
CN107632777A (zh) 存储器系统及其操作方法
CN107918566A (zh) 存储器系统及其操作方法
CN107919157A (zh) 存储器装置及存储器装置的操作方法
CN110244907A (zh) 存储器系统及该存储器系统的操作方法
CN107562649A (zh) 存储器系统及其操作方法
CN109656472A (zh) 存储器系统及其操作方法
CN107589906A (zh) 存储器系统及其操作方法
CN109388594A (zh) 存储器系统及其操作方法
CN107799148A (zh) 存储器系统及用于操作该存储器系统的方法
CN109213622A (zh) 存储系统及其操作方法
CN109284202A (zh) 控制器及其操作方法
CN107799150A (zh) 3d nand闪存的错误缓解
CN110347330A (zh) 存储器系统及其操作方法
CN110473582A (zh) 存储器系统及其操作方法
CN110321069A (zh) 存储器系统及其操作方法
CN109521947A (zh) 存储器系统以及存储器系统的操作方法
CN110058797A (zh) 存储器系统及其操作方法
CN109933280A (zh) 数据存储装置及其操作方法
CN109032501A (zh) 存储器系统及其操作方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant