CN110413219A - 存储器控制器、存储器系统及其操作方法 - Google Patents
存储器控制器、存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN110413219A CN110413219A CN201811605122.8A CN201811605122A CN110413219A CN 110413219 A CN110413219 A CN 110413219A CN 201811605122 A CN201811605122 A CN 201811605122A CN 110413219 A CN110413219 A CN 110413219A
- Authority
- CN
- China
- Prior art keywords
- memory device
- data
- memory
- failure
- programming operation
- 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
Classifications
-
- 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
- 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
- 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/1068—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 in sector programmable memories, e.g. flash disk
-
- 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/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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/0656—Data buffering 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/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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/5671—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 trapping in an insulator
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- 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
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- 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/5642—Multilevel memory with buffers, latches, registers at input or output
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)
Abstract
本发明提供了一种包括在用于处理编程操作失败的存储器系统中的存储器控制器。存储器控制器控制共同地联接至通道的多个存储器装置,多个存储器装置分别执行预设编程操作,并且存储器控制器包括:缓冲存储器,用于基于缓冲存储器索引存储待存储在多个存储器装置中的数据;以及编程错误处理器,用于从失败存储器装置获取与编程操作失败对应的失败数据,并且基于缓冲存储器索引获取重新编程数据,该重新编程数据是待与失败数据一起存储的数据。
Description
相关申请的交叉引用
本申请要求于2018年4月30日提交的申请号为10-2018-0050194的韩国专利申请的优先权,其全部公开通过引用整体并入本文。
技术领域
本发明公开总体涉及一种电子装置,更特别地涉及一种存储器系统及其操作方法。
背景技术
通常,存储系统可以在诸如计算机、智能电话或智能平板的主机装置的控制下存储数据。存储系统可以包括用于在诸如硬盘驱动器(HDD)的磁盘上存储数据的装置(通常也称为存储装置)或者用于在半导体存储器(也称为存储器装置)例如诸如固态硬盘(SSD)或存储卡的非易失性存储器装置上存储数据的装置。采用存储器装置的基于半导体的存储系统在本文中被称为存储器系统。
除了用于存储数据的存储器装置之外,存储器系统可以包括用于控制存储器装置的存储器系统控制器(在下文中被简称为存储器控制器)。存储器控制器可以控制存储器装置和主机之间的数据流和控制信号。存储器装置可以被分类为易失性存储器装置和非易失性存储器装置。非易失性存储器装置的示例可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。
发明内容
本发明的实施例总体涉及一种存储器控制器、采用存储器控制器的存储器系统以及用于处理编程操作的操作方法。
根据本发明公开的一方面,提供一种存储器控制器,该存储器控制器用于控制共同地联接至通道的多个存储器装置,多个存储器装置分别执行预设编程操作,存储器控制器包括:缓冲存储器,被配置成基于缓冲存储器索引存储待存储在多个存储器装置中的数据;以及编程错误处理器,被配置成从失败存储器装置获取与编程操作失败对应的失败数据,并且基于缓冲存储器索引获取重新编程数据,该重新编程数据是待与失败数据一起被存储的数据。
根据本发明公开的另一方面,提供一种操作存储器控制器的方法,该存储器控制器用于控制共同地联接至通道的多个存储器装置,多个存储器装置分别执行预设编程操作,该方法包括:检测在多个存储器装置中的任何一个存储器装置中已经发生的编程操作失败;获取作为存储在失败存储器装置中的数据的失败数据;获取作为待与失败数据一起被存储的数据的重新编程数据;以及将失败数据和重新编程数据存储在多个存储器装置中。
根据本发明公开的一方面,提供一种存储器系统,该存储器系统包括:多个存储器装置,共同地联接至通道,适于基于交织方案执行编程操作;以及存储器控制器,适于:检测具有编程操作失败的失败存储器装置;保持针对多个存储器装置的编程操作;从失败存储器装置获取与编程操作失败对应的失败数据;对除失败存储器装置之外的剩余存储器装置执行重新编程操作;从剩余存储器装置中获取与重新编程操作对应的重新编程数据;以及对失败存储器装置执行重新编程操作以将失败数据和重新编程数据存储在失败存储器装置中。
从结合附图的下列详细描述,本发明的这些和其它特征以及优点对于本发明领域的技术人员将变得显而易见。
附图说明
现在将参照附图在下文中更全面地描述发明的示例性实施例;然而,注意的是,本发明可以不同形式来实施,并且不应被解释为仅限于本文阐述的实施例。相反,提供这些实施例以使本公开将彻底且完整,并且向本发明所属或相关的本领域技术人员充分传达本发明的范围。
在附图中,为了清楚说明,可能夸大尺寸。还将理解的是,当元件被称为在两个元件“之间”时,它可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。相同的附图标记自始至终指代相同的元件。
图1是示出根据本发明公开的实施例的可操作地联接至主机的存储器系统的框图。
图2是示出根据本发明公开的实施例的存储器装置的配置的示图。
图3是示出根据本发明公开的实施例的三维存储器单元阵列的示图。
图4是示出根据本发明公开的实施例的存储块的电路图。
图5是示出根据本发明公开的另一实施例的存储块的电路图。
图6是示出根据本发明公开的实施例的存储器控制器和多个存储器装置之间的联接配置的示图。
图7A和图7B是示出采用数据交织的编程操作和读取操作的时序图。
图8是示出根据本发明公开的实施例的用于处理编程操作失败的方法的示图。
图9是示出根据本发明公开的实施例的存储器控制器的操作的流程图。
图10是示出根据本发明公开的实施例的存储器控制器的示图。
图11是示出根据本发明公开的实施例的采用存储器系统的存储卡系统的框图。
图12是示例性地示出根据本发明公开的实施例的采用存储器系统的固态硬盘(SSD)系统的框图。
图13是示出根据本发明公开的实施例的采用存储器系统的用户系统的框图。
具体实施方式
注意的是,本文公开的本发明的具体结构描述和/或功能描述仅用于说明根据本发明的构思描述各种实施例的目的。因此,本发明的构思也可以各种其它形式来实施,并且可以不被解释为仅限于本文阐述的实施例。
而且,我们注意到所描述的实施例可以进行各种修改,并且可以具有与本发明的构思一致的各种其它配置。
为了向本发明所属或相关领域的普通技术人员公开本发明的目的,在附图中示意性地示出并且在本文中详细描述了本发明的各种示例性实施例。然而,根据本发明的构思的本发明及其各种实施例不应被解释为限于指定的公开,并且可以包括不脱离本发明的精神和技术范围的所有改变、等同方案或替代方案。
虽然诸如“第一”和“第二”的术语可以用于描述各种组件,但是这些组件不一定被理解为限制为上述术语。这些术语仅用于将一个组件与另一组件区分。例如,在不脱离本发明公开的权利范围的情况下,第一组件可以被称为第二组件,同样第二组件可以被称为第一组件。
将理解的是,当一个元件被称为“连接”或“联接”至另一元件时,它可以直接连接或联接至其它元件,或者也可以存在中间元件。相反,当一个元件被称为“直接连接”或“直接联接”至另一元件时,不存在中间元件。同时,可以类似地解释描述组件之间的关系的其它表达,例如“在.....之间”、“直接在......之间”或“与......相邻”和“与......直接相邻”。
本申请中使用的术语仅用于描述特定实施例,并不旨在限制本发明公开。除非上下文另有明确说明,否则本发明公开中的单数形式旨在包括复数形式。将进一步理解的是,诸如“包括”或“具有”等术语旨在表示在说明书中公开的特征、数字、操作、动作、组件、部件或其组合的存在,但并不旨在排除可能存在或可能添加一个或多个其它特征、数字、操作、动作、组件、部件或其组合的可能性。
只要不进行不同地定义,则本文使用的包括技术或科学术语的全部术语具有本发明公开所属领域的技术人员通常理解的含义。具有字典中限定的定义的术语应该被理解为使得它们具有与相关技术的上下文的含义一致的含义。只要本申请中不进行明确地定义,则不应以理想或过于形式化的方式理解术语。
在描述这些实施例时,将省略对本发明公开所属领域和本发明公开未直接相关的本领域公知的技术的描述。这旨在通过省略不必要的描述更清楚地公开本发明公开的主旨。
在下文中,将参照附图详细描述本发明公开的各种实施例,以便本领域技术人员能够容易地实践本发明公开的技术方案。
图1是示出根据本发明公开的实施例的存储器系统50的框图。
参照图1,存储器系统50可以包括存储器装置100、存储器控制器200和缓冲存储器300。
存储器系统50可以在诸如下列的主机400的控制下存储数据:移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)、平板电脑(PC)或车载信息娱乐系统。
存储器系统50可以被实施为采用与主机400的各种主机接口通信方案的各种类型存储器系统中的任意一种。例如,存储器系统50可以利用诸如下列的各种类型存储器系统中的任意一种来实施:固态硬盘(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)、微型MMC型多媒体卡、安全数字(SD)、迷你SD和微型SD安全数字卡、通用串行总线(USB)、通用闪存(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡、外围组件互连(PCI)卡、高速PCI(PCI-e或PCIe)卡、紧凑型闪存(CF)卡、智能媒体卡和记忆棒的存储器系统。
存储器系统50可以被实施为各种封装类型中的任意一种。例如,存储器系统50可以被实施为诸如下列的各种封装类型中的任意一种:堆叠式封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器装置100可以存储数据。存储器装置100可以在存储器控制器200的控制下操作。存储器装置100可以包括存储器单元阵列,该存储器单元阵列包括用于存储数据的多个存储器单元。存储器单元阵列可包括多个存储块。每个存储块可以包括多个存储器单元。一个存储块可以包括多个页面。在一些实施例中,页面可以是用于存储数据或读取存储在存储器装置100中的数据的单元。存储块可以是擦除数据的单元。在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻随机存取存储器(RRAM或ReRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,为了方便起见,更详细地描述了存储器装置100是NAND闪速存储器的情况作为示例。
在实施例中,存储器装置100可以以三维(3D)阵列结构实现。本发明公开不仅可以应用于利用浮栅(FG)配置电荷存储层的闪速存储器装置,而且还可以应用于利用绝缘层配置电荷存储层的电荷电荷撷取闪存(CTF)。
在实施例中,包括在存储器装置100中的存储器单元中的每一个可以被配置为用于存储一个数据位的单层单元(SLC)。可选地,包括在存储器装置100中的存储器单元中的每一个可以被配置为用于存储两个数据位的多层单元(MLC)、用于存储三个数据位的三层单元(TLC)或用于存储四个数据位的四层单元(QLC)。
存储器装置100被配置成以从存储器控制器200接收命令和地址且访问存储器单元阵列中由地址选择的区域。也就是说,存储器装置100可以对由地址选择的区域执行与命令对应的操作。例如,存储器装置100可以执行写入(或编程)操作、读取操作以及擦除操作。在编程操作中,存储器装置100可以将数据编程在由地址选择的区域中。在读取操作中,存储器装置100可以从由地址选择的区域读取数据。在擦除操作中,存储器装置100可以擦除存储在由地址选择的区域中的数据。
存储器控制器200可以控制存储器系统50的操作。
当电力被供应至存储器系统50时,存储器控制器200可以执行用于控制主机400和存储器装置100之间的通信的固件(FW)。例如,当存储器装置100是闪速存储器装置时,存储器控制器200可以执行用于控制主机400和存储器装置100之间的通信且被称为闪存转换层(FTL)的FW。
在实施例中,存储器控制器200可以从主机400接收数据和逻辑块地址(LBA),并且将LBA转换为物理块地址(PBA),该物理块地址表示数据被存储在存储器装置100中包括的存储器单元的地址。存储器控制器200可以将建立LBA和PBA之间的映射关系的逻辑-物理地址映射信息存储在缓冲存储器300中。
存储器控制器200可以响应于来自主机400的请求控制存储器装置100执行编程操作、读取操作、擦除操作等。在编程操作中,存储器控制器200可以将编程命令、PBA和数据提供至存储器装置100。在读取操作中,存储器控制器200可以将读取命令和PBA提供至存储器装置100。在擦除操作中,存储器控制器200可以将擦除命令和PBA提供至存储器装置100。
在实施例中,存储器控制器200可以在没有来自主机400的任何请求的情况下自主地生成编程命令、地址和数据,并且将编程命令、地址和数据传输至存储器装置100。例如,存储器控制器200可以将命令、地址和数据提供给存储器装置100,以执行诸如损耗均衡操作和垃圾收集操作的后台操作。
在实施例中,存储器控制器200可以控制主机400和缓冲存储器300之间的数据交换。可选地,存储器控制器200可以将用于控制存储器装置100的系统数据临时存储在缓冲存储器300中。例如,存储器控制器200可以将从主机400接收的数据临时存储在缓冲存储器300中,然后将临时存储在缓冲存储器300中的数据传输至存储器装置100。
在各种实施例中,缓冲存储器300可以用作存储器控制器200的工作存储器或高速缓冲存储器。缓冲存储器300可以存储由存储器控制器200执行的代码或命令。缓冲存储器300可以存储由存储器控制器200处理的数据。
在实施例中,缓冲存储器300可以利用诸如双倍数据速率同步DRAM(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双数据速率(GDDR)SDRAM、低功耗DDR(LPDDR)或Rambus动态随机存取存储器(RDRAM)的动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)来实施。
在各种实施例中,存储器系统50可以不包括缓冲存储器300,而是包括外部易失性存储器装置,即,设置在存储器系统50外部的易失性存储器装置可以用作缓冲存储器300。
在各种实施例中,缓冲存储器300可以被包括在存储器控制器200中。
存储器控制器200可以控制至少两个存储器装置100。存储器控制器200可以根据交织方案控制存储器装置100,以便提高操作性能。
主机400可以使用诸如下列的各种通信方案中的至少一种与存储器系统50通信:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe或PCIe)、非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
图2是示出根据本发明公开的实施例的存储器装置,例如图1的存储器装置100的示图。
参照图2,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110可包括多个存储块,例如,存储块BLK1到BLKz。多个存储块BLK1至BLKz可以通过行线RL联接至行解码器121。多个存储块BLK1至BLKz可以通过位线BL1至BLn联接至页面缓冲器组123。多个存储块BLK1至BLKz中的每一个可以包括多个存储器单元。在实施例中,多个存储器单元是非易失性存储器单元。联接至相同字线的存储器单元可以被定义为一个页面。因此,一个存储块可以包括多个页面。
对于每个存储块,行线RL可以包括至少一个源极选择线、多个字线和至少一个漏极选择线。
包括在存储器单元阵列110中的存储器单元中的每一个可以被配置为用于存储一个数据位的单层单元(SLC)。而且,包括在存储器装置100中的存储器单元中的每一个可以被配置为用于存储两个数据位的多层单元(MLC)、用于存储三个数据位的三层单元(TLC)或用于存储四个数据位的四层单元(QLC)。
外围电路120可以被配置成在控制逻辑130的控制下对存储器单元阵列110的选择区域执行编程操作、读取操作或擦除操作。外围电路120可以驱动存储器单元阵列110。例如,外围电路120可以在控制逻辑130的控制下将各种操作电压施加至行线RL和位线BL1至BLn或者对施加的电压放电。
外围电路120可以包括行解码器121、电压产生电路122、页面缓冲器组123、列解码器124以及输入和输出(输入/输出)电路125。
行解码器121通过行线RL联接至存储器单元阵列。行线RL可以包括至少一个源极选择线、多个字线和至少一个漏极选择线。在实施例中,字线可以包括正常字线和虚设字线。在实施例中,行线RL可以进一步包括管道选择线。
行解码器121可以在控制逻辑130的控制下操作。行解码器121从控制逻辑130接收行地址RADD。
行解码器121被配置成解码行地址RADD。行解码器121根据解码的地址选择存储块BLK1至BLKz中的至少一个存储块。而且,地址解码器121可以选择所选择的存储块的至少一个字线以根据解码的地址将由电压产生电路122生成的电压Vop施加到至少一个字线WL。
在编程操作中,行解码器121可以将编程电压施加到选择的字线,并且将具有小于编程电压的电压的电平的编程通过电压施加到未选择的字线。在编程验证操作中,行解码器121可以将验证电压施加到选择的字线,并且将大于验证电压的验证通过电压施加到未选择的字线。在读取操作中,行解码器121可以将读取电压施加到选择的字线,并且将大于读取电压的读取通过电压施加到未选择的字线。
在实施例中,以存储块为单位执行存储器装置100的擦除操作。在擦除操作中,行解码器121可以根据解码的地址选择一个存储块。在擦除操作中,行解码器121可以将接地电压施加到与选择的存储块联接的字线。
电压产生电路122可以在控制逻辑130的控制下操作。电压产生电路122可以通过使用供应至存储器装置100的外部电源电压生成多个电压Vop。具体地,电压产生电路122可以响应于来自控制逻辑130的操作信号OPSIG生成用于编程操作、读取操作和擦除操作的各种操作电压Vop。例如,电压产生电路122在控制逻辑130的控制下,生成编程电压、验证电压、通过电压、读取电压、擦除电压等。
在实施例中,电压产生电路122可以通过调节外部电源电压来生成内部电源电压。由电压产生电路122生成的内部电源电压用作存储器装置100的操作电压。
在实施例中,电压产生电路122可以通过使用外部电源电压或内部电源电压来生成多个电压。
例如,电压产生电路122包括用于接收内部电源电压的多个泵电容器,并且在控制逻辑130的控制下通过选择性地激活多个泵电容器来生成多个电压。
多个生成的电压可以通过行解码器121被供应至存储器单元阵列110。
页面缓冲器组123可以包括多个页面缓冲器,例如,第一至第n页面缓冲器PB1到PBn。第一至第n页面缓冲器PB1至PBn分别通过第一至第n位线BL1至BLn联接至存储器单元阵列110。第一至第n页面缓冲器PB1到PBn在控制逻辑130的控制下操作。具体地,第一至第n页面缓冲器PB1到PBn可以响应于来自控制逻辑130的页面缓冲器控制信号PBSIGNALS而操作。例如,第一至第n页面缓冲器PB1至PBn临时存储通过第一至第n位线BL1至BLn接收的数据,或者在读取或验证操作中感测位线BL1至BLn的电压或电流。
具体地,在编程操作中,当编程电压施加到选择的字线时,第一至第n页面缓冲器PB1到PBn可以将通过输入/输出电路125接收的数据传送到选择的存储器单元。可以根据传送的数据DATA对选择的页面的存储器单元进行编程。与施加有编程允许电压(例如,接地电压)的位线联接的存储器单元可具有增加的阈值电压。可以保持与施加有编程禁止电压(例如,电源电压)的位线联接的存储器单元的阈值电压。在编程验证操作中,第一至第n页面缓冲器PB1至PBn通过位线BL1至BLn从选择的存储器单元读取页面数据。
在读取操作中,第一至第n页面缓冲器PB1至PBn可以在列解码器124的控制下,通过第一至第n位线BL1至BLn从选择的页面的存储器单元读取数据DATA,并将读取的数据DATA输出至输入/输出电路125。
在擦除操作中,第一至第n页面缓冲器PB1至PBn可以使第一至第n位线BL1至BLn浮置。
列解码器124可以响应于来自控制逻辑130的列地址CADD在输入/输出电路125和页面缓冲器组123之间传送数据。例如,列解码器124通过数据线DL与第一至第n页面缓冲器PB1至PBn交换数据或者通过列线CL与输入/输出电路125交换数据。
输入/输出电路125可以将从参照图1描述的存储器控制器200接收的命令CMD和地址ADDR传送至控制逻辑130,或者与列解码器124交换数据DATA。
在读取操作或验证操作中,感测电路126可响应于来自控制逻辑130的允许位信号VRYBIT而生成参考电流,并且通过将从页面缓冲器组123接收的感测电压VPB与由参考电流生成的参考电压进行比较以将通过信号PASS或失败信号FAIL输出至控制逻辑130。
控制逻辑130可以通过响应于命令CMD和地址ADDR输出操作信号OPSIG、行地址RADD、页面缓冲器控制信号PBSIGNALS和允许位信号VRYBIT来控制外围电路120。而且,控制逻辑130可以响应于通过信号PASS或失败信号FAIL来确定验证操作是已经通过还是已经失败。
图3是示出根据本发明公开的实施例的存储器单元阵列,例如图2的存储器单元阵列110的示例的示图。
参照图3,存储器单元阵列110可以包括多个存储块BLK1至BLKz。每个存储块可以具有三维(3D)结构。每个存储块包括堆叠在衬底(未示出)上的多个存储器单元。多个存储器单元可以沿+X方向、+Y方向和+Z方向布置。将参照图4和图5更详细地描述每个存储块的结构。
图4是示出根据本发明公开的实施例的存储块的示例,例如图3的存储块BLK1至BLKz之中的存储块BLKa的电路图。
参照图4,存储块BLKa可以包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,多个单元串CS11至CS1m和CS21至CS2m中的每一个可以形成为“U”型。在存储块BLKa中,m个单元串布置在行方向(即+X方向)。虽然图4示出在列方向(即+Y方向)布置两个单元串,但是本发明公开不限于此。也就是说,图4的图示仅是为了清楚;将理解的是,可以在列方向布置三个单元串。
多个单元串CS11至CS1m和CS21至CS2m中的每一个包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT和至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可以具有彼此类似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可以在每个单元串中设置用于提供沟道层的柱(pillar)。在实施例中,可以在每个单元串中设置用于提供沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每个单元串的源极选择晶体管SST联接在共源线CSL和存储器单元MC1至MCp之间。
在实施例中,布置在同一行中的单元串的源极选择晶体管联接至在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接至不同的源极选择线。在图4中,第一行中的单元串CS11至CS1m的源极选择晶体管联接至第一源极选择线SSL1。第二行中的单元串CS21至CS2m的源极选择晶体管联接至第二源极选择线SSL2。
在另一实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可以共同地联接至单个源极选择线。
每个单元串中的第一至第n存储器单元MC1至MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一至第n存储器单元MC1至MCn可以被划分成第一至第p存储器单元MC1至MCp以及第(p+1)至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp顺序地布置在与+Z方向相反的方向上,并且串联联接在源极选择晶体管SST和管道晶体管PT之间。第(p+1)至第n存储器单元MCp+1至MCn顺序地布置在+Z方向上,并且串联联接在管道晶体管PT和漏极选择晶体管DST之间。第一至第p存储器单元MC1至MCp和第(p+1)至第n存储器单元MCp+1至MCn通过管道晶体管PT联接。每个单元串的第一至第n存储器单元MC1至MCn的栅极分别联接至第一至第n字线WL1至WLn。
每个单元串的管道晶体管PT的栅极联接至管线PL。
每个单元串的漏极选择晶体管DST联接在相应位线与存储器单元MCp+1至MCn之间。布置在行方向上的单元串联接至在行方向上延伸的漏极选择线。第一行中的单元串CS11至CS1m的漏极选择晶体管联接至第一漏极选择线DSL1。第二行中的单元串CS21至CS2m的漏极选择晶体管联接至第二漏极选择线DSL2。
布置在列方向上的单元串联接至在列方向上延伸的位线。在图4中,第一列中的单元串CS11和CS21联接至第一位线BL1。第m列中的单元串CS1m和CS2m联接至第m位线BLI。
布置在行方向上的单元串中、联接至相同字线的存储器单元构成一个页面。例如,在第一行中的单元串CS11至CS1m中、联接至第一字线WL1的存储器单元构成一个页面。在第二行中的单元串CS21至CS2m中、联接至第一字线WL1的存储器单元构成另一页面。当选择漏极选择线DSL1和DSL2中的任意一个时,可以选择在单个行方向上布置的单元串。当选择字线WL1至WLn中的任意一个时,可以在选择的单元串中选择一个页面。
在另一实施例中,可以设置偶数位线和奇数位线来代替第一至第m位线BL1至BLI。另外,布置在行方向上的单元串CS11至CS1m或CS21至CS2m之中的、偶数编号单元串可以分别联接至偶数位线,且布置在行方向上的单元串CS11至CS1m或CS21至CS2m之中的、奇数编号的单元串可以分别联接至奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可以用作虚设存储器单元。例如,可以设置至少一个虚设存储器单元以减小源极选择晶体管SST和存储器单元MC1至MCp之间的电场。可选地,可以设置至少一个虚设存储器单元以减小漏极选择晶体管DST和存储器单元MCp+1至MCn之间的电场。当虚设存储器单元的数量增加时,存储块BLKa的操作可靠性提高。另一方面,存储块BLKa的大小增大。当虚设存储器单元的数量减少时,存储块BLKa的大小减小。另一方面,存储块BLKa的操作可靠性可能劣化。
为了有效地控制至少一个虚设存储器单元,虚设存储器单元可以具有所需的阈值电压。在对存储块BLKa执行擦除操作之前或之后,可以对全部或一些虚设存储器单元执行编程操作。在编程操作被执行之后执行擦除操作时,虚设存储器单元的阈值电压可控制施加到与各自的虚设存储器单元联接的虚设字线的电压,使得虚设存储器单元可以具有所需的阈值电压。
图5是示出根据本发明公开的实施例的存储块的示例,例如图3的存储块BLK1至BLKz之中的存储块BLKb的电路图。
参照图5,存储块BLKb可以包括多个单元串CS11'至CS1m'和CS21'至CS2m'。单元串CS11'至CS1m'和CS21'至CS2m'中的每一个沿+Z方向延伸。单元串CS11'至CS1m'和CS21'至CS2m'中的每一个包括堆叠在衬底(未示出)上的至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST,其中该衬底设置在存储块BLKb的下方。
每个单元串的源极选择晶体管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。
因此,除了管道晶体管PT不包括在图5的每个单元串中之外,图5的存储块BLKb可以具有与图4的存储块BLKa的电路类似的电路。
在另一实施例中,可以设置偶数位线和奇数位线来代替第一至第m位线BL1至BLm。另外,布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'之中的偶数编号单元串可以分别联接至偶数位线,并且布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'之中的奇数编号单元串可以分别联接至奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的一个或多个可以用作虚设存储器单元。例如,可以设置至少一个虚设存储器单元以减小源极选择晶体管SST和存储器单元MC1至MCn之间的电场。可选地,可以设置至少一个虚设存储器单元以减小漏极选择晶体管DST和存储器单元MC1至MCn之间的电场。当设置较大数量的虚设存储器单元时,存储块BLKb的操作可靠性提高。另一方面,存储块BLKb的大小增大。当虚设存储器单元的数量减少时,存储块BLKb的大小减小。另一方面,存储块BLKb的操作可靠性可能劣化。
为了有效地控制虚设存储器单元,虚设存储器单元可具有所需的阈值电压。在对存储块BLKb执行擦除操作之前或之后,可以对全部或一些虚设存储器单元执行编程操作。在编程操作被执行之后执行擦除操作时,虚设存储器单元的阈值电压控制施加到与各自的虚设存储器单元联接的虚设字线的电压,使得虚设存储器单元可以具有所需的阈值电压。
图6是示出根据本发明公开的实施例的存储器控制器和多个存储器装置之间,例如图1的存储器控制器200和多个存储器装置之间的联接配置的示图。
参照图6,存储器控制器200可以通过多个通道CH1至CHi联接至多个存储器装置(例如,存储器装置_11至存储器装置_ij)。可以不同地修改通道的数量和/或联接至每个通道的存储器装置的数量。
存储器装置_11至存储器装置_1j可以共同地联接至通道1CH1并且通过通道1CH1与存储器控制器200通信。由于存储器装置_11至存储器装置_1j共同地联接至通道1CH1,因此每次仅这些存储器装置中的一个可以与存储器控制器200通信。然而,可以在多于一个存储器装置11至1j中同时执行操作。
联接至剩余通道,即通道2CH2至通道i Chi中的每一个的存储器装置也可以以与联接至通道1CH1的存储器装置相同的方式操作。
根据本发明,可以使用数据交织来提高采用多个存储器装置,例如图2中描述的存储器装置的存储器系统的性能。数据交织是指使用本文描述的数据交织方法从存储器装置到主机的数据通信。本发明的数据交织方法可以包括在两种或更多种通路共享一个通道的结构中在通路之间移动时执行数据读取操作或写入操作。数据交织方法可以包括以通道和通路为单位管理联接至存储器控制器200的多个存储器装置。为了最大化与每个通道联接的存储器装置(即,与能够执行同时操作的单个通道联接的存储器装置)的并行性,存储器控制器200可以将连续的逻辑存储器区域分发并分配给通道和通路。
例如,根据本发明的实施例,存储器控制器200可以通过通道1CH1将命令、包括地址的控制信号和数据传输至存储器装置_11。当存储器装置_11正在将传输的数据编程在存储器装置中的存储器单元时,存储器控制器200可以将命令、包括地址的控制信号和数据传输至存储器装置_12。
多个存储器装置可以被配置为多种通路,例如如图6所示,j个通路WAY1至WAYj。因此,通路1WAY1可以包括从存储器装置_11至存储器装置_i1的存储器装置。包括在通路2WAY2至通路j WAYj中的存储器装置也可以与包括在通路1WAY1中的存储器装置相同的方式配置。
通道CH1至CHi中的每一个可以是由与相应通道联接的存储器装置共享和使用的信号的总线。虽然图6示出了i-通道/j-通路结构中的数据交织,但是当通道的数量和通路的数量增加时,数据交织的效率可以提高。
图7A和图7B是示出根据本发明的数据交织方法的实施例的编程操作和读取操作的时序图。
图7A示出编程操作,而图7B示出读取操作。
在图7A和图7B中,为方便起见,假设对共同地联接至图6的通道1CH1的存储器装置_11至存储器装置_14执行编程操作和读取操作。
参照图7A,在从t0至t1的时间段,可以对存储器装置_11执行数据输入DIN#11。当正在执行数据输入DIN#11时,存储器装置_11可以接收通过通道1CH1输入的编程命令、地址和数据。由于存储器装置_11、存储器装置_12、存储器装置_13和存储器装置_14共同地联接至通道1CH1,因此当正在执行数据输入DIN#11时,作为其它存储器装置的存储器装置_12、存储器装置_13和存储器装置_14不能使用通道1CH1。
在从t1至t2的时间段,可以对存储器装置_12执行数据输入DIN#12。当正在执行数据输入DIN#12时,存储器装置_12可以接收通过通道1CH1输入的编程命令、地址和数据。由于存储器装置_11、存储器装置_12、存储器装置_13和存储器装置_14共同地联接至通道1CH1,因此当正在执行数据输入DIN#12时,例如存储器装置_11、存储器装置_13和存储器装置_14的其它存储器装置不能使用通道1CH1。然而,存储器装置_11在从t0至t1的时间段已经接收到数据(DIN#11),因此,可以从t1执行编程操作(tPROG#11)。
在从t2至t3的时间段,可以对存储器装置_13执行数据输入DIN#13。当正在执行数据输入DIN#13时,存储器装置_13可以接收通过通道1CH1输入的编程命令、地址和数据。由于存储器装置_11、存储器装置_12、存储器装置_13和存储器装置_14共同地联接至通道1CH1,因此当正在执行数据输入DIN#13时,例如存储器装置_11、存储器装置_12和存储器装置_14的其它存储器装置不能使用通道1CH1。然而,存储器装置_11已经在从t0至t1的时间段接收到数据(DIN#11),因此,可以从t1执行编程操作(tPROG#11)。另外,存储器装置_12已经在从t1至t2的时间段接收到数据(DIN#12),因此,可以从t2执行编程操作(tPROG#12)。
在从时间t3至时间t4的时间段,可以对存储器装置_14执行数据输入DIN#14。当正在执行数据输入DIN#14时,存储器装置_14可以接收通过通道1CH1输入的编程命令、地址和数据。由于存储器装置_11、存储器装置_12、存储器装置_13和存储器装置_14共同地联接至通道1CH1,因此当正在执行数据输入DIN#14时,作为其它存储器装置的存储器装置_11、存储器装置_12和存储器装置_13不能使用通道1CH1。然而,存储器装置_11已经在从t0至t1的时间段接收到数据(DIN#11),因此,可以从t1执行编程操作(tPROG#11)。另外,存储器装置_12已经在从t1至t2的时间段接收到数据(DIN#12),因此,可以从t2执行编程操作(tPROG#12)。另外,存储器装置_13已经在从t2至t3的时间段接收到数据(DIN#12),因此,可以从t3执行编程操作(tPROG#13)。
在t4时,存储器装置_11的编程操作(tPRO#11)可以完成。
随后,在从时间t4至时间t8的时间段,可以与在t0到t4时的方式相同的方式对存储器装置_11至存储器装置_14执行数据输入DIN#11、DIN#12、DIN#13和DIN#14。
参照图7B,在从时间t'0至时间t'2的时间段中,存储器装置_11至存储器装置_14中的每一个可以在内部读取与特定地址对应的数据(tR#11至tR#14)。在实施例中,存储器装置_11至存储器装置_14可以页面为单位读取数据。存储器装置_11可以在t'0至t'1中读取数据(tR#11),并且从时间t'1至时间t'3的时间段通过通道1CH1将读取的数据输出至存储器控制器200(DOUT#11)。
由于存储器装置_11在从时间t'1至时间t'3的时间段中通过通道1CH1输出数据(DOUT#11),因此存储器装置_12、存储器装置_13和存储器装置_14不能使用通道1CH1。
在从时间t'3至时间t'4的时间段,存储器装置_12可以通过通道1CH1将读取的数据输出到存储器控制器200(DOUT#12)。由于存储器装置_12在从时间t'3至时间t'4的时间段通过通道1CH1输出数据(DOUT#12)的,所以存储器装置_11、存储器装置_13和存储器装置_14不能使用通道1CH1。
在从时间t'4至时间t'5的时间段,存储器装置_13可以通过通道1CH1将读取的数据输出到存储器控制器200(DOUT#13)。由于存储器装置_13在从时间t'4至时间t'5的时间段通过通道1CH1输出数据(DOUT#13),所以存储器装置_11、存储器装置_12和存储器装置_14不能使用通道1CH1。
在从时间t'5至时间t'6的时间段,存储器装置_14可以通过通道1CH1将读取的数据输出到存储器控制器200(DOUT#14)。由于存储器装置_14在从时间t'5到时间t'6的时间段通过通道1CH1输出数据(DOUT#14),所以存储器装置_11、存储器装置_12和存储器装置_13不能使用通道1CH1。
图8是示出根据本发明公开的实施例的用于处理编程操作失败的方法的示图。
参照图8,存储器控制器200可以使用参照图7A和图7B描述的交织方案对联接至通道1CH1的存储器装置_11至存储器装置_14执行编程操作。
当执行编程操作时,存储在缓冲存储器220中的编程数据可以被存储在存储器装置_11至存储器装置_14中。缓冲存储器220可以基于缓冲存储器的索引(以下称为“缓冲存储器索引”)存储数据。当执行编程操作时,存储器控制器200可以存储用于针对每个存储器装置待执行编程操作的数据的缓冲存储器索引。
当正在执行编程操作时,在特定存储器装置中编程操作可能失败。
编程操作可能由于各种原因而失败。当关于存储器装置(以下称为失败存储器装置)的编程操作失败时,存储器控制器200可以将联接至失败存储器装置(例如,存储器装置_12)的通道设置为保持状态,该失败存储器装置是发生编程操作失败的存储器装置。当通道处于保持状态时,可以暂时停止附加编程操作。
编程错误处理器210可以执行操作以保护失败数据,该失败数据是待存储在发生编程操作失败的存储器装置中的数据。例如,编程错误处理器210可以为失败存储器装置(例如,存储器装置_12)提供重新调用命令。
在实施例中,重新调用命令可以是快速缓冲释放命令。当重新调用命令被提供至存储器装置时,存储器装置可以为编程错误处理器210提供存储在存储器装置中包括的页面缓冲器组(例如,图2的页面缓冲器组123)中的失败数据。
具体地,编程错误处理器210可以将重新调用命令输入到高优先级队列(未示出),并将重新调用命令提供给编程操作已经失败的存储器装置。当根据重新调用命令获取失败数据时,存储器控制器200可以释放相应通道(例如,图8的CH1)的保持状态(即,自动释放)。
当通道的保持状态被释放时,可以在无需暂停的情况下执行对其它存储器装置的编程操作。例如,存储器控制器200进一步包括描述符队列(未示出)。描述符队列可以包括关于待由存储器装置执行的编程操作的信息。除了操作高优先级队列的情况之外,可以顺序地执行存储在描述符队列中的编程操作。因此,可以根据先前写入的描述符队列来执行除了已经发生编程操作失败的存储器装置之外的其它存储器装置的编程操作。
编程错误处理器210可以从已经正常执行编程操作的存储器装置获取重新编程数据。重新编程数据是待与失败数据一起存储在已经正常执行编程操作的存储器装置中的数据。例如,编程错误处理器210确定重新编程存储器装置,该重新编程存储器装置是存储重新编程数据的存储器装置。具体地,编程错误处理器210可以基于缓冲存储器索引来确定重新编程存储器装置。重新编程存储器装置可以是已经完成对作为待与失败数据一起存储的数据的重新编程数据的编程操作的存储器装置。
编程错误处理器210可以通过将读取命令提供至重新编程存储器装置(例如,存储器装置_11、存储器装置_13和存储器装置14)来获取重新编程数据。
也就是说,编程错误处理器210可以使用重新调用命令获取失败存储器装置的失败数据,并且使用读取命令获取存储在重新编程存储器装置中的数据。在各种实施例中,在写入操作完成之前,写入数据可以被维持在包括在存储器控制器200中的写入缓冲器(未示出)中。编程错误处理器210可以从存储器控制器200的写入缓冲器获取失败存储器装置的失败数据,而不使用失败存储器装置的失败数据。
编程错误处理器210可以对齐失败数据和重新编程数据,并执行重新编程操作。根据本发明公开的实施例,使用缓冲存储器索引来获取针对重新编程操作的数据,使得无论包括在存储器装置中的存储器单元存储多少位的数据,或者如何执行交织,都可以处理编程操作的失败。
图9是示出根据本发明公开的实施例的存储器控制器,例如图8的存储器控制器200的操作的流程图。
参照图9,在步骤S901,存储器控制器200检测编程操作失败。
在步骤S903,存储器控制器200可以为已经发生编程操作失败的存储器装置提供重新调用命令。具体地,存储器控制器200将与已经发生编程操作失败的存储器装置联接的通道设置成保持状态。在通道处于保持状态的时间段内暂时停止编程操作。
在实施例中,重新调用命令可以是快速缓冲释放命令。当重新调用命令被提供至存储器装置时,存储器装置可以为存储器控制器200提供存储在存储器装置中包括的页面缓冲器组中的失败数据。
在步骤S905,存储器控制器200可以获取失败数据,然后释放通道的保持状态。在通道的保持状态被释放之后,可以根据预设描述符队列对与已经发生编程操作失败的失败存储器装置联接的通道的其它存储器装置执行编程操作。
在步骤S907,存储器控制器200可以基于存储在编程操作中的缓冲存储器索引,确定重新编程存储器装置作为存储待与失败数据一起存储的数据的存储器装置。可以通过将读取命令提供至重新编程存储器装置来获取存储器控制器200。
在步骤S909,存储器控制器200可以使用失败数据和重新编程数据来执行重新编程操作。
图10是示出根据本发明公开的实施例的存储器控制器1000的示图。存储器控制器1000可以是图1的存储器控制器200。
存储器控制器1000联接至主机(例如,图1的主机400)和存储器装置(例如,图1的存储器装置100)。存储器控制器1000被配置为响应于从主机接收的请求访问存储器装置。例如,存储器控制器1000控制存储器装置的读取操作、编程操作、擦除操作和后台操作。存储器控制器1000被配置为提供存储器装置和主机之间的接口连接。存储器控制器1000被配置为驱动用于控制存储器装置的固件。
参照图10,存储器控制器1000可以包括处理器1010、存储器缓冲器1020、错误校正码(ECC)电路1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可以被配置为在存储器控制器1000的组件之间提供通道。
处理器1010可以控制存储器控制器1000的操作,并且执行逻辑操作。处理器1010可以通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置例如图1的存储器装置100通信。而且,处理器1010可以通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可以使用作为工作存储器、高速缓冲存储器或缓冲存储器的存储器缓冲器1020控制存储器系统例如图1的存储器系统50的操作。
处理器1010可以执行闪存转换层(FTL)的功能。处理器1010可以将由主机通过FTL提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可以使用映射表接收待转换为PBA的LBA。根据映射单元存在FTL的几种地址映射方法。代表性地址映射方法包括页面映射方法、块映射方法以及混合映射方法。
处理器1010被配置为使从主机接收的数据随机化。例如,处理器1010可以使用随机化种子使从主机接收的数据随机化。提供随机化数据作为待存储至存储器装置以编程在存储器单元阵列中的数据。
在读取操作中,处理器1010被配置为使从存储器装置接收的数据去随机化。例如,处理器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(PCIe)、高速非易失性存储器(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。
图11是示出根据本发明公开的实施例的采用存储器系统的存储卡系统2000的框图。
参照图11,存储卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接至存储器装置2200。存储器控制器2100被配置为访问存储器装置2200。例如,存储器控制器2100被配置为控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置为在存储器装置2200和主机(未示出)之间提供接口连接。存储器控制器2100被配置为驱动用于控制存储器装置2200的固件。存储器装置2200可以与参照图1描述的存储器装置100相同地实施。
在示例中,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口和错误校正码(ECC)电路的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以根据特定通信协议与外部装置(例如,主机)通信。在示例中,存储器控制器2100可以通过诸如下列的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(Wi-Fi)、蓝牙以及高速非易失性存储器(NVMe)。
在示例中,存储器装置2200可以利用诸如下列的各种非易失性存储器装置来实施:电可擦除可编程ROM(EPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中以构成存储卡。例如,存储器控制器2100和存储器装置2200可以构成诸如下列的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)以及通用闪存(UFS)。
图12是示例性地示出根据本发明公开的实施例的采用存储器系统的固态硬盘(SSD)系统3000的框图。
参照图12,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 3200之间的接口的信号。例如,信号SIG是由诸如下列接口中的至少一个定义的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(Wi-Fi)、蓝牙以及高速非易失性存储器(NVMe)。
辅助电源3230通过电源连接器3002联接至主机3100。当来自主机3100的电力供应不平稳时,辅助电源3230可以提供SSD 3200的电力。在示例中,辅助电源3230可以位于SSD3200中,或者位于SSD 3200的外部。例如,辅助电源3230位于主板上,并向SSD 3200提供辅助电力。
缓冲存储器3240作为SSD 3200的缓冲存储器操作。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、低功率双倍数据速率(LPDDR)SDRAM和图形RAM(GRAM)的易失性存储器或诸如铁电RAM(FRAM)、电阻式RAM(ReRAM)、自旋转移力矩磁性随机存取存储器(STT-MRAM)和相变RAM(PRAM)的非易失性存储器。
图13是示出根据本发明公开的实施例的采用存储器系统的用户系统40000的框图。
参照图13,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户界面4500。
应用处理器4100可以驱动包括在用户系统4000中的组件、操作系统(OS)、用户程序等。在示例中,应用处理器4100可以包括用于控制包括在用户系统4000中的组件的控制器、接口、图形引擎等。应用处理器4100可以被提供为片上系统(SoC)。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块4200可以包括诸如动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRM、DDR3SDRAM、低功耗双倍数据速率(LPDDR)SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性随机存取存储器或诸如相变RAM(PRAM)、电阻式RAM(ReRAM)、磁阻式RAM(MRAM)和铁电RAM(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闪存或具有三维结构的NAND闪存。在示例中,存储模块4400可以被提供为诸如用户系统4000的存储卡的可移动驱动器或外部驱动器。
例如,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以与参照图2至图5描述的存储器装置相同地操作。存储模块4400可以与参照图1描述的存储器系统50相同地操作。
用户接口4500可以包括用于将数据或命令输入至应用处理器4100或将数据输出到外部装置的接口。在示例中,用户接口4500可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口。用户接口4500可以包括诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机的用户输出接口。
根据本发明公开,可以提供一种用于处理编程操作失败的存储器系统及其操作方法。
虽然已经参照本发明的某些示例性实施例示出并描述了本发明公开,但是本领域技术人员将理解的是,在不脱离由所附权利要求及其等同方案限定的本发明公开的精神和范围的情况下,可以在形式和细节上进行各种改变。因此,本发明公开的范围不应限于上述示例性实施例,而是应当不仅由所附权利要求确定,而且还应由其等同方案确定。
在上述实施例中,可以选择性地执行全部步骤或者可以省略步骤的一部分。在每个实施例中,步骤不一定按照所描述的顺序执行,而是可以重新排列。本说明书和附图中公开的实施例仅是为了便于理解本发明公开的示例,并且本发明公开不限于此。也就是说,对于本领域技术人员显而易见的是,可以基于本发明公开的技术范围进行各种修改。
同时,已经在附图和说明书中描述了本发明公开的示例性实施例。虽然使用了特定术语,但这些术语仅用于解释本发明公开的实施例。因此,本发明公开不限于上述实施例,并且在本发明公开的精神和范围内可以有许多变化。对于本领域技术人员显而易见的是,除了本文公开的实施例之外,还可以基于本发明公开的技术范围进行各种修改。
Claims (14)
1.一种存储器控制器,控制共同地联接至通道的多个存储器装置,所述多个存储器装置分别执行预设编程操作,所述存储器控制器包括:
缓冲存储器,基于缓冲存储器索引存储待存储在所述多个存储器装置中的数据;以及
编程错误处理器,从失败存储器装置获取与编程操作失败对应的失败数据,并且基于所述缓冲存储器索引获取重新编程数据,所述重新编程数据是待与所述失败数据一起存储的数据。
2.根据权利要求1所述的存储器控制器,其中所述编程错误处理器将所述通道设置为保持状态,并为所述失败存储器装置提供用于重新调用所述失败数据的重新调用命令。
3.根据权利要求2所述的存储器控制器,其中当响应于所述重新调用命令获取从所述失败存储器装置提供的所述失败数据时,所述编程错误处理器释放所述通道的保持状态。
4.根据权利要求3所述的存储器控制器,其中所述编程错误处理器基于所述缓冲存储器索引确定所述多个存储器装置之中存储所述重新编程数据的存储器装置。
5.根据权利要求4所述的存储器控制器,其中所述编程错误处理器将用于获取所述重新编程数据的读取命令提供至存储所述重新编程数据的所述存储器装置。
6.根据权利要求5所述的存储器控制器,其中所述编程错误处理器执行将所述失败数据和所述重新编程数据编程到所述多个存储器装置的重新编程操作。
7.根据权利要求1所述的存储器控制器,其中所述多个存储器装置基于交织方案执行所述预设编程操作。
8.一种用于操作存储器控制器的方法,所述存储器控制器控制共同地联接至通道的多个存储器装置,所述多个存储器装置分别执行预设编程操作,所述方法包括:
检测在所述多个存储器装置中的任何一个存储器装置中已经发生的编程操作失败;
获取作为存储在失败存储器装置中的数据的失败数据;
获取作为待与所述失败数据一起存储的数据的重新编程数据;以及
将所述失败数据和所述重新编程数据存储在所述多个存储器装置中。
9.根据权利要求8所述的方法,其中获取所述失败数据包括:
将所述通道设置为保持状态;
将重新调用命令提供至所述失败存储器装置;以及
响应于所述重新调用命令获取临时存储在所述失败存储器装置中的所述失败数据。
10.根据权利要求9所述的方法,其中所述重新调用命令是快速缓冲释放命令。
11.根据权利要求8所述的方法,其中获取所述重新编程数据包括:基于缓冲存储器索引获取所述重新编程数据,缓冲存储器索引根据索引来存储基于所述预设编程操作待存储的数据存储在所述多个存储器装置中的哪个存储器装置。
12.根据权利要求8所述的方法,其中获取所述重新编程数据包括:
基于缓冲存储器索引在所述多个存储器装置之中确定作为存储所述重新编程数据的所述存储器装置的重新编程存储器装置,缓冲存储器索引根据索引来存储基于所述预设编程操作待存储的数据存储在所述多个存储器装置中的哪个存储器装置;
为所述重新编程存储器装置提供用于请求重新编程数据的读取命令;以及
响应于读取命令获取所述重新编程数据。
13.根据权利要求8所述的方法,其中所述多个存储器装置基于交织方案执行所述预设编程操作。
14.一种存储器系统,包括:
多个存储器装置,共同地联接至通道,且基于交织方案执行编程操作;以及
存储器控制器:
检测具有编程操作失败的失败存储器装置;
保持针对多个存储器装置的所述编程操作;
从所述失败存储器装置获取与所述编程操作失败对应的失败数据;
对除所述失败存储器装置之外的剩余存储器装置执行重新编程操作;
从所述剩余存储器装置中获取与所述重新编程操作对应的重新编程数据;以及
对所述失败存储器装置执行重新编程操作以将所述失败数据和所述重新编程数据存储在所述失败存储器装置中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0050194 | 2018-04-30 | ||
KR1020180050194A KR102456175B1 (ko) | 2018-04-30 | 2018-04-30 | 저장 장치 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413219A true CN110413219A (zh) | 2019-11-05 |
CN110413219B CN110413219B (zh) | 2023-07-25 |
Family
ID=68292598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811605122.8A Active CN110413219B (zh) | 2018-04-30 | 2018-12-26 | 存储器控制器、存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10892014B2 (zh) |
KR (1) | KR102456175B1 (zh) |
CN (1) | CN110413219B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210111120A (ko) * | 2020-03-02 | 2021-09-10 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11347609B1 (en) * | 2021-04-29 | 2022-05-31 | International Business Machines Corporation | Failed media channel recovery throttling |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060253766A1 (en) * | 2005-05-09 | 2006-11-09 | Winarski Daniel J | Convolution-encoded data storage on a redundant array of independent devices |
CN101800071A (zh) * | 2009-02-10 | 2010-08-11 | 三星电子株式会社 | 固态盘设备及其编程失败处理方法 |
US9396062B1 (en) * | 2014-04-04 | 2016-07-19 | Seagate Technology Llc | Group based codes for multi-dimensional recording (MDR) |
US20170123991A1 (en) * | 2015-10-28 | 2017-05-04 | Sandisk Technologies Inc. | System and method for utilization of a data buffer in a storage device |
US20170371548A1 (en) * | 2016-06-22 | 2017-12-28 | SK Hynix Inc. | Memory system and operating method of memory system |
CN107957958A (zh) * | 2016-10-17 | 2018-04-24 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110121897A (ko) * | 2010-05-03 | 2011-11-09 | 삼성전자주식회사 | 사용자 장치 및 그것의 프로그램 페일 처리 방법 |
US9026757B2 (en) * | 2013-01-25 | 2015-05-05 | Sandisk Technologies Inc. | Non-volatile memory programming data preservation |
KR102496988B1 (ko) * | 2016-02-19 | 2023-02-09 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 컨트롤러 및 이의 동작 방법 |
KR102534633B1 (ko) | 2016-04-14 | 2023-05-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102608815B1 (ko) * | 2016-09-23 | 2023-12-04 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
US10019332B1 (en) * | 2017-03-10 | 2018-07-10 | Western Digital Technologies, Inc. | Non-volatile memory with program failure recovery |
-
2018
- 2018-04-30 KR KR1020180050194A patent/KR102456175B1/ko active IP Right Grant
- 2018-12-06 US US16/212,331 patent/US10892014B2/en active Active
- 2018-12-26 CN CN201811605122.8A patent/CN110413219B/zh active Active
-
2020
- 2020-12-09 US US17/115,990 patent/US11393536B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060253766A1 (en) * | 2005-05-09 | 2006-11-09 | Winarski Daniel J | Convolution-encoded data storage on a redundant array of independent devices |
CN101800071A (zh) * | 2009-02-10 | 2010-08-11 | 三星电子株式会社 | 固态盘设备及其编程失败处理方法 |
US20100205517A1 (en) * | 2009-02-10 | 2010-08-12 | Doogie Lee | Solid State Disk Device and Program Fail Processing Method Thereof |
US9396062B1 (en) * | 2014-04-04 | 2016-07-19 | Seagate Technology Llc | Group based codes for multi-dimensional recording (MDR) |
US20170123991A1 (en) * | 2015-10-28 | 2017-05-04 | Sandisk Technologies Inc. | System and method for utilization of a data buffer in a storage device |
US20170371548A1 (en) * | 2016-06-22 | 2017-12-28 | SK Hynix Inc. | Memory system and operating method of memory system |
CN107957958A (zh) * | 2016-10-17 | 2018-04-24 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US10892014B2 (en) | 2021-01-12 |
KR20190125859A (ko) | 2019-11-07 |
CN110413219B (zh) | 2023-07-25 |
US20210090658A1 (en) | 2021-03-25 |
US11393536B2 (en) | 2022-07-19 |
US20190332505A1 (en) | 2019-10-31 |
KR102456175B1 (ko) | 2022-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110069212B (zh) | 存储装置及存储装置的操作方法 | |
CN109213705B (zh) | 存储装置及其操作方法 | |
CN110321070B (zh) | 存储器控制器及其操作方法 | |
CN110390970B (zh) | 存储器装置及其操作方法 | |
CN109388578B (zh) | 存储装置及其操作方法 | |
CN110083304A (zh) | 存储器控制器及其操作方法 | |
CN110503997A (zh) | 存储器装置及其操作方法 | |
CN110389720B (zh) | 存储装置及其操作方法 | |
CN110275673A (zh) | 存储装置及其操作方法 | |
KR102535104B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN110399092A (zh) | 存储装置以及操作存储装置的方法 | |
CN110389717A (zh) | 存储装置及其操作方法 | |
CN110442490A (zh) | 存储器装置、存储装置和操作该存储装置的方法 | |
CN110175132A (zh) | 存储装置及其操作方法 | |
CN110502449A (zh) | 存储装置及其操作方法 | |
CN113035254A (zh) | 存储装置及其操作方法 | |
CN109933540A (zh) | 存储装置及其操作方法 | |
CN110175133B (zh) | 存储装置及其操作方法 | |
KR20210086990A (ko) | 패리티를 사용한 메모리 액세스 병렬성 증가 | |
CN111105836A (zh) | 存储装置及其操作方法 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
CN114115708A (zh) | 存储装置及其操作方法 | |
CN111435333B (zh) | 存储装置及其操作方法 | |
CN110389722A (zh) | 存储装置及其操作方法 | |
CN110619912A (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 |