CN108345550A - 存储器系统 - Google Patents

存储器系统 Download PDF

Info

Publication number
CN108345550A
CN108345550A CN201711012507.9A CN201711012507A CN108345550A CN 108345550 A CN108345550 A CN 108345550A CN 201711012507 A CN201711012507 A CN 201711012507A CN 108345550 A CN108345550 A CN 108345550A
Authority
CN
China
Prior art keywords
data
storage region
memory
storage
controller
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
Application number
CN201711012507.9A
Other languages
English (en)
Other versions
CN108345550B (zh
Inventor
李峻瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN108345550A publication Critical patent/CN108345550A/zh
Application granted granted Critical
Publication of CN108345550B publication Critical patent/CN108345550B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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 Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

一种存储器系统包括:非易失性存储器装置,其包括第一存储区域和第二存储区域;以及控制器,其包括用于向/从主机输入/输出数据的第一接口和第二接口,通过第一接口输入/输出第一存储区域的第一数据,并且通过第二接口输入/输出第二存储区域的第二数据,其中当第一数据被编程在第一存储区域中时,控制器检测第一数据的值,基于检测结果选择性地反转第一数据的值,并且编程结果值,并且当第二数据被编程在第二存储区域中时,控制器检测其中第二数据被编程的第二存储区域的状态,基于状态检测结果选择性地反转第二数据的值,并且编程结果值。

Description

存储器系统
相关申请的交叉引用
本申请要求于2017年1月23日提交的申请号为10-2017-0010495的韩国专利申请的优先权,其整体通过引用并入本文。
技术领域
本发明的示例性实施例涉及一种半导体技术,并且更特别地,涉及一种包括非易失性存储器装置的存储器系统。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算系统。由于该事实,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有用于存储数据的一个或多个存储器装置的存储器系统。存储器系统可以用作便携式电子装置的主存储器或辅助存储器。
因为存储器系统不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
本发明的实施例涉及一种包括非易失性存储器装置的存储器系统。
根据本发明的实施例,存储器系统包括:非易失性存储器装置,其包括第一存储区域和第二存储区域;以及控制器,其包括用于在主机和非易失性存储器装置之间传送数据的第一接口和第二接口,并且适于通过第一接口在第一存储区域和主机之间传送第一数据,以及通过第二接口在第二存储区域和主机之间传送第二数据,控制器可以通过根据第一数据的位值选择性地反转第一数据来将第一数据编程到第一存储区域中,并且控制器可以通过根据第二数据被编程到其中的第二存储区域中的存储器单元的状态选择性地反转第二数据来将第二数据编程到第二存储区域中。
当具有第一值的位是第一数据中的多数时,控制器可以通过反转第一数据来将第一数据编程到第一存储区域中。
控制器可以通过将第一标志位进一步添加到第一数据来将第一数据编程到第一存储区域中,并且第一标志位可以表示第一数据的反转。
控制器可以通过根据添加到读取的第一数据的第一标志位选择性地反转读取的第一数据来从第一存储区域进一步读取存储的第一数据。
控制器可以通过以下来进一步检查第二存储区域中的存储器单元的状态:在未反转第二数据的情况下将第二数据编程到第二存储区域中;从第二存储区域读取存储的第二数据;以及比较编程时的第二数据与读取的第二数据。控制器可以根据编程时的第二数据和读取的第二数据之间的不同位的数量来进一步判定是否反转第二数据。
当不同位的数量等于或小于预定阈值时,控制器可以结束第二数据的编程。
当不同位的数量超过预定阈值时,控制器可以通过反转第二数据来将第二数据编程到第二存储区域中。
控制器可以从第二存储区域进一步读取反转的和存储的第二数据,并且可以进一步比较编程时反转的第二数据与读取的反转的第二数据,并且当编程时反转的第二数据与读取的反转的第二数据之间的不同位的数量等于或小于预定阈值时,控制器可以判定反转的第二数据的编程是成功的。
控制器可以通过将第二标志位进一步添加到第二数据来将第二数据编程到第二存储区域中,并且第二标志位可以表示第二数据的反转。
控制器可以通过根据添加到读取的第二数据的第二标志位选择性地反转读取的第二数据来从第二存储区域进一步读取存储的第二数据。
控制器可以在预定的周期处或在预定事件的发生处进一步检查第一存储区域的状态,并且可以基于对第一存储区域的状态的检查结果进一步可变地改变第一存储区域的存储容量和第二存储区域的存储容量。
第一存储区域和第二存储区域中的每一个可以包括多个存储段(storagesegment)。控制器可以将第一存储区域的一个或多个降级的存储段分配为第二存储区域,并且降级的存储段可以是指从其中读取的数据具有比阈值数量的错误更多数量的错误的存储段。
控制器可以将第二存储区域的一个或多个改进的存储段分配为第一存储区域,并且改进的存储段可以是指从其中读取的数据具有比阈值数量的错误更少数量的错误的存储段。
控制器可以包括:时钟发生器,其适于产生具有相对较高频率的第一时钟和具有相对较低频率的第二时钟;以及传送器,其适于通过响应于第一时钟操作的第一接口向/从主机输入/输出第一存储区域的输入/输出数据,并且通过响应于第二时钟操作的第二接口向/从主机输入/输出第二存储区域的输入/输出数据。
第一存储区域可以是主机的主存储器,并且第二存储区域可以是主机的存储器。
第一接口可以是双列直插式存储器模块(DIMM)接口和高速外围组件互连(PCI-e)接口中的一个接口,并且第二接口可以是双列直插式存储器模块(DIMM)接口和高速外围组件互连(PCI-e)接口中的一个接口。
非易失性存储器装置可以是从包括闪速存储器、相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)、铁电随机存取存储器(FRAM)和自旋转移力矩随机存取存储器(STT-MRAM)的组中选择的一个存储器。
附图说明
根据参照附图的以下具体实施方式,本发明的这些和其它特征及优点对于本发明所属领域的技术人员将变得显而易见,其中:
图1是示出根据本发明的实施例的数据处理系统的框图;
图2是示出图1所示的存储器系统中采用的存储器装置的示例性配置的示意图;
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;
图4是示出图2所示的存储器装置的示例性三维结构的示意图;
图5是示出图1所示的存储器系统的框图;
图6示出在图5所示的存储器系统中通过第一路径存储数据的进程;
图7A至图7C示出在图5所示的存储器系统中通过第二路径存储数据的进程;
图8是描述在图5所示的存储器系统中读取数据的进程的流程图;以及
图9至图17是示意性示出图1所示的数据处理系统的应用示例的图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,注意的是,本发明可以在不同的其它实施例、形式和变化中实施,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各种元件,但是这些元件不受这些术语限制。这些术语被用于区分一个元件与另一元件。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中限定的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地限定。
在以下描述中,为了提供本发明的彻底理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
也应注意的是,在一些情况下,对相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用,除非另有明确说明。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可以包括操作地联接到存储器系统110的主机102。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
存储器系统110可以响应于主机102的请求来操作以存储用于主机102的数据。存储器系统110的非限制性示例可以包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪速存储(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可以包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型-MMC,SD卡可以包括迷你-SD卡和微型-SD卡
存储器系统110可以由各种类型的存储装置来实施。包括在存储器系统110的存储装置的非限制性示例可以包括诸如DRAM动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器的非易失性存储器装置。闪速存储器可以具有3维(3D)堆叠结构。
存储器系统110可以包括存储器装置150和控制器130。存储器装置150可以存储用于主机120的数据,并且控制器130可以控制将数据存储器装置150中。
控制器130和存储器装置150可以被集成到单个半导体装置中,其可以被包括在如上所例示的各种类型的存储器系统中。
存储器系统110的非限制性应用示例可以包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、建立数据中心的存储装置、能够在无线环境下传输/接收信息的装置、建立家庭网络的各种电子装置中的一个、建立计算机网络的各种电子装置中的一个、建立远程信息处理的各种电子装置中的一个、射频识别(RFID)装置或建立计算系统的各种部件中的一个。
存储器装置150可以是非易失性存储器装置,并且即使未被供应电力,也可以保留其中存储的数据。存储器装置150可以通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可以包括多个存储器管芯(未示出),每个存储器管芯包括多个平面(未示出),每个平面包括多个存储块152至156,存储块152至156的每一个可以包括多个页面,并且页面的每一个可以包括联接到字线的多个存储器单元。
控制器130可以响应于来自主机102的请求来控制存储器装置150。例如,控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可以控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可以包括全部经由内部总线操作地联接的主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、NAND闪存控制器(NFC)142和存储器144。
主机接口单元132可以被配置为处理主机102的命令和数据,并且可以通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和集成驱动电路(IDE)。
ECC单元138可以检测并且校正从存储器装置150读取的数据中包含的错误。换言之,ECC单元138可以通过在ECC编码进程期间使用的ECC代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC单元138可以输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ECC单元138不能校正错误位,并且可以输出错误校正失败信号。
ECC单元138可以通过诸如低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等的编码调制执行错误校正操作。然而,ECC单元138不限于此。ECC单元138可以包括用于错误校正的所有电路、模块、系统或装置。
PMU 140可提供和管理控制器130的电源。
NFC 142可以用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体地NAND闪速存储器时,NFC142可以在处理器134的控制下生成用于存储器装置150的控制信号并且处理待提供给存储器装置150的数据。NFC 142可以用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,NFC 142可以支持控制器130和存储器装置150之间的数据传送。
存储器144可以用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可以响应于来自主机102的请求来控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。存储器144可以存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可以由易失性存储器来实施。例如,存储器144可以由静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。存储器144可以被设置在控制器130的内部或外部。图1例示设置在控制器130内的存储器144。在实施例中,存储器144可以由具有在存储器144和控制器130之间传送数据的存储器接口的外部易失性存储器实施。
处理器134可以控制存储器系统110的总体操作。处理器134可以驱动固件以控制存储器系统110的总体操作。固件可以被称为闪存转换层(FTL)。
控制器130的处理器134可以包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可以在包括在存储器装置150中的多个存储块152至156中对其中在编程操作期间由于NAND闪速存储器的特征而发生编程失败的坏块进行检查的坏块管理操作。管理单元可以将坏块的编程失败数据写入新存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可能降低存储器装置150的使用效率和存储器系统110的可靠性。因此,坏块管理操作需要被更可靠地执行。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可以包括多个存储块0至N-1,并且块0到N-1中的每一个可以包括例如2M个页面的多个页面,其数量可以根据电路设计而变化。包括在各个存储块0至N-1中的存储器单元可以是存储1位数据的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据的三层单元(TLC)、存储4位数据的四层单元(QLC)、存储5位或更多位数据的多层(multiple level)单元等。
图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。
参照图3,可对应于包括在存储器系统110的存储器装置150中的多个存储块152至156中的任意一个的存储块330可以包括联接到多个相应位线BL0至BLm-1的多个单元串340。每个列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极选择晶体管DST和源极选择晶体管SST之间,多个存储器单元MC0至MCn-1可以串联联接。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可以由能够存储多个位的数据信息的MLC来实施。单元串340中的每一个可以电联接到多个位线BL0至BLm-1中的相应位线。例如,如图3所示,第一单元串联接到第一位线BL0,并且最后单元串联接到最后位线BLm-1。
虽然图3示出NAND闪速存储器单元,但是本发明不限于此方式。注意的是,存储器单元可以是NOR闪速存储器单元,或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。并且,应注意的是,存储器装置可以是包括导电浮栅作为电荷存储层的闪速存储器装置或包括介电层作为电荷存储层的电荷撷取闪存(CTF)。
存储器装置150可以进一步包括电压供给单元310,其提供包括根据操作模式供给到字线的编程电压、读取电压和通过电压的字线电压。电压供给单元310的电压产生操作可以由控制电路(未示出)来控制。在控制电路的控制下,电压供给单元310可以选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且将字线电压提供给所选择的字线和未选择的字线。
存储器装置150可以包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可以用作用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可以根据待存储在存储器单元阵列中的数据用作用于驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待存储到存储器单元阵列中的数据并且根据接收的数据来驱动位线。读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
图4是示出存储器装置150的示例性3D结构的示意图。
存储器150可以由2D或3D存储器装置来实施。具体地,如图4所示,存储器装置150可以由具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可以包括多个存储块BLK0至BLKN-1,所述存储块各自具有3D结构(或竖直结构)。
图5是进一步示出存储器系统110的元件的框图。
图6示出在存储器系统110中通过第一路径存储数据的进程。
图7A至图7C示出在存储器系统110中通过第二路径存储数据的进程。
图8是描述在存储器系统110中读取数据的进程的流程图。
参照图5,存储器系统110可以包括非易失性存储器装置150和控制器130。
合适的非易失性存储器装置150的示例可以包括闪速存储器、相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)、铁电随机存取存储器(FRAM)和自旋转移力矩随机存取存储器(STT-MRAM)。然而,本发明的概念和精神不限于此方式并且可以使用其它非易失性存储器。在实施例中,非易失性存储器装置150是相变随机存取存储器(PCRAM)。
非易失性存储器装置150可以包括第一存储区域和第二存储区域。第一存储区域和第二存储区域的各自的存储容量可以是可变的。例如,显示为包括在存储器装置150中的可变数量的存储块BLK<0:13>可以被分配为第一存储区域,而存储块BLK<0:13>的剩余存储块可以被分配为第二存储区域。
控制器130可以在预定的周期处或每当发生预设事件时检查非易失性存储器装置150的状态,并且可以基于检查的非易失性存储器装置150的状态在存储块BLK<0:13>中将一些存储块可变地分配为第一存储区域并且将其它存储块分配为第二存储区域。
在实施例中,控制器130可以管理第一存储区域(例如,第0存储块至第11存储块BLK<0:11>)作为第一划分的存储区域1501至1506中的一个或多个并且管理第二存储区域(例如,第12存储块至第13存储块BLK<12:13>)作为一个或多个第二划分的存储区域1507,可以选择第一划分的存储区域(例如,包括第10存储块和第11存储块BLK<10:11>的第一划分的存储区域1506)中的至少一个来存储其中错误位的数量在预定周期处超过预定数量的数据,并且将选择的至少一个第一划分的存储区域1506分配到第二存储区域,使得存储区域1506和1507可以被管理作为第二存储区域。
在实施例中,控制器130可以管理第一存储区域(例如,第0存储块至第9存储块BLK<0:9>)作为多个第一划分的存储区域1501至1505并且管理第二存储区域(例如,第10存储块至第13存储块BLK<10:13>)作为多个第二划分的存储区域1506和1507,选择至少一个第二划分的存储区域(例如,包括第12存储块和第13存储块BLK<12:13>的第二划分的存储区域1507)来存储其中错误位的数量在预定周期处少于预定数量的数据,并且将选择的至少一个第二划分的存储区域(例如,第二划分的存储区域1507)分配到第一存储区域,使得存储区域1501至1505和存储区域1507可以被管理作为第一存储区域。因此,控制器130可以将一个或多个第一划分的存储区域或第二划分的存储区域从一个区域重新分配到另一个区域。
第一接口1ST_I/F和第二接口2ND_I/F可以被设置成便于控制器130和主机102之间的数据通信。控制器130可以通过第一接口1ST_I/F在第一存储区域和主机102之间传送第一数据ODATA1或EDATA1,并且可以通过第二接口2ND_I/F在第二存储区域和主机102之间传送第二数据ODATA2或EDATA2。
控制器130可以包括第一主机接口1322、第二主机接口1324、操作管理器133、时钟发生器135以及ECC单元138。
在本文中,操作管理器133可以通过第一路径P1在第一存储区域和第一主机接口1322之间传送第一数据ODATA1或EDATA1,以便通过联接到第一主机接口1322的第一接口1ST_I/F在第一存储区域和主机102之间传送第一数据ODATA1或EDATA1。并且,操作管理器133可以通过第二路径P2在第二存储区域和第二主机接口1324之间传送第二数据ODATA2或EDATA2,以便通过联接到第二主机接口1324的第二接口2ND_I/F在第二存储区域和主机102之间传送第二数据ODATA2或EDATA2。
操作管理器133可以识别从第一存储区域和第二存储区域读取的数据或待被写入第一存储区域和第二存储区域中的数据。识别的数据可以是根据识别的第一数据ODATA1或EDATA1和第二数据ODATA2或EDATA2中的一个。
例如,操作管理器133可以通过第一主机接口1322和第一路径P1在第一存储区域和主机102之间传送从第一存储区域读取的数据或待写入第一存储区域中的数据。与第一存储区域相关的数据可以是第一数据ODATA1或EDATA1。例如,操作管理器133可以通过第二主机接口1324和第二路径P2在第二存储区域和主机102之间传送从第二存储区域读取的数据或待写入第二存储区域中的数据。与第二存储区域相关的数据可以是第二数据ODATA2或EDATA2。
当存储器装置150具有良好的状态时,例如,当存储器装置150的存储器单元具有其编程/擦除周期的较小值时,为了第一存储区域的存储容量大于第二存储区域的存储容量,控制器130可以在存储块BLK<0:13>中分配多于作为第二存储区域的存储块的存储块作为第一存储区域。
时钟发生器135可以产生不同频率的第一时钟1ST_CLK和第二时钟2ND_CLK。例如,第一时钟1ST_CLK可以具有比第二时钟2ND_CLK更高的频率。
第一时钟1ST_CLK和第二时钟2ND_CLK可以分别被提供给第一主机接口1322和第二主机接口1324。因此,可以根据第一时钟1ST_CLK和第二时钟2ND_CLK各自的频率以不同的速度在主机102和控制器130之间传送第一数据ODATA1或EDATA1和第二数据ODATA2或EDATA2。例如,当第一时钟1ST_CLK具有比第二时钟2ND_CLK更高的频率时,可以以比第二数据ODATA2或EDATA2更高的速度传送第一数据ODATA1或EDATA1。
在实施例中,第一接口1ST_I/F是双列直插式存储器模块(DIMM)接口并且第二接口2ND_I/F是高速外围组件互连(PCI-e)接口。在另一实施例中,第一接口1ST_I/F是双列直插式存储器模块(DIMM)接口并且第二接口2ND_I/F是DIMM接口。在另一实施例中,第一接口1ST_I/F是高速外围组件互连(PCI-e)接口并且第二接口2ND_I/F是PCI-e接口。在又一实施例中,第一接口1ST_I/F是高速外围组件互连(PCI-e)接口并且第二接口2ND_I/F是DIMM接口。在实施例中,第一存储区域可以用作诸如动态随机存取存储器(DRAM)的主机102的主存储器装置,并且第二存储区域可以用作诸如NAND闪速存储器的主机102的存储装置。
如上所述,在根据本发明的实施例的存储器系统110中,单个非易失性存储器装置150可以同时既用作主机102的主存储器装置又用作主机102的存储装置。
在非易失性存储器装置150中用作主机102的主存储器装置的区域的大小和用作的主机102的存储装置的区域的大小可以例如根据存储器装置150的状态在存储器系统110中被可变地控制。
控制器130可以检查第一数据ODATA1或EDATA1的值,并且基于第一数据ODATA1或EDATA1的值选择性地反转第一数据ODATA1或EDATA1,并且将选择性反转的数据编程在第一存储区域中。
具体地说,对于控制器130的这种操作,当从主机102通过第一主机接口1322被输入的第一数据ODATA1或EDATA1通过第一主机接口1322被编程在非易失性存储器装置150的第一存储区域中时,操作管理器133可以检查具有第一逻辑值的位的数量是否是第一数据ODATA1或EDATA1中的多数,根据检查结果选择性地反转第一数据ODATA1或EDATA1的所有位,并且将选择性反转的数据编程在非易失性存储器装置150的第一存储区域中。
例如,参照图6,例示的是512位的数据HOST DATA[512位]通过第一接口1ST_I/F从主机102输入到存储器装置110。
通过第一接口1ST_I/F被输入到存储器系统110的第一主机接口1322的512位数据HOST DATA[512位]可以作为第一数据ODATA1[512位]通过第一路径P1被传送到操作管理器133。
操作管理器133可以检查第一数据ODATA1[512位]的值。换言之,操作管理器133可以检查具有第一逻辑值的位的数量是否是第一数据ODATA1[512位]中的多数。
如图所示,操作管理器133可以检查具有逻辑值‘1’的位的数量是否是第一数据ODATA1[512位]中的多数。
在存储器装置150是PCRAM的情况下,编程值‘1’通常需要比编程值‘0’更多的功率。例如,当第一数据ODATA1[512位]被编程在用作存储器装置150的PCRAM中时,如果具有值“1”的数据的数量减少,则功耗量可以减少。因此,当第一数据ODATA1[512位]被编程在用作存储器装置150的PCRAM中的第一存储区域中时,可以在包括在第一数据ODATA1[512位]中的位的总数量中检查具有值‘1’的位的数量以减少功耗。
根据设计者的选择,第一逻辑值可以是值‘0’。
在检查具有第一逻辑值的位的数量是否是第一数据ODATA1[512位]中的多数之后,操作管理器133可以确定是否反转第一数据ODATA1[512位]。换言之,如图所示,当具有值‘1’的位的数量是第一数据ODATA1[512位]中的多数时,操作管理器133可以反转第一数据ODATA1[512位]。相反地,当具有值‘1’的位的数量是第一数据ODATA1[512位]中的少数时,操作管理器133可以不反转第一数据ODATA1[512位]。
以该方式,操作管理器133可以选择性地反转第一数据ODATA1[512位]。在本文中,操作管理器133可以包括用于表示在第一数据ODATA1[512位]中第一数据ODATA1[512位]是否为反转数据的信息INVERSION FLAG1[1位]。
即,当具有值‘1’的位的数量是第一数据ODATA1[512位]中的多数时,操作管理器133可以反转第一数据ODATA1[512位]并且将产生的表示第一数据ODATA1[512位]的反转的第一标志位INVERSION FLAG1[1位]添加到第一数据ODATA1[512位]。相反地,当具有值‘1’的位的数量是第一数据ODATA1[512位]中的少数时,操作管理器133可以不反转第一数据ODATA1[512位]并且将产生的表示第一数据ODATA1[512位]的非反转的第一标志位INVERSION FLAG1[1位]添加到第一数据ODATA1[512位]。
ECC单元138可以对将被编程在非易失性存储器装置150中的数据执行ECC编码操作以产生ECC奇偶校验位ECC PARITY[61位]。
ECC单元138可以对第一数据ODATA1[512位]和第一标志位INVERSION FLAG1[1位]执行ECC编码操作。
在实施例中,表示具有第一逻辑值的位的数量的信息可以被进一步添加到第一数据ODATA1[512位]。
例如,当PCRAM中的一个页面的大小为64位并且编码的第一数据EDATA1[574位]的大小为574位时,可能需要总共9个页面来存储编码的第一数据EDATA1[574位],其中两个位留空。在该情况下,表示具有第一逻辑值的位的数量的2位信息(未示出)可以被进一步添加到编码的第一数据EDATA1[574位]。
当第二数据ODATA2或EDATA2在第二存储区域中被编程时,控制器130可以检查第二存储区域的状态,基于检查结果选择性地反转第二数据ODATA2或EDATA2,并且将结果数据编程在第二存储区域中。
参照图7A,当第二数据ODATA2或EDATA2被编程在第二存储区域中时,ECC单元138可以在步骤S701中对第二数据ODATA2或EDATA2的原始版本执行ECC编码操作,并且在步骤S702中操作管理器133可以将ECC编码的第二数据ODATA2或EDATA2编程在第二存储区域中。步骤S701和S702可以包括检查其中待编程第二数据ODATA2或EDATA2的第二存储区域的状态。然后,在步骤S703中,通过从第二存储区域读取第二数据ODATA2或EDATA2的原始版本和ECC编码版本来检查在第二数据ODATA2或EDATA2的原始版本和ECC编码版本中错误位的数量是否超过的预定阈值THB。控制器130可以通过将在步骤S702中当被编程到第二存储区域中时的第二数据ODATA2或EDATA2的ECC编码和原始版本与在步骤S703中当从第二存储区域当前读取时的第二数据ODATA2或EDATA2的ECC编码版本和原始版本进行比较来执行步骤S703。
作为步骤S703的验证操作的结果,当在步骤S704中确定第二数据ODATA2或EDATA2的原始版本和ECC编码版本中的错误位的数量未超过预定阈值THB时,第二数据ODATA2或EDATA2的原始版本可以被视为成功编程。换言之,第二数据ODATA2或EDATA2的原始版本可能通过ECC解码操作来正常恢复。
作为步骤S703的验证的结果,当在步骤S704中确定第二数据ODATA2或EDATA2的原始版本和ECC编码版本中的错误位的数量超过预定阈值THB时,第二数据ODATA2或EDATA2的原始版本可以被视为无法容忍的错误编程。换言之,第二数据ODATA2或EDATA2的原始版本无法通过ECC解码操作来正常恢复。因此,第二数据ODATA2或EDATA2的原始版本的所有位可以被反转以成为第二数据ODATA2或EDATA2的反转版本,并且在步骤S705和S706中可被再次ECC编码并编程在第二存储区域中。
然后,在步骤S707中,通过从第二存储区域读取第二数据ODATA2或EDATA2的反转版本和ECC编码版本来检查在第二数据ODATA2或EDATA2的反转版本和ECC编码版本中错误位的数量是否超过的预定阈值THB。控制器130可以通过将在步骤S706中当被编程到第二存储区域中时的第二数据ODATA2或EDATA2的ECC编码版本和反转版本与在步骤S707中当从第二存储区域当前读取时的第二数据ODATA2或EDATA2的ECC编码版本和反转版本进行比较来执行步骤S707。
作为步骤S707的验证的结果,当在步骤S708中确定第二数据ODATA2或EDATA2的反转版本中的错误位的数量未超过预定阈值THB时,第二数据ODATA2或EDATA2的反转版本可以被视为成功编程。换言之,第二数据ODATA2或EDATA2的反转版本可能通过ECC解码操作来正常恢复。
作为步骤S707的验证的结果,当在步骤S708中确定第二数据ODATA2或EDATA2的反转版本中的错误位的数量超过预定阈值THB时,第二数据ODATA2或EDATA2的反转版本的编程可以被视为失败。换言之,第二数据ODATA2或EDATA2的反转版本可能无法通过ECC解码操作来正常恢复。
参照图7A和7B,例示了512位数据HOST DATA[512位]从主机102通过第二接口2ND_I/F被输入到存储器装置110。例如,512位数据HOST DATA[512位]可以是第二数据ODATA2[512位]。
第二数据ODATA2[512位]可以通过第二路径P2被传送到操作管理器133。
ECC单元138可以在步骤S701中对第二数据ODATA2[512位]的原始版本执行ECC编码操作,并且操作管理器133可以在步骤S702中将第二数据ODATA2[512位]的原始版本和ECC编码版本编程在第二存储区域中。
具体地说,操作管理器133可以产生具有值‘0’的通知第二数据ODATA2[512位]的非反转的第二标志位INVERSION FLAG2[1位],并且将第二标志位INVERSION FLAG2[1位]添加到第二数据ODATA2[512位]的原始版本。随后,ECC单元138可以对标记的第二数据(ODATA2+INVERSION FLAG2[513位])执行ECC编码操作并且产生ECC奇偶校验位ECC PARITY[61位]。随后,操作管理器133可以将包括第二数据ODATA2[512位]的原始版本、第二标志位INVERSION FLAG2[1位]和ECC奇偶校验位ECC PARITY[61位]的第二数据EDATA2[574位]的原始版本和ECC编码版本编程在非易失性存储器装置150的第二存储区域中。
然后,在步骤S703中,操作管理器133可以从第二存储区域读取第二数据EDATA2[574位]的原始版本和ECC编码版本,并且基于第二数据EDATA2[574位]的原始版本和ECC编码版本中的错误位的数量来判定是否对第二数据ODATA2[512位]的原始版本执行反转操作。控制器130可以通过将在步骤S702中当被编程到第二存储区域中时的第二数据EDATA2[574位]的ECC编码和原始版本与在步骤S703中当从第二存储区域当前读取时的第二数据EDATA2[574位]的ECC编码和原始版本进行比较来执行步骤S703。
通过步骤S703,可以通知在步骤S702中第二数据EDATA2[574位]的ECC编码版本和原始版本被编程到其的存储器单元是否可能被磨损(worn out)并卡(stuck)在第二存储区域中。通常,磨损的存储器单元的寿命正在耗尽。并且,数据可以从卡住的存储器单元读出,同时数据不能被编程到卡住的存储单元中。
参照图7C,在第二存储区域中准确地找出哪个存储单元被卡住是不可能的,然而在步骤S703和S707中的每一个中识别的存储错误位的存储器单元可以被视为卡住。
图7C例示在第二存储区域的574个存储器单元中11个存储器单元被卡住。图7C示出在最右列中作为步骤S703的结果的第二数据ODATA2或EDATA2的原始版本和ECC编码版本中的错误位的数量的12种情况表。
参照图7C,关于第一种至第六种情况,在步骤S703中读取的第二数据EDATA2[574位]的ECC编码版本和原始版本中的错误位的数量分别依次为11至6。作为步骤S703的验证的结果,当例如在步骤S704中确定第二数据ODATA2或EDATA2的原始版本和ECC编码版本中的错误位的数量超过预定阈值THB时,控制器130可以执行步骤S705至S707。
作为步骤S707的验证的结果,当在步骤S708中确定第二数据EDATA2[574位]的反转版本和ECC编码版本中的错误位的数量(例如,如图7C所示的针对第一种至第六种情况依次为0至5)的数量未超过预定阈值THB时,第二数据ODATA2[512位]的反转版本可以被视为成功编程,因为第二数据EDATA2[574位]的反转版本和ECC编码版本的错误位的数量由于第二数据ODATA2[512位]的反转而减少为小于预定阈值THB。
关于第七种至第十二种情况,在步骤S703中读取的第二数据EDATA2[574位]的ECC编码版本和原始版本中的错误位的数量分别依次为5至0。作为步骤S703的验证的结果,当在步骤S704中确定第二数据EDATA2[574位]的ECC编码版本和原始版本中的错误位的数量未超过预定阈值THB,例如5时,第二数据ODATA2[512位]的原始版本可以被视为成功编程,并且控制器130可以结束进程,而无需进一步执行步骤S705至S708。
再次参照图7A和图7B,作为步骤S703的验证的结果,当在步骤S704中确定第二数据EDATA2[574位]的原始版本和ECC编码版本中的错误位的数量超过预定阈值THB时,第二数据ODATA2[512位]的原始版本可以被视为无法容忍的错误编程,并且因此第二数据ODATA2[512位]的原始版本的所有位可以被反转成为第二数据ODATA2[512位]的反转版本,并且在步骤S705和S706中再次被ECC编码并编程在第二存储区域中。
ECC单元138可以在步骤S705中对第二数据ODATA2[512位]的反转版本执行ECC编码操作,并且操作管理器133可以在步骤S706中可将被ECC编码的第二数据ODATA2[512位]编程在第二存储区域中。
具体地说,操作管理器133可以产生具有值‘1’的通知第二数据ODATA2[512位]的原始版本的反转的第二标志位INVERSION FLAG2[1位],并且将第二标志位INVERSIONFLAG2[1位]添加到第二数据ODATA2[512位]的反转版本。随后,ECC单元138可以对标记的第二数据(ODATA2+INVERSION FLAG2[513位])执行ECC编码操作并且产生ECC奇偶校验位ECCPARITY[61位]。随后,操作管理器133可以将包括第二数据ODATA2[512位]的反转版本、第二标志位INVERSION FLAG2[1位]和ECC奇偶校验位ECC PARITY[61位]的第二数据EDATA2[574位]的反转版本和ECC编码版本编程在非易失性存储器装置150的第二存储区域中。然后,在步骤S707中,操作管理器133可以从第二存储区域读取第二数据EDATA2[574位]的反转版本和ECC编码版本,并且基于第二数据EDATA2[574位]的反转版本和ECC编码版本中的错误位的数量来判定第二数据ODATA2[512位]的反转版本的编程是否成功。控制器130可以通过将在步骤S706中当被编程到第二存储区域中时的第二数据EDATA2[574位]的ECC编码版本和反转版本与在步骤S707中当从第二存储区域当前读取时的第二数据EDATA2[574位]的ECC编码版本和反转版本进行比较来执行步骤S707。当控制器130从第一存储区域读取第一数据ODATA1或EDATA1时,控制器130可以对从第一存储区域读取的编码的第一数据EDATA1执行ECC解码以产生第一数据ODATA1,检测第一数据ODATA1中的第一标志位,并且基于检测结果选择性地执行反转,并且将结果输出到第一接口1ST_I/F。在本文中,第一数据ODATA1可以通过第一路径P1从操作管理器133被传送到第一主机接口1322,并且通过第一接口1ST_I/F被输出到主机102。
类似地,当控制器130从第二存储区域读取第二数据ODATA2或EDATA2时,控制器130可以对从第二存储区域读取的编码的第二数据EDATA2执行ECC解码以产生第二数据ODATA2,检测第二数据ODATA2中的第二标志位,并且基于检测结果选择性地执行反转,并且将结果输出到第二接口2ND_I/F。在本文中,第二数据ODATA2可以通过第二路径P2从操作管理器133被传送到第二主机接口1324,并且通过第二接口2ND_I/F被输出到主机102。
可以参照图8描述控制器130的读取操作。
具体地说,参照图8,在步骤S801中,控制器130可以通过操作管理器133从第一存储区域或第二存储区域读取编码的第一数据EDATA1或编码的第二数据EDATA2。
在本文中,如上所述的图6至图7C所示,编码的第一数据EDATA1和编码的第二数据EDATA2可以包括ECC奇偶校验位ECC PARITY[61位]。因此,在步骤S802中,通过ECC单元138,控制器130可以对编码的第一数据EDATA1执行ECC解码以产生解码的第一数据ODATA1,并且对编码的第二数据EDATA2执行ECC解码以产生解码的第二数据ODATA2。
在本文中,如上所述的图6至图7C所示,解码的第一数据ODATA1和解码的第二数据ODATA2可以包括第一标志位INVERSION FLAG1[1位]和第二标志位INVERSION FLAG2[1位]。因此,在步骤S803中,控制器130可以检查解码的第一数据ODATA1是否处于反转状态,并且当结果是解码的第一数据ODATA1处于反转状态时,控制器130可以再次反转解码的第一数据ODATA1并通过第一路径P1将其输出,并且当结果是解码的第一数据ODATA1不处于反转状态时,控制器130可以不反转解码的第一数据ODATA1并且通过操作管理器133通过第一路径P1将其原样输出。类似地,在步骤S803中,控制器130可以检查解码的第二数据ODATA2是否处于反转状态,并且当结果是解码的第二数据ODATA2处于反转状态时,控制器130可以再次反转解码的第二数据ODATA2并通过第二路径P2将其输出,并且当结果是解码的第二数据ODATA2不处于反转状态时,控制器130可以不反转解码的第二数据ODATA2并且通过操作管理器133通过第二路径P2将其原样输出。
当然,判定是否对其执行反转操作并且通过第一路径P1被输出的解码的第一数据ODATA1可以通过第一主机接口1322被输出到第一接口1ST_I/F并且被传送到主机102。类似地,判定是否对其执行反转操作并且通过第二路径P2被输出的解码的第二数据ODATA2可以通过第二主机接口1324被输出到第二接口2ND_I/F并且被传送到主机102。
图9至图17是示意性示出数据处理系统100的应用示例的图。
图9是示意性示出数据处理系统100的另一示例的图。图9示意性地示出应用了根据本实施例的存储器系统的存储卡系统。
参照图9,存储卡系统6100可以包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可以连接到由非易失性存储器实施的存储器装置6130,并且被配置为访问存储器装置6130。例如,控制器6120可以被配置为控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可以被配置为提供存储器装置6130和主机之间的接口并且驱动用于控制存储器装置6130的固件。即,存储器控制器6120可以对应于参照图1和图5描述的存储器系统110的控制器130,并且存储器装置6130可以对应于参照图1和图5描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可以包括RAM、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器130可以进一步包括图5所示的元件并且执行参照图5至图8描述的操作。
存储器控制器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可以包括图5的存储器装置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可以用作诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质,如参照图1描述的。存储器装置6230和存储器控制器6220可以对应于图1至图8的存储器系统110的存储器装置150和存储器控制器130。
存储器控制器6220可以响应于主机6210的请求来控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可以包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224和诸如NVM接口6225的存储器接口。
CPU 6221可以控制对存储器装置6230的整体操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可以根据CPU6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可以临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可以用于缓冲从主机6210传输到存储器装置6230或从存储器装置6230传输到主机6210的数据。当RAM6222用作高速缓冲存储器时,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码、涡轮码、里德-所罗门码、卷积码、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示意性地示出包括存储器系统110的SSD。
参照图11,SSD 6300可以包括控制器6320和包括多个非易失性存储器的存储器装置6340。存储器控制器6320可以对应于图1至图8的存储器系统110的控制器130,并且存储器装置6340可以对应于图1至图8的存储器系统110的存储器装置150。
更具体地,控制器6320可以通过多个通道CH1至CHi连接到存储器装置6340。控制器6320可以包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器NVM提供的数据,或临时存储多个闪速存储器NVM的元数据,例如包括映射表的映射数据。缓冲存储器6325可以由诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实施。为了便于描述,图10示出缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可以存在于控制器6320的外部。
ECC电路6322可以在编程操作期间计算待编程到存储器装置6340中的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并且在失败的数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可以利用例如主机6310的外部装置提供接口功能,非易失性存储器接口6326可以利用通过多个通道连接的存储器装置6340提供接口功能。
此外,应用了图1至图8的存储器系统110的多个SSD 6300可以被提供以实施例如RAID(独立磁盘的冗余阵列)系统的数据处理系统。此时,RAID系统可以包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可以根据多个RAID级别,即,从SSD 6300中的主机6310提供的写入命令的RAID级别信息来选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取命令时,RAID控制器可以根据多个RAID级别,即,从SSD 6300中的主机6310提供的读取命令的RAID级别信息来选择一个或多个存储器系统或SSD 6300,并且将从选择的SSD6300读取的数据提供给主机6310。
图12是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。图12示意性地示出包括存储器系统110的嵌入式多媒体卡(eMMC)。
参照图12,eMMC 6400可以包括控制器6430和由一个或多个NAND闪速存储器实施的存储器装置6440。存储器控制器6430可以对应于图1至图8的存储器系统110的控制器130,并且存储器装置6440可以对应于图1至图8的存储器系统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示意性地示出各自包括存储器系统110的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至图8的存储器系统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可以通过例如移动工业处理器接口(MIPI)中的MIPI M-PHY和MIPI统一协议(UniPro)的UFS接口来彼此通信。此外,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过除UFS协议之外的例如UFD、MMC、SD、迷你SD和微型SD的各种协议彼此通信。
在图13所示的UFS系统6500中,主机6510、UFS装置6520和UFS卡6530中的每一个可以包括UniPro。主机6510可以执行交换操作,以便与UFS装置6520和UFS卡6530通信。特别地,主机6510可以通过例如在UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。此时,UFS装置6520和UFS卡6530可以通过在主机6510的UniPro处的链路层交换来彼此通信。在本实施例中,为了便于描述,已经例示其中一个UFS装置6520和一个UFS卡6530连接到主机6510的配置。然而,多个UFS装置和UFS卡可以并行地或以星型形式连接到主机6410,并且多个UFS卡可以并行地或以星型形式连接到UFS装置6520或者串联地或以链型形式连接到UFS装置6520。
在图14所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可以包括UniPro,并且主机6610可以通过执行交换操作的交换模块6640,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6640与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可以通过在UniPro处的交换模块6640的链路层交换来彼此通信。在本实施例中,为了便于描述,已经例示一个UFS装置6620和一个UFS卡6630连接到交换模块6640的配置。然而,多个UFS装置和UFS卡可以并行地或以星型形式连接到交换模块6640,并且多个UFS卡可以串联地或以链型形式连接到UFS装置6620。
在图15所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可以包括UniPro,并且主机6710可以通过执行交换操作的交换模块6740,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6740与UFS装置6720或UFS卡6730通信。此时,UFS装置6720和UFS卡6730可以通过在UniPro处的交换模块6740的链路层交换来与彼此通信,并且交换模块6740可以在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在本实施例中,为了便于描述,已经例示一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,包括交换模块6740和UFS装置6720的多个模块可以并行地或以星型形式连接到主机6710或者串联地或以链型形式连接到彼此。此外,多个UFS卡可以并行地或以星型形式连接到UFS装置6720。
在图16所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可以包括M-PHY和UniPro。UFS装置6820可以执行交换操作,以便与主机6810和UFS卡6830通信。特别地,UFS装置6820可以通过用于与主机6810通信的M-PHY和UniPro模块之间的交换操作并且通过用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标ID(识别器)交换操作来与主机6810或UFS卡6830通信。此时,主机6810和UFS卡6830可以通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来与彼此通信。在本实施例中,为了便于描述,已经例示其中一个UFS装置6820连接到主机6810和一个UFS卡6830连接到UFS装置6820的配置。然而,多个UFS装置可以并行地或以星型形式连接到主机6810,或串联地或以链型形式连接到主机6810,并且多个UFS卡可以并行地或以星型形式连接到UFS装置6820,或者串联地或以链型形式连接到UFS装置6820。
图17是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。图17是示意性地示出包括存储器系统110的用户系统的图。
参照图17,用户系统6900可以包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可以驱动包括在例如OS的用户系统6900中的部件,并且包括用于控制包括在用户系统6900中的部件的控制器、接口、图形引擎等。应用处理器6930可以被设置为片上系统(SoC)。
存储器模块6920可以用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。例如,应用处理器6930和存储器模块6920可以通过基于堆叠封装(POP)的来封装并安装。
网络模块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闪存和3维NAND闪存,并且被设置为诸如用户系统6900的存储卡和外部驱动器的可移除存储介质。存储模块6950可以对应于以上参照图1至图8描述的存储器系统110。此外,存储模块6950可以利用以上参照图11至图16描述的SSD、eMMC和UFS来实施。
用户接口6910可以包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和马达的用户输出接口。
此外,当其中图1至图8的存储器系统110被应用于用户系统6900的移动电子装置时,应用处理器6930可以控制移动电子装置的整体操作,并且网络模块6940可以用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可以在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据,或支持从触摸面板接收数据的功能。
根据本发明的实施例,存储器系统可以包括用于将向/从非易失性存储器装置输入/输出的数据输入/输出到主机的第一接口和第二接口。非易失性存储器装置的部分可以使用第一接口来控制待向/从主机输入/输出的数据,并且非易失性存储器装置的另一部分可以使用第二接口来控制待向/从主机输入/输出的数据。以该方式,可能同时将一个非易失性存储器装置用于两个使用目的。
并且,当数据在非易失性存储器装置的部分中被编程时,数据的值被检测并且然后数据的值可以基于检测结果被选择性地反转并被编程。当数据在非易失性存储器装置的另一部分中被编程时,该部分的状态被检测并且然后数据的值可以基于状态检测结果被选择性地反转并被编程。以该方式,可能减少用于将数据存储在非易失性存储器装置中的功耗量,并且减少错误发生率。
另外,可以基于第一接口和第二接口被单独使用的程度来可变地应用由非易失性存储器装置的一部分占用的容量和由非易失性存储器装置的另一部分占用的容量。以该方式,可以延长非易失性存储器装置的使用寿命并且可以扩展非易失性存储器装置的使用。
虽然已经针对具体实施例描述本发明,但是对于本领域技术人员显而易见的是,在不脱离如权利要求中限定的本发明的精神和范围的情况下,可以进行各种改变和变型。

