CN111128280A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN111128280A CN111128280A CN201910827368.8A CN201910827368A CN111128280A CN 111128280 A CN111128280 A CN 111128280A CN 201910827368 A CN201910827368 A CN 201910827368A CN 111128280 A CN111128280 A CN 111128280A
- Authority
- CN
- China
- Prior art keywords
- memory
- last
- page
- coupled
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000003860 storage Methods 0.000 title claims description 59
- 230000015654 memory Effects 0.000 claims abstract description 635
- 230000004044 response Effects 0.000 claims description 31
- 238000005516 engineering process Methods 0.000 description 74
- 239000000872 buffer Substances 0.000 description 54
- 238000010586 diagram Methods 0.000 description 42
- 238000013507 mapping Methods 0.000 description 27
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000005684 electric field Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000007787 solid Substances 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
- 238000007792 addition Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 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
- 230000003213 activating effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 101150013423 dsl-1 gene Proteins 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000014509 gene expression 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
- 238000010295 mobile communication Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/24—Bit-line control circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- 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/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5646—Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Microelectronics & Electronic Packaging (AREA)
Abstract
本文描述了存储装置及其操作方法。用于存储装置的电路设计和操作技术,在一个实施方案中,存储装置包括存储器装置,多个存储器块,每个存储器块包括耦合到多个相应的字线的多个存储器单元;以及存储器控制器,被配置为将数据存储在与多个字线的所选择的字线耦合的主区域中所包括的存储器单元中,并且将字线信息存储在与所选择的字线耦合的备用区域中,以指示已经对主区域执行了编程操作。
Description
与相关申请的交叉引用
该专利文献要求于2018年10月30日提交的韩国专利申请号10-2018-0131155的优先权和权益,其全部内容通过引用并入本文。
技术领域
所公开技术的各种实施例总体上涉及电子装置,并且更具体地涉及存储装置和操作存储装置的方法。
背景技术
存储装置是能够将数据存储在存储介质中的装置。这种存储装置由诸如个人计算机、智能电话或平板电脑的计算设备用于存储和检索数据。可以基于存储介质的类型对存储装置进行分类。例如,硬盘驱动器(HDD)使用磁盘作为存储介质,并且固态驱动器(SSD)或存储卡使用诸如非易失性存储器之类的半导体存储器作为存储介质。
使用半导体存储器实现的存储装置可以包括多个存储器装置和存储器控制器,存储器控制器被配置为控制存储器装置以在存储器装置中存储数据和从存储器装置检索数据。存储器装置可以被分类为易失性存储器和非易失性存储器。非易失性存储器的代表性示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存存储器、相变随机存取存储器(PRAM)、磁RAM(MRAM)、电阻RAM(RRAM),铁电RAM(FRAM)等。
发明内容
所公开技术的各种实施例涉及具有增强的操作速度的存储装置,以及操作存储装置的方法。
所公开技术的实施例可以提供存储装置,包括:存储器装置,包括多个存储器块,每个存储器块包括耦合到多个相应字线的多个存储器单元,以及存储器控制器,被耦合以用于与存储器装置通信并且被配置为将数据存储在与多个字线的所选择的字线耦合的主区域中所包括的存储器单元中,并且将字线信息存储在与所选择的字线耦合的备用区域中,以指示已经对主区域执行了编程操作。
所公开的技术的实施例可以提供一种操作存储装置的方法,包括:作为存储装置的操作的一部分,控制耦合到多个字线中的每个字线的多个存储器单元,多个字线耦合到存储器装置中所包括的多个存储器块中的一个或多个存储器块,将数据存储在所选择的存储器单元当中的主区域中所包括的存储器单元中,所选择的存储器单元耦合到多个字线中的所选择的字线,并且存储字线信息,该字线信息指示在所选择的存储器单元当中的备用区域中所包括的存储器单元中的所选择的字线的位置。
附图说明
图1是示出根据所公开技术的实施例的存储装置的示例的框图。
图2是示出图1的写操作控制单元的配置的示例的图。
图3是示出图1的最后页面管理单元的配置的示例的图。
图4是示出图1的存储器装置的配置的示例的图。
图5是示出基于所公开技术的实施例的图4的存储器单元阵列的示例的图。
图6是示出基于所公开技术的实施例的图5的存储器块BLK1至BLKz中的一个存储器块BLKa的电路图。
图7是示出基于所公开技术的实施例的图5的存储器块BLK1至BLKz中的一个存储器块BLKb的电路图。
图8是示出基于所公开技术的实施例的编程字线信息和使用该字线信息检测最后经编程页面的方法的图。
图9是示出基于图8中示出的方法实现的存储器块的示例的图。
图10是示出基于所公开技术的实施例的编程字线信息和使用该字线信息检测最后经编程页面的方法的示例的图。
图11是示出基于图10中示出的方法实现的存储器块的示例的图。
图12是示出基于所公开技术的实施例的编程字线信息和使用该字线信息检测最后经编程页面的方法的图。
图13是示出基于所公开技术的实施例的编程字线信息和使用该字线信息检测最后经编程页面的方法的图。
图14是示出基于所公开技术的实施例的存储器装置的操作的图。
图15是示出基于所公开技术的实施例的存储器控制器的操作的图。
图16是示出基于所公开技术的实施例的存储器装置的操作的图。
图17是示出基于所公开技术的实施例的存储器装置的操作的图。
图18是示出图1的存储器控制器的示例的图。
图19是示出基于所公开技术的一些实施例所实现的存储卡系统的示例的框图。
图20是示出基于所公开技术的一些实施例所实现的固态驱动器(SSD)系统的示例的框图。
图21是示出基于所公开技术的一些实施例所实现的用户系统的示例的框图。
具体实施方式
该专利文献中公开的技术可以在实施例中实现,以通过有效地检测最后经编程页面来提供具有增强的操作速度的存储装置。
本说明书或申请中引入的本公开所公开的技术的实施例中的具体结构或功能描述仅用于描述本公开所公开的技术的实施例。该描述不应被解释为被限于说明书或本申请中描述的实施例。
本公开所公开的技术不再基于实施例被详细描述。然而,本公开所公开的技术可以以许多不同的形式体现,并且不应该被解释为仅限于这里阐述的实施例,而是应该被解释为涵盖落入本发明的思想和技术范围内的修改、等同物或替代物。然而,应该理解,本说明书并非旨在将本公开所公开的技术限制于那些示例性实施例,并且本公开所公开的技术旨在不仅包括示例性实施例,而且还包括落入本公开所公开的技术的精神和范围内的各种替换、修改、等同物和其他实施例。
应当理解,尽管这里可以使用术语“第一”、“第二”等来描述各种元件,但是这些元件不应受这些术语的限制。这些术语仅用于区分一个元件和另一个元件。例如,在不脱离本公开所公开的技术的教导的情况下,下面讨论的第一元件可以被称为第二元件。类似地,第二元件也可以称为第一元件。
应当理解,当一个元件被称为“耦合”或“连接”到另一个元件时,它可以直接耦合或连接到另一个元件,或者可以在它们之间存在中间元件。相比之下,应该理解,当一个元件被称为“直接耦合”或“直接连接”到另一个元件时,不存在中间元件。解释元件之间关系的其他表达,例如“在...之间”、“直接在...之间”、“与...相邻”或“与...直接相邻”应该以相同的方式解释。
这里使用的术语仅用于描述特定实施例的目的,而不是限制性的。在本公开所公开的技术中,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。进一步理解的是,当在本说明书中使用时,术语“包括”、“包含”、“具有”等指定所述特征、整体、步骤、操作、元件、部件和/或组合的存在,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组合。
除非另外限定,否则这里使用的包括技术和科学术语的所有术语具有与本公开所公开的技术所属领域的普通技术人员通常理解的含义相同的含义。进一步理解的是,本文使用的术语应被解释为具有与其在本说明书和相关领域的上下文中的含义一致的含义,并且除非在本文中明确如此定义,否则将不以理想化或过于正式的含义解释。
省略对本领域技术人员公知的功能和结构的具体描述,以避免模糊本公开所公开的技术的技术方案。这旨在省略不必要的描述,以使本公开所公开的技术的技术方案清楚。
现在将在下文中参考附图更全面地描述本公开所公开的技术的各种实施例,其中示出了本公开所公开的技术的优选实施例,使得本领域普通技术人员可以容易地执行本公开所公开的技术的技术思想。
图1是示出根据所公开技术的一个实施例的存储装置50的示例的框图。
参考图1,存储装置50可以包括存储器装置100和存储器控制器200。
存储装置50可以是主机300使用的装置,该主机例如是蜂窝电话、智能手机、MP3播放器、笔记本计算机、台式计算机、游戏机、电视、平板电脑或者车载信息娱乐系统,该存储装置用于保留主机300的数据文件。
存储装置50可以根据主机接口由各种存储装置中的任何一种存储装置构成,主机接口是主机300与其外围装置之间的通信接口。例如,数据存储装置50可以被配置为实现各种存储设备,例如SSD、MMC、eMMC、RS-MMC或微MMC型多媒体卡、SD、mini-SD、micro-SD型安全数字卡、通用串行总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡式存储装置、外设部件互连(PCI)卡式存储装置、PCI-express(PCI-E)型存储装置、紧凑型闪存(CF)卡、智能媒体卡和记忆棒。
存储装置50可以以各种封装类型的形式制造。例如,存储装置50可以以各种封装类型的形式制造,例如堆栈式封装(POP)类型、系统级封装(SIP)类型、片上系统(SOC)类型、多芯片封装(MCP)类型、板上芯片(COB)类型、晶片级制造封装(WFP)类型以及晶片级堆叠封装(WSP)类型。
存储器控制器200可以控制存储装置50的整体操作。
当电力施加到存储装置50时,存储器控制器200可以执行固件。在存储器装置100是闪存存储器装置的情况下,存储器控制器200可以执行诸如闪存转换层(FTL)的固件,用于控制主机300和存储器装置100之间的通信。
存储器控制器200可以包括写操作控制单元210。
写操作控制单元210可以从主机300接收写请求。写操作控制单元210可以提供用于响应于写请求将数据存储到存储器装置100的编程命令。写操作控制单元210可以响应于写请求确定其中数据待存储的字线。如果确定其中数据待存储的字线,则写操作控制单元210可以生成指示相应字线的位置的字线信息。如果生成字线信息,则写操作控制单元210可以生成用于对数据和字线信息进行编程的编程命令。写操作控制单元210可以给存储器装置100提供编程命令。
存储器装置100可以在其中存储数据。存储器装置100可以在存储器控制器200的控制下操作。存储器装置100可以包括存储器单元阵列,该存储器单元阵列包括被配置为在其中存储数据的多个存储器单元。存储器单元阵列可以包括多个存储器块。每个存储器块可以包括多个存储器单元。每个存储器块可以包括多个页面,每个页面包括多个存储器单元。在实施例中,每个页面(例如,逻辑页面)可以是存储器装置100中的数据单元。例如,NAND闪存存储器装置的用户能基于页面从存储器装置100读取数据或向存储器装置写入数据。然而,在NAND闪存装置中,以块为基础执行擦除操作。在一个实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功耗双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功耗DDR(LPDDR)、rambus动态随机存取存储器(RDRAM)、NAND闪存存储器、垂直NAND闪存存储器、NOR闪存存储器装置、电阻随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、或自旋转移矩磁随机存取存储器(STT-RAM)。在本说明书中,为了便于说明,假设存储器装置100是NAND闪存存储器。
在NAND闪存存储器中,多个存储器单元晶体管串联连接以形成存储器单元串。每个单元串耦合到位线,并且字线并联耦合到每个存储器单元串的存储器单元晶体管。用作读操作的参考电压的读取电压和用于编程存储器单元的编程电压被施加到字线,使得电连接到字线的所有存储器单元被同时读取或编程。因此,连接相同字线的存储器单元通常称为“页面”。如果存储器单元被配置为每个存储器单元存储多于一个数据位,则页面(例如,物理页面)可以被分成多个逻辑页面。
在一个实施例中,存储器装置100可以被体现为三维阵列结构。所公开的技术不仅可以应用于其中电荷存储层由导电浮动栅极(FG)形成的闪存存储器,而且还可以应用于电荷陷阱闪存(CTF)存储器,其中电荷存储层由绝缘层形成。
在一个实施例中,在存储器装置100中所包括的每个存储器单元可以由能够使得每个存储器单元存储一个数据位的单级单元(SLC)形成。可替代地,在存储器装置100中所包括的每个存储器单元可以由能够使得每个存储器单元存储两个数据位的多级单元(MLC)、能够使得每个存储器单元存储三个数据位的三级单元(TLC)、或能够使得每个存储器单元存储四个数据位的四级单元(QLC)形成。
存储器装置100可以从存储器控制器200接收命令和地址,并且访问由该地址选择的存储器单元阵列的区域。换句话说,存储器装置100可以执行与由地址选择的区域上的命令相对应的操作。例如,存储器装置100可以执行写(编程)操作、读操作和擦除操作。在编程操作期间,存储器装置100可以将数据写入由地址选择的区域。在读操作期间,存储器装置100可以从由地址选择的区域读取数据。在擦除操作期间,存储器装置100可以从由地址选择的区域擦除数据。
存储器装置100可以在存储器控制器200的控制下使用一组操作电压执行编程操作或擦除操作。
存储器装置100可以包括字线电压控制单元126和位线电压控制单元127。
在读操作期间,字线电压控制单元126可以控制要施加至耦合到存储器块的字线的读取电压。在所公开的技术的一些实施例中,在同时读取存储器块中所包括的多个页面的情况下,字线电压控制单元126可以将相同的读取电压施加至耦合到存储器块的所有字线。
在所公开的技术的各种实施例中,读取电压可以同时被施加至耦合到一个存储器块的两个或更多个字线。详细地,连接到存储器块的所有字线可以被分组为两组或更多字线组。在由字线组读取存储器块的存储器单元的情况下,字线电压控制单元126可以将具有相同电平的读取电压或具有不同级别的读取电压施加到各个字线组。
位线电压控制单元127可以控制要被施加到位线的位线电压。
例如,位线电压控制单元127可以将编程启动电压施加到位线,该位线耦合到为编程操作选择的存储器单元(例如,在编程操作中耦合到所选择的字线的存储器单元)。在一个实施例中,编程启动电压可以是地电压(0V)。位线电压控制单元127可以将编程禁止电压施加到位线,该位线耦合到除了为编程操作选择的存储器单元之外的存储器单元。位线电压控制单元127还可以将编程禁止电压施加到位线,该位线耦合到在耦合到所选择的字线的存储器单元当中的已经通过编程验证的存储器单元。
位线电压控制单元127可以控制用于读取电压的参考电压/电流以检测存储器单元的阈值电压级别,以识别存储器单元是否处于经编程的阈值电压状态(以及多个编程的阈值电压分布中的哪一个阈值电压分布)或被擦除的阈值电压状态。
该专利文献中公开的技术可以在实施例中被实现,以在诸如由用户中断或编程操作期间的突然断电之类的编程操作的中断之后在加电时识别最后经编程页面。在所公开技术的一些实施例中,在用于检测最后经编程页面的读操作期间施加的位线电压能与在正常读操作期间施加的位线电压不同。换句话说,与用于在正常读操作期间读取耦合到所选择的字线的存储器单元的电压相比,用于检测最后经编程页面的读操作的待施加到每个位线的位线电压可以具有不同的电压电平。此外,取决于耦合到每个位线的经编程的存储器单元的数量,待施加到位线的位线电压可以变化。
在一个实施例中,存储器控制器200可以从主机300接收数据和逻辑地址(LA),并且可以将LA转换为物理地址(PA),该物理地址指示存储器装置100中的存储器单元的地址,数据待存储到该存储器装置。另外,存储器控制器200可以在缓冲器存储器中存储指示LA和PA之间的映射关系的映射信息。
响应于来自主机300的请求,存储器控制器200可以控制存储器装置100执行编程操作、读操作或擦除操作。在编程操作期间,存储器控制器200可以向存储器装置100提供编程命令、PA和数据。在读操作期间,存储器控制器200可以向存储器装置100提供读命令和PA。在擦除操作期间,存储器控制器200可以向存储器装置100提供擦除命令和PA。
在一个实施例中,存储器控制器200可以在没有来自主机300的请求的情况下自主地生成编程命令、地址和数据,并将它们发送到存储器装置100。例如,存储器控制器200可以向存储器装置100提供命令、地址和数据,以执行后台操作,例如用于磨损均衡的编程操作、以及用于垃圾收集的编程操作。
在实施例中,存储器控制器200可以包括最后页面管理单元220。当在页面编程期间中断编程操作时,最后页面管理单元220可以检测已经对其执行编程操作的存储器块中的最后经编程页面。例如,在诸如由用户中断或电源突然断电或切断的突然断电(SPO)的编程操作中断后加电时,在编程操作中断之前编程的最后页面的地址能由最后页面管理单元220确定。最后页面管理单元220可以检测最后经编程页面,该页面是已经在存储器块中最后编程的页面,编程操作在存储器装置100中所包括的多个存储器块当中已经在该存储器块上被执行。在存储装置的正常操作期间的SPO事件或其他中断可以导致读操作或写操作中的错误或甚至损坏存储装置。因此,期望提供诸如SPO感测单元的感测电路以检测SPO的发生。
如果在完成安排编程任务之前中断了编程操作,则需要检测最后经编程页面以从最后经编程页面恢复编程操作。
在一个示例实施方案中,能通过从第一个到最后一个顺序地读取多个字线来检测最后经编程页面。在这些读操作期间,如果存储器装置100读取某个页面并且发现它是擦除页面,则在擦除页面之前已读取的页面被视为最后经编程页面。
但是由于需要读取的字线的数量增加,可以增加读取字线所花费的时间,并且可能引起读取干扰。
在所公开的技术的一个实施例中,存储器装置100可以存储字线信息,该字线信息指示已经对其执行了编程操作的字线的地址(或位置)。如果编程操作被中断,则存储器控制器200可以读取字线信息以检测最后经编程页面。
例如,当数据存储在存储器装置100中时,最后页面管理单元220可以为连接到所选存储器单元的每个字线或要写入数据的页面生成字线信息。最后页面管理单元220可以在存储器装置100中写入数据和字线信息。在所公开的技术的一个实施例中,数据可以写入存储器单元阵列(未示出)的主区域,并且字线信息可以写入备用区域。
在诸如由用户中断或突然断电的编程操作中断之后上电时,最后页面管理单元220可以向存储器装置100提供最后页面读取命令。响应于最后页面读取命令,存储器装置100可以对所选择的存储器块中所包括的多个页面执行读操作。
在一个实施例中,存储器装置100可以通过读取存储在所选择的存储器块的备用区域中的字线信息来获得最后经编程页面信息。在一些实施方案中,最后经编程页面信息可以包括关于最后经编程页面的页面地址信息。存储器装置100可以将最后经编程页面信息提供给最后页面管理单元220。例如,响应于最后页面读取命令,存储器装置100可以将存储器块的字线信息提供给存储器控制器200作为最后经编程页面信息,在存储器装置100中所包括的多个存储器块当中,已经对存储器块最后执行了编程操作。
最后页面管理单元200可以使用从存储器装置100接收的最后经编程页面信息来检测最后经编程页面。
在一个实施例中,存储器控制器200可以控制至少两个存储器装置100。在这种情况下,存储器控制器200可以以交错方式控制存储器设备100以增强操作性能。
主机300可以使用各种通信方法中的至少一种与存储装置50通信,通信方法例如通用串行总线(USB)、串行AT附件(SATA)、串行连接SCSI(SAS)、高速芯片(HSIC)、小型计算机系统接口(SCSI)、外设部件互连(PCI)、PCI Express(PCIe)、非易失性存储器express(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插存储器模块(DIMM)、寄存DIMM(RDIMM)和负载减少DIMM(LRDIMM)通信方法。
图2是示出图1的写操作控制单元210的配置的图。
基于所公开技术的一些实施例实现的存储器控制器200可以包括写操作控制单元210。尽管在图2中未示出最后页面管理单元220,但是它可以被包括在存储器控制器200中。存储器控制器200中所包括的写操作控制单元210可以包括主机接口211、命令生成单元212和映射信息存储单元213。
主机接口211可以从主机300接收写请求。写请求可以是用于在存储器装置100中存储数据的请求。主机接口211可以将从主机300接收的写请求提供给命令生成单元212。
命令生成单元212可以基于从主机接口211接收的写请求生成编程命令。
例如,命令生成单元212可以基于写请求确定连接到为编程操作所选择的存储器单元的字线。命令生成单元212可以从映射信息存储单元213接收映射信息,以确定基于写请求选择的字线。命令生成单元212可以根据映射信息基于写请求生成对其执行编程操作的地址。
如果确定了其中数据待存储的字线,则命令生成单元212可以生成字线信息,以指示字线的位置,该字线耦合到要对其执行编程操作的存储器单元。命令生成单元212可以生成用于将从主机接收的写请求数据和字线信息存储在存储器装置100中的编程命令。生成的编程命令可以被提供给存储器装置100。
映射信息存储单元213可以向命令生成单元212提供映射信息。基于映射信息,接收的LA被转换为PA,其指示存储器装置100的存储器单元的地址,数据要存储在该存储器装置中。根据被提供给命令生成单元212的映射信息来选择字线,使得与从主机300接收的写请求相关联的数据存储在耦合到所选择的字线的存储器单元中。
图3是示出图1的最后页面管理单元220的配置的示例的图。
基于所公开技术的一些实施例实现的存储器控制器200可以包括最后页面管理单元220。尽管写操作控制单元210未在图3中示出,但是它可以被包括在存储器控制器200中。存储器控制器200中所包括的最后页面管理单元220可以包括SPO感测单元221、编程历史存储单元222、最后页面读取控制单元223和最后页面确定单元224。尽管SPO感测单元221被命名为“SPO感测”,但术语SPO应被解释为包括所有可能的编程操作中断情形,诸如由用户中断或突然断电。
SPO感测单元221可以感测在存储器装置100中发生的SPO事件。如果发生了SPO事件,则可能需要关于最后经编程页面所属的存储器块的存储器块信息来执行恢复操作。
SPO感测单元221可以监视要提供给参考图1描述的存储装置50的电压的水平。当电源电压的电平下降到或低于预定水平时,SPO感测单元221可以确定发生了SPO事件。当SPO事件发生时,SPO事件感测信息可以被提供给编程历史存储单元222。
编程历史存储单元222可以向最后页面读取控制单元223提供关于最后经编程页面所属的存储器块的存储器块信息。在一个实施方案中,编程历史存储单元222可以向最后页面读取控制单元223提供关于存储器块的存储器块信息,在存储器装置100中所包括的多个存储器块当中,在SPO事件发生之前,已经对存储器块最后执行了编程操作。
在一个实施例中,编程历史存储单元222可以包括映射信息。映射信息可以是关于LA和PA之间的映射关系的信息。编程历史存储单元222可以使用映射信息生成关于在SPO事件发生之前已经对其最后执行了编程操作的存储器块的存储器块信息。
最后页面读取控制单元223可以执行检测作为最后经编程页面的最后页面的操作。
例如,最后页面读取控制单元223可以向存储器装置100提供最后页面读取命令。最后页面读取命令可以是用于检测最后页面的命令。已经接收到最后页面读取命令的存储器装置100可以使用存储器块信息对相应的存储器块执行读操作。
存储器装置100可以对耦合到相应的存储器块的所有字线执行读操作,或者可以将所有字线分成组并对每个组执行读操作。在每个读操作期间,存储器装置100可以将具有相同电平的读取电压或具有不同电平的读取电压施加到字线。存储器装置100可以向最后页面读取控制单元223提供最后经编程页面信息,该最后经编程页面信息是读取相应存储器块的字线的结果。最后经编程页面信息可以是用于检测最后经编程页面的数据。
最后页面确定单元224可以从最后页面读取控制单元223接收最后经编程页面信息。最后页面确定单元224可以使用最后经编程页面信息检测其中已发生SPO事件的存储器块中的最后经编程页面。如果最后页面确定单元224检测到最后经编程页面,则存储器装置100可以向另一页面重写要存储到最后经编程页面的数据。
图4是示出图1的存储器装置100的配置的示例的图。
参考图4,存储器装置100可以包括存储器单元阵列110、外设电路120和控制逻辑125。
存储器单元阵列110可以包括多个存储器块BLK1至BLKz。存储器块BLK1至BLKz通过行线RL连接到地址解码器121。存储器块BLK1至BLKz通过位线BL1至BLm连接到读/写电路123。每个存储器块BLK1至BLKz可以包括多个存储器单元。在一个实施例中,多个存储器单元可以是非易失性存储器单元。
存储器单元阵列110中所包括的存储器单元可以根据使用目的被分组为多个块。包括对于控制存储器装置100所需的各种设置信息的系统信息可以存储在多个块中。
第一至第z存储器块BLK1至BLKz中的每一个存储器块包括多个存储器单元串。第一至第m单元串分别耦合到第一至第m位线BL1至BLm。第一至第m单元串中的每一个单元串包括漏极选择晶体管、彼此串联耦合的多个存储器单元、以及源极选择晶体管。漏极选择晶体管DST耦合到漏极选择线DSL。第一至第n存储器单元分别耦合到第一至第n字线。源极选择晶体管SST耦合到源极选择线SSL。漏极选择晶体管DST的漏极耦合到相应的位线。第一至第m单元串的漏极选择晶体管DST分别耦合到第一至第m位线BL1至BLm。源极选择晶体管SST的源极耦合到公共源极线CSL。在一个实施例中,公共源极线CSL可以共同耦合到第一至第z存储器块BLK1至BLKz。漏极选择线DSL、第一至第n字线WL1至WLn以及源极选择线SSL被包括在行线RL中。漏极选择线DSL、第一至第n字线WL1至WLn以及源极选择线SSL由地址解码器121控制。公共源极线CSL由控制逻辑125控制。第一至第m位线BL1至BLm由读/写电路123控制。
外设电路120可以包括地址解码器121、电压发生器122、读/写电路123、数据输入/输出电路124和控制逻辑125。
地址解码器121通过行线RL耦合到存储器单元阵列110。地址解码器121可以在控制逻辑125的控制下操作。地址解码器121通过控制逻辑125接收地址ADDR。
在一个实施例中,存储器装置100的编程操作和读操作可以在页面的基础上执行。
在编程操作或读操作期间,由控制逻辑125接收的地址ADDR可以包括块地址和行地址。地址解码器121可以解码接收的地址ADDR当中的块地址。响应于解码的块地址,地址解码器121选择存储器块BLK1至BLKz中的相应一个存储器块。
地址解码器121可以对接收到的地址ADDR当中的行地址进行解码。响应于解码的行地址,地址解码器121可以将从电压发生器122提供的电压施加到行线RL,并选择所选择的存储器块的一个字线。
在擦除操作期间,地址ADDR可以包括块地址。地址解码器121可以解码块地址并响应于解码的块地址来选择相应的存储器块。擦除操作可以对一个存储器块的整体或一部分执行。
在部分擦除操作期间,地址ADDR可以包括块地址和行地址。地址解码器121可以响应于解码的块地址而选择存储器块BLK1至BLKz中的相应一个存储器块。
地址解码器121可以解码接收的地址ADDR当中的行地址。响应于解码的行地址,地址解码器121可以将从电压发生器122提供的电压施加到行线RL,并选择所选择的存储器块的至少一个字线。
在一个实施例中,地址解码器121可以包括块解码器、字线解码器、地址缓冲器等。
电压发生器122可以使用提供给存储器装置100的外部供电电压产生多个电压。电压发生器122可以在控制逻辑125的控制下操作。
在一个实施例中,电压发生器122可以通过调节外部供电电压产生内部供应电压。从电压发生器122产生的内部供应电压可以用作存储器装置100的操作电压。
在一个实施例中,电压发生器122可以使用外部供电电压或内部供应电压产生多个电压。例如,电压发生器122可以包括多个泵送电容器,用于接收内部供应电压,并且通过在控制逻辑125的控制下选择性地激活多个泵送电容器来产生多个电压。所产生的电压由地址解码器121施加到所选择的字线。
在编程操作期间,电压发生器122可以产生具有高电压的编程脉冲和低于电压电平中的编程脉冲的通过脉冲。在读操作期间,电压发生器122可以产生读电压和高于读电压的通过电压。在擦除操作期间,电压发生器122可以产生擦除电压。
读/写电路123可以包括第一至第m页面缓冲器PB1至PBm。第一至第m页面缓冲器PB1至PBm分别通过第一至第m位线BL1至BLm耦合到存储器单元阵列110。第一至第m页面缓冲器PB1至PBm可以在控制逻辑125的控制下操作。
第一至第m页面缓冲器PB1至PBm可以与数据输入/输出电路124进行数据通信。在编程操作期间,第一至第m页面缓冲器PB1至PBm可以接收要通过数据输入/输出电路124和数据线DL存储的数据。
在编程操作期间,当编程脉冲被施加到所选择的字线时,第一至第m页面缓冲器PB1至PBm可以通过位线BL1至BLm将通过数据输入/输出电路124接收的数据发送到所选择的存储器单元。基于所发送的数据对所选择的页面中的存储器单元进行编程。耦合至被应用的编程启动电压(例如地电压)的位线的存储器单元可以具有增加的阈值电压。耦合至被应用的编程禁止电压(例如供电电压)的位线的存储器单元的阈值电压可以被保持。在编程验证操作期间,第一至第m页面缓冲器PB1至PBm可以通过位线BL1至BLm从所选择的存储器单元读取页面数据。
在读操作期间,读/写电路123可以通过位线BL从所选择的页面中的存储器单元读取数据,并将读取的数据输出到数据输入/输出电路124。在擦除操作期间,读/写电路123可以浮置位线BL。
在一个实施例中,读/写电路123可以包括列选择电路。
数据输入/输出电路124通过数据线DL耦合到第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124可以在控制逻辑125的控制下操作。在编程操作期间,数据输入/输出电路124可以从外部控制器(未示出)接收要存储的数据。
控制逻辑125连接到地址解码器121、电压发生器122、读/写电路123和数据输入/输出电路124。控制逻辑125可以控制存储器装置100的整体操作。控制逻辑125可以从外部控制器接收命令CMD和地址ADDR。响应于命令CMD,控制逻辑125可以控制地址解码器121、电压发生器122、读/写电路123和数据输入/输出电路124。
在一个实施例中,控制逻辑125可以包括字线电压控制单元126和位线电压控制单元127。
字线电压控制单元126可以产生可用于识别最后经编程页面的读取电压。
例如,通过同时将读取电压施加到分别耦合到存储器块中所包括的多个页面的多个字线,或者通过同时将读取电压施加至耦合到存储器块的多个字线当中的至少两个或更多个字线并且同时读取与其耦合的位线,基于所公开的技术的一些实施例实现的字线电压控制单元126可以识别最后经编程页面。
在存储器装置100同时读取存储器块中所包括的多个页面的情况下,字线电压控制单元126可以将相同的读取电压(具有相同电压电平的读取电压)施加到所有字线。在存储器装置100同时读取耦合到多个字线(所述多个字线耦合到存储器块)当中的两个或更多个字线的存储器单元的情况下,字线电压控制单元126可以将相同的读取电压(具有相同电压电平的读取电压)施加到所有字线或两个或多个字线。读取电压的电平可以基于耦合到存储器块的字线数量和位线数量来确定。
在读操作期间,位线电压控制单元127可以控制将位线电压施加到每个位线。
读操作可以在耦合到多个字线当中的所选择的字线的存储器单元上被执行。与该正常读操作不同,用于识别最后经编程页面的读操作可以在耦合到所有多个字线的存储器单元上被执行,以检测最后经编程页面。在每次读操作期间,因为要对其执行读操作的存储器单元的数量变化,所以在读操作期间要使用的参考电压或参考电流可以变化。因此,在用于检测最后经编程页面的读操作期间,位线电压控制单元127可以向位线施加不同于读取存储器单元的操作的位线电压,所述存储器单元在正常的读操作中耦合到所选择的字线。
图5是示出基于所公开技术的实施例的图4的存储器单元阵列110的示例的图。
参考图5,存储器单元阵列110可以包括多个存储器块BLK1至BLKz。每个存储器块可以具有三维结构。每个存储器块可以包括堆叠在衬底上的多个存储器单元。存储器单元沿+X方向、+Y方向和+Z方向布置。将参考图6和7更详细地描述每个存储器块的结构。
图6是示出基于所公开的技术的一个实施例的图5的存储器块BLK1至BLKz中的任何一个存储器块BLKa的电路图。
参考图6,存储器块BLKa可以包括多个单元串CS11至CS1m和CS21至CS2m。每个单元串由多个存储器单元和在列方向上串联耦合的其他晶体管组成,如图中所示。在一个实施例中,单元串CS11至CS1m和CS21至CS2m中的每个单元串可以形成为“U”形。在存储器块BLKa中,m个单元串可以沿行方向(即+X方向)布置。尽管图6中仅示出了两个单元串沿列方向(即+Y方向)布置,但是应该理解,可以在列方向上布置三个或更多个单元串。
多个单元串CS11至CS1m和CS21至CS2m中的每个单元串可以包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT和至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可以分别具有相似的结构。在一个实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层,隧道绝缘层,电荷存储层和阻挡绝缘层。在一个实施例中,可以在每个单元串中提供用于提供沟道层的支柱。在实施例中,可以在每个单元串中设置用于提供沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层中的至少一个的支柱。
每个单元串的源极选择晶体管SST耦合在公共源极线CSL和存储器单元MC1至MCp之间。
在一个实施例中,布置在同一行中的单元串的源极选择晶体管耦合到沿行方向延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管耦合到不同的源极选择线。在图6中,第一行中的单元串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。
如上所述,在列方向上串联耦合的多个存储器单元和其他晶体管可以形成单元串,并且多个单元串可以形成存储器块。沿该列方向布置的单元串可以耦合到沿该列方向延伸的位线。在图6中,第一列中的单元串CS11和CS21耦合到第一位线BL1。第m列中的单元串CS1m和CS2m耦合到第m位线BLm。
沿该列方向形成多个单元串的存储器单元也沿在其中布置有字线的行方向布置。耦合到相同字线的一组存储器单元形成单个页面。例如,在第一行中的单元串CS11至CS1m当中,耦合到第一字线WL1的存储器单元形成单个页面。在第二行中的单元串CS21至CS2m当中,耦合到第一字线WL1的存储器单元形成另一单个页面。当选择漏极选择线DSL1和DSL2中的任何一个漏极选择线时,可以选择沿单行方向布置的相应单元串。当选择字线WL1至WLn中的任何一个字线时,可以从所选择的单元串当中选择相应的单个页面。
在一个实施例中,可以提供偶数位线和奇数位线来代替第一至第m位线BL1至BLm。沿行方向布置的单元串CS11至CS1m或CS21至CS2m的第偶数数目个单元串可以耦合到相应的偶数位线。沿行方向布置的单元串CS11至CS1m或CS21至CS2m的第奇数数目个单元串可以耦合到相应的奇数位线。
在一个实施例中,第一至第n存储器单元MC1至MCn中的至少一个可以用作虚拟存储器单元。虚拟存储器单元可以在其结构方面与正常存储器单元相同,但是用于不同目的,例如减少单元间干扰的影响。例如,可以提供一个或多个虚拟存储器单元以减小源极选择晶体管SST和存储器单元MC1至MCp之间的电场。可替代地,可以提供一个或多个虚拟存储器单元以减小漏极选择晶体管DST和存储器单元MCp+1至MCn之间的电场。因此,虚拟存储器单元用于减少选择晶体管和存储器单元之间不期望的干扰,但是它们可能对芯片尺寸具有负面影响。虚拟存储器单元布置在选择晶体管和存储器单元之间越多,则存储器块BLKa的操作将变得越可靠。然而,这将不可避免地导致存储器块BLKa的尺寸增加。
为了有效地控制虚拟存储器单元,每个虚拟存储器单元可以具有预定的阈值电压。在对存储器块BLKa执行擦除操作之前或之后,可以对所有虚拟存储器单元或一些虚拟存储器单元执行编程操作。在已经执行编程操作之后执行擦除操作的情况下,通过控制要施加至虚拟字线的电压,虚拟存储器单元可以具有预定的阈值电压,该虚拟字线耦合到相应的虚拟存储器单元。
图7是示出基于所公开的技术的一个实施例的图5的存储器块BLK1至BLKz中的一个存储器块BLKb的电路图。
参考图7,存储器块BLKb可以包括多个单元串CS11’至CS1m’和CS21’至CS2m’。单元串CS11’至CS1m’和CS21’至CS2m’中的每一个单元串沿+Z方向延伸。每个单元串由多个存储器单元和沿列方向串联耦合的其他晶体管组成,如图中所示。例如,单元串CS11’至CS1m’和CS21’至CS2m’中的每一个单元串可以包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、以及至少一个漏极选择晶体管DST,它们堆叠在被设置在存储器块BLK1’的下部中的衬底(未示出)上。
每个单元串的源极选择晶体管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之间。沿行方向布置的单元串的选择晶体管可以耦合到在图中沿行方向延伸的漏极选择线。第一行中的单元串CS11’至CS1m’的漏极选择晶体管耦合至第一漏极选择线DSL1。第二行中的单元串CS21’至CS2m’的漏极选择晶体管可以耦合到第二漏极选择线DSL2。
图7的存储器块BLKb通常与图6的存储器块BLKa相似,但是
图7的存储器块BLKb中的单元串不包括管道晶体管PT。
在一个实施例中,可以提供偶数位线和奇数位线来代替第一至第m位线BL1至BLm。沿行方向布置的单元串CS11’至CS1m’或CS21’至CS2m’当中的第偶数数目个单元串可以耦合到相应的偶数位线,并且沿行方向布置的单元串CS11’至CS1m’或CS21’至CS2m’当中的第奇数数目个单元串可以耦合到相应的奇数位线,
在一个实施例中,第一至第n存储器单元MC1至MCn中的至少一个可以用作虚拟存储器单元。例如,可以提供至少一个或多个虚拟存储器单元以减小源极选择晶体管SST和存储器单元MC1至MCn之间的电场。可替代地,可以提供至少一个或多个虚拟存储器单元以减小漏极选择晶体管DST和存储器单元MC1至MCn之间的电场。如上所述,虚拟存储器单元用于减少选择晶体管和存储器单元之间不期望的干扰,但是它们可能对芯片尺寸具有负面影响。
为了有效地控制虚拟存储器单元,每个虚拟存储器单元可以具有预定的阈值电压。在对存储器块BLKb执行擦除操作之前或之后,可以对所有虚拟存储器单元或一些虚拟存储器单元执行编程操作。在已经执行编程操作之后执行擦除操作的情况下,通过控制要施加到虚拟字线的电压,虚拟存储器单元可以具有预定的阈值电压该虚拟字线耦合到相应的虚拟存储器单元。
图8是示出基于所公开的技术的一个实施例的编程字线信息和使用该字线信息检测最后经编程页面的方法的图。
图8示出了图4的存储器块BLK1至BLKz中的一个存储器块和读/写电路123中所包括的页面缓冲器。在一个实施例中,四条字线WL0至WL3和八条位线BL0至BL7可以耦合到存储器块。在存储器块中,存储器单元可以布置在字线和位线之间的交叉点处。耦合到每个字线的多个存储器单元可以形成单个页面。
尽管图8举例仅示出了四个字线和八个位线,但是更多数量的字线和更多数量的位线可以耦合到存储器块。
存储器块中所包括的单元可以被分成主区域中所包括的存储器单元和备用区域中所包括的存储器单元。
主区域中所包括的存储器单元可以是用于存储与主机300的写请求相对应的数据的存储器单元。主区域中的阴影部分可以指示同一页面中所包括的至少一个存储器单元已被编程。
备用区域中所包括的存储器单元可以是用于存储字线信息的存储器单元。字线信息可以指示经编程页面的位置。当主区域中所包括的存储器单元被编程时,备用区域中所包括的相应存储器单元可以同时被编程。
在一个实施例中,多个存储器单元可以被从对应于第零字线WL0的页面到对应于第三字线WL3的页面(从耦合到第零字线WL0的存储器单元到耦合到第三字线WL3的存储器单元)逐页地顺序编程。对备用区域中的存储器单元进行编程,使得页面的备用区域中的经编程的存储器单元的数量可以指示该页面的地址(位置)。在所公开的技术的一个实施方案中,页面的备用区域可以以递增的方式被编程,使得页面的备用区域中的经编程的存储器单元的数量随着页面地址的增加而增加。换句话说,备用区域中所包括的经编程的存储器单元的数量对于每个页面编程增加一个单元。例如,由于主区域中的存储器单元被逐字线地顺序编程,所以当第一页面被编程时,第一页面的备用区域中所包括的最外部存储器单元被编程,并且当第二页面被编程时,第二页面的备用区域中的两个最外部存储器单元被编程。当第三页面被编程时,第三页面的备用区域中的三个最外部存储器单元被编程。这里,最外部的存储器单元可以耦合到第零位线BL0的存储器单元,第零位线是最外部位线。
例如,最后经编程页面可以被如下识别。当耦合到第零字线WL0的存储器单元被编程时,字线信息可以存储在相应的备用区域中,以指示包括耦合到第零字线WL0的存储器单元的第零页面Page0已被编程。可以通过在相应的备用区域(例如,耦合到第零字线WL0的备用区域)中编程存储器单元来存储字线信息。例如,对应的备用区域中的存储器单元被编程,该存储器单元耦合到对应于第零字线WL0的至少一个位线。
在一个实施方案中,指示第零页面Page0已被编程的存储器单元可以是耦合到第零字线WL0和第零位线BL0的存储器单元。因此,当第零页面Page0的主区域中的存储器单元被编程时,耦合到第零字线WL0和第零位线BL0的存储器单元可以同时被编程。以下将讨论耦合到第零字线WL0和第零位线BL0的经编程的存储器单元如何能指示已经对其执行了编程操作的第零页面Page0的地址(位置)。
当耦合到第一字线WL1的存储器单元被编程时,字线信息可以存储在相应的备用区域中,以指示包括耦合到第一字线WL1的存储器单元的第一页面Page1已被编程。可以通过在相应的备用区域(例如,耦合到第一字线WL1的备用区域)中编程存储器单元来存储字线信息。例如,相应的备用区域中的存储器单元被编程,该存储器单元耦合到对应于第一字线WL1的至少一个位线。
在一个实施方案中,指示第一页面Page1已被编程的存储器单元可以是耦合到第一字线WL1和第一位线BL1的存储器单元。因此,当第一页面Page1的主区域中的存储器单元被编程时,耦合到第一字线WL1和第一位线BL1的存储器单元可以同时被编程。
在执行了编程操作之后,存储器装置100可以执行用于定位最后经编程页面的最后页面搜索读操作。
在一个实施例中,存储器装置100可以在最后页面搜索读操作期间同时读取存储器块中所包括的多个页面。详细地,响应于最后页面读取命令,存储器装置100可以同时读取存储器块中所包括的多个页面,在存储器装置100中所包括的多个存储器块当中,已经对该存储器块最后执行了编程操作。存储器装置100可以提供通过同时将多个页面读取到存储器控制器200而获得的数据作为关于最后经编程页面的信息。
为了同时读取多个页面,具有相同电平的读取电压Vread可以施加至耦合到存储器块的所有字线。详细地,响应于最后页面读取命令,存储器装置100可以同时将相同的读取电压施加至耦合到存储器块的多个字线,在多个存储器块当中已经对该存储器块最后执行了编程操作,并且从而读取关于最后经编程页面的信息。
读电压可以是读阈值电压,用于区分擦除状态和编程状态。
存储器装置100可以通过位线不仅读取存储在主区域中的数据,而且还读取指示经编程页面的地址(位置)的字线信息。详细地,响应于最后页面读取命令,存储器装置100可以将存储器块的字线信息提供给存储器控制器200作为最后经编程页面信息,在存储器装置100中所包括的多个存储器块当中,已经对该存储器块最后执行了编程操作。
在一个实施例中,耦合到位线的多个存储器单元可以通过AND操作读取,并且被读取的数据可以存储在页面缓冲器中。在存储在页面缓冲器中的数据当中,阴影部分,即存储在主区域中的数据,可以是经编程数据。在存储在页面缓冲器中的数据当中,存储在备用区域中的数据可以是最后经编程页面信息。在备用区域中的耦合到位线的多个存储器单元当中的至少一个存储器单元已经被编程的情况下,通过相应的位线读取的数据可以是“0”。
位翻转可以破坏最后经编程页面信息。当发生位翻转时,数据位可以从“0”变为“1”或从“1”变为“0”。当存储器单元被编程为低电平时,可以发生位翻转。如果最后经编程页面信息由位翻转改变,则可能很难找到经编程页面。因此,为了定位第零页面Page0,耦合到第一字线WL1和第零位线BL0的存储器单元编程单元10可以被附加地编程。
这样,如果存储在页面缓冲器中的最后经编程页面信息是“1100”,则可这以显示第零页面Page0和第一页面Page1已被编程。因此,可以确定最后经编程页面是第一页面Page1。
图9是示出基于图8中示出的方法实现的存储器块的示例的图。
尽管图9示出了字线的数量是32(WL0到WL31)并且位线的数量是N+1(BL0到BLN),但是更多数量的字线和更多数量的位线可以耦合到存储器块。在存储器块中,存储器单元可以布置在字线和位线之间的交叉点处。耦合到每个字线的多个存储器单元可以形成单个页面。换句话说,耦合到第零字线WL0的存储器单元可以形成第零页面Page0,耦合到第一字线WL1的存储器单元可以形成第一页面Page1,耦合到第二字线WL2的存储器单元可以形成第二页面Page2,并且耦合到第三字线WL3的存储器单元可以形成第三页面Page3。
在一个实施例中,第零页面Page0到第四页面Page4中所包括的存储器单元可以被编程。主区域中的阴影部分可以指示同一页面中所包括的至少一个存储器单元已被编程。为了指示第零页面Page0到第四页面Page4中所包括的存储器单元当中的主区域中所包括的存储器单元已经被编程,可以将字线信息存储在备用区域中所包括的存储器单元中。字线信息可以指示经编程页面的位置。为此,可以对耦合到与备用区域的存储器单元当中的每个字线对应的至少一个位线的存储器单元进行编程。
例如,第零字线WL0可以对应于第零位线BL0,第一字线WL1可以对应于第一位线BL1,第二字线WL2可以对应于第二位线BL2,第三字线WL3可以对应于第三位线BL3,并且第四字线WL4可以对应于第四位线BL4。换句话说,字线可以对应于从作为最外部位线的第零位线BL0到第三位线BL3的顺序中的相应位线。
因此,当耦合到第零至第四字线WL0至WL4的存储器单元被编程时,字线信息可以同时存储在耦合到每个字线和与字线对应的位线的存储器单元中。如果存储了字线信息,则最后页面确定单元224可以在稍后描述的读操作期间检测到第零页面Page0到第四页面Page4已被编程。
为了指示每个页面已经被编程,可以附加地存储字线信息。这样做的原因是为了弥补由于位翻转而可能发生的字线信息的潜在损失。
详细地,耦合到第一至第四字线WL1至WL4和第零位线BL0的存储器单元可以被编程以指示第零页面Page0的地址(位置)。耦合到第二至第四字线WL2至WL4和第一位线BL1的存储器单元可以被编程以指示第一页面Page1的地址(位置)。耦合到第三至第四字线WL3至WL4和第二位线BL2的存储器单元可以被编程以指示第二页面Page2的地址(位置)。耦合到第四字线WL4和第三位线BL3的存储器单元可以被编程为指示第三页面Page3的地址(位置)。
在执行了编程操作之后,存储器装置100可以执行用于检测最后经编程页面的最后页面搜索读操作。
在一个实施例中,在最后页面搜索读操作中,可以同时读取存储器块中所包括的多个页面。为了同时读取多个页面,具有相同电平的读取电压Vread可以施加至耦合到存储器块的所有字线WL0至WL31。
存储器装置100不仅可以读取存储在主区域中的数据,还可以读取根据读操作指示经编程页面位置的字线信息。
在一个实施例中,可以通过对存储在与位线耦合的多个存储器单元中的数据位执行的AND操作来读取与位线耦合的所述多个存储器单元,并且可以将AND操作的结果存储在页面缓冲器中。在存储在页面缓冲器中的数据当中,阴影部分、即存储在主区域中的数据可以是经编程数据。在存储在页面缓冲器中的数据当中,存储在备用区域中的数据可以是最后经编程页面信息。在备用区域中的耦合到位线的多个存储器单元当中的至少一个存储器单元已经被编程的情况下,通过相应的位线读取的数据可以是“0”。
如果存储在页面缓冲器中的最后经编程页面信息可以是“11100000”,则这能显示第零页面Page0到第四页面Page4已经被编程。因此,可以确定最后经编程页面是第四页面Page4。
图10是示出基于所公开的技术的一个实施例的编程字线信息和使用该字线信息检测最后经编程页面的方法的图。
尽管图10示出了字线的数量是4(WL0到WL3)并且位线的数量是8(BL0到BL7),但是更多数量的字线和更多数量的位线可以耦合到存储器块。在存储器块中,存储器单元可以布置在字线和位线之间的交叉点处。耦合到每个字线的多个存储器单元可以形成单个页面。
由于图10的实施例除了“未编程单元10”之外与图8的实施例相同,因此下面仅描述“未编程单元10”。
为了指示包括耦合到第一字线WL1的存储器单元的第一页面Page1已被编程,字线信息可以存储在备用区域中。为了存储字线信息,可以对耦合到第一字线WL1和第零字线BL0的存储器单元进行附加地编程。这样做的原因是为了弥补由于位翻转而可能发生的字线信息的潜在损失。然而,如果耦合到第一字线WL1和第零位线BL0的存储器单元被附加地编程,则存储器单元的编程可能受到相邻经编程的存储器单元的干扰,从而未能达到目标编程状态(例如,目标阈值电压)。
因此,在所公开的技术的某个实施例中,仅耦合到相应的字线和位线的一个存储器单元被编程以指示相应的页面已被编程。
当页面被顺序编程时,在备用区域中所包括的存储器单元可以按照从存储器单元的顺序被编程,该存储器单元耦合到作为最外部位线的第零位线BL0。详细地,为了指示第零页面Page0已被编程,耦合到第零字线WL0和第零位线BL0的存储器单元可以被编程。为了指示第一页面Page1已被编程,耦合到第一字线WL1和第一位线BL1的存储器单元可以被编程。
存储器装置100可以同时读取存储器块中所包括的多个页面,并且从而读取指示经编程页面位置的字线信息。详细地,可以通过对存储在耦合到位线的存储器单元中的数据位执行的AND操作来读取耦合到位线的多个存储器单元,并且可以将AND操作的结果存储在页面缓冲器中。存储在页面缓冲器中的数据可以是最后经编程页面信息。在耦合到位线的多个存储器单元当中的至少一个存储器单元已经被编程的情况下,通过相应的位线读取的数据可以是“0”。
尽管作为耦合到第一字线WL1和第零位线BL0的存储器单元的“未编程单元10”未被编程,但是存储在页面缓冲器中的最后经编程页面信息可以是“1100”。最后经编程页面信息显示第零页面Page0和第一页面Page1已被编程。因此,可以确定最后经编程页面是第一页面Page1。
图11是示出基于图10中示出的方法实现的存储器块的示例的图。
尽管图11示出了字线的数量是32(WL0到WL31)并且位线的数量是N+1(BL0到BLN),但是更多数量的字线和更多数量的位线可以耦合到存储器块。在存储器块中,存储器单元可以布置在字线和位线之间的交叉点处。耦合到每个字线的多个存储器单元可以形成单个页面。换句话说,耦合到第零字线WL0的存储器单元可以形成第零页面Page0,耦合到第一字线WL1的存储器单元可以形成第一页面Page1,耦合到第二字线WL2的存储器单元可以形成第二页面Page2,并且耦合到第三字线WL3的存储器单元可以形成第三页面Page3。
由于图11的实施例除了其中存储器单元的数量之外与图9的实施例相同,在该存储器单元中存储字线信息以指示经编程页面的位置,仅在下面描述存储字线信息的方法。
字线信息可以是指示每个页面的位置的数据。为此,可以对耦合到与备用区域的存储器单元当中的每个字线对应的至少一个位线的存储器单元进行编程。为了防止在最后经编程页面信息中发生位翻转,备用区域中的存储器单元可以被附加地编程。然而,在存储器单元被附加地编程的情况下,存储器单元的编程可能受到相邻经编程的存储器单元的干扰,从而无法通过编程干扰现象和存储器单元之间的干扰现象达到目标编程状态(例如,目标阈值电压)。
因此,在所公开的技术的某个实施例中,仅耦合到相应的字线和位线的一个存储器单元被编程以指示相应的页面已被编程。例如,为了指示第零页面Page0已被编程,耦合到第零字线WL0和第零位线BL0的存储器单元可以被编程。为了指示第一页面Page1已被编程,耦合到第一字线WL1和第一位线BL1的存储器单元可以被编程。为了指示第二页面Page2已被编程,可以仅对耦合到第二字线WL2和第二位线BL2的存储器单元编程。为了指示第三页面Page3已被编程,可以仅对耦合到第三字线WL3和第三位线BL3的存储器单元编程。为了指示第四页面Page4已被编程,可以仅对耦合到第四字线WL4和第四位线BL4的存储器单元编程。
在最后页面搜索读操作期间,可以以相同的方式读出最后经编程页面信息,尽管仅对耦合到每个字线和与字线相对应的位线的存储器单元编程。换句话说,存储在页面缓冲器中的最后经编程页面信息可以是“11100000”。最后经编程页面信息显示第零页面Page0到第四页面Page4已经被编程。因此,可以确定最后经编程页面是第四页面Page4。
图12是示出基于所公开的技术的一个实施例的编程字线信息和使用该字线信息检测最后经编程页面的方法的图。
尽管图12示出了字线的数量是4(WL0到WL3)并且位线的数量是6(BL0到BL5),但是更多数量的字线和更多数量的位线可以耦合到存储器块。在存储器块中,存储器单元可以布置在字线和位线之间的交叉点处。耦合到每个字线的多个存储器单元可以形成单个页面。
在一个实施例中,可以对耦合到多个字线当中的第零至第二字线WL0至WL2的存储器单元执行编程操作。耦合到第零字线至第二字线WL0至WL2的存储器单元可以分别形成第零页面至第二页面Page0至Page2。主区域中的阴影部分可以指示同一页面中所包括的至少一个存储器单元已被编程。
在一个实施例中,存储在备用区域中的字线信息可以指示经编程页面的位置。字线信息可以通过编程相应的备用区域中的存储器单元来存储。例如,相应的备用区域中的存储器单元可以被编程,该存储器单元耦合到对应于字线的至少一个位线。
在一个实施方案中,耦合到存储器块的字线的总数可以大于备用区域中所包括的位线的数量。因此,假设偶数编号的字线对应于第零位线BL0,并且奇数编号的字线对应于第一位线BL1。
字线信息可以存储在耦合到第零字线WL0和第零位线BL0的每个存储器单元中,存储器单元耦合到第一字线WL1和第一位线BL1,并且存储器单元耦合到第二字线WL2和第零位线BL0。
存储器装置100可以执行用于检测最后经编程页面的最后页面搜索读操作。
在一个实施例中,存储器装置100可以在最后页面搜索读操作期间同时读取存储器块中所包括的多个页面。例如,响应于最后页面读取命令,存储器装置100可以同时读取存储器块中所包括的多个页面,已经对存储器装置100中所包括的多个存储器块当中的该存储器块最后执行了编程操作。存储器装置100可以提供通过同时将多个页面读取到存储器控制器200而获得的数据作为关于最后经编程页面的信息。
在一个实施例中,耦合到存储器块的字线的总数可以大于备用区域中所包括的位线的数量。在耦合到存储器块的字线总数很大的情况下,即使执行最后页面搜索读操作,也可能难以检测最后经编程页面。因此,存储器块中所包括的多个页面可以被分成多个组。可以为每个组执行最后页面搜索读操作。例如,可以同时读取多个页面中的至少两个或更多个页面。
为了同时读取多个页面,具有相同电平的读取电压Vread可以施加至耦合到存储器块的一些字线。例如,响应于最后页面读取命令,存储器装置100可以同时将具有相同电平的读取电压施加到至耦合到存储器块的多个字线中的一些字线,在多个存储器块当中已经对该存储器块最后执行了编程操作,并且从而读取关于最后经编程页面的信息。
在一个实施例中,存储器块中所包括的多个页面可以分为包括第一组Group1和第二组Group2的两组或更多组。可以执行读操作。第一组Group1中可以包括第零页面Page0和第一页面Page1,第二组Group2中可以包括第二页面Page2和第三页面Page3。如果对第一组和第二组Group1和Group2中所包括的页面执行读操作,则最后经编程页面信息可以存储在页面缓冲器中。最后经编程页面可以由最后经编程页面信息检测到。
可以首先对第一和第二组Group1和Group2中的第一组Group1执行读操作。读取电压Vread可以施加到第零字线WL0和第一字线WL1,并且通过电压Vpass可以施加到第二字线WL2和第三字线WL3。可以同时读取耦合到第零字线WL0和第一字线WL1的存储器单元,以检测耦合到第零字线WL0和第一字线WL1的存储器单元是否已被编程。
例如假设已经如图12所示,耦合到第零字线WL0的存储器单元已被编程,则通过AND操作读取第零位线BL0的结果将是“0”,而不管耦合到第零位线BL0的其他存储器单元是否已被编程。同样地假设已经如图12所示,耦合第一字线WL1的存储器单元已被编程,则通过AND操作读取第一位线BL1的结果将是“0”,而不管被耦合到第一位线BL1的其他存储器单元是否已被编程。
因此,存储在页面缓冲器中的最后经编程页面信息将为“00”,并且因此最后经编程页面不会通过读取第零页面Page0和第一页面Page1的结果而被检测到,并且进一步读操作将是必要的。
在已经执行了对第一组Group1的读操作之后,可以对第二组Group2执行读操作。通过电压Vpass可以施加到第零字线WL0和第一字线WL1,并且读取电压Vread可以施加到第二字线WL2和第三字线WL3。可以同时读取耦合到第二字线WL2和第三字线WL3的存储器单元,以检测耦合到第二字线WL2和第三字线WL3的存储器单元是否已被编程。
由于在耦合到第零位线BL0的存储器单元当中,耦合到第二字线WL2的存储器单元已经被编程,因此通过AND操作读取第零位线BL0的结果将是“0”。另外,由于在耦合到第一位线BL1的存储器单元当中,耦合到第二字线WL2和第三字线WL3的存储器单元没有被编程,因此读取第一位线BL1的结果将是“1”。
因此,存储在页面缓冲器中的最后经编程页面信息将是“10”。由于最后经编程页面信息是“10”,因此可以确定最后经编程页面是第二页面Page2。
图13是示出基于所公开的技术的一个实施例的编程字线信息和使用该字线信息检测最后经编程页面的方法的图。
尽管图13示出了字线的数量是4(WL0到WL3)并且位线的数量是6(BL0到BL5),但是更多数量的字线和更多数量的位线可以耦合到存储器块。在存储器块中,存储器单元可以布置在字线和位线之间的交叉点处。耦合到每个字线的多个存储器单元可以形成单个页面。
在一个实施例中,用于指示包括耦合到对应字线的存储器单元的每个页面已被编程的字线信息可以存储在备用区域中。在图13中,主区域中的阴影部分可以指示在同一页面中所包括的至少一个存储器单元已被编程。字线信息可以指示经编程页面的地址(位置)。
耦合到存储器块的字线的总数可以大于备用区域中所包括的位线的数量。因此,假设偶数编号的字线对应于第零位线BL0,并且奇数编号的字线对应于第一位线BL1。
为了存储字线信息,备用区域中的存储器单元可以按组编程。尽管备用区域中的存储器单元被编程为单个目标编程状态(例如,目标阈值电压),但是存储器单元可以被编程为针对各个组的不同目标编程状态。因此,备用区域中的存储器单元当中的第一组Group1和第二组Group2中所包括的存储器单元的目标编程状态可以彼此不同。假设在第一组Group1中所包括的存储器单元的目标编程状态是第二编程状态P2,并且在第二组Group2中所包括的存储器单元的目标编程状态是第五编程状态P5。
字线信息可以通过编程备用区域中的存储器单元而存储在备用区域中,以指示第零页面Page0到第二页面Page2已被编程。
例如,在第一组Group1中所包含的存储器单元当中,耦合到第零字线WL0和第零位线BL0的存储器单元、以及耦合到第一字线WL1和第一位线BL1的存储器单元可以被编程到第二编程状态P2。此外,在第二组Group2中所包括的存储器单元当中,耦合到第二字线WL2和第零位线BL0的存储器单元可以被编程到第五编程状态P5。
在将字线信息存储在每个组的至少一个相应的存储器单元中之后,可以执行用于检测最后经编程页面的最后页面搜索读操作。在所公开的技术的一些实施方案中,如果备用区域中的存储器单元被按组编程,则存储器装置100不需要按组读取多个页面。因此,可以通过将具有不同电平的读取电压施加至耦合到存储器块的所有字线,来检测最后经编程页面。
在一个实施例中,存储器装置100可以在最后页面搜索读操作期间同时读取存储器块中所包括的多个页面。例如,响应于最后页面读取命令,存储器装置100可以同时读取存储器块中所包括的多个页面,在存储器装置100中所包括的多个存储器块当中,已经对该存储器块最后执行了编程操作。存储器装置100可以提供通过同时将多个页面读取到存储器控制器200而获得的数据作为关于最后经编程页面的信息。
在一个实施例中,为了检测最后经编程页面,具有相同电平的读取电压可以施加到被耦合到存储器块的所有字线。例如,响应于最后页面读取命令,存储器装置100可以同时将具有相同电平的读取电压施加至耦合到存储器块的多个字线,在多个存储器块当中,已经对该存储器块最后执行了编程操作,并且从而读取关于最后页面的信息,
如果不可能通过将读取电压施加至耦合到存储器块的所有字线来检测最后经编程页面,则另一个电平的读取电压可以施加到所有字线。
用于检测第零页面Page0和第一页面Page1是否已被编程的读取电压的电平可以是第一读取电压R1,其区分擦除状态和第二编程状态P2。第一读取电压R1可以施加至耦合到存储器块的所有字线。
在第一读取电压R1读取存储器块中所包括的所有页面的情况下,存储在页面缓冲器中的最后经编程页面信息可以是“00”。最后经编程页面信息显示第零页面Page0和第一页面Page1已被编程。因此,读操作不能使用第一读取电压R1检测最后经编程页面。
用于检测第二页面Page2和第三页面Page3是否已被编程的读取电压的电平可以是第三读取电压R3,其区分第二编程状态P2和第五编程状态P5。
在第三读取电压R3读取存储器块中所包括的所有页面的情况下,存储在页面缓冲器中的最后经编程页面信息可以是“10”。最后经编程页面信息显示第二页面Page2已被编程。因此,可以确定最后经编程页面是第二页面Page2。
图14是示出基于所公开的技术的一个实施例的存储器装置100的操作的图。
参考图14,在步骤S1401,主机接口211可以接收来自主机300的写请求。写请求可以是用于在存储器装置100中存储数据的请求。
在步骤S1403,命令生成单元212可以确定要对其执行从主机接口211接收的写请求的字线。命令生成单元212可以根据写请求和从映射信息存储单元213接收的映射信息确定数据待存储在其中的字线。
在步骤S1405,命令生成单元212可以生成与所确定的字线对应的字线信息。字线信息可以是用于指示要对其执行编程操作的字线的位置的数据。
在步骤S1407,命令生成单元212可以向存储器装置100提供用于存储数据和字线信息的编程命令。数据可以是与从主机300接收的写请求对应的数据。数据和字线信息可以根据命令生成单元212提供的编程命令存储在存储器装置100中。
图15是示出基于所公开的技术的一个实施例的存储器控制器200的操作的图。
参考图15,在步骤S1501,SPO感测单元221可以感测到SPO事件已经发生。为了从SPO事件进行恢复,SPO感测单元221可以将SPO事件感测信息提供给编程历史存储单元222。
在步骤S1503,可以使用存储在编程历史存储单元222中的映射信息来确定存储器块,在SPO事件发生之前已经对该存储器块最后执行了编程操作。编程历史存储单元222可以包括为执行编程操作而生成的映射信息。因此,可以使用映射信息确定存储器块,在SPO事件发生之前已经对该存储器块最后执行了编程操作。编程历史存储单元222可以将关于对应的存储器块的信息提供给最后页面读取控制单元223。
在步骤S1505,最后页面读取控制单元223可以向存储器装置100提供最后页面读取命令。响应于最后页面读取命令,存储器装置100可以执行最后页面搜索读操作。在最后页面搜索读操作期间,存储器装置100可以同时读取存储器块中所包括的所有页面,或者可以同时读取一些页面。
在步骤S1507,最后页面读取控制单元223可以从存储器装置100获得作为执行最后页面搜索读操作的结果的最后经编程页面信息。最后页面读取控制单元223可以将获得的最后经编程页面信息提供给最后页面确定单元224。
在步骤S1509,最后页面确定单元224可以使用最后经编程页面信息检测最后经编程页面的位置。最后页面确定单元224可以使用最后经编程页面信息检测其中已发生SPO事件的存储器块中的最后经编程页面。
图16是示出基于所公开的技术的一个实施例的存储器装置100的操作的图。
参考图16,在步骤S1601,存储器装置100可以从最后页面读取控制单元223接收最后页面读取命令。响应于最后页面读取命令,存储器装置100可以执行最后页面搜索读操作以检测最后经编程页面。
在步骤S1603,当SPO事件发生时,存储器装置100可以使用关于存储器块的信息,同时读取存储器块中所包括的所有页面,在该存储器块上已经最后执行了编程操作。为了读取存储器块中所包括的所有页面,存储器装置100可以将具有相同电平的读取电压或具有不同电平的读取电压施加至耦合到存储器块的所有字线。
在步骤S1605,存储器装置100可以获得最后经编程页面信息,该最后经编程页面信息是读取指示经编程页面位置的字线信息的结果。最后经编程页面信息可以存储在页面缓冲器中。存储器装置100可以使用存储在页面缓冲器中的最后经编程页面信息来检测最后经编程页面。
图17是示出基于所公开的技术的一个实施例的存储器装置100的操作的图。
参考图17,在步骤S1701,存储器装置100可以从最后页面读取控制单元223接收最后页面读取命令。响应于最后页面读取命令,存储器装置100可以执行最后编程读操作以检测最后经编程页面。
在步骤S1703,耦合到存储器块的字线的总数可以与备用区域中所包括的位线的数量进行比较。可以通过比较耦合到存储器块的字线的总数与位线的数量来确定最后编程读操作。
在步骤S1705,可以确定耦合到存储器块的字线总数是否大于备用区域中所包括的位线数量。在字线总数大于备用区域中所包括的位线数量的情况下,过程进行到步骤S1707。在字线总数小于备用区域中所包括的位线数量的情况下,过程进行到步骤S1709。
在步骤S1707,由于耦合到存储器块的字线总数大于备用区域中所包括的位线数量,因此存储器装置100可以将存储器块中所包括的多个页面分成组并且读取该页面组。在多个页面被分成组并且读取页面组的情况下,具有相同电平的读取电压或具有相同电平的通过电压可以施加到每组的字线。
在步骤S1709,由于耦合到存储器块的字线总数小于备用区域中所包含的位线数量,因此可以同时读取存储器块中所包括的所有页面。因此,具有相同电平的读取电压可以同时施加至耦合到存储器块的所有字线。
图18是示出图1的存储器控制器的示例的图。
存储器控制器1000耦合到主机和存储器装置。响应于来自主机的请求,存储器控制器1000可以访问存储器装置。例如,存储器控制器1000可以控制存储器装置的写操作、读操作、擦除操作和后台操作。存储器控制器1000可以在存储器装置和主机之间提供接口。存储器控制器1000可以驱动固件以控制存储器装置。
参考图18,存储器控制器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将由主机提供的逻辑地址(LA)转换为物理地址(PA)。FTL可以使用映射表接收LA并将LA转换为PA。使用FTL的地址映射方法可以根据映射单元以各种方式进行修改。代表性地址映射方法可以包括页映射方法、块映射方法和混合映射方法。
处理器1010可以随机化从主机接收的数据。例如,处理器1010可以使用随机化种子来随机化从主机接收的数据。随机化的数据可以提供给存储器装置作为要存储的数据,并且可以被编程到存储器单元阵列。
在读操作期间,处理器1010可以对从存储器装置100接收的数据进行去随机化。例如,处理器1010可以使用去随机化种子对从存储器装置接收的数据进行去随机化。去随机化的数据可以输出到主机。
在一个实施例中,处理器1010可以驱动软件或固件以执行随机化操作或去随机化操作。
存储器缓冲器单元1020可以用作处理单元1010的操作存储器、高速缓存存储器或缓冲器存储器。存储器缓冲器单元1020可以存储要由处理单元1010执行的代码和命令。存储器缓冲器单元1020可以存储要由处理单元1010处理的数据。存储器缓冲器单元1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
纠错单元1030可以执行纠错。ECC电路1030可以基于要通过存储器接口1060写入存储器装置100的数据来执行ECC编码操作。ECC编码的数据可以通过存储器接口1060传送到存储器装置。ECC电路1030可以对通过存储器接口1060从存储器装置接收的数据执行ECC解码操作。例如,ECC电路1030可以被包括在存储器接口1060中作为存储器接口1060的部件。
主机接口1040可以在处理器1010的控制下与外部主机通信。主机接口1040可以使用各种通信方法中的至少一种来执行通信,例如通用串行总线(USB)、串行AT附件(SATA)、串行附接SCSI(SAS)、高速芯片(HSIC)、小型计算机系统接口(SCSI)、外设部件互连(PCI)、PCI-express(PCIe)、非易失性存储器express(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、ECC电路1030和存储器接口1060。控制总线可以耦合到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图19是示出基于所公开技术的一些实施例所实现的存储卡系统2000的示例的框图。
参照图19,存储卡系统2000可以包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100耦合到存储器装置2200。存储器控制器2100可以访问存储器装置2200。例如,存储器控制器2100可以控制存储器装置2200的读操作、写操作、擦除操作和后台操作。存储器控制器2100可以提供在存储器装置2200和主机之间的接口。存储器控制器2100可以驱动固件以控制存储器装置2200。存储器装置2200可以以与参照图4描述的存储器装置100相同的方式实施。
在一个实施例中,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理单元、主机接口、以及存储器接口和ECC电路等部件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以基于特定通信协议与外部装置(例如,主机)通信。在一个实施例中,存储器控制器2100可以通过各种通信协议中的至少一种与外部装置通信,诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围部件互连(PCI)、PCI-express(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机小型接口(SCSI)、增强型小磁盘接口(ESDI)、集成驱动电子器件(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和非易失性存储器express(NVMe)协议。在一个实施例中,连接器2300可以由上述各种通信协议中的至少一个来定义。
在一个实施例中,存储器装置2200可以在各种非易失性存储器装置中实现,例如电可擦除可编程ROM(EEPROM)、NAND闪存存储器、NOR闪存存储器、相变RAM(PRAM)、电阻RAM(ReRAM)、铁电RAM(FRAM)和自旋转移矩磁RAM(STT-MRAM)。
在一个实施例中,存储器控制器2100和存储器装置2200可以集成到单个半导体装置中以形成存储卡。例如,存储器控制器2100和存储器装置2200可以集成到单个半导体装置中以形成存储卡,例如个人计算机存储卡国际协会(PCMCIA)、紧凑型闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC,RS-MMC或MMCmicro)、SD卡(SD、miniSD、microSD或SDHC)、或通用闪存(UFS)。
图20是示出基于所公开技术的一些实施例所实现的固态驱动器(SSD)系统3000的示例的框图。
参考图20,SSD系统3000可以包括主机3100和SSD 3200。SSD3200可以通过信号连接器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之间的接口的信号。例如,信号SIG可以是由各种接口中的至少一个定义的信号,各种接口诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围部件互连(PCI)、PCI-express(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机小型接口(SCSI)、增强型小磁盘接口(ESDI)、集成驱动电子器件(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和非易失性存储器express(NVMe)接口。
辅助电源3230可以通过功率连接器3002耦合到主机3100。辅助电源3230可以被提供来自主机3100的功率PWR并且可以被电力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)。
图21是示出基于所公开的技术的一些实施例所实现的用户系统4000的示例的框图。
参考图21,用户系统4000可以包括应用处理器4100,存储器模块4200,网络模块4300,存储模块4400和用户接口4500。
应用处理器4100可以运行用户系统4000中包括的部件、操作系统(OS)或用户程序。在一个实施例中,应用处理器4100可以包括用于控制用户系统4000中包括的部件的控制器、接口、图形引擎等。应用处理器4100可以作为片上系统(SoC)提供。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可以包括易失性RAM(诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3 SDRAM、LPDDR SDRAM和LPDDR3 SDRAM)或非易失性RAM(诸如PRAM、ReRAM、MRAM和FRAM)。在一个实施例中,应用处理器4100和存储器模块4200可以基于叠层封装(POP)被封装,并且然后可以作为单个半导体封装提供。
网络模块4300可以与外部设备通信。例如,网络模块4300可以支持无线通信,例如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、WiMAX、WLAN、UWB、蓝牙或Wi-Fi通信。在一个实施例中,网络模块4300可以被包括在应用处理器4100中。
存储模块4400可以在其中存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可替代地,存储模块4400可以将存储在存储模块4400中的数据传输到应用处理器4100。在一个实施例中,存储模块4400可以实现为非易失性半导体存储器装置,诸如相变RAM(PRAM)、磁RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存或具有三维(3D)结构的NAND闪存。在一个实施例中,存储模块4400可以作为可移除存储介质(即,可移除驱动器)提供,诸如用户系统4000的存储卡或外部驱动器。
在一个实施例中,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置中的每一个可以以与上面参考图3和6描述的存储器装置100相同的方式操作。存储模块4400可以以与上面参考图1描述的存储装置50相同的方式操作。
用户接口4500可以包括用于将数据或指令输入到应用处理器4100或用于将数据输出到外部装置的接口。在一个实施例中,用户接口4500可以包括用户输入接口,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口4500还可以包括用户输出接口,诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电机。
所公开技术的各种实施例可以提供具有增强的操作速度的存储装置,以及操作存储装置的方法。
尽管已经公开了所公开的技术的实施例,但是本领域技术人员将理解,在不脱离所公开的技术的范围和精神的情况下,可以进行各种修改、添加和替换。
因此,所公开技术的范围必须由所附权利要求书和权利要求书的等同物而不是其前面的描述来定义。
在上面讨论的实施例中,可以选择性地执行或跳过所有步骤。另外,每个实施例中的步骤也可以不总是按正常顺序执行。此外,本说明书和附图中公开的实施例旨在帮助本领域普通技术人员更清楚地理解所公开的技术,而不是旨在限制所公开技术的范围。换句话说,所公开的技术所属领域的普通技术人员将能够容易地理解,基于所公开的技术的技术范围,各种修改是可能的。
已经参考附图描述了所公开的技术的实施例,并且应当根据所公开的技术的精神来解释在说明书中使用的特定术语或词语,而不限制其技术方案。应当理解,本文描述的基本发明构思的许多变化和修改仍将落入所附权利要求书及其等同物中所限定的所公开技术的精神和范围内。
Claims (20)
1.一种存储装置,包括:
存储器装置,包括多个存储器块,每个存储器块包括耦合到相应的多个字线的多个存储器单元;以及
存储器控制器,被耦合以与所述存储器装置通信,并且被配置为将数据存储在与所述多个字线的所选择的字线耦合的主区域中所包括的存储器单元中,并且将字线信息存储在与所选择的所述字线耦合的备用区域中,以指示已经对所述主区域执行了编程操作。
2.根据权利要求1所述的存储装置,其中所述字线信息存储在一个或多个存储器单元中,所述存储器单元耦合到所述备用区域中所包括的存储器单元当中与所选择的所述字线对应的一个或多个位线。
3.根据权利要求1所述的存储装置,其中以从耦合到最外部位线的存储器单元到耦合到最后位线的存储器单元的顺序,所述字线信息存储在所述备用区域中所包括的存储器单元中。
4.根据权利要求1所述的存储装置,
其中所述备用区域中所包括的存储器单元被划分为两组或更多组,并且
其中所述字线信息存储在所述两组或更多组中的至少一个组中。
5.根据权利要求1所述的存储装置,其中所述存储器控制器包括:
突然断电(SPO)感测单元,被配置为感测电力损失的SPO事件并且产生SPO事件感测信息;
编程历史存储单元,被耦合以与所述SPO感测单元通信,并且被配置为根据来自所述SPO感测单元的所述SPO事件感测信息,提供指示存储器块的存储器块信息,在所述存储器装置中所包括的所述多个存储器块当中,在所述SPO事件发生之前已经对所述存储器块最后执行了编程操作;以及
最后页面读取控制单元,被耦合以与所述编程历史存储单元和所述存储器装置通信,并且被配置为向所述存储器装置提供用于请求关于最后经编程页面的信息的最后页面读取命令,在所述多个存储器块当中的已被最后执行所述编程操作的所述存储器块中所包括的多个页面当中,已经对所述最后经编程页面最后执行了所述编程操作。
6.根据权利要求5所述的存储装置,其中响应于所述最后页面读取命令,所述存储器装置将所述存储器块的所述字线信息提供给所述存储器控制器作为最后经编程页面信息,在所述多个存储器块当中已经对所述存储器块最后执行了所述编程操作。
7.根据权利要求5所述的存储装置,其中响应于所述最后页面读取命令,所述存储器装置将通过同时读取所述存储器块中所包括的所述多个页面而获得的数据提供给所述存储器控制器作为关于所述最后经编程页面的信息,在所述多个存储器块当中已经对所述存储器块最后执行了所述编程操作。
8.根据权利要求5所述的存储装置,其中响应于所述最后页面读取命令,所述存储器装置同时将具有相同电平的读取电压施加至耦合到存储器块的所述多个字线,并且读取关于所述最后经编程页面的信息,在所述多个存储器块当中已经对所述存储器块最后执行了所述编程操作。
9.根据权利要求5所述的存储装置,其中响应于所述最后页面读取命令,所述存储器装置同时将具有相同电平的读取电压施加至耦合到所述存储器块的所述多个字线中的两个或更多个字线,并且读取关于所述最后经编程页面的信息,在所述多个存储器块当中已经对所述存储器块最后执行了所述编程操作。
10.根据权利要求6所述的存储装置,其中所述存储器控制器包括最后页面确定单元,所述最后页面确定单元配置为使用所述最后经编程页面信息来定位所述最后经编程页面。
11.一种操作存储装置的方法,包括:
作为所述存储装置的操作的一部分,控制多个存储器单元,所述多个存储器单元耦合到多个字线中的每个字线,所述多个字线耦合到存储器装置中所包括的多个存储器块中的一个或多个存储器块;
将数据存储在所选择的存储器单元当中的主区域中所包括的存储器单元中,所选择的所述存储器单元耦合到所述多个字线中的所选择的字线;以及
存储字线信息,所述字线信息指示所选择的所述存储器单元当中的备用区域中所包括的存储器单元中所选择的字线的位置。
12.根据权利要求11所述的方法,其中存储所述字线信息包括将所述字线信息存储在存储器单元中,所述存储器单元耦合到在所述备用区域中所包括的所述存储器单元当中与所选择的所述字线对应的一个或多个位线。
13.根据权利要求11所述的方法,其中存储所述字线信息包括以从耦合到最外部位线的存储器单元到耦合到最后位线的存储器单元的顺序,将所述字线信息存储在所述备用区域中所包括的所述存储器单元中。
14.根据权利要求11所述的方法,其中所述字线信息的存储包括:
将所述备用区域中所包括的所述存储器单元划分为两组或更多组;并且
将所述字线信息存储在所述两组或更多组中的任何一个组中。
15.根据权利要求11所述的方法,还包括:
感测所述存储装置的电力损失的发生,以产生指示感测到的电力损失发生的感测信息;
根据所述感测信息,产生指示存储器块的存储器块信息,在所述存储器装置中所包括的所述多个存储器块当中,在感测到的电力损失发生之前已经对所述存储器块最后执行了编程操作;以及
向所述存储器装置提供用于请求关于最后经编程页面的信息的最后页面读取命令,在所述多个存储器块当中已经被最后执行所述编程操作的所述存储器块中所包括的多个页面当中,已经对所述最后经编程页面最后执行了所述编程操作。
16.根据权利要求15所述的方法,还包括:
响应于所述最后页面读取命令,执行最后页面搜索读操作;以及
响应于所述最后页面读取命令,生成和提供关于所述存储器块的所述字线信息的最后经编程页面信息,在所述多个存储器块当中已经对所述存储器块最后执行了所述编程操作。
17.根据权利要求15所述的方法,还包括:响应于所述最后页面读取命令,提供通过同时读取所述存储器块中所包括的所述多个页面而获得的数据作为关于所述最后经编程页面的信息,在所述多个存储器块当中已经对所述存储器块最后执行了所述编程操作。
18.根据权利要求15所述的方法,还包括:响应于所述最后页面读取命令,同时向耦合到所述存储器块的所述多个字线施加具有相同电平的读取电压,并且读取关于所述最后经编程页面的信息,在所述多个存储器块当中已经对所述存储器块最后执行了所述编程操作。
19.根据权利要求15所述的方法,还包括:响应于所述最后页面读取命令,同时向耦合到所述存储器块的所述多个字线中的两个或更多个字线施加具有相同电平的读取电压,并且读取关于所述最后经编程页面的信息,在所述多个存储器块当中已经对所述存储器块最后执行了所述编程操作。
20.根据权利要求15所述的方法,还包括使用所述最后经编程页面信息检测所述最后经编程页面。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180131155A KR102645740B1 (ko) | 2018-10-30 | 2018-10-30 | 저장 장치 및 그 동작 방법 |
KR10-2018-0131155 | 2018-10-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111128280A true CN111128280A (zh) | 2020-05-08 |
CN111128280B CN111128280B (zh) | 2024-04-23 |
Family
ID=70325275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910827368.8A Active CN111128280B (zh) | 2018-10-30 | 2019-09-03 | 存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10983726B2 (zh) |
KR (1) | KR102645740B1 (zh) |
CN (1) | CN111128280B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10832753B2 (en) * | 2017-07-31 | 2020-11-10 | General Electric Company | Components including structures having decoupled load paths |
KR20200089547A (ko) * | 2019-01-17 | 2020-07-27 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20210099936A (ko) * | 2020-02-05 | 2021-08-13 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
US20230335199A1 (en) * | 2022-04-19 | 2023-10-19 | Micron Technology, Inc. | Identifying a most recently programmed page during memory device initialization |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060015687A1 (en) * | 2004-07-13 | 2006-01-19 | Jin-Kook Kim | Non-volatile memory devices having multi-page programming capabilities and related methods of operating such devices |
KR20090098020A (ko) * | 2008-03-13 | 2009-09-17 | 주식회사 하이닉스반도체 | 비휘발성 메모리 소자 및 상기 비휘발성 메모리 소자의프로그램 방법 |
CN102682848A (zh) * | 2011-03-16 | 2012-09-19 | 三星电子株式会社 | 存储器装置、存储器卡、固态驱动器、系统及其操作方法 |
US20130311710A1 (en) * | 2012-05-17 | 2013-11-21 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and program method thereof |
CN106328200A (zh) * | 2015-07-03 | 2017-01-11 | 爱思开海力士有限公司 | 半导体器件及其操作方法 |
CN107562653A (zh) * | 2016-06-30 | 2018-01-09 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
US20180059968A1 (en) * | 2016-08-25 | 2018-03-01 | SK Hynix Inc. | Memory system and method for operating the memory system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101686590B1 (ko) * | 2010-09-20 | 2016-12-14 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 워드 라인 인터리빙 방법 |
KR20170006976A (ko) | 2015-07-10 | 2017-01-18 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102456490B1 (ko) * | 2016-01-12 | 2022-10-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
KR102514521B1 (ko) | 2016-03-23 | 2023-03-29 | 삼성전자주식회사 | 페이지 버퍼를 포함하는 불휘발성 메모리 장치 및 그것의 프로그램 검증 방법 |
KR102644275B1 (ko) * | 2016-05-19 | 2024-03-06 | 삼성전자주식회사 | 리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법 |
KR102564563B1 (ko) * | 2016-06-27 | 2023-08-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
KR102617411B1 (ko) * | 2018-08-31 | 2023-12-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
-
2018
- 2018-10-30 KR KR1020180131155A patent/KR102645740B1/ko active IP Right Grant
-
2019
- 2019-07-16 US US16/513,352 patent/US10983726B2/en active Active
- 2019-09-03 CN CN201910827368.8A patent/CN111128280B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060015687A1 (en) * | 2004-07-13 | 2006-01-19 | Jin-Kook Kim | Non-volatile memory devices having multi-page programming capabilities and related methods of operating such devices |
KR20090098020A (ko) * | 2008-03-13 | 2009-09-17 | 주식회사 하이닉스반도체 | 비휘발성 메모리 소자 및 상기 비휘발성 메모리 소자의프로그램 방법 |
CN102682848A (zh) * | 2011-03-16 | 2012-09-19 | 三星电子株式会社 | 存储器装置、存储器卡、固态驱动器、系统及其操作方法 |
US20130311710A1 (en) * | 2012-05-17 | 2013-11-21 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and program method thereof |
CN106328200A (zh) * | 2015-07-03 | 2017-01-11 | 爱思开海力士有限公司 | 半导体器件及其操作方法 |
CN107562653A (zh) * | 2016-06-30 | 2018-01-09 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
US20180059968A1 (en) * | 2016-08-25 | 2018-03-01 | SK Hynix Inc. | Memory system and method for operating the memory system |
Also Published As
Publication number | Publication date |
---|---|
KR20200048737A (ko) | 2020-05-08 |
US20200133574A1 (en) | 2020-04-30 |
KR102645740B1 (ko) | 2024-03-11 |
US10983726B2 (en) | 2021-04-20 |
CN111128280B (zh) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111258793B (zh) | 存储器控制器及其操作方法 | |
KR102535104B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN111128280B (zh) | 存储装置及其操作方法 | |
CN111104059A (zh) | 存储器控制器及操作该存储器控制器的方法 | |
US10910047B2 (en) | Storage device and method of operating the same | |
US11133069B2 (en) | Memory controller to determine an optimal read voltage, operating method thereof and storage device including the same | |
CN111105836B (zh) | 存储装置及其操作方法 | |
KR20220028300A (ko) | 메모리 시스템 및 그 동작 방법 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
KR102693235B1 (ko) | 메모리 장치 및 그 동작 방법 | |
CN110619912B (zh) | 存储装置以及该存储装置的操作方法 | |
CN111258931A (zh) | 存储器控制器及操作该存储器控制器的方法 | |
US11404100B2 (en) | Memory device and method of operating the same | |
KR20220021761A (ko) | 메모리 장치 및 그 동작 방법 | |
CN112289361A (zh) | 存储器装置及其操作方法 | |
KR102456175B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN111796962A (zh) | 存储装置以及存储装置的操作方法 | |
CN111580743B (zh) | 存储器控制器及其操作方法 | |
CN112015588B (zh) | 存储控制器以及操作该存储控制器的方法 | |
KR102513691B1 (ko) | 저장 장치 및 그 동작 방법 | |
KR20220077679A (ko) | 메모리 장치 및 그 동작 방법 | |
CN112783435A (zh) | 存储设备和操作存储设备的方法 | |
CN112447234A (zh) | 存储器控制器及其操作方法 | |
KR102713215B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN111190535B (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 |