CN112017718A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN112017718A CN112017718A CN201911119115.1A CN201911119115A CN112017718A CN 112017718 A CN112017718 A CN 112017718A CN 201911119115 A CN201911119115 A CN 201911119115A CN 112017718 A CN112017718 A CN 112017718A
- Authority
- CN
- China
- Prior art keywords
- program
- memory
- memory device
- read
- fail
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
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/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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0658—Controller construction arrangements
-
- 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
- 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
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output 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
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- 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
-
- 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/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
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
-
- 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/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
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)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
存储装置及其操作方法。一种用于将读取操作与编程操作一起执行的存储装置包括用于存储数据的存储器装置和用于控制存储器装置的存储器控制器。存储器装置包括:允许位设置寄存器,其用于存储允许位,允许位与在读取操作中读取的读取数据中所包括的失败位进行比较;以及读取操作控制器,其用于控制存储器装置在编程操作之后立即执行读取操作。存储器控制器包括:命令生成器,其用于成生成指示存储器装置执行操作的命令;坏块处理器,其用于基于由存储器装置执行的读取操作的结果设置坏块;以及失败信息控制器,其用于基于由存储器装置执行的读取操作的结果设置下一读取操作的操作模式。
Description
技术领域
本公开总体上涉及一种电子装置,更具体地,涉及一种存储装置及其操作方法。
背景技术
存储装置是被配置成在诸如计算机、智能电话或智能平板的主机装置的控制下存储数据的装置。存储装置包括被配置成在诸如硬盘驱动器(HDD)的磁盘上存储数据的装置,以及被配置成在诸如固态驱动器(SSD)或存储器卡的半导体存储器(即非易失性存储器)中存储数据的装置。
存储装置可以包括被配置成存储数据的存储器装置,以及被配置成控制存储器装置的存储器控制器。存储器装置可以分类为易失性存储器装置或非易失性存储器装置。非易失性存储器装置可以是只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻RAM(RRAM)和铁电RAM(FRAM)等。
发明内容
各种实施方式提供一种用于将读取操作与编程操作一起执行的存储装置及该存储装置的操作方法。
根据本公开的一个实施方式的是一种存储装置,其包括用于存储数据的存储器装置和用于控制存储器装置的存储器控制器。存储器装置包括:允许位设置寄存器,其被配置成存储允许位,允许位与在读取操作中读取的读取数据中所包括的失败位进行比较;以及读取操作控制器,其被配置成控制存储器装置在编程操作之后立即执行读取操作。存储器控制器包括:命令生成器,其被配置成生成指示存储器装置执行操作的命令;坏块处理器,其被配置成基于由存储器装置执行的读取操作的结果设置坏块;以及失败信息控制器,其被配置成基于由存储器装置执行的读取操作的结果设置下一读取操作的操作模式。
根据本公开的另一实施方式的是一种操作存储装置的方法,该存储装置包括用于存储数据的存储器装置和用于控制存储器装置的存储器控制器。该方法包括以下步骤:通过存储器装置在编程操作之后执行编程验证操作;当编程验证操作通过时,读取在存储器装置中的被编程的数据;通过存储器装置基于通过读取在存储器装置中的被编程的数据而获得的读取数据来确定编程操作的通过或失败;以及通过存储器装置分别基于所确定的编程操作的通过的结果或失败的结果,将编程通过信息或编程失败信息输出到存储器控制器。
附图说明
参照附图详细描述示例性实施方式;然而,它们可以以不同的形式实施,并且不应被解释为限于本文阐述的实施方式。相反,提供这些实施方式是为了使得本领域技术人员能够实现本公开。
在附图中,为了图示清楚,可能夸大尺寸。应当理解,当一个元件被称为在两个元件“之间”时,它可以是两个元件之间的唯一元件,或者也可以存在一个或更多个中间元件。相同的附图标记始终表示相同的元件。
图1是示出存储装置的框图。
图2是示出图1所示的存储器控制器的结构和编程直接读取命令的图。
图3是示出在接收到失败信息之后存储器控制器的操作的图。
图4是示出当通过对接收到失败信息的次数进行计数而获得的计数值超过参考值时存储器控制器的操作的图。
图5是示出图1所示的存储器装置的结构的图。
图6是示出图5所示的存储器单元阵列的一个实施方式的图。
图7是示出图6所示的存储块中的任一存储块的电路图。
图8是示出图6所示的存储块中的一个存储块的另一实施方式的电路图。
图9A和图9B示出了在三层单元的编程方案中读取的逻辑页面。
图10A和图10B示出了在四层单元的编程方案中读取的逻辑页面。
图11是示出根据本公开的一个实施方式的存储器控制器的操作的图。
图12是示出根据本公开的一个实施方式的存储器控制器的操作的图。
图13是示出根据本公开的一个实施方式的存储器控制器的操作的图。
图14是示出图1所示的存储器控制器的另一实施方式的图。
图15是示出根据本公开的一个实施方式的应用了存储装置的存储器卡系统的框图。
图16是示出根据本公开的一个实施方式的应用了存储装置的固态驱动器(SSD)系统的框图。
图17是示出根据本公开的一个实施方式的应用了存储装置的用户系统的框图。
具体实施方式
本文公开的具体的结构和功能描述仅仅是例示性的,其目的是描述根据本公开的构思的实施方式。根据本公开的构思的实施方式可以以各种形式实现,并且不应当被解释为限于本文阐述的实施方式。
根据本公开的构思的实施方式可以进行各种变型并且具有各种形状。因此,实施方式示出于附图中,并且旨在于本文中进行详细描述。然而,根据本公开的构思的实施方式不应被解释为限于特定的公开内容,并且包括不脱离本公开的精神和技术范围的所有变化、等同物或替代物。
虽然诸如“第一”和“第二”的术语可能被用于描述各种组件,但是这些组件不应被理解为限于上述术语。上述术语仅用于将一个组件与另一组件区分开来。例如,在不脱离本公开的权利范围的情况下,第一组件可以被称为第二组件,同样地,第二组件可以被称为第一组件。
应当理解,当一个元件被称为“连接”或“联接”到另一元件时,它可以直接连接或联接到另一元件,或者也可以存在中间元件。相反,当一个元件被称为“直接连接”或“直接联接”到另一元件时,则不存在中间元件。同时,可以类似地解释描述组件之间的关系的其它表述,例如“在……之间”、“紧接在……之间”或“与……相邻”以及“直接与……相邻”。
本申请中使用的术语仅用于描述特定实施方式,而不旨在限制本公开。除非上下文另外明确指出,否则本公开中的单数形式旨在也包括复数形式。还应理解,诸如“包括”或“具有”等的术语旨在指示说明书中所公开的特征、数量、操作、动作、组件、部件或其组合的存在,但是并不旨在排除可能存在或可能添加一个或更多个其它特征、数字、操作、动作、组件、部件或其组合的可能性。
只要没有进行不同的定义,本文所用的所有术语(包括技术术语或科学术语)均具有本公开所属领域的技术人员通常理解的含义。具有词典中作出的定义的术语应当被理解为它们具有与相关技术的背景一致的含义。只要在本申请中没有清楚地定义,术语不应以理想或过于正式的方式理解。
在描述这些实施方式时,省略了对于本公开所属领域而言公知的技术的描述,并且不与本公开直接相关。这旨在通过省略不必要的描述来更清楚地公开本公开的要点。
在下文中,参照附图详细描述本公开的实施方式,以使本领域技术人员能够容易地实现本公开的技术精神。
图1是示出存储装置的框图。
参照图1,存储装置50可以包括存储器装置100和存储器控制器200。
存储装置50可以是用于在主机300的控制下存储数据的装置,主机300例如为移动电话、智能电话、MP3播放器、笔记本计算机、台式计算机、游戏机、TV、平板PC或者车载信息娱乐装置。
存储装置50可以根据作为与主机300的通信方案的主机接口而被制造为各种类型的存储装置中的任一种。例如,存储装置50可以由各种类型的存储装置中的任一种实现,各种类型的存储装置例如为固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、减小尺寸的MMC(RS-MMC)、微型MMC(micro-MMC)、安全数字(SD)卡、迷你SD卡、微型SD卡、通用串行总线(USB)存储装置、通用闪存存储(UFS)装置、紧凑型闪存(CF)卡、智能媒体卡(SMC)和记忆棒等。
存储装置50可以被制造为各种封装类型中的任一种。例如,存储装置50可以被制造为诸如封装上封装(POP)、封装内系统(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级层叠封装(WSP)的各种封装类型中的任一种。
存储器装置100可以存储数据。存储器装置100在存储器控制器200的控制下进行操作。存储器装置100可以包括存储器单元阵列,存储器单元阵列包括用于存储数据的多个存储器单元。存储器单元阵列可以包括多个存储块。每个存储块可以包括多个存储器单元,并且多个存储器单元可构成多个页面。在一个实施方式中,页面可以是用于将数据存储在存储器装置100中或者读取存储在存储器装置100中的数据的单位。存储块可以是用于擦除数据的单位。
存储器装置100可以包括允许位设置寄存器(allow bit setting register)150。允许位设置寄存器150可以存储允许位。允许位可以是与被包括在通过在编程操作之后读取被编程的数据而获得的读取数据中的失败位进行比较的位。例如,可以根据被存储在允许位设置寄存器150中的允许位的数量来改变读取数据的通过或失败的结果。
当存储器装置100接收到编程直接读取命令时,可以将存储在允许位设置寄存器150中的允许位提供给感测电路。编程直接读取命令可以是这样的命令,其在编程验证操作在存储器装置100中通过时,指示存储器装置100自主地执行对于已通过编程验证操作的页面的读取操作,并且最终基于在读取操作中读取的数据确定编程操作的通过或失败。
因此,感测电路可以通过比较读取数据中所包括的失败位的数量和读取数据中所包括的允许位的数量来确定编程操作已失败或通过。也即是说,感测电路可以通过比较读取数据中所包括的失败位的数量和读取数据中所包括的允许位的数量来输出编程通过信号或编程失败信号。
在一个实施方式中,当编程操作失败的次数增加时,可以改变存储在允许位设置寄存器150中的允许位的数量。
存储器装置100可以包括读取操作控制器170。读取操作控制器170可以控制存储器装置100的读取操作。具体而言,如果在存储器装置100执行根据本公开的编程直接读取命令时编程验证操作通过,则读取操作控制器170可以控制存储器装置100立即执行读取操作。也即是说,存储器装置100不会将根据编程验证操作的信号输出到存储器控制器200,而是可以读取被编程的数据。在本公开中,可以基于读取数据来确定编程通过或编程失败。
在一个实施方式中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪存存储器、垂直NAND闪存存储器、NOR闪存存储器、电阻随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,为了便于描述,假设并且描述存储器装置100为NAND闪存存储器的情况。
在一个实施方式中,存储器装置100可以实现为二维阵列结构或三维阵列结构。在下文中,将作为一个实施方式描述存储器装置100实现为三维阵列结构的情况,本公开不限于三维阵列结构。本公开不仅可以应用于其中电荷存储层配置有浮置栅极(FG)的闪存存储器装置,而且可以应用于其中电荷存储层配置有绝缘层的电荷撷取闪存(CTF)。
在一个实施方式中,可以使用其中一个数据位存储在一个存储器单元中的单层单元(SLC)方案来操作存储器装置100。另选地,可以使用其中至少两个数据位存储在一个存储器单元中的方案来操作存储器装置100。例如,可使用其中两个数据位存储在一个存储器单元中的多层单元(MLC)方案、其中三个数据位存储在一个存储器单元中的三层单元(TLC)方案或其中四个数据位存储在一个存储器单元中的四层单元(QLC)方案来操作存储器单元100。
存储器装置100被配置成从存储器控制器200接收命令和地址,并且访问存储器单元阵列中的由地址选择的区域。也即是说,存储器装置100可以对由地址选择的区域执行对应于命令的操作。例如,存储器装置100可以根据接收到的命令执行写入(编程)操作、读取操作和擦除操作。例如,当接收到编程命令时,存储器装置100可以对由地址选择的区域中的数据进行编程。当接收到读取命令时,存储器装置100可以从由地址选择的区域读取数据。当接收到擦除命令时,存储器装置100可以擦除存储在由地址选择的区域中的数据。
存储器控制器200可以包括命令生成器210。命令生成器210可以从主机300接收请求。从主机300接收的请求可以是编程(写入)请求、读取请求或擦除请求。命令生成器210可以生成对应于从主机300接收的请求的命令。
在本公开中,主机300可以向存储器控制器200输出用于在存储器装置100通过编程验证操作之后立即读取被编程的数据的编程直接读取请求。在存储器控制器200接收到编程直接读取请求之后,存储器控制器200可以生成对应于编程直接读取请求的编程直接读取命令。
存储器控制器200可以包括坏块处理器220。坏块处理器220可以从存储器装置100接收编程通过信息或编程失败信息。编程通过信息或编程失败信息可以是对编程直接读取命令的响应。当坏块处理器220接收到编程失败信息时,坏块处理器220可以将包括对应于编程失败信息的编程失败存储器单元的存储块作为坏块处理。
在一个实施方式中,在坏块处理器220将包括编程失败存储器单元的存储块作为坏块处理之后,坏块处理器220可以生成关于作为坏块处理的存储块的坏块信息。可以将所生成的坏块信息提供给命令生成器210。坏块信息可以包括作为坏块处理的存储块的地址。
存储器控制器200可以包括失败信息控制器230。失败信息控制器230可以从存储器装置100接收编程通过信息或编程失败信息。失败信息控制器230可以通过每当接收到编程失败信息时累加接收到编程失败信息的次数来进行计数而得到计数值。当计数值超过参考值时,失败信息控制器230可以重置允许位的数量,选择被包括在感测电路中的另一电路,或改变要读取的页面。当计数值超过参考值时,失败信息控制器230可以从“1”开始重新对接收到编程失败信息的次数进行计数。
存储器控制器200可以控制存储装置50的整体操作。
在向存储装置50施加电源电压时,存储器控制器200可以执行固件(FW)。当存储器装置100是闪存存储器装置时,存储器控制器200可以执行FW(例如闪存转换层(FTL))以控制主机300与存储器装置100之间的通信。
在一个实施方式中,存储器控制器200可以从主机300接收数据和逻辑块地址(LBA),并且将LBA转换成物理块地址(PBA),其表示存储器装置100中所包括的将要在其中存储数据的存储器单元的地址。此外,存储器控制器200可以在缓冲存储器中存储在LBA和PBA之间建立映射关系的逻辑-物理地址映射表。
存储器控制器200可以响应于来自主机300的请求而控制存储器装置100执行编程操作、读取操作或擦除操作等。例如,在从主机300接收到编程请求时,存储器控制器200可以将编程请求改变为编程命令,并且向存储器装置100提供编程命令、PBA和数据。在从主机300接收到读取请求和LBA时,存储器控制器200可以将读取请求改变为读取命令,选择对应于LBA的PBA,然后向存储器装置100提供读取命令和PBA。在从主机300接收到擦除请求和LBA时,存储器控制器200可以将擦除请求改变为擦除命令,选择对应于LBA的PBA,然后向存储器装置100提供擦除命令和PBA。
在一个实施方式中,存储器控制器200可以在没有来自主机300的任何请求的情况下自主地生成编程命令、地址和数据,并且将编程命令、地址和数据发送到存储器装置100。例如,存储器控制器200可以向存储器装置100提供命令、地址和数据以执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在一个实施方式中,存储装置50还可以包括缓冲存储器(未示出)。存储器控制器200可以控制主机300与缓冲存储器之间的数据交换。另选地,存储器控制器200可以将用于控制存储器装置100的系统数据临时存储在缓冲存储器中。例如,存储器控制器200可以将从主机300输入的数据临时存储在缓冲存储器中,然后将临时存储在缓冲存储器中的数据发送到存储器装置100。
在各种实施方式中,缓冲存储器可以用作存储器控制器200的工作存储器或高速缓存存储器。缓冲存储器可以存储由存储器控制器200执行的代码或命令。另选地,缓冲存储器可以存储由存储器控制器200处理的数据。
在一个实施方式中,缓冲存储器可以利用,诸如双倍数据速率同步DRAM(DDRSDRAM)、DDR4 SDRAM、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功率DDR(LPDDR)或Rambus动态随机存取存储器(RDRAM)的动态随机存取存储器(DRAM)来实现,也可以利用静态随机存取存储器(SRAM)来实现。
在各种实施方式中,缓冲存储器可以在存储装置50的外部联接到存储装置50。因此,在存储装置50外部联接到存储装置50的易失性存储器装置100可以执行缓冲存储器的功能。
在一个实施方式中,存储器控制器200可以控制至少两个存储器装置100。存储器控制器200可以根据交织方案控制存储器装置以改善操作性能。
主机300可以使用各种通信协议中的至少一种与存储装置50通信,各种通信协议例如为通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、PCI Express(PCIe)、非易失性存储器Express(NVMe)、通用闪存存储(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、注册DIMM(RDIMM)和减载DIMM(LRDIMM)。
图2是示出图1所示的存储器控制器200的结构和编程直接读取命令的图。
参照图2,存储器控制器200可以包括命令生成器210、坏块处理器220和失败信息控制器230。
在一个实施方式中,存储器控制器200可以从主机300接收请求REQUEST。从主机300接收的请求REQUEST可以变化,例如为编程请求、读取请求和擦除请求。
在本公开中,命令生成器210可以从主机300接收新的请求。新的请求可以是用于请求存储器装置100在编程验证操作通过时立即读取被编程的数据的编程直接读取请求。当命令生成器210从主机300接收到编程直接读取请求时,命令生成器210可以生成对应于编程直接读取请求的编程直接读取命令PDR_CMD,并且将编程直接读取命令PDR_CMD输出到存储器装置100。
编程直接读取命令PDR_CMD可以是这样的命令,其在存储器装置100执行编程操作之后编程验证操作通过时,指示存储器装置100基于通过读取被编程的数据而获得的读取数据来确定编程操作的通过或失败。
在一个实施方式中,当存储器装置100从命令生成器210接收到编程直接读取命令PDR_CMD时,存储器装置100可以执行对应于编程直接读取命令PDR_CMD的操作。
具体而言,存储器装置100可以设置要与响应于编程直接读取命令PDR_CMD而读取的数据中所包括的失败位的数量进行比较的允许位的数量,并且通过比较读取数据中所包括的失败位的数量与允许位的数量而输出编程通过信息PASS_INF或编程失败信息FAIL_INF。
在一个实施方式中,坏块处理器220可以接收编程通过信息PASS_INF或编程失败信息FAIL_INF。当被包括在读取数据中的失败位的数量等于或小于允许位的数量时,可以从存储器装置100输出编程通过信息PASS_INF。相反,当被包括在读取数据中的失败位的数量超过允许位的数量时,可以从存储器装置100输出编程失败信息FAIL_INF。
当坏块处理器220接收到编程通过信息PASS_INF时,坏块处理器220可以不工作。然而,当坏块处理器220接收到编程失败信息FAIL_INF时,坏块处理器220可以将包括编程失败存储器单元的存储块作为坏块处理。在一个实施方式中,当坏块处理器220在存储器控制器200中的坏块管理表(未示出)中记录对应的存储块是坏块时,存储块200可以不输出对应于被记录在坏块管理表中的存储块的地址。
在一个实施方式中,失败信息控制器230可以接收编程通过信息PASS_INF或编程失败信息FAIL_INF。每当接收到编程失败信息FAIL_INF时,失败信息控制器230可以对接收到编程失败信息FAIL_INF的次数进行累加和计数。当接收到编程失败信息FAIL_INF的次数超过参考次数时,失败信息控制器230可以改变存储器装置100的操作模式。
具体而言,失败信息控制器230可以控制存储器装置100改变在被包括在存储器装置100中的图1所示的允许位设置寄存器150中存储的允许位的数量。另选地,失败信息控制器230可以控制存储器装置100从被包括在感测电路中的电流感测电路(CSC)和失败位计数器(FBC)中选择CSC。另选地,当存储器装置100执行对应于编程直接读取命令PDR_CMD的操作时,失败信息控制器230可以控制存储器装置选择要读取的页面。
图3是示出在接收到失败信息之后存储器控制器200的操作的图。
参照图3,图3所示的存储器控制器200可以包括命令生成器210和坏块处理器220。图3示出了在图3所示的存储器控制器200的组件中省略了图2所示的失败信息控制器230的情况。
图3示出了存储器控制器200响应于编程直接读取命令而接收编程失败信息FAIL_INF之后的操作。在存储器装置100执行了对应于编程直接读取命令的操作之后,可以从存储器装置100输出编程失败信息FAIL_INF。
在一个实施方式中,存储器装置100可以执行编程操作,并且编程验证操作可以通过。在编程验证操作通过之后,可以读取被编程的数据。当被包括在读取数据中的失败位的数量超过所设置的允许位的数量时,可以输出编程失败信息FAIL_INF。也即是说,当编程验证操作通过时,存储器装置100可以立即读取被编程的数据,这意味着存储器装置100可以读取被编程的数据而不输出表示已完成编程操作的响应。此外,存储器装置100可以输出编程通过信息或编程失败信息FAIL_INF,而不将读取数据输出到存储器控制器200。
在一个实施方式中,坏块处理器220可以从存储器装置100接收编程失败信息FAIL_INF。编程失败信息FAIL_INF可以包括表示通过读取被编程的数据而获得的读取数据中所包括的失败位的数量已超过允许位的数量的信息。
坏块处理器220可以基于编程失败信息FAIL_INF执行将包括读取的页面的存储块作为坏块处理的操作。也即是说,坏块处理器220可以将对应的存储块记录在坏块管理表(未示出)中,并且不允许与对应的存储块相对应的地址输出。
在一个实施方式中,坏块处理器220可以基于编程失败信息FAIL_INF生成坏块信息BB_INF。坏块信息BB_INF可以包括关于包括根据编程直接读取命令读取的页面的存储块的信息。也即是说,坏块处理器220可以将包括读取的页面的存储块作为坏块处理,并且生成包括关于被作为坏块处理的存储块的信息的坏块信息BB_INF。可以将生成的坏块信息BB_INF提供给命令生成器210。
当命令生成器210从坏块处理器220接收到坏块信息BB_INF时,命令生成器210可以将重新编程命令REPGM_CMD输出到存储器装置100。也即是说,因为基于编程直接读取命令,即使存储器装置100已执行编程操作,但在包括执行编程操作的页面的存储块被作为坏块处理的情况下编程操作尚未完成,所以命令生成器210可以输出用于将数据重新编程到存储器装置100的重新编程命令REPGM_CMD。
当存储器装置100从存储器控制器200接收到重新编程命令REPGM_CMD时,存储器装置可以根据重新编程命令REPGM_CMD基于被存储在页面缓冲器组中所包括的锁存器中的编程数据重新执行编程操作。
图4是示出当通过对接收到失败信息的次数进行计数而获得的计数值超过参考值时的存储器控制器的操作的图。
参照图4,图4所示的失败信息控制器230可以包括失败信息计数器231、允许位设置组件233、感测电路选择器235和读取操作设置组件237。
在一个实施方式中,失败信息计数器231可以从存储器装置100接收编程通过信息PASS_INF或编程失败信息FAIL_INF。编程通过信息PASS_INF或编程失败信息FAIL_INF可以是对由存储器装置100接收的编程直接读取命令的响应。当被包括在读取数据中的失败位的数量等于或小于允许位的数量时,可以从存储器装置100输出编程通过信息PASS_INF。相反,当被包括在读取数据中的失败位的数量超过允许位的数量时,可以从存储器装置100输出编程失败信息FAIL_INF。
在一个实施方式中,每当从存储器装置100接收到编程失败信息FAIL_INF时,失败信息计数器231可以对接收到编程失败信息FAIL_INF的次数进行计数。也即是说,失败信息计数器231可以对接收到编程失败信息FAIL_INF的次数进行累加和计数。
失败信息计数器231可以通过对接收到编程失败信息FAIL_INF的次数进行计数来生成计数值COUNT_VAL。当所生成的计数值COUNT_VAL超过参考值时,失败信息计数器231可以将计数值COUNT_VAL输出到允许位设置组件233、感测电路选择器235和读取操作设置组件237中的至少一个。
在一个实施方式中,允许位设置组件233可以从失败信息计数器231接收计数值COUNT_VAL。允许位设置组件233可以基于所接收到的计数值COUNT_VAL来输出允许位设置命令ABSET_CMD,以改变被存储在存储器装置100所包括的图1所示的允许位设置寄存器150中的允许位。
具体而言,被包括在读取数据中的失败位的数量超过设置数量的情况可能随着存储器装置100输出编程失败信息FAIL_INF的次数而增加。在这种情形下,不结束编程操作,而是可能重复执行重新编程操作。因此,可能有必要将允许位的数量设置为增加。
因此,允许位设置组件233可以输出允许位设置命令ABSET_CMD以设置允许位的数量,并且存储器装置100可以响应于允许位设置命令ABSET_CMD而增加被存储在允许位设置寄存器150中的允许位的数量。
在一个实施方式中,感测电路选择器235可以从失败信息计数器231接收计数值COUNT_VAL。感测电路选择器235可以基于接收到的计数值COUNT_VAL来控制被包括在感测电路中的电路中的电流感测电路(Current Sensing Circuit,CSC)以执行感测操作。
在一个实施方式中,感测电路可以包括CSC和/或失败位计数器(FBC)。被包括在感测电路中的CSC或FBC可以确定被包括在感测数据中的失败位的数量是否超过允许位的数量。在一个实施方式中,CSC可以基于参考电流执行感测操作,并且FBC可以基于参考电压(其基于参考电流而生成)执行感测操作。
因此,感测电路选择器235可以选择比FBC具有更高的感测数据精确度的CSC。感测电路选择器235可以将感测电路选择信息SCS_INF输出到存储器装置100,使得感测操作由CSC执行。当存储器装置100接收到感测电路选择信息SCS时,存储器装置100可以通过CSC执行感测操作。
在一个实施方式中,读取操作设置组件237可以从失败信息计数器231接收计数值COUNT_VAL。读取操作设置组件237可以基于接收到的计数值COUNT_VAL来设置当执行编程直接读取命令时要读取的页面和/或读取电压。
具体而言,随着存储器装置100输出编程失败信息FAIL_INF的次数增加,可能有必要提高读取操作的精确度。因此,读取操作设置组件237可以设置要读取的页面和/或读取电压,使得存储器装置100除了读取最低有效位页面之外还读取另一页面。另外,读取操作设置组件237可以设置读取电压的偏移。也即是说,读取操作设置组件237可以改变读取电压。
因此,读取操作设置组件237可以将读取操作设置信息ROS_INF输出到存储器装置100,以设置在存储器装置100执行编程直接读取命令时要读取的页面和/或读取电压。
参照图9和图10更详细地描述了基于读取操作设置信息ROS_INF确定的读取页面。
图5是示出图1所示的存储器装置的结构的图。
参照图5,存储器装置100可以包括存储器单元阵列110、外围电路120、控制逻辑130和允许位设置寄存器150。
存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL联接到行解码器121。多个存储块BLK1至BLKz通过位线BL1至BLn联接到页面缓冲器组123。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在一个实施方式中,多个存储器单元可以是非易失性存储器单元。联接到同一字线的存储器单元可以被定义为一个页面。因此,一个存储块可以包括多个页面。
行线RL可以包括至少一条源极选择线、多条字线和至少一条漏极选择线。
被包括在存储器单元阵列110中的每一个存储器单元中可以被配置成用于存储一个数据位的单层单元(SLC)、用于存储两个数据位的多层单元(MLC)、用于存储三个数据位的三层单元(TLC),或用于存储四个数据位的四层单元(QLC)。
外围电路120可以在控制逻辑130的控制下对存储器单元阵列110的选定区域执行编程操作、读取操作或擦除操作。外围电路120可以驱动存储器单元阵列110。例如,外围电路120可以在控制逻辑130的控制下向行线RL和位线BL1至BLn施加各种工作电压或释放(discharge)所施加的电压。
外围电路120可以包括行解码器121、电压发生器122、页面缓冲器组123、列解码器124、输入/输出电路125、感测电路126和允许位设置寄存器150。
行解码器121通过行线RL联接到存储器单元阵列110。行线RL可以包括至少一条源极选择线、多条字线和至少一条漏极选择线。在一个实施方式中,字线可以包括普通字线和虚拟字线。在一个实施方式中,行线RL还可以包括管道选择线(pipe select line)。
行解码器121对从控制逻辑130接收的行地址RADD进行解码。行解码器121根据经解码的地址从存储块BLK1至BLKz中选择至少一个存储块。而且,行解码器121可以选择选定存储块的至少一条字线,以根据经解码的地址将由电压发生器122生成的电压施加到至少一条字线。
例如,在编程操作中,行解码器121可以将编程电压施加到选定字线,并且将电平低于编程电压的电平的编程通过电压施加到未选定字线。在编程验证操作中,行解码器121可以将验证电压施加到选定字线,并且将电平高于验证电压的电平的验证通过电压施加到未选定字线。在读取操作中,行解码器121可以将读取电压施加到选定字线,并且将电平高于读取电压的电平的读取通过电压施加到未选定字线。
在一个实施方式中,以存储块为单位执行存储器装置100的擦除操作。在擦除操作中,行解码器121可以根据经解码的地址选择一个存储块。在擦除操作中,行解码器121可以将接地电压施加到与选定存储块联接的字线。
电压发生器122在控制逻辑130的控制下操作。电压发生器122通过使用提供到存储器装置100的外部电源电压来生成多个电压。具体而言,电压发生器可以响应于操作信号OPSIG而生成在编程操作、读取操作和擦除操作中使用的各种工作电压Vop。例如,电压发生器122可以在控制逻辑130的控制下生成编程电压、验证电压、通过电压、读取电压和擦除电压等。
在一个实施方式中,电压发生器122可以通过调节外部电源电压来生成内部电源电压。由电压发生器122生成的内部电源电压用作存储器装置100的工作电压。
在一个实施方式中,电压发生器122可以通过使用外部电源电压或内部电源电压来生成多个电压。
例如,电压发生器122可以包括用于接收内部电源电压的多个泵浦电容器,并且通过在控制逻辑130的控制下选择性地激活多个泵浦电容器来生成多个电压。
多个生成的电压可以由行解码器121提供给存储器单元阵列110。
页面缓冲器组123包括第一页面缓冲器PB1至第n页面缓冲器PBn。第一页面缓冲器PB1至第n页面缓冲器PBn分别通过第一位线BL1至第n位线BLn联接到存储器单元阵列110。第一位线BL1至第n位线BLn在控制逻辑130的控制下操作。具体而言,第一位线BL1至第n位线BLn可以响应于页面缓冲器控制信号PBSIGNALS而操作。例如,第一页面缓冲器PB1至第n页面缓冲器PBn可以在读取操作或验证操作中临时存储通过第一位线BL1至第n位线BLn接收的数据,或感测位线BL1至BLn的电压或电流。
具体而言,在编程操作中,在将编程电压施加到选定字线时,第一页面缓冲器PB1至第n页面缓冲器PBn可以通过第一位线BL1至第n位线BLn将通过输入/输出电路125接收的数据DATA传送到选定存储器单元。根据所传送的数据DATA对选定页面的存储器单元进行编程。在编程验证操作中,第一页面缓冲器PB1至第n页面缓冲器PBn通过第一位线BL1至第n位线BLn从选定存储器单元读取页面数据。
在读取操作中,第一页面缓冲器PB1至第n页面缓冲器PBn通过第一位线BL1至第n位线BLn从选定页面的存储器单元读取数据DATA,并且在列解码器124的控制下将读取数据DATA输出到输入/输出电路125。
在擦除操作中,第一页面缓冲器PB1至第n页面缓冲器PBn可以使第一位线BL1至第n位线BLn浮置,或施加擦除电压。
列解码器124可以响应于列地址CADD而在输入/输出电路125与页面缓冲器组123之间进行数据传输。例如,列解码器124可以通过数据线DL与第一页面缓冲器PB1至第n页面缓冲器PBn进行数据传输(communicate data),或通过列线CL与输入/输出电路125进行数据传输。
输入/输出电路125可以将从参照图1所描述的控制器2000接收的命令CMD和地址ADDR传送到控制逻辑130,或与列解码器124进行数据DATA传输。
在读取操作或验证操作中,感测电路125可以响应于允许位VRYBIT信号而生成参考电流,并且通过将从页面缓冲器组123接收的感测电压VPB与由参考电流生成的参考电压进行比较来输出通过或失败信号PASS/FAIL。
控制逻辑130可以通过响应于命令CMD和地址ADDR输出操作信号OPSIG、行地址RADD、页面缓冲器控制信号PBSIGNALS和允许位VRYBIT来控制外围电路120。此外,控制逻辑130可以响应于通过或失败信号PASS/FAIL来确定验证操作已通过还是失败。控制逻辑130可以实现为硬件、软件或硬件与软件的组合。例如,控制逻辑130可以是根据算法操作的控制逻辑电路和/或执行控制逻辑代码的处理器。
被包括在存储器单元阵列110中的每一个存储器单元中可以被编程到根据存储于其中的数据的多个编程状态中的任一编程状态。可以将存储器单元的目标编程状态确定为根据存储在存储器单元中的数据的多个编程状态中的任一个。
在一个实施方式中,控制逻辑130可以包括读取操作控制器170。读取操作控制器170可以控制存储器装置100在编程操作中在编程验证操作通过之后执行读取操作。
具体而言,当存储器装置100执行本公开的编程直接读取命令的操作时,可以执行编程操作。当在编程操作执行之后编程验证操作通过时,控制逻辑130不将表示编程验证操作已通过的信息输出到图1所示的存储器控制器200,而是可以控制存储器装置100执行读取操作。也即是说,读取操作控制器170可以控制存储器装置100在编程验证操作通过之后读取被编程的数据。
可以读取被编程的数据,并且控制逻辑130可以根据被包括在读取数据中的失败位的数量是否超过允许位的数量而接收通过信号或失败信号。当被包括在读取数据中的失败位的数量超过允许位的数量时,控制逻辑130可以输出表示编程操作已失败的编程失败信息。相反,当被包括在读取数据中的失败位的数量小于允许位的数量时,控制逻辑130可以输出表示编程操作已通过的编程通过信息。
尽管已执行读取被编程的数据的读取操作,但控制逻辑130仍可以输出编程失败信息。也即是说,控制逻辑130不将读取数据输出到存储器控制器,而是可以将编程失败信息或编程通过信息输出到存储器控制器。
在一个实施方式中,可以从允许位设置寄存器150接收与被包括在读取数据中的失败位进行比较的允许位ALW_BIT。
允许位设置寄存器150可以存储与被包括在读取数据中的失败位进行比较的允许位ALW_BIT。
在一个实施方式中,允许位设置寄存器150可以从输入/输出电路125接收命令CMD。当从输入/输出电路125接收的命令CMD是本公开的编程直接读取命令时,可以将存储在允许位设置寄存器150中的允许位ALW_BIT输出到感测电路126。
在一个实施方式中,存储在允许位设置寄存器150中的允许位ALW_BIT可以响应于编程直接读取命令而被输出到感测电路126。在感测操作中被作为编程失败处理的位可以基于被输出到感测电路126的允许位ALW_BIT而改变。
具体而言,因为控制逻辑130基于读取数据确定编程操作的通过或失败,所以与执行正常读取操作时相比,可能有必要将允许位ALW_BIT设置为增加。也即是说,为了防止在未结束的情况下重复执行编程操作,可能有必要将允许位ALW_BIT设置为增加。因此,感测电路126可以基于存储在允许位设置寄存器150中的允许位ALW_BIT来确定被包括在读取数据中的失败位是否已超过允许位ALW_BIT。
在一个实施方式中,存储在允许位设置寄存器150中的允许位ALW_BIT可以基于从存储器控制器接收的允许位设置命令而改变。也即是说,允许位设置寄存器150可以接收允许位设置命令,以将允许位ALW_BIT设置为随着从存储器装置100输出编程失败信息的次数的增加而增加。允许位设置寄存器150可以将允许位的数量设置为大于现有的允许位的数量。随后,在对应于编程直接读取命令的操作执行时,允许位设置寄存器150可以将经改变的允许位ALW_BIT输出到感测电路126。
图6是示出图5所示的存储器单元阵列的一个实施方式的图。
参照图6,存储器单元阵列110可以包括多个存储块BLK1至BLKz。每个存储块可以具有三维结构。每个存储块可以包括层叠在基板(未示出)上的多个存储器单元。多个存储器单元可以沿+X、+Y和+Z方向布置。参照图7和图8更详细地描述每个存储块的结构。
图7是示出图6所示的存储块BLK1至BLKz中的任一存储块BLKa的电路图。
参照图7,存储块BLKa可以包括多个单元串CS11至CS1m和CS21至CS2m。在一个实施方式中,多个单元串CS11至CS1m和CS21至CS2m中的每一个可以形成为“U”形。在存储块BLKa中,m个单元串沿行方向(即,+X方向)布置。图7示出了沿列方向(即,+Y方向)布置的两个单元串。然而,这是为了便于描述,应当理解,可以在列方向上布置三个单元串。
多个单元串CS11至CS1m和CS21至CS2m中的每一个可以包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn,管式晶体管PT和至少一个漏极选择晶体管DST。
每个单元串的源极选择晶体管SST联接在公共源极线CSL与存储器单元MC1至MCp之间。
在一个实施方式中,布置在同一行中的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接到不同的源极选择线。在图7中,第一行中的单元串CS11至CS1m的源极选择晶体管联接到第一源极选择线SSL1。第二行中的单元串CS21至CS2m的源极选择晶体管联接到第二源极选择线SSL2。
在另一实施方式中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可以共同联接到一条源极选择线。
每个单元串的第一存储器单元MC1至第n存储器单元MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一存储器单元MC1至第n存储器单元MCn可以分为第一存储器单元MC1至第p存储器单元MCp和第(p+1)存储器单元MCp+1至第n存储器单元MCn。第一存储器单元MC1至第p存储器单元MCp沿+Z方向的相反方向顺序布置,并且串联联接在源极选择晶体管SST和管晶体管PT之间。第(p+1)存储器单元MCp+1至第n存储器单元MCn沿+Z方向顺序布置,并且串联联接在管晶体管PT和漏极选择晶体管DST之间。第一存储器单元MC1至第p存储器单元MCp和第(p+1)存储器单元MCp+1至第n存储器单元MCn通过管晶体管PT联接。每个单元串的第一存储器单元MC1至第n存储器单元MCn的栅极分别联接到第一字线WL1至第n字线WLn。
每个单元串的管晶体管PT的栅极联接到管线PL。
每个单元串的漏极选择晶体管DST联接在对应的位线与存储器单元MCp+1至MCn之间。沿行方向布置的单元串联接到沿行方向延伸的漏极选择线。第一行中的单元串CS11至CS1m的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21至CS2m的漏极选择晶体管联接到第二漏极选择线DSL2。
沿列方向布置的单元串联接到沿列方向延伸的位线。在图7中,第一列中的单元串CS11和CS21联接到第一位线BL1。第m列中的单元串CS1m和CS2m联接到第m位线BLm。
沿行方向布置的单元串中的联接到相同字线的存储器单元构成一个页面。例如,第一行中的单元串CS11至CS1m中的联接到第一字线WL1的存储器单元构成一个页面。第二行中的单元串CS21至CS2m中的联接到第一字线WL1的存储器单元构成另一页面。当选择漏极选择线DSL1和DSL2中的任一个时,可以选择沿一个行方向布置的单元串。当选择字线WL1至WLn中的任一个时,可以在选定单元串中选择一个页面。
在另一实施方式中,可以设置偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。此外,沿行方向布置的单元串CS11至CS1m或CS21至CS2m中的偶数编号的单元串可以分别联接到偶数位线,并且沿行方向布置的单元串CS11至CS1m或CS21至CS2m中的奇数编号的单元串可以分别联接到奇数位线。
在一个实施方式中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚拟存储器单元。例如,可以设置至少一个虚拟存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCp之间的电场。另选地,可以设置至少一个虚拟存储器单元以减小漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。当虚拟存储器单元的数量增加时,存储块BLKa的操作的可靠性提高。另一方面,存储块BLKa的尺寸增加。当虚拟存储器单元的数量减少时,存储块BLKa的尺寸减小。另一方面,存储块BLKa的操作的可靠性可能变差。
为了有效地控制至少一个虚拟存储器单元,虚拟存储器单元可以具有所需阈值电压。在存储块BLKa的擦除操作之前或之后,可以对所有或一些虚拟存储器单元执行编程操作。当在执行所述编程操作之后执行擦除操作时,虚拟存储器单元的阈值电压控制被施加到与各个虚拟存储器单元联接的虚拟字线的电压,使得虚拟存储器单元可以具有所需阈值电压。
图8是示出图6所示的存储块BLK1至BLKz中的一个存储块的另一实施方式BLKb的电路图。
参照图8,存储块BLKb可以包括多个单元串CS11'至CS1m'和CS21'至CS2m'。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个沿+Z方向延伸。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个包括层叠在存储块BLKb下面的基板(未示出)上的至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn,以及至少一个漏极选择晶体管DST。
每个单元串的源极选择晶体管SST联接在公共源极线CSL与存储器单元MC1至MCn之间。布置在同一行中的单元串的源极选择晶体管联接到相同源极选择线。布置在第一行中的单元串CS11'至CS1m'的源极选择晶体管联接到第一源极选择线SSL1。布置在第二行中的单元串CS21'至CS2m'的源极选择晶体管联接到第二源极选择线SSL2。在另一实施方式中,单元串CS11′至CS1m′和CS21′至CS2m′的源极选择晶体管可以共同联接到一条源极选择线。
每个单元串的第一存储器单元MC1至第n存储器单元MCn串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。第一存储器单元MC1至第n存储器单元MCn的栅极分别联接至第一字线WL1至第n字线WLn。
每个单元串的漏极选择晶体管DST联接在对应的位线与存储器单元MC1至MCn之间。沿行方向布置的单元串的漏极选择晶体管联接到沿行方向延伸的漏极选择线。第一行中的单元串CS11’至CS1m’的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21’至CS2m’的漏极选择晶体管联接到第二漏极选择线DSL2。
因此,图8的存储块BLKb与图7的存储块BLKa具有类似的电路,只是从图8的每个单元串中排除了管式晶体管PT。
在另一实施方式中,可以设置偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。此外,沿行方向布置的单元串CS11’至CS1m’或CS21’至CS2m’中的偶数编号的单元串可以分别联接到偶数位线,并且沿行方向布置的单元串CS11’至CS1m’或CS21’至CS2m’中的奇数编号的单元串可以分别联接到奇数位线。
此外,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚拟存储器单元,以减小源极选择晶体管SST与存储器单元MC1至MCn之间的电场
图9A和图9B示出了在三层单元的编程方案中读取的逻辑页面。
参照图9A和图9B,图9A示出了当图1所示的存储器装置100使用三层单元(TLC)方案执行编程操作时的擦除状态E和第一编程状态P1至第七编程状态P7,并且图9B示出了在图1所示的存储器装置100使用TLC方案执行编程操作之后读取的逻辑页面。该逻辑页面可以是当存储器装置100执行编程直接读取命令时读取的页面。
图9A示出了存储器单元存储对应于三位的数据的情况。在图9A中,横轴表示根据存储器单元的状态的阈值电压Vth,并且纵轴表示存储器单元的序号。
在图9A中,作为示例描述使用TLC方案的编程操作,在TLC方案中,一个存储器单元存储对应于三位的数据。每个存储器单元可以被编程为具有对应于擦除状态E和第一编程状态P1至第七编程状态P7中的任一个的阈值电压。也即是说,存储器单元可以被编程为具有对应于擦除状态E、第一编程状态P1、第二编程状态P2、第三编程状态P3、第四编程状态P4、第五编程状态P5、第六编程状态P6和第七编程状态P7中的任一个的阈值电压。在执行编程操作之前,存储器单元可以具有对应于擦除状态E的阈值电压分布。
擦除状态E可以对应于数据“111”,第一编程状态P1可以对应于数据“110”,第二编程状态P2可以对应于数据“100”,第三编程状态P3可以对应于数据“000”,第四编程状态P4可以对应于数据“010”,第五编程状态P5可以对应于数据“011”,第六编程状态P6可以对应于数据“001”,并且第七编程状态P7可以对应于数据“101”。然而,对应于每个编程状态的数据仅是例示性的,并且可以进行各种修改。
存储器装置可以使用第一读取电压R1至第七读取电压R7执行读取操作,从而读取存储在选定存储器单元中的数据。
第一读取电压R1可以是用于区分擦除状态E与第一编程状态P1的读取电压。第二读取电压R2可以是用于区分第一编程状态P1与第二编程状态P2的读取电压。第三读取电压R3可以是用于区分第二编程状态P2与第三编程状态P3的读取电压。第四读取电压R4可以是用于区分第三编程状态P3与第四编程状态P4的读取电压。第五读取电压R5可以是用于区分第四编程状态P4与第五编程状态P5的读取电压。第六读取电压R6可以是用于区分第五编程状态P5与第六编程状态P6的读取电压,并且第七读取电压R7可以是用于区分第六编程状态P6与第七编程状态P7的读取电压。
图9B示出了当图1所示的存储器装置100执行编程直接读取操作时,根据存储器单元的状态读取的页面。
具体而言,当存储器装置执行编程直接读取操作时,存储器装置可以在编程验证操作通过之后读取被编程的数据。
在使用TLC方案的编程操作中,可以将存储在存储器单元中的对应于三位的数据分为最低有效位页面(LSB页面)、中间有效位页面(CSB页面)和最高有效位页面(MSB页面)的逻辑数据。因此,存储器装置可以根据LSB页面、CSB页面或MSB页面的数据执行读取操作。
例如,存储器装置可以读取被编程的数据中的LSB页面。当存储器装置读取LSB页面时,具有擦除状态E和第五编程状态P5至第七编程状态P7的存储器单元可以被读取为“1”,并且第一编程状态P1至第四编程状态P4的存储器单元可以被读取为“0”。
在一个实施方式中,当图1所示的存储器控制器200所计数的接收到编程失败信息的次数超过参考值时,存储器装置可以额外读取MSB页面和CBS页面中的至少一个。也即是说,为了确保读取数据的可靠性,除了LSB页面之外,存储器装置还可以读取另一页面。
当读取MSB页面时,具有擦除状态E和第一编程状态P1、第二编程状态P2和第七编程状态P7的存储器单元可以被读取为“1”,并且具有第三编程状态P3至第六编程状态P6的存储器单元可以被读取为“0”。当读取CBS页面时,具有擦除状态E和第一编程状态P1、第四编程状态P4和第五编程状态P5的存储器单元可以被读取为“1”,具有第二编程状态P2、第三编程状态P3、第六编程状态P6和第七编程状态P7的存储器单元可以被读取为“0”。
存储器装置可以基于分别被包括在读取页面中的失败位来确定编程操作的通过或失败。在一个实施方式中,当通过LSB页面和额外读取页面没有确定出编程操作的通过或失败时,可以读取另一页面。也即是说,当被包括在读取页面中的任一个中的失败位的数量超过允许位的数量并且被包括在读取页面中的另一个中的失败位的数量不超过允许位的数量时,可以额外读取另一页面。可以基于被包括在额外读取的页面中的失败位的数量来确定编程操作的通过或失败。
图10A和图10B示出了在四层单元的编程方案中读取的逻辑页面。
参照图10A和图10B,图10A示出了当图1所示的存储器装置100通过使用四层单元(QLC)方案执行编程操作时的擦除状态E和第一编程状态P1至第十五编程状态P15,并且图10B示出了在图1所示的存储器装置100使用QLC方案执行编程操作之后读取的逻辑页面。该逻辑页面可以是当存储器装置100执行编程直接读取命令时读取的页面。
图10A示出了存储器单元存储对应于四位的数据的情况。在图10A中,横轴表示根据存储器单元的状态的阈值电压Vth,并且纵轴表示存储器单元的序号。
在图10A中,作为示例描述使用QLC方案的编程操,在QLC方案中,一个存储器单元存储对应于四位的数据。每个存储器单元可以被编程为具有对应于擦除状态E和第一编程状态P1至第十五编程状态P15中的任一个的阈值电压。也即是说,存储器单元可以被编程为具有对应于擦除状态E、第一编程状态P1、第二编程状态P2、第三编程状态P3、第四编程状态P4、第五编程状态P5、第六编程状态P6、第七编程状态P7、第八编程状态P8、第九编程状态P9、第十编程状态P10、第十一编程状态P11、第十二编程状态P12、第十三编程状态P13、第十四编程状态P14和第十五编程状态P15中的任一个的阈值电压。在执行编程操作之前,存储器单元可以具有对应于擦除状态E的阈值电压分布。
擦除状态E可以对应于数据“1111”,第一编程状态P1可以对应于数据“1110”,第二编程状态P2可以对应于数据“1100”,第三编程状态P3可以对应于数据“1000”,第四编程状态P4可以对应于数据“0000”,第五编程状态P5可以对应于数据“0100”,第六编程状态P6可以对应于数据“0101”,第七编程状态P7可以对应于数据“0111”,第八编程状态P8可以对应于数据“0110”,第九编程状态P9可以对应于数据“0010”,第十编程状态P10可以对应于数据“1010”,第十一编程状态P11可以对应于数据“1011”,第十二编程状态P12可以对应于数据“0011”,第十三编程状态P13可以对应于数据“0001”,第十四编程状态P14可以对应于数据“1001”,并且第十五编程状态P15可以对应于数据“1101”。然而,对应于每个编程状态的数据仅是例示性的,并且可以进行各种修改。
存储器装置可以使用第一读取电压R1至第十五读取电压R15来执行读取操作,从而读取存储在选定存储器单元中的数据。
第一读取电压R1可以是用于区分擦除状态E与第一编程状态P1的读取电压。第二读取电压R2可以是用于区分第一编程状态P1与第二编程状态P2的读取电压。第三读取电压R3可以是用于区分第二编程状态P2与第三编程状态P3的读取电压。第四读取电压R4可以是用于区分第三编程状态P3与第四编程状态P4的读取电压。第五读取电压R5可以是用于区分第四编程状态P4与第五编程状态P5的读取电压。第六读取电压R6可以是用于区分第五编程状态P5与第六编程状态P6的读取电压。第七读取电压R7可以是用于区分第六编程状态P6与第七编程状态P7的读取电压。第八读取电压R8可以是用于区分第七编程状态P7与第八编程状态P8的读取电压。第九读取电压R9可以是用于区分第八编程状态P8与第九编程状态P的读取电压。第十读取电压R10可以是用于区分第九编程状态P9与第十编程状态P10的读取电压。第十一读取电压R11可以是用于区分第十编程状态P10与第十一编程状态P11的读取电压。第十二读取电压R12可以是用于区分第十一编程状态P11与第十二编程状态P12的读取电压。第十三读取电压R13可以是用于区分第十二编程状态P12与第十三编程状态P13的读取电压。第十四读取电压R14可以是用于区分第十三编程状态P13与第十四编程状态P14的读取电压,并且第十五读取电压R15可以是用于区分第十四编程状态P14与第十五编程状态P15的读取电压。
图10B示出了当图1所示的存储器装置100执行编程直接读取操作时根据存储器单元的状态读取的页面。
具体而言,当存储器装置执行编程直接读取操作时,存储器装置可以在编程验证操作通过之后读取被编程的数据。
在使用QLC方案的编程操作中,可以将存储在存储器单元中的对应于四位的数据分为最低有效位页面(LSB页面)、中间有效位页面(CSB页面)、最高有效位页面(MSB页面)和第四(Quad)有效位页面(QSB页面)的逻辑数据。因此,存储器装置可以根据LSB页面、CSB页面、MSB页面或QSB页面的数据执行读取操作。
例如,存储器装置可以读取被编程的数据中的LSB页面。当存储器装置读取LSB页面时,具有擦除状态E以及第六编程状态P6、第七编程状态P7和第十一编程状态P11至第十五编程状态P15的存储器单元可以被读取为“1”,并且具有第一编程状态P1至第五编程状态P5和第八编程状态P8至第十编程状态P10的存储器单元可以被读取为“0”。
在一个实施方式中,当图1所示的存储器控制器200所计数的接收到编程失败信息的次数超过参考值时,存储器装置可以额外读取QSB页面、MSB页面和CBS页面中的至少一个。也即是说,为了确保读取数据的可靠性,除了LSB页面之外,存储器装置还可以读取另一页面。
当读取QSB页面时,具有擦除状态E以及第一编程状态P1至第三编程状态P3、第十编程状态P10、第十一编程状态P11、第十四编程状态P14和第十五编程状态P15的存储器单元可以被读取为“1”,并且具有第四编程状态P4至第九编程状态P9、第十二编程状态P12和第十三编程状态P13的存储器单元可以被读取为“0”。当读取MBS页面时,具有擦除状态E以及第一编程状态P1、第二编程状态P2、第五编程状态P5至第八编程状态P8和第十五编程状态P15的存储器单元可以被读取为“1”,具有第三编程状态P3、第四编程状态P4和第九编程状态P9至第十四编程状态P14的存储器单元可以被读取为“0”。当读取CBS页面时,具有擦除状态E以及第一编程状态P1和第七编程状态P7至第十二编程状态P12的存储器单元可以被读取为“1”,具有第二编程状态P2至第六编程状态P6和第十三编程状态P13至第十五编程状态P15的存储器单元可以被读取为“0”。
存储器装置可以基于分别被包括在多个读取页面中的失败位来确定编程操作的通过或失败。在一个实施方式中,当通过LSB页面和额外读取页面没有确定出编程操作的通过或失败时,可以读取另一页面。也即是说,当被包括在读取页面中的任一个中的失败位的数量超过允许位的数量并且被包括在读取页面中的另一个中的失败位的数量不超过允许位的数量时,可以额外读取另一页面。可以基于被包括在额外读取页面中的失败位的数量来确定编程操作的通过或失败。
图11是示出根据本公开的一个实施方式的存储器控制器200的操作的图。
参照图11,在S1101,存储器装置100可以从存储器控制器200接收编程直接读取命令。编程直接读取命令可以是这样的命令,其指示存储器装置100在存储器装置100执行编程操作之后编程验证操作通过时,基于通过读取被编程的数据而获得的读取数据来确定编程操作的通过或失败。
当存储器装置100接收到编程直接读取命令时,存储器装置100可以设置允许位的数量(S1103)。允许位可以是多个位,其数量与被包括在响应于编程直接读取命令而读取的数据中的失败位的数量进行比较。允许位可以存储在允许位设置寄存器150中。存储在允许位设置寄存器150中的允许位可以被提供给感测电路126。
在S1105,存储器装置100可以确定编程验证操作是否已通过。也即是说,当在执行对应于编程直接读取命令的编程操作之后执行编程验证操作时,存储器装置100可以确定编程验证操作是否已通过。
当编程验证操作失败时(N),存储器装置100可以将编程失败信息输出到存储器控制器200(S1113)。当即使存储器装置100已执行所有设置的编程循环但编程验证操作仍未通过时,可以输出编程失败信息。
当编程验证操作通过(Y)时,存储器装置100可以执行读取被编程的数据的读取操作(S1107)。也即是说,当存储器装置100执行对应于编程直接读取命令的操作时,存储器装置100可以在编程验证操作通过之后对被编程的数据执行读取操作。存储器装置100可以读取LSB页面。在一个实施方式中,除了LSB页面之外,存储器装置100还可以读取另一页面。
当执行读取被编程的数据的读取操作时,存储器装置100可以确定被包括在读取数据中的失败位的数量是否超过允许位的数量(S1109)。也即是说,存储器装置100可以对被包括在读取数据中的失败位和从允许位设置寄存器提供的允许位进行比较,而不将读取数据输出到存储器控制器200。存储器装置100可以基于允许位和被包括在读取数据中的失败位来确定编程操作的通过或失败。
当被包括在读取数据中的失败位的数量不超过允许位的数量(N)时,存储器装置100可以将编程通过信息输出到存储器控制器(S1111)。也即是说,当被包括在读取数据中的失败位的数量小于允许位的数量时,存储器装置100可以基于读取数据而非编程验证操作来确定编程操作已通过。
当被包括在读取数据中的失败位的数量超过允许位的数量(Y)时,存储器装置100可以将编程失败信息输出到存储器控制器(S1113)。也即是说,当被包括在读取数据中的失败位的数量超过允许位的数量时,存储器装置100可以基于读取数据而非编程验证操作来确定编程操作是否已失败。
图12是示出根据本公开的一个实施方式的存储器控制器200的操作的图。
参照图12,在S1201,存储器控制器200可以将编程直接读取命令输出到存储器装置100。编程直接读取命令可以是对应于从主机300接收的请求的命令。在存储器控制器200将编程直接读取命令输出到存储器装置100之后,存储器控制器200可以接收对编程直接读取命令的响应。对编程直接读取命令的响应可以是编程通过信息或编程失败信息。
在S1203,可以确定存储器控制器200是否已接收到编程失败信息。也即是说,可以确定存储器控制器200是否已从存储器装置100接收到作为对编程直接读取命令的响应的编程失败信息。
当存储器控制器200接收到编程失败信息(Y)时,存储器控制器200可以基于编程失败信息将包括发生编程失败的存储器单元的存储块作为坏块处理,并且生成坏块信息(S1205)。
在一个实施方式中,存储器控制器200可以基于编程失败信息将包括编程失败存储器单元的存储块作为坏块处理。也即是说,存储器控制器200可以在坏块管理表中记录对应的存储块是坏块,并且可以不允许对应于被记录在坏块管理表中的存储块的地址进行输出。
此外,在存储器控制器200将包括编程失败存储器单元的存储块作为坏块处理之后,存储器控制器200可以生成表示坏块已出现的坏块信息。也即是说,存储器控制器200可以生成坏块信息,其表示尽管存储器装置100已执行对应于编程直接读取命令的操作,但编程操作已失败,并且发生编程失败的存储块是坏块。
当生成坏块信息时,存储器控制器200可以基于坏块信息向存储器装置100输出重新编程命令(S1207)。具体而言,因为编程操作已失败,所以可能有必要对存储在存储器装置100中的锁存器中的数据进行重新编程。因此,存储器控制器200可以将重新编程命令输出到存储器装置100,使得存储器装置100重新执行编程操作。
图13是示出根据本公开的一个实施方式的存储器控制器200的操作的图。
参照图13,在S1301,存储器控制器200可以接收编程失败信息,并且通过对接收到失败信息的次数进行计数来生成计数值。编程失败信息可以是对编程直接读取命令的响应。当被包括在读取数据中的失败位的数量超过允许位的数量时,可以从存储器装置100输出编程失败信息。
存储器控制器200可以确定通过对接收到失败信息的次数进行计数而生成的计数值是否超过参考值(S1303)。也即是说,即使当存储器装置100执行对应于从存储器控制器200接收的编程直接读取命令的操作时,存储器控制器200也可以确定编程失败发生的次数是否已增加。
当由存储器控制器200生成的计数值不超过参考值(N)时,存储器控制器200可以通过对接收到失败信息的次数进行重新计数来生成计数值(S1301)。
当由存储器控制器200生成的计数值超过参考值(Y)时,存储器控制器200可以将计数值输出到允许位设置组件、感测电路选择器和读取操作设置组件中的至少一个(S1305)。当允许位设置组件、感测电路选择器和读取操作设置组件中的至少一个接收到计数值时,存储器控制器200可以基于所接收到的计数值来设置存储器装置100的操作模式(S1307)。
具体而言,允许位设置组件可以基于所接收到的计数值输出允许位设置命令,以用于改变存储在被包括在存储器装置100中的允许位设置寄存器中的允许位。感测电路选择器可以基于所接收到的计数值来控制被包括在感测电路中的电路当中的CSC以执行感测操作。读取操作设置组件可以基于所接收到的计数值设置当执行编程直接读取命令时要读取的页面和/或读取电压。
图14是示出图1所示的存储器控制器200的另一实施方式的图。
参照图14,存储器控制器1000联接到主机(未示出)和存储器装置(未示出)。存储器控制器1000被配置成响应于从主机接收的请求而访问存储器装置。例如,存储器控制器1000被配置成控制存储器装置的读取操作、编程操作、擦除操作和后台操作。存储器控制器1000被配置成提供存储器装置与主机之间的接口。存储器控制器1000被配置成驱动用于控制存储器装置的固件。
存储器控制器1000可以包括处理器1010、存储器缓冲器1020、纠错码(ECC)电路1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可以被配置成提供存储器控制器1000的组件之间的信道。
处理器1010可以控制存储器控制器1000的整体操作,并且执行逻辑操作。处理器1010可以通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。此外,处理器1010可以通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可以使用存储器缓冲器1020作为工作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。
处理器1010可以执行闪存转换层(FTL)的功能。处理器1010可以通过FTL将由主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可以接收要使用映射表转换成PBA的LPA。根据映射单元,存在数种FTL的地址映射方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010被配置成随机化从主机接收的数据。例如,处理器1010可以使用随机化种子来随机化从主机接收的数据。经随机化的数据被提供为要存储到存储器装置并且被编程到存储器单元阵列中的数据。
处理器1010可以向图1所示的存储器装置100输出编程直接读取命令。编程直接读取命令可以是这样的命令,其指示存储器装置在存储器装置执行编程操作之后编程验证操作通过时,基于通过读取被编程的数据而获得的读取数据来确定编程操作的通过或失败。
随后,处理器1010可以通过从存储器装置接收对应于编程直接读取命令的编程失败信息来管理坏块,并且将重新编程命令输出到存储器装置,以重新执行编程操作。
处理器1010可以通过驱动软件或固件来执行随机化和去随机化。
存储器缓冲器1020可以用作处理器1010的工作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010执行的代码和命令。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路1030可以执行ECC操作。ECC电路1030可以对要通过存储器接口1060写入存储器装置中的数据执行ECC编码。经ECC编码的数据可以通过存储器接口1060传送到存储器装置。ECC电路1030可以对通过存储器接口1060从存储器装置接收的数据执行ECC解码。在一个示例中,ECC电路1030可以被包括在存储器接口1060中,作为存储器接口1060的组件。
主机接口1040可以在处理器1010的控制下与外部主机通信。主机接口1040可以使用各种通信方式中的至少一种与主机通信,各种通信方式例如为通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(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中的非易失性存储器装置(例如,只读存储器(ROM))加载代码。在另一示例中,处理器1010可以通过存储器接口1060从存储器装置加载代码。
在一个示例中,存储器控制器1000的总线1070可以分为控制总线和数据总线。数据总线可以被配置成在存储器控制器1000中发送数据,并且控制总线可以被配置成在存储器控制器1000中发送诸如命令和地址的控制信息。数据总线和控制总线彼此分离,并且可以不彼此干扰或影响。数据总线可以联接到主机接口1040、缓冲器控制电路1050、ECC电路1030和存储器接口1060。控制总线可以联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图15是示出应用了根据本公开的一个实施方式的存储装置的存储器卡系统2000的框图。
参照图15,存储器卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100被配置成访问存储器装置2200。例如,存储器控制器2100被配置成控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置成提供存储器装置2200与主机(未示出)之间的接口连接。存储器控制器2100被配置成驱动用于控制存储器装置2200的固件。存储器装置2200可以与参照5描述的存储器装置100同样地实现。
存储器控制器2100可以将编程直接读取命令输出到图1所示的存储器装置100。编程直接读取命令可以是这样的命令,其指示存储器装置在存储器装置执行编程操作之后编程验证操作通过时,基于通过读取被编程的数据而获得的读取数据来确定编程操作的通过或失败。
随后,存储器控制器2100可以通过从存储器装置接收对应于编程直接读取命令的编程失败信息来管理坏块,并且将重新编程命令输出到存储器装置,以重新执行编程操作。
在一个示例中,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口和ECC电路的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以根据特定通信协议与外部装置(例如,主机)通信。在一个示例中,存储器控制器2100可以通过各种通信协议中的至少一种与外部装置通信,各种通信协议例如为通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、PCI Express(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强小型磁盘接口(ESDI)、集成驱动器电子装置(IDE)、火线、通用闪存存储(UFS)、Wi-Fi、蓝牙和NVMe。
在一个示例中,存储器装置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、MMCmicro和eMMC)、SD卡(SD、minSD、microSD和SDHC)以及通用闪存存储(UFS)。
图16是示出根据本公开的一个实施方式的应用了存储装置的固态驱动器(SSD)系统3000的框图。
参照图16,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 Express(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强小型磁盘接口(ESDI)、集成驱动器电子装置(IDE)、火线、通用闪存存储(UFS)、WI-FI、蓝牙和NVMe。
SSD控制器3210可以将编程直接读取命令输出到多个闪存存储器3221至322n。编程直接读取命令可以是这样的命令,其指示存储器装置在多个闪存存储器3221至322n执行编程操作之后编程验证操作通过时,基于通过读取被编程的数据而获得的读取数据来确定编程操作的通过或失败。
随后,SSD控制器3210可以通过从多个闪存存储器3221至322n接收对应于编程直接读取命令的编程失败信息来管理坏块,并且将重新编程命令输出到多个闪存存储器3221至322n,以重新执行编程操作。
辅助电源3230通过电源连接器3002联接到主机3100。当来自主机3100的供电不平稳时,辅助电源3230可以向SSD 3200供电。在一个示例中,辅助电源3230可以位于SSD 3200中,或位于SSD 3200外部。例如,辅助电源3230可以位于主板上,并且向SSD 3200提供辅助电力。
缓冲存储器3240用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪存存储器3221至322n接收的数据,或临时存储闪存存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDRSDRAM、LPDDR SDRAM和GRAM的易失性存储器,或者诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图17是示出根据本公开的一个实施方式的应用了存储装置的用户系统4000的框图。
参照图17,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以驱动被包括在用户系统4000中的组件、操作系统(OS)或用户程序等。在一个示例中,应用处理器4100可以包括用于控制被包括在用户系统4000中的组件、接口和图形引擎等的控制器。应用处理器4100可以设置为片上系统(SOC)。
应用处理器4100可以将编程直接读取命令输出到存储模块4400。编程直接读取命令可以是这样的命令,其指示存储器装置在存储模块4400执行编程操作之后编程验证操作通过时,基于通过读取被编程的数据而获得的读取数据来确定编程操作的通过或失败。
随后,应用处理器4100可以通过从存储模块4400接收对应于编程直接读取命令的编程失败信息来管理坏块,并且将重新编程命令输出到存储模块4400,以重新执行编程操作。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器,或者诸如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可以将存储在其中的数据发送到应用处理器4100。在一个示例中,存储模块4400可以利用诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻RAM(RRAM)、NAND闪存、NOR闪存或具有三维结构的NAND闪存的非易失性半导体存储器装置来实现。在一个示例中,存储模块4400可以被设置为可移除驱动器,例如用户系统4000的存储器卡或外部驱动器。
在一个示例中,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以与参照图5至图8描述的存储器装置同样地操作。存储模块4400可以与参照图1描述的存储装置50同样地操作。
用户接口4500可以包括用于向应用处理器4100输入数据或命令或向外部装置输出数据的接口。在一个示例中,用户接口4500可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、照相机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口。用户接口4500可以包括诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
根据本公开,提供了一种用于将读取操作与编程操作一起执行的存储装置及该存储装置的操作方法。
虽然已经例示和描述了本公开的各种实施方式,但是本领域技术人员应当理解,在不脱离由所附权利要求及其等同物所限定的本公开的精神和范围的情况下,可以对所呈现的实施方式进行形式和细节上的各种改变。因此,本公开的范围不应限于上述实施方式,而是应由所附权利要求及其等同物确定。
在上述实施方式中,可以选择性地执行所有操作,或者可以省略一些操作。在每个实施方式中,操作并不必须根据所描述的顺序来执行,并且可以重新排序。本说明书和附图中公开的实施方式仅是为便于理解本公开的示例,而本公开不限于此。也即是说,对于本领域技术人员显而易见的是,可以基于本公开的技术范围进行各种变型。
同时,已经在附图和说明书中描述了本公开的实施方式。尽管这里使用了特定术语,但是这些术语仅用于解释本公开的实施方式。因此,本公开不限于上述实施方式,并且可以在本公开的精神和范围内进行许多变化。对于本领域技术人员显而易见的是,除了本文公开的实施方式之外,还可以基于本公开的技术范围进行各种变型。
相关申请的交叉引用
本申请要求于2019年5月28日提交的韩国专利申请No.10-2019-0062715的优先权,其全部内容通过引用并入本文。
Claims (20)
1.一种存储装置,该存储装置包括用于存储数据的存储器装置和用于控制所述存储器装置的存储器控制器,
其中,所述存储器装置包括:
允许位设置寄存器,该允许位设置寄存器被配置成存储允许位,所述允许位与在读取操作中被读取的读取数据中所包括的失败位进行比较;以及
读取操作控制器,该读取操作控制器被配置成控制所述存储器装置在编程操作之后立即执行所述读取操作,并且
其中,所述存储器控制器包括:
命令生成器,该命令生成器被配置成生成指示所述存储器装置执行操作的命令;
坏块处理器,该坏块处理器被配置成基于由所述存储器装置执行的所述读取操作的结果设置坏块;以及
失败信息控制器,该失败信息控制器被配置成基于由所述存储器装置执行的所述读取操作的结果来设置下一读取操作的操作模式。
2.根据权利要求1所述的存储装置,其中,所述命令生成器生成编程直接读取命令,所述编程直接读取命令指示所述存储器装置在所述存储器装置执行所述编程操作之后编程验证操作通过时,通过读取在所述存储装置中的被编程的数据来确定所述编程操作的通过或失败。
3.根据权利要求2所述的存储装置,其中,在所述存储器装置执行对应于所述编程直接读取命令的操作的情况下所述编程验证操作通过时,所述读取操作控制器控制所述存储器装置读取所述被编程的数据。
4.根据权利要求2所述的存储装置,其中,所述存储器装置将被包括在通过读取所述被编程的数据而获得的所述读取数据中的失败位的数量与所述允许位的数量进行比较,并且基于比较结果输出编程通过信息或编程失败信息。
5.根据权利要求4所述的存储装置,其中,所述存储器装置:
在所述失败位的数量超过所述允许位的数量时输出所述编程失败信息;并且
在所述失败位的数量未超过所述允许位的数量时输出所述编程通过信息。
6.根据权利要求4所述的存储装置,其中,所述坏块处理器基于所述编程失败信息将包括执行了所述编程操作的存储器单元的存储块作为坏块处理。
7.根据权利要求6所述的存储装置,其中,所述坏块处理器生成关于被作为坏块处理的所述存储块的坏块信息。
8.根据权利要求7所述的存储装置,其中,所述命令生成器生成重新编程命令,以用于允许对与被作为坏块处理的所述存储块不同的存储块重新执行编程操作。
9.根据权利要求4所述的存储装置,其中,所述失败信息控制器包括:
失败信息计数器,该失败信息计数器被配置成通过对接收到所述编程失败信息的次数进行计数来生成计数值;
允许位设置组件,该允许位设置组件被配置成基于所述计数值输出允许位设置命令,以用于改变存储在所述允许位设置寄存器中的允许位;
感测电路选择器,该感测电路选择器被配置成基于所述计数值输出感测电路选择信息,以用于选择执行感测操作的电路;以及
读取操作设置组件,该读取操作设置组件被配置成基于所述计数值输出读取操作设置信息,以用于确定要读取的页面或改变读取电压。
10.根据权利要求9所述的存储装置,其中,当所述计数值超过参考值时,所述失败信息计数器将所述计数值输出到所述允许位设置组件、所述感测电路选择器和所述读取操作设置组件中的至少一个。
11.根据权利要求10所述的存储装置,其中,当所述失败信息计数器将所述计数值输出到所述允许位设置组件时,所述允许位设置组件输出所述允许位设置命令,以用于将所述允许位的数量改变为大于现有的所述允许位的数量。
12.根据权利要求10所述的存储装置,其中,当所述失败信息计数器将所述计数值输出到所述感测电路选择器时,所述感测电路选择器输出所述感测电路选择信息,以用于允许由电流感测电路执行感测操作。
13.一种操作存储装置的方法,所述存储装置包括用于存储数据的存储器装置和用于控制所述存储器装置的存储器控制器,该方法包括以下步骤:
通过所述存储器装置在编程操作之后执行编程验证操作;
当所述编程验证操作通过时,读取在所述存储器装置中的被编程的数据;
通过所述存储器装置基于通过读取在所述存储器装置中的被编程的数据而获得的读取数据来确定所述编程操作的通过或失败;以及
通过所述存储器装置分别基于所确定的所述编程操作的通过的结果或失败的结果,将编程通过信息或编程失败信息输出到所述存储器控制器。
14.根据权利要求13所述的方法,其中,读取在所述存储器装置中的被编程的数据的步骤包括以下步骤:立即执行读取操作而不向所述存储器控制器输出表示所述编程验证操作已通过的响应。
15.根据权利要求13所述的方法,其中,确定所述编程操作的通过或失败的步骤包括以下步骤:将被包括在所述读取数据中的失败位的数量与存储在所述存储器装置中的允许位的数量进行比较。
16.根据权利要求15所述的方法,其中,将所述编程通过信息或所述编程失败信息输出到所述存储器控制器的步骤包括以下步骤:
当所述失败位的数量超过所述允许位的数量时,将所述编程失败信息输出到所述存储器控制器;以及
当所述失败位的数量未超过所述允许位的数量时,将所述编程通过信息输出到所述存储器控制器。
17.根据权利要求13所述的方法,该方法还包括以下步骤:基于所述编程失败信息将包括执行了所述编程操作的存储器单元的存储块作为坏块处理。
18.根据权利要求17所述的方法,该方法还包括以下步骤:对与被作为坏块处理的所述存储块不同的存储块重新执行编程操作。
19.根据权利要求13所述的方法,该方法还包括以下步骤:
通过对接收到所述编程失败信息的次数进行计数来生成计数值;以及
基于所述计数值设置操作模式,以用于在所述编程验证操作通过之后读取在所述存储器装置中的被编程的数据。
20.根据权利要求19所述的方法,其中,设置所述操作模式的步骤包括以下步骤:当所述计数值超过参考值时,基于所述计数值改变存储在所述存储器装置中的允许位的数量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190062715A KR20200136743A (ko) | 2019-05-28 | 2019-05-28 | 저장 장치 및 그 동작 방법 |
KR10-2019-0062715 | 2019-05-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112017718A true CN112017718A (zh) | 2020-12-01 |
Family
ID=73506452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911119115.1A Withdrawn CN112017718A (zh) | 2019-05-28 | 2019-11-15 | 存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US20200379678A1 (zh) |
KR (1) | KR20200136743A (zh) |
CN (1) | CN112017718A (zh) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100648290B1 (ko) | 2005-07-26 | 2006-11-23 | 삼성전자주식회사 | 프로그램 속도를 향상시킬 수 있는 불 휘발성 메모리 장치및 그것의 프로그램 방법 |
KR100724342B1 (ko) | 2006-01-06 | 2007-06-04 | 삼성전자주식회사 | 모드별 기준 페일수를 가지는 기준 페일 비트 확인회로 및이를 포함하는 불휘발성 반도체 메모리 장치 |
KR101413137B1 (ko) | 2008-07-04 | 2014-07-01 | 삼성전자주식회사 | 메모리 장치 및 메모리 프로그래밍 방법 |
KR101005155B1 (ko) | 2009-05-13 | 2011-01-04 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자 및 그 테스트 방법 |
KR101022882B1 (ko) * | 2009-06-12 | 2011-03-16 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치의 동작 방법 |
KR101653206B1 (ko) | 2010-01-19 | 2016-09-02 | 삼성전자주식회사 | 프로그램 검증 회로 및 이를 포함하는 비휘발성 메모리 장치 |
KR20120069109A (ko) | 2010-12-20 | 2012-06-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
KR101944793B1 (ko) * | 2012-09-04 | 2019-02-08 | 삼성전자주식회사 | 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법 |
US8887011B2 (en) * | 2012-09-13 | 2014-11-11 | Sandisk Technologies Inc. | Erased page confirmation in multilevel memory |
JP6391172B2 (ja) * | 2015-09-10 | 2018-09-19 | 東芝メモリ株式会社 | メモリシステム |
KR102609130B1 (ko) * | 2016-02-17 | 2023-12-05 | 삼성전자주식회사 | 읽기 전압 서치 유닛을 포함하는 데이터 저장 장치 |
KR102634421B1 (ko) | 2016-11-21 | 2024-02-06 | 에스케이하이닉스 주식회사 | 페일 비트 카운터 및 이를 포함하는 반도체 메모리 장치 |
JP6991084B2 (ja) * | 2018-03-22 | 2022-01-12 | キオクシア株式会社 | 不揮発性メモリデバイス及び制御方法 |
US10770158B1 (en) * | 2019-05-15 | 2020-09-08 | Western Digital Technologies, Inc. | Detecting a faulty memory block |
-
2019
- 2019-05-28 KR KR1020190062715A patent/KR20200136743A/ko not_active Application Discontinuation
- 2019-10-23 US US16/661,828 patent/US20200379678A1/en not_active Abandoned
- 2019-11-15 CN CN201911119115.1A patent/CN112017718A/zh not_active Withdrawn
-
2021
- 2021-10-13 US US17/500,723 patent/US11748036B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20200379678A1 (en) | 2020-12-03 |
US20220035570A1 (en) | 2022-02-03 |
KR20200136743A (ko) | 2020-12-08 |
US11748036B2 (en) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110390970B (zh) | 存储器装置及其操作方法 | |
US11543984B2 (en) | Memory controller, storage device and operating method thereof | |
CN111258919B (zh) | 储存设备及其操作方法 | |
CN111105832B (zh) | 存储装置和操作存储装置的方法 | |
US11119950B2 (en) | Storage device and method of operating the same | |
CN110780802A (zh) | 存储器控制器及其操作方法 | |
CN112463664A (zh) | 存储装置及其操作方法 | |
KR20190123544A (ko) | 저장 장치 및 그 동작 방법 | |
KR20210090439A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
KR102501778B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN110827873A (zh) | 存储器控制器 | |
CN112002367B (zh) | 存储器装置以及操作该存储器装置的方法 | |
CN111506515B (zh) | 存储器控制器及其操作方法 | |
US10996881B2 (en) | Storage device and method of operating the same | |
KR102456175B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN112309446A (zh) | 存储设备和操作存储设备的方法 | |
CN111796962A (zh) | 存储装置以及存储装置的操作方法 | |
CN114360593A (zh) | 存储装置及其操作方法 | |
CN112289361A (zh) | 存储器装置及其操作方法 | |
CN112346654A (zh) | 存储装置以及操作该存储装置的方法 | |
CN112447234A (zh) | 存储器控制器及其操作方法 | |
CN112199037A (zh) | 存储器控制器及其操作方法 | |
CN111752470A (zh) | 存储器控制器及其操作方法 | |
CN110648698A (zh) | 储存装置、存储器件及操作该存储器件的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201201 |
|
WW01 | Invention patent application withdrawn after publication |