Claims (17)

1.一种存储器系统,其包括:
非易失性存储器装置,其包括第一存储区域和第二存储区域;以及
控制器,其包括用于在主机和所述非易失性存储器装置之间传送数据的第一接口和第二接口,并且适于通过所述第一接口在所述第一存储区域和所述主机之间传送第一数据,以及通过所述第二接口在所述第二存储区域和所述主机之间传送第二数据,
其中所述控制器通过根据所述第一数据的位值选择性地反转所述第一数据来将所述第一数据编程到所述第一存储区域中,以及
其中所述控制器通过根据所述第二数据被编程到其中的所述第二存储区域中的存储器单元的状态选择性地反转所述第二数据来将所述第二数据编程到所述第二存储区域中。
2.根据权利要求1所述的存储器系统,其中当具有第一值的位是所述第一数据中的多数时,所述控制器通过反转所述第一数据来将所述第一数据编程到所述第一存储区域中。
3.根据权利要求2所述的存储器系统,
其中所述控制器通过将第一标志位进一步添加到所述第一数据来将所述第一数据编程到所述第一存储区域中,以及
其中所述第一标志位表示所述第一数据的反转。
4.根据权利要求3所述的存储器系统,其中所述控制器通过根据添加到读取的第一数据的所述第一标志位选择性地反转所述读取的第一数据来从所述第一存储区域进一步读取存储的第一数据。
5.根据权利要求1所述的存储器系统,
其中所述控制器通过以下步骤来进一步检查所述第二存储区域中的所述存储器单元的状态:
在未反转所述第二数据的情况下将所述第二数据编程到所述第二存储区域中;
从所述第二存储区域读取存储的第二数据;以及
比较编程时的第二数据与读取的第二数据,以及
其中所述控制器根据编程时的第二数据和读取的第二数据之间的不同位的数量来进一步判定是否反转所述第二数据。
6.根据权利要求5所述的存储器系统,其中当所述不同位的数量等于或小于预定阈值时,所述控制器结束所述第二数据的编程。
7.根据权利要求5所述的存储器系统,其中当所述不同位的数量超过预定阈值时,所述控制器通过反转所述第二数据来将所述第二数据编程到所述第二存储区域中。
8.根据权利要求7所述的存储器系统,
其中所述控制器从所述第二存储区域进一步读取反转并存储的所述第二数据,并且进一步比较编程时反转的第二数据与读取的反转的第二数据,以及
其中当所述编程时反转的第二数据与所述读取的反转的第二数据之间的不同位的数量等于或小于所述预定阈值时,所述控制器判定所述反转的第二数据的编程是成功的。
9.根据权利要求7所述的存储器系统,
其中所述控制器通过将第二标志位进一步添加到所述第二数据来将所述第二数据编程到所述第二存储区域中,以及
其中所述第二标志位表示所述第二数据的反转。
10.根据权利要求9所述的存储器系统,其中所述控制器通过根据添加到所述读取的第二数据的所述第二标志位选择性地反转所述读取的第二数据从所述第二存储区域进一步读取所述存储的第二数据。
11.根据权利要求1所述的存储器系统,其中所述控制器在预定的周期处或在预定事件的发生处进一步检查所述第一存储区域的状态,并且基于对所述第一存储区域的状态的检查结果进一步可变地改变所述第一存储区域的存储容量和所述第二存储区域的存储容量。
12.根据权利要求11所述的存储器系统,
其中所述第一存储区域和所述第二存储区域中的每一个包括多个存储段,
其中所述控制器将所述第一存储区域的一个或多个降级的存储段分配为所述第二存储区域,以及
其中所述降级的存储段是指从其中读取的数据具有比阈值数量的错误更多数量的错误的存储段。
13.根据权利要求12所述的存储器系统,
其中所述控制器将所述第二存储区域的一个或多个改进的存储段分配为所述第一存储区域,以及
其中所述改进的存储段是指从其中读取的数据具有比阈值数量的错误更少数量的错误的存储段。
14.根据权利要求1所述的存储器系统,其中所述控制器包括:
时钟发生器,其适于产生具有相对较高频率的第一时钟和具有相对较低频率的第二时钟;以及
传送器,其适于通过响应于所述第一时钟操作的所述第一接口向/从所述主机输入/输出所述第一存储区域的输入/输出数据,并且通过响应于所述第二时钟操作的所述第二接口向/从所述主机输入/输出所述第二存储区域的输入/输出数据。
15.根据权利要求1所述的存储器系统,
其中所述第一存储区域是所述主机的主存储器,以及
其中所述第二存储区域是所述主机的存储器。
16.根据权利要求14所述的存储器系统,其中所述第一接口是双列直插式存储器模块接口即DIMM接口和高速外围组件互连接口即PCI-e接口中的一个,以及
所述第二接口是双列直插式存储器模块接口即DIMM接口和高速外围组件互连接口即PCI-e接口中的一个。
17.根据权利要求1所述的存储器系统,其中所述非易失性存储器装置是从包括闪速存储器、相变随机存取存储器即PCRAM、电阻式随机存取存储器即RRAM、铁电随机存取存储器即FRAM,和自旋转移力矩随机存取存储器即STT-MRAM的组中选择的一个存储器。
CN201711012507.9A 2017-01-23 2017-10-26 存储器系统 Active CN108345550B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170010495A KR20180087496A (ko) 2017-01-23 2017-01-23 메모리 시스템
KR10-2017-0010495 2017-01-23

