CN110322920A - 控制器及控制器的操作方法 - Google Patents
控制器及控制器的操作方法 Download PDFInfo
- Publication number
- CN110322920A CN110322920A CN201811625052.2A CN201811625052A CN110322920A CN 110322920 A CN110322920 A CN 110322920A CN 201811625052 A CN201811625052 A CN 201811625052A CN 110322920 A CN110322920 A CN 110322920A
- Authority
- CN
- China
- Prior art keywords
- data
- voltage
- candidate
- error bit
- bit quantity
- 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
- 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
- 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
-
- 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
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/403—Error protection encoding, e.g. using parity or ECC codes
-
- 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
Abstract
本发明提供了一种控制器。控制器包括:处理器,适于基于预定主读取电压以及具有不同电压值的多个候选读取电压中的每一个来读取目标数据;存储器,适于存储通过读取目标数据获得的主编码数据和候选编码数据;ECC,适于解码主编码数据以生成主解码数据,并且解码候选编码数据中的每一个以生成候选解码数据;计数器,适于对与主解码数据对应的错误位数量进行计数,并且对与候选解码数据中的每一个对应的错误位数量进行计数;以及电压设置电路,适于将候选解码数据之中具有最少错误位数量的候选读取电压设置为主读取电压,该最少错误位数量比与主解码数据对应的错误位数量少。
Description
相关申请的交叉引用
本申请要求于2018年3月28日提交的申请号为10-2018-0036121的韩国专利申请的优先权,其公开文本通过引用整体并入本文。
技术领域
本发明的各个示例性实施例涉及一种用于半导体存储器装置的控制器。特别地,示例性实施例涉及一种能够有效管理数据的用于半导体存储器装置的控制器以及该控制器的操作方法。
背景技术
计算环境范例继续快速地转向普适计算,允许人们或用户在任何时间和任何地点使用其单独或共同提供的计算系统。
此外,在普适计算的这个时代,对诸如移动电话、数码相机和膝上型计算机的便携式电子装置的需求正在增长。这些电子装置包括使用半导体存储器装置(下文中简称为存储器装置)作为用于存储数据的数据存储装置的存储器系统。存储器系统可用作便携式电子装置的主数据存储装置或辅助数据存储装置。
由于与硬盘装置相比,存储器装置不使用机械驱动组件(例如,具有读取/写入头的机械臂),因此它们通常表现出优良的稳定性和耐用性,并且通常以低的功耗具有快速的数据访问速率。具有这些优点的存储器装置的非限制性示例包括通用串行总线(USB)存储器装置、各种接口的存储卡以及固态驱动器(SSD)等。
发明内容
本发明的各种实施例涉及一种能够有效检测最佳读取电压的用于半导体存储器装置的控制器。
根据本发明的实施例,一种控制器可以包括:处理器,适于基于预定主读取电压以及具有不同电压值的多个候选读取电压中的每一个来读取目标数据;存储器,适于存储通过读取目标数据获得的主编码数据和候选编码数据;ECC,适于解码主编码数据以生成主解码数据,并且解码候选编码数据中的每一个以生成候选解码数据;计数器,适于对与主解码数据对应的错误位数量进行计数,并且对与候选解码数据中的每一个对应的错误位数量的每一个进行计数;以及电压设置电路,适于将候选解码数据之中具有最少错误位数量的候选读取电压设置为主读取电压,其中最少错误位数量少于与主解码数据对应的错误位数量。
根据本发明的实施例,一种控制器的操作方法可以包括:基于预定主读取电压读取目标数据以存储主编码数据;解码主编码数据以生成主解码数据;对与主解码数据对应的错误位数量进行计数;基于具有与预定主读取电压不同的电压值的多个候选读取电压中的每一个读取目标数据以存储候选编码数据;解码候选编码数据中的每一个以生成候选解码数据;对与候选解码数据中的每一个对应的错误位数量中每一个进行计数;并且将候选解码数据之中具有最少错误位数量的候选读取电压设置为主读取电压,最少错误位数量少于与主解码数据对应的错误位数量。
根据本发明的实施例,一种存储器系统可以包括:存储器装置,包括用于存储数据的多个存储器单元;以及控制器,适于控制存储器装置,其中控制器包括:处理器,适于基于预定主读取电压读取目标数据,并且基于具有与预定主读取电压不同的电压值的多个候选读取电压中的每一个来读取目标数据;存储器,适于存储通过读取目标数据获得的主编码数据和候选编码数据;ECC,适于解码主编码数据以生成主解码数据,并且解码候选编码数据中的每一个以生成候选解码数据;计数器,适于对与主解码数据对应的错误位数量进行计数,并对与候选解码数据中的每一个对应的错误位数量进行计数;以及电压设置电路,适于将候选解码数据之中具有最少错误位数量的候选读取电压设置为主读取电压,最少错误位数量少于与主解码数据对应的错误位数量。
附图说明
从结合附图的下述详细描述,本发明的这些和其它特征和优点对于本发明领域的技术人员来说将变得显而易见,其中相同的附图标记在多个视图中始终表示相同的部件。
图1是示出根据本发明的实施例的包括彼此可操作地联接的存储器系统和主机的数据处理系统的框图。
图2是示出图1所示的存储器系统的存储器装置的示例性配置的示意图。
图3是示出图2中所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2中所示的存储器装置的示例性三维结构的示意图。
图5是示出根据本发明的实施例的存储器控制器的结构的框图。
图6是示出根据本发明的实施例的计算二进制标签的方法的示图。
图7A和图7B是示出根据本发明的实施例的控制器的操作的示图。
图8是示出根据本发明的实施例的存储器装置的操作的流程图。
图9至图17是示意性示出根据本发明的各个实施例的数据处理系统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的公开内容的各个实施例。然而,注意的是,本发明可以不同的其它实施例、形式及其变型实现,且不应被解释为限于本文所阐述的实施例。相反,提供所描述的实施例使得本公开将是完整和全面的,并将把本公开充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本公开的各个附图和示例中表示相同的部件。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,比例可能已经被夸大。当元件被称为连接至或联接到另一元件时,应当理解的是前者可直接连接或联接到后者,或者经由其间的中间元件电连接或联接到后者。
将进一步理解的是,当元件被称为“连接至”或“联接到”另一元件时,它可直接在其它元件上、连接至或联接到其它元件,或者可存在一个或多个中间元件。另外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。
如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。
除非另有定义,否则本文使用的包括技术和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于形式化的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可包括被可操作地联接至存储器系统110的主机102。
主机102可包括例如诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式电脑、游戏机、TV和投影仪等的电子装置。
存储器系统110可响应于来自主机102的请求进行操作或执行特殊功能或操作。例如,存储器系统110可响应于来自主机102的请求存储数据。可响应于来自主机102的另一请求由主机102访问存储的数据。存储器系统110可用作主机102的主存储器系统或辅助存储器系统。根据主机接口的协议,存储器系统110可利用可与主机102电联接的各种类型的存储装置中的任意一种来实施。合适的存储装置的示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)和微型MMC、安全数字(SD)卡、迷你SD和微型SD、通用串行总线(USB)存储装置、通用闪存(UFS)装置、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
存储器系统110的存储装置可利用诸如以下的易失性存储器装置来实施:动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置,和/或诸如以下的非易失性存储器装置来实施:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。
存储器系统110可包括存储待由主机102访问的数据的存储器装置150以及可以控制存储器装置150中的数据存储的控制器130。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。
存储器系统110可被配置成以下的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、3D电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传输和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或配置计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力,其也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储块152至156,存储块152至156中的每一个可包括多个页面。多个页面中的每一个可包括多个字线(WL)所电联接到的多个存储器单元。
控制器130可控制存储器装置150的诸如读取操作、写入操作、编程操作和擦除操作的全部操作。存储器系统110的控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据提供至主机102,和/或可将由主机102提供的数据存储到存储器装置150中。
控制器130可包括主机接口(I/F)132、处理器134、错误校正码(ECC)138、电源管理单元(PMU)140、诸如存储器接口(I/F)142的存储器装置控制器以及存储器144,其全部通过内部总线可操作地联接。存储器接口(I/F)142和存储器144可用作存储器装置控制器。
主机接口132可处理从主机102提供的命令和数据,并可通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC 138可在读取操作期间检测并校正从存储器装置150读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC 138可以不校正错误位,但可输出指示校正错误位失败的错误校正失败信号。
ECC 138可基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)等。ECC单元138可包括用于基于上述编码中的至少一种执行错误校正操作的所有或部分电路、模块、系统或装置。
PMU 140可提供和管理控制器130的电力。
存储器接口142可用作处理在控制器130和存储器装置150之间传输的命令和数据的接口,以便允许控制器130响应于来由主机102传送的请求来控制存储器装置150。当存储器装置150是闪速存储器时,特别地,当存储器装置150是NAND闪速存储器时,存储器接口142可生成用于存储器装置150的控制信号,并可在处理器134的控制下处理输入存储器装置150或从存储器装置150输出的数据。
存储器144可用作存储器系统110和控制器130的工作存储器,并且可存储用于操作或驱动存储器系统110和控制器130的临时的或交易数据。控制器130可响应于来自主机102的请求控制存储器装置150。控制器130可将从存储器装置150读取的数据传送到主机102,可将通过主机102输入的数据存储在存储器装置150中。存储器144可用作存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可利用易失性存储器来实施。存储器144可利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。虽然图1例示了设置在控制器130内的存储器144,但公开不限于此。也就是说,存储器144可以位于控制器130的内部或外部。例如,存储器144可通过具有传输在存储器144和控制器130之间传输的数据和/或信号的存储器接口的外部易失性存储器来实施。
处理器134可控制存储器系统110的全部操作。处理器134可驱动或执行固件来控制存储器系统110的全部操作。固件可称为闪存转换层(FTL)。
FTL可执行作为主机102和存储器装置150之间的接口的操作。主机102可通过FTL将用于写入和读取操作的请求传输到存储器装置150。
FTL可管理地址映射、垃圾收集、损耗均衡等操作。特别地,FTL可存储映射数据。因此,控制器130可通过映射数据将从主机102提供的逻辑地址映射到存储器装置150的物理地址。由于地址映射操作,存储器装置150可执行像普通装置那样的操作。此外,通过基于映射数据的地址映射操作,当控制器130更新特定页面的数据时,控制器130可将新数据编程到另一空白页面,并且由于闪速存储器装置的特性而可使特定页面的旧数据无效。进一步地,控制器130可将新数据的映射数据存储到FTL中。
处理器134可利用微处理器或中央处理器(CPU)来实施。存储器系统110可包括一个或多个处理器134。
管理单元(未示出)可被包括在处理器134中。管理单元可执行存储器装置150的坏块管理。管理单元可发现存储器装置150中包含的不符合进一步使用的要求的坏存储块,并对坏存储块执行坏块管理。当存储器装置150为例如NAND闪速存储器的闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间,例如在编程操作期间,可能发生编程失败。在坏块管理期间,编程失败的存储块或坏存储块的数据可被编程到新的存储块中。坏块可使具有3D堆叠结构的存储器装置150的利用效率和存储器系统110的可靠性严重劣化,因此需要可靠的坏块管理。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可包括多个存储块BLOCK 0至BLOCK N-1,并且块BLOCK 0至BLOCK N-1中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。根据每个存储器单元中可存储或表达的位的数量,存储器装置150可包括多个存储块,如单层单元(SLC)存储块和多层单元(MLC)存储块。SLC存储块可包括利用每一个都能够存储1位数据的存储器单元实施的多个页面。MLC存储块可包括利用每一个都能够存储例如两位或更多位数据的多位数据的存储器单元实施的多个页面。包括利用每一个都能够存储3位数据的存储器单元实施的多个页面的MLC存储块可被定义为三层单元(TLC)存储块。
图3是示出存储器装置150中的存储块330的电路图。
参照图3,存储块330可对应于多个存储块152至156中的任意一个。
参照图3,存储器装置150的存储块330可包括分别电联接到位线BL0至BLm-1的多个单元串340。每列的单元串340可包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或多个存储器单元晶体管MC0至MCn-1可串联地电联接在选择晶体管DST和SST之间。各个存储器单元MC0至MCn-1可由每一个都可存储1位信息的单层单元(SLC)或者由每一个都可存储多位数据信息的多层单元(MLC)来配置。串340可分别电联接到对应的位线BL0至BLm-1。作为参照,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,“CSL”表示共源线。
虽然图3仅作为示例示出了通过NAND闪速存储器单元构成的存储块330,但注意的是,根据实施例的存储器装置150的存储块330不限于NAND闪速存储器。存储块330可通过NOR闪速存储器、其中组合了至少两种存储器单元的混合闪速存储器、或其中控制器被内置在存储器芯片中的One-NAND闪速存储器实现。半导体装置的操作特性不仅可被应用于其中电荷存储层由导电浮栅配置的闪速存储器装置,而且可被应用于其中电荷存储层由电介质层配置的电荷撷取闪存(CTF)。
存储器装置150的电源电路310可提供待根据操作模式而被提供给各个字线的例如编程电压、读取电压和通过电压的字线电压以及待提供给例如其中形成有存储器单元的阱区的体材料(bulk)的电压。电源电路310可在控制电路(未示出)的控制下执行电压生成操作。电源电路310可生成多个可变读取电压以生成多个读取数据,在控制电路的控制下选择存储器单元阵列的存储块或扇区中的一个,选择所选择的存储块的字线中的一个,并将字线电压提供给所选择的字线和未选择的字线。
存储器装置150的读取/写入电路320可由控制电路控制,并且可根据操作模式用作读出放大器或写入驱动器。在验证操作或正常读取操作期间,读取/写入电路320可用作读出放大器,其用于从存储器单元阵列读取数据。在编程操作期间,读取/写入电路320可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并根据接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
图4是示出存储器装置150的3D结构的示意图。
参照图4,存储器装置150可通过具有3D堆叠结构的非易失性存储器装置来实施。存储器装置150可包括多个存储块BLK0至BLKN-1,其每一个具有3D结构(或垂直结构)。
图5是示意性地示出根据本发明的实施例的控制器130的结构的示图。
除了上面参照图1描述的ECC 138、存储器144和处理器134之外,控制器130可进一步包括计数器550和电压设置电路570。控制器130可有效地对连续数据执行读取操作。
控制器130可控制存储器装置150以基于预定主读取电压来读取与主机102的请求对应的目标数据。具体地,处理器134可控制存储器装置150以基于主读取电压读取目标数据,并且可将主编码数据存储在存储器144中。ECC 138可对存储在存储器144中的主编码数据执行解码操作以生成主解码数据。计数器550可对与主解码数据对应的错误位的数量进行计数。当所计数的主解码数据的错误位的数量少于预定阈值时,控制器130可最后将主解码数据输出至主机102。
以这种方式,可基于预定主读取电压对目标数据连续地执行读取操作。然而,预定主读取电压可能不是能够读取目标数据的最佳读取电压。在下文中,描述一种在基于预定主读取电压对目标数据连续执行读取操作之后,控制器130搜索比主读取电压更优化的读取电压的方法。为了便于描述,假设基于预定主读取电压和候选读取电压读取的所有数据满足预定解码条件。换言之,假设虽然基于主读取电压和候选读取电压中的每一个来读取目标数据,但是可以连续地执行读取操作。
处理器134可基于多个候选读取电压来读取目标数据。候选读取电压可与主读取电压不同。处理器134可存储通过在存储器144中读取目标数据而获得的候选编码数据。ECC138可对候选编码数据中的每一个执行解码操作以生成与候选编码数据中的每一个对应的候选解码数据。
计数器550可使用解码数据和编码数据对数据的错误位数量和非错误位数量进行计数。错误位数量可基于解码数据和编码数据之间的差来计算。例如,由于当编码数据是'01010011'并且解码数据是'01110001'时,错误出现在第三位和第七位,所以计数器550可对两个错误位进行计数。
另外,计数器550可计算基于多个候选读取电压读取的候选解码数据中的每一个的错误位数量。例如,计数器550可计算基于第一候选读取电压读取的第一编码数据的第一错误位数量,并且计算基于第二候选读取电压读取的第二编码数据的第二错误位数量。
此外,计数器550可将第一错误位数量与第二错误位数量进行比较。当第二错误位数量少于第一错误位数量时,可确定第二候选读取电压比第一候选读取电压更优化。
以相同的方式,计数器550可将基于主读取电压读取的主解码数据的错误位数量与基于多个候选读取电压中的每一个读取的候选解码数据的错误位数量进行比较。
电压设置电路570可将与候选解码数据之中具有比主解码数据的错误位数量更少的最少错误位数量的候选解码数据对应的候选读取电压设置为主读取电压。例如,当主解码数据的错误位数量是'20',第一候选解码数据的错误位数量是'18',并且第二候选解码数据的错误位数量是'15'时,电压设置电路570可将对应于第二候选解码数据的第二候选读取电压重设为主读取电压。
当不存在具有比主解码数据更少的错误位的候选解码数据时,电压设置电路570可保持预定主读取电压。
处理器134可控制存储器装置150以基于由电压设置电路570设置的主读取电压来读取目标数据。当主读取电压改变时,即当电压设置电路570重设主读取电压时,处理器134可控制存储器装置150以基于改变的主读取电压读取目标数据。
另外,处理器134可控制存储器装置150以基于根据主读取电压检测到的读取数据的错误位数量来执行回收操作。例如,如果我们假设触发回收操作的错误位数量被设置为'60',则当基于第一读取电压读取的数据的错误位数量为'80'时,可能触发回收操作。然而,在相同示例中,当基于第二读取电压读取的数据的错误位数量是'40'时,可能不会触发回收操作。换言之,可通过将主读取电压改变为更优化的读取电压来降低回收操作的执行频率,这提高控制器130的读取性能。
图6是示出根据本发明的实施例的计算二进制标签的方法的示图。控制器130可根据主机102的请求重复执行读取操作,从而计算出存储器装置150的每个存储器单元的阈值电压分布。另外,控制器130可将基于阈值电压分布的每个存储器单元的阈值电压的位置信息作为二进制标签数据存储在存储器144中。换言之,二进制标签数据可包括由多个读取电压划分的存储器装置150的每个存储器单元的阈值电压的信息。
如图6所示,作为划分位的位置的手段的二进制标签可被划分为总共八个位置。计数器550可针对每个二进制标签计算每个解码数据的错误位数量和非错误位数量。
为了便于描述,假设“PV_A”是存储器单元组A的阈值电压分布,并且“PV_B”是存储器单元组B的阈值电压分布。此外,假设存在七个候选读取电压,即第一候选读取电压V1至第七候选读取电压V7。当特定位的位置具有比相应读取电压更高的阈值电压时,特定位的值可被被计算为'0',而当特定位的位置具有比相应读取电压更低的阈值电压时,特定位的阈值电压可被计算为'1'。此外,位的阈值电压可基于第一候选读取电压V1至第七候选读取电压V7顺序地计算,从而可列出各个数字。列出的数字是指二进制标签数据,并且通过将所有二进制标签数据相加获得的值是二进制标签。
例如,位bit_a可具有在第二候选读取电压V2和第三候选读取电压V3之间的阈值电压。由于位bit_a的阈值电压高于第一候选读取电压V1,因此阈值电压可基于第一候选读取电压V1被计算为'0'。由于位bit_a的阈值电压高于第二候选读取电压V2,因此阈值电压可基于第二候选读取电压V2被计算为'0'。由于位bit_a的阈值电压低于第三候选读取电压V3至第七候选读取电压V7,因此阈值电压可基于第三候选读取电压V3至第七候选读取电压V7被计算为'1'。也就是说,位bit_a的二进制标签数据可以是'0011111',二进制标签是'5'。
以相同的方式,位bit_b可具有在第六候选读取电压V6和第七候选读取电压V7之间的阈值电压。由于位bit_b的阈值电压高于第一候选读取电压V1至第六候选读取电压V6,因此阈值电压可基于第一候选读取电压V1至第六候选读取电压V6被计算为'0'。由于位bit_b的阈值电压低于第七候选读取电压V7,因此阈值电压可基于第七候选读取电压V7被计算为'1'。也就是说,位bit_b的二进制标签数据可以是'0000001',二进制标签是'1'。
当特定位的阈值电压低于第一候选读取电压V1时,位的二进制标签为'7'。当位的阈值电压高于第七候选读取电压V7时,位的二进制标签为'0'。因此,二进制标签可以具有从'0'到'7'的八个值。
图7A是示出根据本发明的实施例的控制器130的操作的示图。
处理器134可控制存储器装置150以读取目标数据。具体地,处理器134可控制存储器装置150以基于预定主读取电压Vbias_1读取目标数据。如上所述,计数器550可基于主读取电压Vbias_1针对每个二进制标签计算主解码数据的错误位数量和非错误位数量。
当控制器130控制存储器装置150以基于主读取电压Vbias_1根据存储器单元组A的阈值电压分布PV_A来读取目标数据时,包括在第三个至第零个二进制标签中的位是错误位。具体地,与目标数据对应的主解码数据的错误位数量是通过将从第三个二进制标签生成的'22'、从第二个二进制标签生成的'16'、从第一个二进制标签生成的'5'和从第零个二进制标签生成的'1'加起来获得的'44'。当控制器130控制存储器装置150以基于主读取电压Vbias_1根据存储器单元组A的阈值电压分布PV_A来读取目标数据时,包括在第七至第四个二进制标签中的位是非错误位。具体地,与目标数据对应的主解码数据的非错误位数量是从第四个二进制标签生成的'28'、从第五个二进制标签生成的'57'、从第六个二进制标签生成的'225'和从第七个二进制标签生成的'670'。
以相同的方式,当控制器130控制存储器装置150以基于主读取电压Vbias_1根据存储器单元组B的阈值电压分布PV_B来读取目标数据时,包括在第七个至第四个二进制标签中的位是错误位。具体地,与目标数据对应的主解码数据的错误位数量是通过将从第七个二进制标签生成的'2'、从第六个二进制标签生成的'22'、从第五个二进制标签生成的'36'和从第四个二进制标签生成的'73'加起来获得的'133'。当控制器130控制存储器装置150以基于主读取电压Vbias_1根据存储器单元组B的阈值电压分布PV_B来读取目标数据时,包括在第三至第零个二进制标签中的位是非错误位。具体地,与目标数据对应的主解码数据的非错误位数量是从第三个二进制标签生成的'98'、从第二个二进制标签生成的'170'、从第一个二进制标签生成的'645'和从第零个二进制标签生成的'1011'。
因此,基于主读取电压Vbias_1读取的总错误位数量是'177'。
图7B是示出根据本发明的实施例的控制器130的操作的示图。
当控制器130控制存储器装置150以基于候选读取电压Vbias_2根据存储器单元组A的阈值电压分布PV_A来读取目标数据时,包括在第四个至第零个二进制标签中的位是错误位。具体地,与目标数据对应的候选解码数据的错误位数量是通过将从第四个二进制标签生成的'28'、从第三个二进制标签生成的'22'、从第二个二进制标签生成的'16'、从第一个二进制标签生成的'5'和从第零个二进制标签生成的'1'加起来获得的'72'。当控制器130控制存储器装置150以基于候选读取电压Vbias_2根据存储器单元组A的阈值电压分布PV_A来读取目标数据时,包括在第七至第五个二进制标签中的位是非错误位。具体地,与目标数据对应的候选解码数据的非错误位数量是从第五个二进制标签生成的'57'、从第六个二进制标签生成的'225'和从第七个二进制标签生成的'670'。
以相同的方式,当控制器130控制存储器装置150以基于候选读取电压Vbias_2根据存储器单元组B的阈值电压分布PV_B来读取目标数据时,包括在第七个至第五个二进制标签中的位是错误位。具体地,与目标数据对应的候选解码数据的错误位数量是通过将从第七个二进制标签生成的'2'、从第六个二进制标签生成的'22'和从第五个二进制标签生成的'36'加起来获得的'60'。当控制器130控制存储器装置150以基于候选读取电压Vbias_2根据存储器单元组B的阈值电压分布PV_B来读取目标数据时,包括在第四至第零个二进制标签中的位是非错误位。具体地,与目标数据对应的候选解码数据的非错误位数量是从第四个二进制标签生成的'73'、从第三个二进制标签生成的'98'、从第二个二进制标签生成的'170'、从第一个二进制标签生成的'645'和从第零个二进制标签生成的'1011'。
因此,基于候选读取电压Vbias_2读取的错误位的总数是'132'。
计数器550可将基于候选读取电压Vbias_2读取的错误位数量与基于主读取电压Vbias_1读取的错误位数量进行比较。
当处理器134控制存储器装置150以基于主读取电压Vbias_1读取目标数据时,在读取对目标数据的操作完成之后,电压设置电路570可将更优化的候选读取电压Vbias_2设置为主读取电压。另外,处理器134可控制存储器装置150以基于新设置的主读取电压Vbias_2来读取目标数据。
图8是示出根据本发明的实施例的控制器130的操作的流程图。为了便于描述,假设基于主读取电压和候选读取电压读取的所有数据满足预定解码条件。
在步骤S801,处理器134可基于预定主读取电压来读取目标数据。
在步骤S803,ECC 138可对与步骤S801中由处理器134读取的目标数据对应的主编码数据执行解码操作以生成主解码数据。计数器550可如上文参照图5至图7所述对主解码数据的错误位数量进行计数。
在步骤S805,控制器550可将主解码数据输出至主机102。
在步骤S807,除了将主解码数据输出至主机102的操作之外,处理器134可基于多个候选读取电压读取目标数据。
在步骤S809,ECC 138可对与在步骤S807中由处理器134读取的目标数据对应的候选编码数据执行解码操作以生成候选解码数据。计数器550可如上文参照图5至图7所述对候选解码数据的错误位数量进行计数。
在步骤S811,计数器550可将主解码数据的错误位数量与候选解码数据的错误位数量进行比较。
当不存在具有比主解码数据的错误位数量少的错误位数量的候选解码数据(即,步骤S811处为“否”)时,在步骤S813,电压设置电路570可保持主读取电压。处理器134可基于主读取电压读取与主机102的请求对应的数据。
当存在具有比主解码数据的错误位数量少的较少错误位数量的候选解码数据(即,步骤S811处为“是”)时,在步骤S815,电压设置电路570可将与候选解码数据之中具有比主解码数据的错误位数量少的最少错误位数量的候选解码数据对应的候选读取电压设置为主读取电压。处理器134可基于新设置的主读取电压来读取与主机102的请求对应的数据。
如上所述,根据本发明的实施例,参考读取电压可被调整以最优化,并且控制器130可基于优化的参考读取电压有效地执行回收操作并且使读取性能最大化。
在下文中,将参照图9至图17详细描述上面通过参照图1至图8描述的数据处理系统以及可由包括存储器装置150和控制器130的存储器系统110构成的电子装置。
图9至图17是示意性示出采用根据本发明的各个实施例的图1至图8的系统的应用示例的示图。
图9是示意性示出包括根据本发明的实施例的存储器系统的数据处理系统的示图。图9示意性示出包括存储器系统的存储卡系统。
参照图9,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接至存储器装置6130,并被可配置成访问存储器装置6130。存储器装置6130可通过非易失性存储器实施。例如但不限于,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口和/或驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1至图8描述的存储器系统110的控制器130,而存储器装置6130可对应于参照图1至图8描述的存储器装置150。
因此,存储器控制器6120可包括RAM、处理器、主机接口、存储器接口和错误校正码(ECC)。存储器控制器6120可进一步包括图1所述的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪速存储(UFS)、WIFI以及蓝牙。因此,根据实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,或者特别是移动电子装置。
存储器装置6130可通过非易失性存储器来实施。例如,存储器装置6130可通过诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。存储器装置6130可包括如图1的存储器装置150中的多个管芯。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。例如,存储器控制器6120和存储器装置6130可通过集成至单个半导体装置中构成固态驱动器(SSD)。而且,存储器控制器6120和存储器装置6130可构成存储卡,诸如PC卡(PCMCIA:个人计算机存储卡国际协会)、紧凑型闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)以及通用闪速存储(UFS)。
图10是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。
参照图10,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图10中所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1至图8所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1至图8所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224以及诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可在CPU 6221的控制下操作且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,通过CPU 6221处理的数据可被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输到存储器装置6230的数据或从存储器装置6230传输到主机6210的数据。当RAM 6222用作高速缓冲存储器时,RAM 6222可辅助低速存储器装置6230以高速运行。
ECC电路6223可对应于图1所示的控制器130的ECC 138。如参照图1所述,ECC电路6223可生成用于校正从存储器装置6230提供的数据的失效位或错误位的ECC(错误校正码)。ECC电路6223可对提供给存储器装置6230的数据执行错误校正编码,从而形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行错误校正解码。在这种情况下,ECC电路6223可使用奇偶校验位来校正错误。例如,如参照图1所述,ECC电路6223可使用LDPC码、BCH码、turbo码、里德-所罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224向主机6210传输数据或信号或接收来自主机6210的数据或信号,并通过NVM接口6225向存储器装置6230传输数据或信号或接收来自存储器装置6230的数据或信号。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接至主机6210。存储器控制器6220可利用诸如WiFi或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可连接至外部装置,例如主机6210或另一外部装置,然后向外部装置传输数据/接收来自外部装置的数据。由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置通信,因此根据实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图11是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图11示意性示出应用根据实施例的存储器系统的SSD。
参照图11,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接至存储器装置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324以及诸如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可通过诸如DRAM、SDRAM、DDR SDRAM、LPDDRSDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实施。为便于描述,图11示出了缓冲存储器6325存在于控制器6320中,然而,缓冲存储器6325可位于或布置在控制器6320的外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口连接功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口连接功能。
此外,可提供应用了图1的存储器系统110的多个SSD 6300来实施数据处理系统,例如,RAID(独立磁盘冗余阵列)系统。RAID系统可包括多个SSD 6300和用于控制多个SSD6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD6300中选择一个或多个存储器系统或SSD 6300,并可将对应于写入命令的数据输出至选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图12是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图12示意性示出应用了根据实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图12,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器系统110中的控制器130,并且存储器装置6440可对应于图1的存储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接至存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作并行接口,例如参照图1所描述的MMC接口。此外,主机接口6431可用作串行接口,例如UHS(超高速-I和UHS-II)接口。
图13至图16是示意性示出包括根据实施例的存储器系统的数据处理系统的其它示例的示图。图13至图16示意性示出应用根据实施例的存储器系统的UFS(通用闪速存储)系统。
参照图13至图16,UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可用作嵌入式UFS装置,并且UFS卡6530、6630、6730和6830可用作外部嵌入式UFS装置或可移除UFS卡。
各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与诸如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过图1所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以参照图10至图12描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图9描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS接口,例如,MIPI(移动行业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过除UFS协议以外的各种协议,例如,UFD、MMC、SD、迷你SD和微型SD彼此通信。
图17是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图17是示意性示出应用了根据实施例的存储器系统的用户系统的示图。
参照图17,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940和存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在诸如OS的用户系统6900中的组件,并且包括控制包括在用户系统6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDARM、LPDDR2SDRAM或LPDDR3SDRAM的易失性RAM,或诸如PRAM、ReRAM、MRAM或FRAM的非易失性RAM。例如,可基于POP(堆叠式封装)来封装和安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,而且可支持各种无线通信协议,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(Wimax)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例的存储器系统和数据处理系统可应用于有线/无线电子装置。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储数据,例如从应用处理器6930接收的数据,然后可将所存储的数据传输到应用处理器6930。存储模块6950可通过诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存的非易失性半导体存储器装置来实施,并且可被提供为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于参照图1描述的存储器系统110。此外,存储模块6950可被实施为如上参照图11至图16描述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出至外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和马达的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的操作,并且网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据或支持从触摸面板接收数据的功能。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所确定的本发明的实质和范围的情况下,可进行各种改变和修改。
Claims (20)
1.一种控制器,包括:
处理器,基于预定主读取电压以及具有不同电压值的多个候选读取电压中的每一个来读取目标数据;
存储器,存储通过读取所述目标数据获得的主编码数据和候选编码数据;
ECC,解码所述主编码数据以生成主解码数据,并且解码所述候选编码数据中的每一个以生成候选解码数据;
计数器,对与所述主解码数据对应的错误位数量进行计数,并且对与所述候选解码数据中的每一个对应的错误位数量进行计数;以及
电压设置电路,将所述候选解码数据之中具有比最少错误位数量的候选读取电压设置为所述主读取电压,所述最少错误位数量比与所述主解码数据对应的错误位数量少。
2.根据权利要求1所述的控制器,其中当不存在具有比与所述主解码数据对应的错误位数量少的错误位数量的候选解码数据时,所述电压设置电路保持所述主读取电压。
3.根据权利要求1所述的控制器,
其中所述计数器基于解码数据和编码数据对每个二进制标签数据的错误位数量进行计数,
其中所述二进制标签数据包括关于基于所述候选读取电压划分每个存储器单元组的阈值电压的位置的信息。
4.根据权利要求3所述的控制器,其中所述存储器存储所述二进制标签数据和通过将所述二进制标签数据的所有数字相加而获得的值。
5.根据权利要求4所述的控制器,其中所述二进制标签数据的数字基于所述多个候选读取电压来表示,并且高于特定读取电压的阈值电压由'1'表示,而低于所述特定读取电压的阈值电压由'0'表示。
6.根据权利要求2所述的控制器,其中所述处理器控制存储器装置以基于与所述主读取电压对应的错误位数量来触发读取回收操作。
7.根据权利要求1所述的控制器,其中所述主解码数据被输出至主机。
8.一种控制器的操作方法,包括:
基于预定主读取电压读取目标数据以存储主编码数据;
解码所述主编码数据以生成主解码数据;
对与所述主解码数据对应的错误位数量进行计数;
基于具有与所述预定主读取电压不同的电压值的多个候选读取电压中的每一个读取所述目标数据以存储候选编码数据;
解码所述候选编码数据中的每一个以生成候选解码数据;
对与所述候选解码数据中的每一个对应的错误位数量中的每一个进行计数;并且
将所述候选解码数据之中具有最少错误位数量的候选读取电压设置为所述主读取电压,所述最少错误位数量比与所述主解码数据对应的错误位数量少。
9.根据权利要求8所述的操作方法,进一步包括:
当不存在具有比与所述主解码数据对应的错误位数量少的错误位数量的候选解码数据时,保持所述主读取电压。
10.根据权利要求8所述的操作方法,
其中对与所述主解码数据对应的错误位数量进行计数以及对与所述候选解码数据中的每一个对应的错误位数量进行计数均包括基于解码数据和编码数据对每个二进制标签数据的错误位数量进行计数,
其中所述二进制标签数据包括关于基于所述候选读取电压划分每个存储器单元组的阈值电压的位置的信息。
11.根据权利要求10所述的操作方法,进一步包括:
将所述二进制标签数据和通过将所述二进制标签数据的所有数字相加而获得的值存储在存储器中。
12.根据权利要求11所述的操作方法,其中所述二进制标签数据的数字基于所述多个候选读取电压来表示,并且高于特定读取电压的阈值电压由'1'表示,而低于所述特定读取电压的阈值电压由'0'表示。
13.根据权利要求9所述的操作方法,进一步包括:
控制存储器装置以基于与所述主读取电压对应的错误位数量来触发读取回收操作。
14.根据权利要求8所述的操作方法,进一步包括:
将所述主解码数据输出至主机。
15.一种存储器系统,包括:
存储器装置,包括存储数据的多个存储器单元;以及
控制器,控制所述存储器装置,
其中所述控制器包括:
处理器,基于预定主读取电压读取目标数据,并且基于具有与所述预定主读取电压不同的电压值的多个候选读取电压中的每一个来读取所述目标数据;
存储器,存储通过读取所述目标数据获得的主编码数据和候选编码数据;
ECC,解码所述主编码数据以生成主解码数据,并且解码所述候选编码数据中的每一个以生成候选解码数据;
计数器,对与所述主解码数据对应的错误位数量进行计数,并对与所述候选解码数据中的每一个对应的错误位数量中的每一个进行计数;以及
电压设置电路,将所述候选解码数据之中具有最少错误位数量的候选读取电压设置为所述主读取电压,所述最少错误位数量比与所述主解码数据对应的错误位数量少。
16.根据权利要求15所述的存储器系统,其中当不存在具有比与所述主解码数据对应的错误位数量少的错误位数量的候选解码数据时,所述电压设置电路保持所述主读取电压。
17.根据权利要求15所述的存储器系统,
其中所述计数器基于解码数据和编码数据对每个二进制标签数据的错误位数量进行计数,
其中所述二进制标签数据包括关于基于所述候选读取电压划分每个存储器单元组的阈值电压的位置的信息。
18.根据权利要求17所述的存储器系统,其中所述存储器存储所述二进制标签数据和通过将所述二进制标签数据的所有数字相加而获得的值。
19.根据权利要求18所述的存储器系统,其中所述二进制标签数据的数字基于所述多个候选读取电压来表示,并且高于特定读取电压的阈值电压由'1'表示,而低于所述特定读取电压的阈值电压由'0'表示。
20.根据权利要求18所述的存储器系统,其中所述处理器控制存储器装置以基于与所述主读取电压对应的错误位数量来触发读取回收操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0036121 | 2018-03-28 | ||
KR1020180036121A KR102648618B1 (ko) | 2018-03-28 | 2018-03-28 | 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110322920A true CN110322920A (zh) | 2019-10-11 |
CN110322920B CN110322920B (zh) | 2023-04-07 |
Family
ID=68057088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811625052.2A Active CN110322920B (zh) | 2018-03-28 | 2018-12-28 | 控制器及控制器的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11189350B2 (zh) |
KR (1) | KR102648618B1 (zh) |
CN (1) | CN110322920B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113284533A (zh) * | 2020-02-20 | 2021-08-20 | 华邦电子股份有限公司 | 存储器装置和调整用于存储器装置的参数的方法 |
CN113628665A (zh) * | 2020-05-07 | 2021-11-09 | 美光科技公司 | 基于以经优化读取电压为中心的信号和噪声特性确定位错误计数 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113129983B (zh) * | 2019-12-31 | 2022-09-06 | 杭州海康存储科技有限公司 | 标定阈值电压组的方法、装置及计算机存储介质 |
US11366718B2 (en) | 2020-04-30 | 2022-06-21 | SK Hynix Inc. | Optimal read bias tracking system and method thereof |
US20230393777A1 (en) * | 2022-06-02 | 2023-12-07 | Micron Technology, Inc. | Dynamic read level trim selection for scan operations of memory devices |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512661A (zh) * | 2006-05-12 | 2009-08-19 | 爱诺彼得技术有限责任公司 | 用于存储设备的失真估计与纠错编码的组合 |
US20090292972A1 (en) * | 2008-05-23 | 2009-11-26 | Samsung Electronics Co., Ltd. | Error correction apparatus, method thereof and memory device comprising the apparatus |
US20110197015A1 (en) * | 2010-02-08 | 2011-08-11 | Donghyuk Chae | Flash Memory Devices Having Multi-Bit Memory Cells Therein with Improved Read Reliability |
US20130297986A1 (en) * | 2012-05-04 | 2013-11-07 | Lsi Corporation | Zero-one balance management in a solid-state disk controller |
CN104699577A (zh) * | 2013-12-06 | 2015-06-10 | 英特尔公司 | 用于在分布式码字存储系统中定位故障管芯的计数器 |
US20160055917A1 (en) * | 2014-08-19 | 2016-02-25 | Samsung Electronics Co., Ltd. | Storage devices and methods of operating storage devices |
US20160210190A1 (en) * | 2015-01-21 | 2016-07-21 | SK Hynix Inc. | Flash memory system and operating method thereof |
CN105931673A (zh) * | 2015-02-27 | 2016-09-07 | 爱思开海力士有限公司 | 数据储存器件及其操作方法 |
CN105957553A (zh) * | 2015-03-09 | 2016-09-21 | 爱思开海力士有限公司 | 控制器、半导体存储系统及其操作方法 |
US20160276039A1 (en) * | 2015-03-16 | 2016-09-22 | Sk Hynix Memory Solutions Inc. | Memory controller and operating method thereof |
CN106128510A (zh) * | 2015-05-07 | 2016-11-16 | 爱思开海力士有限公司 | 控制器、半导体存储系统及其操作方法 |
US20170097868A1 (en) * | 2015-10-01 | 2017-04-06 | SK Hynix Inc. | Data storage device and operating method thereof |
US20180076829A1 (en) * | 2016-09-14 | 2018-03-15 | Toshiba Memory Corporation | Memory system and method |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100907218B1 (ko) * | 2007-03-28 | 2009-07-10 | 삼성전자주식회사 | 읽기 레벨 제어 장치 및 그 방법 |
KR100891005B1 (ko) * | 2007-06-28 | 2009-03-31 | 삼성전자주식회사 | 고온 스트레스로 인한 읽기 마진의 감소를 보상하기 위한플래시 메모리 장치 및 그것의 읽기 전압 조정 방법 |
KR101413137B1 (ko) * | 2008-07-04 | 2014-07-01 | 삼성전자주식회사 | 메모리 장치 및 메모리 프로그래밍 방법 |
KR101635506B1 (ko) * | 2010-03-29 | 2016-07-04 | 삼성전자주식회사 | 데이터 저장 시스템 및 그것의 읽기 방법 |
US8856611B2 (en) | 2012-08-04 | 2014-10-07 | Lsi Corporation | Soft-decision compensation for flash channel variation |
US9417958B2 (en) * | 2012-06-06 | 2016-08-16 | Silicon Motion Inc. | Flash memory control method, controller and electronic apparatus |
KR101979734B1 (ko) * | 2012-08-07 | 2019-05-17 | 삼성전자 주식회사 | 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법 |
US9368225B1 (en) * | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
KR20140072637A (ko) * | 2012-12-05 | 2014-06-13 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 메모리 컨트롤러의 동작 방법 |
KR102123946B1 (ko) * | 2012-12-28 | 2020-06-17 | 삼성전자주식회사 | 멀티 레벨 셀 메모리 장치 및 그것의 동작방법 |
US9390002B1 (en) * | 2013-01-23 | 2016-07-12 | SK Hynix Inc. | Efficient bin labeling schemes for tracking cells in solid state storage devices |
US9728263B2 (en) * | 2013-05-31 | 2017-08-08 | Sandisk Technologies Llc | Method and device for iteratively updating read voltages |
TWI521513B (zh) * | 2013-06-28 | 2016-02-11 | 群聯電子股份有限公司 | 讀取電壓設定方法、控制電路與記憶體儲存裝置 |
KR102262909B1 (ko) * | 2014-12-18 | 2021-06-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 동작 방법 |
US9792176B2 (en) | 2015-11-13 | 2017-10-17 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding data in memory system |
CN106816179B (zh) * | 2015-11-30 | 2020-12-25 | 华为技术有限公司 | 一种闪存纠错方法和装置 |
TWI612525B (zh) * | 2016-07-07 | 2018-01-21 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
US10452480B2 (en) * | 2017-05-25 | 2019-10-22 | Micron Technology, Inc. | Memory device with dynamic processing level calibration |
TWI638262B (zh) * | 2017-11-17 | 2018-10-11 | 慧榮科技股份有限公司 | 資料儲存裝置及應用於其上的操作方法 |
-
2018
- 2018-03-28 KR KR1020180036121A patent/KR102648618B1/ko active IP Right Grant
- 2018-12-17 US US16/221,896 patent/US11189350B2/en active Active
- 2018-12-28 CN CN201811625052.2A patent/CN110322920B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512661A (zh) * | 2006-05-12 | 2009-08-19 | 爱诺彼得技术有限责任公司 | 用于存储设备的失真估计与纠错编码的组合 |
US20090292972A1 (en) * | 2008-05-23 | 2009-11-26 | Samsung Electronics Co., Ltd. | Error correction apparatus, method thereof and memory device comprising the apparatus |
US20110197015A1 (en) * | 2010-02-08 | 2011-08-11 | Donghyuk Chae | Flash Memory Devices Having Multi-Bit Memory Cells Therein with Improved Read Reliability |
US20130297986A1 (en) * | 2012-05-04 | 2013-11-07 | Lsi Corporation | Zero-one balance management in a solid-state disk controller |
CN104699577A (zh) * | 2013-12-06 | 2015-06-10 | 英特尔公司 | 用于在分布式码字存储系统中定位故障管芯的计数器 |
CN105374388A (zh) * | 2014-08-19 | 2016-03-02 | 三星电子株式会社 | 存储装置和操作存储装置的方法 |
US20160055917A1 (en) * | 2014-08-19 | 2016-02-25 | Samsung Electronics Co., Ltd. | Storage devices and methods of operating storage devices |
US20160210190A1 (en) * | 2015-01-21 | 2016-07-21 | SK Hynix Inc. | Flash memory system and operating method thereof |
CN105931673A (zh) * | 2015-02-27 | 2016-09-07 | 爱思开海力士有限公司 | 数据储存器件及其操作方法 |
CN105957553A (zh) * | 2015-03-09 | 2016-09-21 | 爱思开海力士有限公司 | 控制器、半导体存储系统及其操作方法 |
US20160276039A1 (en) * | 2015-03-16 | 2016-09-22 | Sk Hynix Memory Solutions Inc. | Memory controller and operating method thereof |
CN106169308A (zh) * | 2015-03-16 | 2016-11-30 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
CN106128510A (zh) * | 2015-05-07 | 2016-11-16 | 爱思开海力士有限公司 | 控制器、半导体存储系统及其操作方法 |
US20170097868A1 (en) * | 2015-10-01 | 2017-04-06 | SK Hynix Inc. | Data storage device and operating method thereof |
US20180076829A1 (en) * | 2016-09-14 | 2018-03-15 | Toshiba Memory Corporation | Memory system and method |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113284533A (zh) * | 2020-02-20 | 2021-08-20 | 华邦电子股份有限公司 | 存储器装置和调整用于存储器装置的参数的方法 |
CN113284533B (zh) * | 2020-02-20 | 2023-10-13 | 华邦电子股份有限公司 | 存储器装置和调整用于存储器装置的参数的方法 |
CN113628665A (zh) * | 2020-05-07 | 2021-11-09 | 美光科技公司 | 基于以经优化读取电压为中心的信号和噪声特性确定位错误计数 |
Also Published As
Publication number | Publication date |
---|---|
US20190303240A1 (en) | 2019-10-03 |
CN110322920B (zh) | 2023-04-07 |
US11189350B2 (en) | 2021-11-30 |
KR20190113436A (ko) | 2019-10-08 |
KR102648618B1 (ko) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399311A (zh) | 存储器系统及该存储器系统的操作方法 | |
CN108304141A (zh) | 存储器系统及其操作方法 | |
CN109388594A (zh) | 存储器系统及其操作方法 | |
CN110322920A (zh) | 控制器及控制器的操作方法 | |
CN108932203A (zh) | 数据处理系统和数据处理方法 | |
CN109656837A (zh) | 存储器系统及其操作方法 | |
US10042568B2 (en) | Memory system and operating method thereof | |
CN109697171A (zh) | 控制器及其操作方法 | |
CN110058797A (zh) | 存储器系统及其操作方法 | |
CN108268212A (zh) | 控制器及操作方法 | |
CN110531922A (zh) | 存储器系统、控制器及其操作方法 | |
CN110322915A (zh) | 存储器装置及其操作方法 | |
CN110457230A (zh) | 存储器系统及其操作方法 | |
CN109656469A (zh) | 用于控制一个或多个存储器装置的控制器及其操作方法 | |
CN108733616A (zh) | 包括多处理器的控制器及其操作方法 | |
CN109271328A (zh) | 存储器系统及其操作方法 | |
CN110489271A (zh) | 存储器系统及其操作方法 | |
CN108241470A (zh) | 控制器及其操作方法 | |
CN108363547A (zh) | 控制器及其操作方法 | |
CN110457242A (zh) | 控制器、存储器系统及其操作方法 | |
US20190196963A1 (en) | Controller and operating method thereof | |
CN109656470A (zh) | 存储器系统及其操作方法 | |
CN108628755A (zh) | 存储器系统 | |
CN110890123A (zh) | 数据处理系统及其操作方法 | |
CN110413440A (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 |