CN112988053A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN112988053A CN112988053A CN202010901262.0A CN202010901262A CN112988053A CN 112988053 A CN112988053 A CN 112988053A CN 202010901262 A CN202010901262 A CN 202010901262A CN 112988053 A CN112988053 A CN 112988053A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- memory device
- region
- sub
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 140
- 238000000034 method Methods 0.000 title claims description 19
- 230000015654 memory Effects 0.000 claims abstract description 336
- 238000011084 recovery Methods 0.000 claims abstract description 16
- 238000013500 data storage Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 18
- 239000000872 buffer Substances 0.000 description 27
- 239000010410 layer Substances 0.000 description 13
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 11
- 238000012790 confirmation Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 4
- 230000005684 electric field Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 101100444020 Caenorhabditis elegans dsl-1 gene Proteins 0.000 description 2
- 101100366714 Caenorhabditis elegans ssl-1 gene Proteins 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 101000741396 Chlamydia muridarum (strain MoPn / Nigg) Probable oxidoreductase TC_0900 Proteins 0.000 description 1
- 101000741399 Chlamydia pneumoniae Probable oxidoreductase CPn_0761/CP_1111/CPj0761/CpB0789 Proteins 0.000 description 1
- 101000741400 Chlamydia trachomatis (strain D/UW-3/Cx) Probable oxidoreductase CT_610 Proteins 0.000 description 1
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 101150013423 dsl-1 gene Proteins 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 229920001485 poly(butyl acrylate) polymer Polymers 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Read Only Memory (AREA)
Abstract
本申请公开一种具有改进的数据恢复性能的存储装置,该存储装置包括包含第一存储区域和第二存储区域的存储器装置以及控制该存储器装置的存储器控制器。在第一存储区域中执行写入操作之前,存储器控制器可以基于待在第一存储区域中执行的写入操作的失败概率来备份先前存储在第一存储区域中的数据。如果写入操作失败,则先前存储的数据可以从其备份的位置恢复。
Description
相关申请的交叉引用
本申请要求于2019年12月16日提交至韩国知识产权局的申请号为10-2019-0167784的韩国专利申请的优先权,其全部公开内容通过引用并入本文。
技术领域
本公开涉及一种电子装置,且更特别地,涉及一种存储装置及其操作方法。
背景技术
存储装置是在诸如计算机或智能手机的主机装置的控制下存储数据的装置。存储装置可包括存储数据的存储器装置和控制该存储器装置的存储器控制器。存储器装置可被划分为易失性存储器装置和非易失性存储器装置。
易失性存储器装置是仅在供应电力时存储数据,而在电力供应被切断时丢失所存储的数据的装置。易失性存储器装置包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
非易失性存储器装置是即使断电也不会丢失数据的装置。非易失性存储器装置包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器等。
发明内容
本公开的实施例提供一种具有改进的数据恢复性能的存储装置和操作该存储装置的方法。
根据本公开的实施例的一种存储器控制器可以包括:预数据存储装置,其被配置成临时存储从存储器装置读取的数据;目标数据写入控制器,其被配置成控制存储器装置通过将从主机接收的数据存储在与存储器装置的第一存储区域中包括的第一子区域相对应的目标位置中来执行写入操作;以及预数据管理器,其被配置成在执行写入操作之前将预数据位置中存储的预数据备份到预数据存储装置,预数据位置对应于第一存储区域中包括的第二子区域。
根据本公开的实施例的一种存储装置可以包括:包含第一存储区域和第二存储区域的存储器装置;以及存储器控制器,其被配置成根据待对第一存储区域执行的写入操作的失败概率,控制存储器装置备份存储在第一存储区域中的数据,并执行写入操作。
根据本公开的实施例的一种操作存储装置的方法可以包括:在预数据位置中存储预数据,该预数据位置对应于第一存储区域的第一子区域;确定对目标位置的写入操作的失败概率,该目标位置对应于存储预数据之后的第一存储区域的第二子区域;并且基于失败概率备份存储在预数据位置中的预数据。
根据本技术的存储装置和操作该存储装置的方法提供改进的数据恢复性能。
附图说明
图1示出根据本公开的实施例的存储装置。
图2示出存储器装置。
图3示出图2的存储器单元阵列的实施例。
图4示出根据实施例的图3的存储块BLK1至BLKz之中的存储块BLKa。
图5示出根据另一实施例的图3的存储块BLK1至BLKz之中的存储块BLKb。
图6示出根据另一实施例的图3的存储块BLK1至BLKz之中的存储块BLKc。
图7示出根据实施例的区域。
图8示出根据实施例的存储装置。
图9示出根据实施例的预数据备份组件。
图10示出根据实施例的预数据恢复组件。
图11示出根据实施例的操作存储装置的过程。
图12示出根据实施例的用于备份预数据的过程。
图13示出根据实施例的用于恢复预数据的过程。
图14示出应用根据本公开的实施例的存储装置的存储卡系统。
图15示出应用根据本公开的实施例的存储装置的固态驱动器(SSD)系统。
图16示出应用根据本公开的实施例的存储装置的用户系统。
具体实施方式
本文示出根据本说明书或本申请中公开的概念的实施例的特定结构或功能描述,仅用于描述根据本公开的概念的实施例。根据本公开的概念的实施例可以各种形式执行,并且其描述不限于本说明书或本申请中描述的实施例。
在下文中,将参照附图描述本公开的实施例,以使本领域技术人员能够容易地实施本公开的技术精神。
图1示出根据本公开的实施例的存储装置50。
存储装置50可以包括存储器装置100和控制存储器装置的操作的存储器控制器200。
存储装置50可以是在诸如以下的主机300的控制下存储数据的装置:蜂窝电话、智能手机、MP3播放器、膝上型计算机、台式计算机、游戏机、电视、平板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可以是双倍数据速率同步动态随机存取存储器(DDRSDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,为便于描述,假设存储器装置100是NAND闪速存储器,特别地可以是3D NAND闪速存储器,其中一个物理字线可以驱动多个页面。
存储器装置100可从存储器控制器200接收命令和地址。存储器装置100被配置成访问存储器单元阵列中的由所接收的地址选择的存储器的一部分。访问所选择的部分意味着对所选择的部分执行与所接收的命令相对应的操作。例如,存储器装置100可执行写入操作(编程操作)、读取操作或擦除操作。在编程操作期间,所选择的部分可以是页面,并且存储器装置100可将数据编程到由地址选择的页面。在读取操作期间,所选择的部分可以是页面,并且存储器装置100可从由地址选择的页面读取数据。在擦除操作期间,所选择的部分可以是块,并且存储器装置100可擦除由地址选择的块中存储的数据。
在实施例中,存储器装置100可包括失败预测信息生成器131。
失败预测信息生成器131可从存储器控制器200接收用于确定编程失败概率的失败预测请求,并生成失败预测信息。失败预测信息可以是指示编程失败概率的信息。
具体地,失败预测信息生成器131可基于连接到待被编程的存储区域的位线或字线的电阻分量来生成失败预测信息。失败预测信息生成器131可测量流过连接到存储区域中包括的存储器单元的位线和/或字线的电流,并且基于所测量的电流来确定电阻分量的值。例如,当所测量的电流的值小于参考值时,失败预测信息生成器131可确定电阻分量相对较大,并且向存储器控制器200传输指示编程失败概率相对较高的失败预测信息。当所测量的电流的值等于或大于参考值时,失败预测信息生成器131可确定电阻分量相对较小,并且向存储器控制器200传输指示编程失败概率相对较低的失败预测信息。如本文所使用的,术语“连接到”和“联接到”可互换地使用。术语“连接到”不要求两个元件之间的直接连接,除非语境里要求这种含义。
当字线的电阻分量相对较大时,当诸如编程电压的操作电压被施加到字线时,存储器单元的阈值电压可能异常地增大。当字线的电阻分量相对较大时,存储器单元的阈值电压可能相比字线的电阻分量相对较小时增大更小的量。因此,当字线的电阻分量相对较大时,编程失败的概率可能相对较高。
当位线的电阻分量相对较大时,存储器单元串中的单元的通道在位线预充电时可能异常地预充电。例如,未选择的串中的单元的通道可预充电到编程抑制电压。编程抑制电压可以是电源电压Vcc。当位线的电阻分量相对较大时,未选择的串的通道电势可能过高,因此,未选择的串中的单元的阈值电压可能在不应该改变的情况下被改变。因此,编程失败的概率可能相对较高。
当对存储装置50施加电力时,存储器控制器200可运行固件(FW)。固件FW可包括接收从主机300输入的请求或向主机300输出响应的主机接口层HIL、管理主机300的接口和存储器装置100的接口之间的操作的闪存转换层(FTL)以及向存储器装置100提供命令或从存储器装置100接收响应的闪存接口层(FIL)。
存储器控制器200可从主机300接收数据和逻辑地址(LA),并且可将逻辑地址转换成物理地址(PA),物理地址(PA)指示存储器装置100中包括的待存储数据的存储器单元的地址。LA可以是逻辑块地址(LBA),PA可以是物理块地址(PBA)。
存储器控制器200可根据主机300的请求来控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可向存储器装置100提供编程命令、PBA和数据。在读取操作期间,存储器控制器200可向存储器装置100提供读取命令和PBA。在擦除操作期间,存储器控制器200可向存储器装置100提供擦除命令和PBA。
存储器控制器200可控制存储器装置100与来自主机300的请求无关地自行执行编程操作、读取操作或擦除操作。例如,存储器控制器200可控制存储器装置100执行用于执行诸如损耗均衡、垃圾收集或读取回收的后台操作的编程操作、读取操作或擦除操作。
在实施例中,存储器控制器200可包括目标数据写入控制器210、预数据管理器220和预数据存储装置230。
目标数据写入控制器210可控制存储器装置100在目标位置存储目标数据,在实施例中,目标位置可以是物理地址。当在目标位置的写入操作失败时,目标数据写入控制器210可将目标数据编程在另一位置。
预数据管理器220可控制存储器装置100来管理存储在预数据位置处的预数据(即,先前存储的数据)。预数据管理器220可在目标数据存储在目标位置之前备份存储在预数据位置处的预数据。具体地,预数据管理器220可从存储器装置100中的预数据位置读取预数据,并将预数据临时存储在预数据存储装置230中。当对目标位置的编程操作失败时,预数据管理器220可将备份的预数据编程在另一位置。
预数据存储装置230可在预数据管理器220的控制下临时存储在预数据位置中读取的数据。
预数据可以是在目标数据存储在存储器装置100中之前存储在存储器装置100中的数据。
主机300可使用诸如以下的各种通信方法中的至少一种与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
图2是用于描述存储器装置的示图。
参照图2,存储器装置100可包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL连接到行解码器121。存储块BLK1至BLKz可通过位线BL1至BLn连接到页面缓冲器组123。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元是非易失性存储器单元。根据存储器单元阵列的设计,连接到字线的存储器单元可被称为页面,或者被称为多个页面。因此,一个存储块可包括多个页面。
行线RL可包括至少一个源极选择线(SSL)、多个字线和至少一个漏极选择线(DSL)。
存储器单元阵列110中包括的每个存储器单元可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
外围电路120可被配置成在控制逻辑130的控制下对存储器单元阵列110的选择的区域执行编程操作、读取操作或擦除操作。外围电路120可驱动存储器单元阵列110。例如,外围电路120可在控制逻辑130的控制下向行线RL和位线BL1至BLn施加各种操作电压,或者放电所施加的电压。
外围电路120可以包括行解码器121、电压生成器122、页面缓冲器组123、列解码器124和输入/输出电路125。
行解码器121通过行线RL连接到存储器单元阵列110。行线RL可以包括至少一个源极选择线、多个字线和至少一个漏极选择线。在实施例中,字线可以包括普通字线和虚设字线。在实施例中,行线RL可以进一步包括管道选择线。
行解码器121被配置成响应于控制逻辑130的控制来操作。行解码器121从控制逻辑130接收行地址RADD。
行解码器121被配置成解码行地址RADD。行解码器121根据经解码的地址在存储块BLK1至BLKz之中选择至少一个存储块。此外,行解码器121可以根据经解码的地址,选择所选择的存储块的至少一个字线,以将由电压生成器122生成的电压施加到至少一个字线WL。
例如,在编程操作期间,行解码器121可以将编程电压施加到所选择的字线,并且将电平低于编程电压的编程通过电压施加到未选择的字线。在编程验证期间,行解码器121可以将验证电压施加到所选择的字线,并且将高于验证电压的验证通过电压施加到未选择的字线。在读取操作期间,行解码器121可以将读取电压施加到所选择的字线,并且将高于读取电压的读取通过电压施加到未选择的字线。
在实施例中,以存储块为单位来执行存储器单元阵列110的擦除操作。在擦除操作期间,行解码器121可以根据经解码的地址选择一个存储块。在擦除操作期间,行解码器121可以将接地电压施加到与所选择的存储块连接的字线。
电压生成器122响应于控制逻辑130的控制来操作。电压生成器122被配置成使用供应给存储器装置的外部电源电压来生成多个电压。具体地,电压生成器122可以响应于操作信号OPSIG而生成在编程操作、读取操作和擦除操作中使用的各种操作电压Vop。例如,电压生成器122可以响应于控制逻辑130的控制而生成编程电压、验证电压、通过电压、读取电压、擦除电压等。
在实施例中,电压生成器122可以通过调节外部电源电压来生成内部电源电压。由电压生成器122生成的内部电源电压用作存储器单元阵列110的操作电压。
在实施例中,电压生成器122可以使用外部电源电压或内部电源电压生成多个电压。
例如,电压生成器122可以包括接收内部电源电压的多个泵浦(pumping)电容器,并且响应于控制逻辑130的控制来选择性地激活多个泵浦电容器以生成多个电压。
所生成的多个电压可以通过行解码器121供应给存储器单元阵列110。
缓冲器组123包括第一至第n页面缓冲器PB1至PBn。第一至第n页面缓冲器PB1至PBn通过第一至第n位线BL1至BLn分别连接到存储器单元阵列110。第一至第n页面缓冲器PB1至PBn在控制逻辑130的控制下操作。具体地,第一至第n页面缓冲器PB1至PBn可响应于页面缓冲器控制信号PBSIGNALS操作。例如,第一至第n页面缓冲器PB1至PBn可以临时存储通过第一至第n位线BL1至BLn接收的数据,或者可以感测在读取操作或编程验证期间由在位线BL1至BLn中流动的电流产生的电压。
具体地,在编程操作期间,当编程脉冲被施加到所选择的字线时,第一至第n页面缓冲器PB1至PBn可通过第一至第n位线BL1至BLn将通过数据输入/输出电路125接收的数据DATA传送到所选择的存储器单元。所选择的页面的存储器单元根据所传送的数据DATA进行编程。连接到施加了编程允许电压(例如,接地电压)的位线的存储器单元的阈值电压可能增加。与施加编程抑制电压(例如,电源电压)的位线连接的存储器单元的阈值电压可能被维持。在编程验证期间,第一至第n页面缓冲器PB1至PBn通过第一至第n位线BL1至BLn从所选择的存储器单元读取页面数据。
在读取操作期间,第一至第n页面缓冲器PB1至PBn通过第一至第n位线BL1至BLn从所选择的页面的存储器单元读取数据DATA,并在列解码器124的控制下将读取的数据DATA输出到数据输入/输出电路125。
在擦除操作期间,第一至第n页面缓冲器PB1至PBn可以浮置(float)第一至第n位线BL1至BLn。
列解码器124可以响应于列地址CADD在输入/输出电路125和页面缓冲器组123之间传送数据。例如,列解码器124可以通过数据线DL与第一至第n页面缓冲器PB1至PBn交换数据,或者可以通过列线CL与输入/输出电路125交换数据。
输入/输出电路125可以向控制逻辑130提供从参照图1描述的存储器控制器200接收的命令CMD和地址ADDR,或者可以与列解码器124交换数据DATA。
感测电路126可以在读取操作或编程验证期间,响应于允许位信号VRYBIT而生成参考电流,并且可以将从页面缓冲器组123接收的感测电压VPB与由参考电流生成的参考电压进行比较,以输出通过信号PASS或失败信号FAIL。
控制逻辑130可以响应于命令CMD和地址ADDR,输出操作信号OPSIG、行地址RADD、页面缓冲器控制信号PBSIGNALS和允许位信号VRYBIT以控制外围电路120。此外,控制逻辑130可以响应于通过信号PASS或失败信号FAIL来确定编程验证是已通过还是已失败。
在实施例中,控制逻辑130可包括失败预测信息生成器131。
失败预测信息生成器131可响应于从图1的预数据管理器220接收的失败预测请求而生成失败预测信息。失败预测信息可以是指示编程操作的失败概率的信息。失败预测请求可被包括在状态读取命令或读取命令中。
失败预测信息生成器131可从控制逻辑130中包括的状态寄存器(未示出)向存储器控制器200提供失败预测信息。可选地,失败预测信息生成器131可将临时存储在页面缓冲器组123中的失败预测信息提供给存储器控制器200。
可基于当通过电压被施加到所有字线时通过位线感测到的数据来生成失败预测信息。通过大于参考电流的电流流过的位线感测的数据可不同于通过等于或小于参考电流的电流流过的位线感测的数据。因此,可通过通过连接到目标位置的位线感测到的数据来确定目标位置的失败概率。
失败预测信息生成器131可基于从位线感测到的数据来生成失败预测信息,并将失败预测信息提供给存储器控制器200。可基于流过位线的电流来生成失败预测信息,但是本公开的实施例不限于此。例如,失败预测信息生成器131可基于流过字线的电流和参考电流之间的比较结果来生成失败预测信息。
图3是示出图2的存储器单元阵列的实施例的示图。
参照图3,存储器单元阵列110包括多个存储块BLK1至BLKz。每个存储块具有三维结构。每个存储块包括堆叠在衬底上的多个存储器单元。多个存储器单元沿+X方向、+Y方向和+Z方向排列。参照图4至图6更详细地描述根据实施例的每个存储块的结构。
图4是示出根据实施例的图3的存储块BLK1至BLKz之中的任意一个存储块BLKa的电路图。
存储块BLKa包括多个单元串CS11至CS1m和CS21至CS2m。多个单元串CS11至CS1m和CS21至CS2m中的每一个可形成为“U”形。在存储块BLKa中,沿行方向(即+X方向)排列m个单元串,沿列方向(即+Y方向)排列两个单元串。然而,这是为便于描述,并且可理解的是,可沿列方向排列三个或更多个单元串。
多个单元串CS11至CS1m和CS21至CS2m中的每一个包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT和至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可具有类似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可包括沟道层、隧穿绝缘膜、电荷存储膜和阻塞绝缘膜。在实施例中,可在每个单元串中设置用于提供沟道层的支柱。在实施例中,可在每个单元串中设置用于提供沟道层、隧穿绝缘膜、电荷存储膜和阻塞绝缘膜中的至少一个的支柱。选择晶体管SST和DST以及管道晶体管PT的每一个可以包括隧穿层和电荷存储膜,但实施例不限于此。
每个单元串的源极选择晶体管SST连接在公共源极线CSL和存储器单元MC1至MCp之间。
在实施例中,排列在同一行中的单元串的源极选择晶体管连接到沿行方向延伸的源极选择线,排列在不同行中的单元串的源极选择晶体管连接到不同的源极选择线。在图4中,第一行的单元串CS11至CS1m的源极选择晶体管连接到第一源极选择线SSL1。第二行的单元串CS21至CS2m的源极选择晶体管连接到第二源极选择线SSL2。
在另一实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可共同连接到一个源极选择线。
每个单元串的第一至第n存储器单元MC1至MCn连接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一至第n存储器单元MC1至MCn可被划分为第一至第p存储器单元MC1至MCp和第(p+1)至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp沿与+Z方向相反的方向顺序排列,并且在源极选择晶体管SST和管道晶体管PT之间串联连接。第(p+1)至第n存储器单元MCp+1至MCn在+Z方向上顺序排列,并在管道晶体管PT和漏极选择晶体管DST之间串联连接。第一至第p存储器单元MC1至MCp和第(p+1)至第n存储器单元MCp+1至MCn通过管道晶体管PT彼此连接。每个单元串的第一至第n存储器单元MC1至MCn的栅极分别连接到第一至第n字线WL1至WLn。
每个单元串的管道晶体管PT的栅极连接到管道选择线PL。
每个单元串的漏极选择晶体管DST连接在相应的位线和存储器单元MCp+1至MCn之间。沿行方向排列的单元串连接到沿行方向延伸的漏极选择线。第一行的单元串CS11至CS1m的漏极选择晶体管连接到第一漏极选择线DSL1。第二行的单元串CS21至CS2m的漏极选择晶体管连接到第二漏极选择线DSL2。
沿列方向排列的单元串连接到沿列方向延伸的位线。在图4中,第一列的单元串CS11和CS21连接到第一位线BL1。第m列的单元串CS1m和CS2m连接到第m位线BLm。
在沿行方向排列的单元串中,连接到同一字线的存储器单元配置一个页面。例如,第一行的单元串CS11至CS1m之中连接到第一字线WL1的存储器单元配置一个页面,第二行的单元串CS21至CS2m之中连接到第一字线WL1的存储器单元配置另一页面。即,多个页面可连接到一个字线。
可通过选择漏极选择线DSL1和DSL2中的任意一个来选择沿一个行方向排列的单元串。控制逻辑130可通过控制外围电路将选择电压施加到漏极选择线来选择漏极选择线中的一个。即,可将选择电压施加到所选择的漏极选择线,并可将非选择电压施加到未选择的漏极选择线。可通过选择字线WL1至WLn中的任意一个来选择所选择的单元串的一个页面。即,当选择漏极选择线中的任意一个时,可选择连接到一个字线的多个页面之中的任意一个页面。
连接到每个页面的字线部分可以是逻辑字线。例如,与第一行的单元串CS11至CS1m中包括的第n存储器单元MCn的栅极连接的字线可以是第一逻辑字线。例如,与第二行的单元串CS21至CS2m中包括的第一存储器单元MC1的栅极连接的字线可以是第二逻辑字线。
逻辑字线可连接到物理字线。例如,第n字线WLn可以是连接到第一逻辑字线和第二逻辑字线的公共字线。
为便于描述,可通过向漏极选择线施加选择电压来选择多个页面中的任意一个,可通过向源极选择线施加选择电压来选择多个页面中的任意一个。
在另一实施例中,可设置偶数位线和奇数位线,而不是第一至第m位线BL1至BLm。此外,沿行方向排列的单元串CS11至CS1m或CS21至CS2m之中的偶数编号的单元串可分别连接到偶数位线,沿行方向排列的单元串CS11至CS1m或CS21至CS2m之中的奇数编号的单元串可分别连接到奇数位线。
控制逻辑130可对连接到一个字线的多个页面顺序地执行编程操作。例如,诸如通过首先对由连接到第一字线WL1的单元串CS11至CS1m中的单元形成的页面进行编程,然后对由连接到第一字线WL1的单元串CS21至CS2m中的单元形成的页面进行编程,控制逻辑130可对连接到第一字线WL1的两个页面顺序地执行编程操作。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可被用作虚设存储器单元。例如,在实施例中,设置至少一个虚设存储器单元以减小源极选择晶体管SST和存储器单元MC1至MCp之间的电场。在另一实施例中,设置至少一个虚设存储器单元以减小漏极选择晶体管DST和存储器单元MCp+1至MCn之间的电场。当设置更多的虚设存储器单元时,对存储块BLKa的操作的可靠性提高,然而,能够存储给定数据量的存储块BLKa的大小增加。当设置较少的虚设存储器单元时,能够存储给定数据量的存储块BLKa的大小可能减小,然而,对存储块BLKa的操作的可靠性可能降低。
为了有效地控制至少一个虚设存储器单元,每个虚设存储器单元可具有所需的阈值电压。在对存储块BLKa的擦除操作之前或之后,可对全部或部分虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,可通过控制向连接到各个虚设存储器单元的虚设字线施加的电压,将虚设存储器单元配置为所需的阈值电压。
图5是示出图3的存储块BLK1至BLKz之中的任意一个存储块BLKb的另一实施例的电路图。
存储块BLKb包括多个单元串CS11’至CS1m’和CS21’至CS2m’。多个单元串CS11’至CS1m’和CS21’至CS2m’中的每一个沿+Z方向延伸。多个单元串CS11’至CS1m’和CS21’至CS2m’中的每一个包括存储块BLKb下的衬底(未示出)上堆叠的至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST。
每个单元串的源极选择晶体管SST连接在公共源极线CSL和存储器单元MC1至MCn之间。排列在同一行中的单元串的源极选择晶体管连接到同一源极选择线。排列在第一行中的单元串CS11’至CS1m’的源极选择晶体管连接到第一源极选择线SSL1。排列在第二行中的单元串CS21’至CS2m’的源极选择晶体管连接到第二源极选择线SSL2。在另一实施例中,单元串CS11’至CS1m’和CS21’至CS2m’的源极选择晶体管可共同连接到一个源极选择线。
每个单元串的第一至第n存储器单元MC1至MCn在源极选择晶体管SST和漏极选择晶体管DST之间串联连接。第一至第n存储器单元MC1至MCn的栅极分别连接到第一至第n字线WL1至WLn。
每个单元串的漏极选择晶体管DST连接在相应的位线和存储器单元MC1至MCn之间。沿行方向排列的单元串的漏极选择晶体管DST连接到沿行方向延伸的漏极选择线。第一行的单元串CS11’至CS1m’的漏极选择晶体管连接到第一漏极选择线DSL1。第二行的单元串CS21’至CS2m’的漏极选择晶体管连接到第二漏极选择线DSL2。
因此,图5的存储块BLKb具有与图4的存储块BLKa相似的等效电路,除了在每个单元串中不存在管道晶体管PT。
因此,存储块BLKb中包括的存储器单元可被配置为连接到一个字线的多个页面。
连接到每个页面的字线部分可以是逻辑字线。例如,与第一行的单元串CS11’至CS1m’中包括的第n存储器单元MCn的栅极连接的字线可以是第一逻辑字线,与第二行的单元串CS21’至CS2m’中包括的第一存储器单元MC1的栅极连接的字线可以是第二逻辑字线。
逻辑字线可连接到物理字线。例如,第n字线WLn可以是连接到第一逻辑字线和第二逻辑字线的物理字线。
可对连接到一个物理字线的多个页面顺序地执行编程操作。例如,可对连接到第一字线WL1的两个页面顺序地执行编程操作,类似于参照图4的如上描述。
在另一实施例中,可设置偶数位线和奇数位线,而不是第一至第m位线BL1至BLm。此外,沿行方向排列的单元串CS11’至CS1m’或CS21’至CS2m’之中的偶数编号的单元串可分别连接到偶数位线,沿行方向排列的单元串CS11’至CS1m’或CS21’至CS2m’之中的奇数编号的单元串可分别连接到奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可被用作虚设存储器单元。例如,设置至少一个虚设存储器单元以减小源极选择晶体管SST和存储器单元MC1至MCn之间的电场。在另一实施例中,设置至少一个虚设存储器单元以减小漏极选择晶体管DST和存储器单元MC1至MCn之间的电场。当设置更多的虚设存储器单元时,对存储块BLKb的操作的可靠性提高,然而,能够存储给定数据量的存储块BLKb的大小增加。当设置较少的虚设存储器单元时,能够存储给定数据量的存储块BLKb的大小可能减小,然而,对存储块BLKb的操作的可靠性可能降低。
为了有效地控制至少一个虚设存储器单元,每个虚设存储器单元可具有所需的阈值电压。在对存储块BLKb的擦除操作之前或之后,可对全部或部分虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,可通过控制向连接到各个虚设存储器单元的虚设字线施加的电压,将虚设存储器单元配置为所需的阈值电压。
图6是示出图3的存储块BLK1至BLKz之中的任意一个存储块BLKc的另一实施例的电路图。
参照图6,存储块BLKc可连接到多个物理字线。一个物理字线可共同连接到四个逻辑字线。例如,第一物理字线PWL1可共同连接到逻辑字线P1_LWL1、P1_LWL2、P1_LWL3和P1_LWL4。第二物理字线PWL2可共同连接到逻辑字线P2_LWL1、P2_LWL2、P2_LWL3和P2_LWL4。第三物理字线PWL3可共同连接到逻辑字线P3_LWL1、P3_LWL2、P3_LWL3和P3_LWL4。第四物理字线PWL4可共同连接到逻辑字线P4_LWL1、P4_LWL2、P4_LWL3和P4_LWL4。连接到任意一个逻辑字线的存储器单元可配置一个页面。例如,连接到逻辑字线P1_LWL1的存储器单元可配置一个页面。
第一列的单元串CS11、CS21、CS31和CS41可共同连接到同一位线(未示出)。第二列的单元串CS12、CS22、CS32和CS42可共同连接到与单元串CS11至CS41连接的位线不同的同一位线(未示出)。
在图6中,作为示例描述了将四个串连接到同一位线的结构。然而,这是为便于描述,共同连接到该位线的串的数量可小于或大于4。具体地,连接到一个物理字线的逻辑字线的数量可根据共同连接到一个位线的串的数量来确定。例如,当五个串共同连接到一个位线时,一个物理字线可共同连接到五个逻辑字线。在这种情况下,一个物理字线可连接到五个页面。可根据串选择信号(例如,施加到图4或图5的漏极选择线或源极选择线的信号)来确定五个页面之中的经编程的页面和未经编程的页面。
可通过一个逻辑字线选择一个页面。第一至第四页面可分别通过逻辑字线P1_LWL1至P1_LWL4选择。第五至第八页面可分别通过逻辑字线P2_LWL1至P2_LWL4选择。第九至第十二页面可分别通过逻辑字线P3_LWL1至P3_LWL4选择。第十三至第十六页面可分别通过逻辑字线P4_LWL1至P4_LWL4选择。
存储块BLKc中包括的多个页面可按预定顺序进行编程。可对连接到一个物理字线的多个页面顺序地编程。例如,可对连接到第一物理字线PWL1的第一页面至第四页面顺序地编程。可根据串选择信号(例如,施加到图4或图5的漏极选择线或源极选择线的信号)来确定四个页面之中的经编程的页面。
存储器单元可能会受到对邻近的存储器单元执行的操作的干扰。例如,当存储器单元的连接到相同物理字线的邻近存储器单元被编程时,该存储器单元的阈值电压可能受到干扰,即异常地改变。在诸如图4至图6所示的3D存储器单元阵列中,连接到相同物理字线的邻近存储器单元可连接到不同的逻辑字线,即,可在不同的页面中。因此,在3D存储器单元阵列中,对第一页面中的第一存储器单元的操作可干扰第二页面中的第二存储器单元。因为连接到相同物理字线的存储器单元位于相同高度,所以存储器单元的宽度可能相似。即,连接到该物理字线的存储器单元可具有类似的单元特性。因此,当一个页面中包括的存储器单元的阈值电压分布改变时,特别是当如在编程操作失败时可能发生的那样异常地改变时,连接到相同物理字线的其他页面中包括的存储器单元的阈值电压分布也可能异常改变。即,当对一个页面的编程操作失败时,连接到相同物理字线的其他页面中被编程的正常数据也可能被异常地改变。
图7是用于描述区ZONE的示图。
区ZONE可包括多个存储区域。例如,该区可包括第一存储区域REGION 1和第二存储区域REGION 2。每个存储区域可包括多个子区域。例如,第一存储区域REGION 1可包括第一子区域sub1_REGION_1至第四子区域sub1_REGION_4。第二存储区域REGION 2可包括第一子区域sub2_REGION_1至第四子区域sub2_REGION_4。每个子区域可包括至少一个存储器单元。区域中的子区域可包括物理上彼此靠近、处于相同高度、共享物理字线的存储器单元或其组合。因此,区域可由(与该区域之外的子区域相比)当在其中执行诸如编程操作之类的操作时干扰彼此中的单元的概率较高的子区域组成。
每个子区域可以是编程操作的单位。例如,每个子区域可以是页面。目标位置可以是在当前编程操作中被编程的子区域。存储在目标位置中的数据可以是目标数据。预数据位置可以是在先前的编程操作中被编程的子区域。存储在预数据位置中的数据可以是预数据。预数据位置和目标位置可位于相同区中。预数据位置和目标位置可以是连续的子区域。例如,预数据位置可以是第一子区域sub1_REGION_1,而目标位置可以是第二子区域sub1_REGION_2。
存储器单元阵列110可被划分为多个区。可通过主机300的请求来预设待存储在每个区中的数据的逻辑地址范围。存储器控制器200可根据主机300的请求生成区,并且可预设待存储在该区中的数据的逻辑地址范围。
所生成的多个区可由区标识符指定。具体地,当主机300向存储器控制器200提供区标识符时,存储器控制器200可控制存储器装置100将数据顺序地存储在由区标识符指定的区中。存储器控制器200可在分配给区的逻辑地址范围内将逻辑地址顺序地对应于从主机300接收的数据。
对应于预数据位置的逻辑地址和对应于目标位置的逻辑地址可以是连续的。例如,与对应于预数据位置的逻辑地址相邻的逻辑地址可以是对应于目标位置的逻辑地址。因此,存储在预数据位置中的预数据和存储在目标位置中的目标数据可以是顺序的数据。
为便于描述,可将一个存储器单元阵列划分为多个区,但实施例不限于此。例如,区可包括跨越多个存储器单元阵列的存储区域。
如参照图7所描述的,当一个子区域中包括的存储器单元的阈值电压分布异常地改变时,相同存储区域中包括的其他子区域中包括的存储器单元的阈值电压分布也可能异常地改变。即,当对一个子区域的编程操作失败时,在相同存储区域中包括的其他子区域中先前编程的正常数据可能会异常地改变(即,被损坏)。在实施例中,当对目标位置的编程操作失败时,存储在预数据位置中的预数据可能被损坏。
可将待存储在目标位置的目标数据临时存储在存储器控制器200中包括的缓冲存储器(未示出)中。缓冲存储器(未示出)可以是易失性存储器或非易失性存储器。因此,即使对目标位置的编程操作失败,目标数据也可能不会丢失。然而,因为在先前的编程操作期间在预数据位置中编程了预数据,所以在当前的编程操作期间预数据可能不会被存储在缓冲存储器(未示出)中。因此,在相关技术的存储器中,当对目标位置的编程操作失败时,预数据可能被损坏或丢失。
通过在对目标位置执行编程操作之前备份预数据,即使预数据位置中存储的预数据被异常地改变,根据实施例的存储装置50也可以恢复预数据。
图8是用于描述根据实施例的存储装置的框图。
参照图8,根据实施例的存储器控制器200可包括目标数据写入控制器210、预数据管理器220和预数据存储装置230。预数据管理器220可包括预数据备份组件221和预数据恢复组件222。存储器装置100可包括参照图7描述的多个区。
存储器控制器200可从主机300接收区标识符,并控制存储器装置100在由区标识符指定的区中顺序地编程数据。
在下文中,假设存储器控制器200控制存储器装置100在特定区中编程数据。
目标数据写入控制器210可从主机300接收目标数据,并控制存储器装置100将目标数据编程在目标位置中。
在对目标数据进行编程之前,目标数据写入控制器210可向预数据管理器220传输关于是否对目标数据执行编程操作的确认请求。目标数据写入控制器210可响应于从预数据管理器220接收的确认信息,控制存储器装置100将目标数据编程在目标位置中。
目标位置可以是第一存储区域中包括的任意一个子区域。
预数据备份组件221可接收来自目标数据写入控制器210的确认请求,并将在目标数据之前存储的预数据备份到预数据存储装置230。预数据可以是已经存储在预数据位置中的数据。预数据位置和目标位置可被包括在相同区中。预数据位置和目标位置可被包括在相同存储区域中。即,预数据位置可以是包括目标位置的第一存储区域中包括的子区域中的任意一个或多个。预数据位置和目标位置可以是不同的子区域。预数据位置和目标位置可以是连续的子区域。预数据备份组件221可在备份预数据之后将确认信息传输到目标数据写入控制器210。确认信息可以是允许对目标数据的编程操作的信息。
在实施例中,在备份预数据之前,预数据备份组件221可检查对目标位置的编程操作是否可能失败。具体地,预数据备份组件221可向存储器装置100传输失败检查命令。失败检查命令可以是状态读取命令或读取命令。
存储器装置100可包括失败预测信息生成器131。失败预测信息生成器131可响应于从预数据备份组件221接收的失败检查命令而生成失败预测信息。失败预测信息生成器131可将所生成的失败预测信息传输到预数据备份组件221。
失败预测信息可以是指示编程失败概率的信息。
失败预测信息生成器131可基于连接到待被编程的存储区域的位线的电阻分量或字线的电阻分量来生成失败预测信息。失败预测信息生成器131可测量流过与该存储区域中包括的存储器单元连接的位线和/或字线的电流,并且基于所测量的电流来确定电阻分量的值。例如,当所测量的电流的值小于参考值时,失败预测信息生成器131可确定电阻分量相对较大,并且向存储器控制器200传输指示编程失败概率相对较高的信息。当所测量的电流的值等于或大于参考值时,失败预测信息生成器131可确定电阻分量相对较小,并且向存储器控制器200传输指示编程失败概率相对较低的信息。
当字线的电阻分量相对较大时,当对字线施加操作电压时,存储器单元的阈值电压可能异常地增大。当字线的电阻分量相对较大时,存储器单元的阈值电压可能以相比字线的电阻分量相对较小时更低的速率增加。因此,编程失败的概率可能相对较高。
当位线的电阻分量相对较大时,当位线被预充电时,存储器单元串的通道可能被异常地预充电。例如,未选择的串的通道可被预充电到编程抑制电压。编程抑制电压可以是电源电压Vcc。当位线的电阻分量相对较大时,未选择的串的通道电势可能以相比位线的电阻分量相对较小时更低的速率增加。因此,编程失败的概率可能相对较高。
预数据备份组件221可接收失败预测信息并相应地备份预数据。具体地,当预数据备份组件221接收到指示对目标位置的编程操作可能失败的信息时,预数据备份组件221可备份预数据,然后将确认信息传输到目标数据写入控制器210。当预数据备份组件221接收到指示对目标位置的编程操作可能成功的信息时,预数据备份组件221可在不备份预数据的情况下将确认信息传输到目标数据写入控制器210。
目标数据写入控制器210可从预数据备份组件221接收确认信息,并控制存储器装置100将目标数据编程在目标位置中。
预数据恢复组件222可基于对目标位置的编程操作是否失败来恢复预数据。具体地,预数据恢复组件222可向存储器装置100传输状态读取命令,以检查针对目标位置的编程操作是否失败。存储器装置100可将关于编程操作是否已失败的信息(该信息可存储在状态寄存器中)传输到预数据恢复组件222。
当对目标位置的编程操作已失败时,预数据恢复组件222可控制存储器装置100将存储在预数据存储装置230中的预数据存储在存储器装置100的第二存储区域中。第二存储区域可被包括在与第一存储区域相同的区中。当对目标位置的编程操作已失败时,目标数据写入控制器210可控制存储器装置将目标数据存储在第二存储区域中。预数据恢复组件222和目标数据写入控制器210可控制存储器装置100将预数据和目标数据顺序地存储在第二存储区域中。例如,预数据可存储在第二存储区域的第一子区域sub2_REGION_1中,而目标数据可存储在第二存储区域的第二子区域sub2_REGION_2中。
通过在对目标位置执行编程操作之前备份预数据,即使预数据位置中存储的预数据被异常地改变,根据实施例的存储装置50也可以恢复预数据。
当对目标位置的编程操作已成功完成时,预数据恢复组件222可初始化预数据存储装置230。即,当目标数据被正常地编程在目标位置中时,预数据恢复组件222可删除备份预数据,以确保在下一个编程操作期间可备份预数据的空间。
图9是用于描述根据实施例的预数据备份组件的框图。
参照图9,预数据备份组件221可包括失败预测组件223和预数据读取控制器224。
失败预测组件223可接收来自目标数据写入控制器210的确认请求,并且检查对目标位置的编程操作是否可能失败。具体地,失败预测组件223可向存储器装置100传输失败检查命令。失败检查命令可以是状态读取命令或读取命令。失败预测组件223可从包括在存储器装置100中的失败预测信息生成器131接收失败预测信息,并且可向预数据读取控制器224传输用于备份预数据的备份开始信号。具体地,当失败预测信息包括指示对目标位置的编程操作可能失败的信息时,失败预测组件223可向预数据读取控制器224传输备份开始信号。因为已经参照图7描述了失败预测信息生成器131,所以将省略对其的描述。
预数据读取控制器224可接收备份开始信号,并在目标数据之前将存储的预数据备份到预数据存储装置230。具体地,预数据读取控制器224可将读取命令和与预数据位置相对应的物理地址传输到存储器装置100,并接收预数据作为响应。预数据读取控制器224可将读取的预数据备份到预数据存储装置230。
预数据可以是被编程在预数据位置中的数据。预数据位置和目标位置可被包括在相同区中。预数据位置和目标位置可被包括在相同存储区域中。在实施例中,预数据位置可以是包括在第一存储区域中的子区域。预数据位置和目标位置可以是不同的子区域。预数据读取控制器224可在备份预数据之后将确认信息传输到目标数据写入控制器210。确认信息可以是允许对目标数据的编程操作的信息。
根据实施例的预数据备份组件221可通过在对目标位置的编程操作的失败概率较高时备份预数据来有效地管理备份预数据所需的时间。
图10是用于描述预数据恢复组件的框图。
参照图10,预数据恢复组件222可包括失败信息请求器225和预数据写入控制器226。
失败信息请求器225可检查对目标位置的编程操作是否已失败。具体地,失败信息请求器225可向存储器装置100提供用于请求关于对目标位置的写入操作是否已失败的失败信息的命令,并从存储器装置100获得失败信息。例如,失败信息请求器225可向存储器装置100传输状态读取命令,以检查对目标位置的编程操作是否已失败。存储器装置100可将关于写入操作是否已失败的失败信息(该信息可存储在状态寄存器中)传输到预数据恢复组件222。
当对目标位置的编程操作已失败时,预数据写入控制器226可控制存储器装置100将存储在预数据存储装置230中的预数据存储在存储器装置100的第二存储区域中。第二存储区域可被包括在与第一存储区域相同的区中。当对目标位置的编程操作已失败时,目标数据写入控制器210可控制存储器装置将目标数据存储在第二存储区域中。预数据写入控制器226和目标数据写入控制器210可控制存储器装置100将预数据和目标数据顺序地存储在第二存储区域中。例如,预数据可存储在第二存储区域的第一子区域sub2_REGION_1中,而目标数据可存储在第二存储区域的第二子区域sub2_REGION_2中。
当对目标位置的编程操作已成功时,预数据写入控制器226可初始化预数据存储装置230。即,当目标数据被正常地编程在目标位置中时,预数据写入控制器226可删除备份的预数据。可通过初始化预数据存储装置230来确保在下一编程操作中可备份预数据的空间。
即使在对目标区域的编程操作失败并且导致存储在预数据位置中的预数据异常地改变(即,变得受损)时,通过在尝试编程操作之前备份预数据,然后在编程操作已失败之后再次将备份的预数据编程到存储器装置100,即使存储装置50没有从主机300接收预数据,根据实施例的存储装置50也可执行预数据的恢复。
图11是操作存储装置的过程1100的流程图。过程1100可由存储装置50执行。
参照图11,在步骤S1101中,存储装置50可将预数据编程到第一存储区域中包括的预数据位置(图11中的“预位置”)中。预数据位置可以是第一存储区域中包括的多个子区域中的任意一个。预数据位置可在由从主机300接收的区标识符指定的区中包括的区域中。
在步骤S1103中,存储装置50可将编程到预数据位置的预数据备份到预数据备份组件221。具体地,存储器控制器200可将读取命令和对应于预数据位置的地址传输到存储器装置100,并将从预数据位置读取的数据存储在预数据备份组件221中。
在步骤S1105中,存储装置50可将目标数据编程到第一存储区域中包括的目标位置中。对应于目标数据的逻辑地址可与对应于预数据的逻辑地址连续。目标位置可被包括在与预数据位置相同区中。目标位置可被包括在与预数据位置相同的存储区域中。目标位置可以是不同于预数据位置的子区域。待存储在目标位置和预数据位置中的数据的逻辑地址范围可由主机300的请求来预设。
在实施例中,第一存储区域可包括连接到第一物理字线的存储器单元。第一物理字线可共同连接到多个逻辑字线。预数据位置和目标位置可包括连接到与第一物理字线连接的多个逻辑字线中的任意一个的各自的多个存储器单元。
在另一实施例中,第一存储区域可以是存储块。预数据位置和目标位置可以是包括在存储块中的各个页面。
在步骤S1107中,存储装置50可将备份在预数据存储装置中的预数据编程到第二存储区域中。在实施例中,第二存储区域可包括连接到第二物理字线的存储器单元。在另一实施例中,第二存储区域可以是与第一存储区域的存储块不同的存储块。
图12是用于备份预数据的备份过程1200的流程图。备份过程1200可由存储装置50执行。
参照图12,在步骤S1201中,存储装置50可确定对目标位置的编程操作的失败概率。具体地,存储装置50可感测流经与目标位置中包括的存储器单元连接的位线或字线的电流,并将所感测的电流与参考电流进行比较。存储装置50可基于比较结果来确定对目标位置的编程操作的失败概率。例如,当所感测的电流的值小于参考值时,存储装置50可确定编程操作的失败概率相对较高。当所感测的电流的值等于或大于参考值时,存储装置50可确定编程操作的失败概率相对较低。
当字线的电阻分量相对较大时,当在字线上施加操作电压时,存储器单元的阈值电压可能异常地增大。当字线的电阻分量相对较大时,存储器单元的阈值电压可能以相比字线的电阻分量相对较小时更低的速率增加。因此,编程失败的概率可能相对较高。
当位线的电阻分量相对较大时,当位线被预充电时,存储器单元串的通道可能被异常地预充电。例如,未选择的串的通道可被预充电到编程抑制电压。编程抑制电压可以是电源电压Vcc。当位线的电阻分量相对较大时,未选择的串的通道电势可能以相比位线的电阻分量相对较小时更低的速率增加。因此,编程失败的概率可能相对较高。
在步骤S1203中,当对目标位置的编程操作的失败概率相对较高时,存储装置50可继续进行步骤S1205,当对目标位置的编程操作的失败概率相对较低时,存储装置50可继续进行步骤S1207。
在步骤S1205中,存储装置50可将被编程在预数据位置的预数据备份到预数据存储装置中。即,当对目标位置的编程操作具有高失败概率时,存储在预数据位置中的预数据通过目标位置的编程操作改变为异常数据的风险较高。因此,存储装置50可在执行对目标位置的编程操作之前备份预数据。
在步骤S1207中,存储装置50可将目标数据编程到第一存储区域中包括的目标位置中。
图13是用于恢复预数据的恢复过程1300的流程图。恢复过程1300可由存储装置50执行。
参照图13,在步骤S1301中,存储装置50可检查对目标位置的编程操作是否已失败。例如,存储装置50可检查在最后一个程序循环中编程验证是否已失败。编程操作是否已失败可通过由感测电路126输出的通过或失败信号来确定。
在步骤S1303中,当编程操作已失败时,存储装置50可继续进行步骤S1305,当编程操作已通过时,存储装置50可继续进行步骤S1311。
在步骤S1305中,当预数据备份在预数据存储装置230中时,存储装置50可继续进行步骤S1309,当预数据未备份在预数据存储装置230中时,存储装置50可继续进行步骤S1307。
在步骤S1309中,存储装置50可将备份在预数据存储装置230中的预数据编程到第二存储区域中。在实施例中,第二存储区域可包括连接到第二物理字线的存储器单元。在另一实施例中,第二存储区域可以是与第一存储区域的存储块不同的存储块。
在步骤S1307中,存储装置50可检查存储在预数据位置中的预数据是否被改变。具体地,存储装置50可检查从预数据位置读取的预数据中包括的0的数量或1的数量是否与预设的数量不同。
当存储在预数据位置中的预数据被改变时,存储装置50可向主机300发送对预数据的请求。具体地,因为预数据没有在存储装置50中备份,所以存储装置50可从主机300请求预数据以便恢复预数据。
在步骤S1311中,存储装置50可初始化预数据存储装置230。具体地,存储装置50可删除在预数据存储装置230中备份的预数据。存储装置50通过初始化预数据存储装置230来确保在下一编程操作期间可备份另一预数据的空间。
图14示出应用根据本公开的实施例的存储装置的存储卡系统2000。
存储卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100连接到存储器装置2200。存储器控制器2100被配置成访问存储器装置2200。例如,存储器控制器2100被配置成控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置成在存储器装置2200和主机之间提供接口。存储器控制器2100被配置成驱动用于控制存储器装置2200的固件。
例如,存储器控制器2100可包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正器的组件。
存储器控制器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)。
图15示出应用根据本公开的实施例的存储装置的固态驱动器(SSD)系统3000。
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的非易失性存储器。
图16示出应用根据本公开的实施例的存储装置的用户系统4000。
用户系统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 SDARM、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(RRAM)、NAND闪存、NOR闪存和三维NAND闪存。例如,存储模块4400可以被设置为诸如用户系统4000的存储卡和外部驱动器的可移动存储装置(可移动驱动器)。
例如,存储模块4400可以与参照图1描述的存储装置50相同地进行操作。
用户接口4500可以包括用于向应用处理器4100输入数据或指令或用于将数据输出到外部装置的接口。例如,用户接口4500可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口。用户接口4500可以包括诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和马达的用户输出接口。
实施例通过提供保护以防止存储在第一存储器单元中的值的意外改变来提高存储装置的可靠性,该改变可能由相同区域中的第二存储器单元的编程操作引起。当接收到编程第二存储器单元的命令时,实施例可在编程第二存储器单元之前备份存储在第一存储器单元中的值。当对第二存储器单元的编程操作失败时,备份的值可随后用于将第一存储器单元的值编程到另一存储器单元中,从而恢复第一存储器单元的值。
当第二存储器单元的编程操作是否将失败的预测指示编程操作将失败的概率高时,实施例可备份存储在第一存储器单元中的值。预测可基于与第二存储器单元相关联的字线的电阻的测量,或者基于与第二存储器单元相关联的位线的电阻的测量。当所测量的电阻高于阈值时,预测可指示编程操作将失败的概率高。
Claims (20)
1.一种存储器控制器,包括:
预数据存储装置,临时存储从存储器装置读取的数据;
目标数据写入控制器,控制所述存储器装置通过将从主机接收的数据存储在目标位置中来执行写入操作,所述目标位置对应于所述存储器装置的第一存储区域中包括的第一子区域;以及
预数据管理器,在执行所述写入操作之前将预数据位置中存储的预数据备份到所述预数据存储装置中,所述预数据位置对应于所述第一存储区域中包括的第二子区域。
2.根据权利要求1所述的存储器控制器,其中所述预数据管理器从所述存储器装置获得失败预测信息,所述失败预测信息指示所述写入操作的失败概率,并基于所述失败预测信息控制所述存储器装置将所述预数据备份到所述预数据存储装置。
3.根据权利要求2所述的存储器控制器,其中所述失败预测信息是基于流过联接到所述目标位置的位线的电流、流过联接到所述目标位置的字线的电流或这两者来确定的。
4.根据权利要求2所述的存储器控制器,其中所述预数据管理器包括:
预数据备份组件,在目标数据被存储在所述第一存储区域之前,基于所述失败预测信息将所述预数据备份到所述预数据存储装置;以及
预数据恢复组件,基于对所述目标位置的所述写入操作是否已失败,控制所述存储器装置将所备份的预数据存储在所述存储器装置的第二存储区域中。
5.根据权利要求4所述的存储器控制器,其中所述预数据备份组件包括:
失败预测组件,向所述存储器装置提供用于请求所述失败预测信息的命令;以及
预数据读取控制器,基于所述失败预测信息提供用于读取在所述第一存储区域的所述第二子区域中存储的所述预数据的命令。
6.根据权利要求5所述的存储器控制器,其中所述预数据恢复组件包括:
失败信息请求器,向所述存储器装置提供用于请求关于对所述目标位置的所述写入操作是否已失败的失败信息的命令;以及
预数据写入控制器,基于所述失败信息来控制所述存储器装置初始化所述预数据存储装置或将所述预数据存储在所述第二存储区域中。
7.根据权利要求4所述的存储器控制器,其中所述第一存储区域和所述第二存储区域是不同的存储块。
8.根据权利要求1所述的存储器控制器,其中所述预数据存储装置包括易失性存储器。
9.根据权利要求1所述的存储器控制器,其中待存储在所述第一存储区域和所述第二存储区域中的数据的逻辑地址通过所述主机的请求来预设。
10.一种存储装置,包括:
存储器装置,包括第一存储区域和第二存储区域;以及
存储器控制器,根据待对所述第一存储区域执行的写入操作的失败概率,控制所述存储器装置备份存储在所述第一存储区域中的数据,并执行所述写入操作。
11.根据权利要求10所述的存储装置,其中所述存储器控制器包括:
失败预测组件,从所述存储器装置获得失败预测信息,所述失败预测信息指示对目标位置的所述写入操作可能失败的概率,所述目标位置对应于所述第一存储区域的第一子区域;
预数据读取控制器,基于所述失败预测信息备份在所述第一存储区域的第二子区域中存储的数据,所述第二子区域不同于所述第一子区域;以及
目标数据写入控制器,控制所述存储器装置将目标数据存储在所述目标位置中。
12.根据权利要求11所述的存储装置,其中所述存储器装置将流过连接到所述第一子区域的位线或流过连接到所述第一子区域的字线的电流与参考电流进行比较,并根据所述比较的结果生成所述失败预测信息。
13.根据权利要求11所述的存储装置,其中当对所述目标位置的写入操作已失败时,所述目标数据写入控制器控制所述存储器装置将所述目标数据编程到所述第二存储区域中。
14.根据权利要求13所述的存储装置,进一步包括:
预数据写入控制器,当对所述目标位置的所述写入操作已失败时,控制所述存储器装置将存储在所述第二子区域中的数据存储到所述第二存储区域中。
15.根据权利要求11所述的存储装置,其中所述第一存储区域包括连接到物理字线的存储器单元。
16.根据权利要求15所述的存储装置,其中所述物理字线连接到多个逻辑字线,并且
所述第一子区域对应于与所述多个逻辑字线中的第一逻辑字线直接连接的存储器单元,并且
所述第二子区域对应于与所述多个逻辑字线中的第二逻辑字线直接连接的存储器单元。
17.一种操作存储装置的方法,所述存储装置包括包含第一存储区域和第二存储区域的存储器装置,所述方法包括:
在预数据位置存储预数据,所述预数据位置对应于所述第一存储区域的第一子区域;
确定对目标位置的写入操作的失败概率,所述目标位置对应于存储所述预数据之后的所述第一存储区域的第二子区域;并且
基于所述失败概率备份存储在所述预数据位置中的所述预数据。
18.根据权利要求17所述的方法,进一步包括:
执行将目标数据存储到所述目标位置中的所述写入操作;
确定所述写入操作是否失败;并且
响应于确定所述写入操作失败,将所备份的预数据和所述目标数据编程到所述第二存储区域中。
19.根据权利要求17所述的方法,其中确定所述失败概率包括:
将流过与所述第二子区域连接的位线或流过与所述第二子区域连接的字线的电流与参考电流进行比较;并且
基于比较结果确定所述写入操作的所述失败概率。
20.根据权利要求17所述的方法,其中所述第一存储区域包括连接到物理字线的存储器单元,
所述物理字线连接到多个逻辑字线,所述第一子区域对应于与所述多个逻辑字线中的第一逻辑字线直接连接的存储器单元,并且
所述第二子区域对应于与所述多个逻辑字线中的第二逻辑字线直接连接的存储器单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190167784A KR20210076497A (ko) | 2019-12-16 | 2019-12-16 | 스토리지 장치 및 그 동작 방법 |
KR10-2019-0167784 | 2019-12-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112988053A true CN112988053A (zh) | 2021-06-18 |
CN112988053B CN112988053B (zh) | 2024-04-09 |
Family
ID=76317914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010901262.0A Active CN112988053B (zh) | 2019-12-16 | 2020-08-31 | 存储装置及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11487627B2 (zh) |
KR (1) | KR20210076497A (zh) |
CN (1) | CN112988053B (zh) |
TW (1) | TW202125268A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11687252B2 (en) * | 2021-10-18 | 2023-06-27 | Western Digital Technologies, Inc. | Non-volatile memory with pre-trained model and inference circuit |
KR102409405B1 (ko) * | 2022-01-17 | 2022-06-16 | 주식회사 노바칩스 | 메모리 컨트롤러의 동작 방법 및 이를 포함하는 비휘발성 메모리 장치 |
TWI808010B (zh) * | 2022-09-26 | 2023-07-01 | 慧榮科技股份有限公司 | 資料處理方法及對應之資料儲存裝置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070280002A1 (en) * | 2006-05-31 | 2007-12-06 | Sudhindra Prasad Tholasampatti | Charge-trapping memory device and methods for its manufacturing and operation |
CN103680594A (zh) * | 2012-08-29 | 2014-03-26 | 三星电子株式会社 | 降低写失败的存储器件、包括该存储器件的系统及其方法 |
US20170277442A1 (en) * | 2014-09-16 | 2017-09-28 | Sony Corporation | Memory controller, storage apparatus, information processing system, and method for controlling nonvolatile memory |
US20170371575A1 (en) * | 2016-06-27 | 2017-12-28 | SK Hynix Inc. | Memory system and method of operating the same |
US20190250847A1 (en) * | 2018-02-09 | 2019-08-15 | Micron Technology, Inc. | Data Stream Identification and Processing in Data Storage Device |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8452912B2 (en) | 2007-10-11 | 2013-05-28 | Super Talent Electronics, Inc. | Flash-memory system with enhanced smart-storage switch and packed meta-data cache for mitigating write amplification by delaying and merging writes until a host read |
US7536506B2 (en) | 2004-06-21 | 2009-05-19 | Dot Hill Systems Corporation | RAID controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage |
US20070150645A1 (en) | 2005-12-28 | 2007-06-28 | Intel Corporation | Method, system and apparatus for power loss recovery to enable fast erase time |
KR100771521B1 (ko) | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
KR100825802B1 (ko) | 2007-02-13 | 2008-04-29 | 삼성전자주식회사 | 기입 데이터의 논리적 페이지보다 이전 논리적 페이지들을가지는 데이터들을 데이터 블록으로부터 복사하는 불휘발성메모리 장치의 데이터 기입 방법 |
US7752489B2 (en) | 2007-05-10 | 2010-07-06 | International Business Machines Corporation | Data integrity validation in storage systems |
US8751859B2 (en) | 2007-05-10 | 2014-06-10 | International Business Machines Corporation | Monitoring lost data in a storage system |
KR101449524B1 (ko) | 2008-03-12 | 2014-10-14 | 삼성전자주식회사 | 스토리지 장치 및 컴퓨팅 시스템 |
JP5253901B2 (ja) | 2008-06-20 | 2013-07-31 | 株式会社東芝 | メモリシステム |
KR101570179B1 (ko) | 2008-12-08 | 2015-11-18 | 삼성전자주식회사 | 빠른 파워-오프를 위한 캐시 동기화 방법 및 시스템 |
KR101506675B1 (ko) | 2008-12-09 | 2015-03-30 | 삼성전자주식회사 | 보조 전원 장치를 갖는 사용자 장치 |
US8347041B2 (en) | 2009-01-02 | 2013-01-01 | Lsi Corporation | System and method to preserve and recover unwritten data present in data cache of a disk subsystem across power outages |
US9753847B2 (en) | 2009-10-27 | 2017-09-05 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping |
KR20110046243A (ko) | 2009-10-27 | 2011-05-04 | 삼성전자주식회사 | 사용자 장치 및 그것의 맵핑 데이터 관리 방법 |
KR101636248B1 (ko) | 2009-12-10 | 2016-07-06 | 삼성전자주식회사 | 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법 |
TWI399644B (zh) | 2009-12-24 | 2013-06-21 | Univ Nat Taiwan | 非揮發記憶體區塊管理方法 |
JP5553309B2 (ja) | 2010-08-11 | 2014-07-16 | 国立大学法人 東京大学 | データ処理装置 |
US8595414B2 (en) | 2010-09-30 | 2013-11-26 | Apple Inc. | Selectively combining commands for a system having non-volatile memory |
KR101856506B1 (ko) * | 2011-09-22 | 2018-05-11 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 데이터 쓰기 방법 |
US9690695B2 (en) | 2012-09-20 | 2017-06-27 | Silicon Motion, Inc. | Data storage device and flash memory control method thereof |
US9454474B2 (en) | 2013-03-05 | 2016-09-27 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
JP6020278B2 (ja) | 2013-03-21 | 2016-11-02 | 富士通株式会社 | 自律分散型キャッシュ配置制御システム |
KR102025180B1 (ko) | 2013-08-08 | 2019-09-26 | 삼성전자주식회사 | 스토리지 시스템 및 그것의 쓰기 방법 |
KR102218735B1 (ko) | 2014-01-21 | 2021-02-23 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 소거 방법 |
US9772782B2 (en) * | 2014-05-21 | 2017-09-26 | Seagate Technology Llc | Non-volatile complement data cache |
US9383927B2 (en) | 2014-05-28 | 2016-07-05 | SandDisk Technologies LLC | Method and system for creating a mapping table cache from an interleaved subset of contiguous mapping data for a storage device |
US9418699B1 (en) | 2014-10-09 | 2016-08-16 | Western Digital Technologies, Inc. | Management of sequentially written data |
US9507711B1 (en) | 2015-05-22 | 2016-11-29 | Sandisk Technologies Llc | Hierarchical FTL mapping optimized for workload |
KR102447471B1 (ko) | 2015-06-24 | 2022-09-27 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 스토리지 장치 |
WO2017173623A1 (zh) | 2016-04-07 | 2017-10-12 | 华为技术有限公司 | 用于处理存储设备中分条的方法和存储设备 |
KR20180024615A (ko) | 2016-08-30 | 2018-03-08 | 삼성전자주식회사 | 보조 전력을 공급하기 위한 커패시터들을 포함하는 전자 장치의 전력 및 성능 관리 방법 |
JP2018073040A (ja) | 2016-10-27 | 2018-05-10 | 東芝メモリ株式会社 | メモリシステム |
US10564888B2 (en) | 2016-11-09 | 2020-02-18 | Sandisk Technologies Llc | Method and system for visualizing a correlation between host commands and storage system performance |
KR102610537B1 (ko) | 2016-11-10 | 2023-12-06 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템 |
US10733100B2 (en) | 2017-06-12 | 2020-08-04 | Western Digital Technologies, Inc. | Method and apparatus for classifying and buffering write commands |
US10698817B2 (en) | 2017-06-12 | 2020-06-30 | Dell Products, L.P. | Method for determining available stored energy capacity at a power supply and system therefor |
US20180364938A1 (en) | 2017-06-14 | 2018-12-20 | Burlywood, LLC | Extent-based data location table management |
US10643707B2 (en) | 2017-07-25 | 2020-05-05 | Western Digital Technologies, Inc. | Group write operations for a data storage device |
US10289557B2 (en) | 2017-08-28 | 2019-05-14 | Western Digital Technologies, Inc. | Storage system and method for fast lookup in a table-caching database |
US10379948B2 (en) | 2017-10-02 | 2019-08-13 | Western Digital Technologies, Inc. | Redundancy coding stripe based on internal addresses of storage devices |
JP7074454B2 (ja) | 2017-10-30 | 2022-05-24 | キオクシア株式会社 | 計算機システムおよび制御方法 |
KR102410671B1 (ko) | 2017-11-24 | 2022-06-17 | 삼성전자주식회사 | 스토리지 장치, 스토리지 장치를 제어하는 호스트 장치, 및 스토리지 장치의 동작 방법 |
WO2019126072A1 (en) | 2017-12-18 | 2019-06-27 | Formulus Black Corporation | Random access memory (ram)-based computer systems, devices, and methods |
KR20190087217A (ko) | 2018-01-16 | 2019-07-24 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10552332B2 (en) | 2018-05-10 | 2020-02-04 | Alibaba Group Holding Limited | Rapid side-channel access to storage devices |
US11734175B2 (en) * | 2019-08-22 | 2023-08-22 | SK Hynix Inc. | Storage device and method of operating the same |
US11157179B2 (en) | 2019-12-03 | 2021-10-26 | Pure Storage, Inc. | Dynamic allocation of blocks of a storage device based on power loss protection |
EP3866013A1 (en) | 2020-02-11 | 2021-08-18 | Aptiv Technologies Limited | Data logging system for collecting and storing input data |
US11853599B2 (en) * | 2020-03-31 | 2023-12-26 | Kioxia Corporation | Memory system and information processing system |
-
2019
- 2019-12-16 KR KR1020190167784A patent/KR20210076497A/ko active Search and Examination
-
2020
- 2020-05-22 US US16/882,076 patent/US11487627B2/en active Active
- 2020-08-31 CN CN202010901262.0A patent/CN112988053B/zh active Active
- 2020-09-08 TW TW109130808A patent/TW202125268A/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070280002A1 (en) * | 2006-05-31 | 2007-12-06 | Sudhindra Prasad Tholasampatti | Charge-trapping memory device and methods for its manufacturing and operation |
CN103680594A (zh) * | 2012-08-29 | 2014-03-26 | 三星电子株式会社 | 降低写失败的存储器件、包括该存储器件的系统及其方法 |
US20170277442A1 (en) * | 2014-09-16 | 2017-09-28 | Sony Corporation | Memory controller, storage apparatus, information processing system, and method for controlling nonvolatile memory |
US20170371575A1 (en) * | 2016-06-27 | 2017-12-28 | SK Hynix Inc. | Memory system and method of operating the same |
US20190250847A1 (en) * | 2018-02-09 | 2019-08-15 | Micron Technology, Inc. | Data Stream Identification and Processing in Data Storage Device |
Also Published As
Publication number | Publication date |
---|---|
TW202125268A (zh) | 2021-07-01 |
KR20210076497A (ko) | 2021-06-24 |
US20210182152A1 (en) | 2021-06-17 |
CN112988053B (zh) | 2024-04-09 |
US11487627B2 (en) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110619911B (zh) | 存储装置及存储装置的操作方法 | |
KR102391499B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN113035254A (zh) | 存储装置及其操作方法 | |
CN112988053B (zh) | 存储装置及其操作方法 | |
CN110176261B (zh) | 存储装置及其操作方法 | |
KR20200066882A (ko) | 저장 장치 및 그 동작 방법 | |
CN113808651A (zh) | 存储器装置及其控制方法 | |
CN111105836A (zh) | 存储装置及其操作方法 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
CN110619912B (zh) | 存储装置以及该存储装置的操作方法 | |
US11237768B2 (en) | Memory device changing memory area in which data is stored and operating method thereof | |
US11650927B2 (en) | Memory device with a training buffer and method of operating the same | |
CN114360621A (zh) | 存储装置、其操作方法及控制电路 | |
CN114121104A (zh) | 存储器设备及其操作方法 | |
CN113299332A (zh) | 存储器控制器及其操作方法 | |
US20220392538A1 (en) | Memory device and operating method thereof | |
CN114496045A (zh) | 存储器设备和操作存储器设备的方法 | |
CN114237975A (zh) | 存储器系统、存储器装置和操作存储器装置的方法 | |
CN114496040A (zh) | 存储器装置 | |
CN113889167A (zh) | 存储器装置及其操作方法 | |
KR20220079235A (ko) | 저장 장치 및 그 동작 방법 | |
KR20220048377A (ko) | 저장 장치 및 그 동작 방법 | |
CN112908371A (zh) | 存储器装置和操作该存储器装置的方法 | |
US11031084B1 (en) | Memory device and method of operating the same | |
US11475966B2 (en) | Memory device and method of operating the same |
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 |