Publications (2)

Publication Number Publication Date
CN108345550A true CN108345550A (zh) 2018-07-31
CN108345550B CN108345550B (zh) 2023-06-20

Family

ID=62906431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711012507.9A Active CN108345550B (zh) 2017-01-23 2017-10-26 存储器系统

Country Status (3)

Country Link
US (1) US10635333B2 (zh)
KR (1) KR20180087496A (zh)
CN (1) CN108345550B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614265A (zh) * 2018-11-05 2019-04-12 北京原子机器人科技有限公司 智能惯导传感系统的双备份系统及其配置启动方法
CN111290970A (zh) * 2018-12-06 2020-06-16 爱思开海力士有限公司 存储器系统及其操作方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102593541B1 (ko) * 2018-11-29 2023-10-25 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR102076624B1 (ko) * 2018-12-06 2020-02-12 한국외국어대학교 연구산학협력단 플래시 메모리 기반의 저장 시스템 및 이의 에러 보정 방법
US11055019B2 (en) * 2018-12-11 2021-07-06 SK Hynix Inc. Storage device and method of operating the same
KR20200126178A (ko) 2019-04-29 2020-11-06 삼성전자주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작 방법
FR3100369B1 (fr) * 2019-08-29 2022-03-04 Commissariat Energie Atomique Procédé d’inversion sélective de mots à écrire dans une mémoire et dispositif pour sa mise en œuvre
KR102663497B1 (ko) 2020-06-23 2024-05-03 삼성전자주식회사 저항성 메모리 셀을 포함하는 메모리 장치 및 상기 메모리 장치를 포함하는 전자 장치
US11509333B2 (en) * 2020-09-25 2022-11-22 Advanced Micro Devices, Inc. Masked fault detection for reliable low voltage cache operation
TWI751904B (zh) * 2021-02-04 2022-01-01 群聯電子股份有限公司 編碼控制方法、記憶體儲存裝置及記憶體控制電路單元
TWI764790B (zh) * 2021-07-23 2022-05-11 大陸商珠海南北極科技有限公司 記憶體位元級的修復方法

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1577608A (zh) * 2003-07-03 2005-02-09 三星电子株式会社 采用数据反向的存储系统和存储系统的数据反向方法
US20090100315A1 (en) * 2007-10-15 2009-04-16 Joseph Schweiray Lee Methods and apparatus for providing error correction to unwritten pages and for identifying unwritten pages in flash memory
CN101567938A (zh) * 2008-04-23 2009-10-28 索尼株式会社 信息处理设备和信号传输方法
CN101763245A (zh) * 2008-12-23 2010-06-30 国际商业机器公司 用于对直接存储器存取引擎进行编程的方法和装置
US20100287427A1 (en) * 2007-12-27 2010-11-11 Bumsoo Kim Flash Memory Device and Flash Memory Programming Method Equalizing Wear-Level
CN101983378A (zh) * 2008-04-07 2011-03-02 美光科技公司 固态存储器装置中的模拟读取与写入路径
CN102103566A (zh) * 2009-12-18 2011-06-22 Nxp股份有限公司 闪存存储器接口
CN102511038A (zh) * 2009-09-25 2012-06-20 株式会社东芝 存储器系统
CN103136743A (zh) * 2011-11-23 2013-06-05 Lg伊诺特有限公司 立体匹配系统中的预处理装置
CN103631670A (zh) * 2012-08-22 2014-03-12 群联电子股份有限公司 存储器储存装置、存储器控制器与数据处理方法
CN103714856A (zh) * 2012-10-05 2014-04-09 三星电子株式会社 存储器系统及其读取回收方法
CN103971739A (zh) * 2013-02-04 2014-08-06 三星电子株式会社 包括非易失性存储设备的存储系统及其编程方法
CN105718212A (zh) * 2014-12-18 2016-06-29 爱思开海力士有限公司 数据储存装置及其操作方法
CN105931673A (zh) * 2015-02-27 2016-09-07 爱思开海力士有限公司 数据储存器件及其操作方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785835B2 (en) * 2000-01-25 2004-08-31 Hewlett-Packard Development Company, L.P. Raid memory
US7616133B2 (en) * 2008-01-16 2009-11-10 Micron Technology, Inc. Data bus inversion apparatus, systems, and methods
US7729166B2 (en) * 2008-07-02 2010-06-01 Mosaid Technologies Incorporated Multiple-bit per cell (MBC) non-volatile memory apparatus and system having polarity control and method of programming same
US8892828B2 (en) * 2011-11-18 2014-11-18 Micron Technology, Inc. Apparatuses and methods for storing validity masks and operating apparatuses
KR102168096B1 (ko) 2013-03-15 2020-10-20 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 데이터 쓰기 방법
US9887008B2 (en) 2014-03-10 2018-02-06 Futurewei Technologies, Inc. DDR4-SSD dual-port DIMM device
KR20160087224A (ko) * 2015-01-13 2016-07-21 삼성전자주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
KR20180021284A (ko) 2016-08-18 2018-03-02 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1577608A (zh) * 2003-07-03 2005-02-09 三星电子株式会社 采用数据反向的存储系统和存储系统的数据反向方法
US20090100315A1 (en) * 2007-10-15 2009-04-16 Joseph Schweiray Lee Methods and apparatus for providing error correction to unwritten pages and for identifying unwritten pages in flash memory
US20100287427A1 (en) * 2007-12-27 2010-11-11 Bumsoo Kim Flash Memory Device and Flash Memory Programming Method Equalizing Wear-Level
CN101983378A (zh) * 2008-04-07 2011-03-02 美光科技公司 固态存储器装置中的模拟读取与写入路径
CN101567938A (zh) * 2008-04-23 2009-10-28 索尼株式会社 信息处理设备和信号传输方法
CN101763245A (zh) * 2008-12-23 2010-06-30 国际商业机器公司 用于对直接存储器存取引擎进行编程的方法和装置
CN102511038A (zh) * 2009-09-25 2012-06-20 株式会社东芝 存储器系统
CN102103566A (zh) * 2009-12-18 2011-06-22 Nxp股份有限公司 闪存存储器接口
CN103136743A (zh) * 2011-11-23 2013-06-05 Lg伊诺特有限公司 立体匹配系统中的预处理装置
CN103631670A (zh) * 2012-08-22 2014-03-12 群联电子股份有限公司 存储器储存装置、存储器控制器与数据处理方法
CN103714856A (zh) * 2012-10-05 2014-04-09 三星电子株式会社 存储器系统及其读取回收方法
CN103971739A (zh) * 2013-02-04 2014-08-06 三星电子株式会社 包括非易失性存储设备的存储系统及其编程方法
CN105718212A (zh) * 2014-12-18 2016-06-29 爱思开海力士有限公司 数据储存装置及其操作方法
CN105931673A (zh) * 2015-02-27 2016-09-07 爱思开海力士有限公司 数据储存器件及其操作方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614265A (zh) * 2018-11-05 2019-04-12 北京原子机器人科技有限公司 智能惯导传感系统的双备份系统及其配置启动方法
CN109614265B (zh) * 2018-11-05 2024-03-29 北京原子机器人科技有限公司 智能惯导传感系统的双备份系统及其配置启动方法
CN111290970A (zh) * 2018-12-06 2020-06-16 爱思开海力士有限公司 存储器系统及其操作方法
CN111290970B (zh) * 2018-12-06 2023-04-07 爱思开海力士有限公司 存储器系统及其操作方法

Also Published As

Publication number Publication date
US20180210669A1 (en) 2018-07-26
CN108345550B (zh) 2023-06-20
KR20180087496A (ko) 2018-08-02
US10635333B2 (en) 2020-04-28

Similar Documents

Publication Publication Date Title
CN108345550A (zh) 存储器系统
CN110399311A (zh) 存储器系统及该存储器系统的操作方法
CN108255739A (zh) 存储器系统及其操作方法
CN108572927A (zh) 存储器系统及其操作方法
CN108304141A (zh) 存储器系统及其操作方法
CN107766257A (zh) 存储器系统及其操作方法
CN108694138B (zh) 控制器及其操作方法
CN109388594A (zh) 存储器系统及其操作方法
CN109947358A (zh) 存储器系统及其操作方法
CN107818057A (zh) 存储器系统及其操作方法
CN108388525A (zh) 存储器系统及其操作方法
CN109521947A (zh) 存储器系统以及存储器系统的操作方法
CN108389602B (zh) 存储器系统及其操作方法
CN108268212A (zh) 控制器及操作方法
CN108694970B (zh) 控制器及其操作方法
CN110473582A (zh) 存储器系统及其操作方法
CN110058797A (zh) 存储器系统及其操作方法
CN108108308A (zh) 存储器系统及其操作方法
CN108932203A (zh) 数据处理系统和数据处理方法
CN110362270A (zh) 存储器系统及其操作方法
CN108257637A (zh) 存储器系统及其操作方法
CN110531922A (zh) 存储器系统、控制器及其操作方法
CN110532194B (zh) 存储器系统及其操作方法
CN108447513A (zh) 存储器系统及其操作方法
CN110322920A (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