CN108363547A - 控制器及其操作方法 - Google Patents
控制器及其操作方法 Download PDFInfo
- Publication number
- CN108363547A CN108363547A CN201711167856.8A CN201711167856A CN108363547A CN 108363547 A CN108363547 A CN 108363547A CN 201711167856 A CN201711167856 A CN 201711167856A CN 108363547 A CN108363547 A CN 108363547A
- Authority
- CN
- China
- Prior art keywords
- data
- area
- host
- memory
- stored
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- 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/1044—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 with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种控制器,所述控制器包括处理器,其适于当从主机接收命令时,确定是否将对应于来自主机的命令的更多数据存储到主机的主存储器中的第一区域中,当第一区域被确定为存储对应于命令的更多数据时,请求主机将对应于命令的更多数据存储到主存储器的第一区域中;以及错误校正码单元,其适于响应于存储请求对存储在第一区域中的更多数据进行编码。该处理器可控制存储器装置以存储已编码数据。
Description
相关申请的交叉引用
本申请要求于2017年1月26日提交的申请号为10-2017-012933的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本发明的各个示例性实施例涉及一种控制器,且更特别地,涉及一种能够处理来往于存储器装置的数据的控制器及其操作方法。
背景技术
计算机环境范例已经变为可在任何时间和任何地点使用的普适计算系统。由于此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经迅速增长。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器或辅助存储器。
因为存储器系统没有移动部件,所以它们提供优良的稳定性、耐用性、高的信息存取速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本发明的各个实施例涉及一种控制器,以及采用该控制器的存储器系统,其能够改进数据处理。控制器和存储器系统可更迅速地处理去往存储器装置的数据。
根据本发明的实施例,用于存储器系统的控制器可包括:处理器,其适于当从主机接收命令时,确定是否将对应于从主机接收到的命令的更多数据存储到主机的主存储器中的第一区域中,当第一区域被确定为存储对应于命令的更多数据时,请求主机将对应于命令的更多数据存储到主存储器的第一区域中;以及错误校正码单元,其适于响应于存储请求对存储在第一区域中的更多数据进行编码。处理器可控制联接到控制器的存储器装置来存储已编码数据。
第一区域可以是主机的主存储器的一部分,主机响应于存储请求将对应于命令的更多数据存储在第一区域中。
当存储在第一区域中的数据中存在无效数据时,处理器可确定将更多数据存储到主机的主存储器中的第一区域中。
当对应于命令的更多数据被存储在主存储器的第一区域中,然后又被存储在存储器装置中时,存储在主存储器的第一区域中的更多数据可变为无效数据。
当处理器确定不将更多数据存储到主存储器中的第一区域时,处理器可进一步请求主机增加主存储器的第一区域的存储容量。
当主机增加主存储器的第一区域的存储容量时,处理器可请求主机通过第一区域增加的存储容量存储对应于命令的数据。
处理器可进一步为存储在存储器装置中的已编码数据生成元数据。处理器可进一步请求主机将元数据存储到主存储器的第二区域中。
第二区域可以是主存储器的一部分,主机响应于存储请求将元数据存储在第二区域中。
当存储在第一区域中的对应于命令的数据的大小小于预定大小时,在对存储在第一区域中的数据进行编码之前,错误校正码单元可将虚拟数据增加到存储在第一区域中的对应于命令的数据中。
控制器可进一步包括存储器。当处理器确定不将数据存储到主存储器中的第一区域中时,处理器可进一步将对应于命令的数据存储到存储器中。错误校正码单元可进一步对存储在存储器中的对应于命令的数据进行编码。
根据本发明的实施例,一种包括处理器和错误校正码单元的控制器的操作方法可包括:当处理器从主机接收命令时,由处理器确定是否将对应于从主机接收的命令的更多数据存储到主机的主存储器的第一区域中;当主存储器的第一区域被确定为存储对应于接收到的命令的更多数据时,由处理器请求主机将对应于接收到的命令的更多数据存储到主存储器的第一区域中;由错误校正码单元响应于存储请求对存储在第一区域中的数据进行编码;以及由处理器控制存储器装置存储已编码数据。
第一区域可以是主存储器的一部分,主机响应于存储请求将对应于命令的更多数据存储在第一区域中。
当存储在第一区域中的数据中存在无效数据时,可通过确定将对应于接收到的命令的更多数据存储在主机的主存储器中的第一区域中来执行该确定。
当对应于命令的更多数据被存储在主存储器的第一区域中,然后又被存储在存储器装置中时,存储在主存储器的第一区域中的更多数据可变为无效数据。
方法可进一步包括:当处理器确定不将对应于接收到的命令的更多数据存储到主存储器中的第一区域中时,由处理器请求主机增加主存储器的第一区域的存储容量。
当通过主机增加主存储器的第一区域的存储容量时,可执行处理器的请求以通过第一区域增加的存储容量来存储对应于命令的数据。
方法可进一步包括:由处理器生成存储在存储器装置中的已编码数据的元数据,以及由处理器请求主机将元数据存储到主存储器的第二区域中。
第二区域可以是主存储器的一部分,主机响应于存储请求将元数据存储在第二区域中。
当待存储在第一区域中的命令的更多数据的大小小于预定大小时,通过错误校正码单元进行的编码可包括:在对存储在第一区域中的更多数据进行编码之前,将虚拟数据增加到存储在第一区域中的对应于命令的数据中。
方法可进一步包括:当处理器确定不将更多数据存储到主存储器的第一区域中时,由处理器将对应于命令的数据存储到存储器中,并且通过错误校正码单元对存储在主存储器中的对应于命令的更多数据进行编码。
根据本发明的实施例,控制器可以存储器系统的最小的复杂性和性能劣化并以存储器装置的最大化的使用效率迅速且稳定地处理去往存储器装置的数据。
附图说明
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是示出图1所示的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2所示的存储器装置的示例性三维结构的示意图。
图5是示意性示出图1所示的数据处理系统的图。
图6是示出根据本发明的实施例的存储器系统的操作的流程图。
图7至图15是示意性示出根据本发明的各个实施例的图1的数据处理系统的应用示例的图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,注意到的是,本发明可以不同的其它实施例、形式以及变型实施,且不应被解释为限于本文所阐述的实施例。相反,提供所描述的实施例使得本公开将更完整和全面并将本发明充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,比例可能已经被夸大以便清楚地示出实施例的各个特征。
将进一步理解的是,当元件被称为“连接到”或“联接到”另一元件时,其可直接在其它元件上、连接到或联接到其它元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或增加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。
可在没有一些或全部这些具体细节的情况下实践本发明。在其它情况下,为了不使本发明被不必要地模糊,未详细地描述公知的进程结构和/或进程。
还应注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
在下文中,将参照附图详细描述本发明的各个实施例。
图1是示出根据本发明的实施例的包括有存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括主机102和存储器系统110。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式电脑、游戏机、TV和投影仪的非便携式电子装置。
存储器系统110可响应于主机102的请求来操作以存储主机102的数据。存储器系统110的非限制性示例可包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)和微型MMC,SD卡可包括迷你-SD卡和微型-SD卡。
存储器系统110可由各种类型的存储装置实施。包含在存储器系统110中的非限制性存储装置的示例可包括诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器的非易失性存储器装置。闪速存储器可具有三维(3D)堆叠结构。
存储器系统110可包括存储器装置150和控制器130。存储器装置150可存储主机120的数据,并且控制器130可控制数据在存储器装置150中的存储。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可包括在如上所例示的各种类型的存储器系统中。
存储器系统110的非限制性应用示例可包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、无线射频识别(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)以及移动产业处理器接口(MIPI)。
ECC单元138可检测并校正包括在从存储器装置150读取的数据中的错误。换言之,ECC单元138可通过在ECC编码进程期间使用的ECC代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC单元138可输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ECC单元138可不校正错误位,并且可输出错误校正失败信号。
ECC单元138可通过诸如以下的编码调制执行错误校正:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、Turbo码、里德-所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)。然而,ECC单元138不限于此。ECC单元138可包括用于错误校正的所有电路、模块、系统或装置。
PMU 140可提供和管理控制器130的电力。
存储器装置控制器142可用作连接控制器130和存储器装置150的存储器接口/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,存储器装置控制器142可以是NFC,并且在处理器134的控制下,NFC可生成用于存储器装置150的控制信号并处理将被提供给存储器装置150的数据。存储器装置控制器142可用作处理控制器130和存储器装置150之间的命令和数据的接口,例如,NAND闪存接口。具体地,存储器装置控制器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位数据的MLC也称为三层单元(TLC),存储4位数据的MLC也称为四层单元(QLC)。
图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闪速存储器单元或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。另外,应注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或包括作为电荷存储层的绝缘层的电荷捕获闪存(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是示意性示出根据本发明的实施例的数据处理系统100的更多元件的图。
如上所述,数据处理系统100可包括主机102和存储器系统110,并且存储器系统110可包括控制器130和存储器装置150。
主机102可包括系统存储器500和主存储器510。系统存储器500可存储主机102的系统数据(例如,关于文件系统或操作系统的数据)和编程信息。主存储器510可将对应于命令的数据存储到存储器系统110。根据存储器系统110的请求,主存储器510的一部分可被设置为统一存储器(UM)区域512。主机102可响应于来自存储器系统110的请求将数据写入UM区域512并从UM区域512读取数据。
控制器130的处理器134可处理从主机102接收到的命令。在处理接收到的命令时,处理器134可使用控制器130的存储器144。控制器130的处理器134还可通过使用主机102的UM区域512来处理来自主机102的命令。换言之,当处理器134处理从主机102接收的命令时,处理器134可通过将对应于接收到的命令的数据存储到控制器130的存储器144中或主机102的UM区域512中来处理从主机102接收到的命令。例如,接收到的命令可以是读取命令或写入命令。
当控制器130从主机102接收命令时,处理器134可根据控制器130的预定标准通过选择控制器130的存储器144和主机102的UM区域512中的一个来处理接收到的命令。
预定标准可以是UM区域512是否具有存储更多数据的存储容量。例如,当存储在UM区域512的第一缓冲器513中的数据段514中存在无效数据段时,处理器134可确定UM区域512具有存储更多数据的存储容量,并且因此可通过使用UM区域512处理来自主机102的命令。换言之,处理器134可擦除存储在主机102的UM区域512的第一缓冲器513中的无效数据段,然后可通过使用UM区域512来处理来自主机102的命令。
例如,当处理器134通过使用主机102的UM区域512来处理从主机102接收到的写入命令时,处理器134可将对应于写入命令的用户数据存储到主机102的UM区域512中的第一缓冲器513中,然后可通过ECC单元138对存储在第一缓冲器513中的数据段514进行编码,然后可将已编码数据存储到存储器装置150的存储块552、554、562和564的页面中。在处理器134将已编码数据段514(即,对应于写入命令的用户数据)写入存储块552、554、562和564的页面之后,处理器134可生成或更新存储在存储块552、554、562和564中的用户数据的元数据,然后将生成或更新的用户数据的元数据存储在主机102的UM区域512中的第二缓冲器515中。换言之,处理器134可将元数据的元段516存储在主机102的UM区域512中的第二缓冲器515中。处理器134可将数据段514写入到在存储块552、554、562和564中执行了擦除操作的开放存储块或空闲存储块中。
元数据可包括第一映射数据和第二映射数据。第一映射数据可包括存储在存储块中的数据的逻辑到物理(L2P)信息。第二映射数据可包括存储在存储块中的数据的物理到逻辑(P2L)信息。元数据可进一步包括对应于从主机102提供的命令的数据的信息、对应于命令的命令操作的信息、执行命令操作的存储器装置150的存储块的信息以及对应于命令操作的映射数据的信息。换言之,元数据可包括除对应于从主机102提供的命令的用户数据以外的基本上所有的信息。
为了使处理器134将对应于写入命令的用户数据存储到第一缓冲器513中,处理器134可请求主机102将用户数据写入UM区域512,并且主机102可响应于来自处理器134的对用户数据的请求而将用户数据存储到第一缓冲器513中。为了使处理器134将第一映射数据和第二映射数据存储到第二缓冲器515中,处理器134可请求主机102将第一映射数据和第二映射数据写入UM区域512,并且主机102可响应于来自处理器134的对第一映射数据和第二映射数据的请求而将第一映射数据和第二映射数据存储到第二缓冲器515中。换言之,为了使处理器134将数据存储到UM区域512中,处理器134可请求主机102将数据写入UM区域512,并且主机102可响应于来自处理器134的对数据的请求而将数据存储到UM区域512中。
为了使处理器134从第一缓冲器513读取用户数据,处理器134可请求主机102从UM区域512读取用户数据,并且主机102可响应于来自处理器134的对用户数据的请求而从第一缓冲器513读取用户数据。为了使处理器134从第二缓冲器515读取第一映射数据和第二映射数据,处理器134可请求主机102从UM区域512读取第一映射数据和第二映射数据,并且主机102可响应于来自处理器134的对第一映射数据和第二映射数据的请求而从第二缓冲器515读取第一映射数据和第二映射数据。换言之,为了使处理器134从UM区域512读取数据,处理器134可请求主机102从UM区域512读取数据,并且主机102可响应于来自处理器134的对数据的请求而从UM区域512读取数据。
当处理器134通过使用主机102的UM区域512来处理写入命令时,处理器134可将对应于从主机102提供的第一写入命令的用户数据存储到主机102的UM区域512中的第一缓冲器513中,可将对应于从主机102提供的第二写入命令的用户数据存储到控制器130的存储器144中的第一缓冲器520中,可通过ECC单元138对存储在UM区域512的第一缓冲器513中的数据段514和存储在存储器144的第一缓冲器520中的数据段522进行编码,然后可将已编码数据存储在存储器装置150中的存储块552、544、562和564的页面中。
当处理器134通过使用主机102的UM区域512来处理写入命令时,处理器134可将对应于从主机102提供的第一写入命令的用户数据存储到主机102的UM区域512中的第一缓冲器513中,当数据段514的大小小于预定大小(例如,适于单次编程的大小)时,可将虚拟数据(例如,NULL数据)增加到存储在第一缓冲器513中的数据段514中,可通过ECC单元138对存储在UM区域512的第一缓冲器513中的虚拟增加数据段514进行编码,然后可将已编码数据存储在存储器装置150中的存储块552、544、562和564的页面中。
当主机102的UM区域512不能存储更多数据时,例如,当存储在主机102中的UM区域512的第一缓冲器513中的数据段514中不存在无效段时,处理器134可请求主机102增加UM区域512的存储容量。当主机102响应于从处理器134提供的对UM区域512的存储容量的请求而增加UM区域512的存储容量时,处理器134可通过使用UM区域512的增加的存储容量来处理来自主机102的命令。换言之,处理器134可通过增加主机102的UM区域512的存储容量来处理来自主机102的命令。
例如,当处理器134通过使用控制器102的存储器512来处理写入命令时,处理器134可将对应于从主机102提供的写入命令的用户数据存储到控制器130的存储器144中的第一缓冲器520中,可通过ECC单元138对存储在存储器144的第一缓冲器520中的数据段522进行编码,然后可将已编码数据存储在存储器装置150中的存储块552、554、562和564的页面中。当对应于写入命令的用户数据的数据段522被写入到存储块552、554、562和564的页面中,处理器134可生成或更新用户数据的元数据,并且可将生成或更新的元数据存储到控制器130的存储器144中的第二缓冲器530中。换言之,处理器134可将元数据的元段532存储到存储器144的第二缓冲器530中。
图6是示出根据本发明的实施例的存储器系统110的操作的流程图。
当在步骤S521中控制器130从主机102接收命令时,在步骤S522中控制器130的处理器134可确定UM区域512是否具有用于存储更多数据的存储容量。
例如,处理器134可根据预定标准来确定是否使用UM区域512来处理所提供的命令。例如,当存储在UM区域512的第一缓冲器513中的数据段514中存在无效数据段时,处理器134可确定通过使用UM区域512来处理所提供的命令。
作为步骤S522的结果,当处理器134确定通过使用UM区域512来处理所提供的命令时,在步骤S523中处理器134可通过使用UM区域512来处理所提供的命令。
具体地说,当处理器134通过使用主机102的UM区域512处理命令,例如处理从主机102提供的写入命令时,处理器134可将对应于写入命令的用户数据存储到主机102的UM区域512中的第一缓冲器513中,然后可通过ECC单元138对存储在第一缓冲器513中的数据段514进行编码,然后可将已编码数据存储到存储器装置150的存储块552、554、562和564的页面中。当存储在第一缓冲器513中的数据段514被写入到存储块552、554、562和564的页面中时,存储在第一缓冲器513中的数据段514变为无效数据段,并且存储在存储块552、554、562和564的页面中的数据段514变为有效数据段。当对应于写入命令的用户数据的数据段514被写入到存储块552、554、562和564的页面中,处理器134可生成或更新存储在存储块552、554、562和564中的用户数据的元数据,并且然后将生成或更新的用户数据的元数据存储到主机102的UM区域512中的第二缓冲器515中。
作为步骤S522的结果,当由于UM区域512被确定为不具有用于存储更多数据的足够的存储容量,处理器134确定不通过使用UM区域512来处理所提供的命令时,在步骤S524中处理器134可通过使用控制器130的存储器144来处理所提供的命令。
具体地说,处理器134可将对应于例如从主机102提供的写入命令的命令的用户数据存储到控制器130的存储器144中的第一缓冲器520中,可通过ECC单元138对存储在存储器144的第一缓冲器520中的数据段522进行编码,然后可将已编码数据存储在存储器装置150中的存储块552、544、562和564的页面中。当对应于写入命令的数据段522被写入到存储块552、554、562和564的页面中时,存储在第一缓冲器520中的数据段522可变为无效数据段,并且存储在存储块552、554、562和564的页面中的数据段522可变为有效数据段。当对应于写入命令的用户数据的数据段522被写入到存储块552、554、562和564的页面中,处理器134可生成或更新用户数据的元数据,并且可将生成或更新的元数据存储到控制器130的存储器144中的第二缓冲器530中。
如上所述,根据本发明的实施例,存储器系统110可通过主机102的UM区域512通过处理对应于命令的数据,减少将对应于从主机102接收到的命令的数据存储到存储器位置所需的时间。因此,根据本发明的实施例,存储器系统110可更迅速地即以比现有的存储器系统更短的时间处理从主机102接收到的命令。
进一步地,如上所述,根据本发明的实施例,存储器系统110可通过根据用于存储对应于从主机102接收到的命令的数据的预定标准来选择控制器130的存储器144和主机102的UM区域512中的一个来处理来自主机102的命令。因此,根据本发明的实施例,存储器系统110可更迅速地处理来自主机102的命令。
进一步地,如上所述,根据本发明的实施例,存储器系统110可使用主机102的主存储器用于存储器系统110本身。因此,可提高存储器系统110的性能。
图7至图15是示意性示出根据各个实施例的图1至图6的数据处理系统的应用示例的图。
图7是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。图7示意性示出了应用根据本实施例的存储器系统的存储卡系统。
参照图7,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接到通过非易失性存储器实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口并驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1至图6描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1至图6描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器130可进一步包括图1和图6所述的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如下列的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WI-FI以及蓝牙。因此,根据本实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,或者特别是移动电子装置。
存储器装置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)。
图8是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。
参照图8,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图8所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(CF、SD、微型-SD等)或USB装置的存储介质。存储器装置6230可对应于图1至图6所述的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1至图6所述的存储器系统110中的控制器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用作缓冲存储器时,RAM6222可用于缓冲从主机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被配置成通过各种通信协议中的一种或多种与外部装置进行通信,因此根据本实施例的存储器系统和数据处理系统可应用于有线/无线电子装置或特别是移动电子装置。
图9是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。图9示意性示出应用根据本实施例的存储器系统的SSD。
参照图9,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1和图6的存储器系统110中的控制器130,并且存储器装置6340可对应于图1和图6的存储器系统中的存储器装置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的非易失性存储器来实施。为便于描述,图9示出缓冲存储器6325存在于控制器6320内部。然而,缓冲存储器6325可存在于控制器6320外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用了图1和图6的存储器系统110的多个SSD 6300来实施数据处理系统,例如,RAID(独立磁盘冗余阵列)系统。此时,RAID系统可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到所选择的SSD6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图10是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的简图。图10示意性示出应用根据实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图10,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1和图6的存储器系统110中的控制器130,并且存储器装置6440可对应于图1和图6的存储器系统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)接口。
图11至图14是示意性示出包括根据实施例的存储器系统的数据处理系统的其它示例的图。图11至图14示意性示出应用根据实施例的存储器系统的UFS(通用闪存)系统。
参照图11至图14,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和图6所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以参照图8至图10描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图7描述的存储卡系统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彼此通信。
在图11所示的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卡可并联或以星形形式连接到主机6510,并且多个UFS卡可并联或以星形形式连接到UFS装置6520,或者多个UFS卡可串联或以链的形式连接到UFS装置6520。
在图12所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过交换模块6640执行交换操作,例如,通过交换模块6640在UniPro处执行链路层交换,例如L3交换,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过UniPro处的交换模块6640的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6620和一个UFS卡6630连接到交换模块6640的配置。然而,多个UFS装置和多个UFS卡可并联或以星形形式连接到交换模块6640,并且多个UFS卡可串联或以链的形式连接到UFS装置6620。
在图13所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro,并且主机6710可通过交换模块6740执行交换操作,例如通过交换模块6740在UniPro处执行链路层交换,例如L3交换,与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。
在图14所示的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,或者多个UFS装置可串联或以链的形式连接到主机6810,并且多个UFS卡可并联或以星形形式连接到UFS装置6820,或者多个UFS卡可串联或以链的形式连接到UFS装置6820。
图15是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的简图。图15是示意性示出应用根据实施例的存储器系统的用户系统的图。
参照图15,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在用户系统6900中的诸如OS的组件,并且包括控制包括在用户系统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和图6描述的存储器系统110。此外,存储模块6950可被实施为如上参照图9至图14所述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机的用户输出接口。
此外,当图1和图6的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的操作,并且网络模块6940可作为用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据,或支持从触摸面板接收数据的功能。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (20)
1.一种控制器,其包括:
处理器,其适于:
当从主机接收命令时,确定是否将对应于从所述主机接收到的所述命令的更多数据存储到所述主机的主存储器中的第一区域中,
当所述第一区域被确定为存储对应于所述命令的所述更多数据时,请求所述主机将对应于所述命令的所述更多数据存储到所述主存储器的所述第一区域中;以及
错误校正码单元,其适于响应于存储请求对存储在所述第一区域中的所述更多数据进行编码,
其中,所述处理器控制存储器装置以存储已编码数据。
2.根据权利要求1所述的控制器,其中,所述第一区域为所述主机的所述主存储器的一部分,所述主机响应于所述存储请求将对应于所述命令的所述更多数据存储在所述第一区域中。
3.根据权利要求2所述的控制器,其中,当存储在所述第一区域中的数据中存在无效数据时,所述处理器确定将所述更多数据存储到所述主机的所述主存储器中的所述第一区域中。
4.根据权利要求3所述的控制器,其中,当对应于所述命令的所述更多数据被存储在所述主存储器的所述第一区域中,然后又被存储在所述存储器装置中时,存储在所述主存储器的所述第一区域中的所述更多数据变为无效数据。
5.根据权利要求2所述的控制器,其中,当所述处理器确定不将所述更多数据存储到所述主存储器中的所述第一区域时,所述处理器进一步请求所述主机增加所述主存储器的所述第一区域的存储容量。
6.根据权利要求5所述的控制器,其中,当所述主机增加所述主存储器的所述第一区域的存储容量时,所述处理器请求所述主机通过所述第一区域增加的存储容量来存储对应于所述命令的数据。
7.根据权利要求2所述的控制器,
其中,所述处理器进一步为存储在所述存储器装置中的所述已编码数据生成元数据,并且
其中,所述处理器进一步请求所述主机将所述元数据存储到所述主存储器的第二区域中。
8.根据权利要求7所述的控制器,其中,所述第二区域为所述主存储器的一部分,所述主机响应于所述存储请求将元数据存储在所述第二区域中。
9.根据权利要求2所述的控制器,其中,当存储在所述第一区域中的对应于所述命令的数据的大小小于预定大小时,在对存储在所述第一区域中的数据进行编码之前,所述错误校正码单元将虚拟数据增加到存储在所述第一区域中的对应于所述命令的数据中。
10.根据权利要求2所述的控制器,
其进一步包括存储器,
其中,当所述处理器确定不将数据存储到所述主存储器中的所述第一区域中时,所述处理器进一步将对应于所述命令的数据存储到所述存储器中,并且
其中,所述错误校正码单元进一步对存储在所述存储器中的对应于所述命令的数据进行编码。
11.一种控制器的操作方法,所述控制器包括处理器和错误校正码单元,所述方法包括:
当所述处理器从主机接收命令时,由所述处理器确定是否将对应于从所述主机接收到的所述命令的更多数据存储到所述主机的主存储器中的第一区域中;
当所述主存储器的所述第一区域被确定为存储对应于所述命令的所述更多数据时,由所述处理器请求所述主机将对应于所接收到的命令的所述更多数据存储到所述主存储器的所述第一区域中;
由所述错误校正码单元响应于存储请求对存储在所述第一区域中的数据进行编码;以及
由所述处理器控制存储器装置以存储已编码数据。
12.根据权利要求11所述的方法,其中,所述第一区域为所述主存储器的一部分,所述主机响应于所述存储请求将对应于所述命令的所述更多数据存储在所述第一区域中。
13.根据权利要求12所述的方法,其中,当存储在所述第一区域中的数据中存在无效数据时,通过确定将对应于所接收到的命令的所述更多数据存储在所述主机的所述主存储器中的所述第一区域中来执行所述确定。
14.根据权利要求13所述的方法,其中,当对应于所述命令的所述更多数据被存储在所述主存储器的所述第一区域中,然后又被存储在所述存储器装置中时,存储在所述主存储器的所述第一区域中的所述更多数据变为无效数据。
15.根据权利要求12所述的方法,其进一步包括:当所述处理器确定不将对应于所接收到的命令的所述更多数据存储到所述主存储器中的所述第一区域中时,由所述处理器请求所述主机增加所述主存储器的所述第一区域的存储容量。
16.根据权利要求15所述的方法,其中,当通过所述主机增加所述主存储器的所述第一区域的存储容量时,执行所述处理器的所述请求以通过所述第一区域的所述增加的存储容量来存储对应于所述命令的数据。
17.根据权利要求12所述的方法,进一步包括:
由所述处理器为存储在所述存储器装置中的所述已编码数据生成元数据;以及
由所述处理器请求所述主机将所述元数据存储到所述主存储器的第二区域中。
18.根据权利要求17所述的方法,其中,所述第二区域为所述主存储器的一部分,所述主机响应于所述存储请求将元数据存储在所述第二区域中。
19.根据权利要求12所述的方法,其中,当存储在所述第一区域中的对应于所述命令的更多数据的大小小于预定大小时,由所述错误校正码单元进行编码包括:在对存储在所述第一区域中的更多数据进行编码之前,将虚拟数据增加到存储在所述第一区域中的对应于所述命令的数据中。
20.根据权利要求12所述的方法,其进一步包括:
当处理器确定不将更多数据存储到主存储器中的第一区域中时,由所述处理器将对应于所述命令的数据存储到所述存储器中,以及
由所述错误校正码单元对存储在所述主存储器中的对应于所述命令的更多数据进行编码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0012933 | 2017-01-26 | ||
KR1020170012933A KR20180088180A (ko) | 2017-01-26 | 2017-01-26 | 컨트롤러 및 컨트롤러의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108363547A true CN108363547A (zh) | 2018-08-03 |
Family
ID=62907371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711167856.8A Pending CN108363547A (zh) | 2017-01-26 | 2017-11-21 | 控制器及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US20180212623A1 (zh) |
KR (1) | KR20180088180A (zh) |
CN (1) | CN108363547A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874191A (zh) * | 2018-08-31 | 2020-03-10 | 爱思开海力士有限公司 | 存储器系统及该存储器系统的操作方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI658364B (zh) * | 2018-03-20 | 2019-05-01 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
KR20210016938A (ko) * | 2019-08-06 | 2021-02-17 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그것의 동작방법 |
US12009842B2 (en) * | 2019-12-20 | 2024-06-11 | Intel Corporation | Error correcting code circuitry compatible with multi-width interfaces |
KR20220020008A (ko) * | 2020-08-11 | 2022-02-18 | 삼성전자주식회사 | 비휘발성 메모리를 포함하는 메모리 저장 장치 및 전자 장치 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07230410A (ja) * | 1994-02-17 | 1995-08-29 | Hitachi Ltd | メモリアクセス制御方式 |
CN101042674A (zh) * | 2006-03-07 | 2007-09-26 | 松下电器产业株式会社 | 非易失性存储装置及其数据写入方法 |
US20150242141A1 (en) * | 2014-02-25 | 2015-08-27 | Kabushiki Kaisha Toshiba | Memory device and data storing method |
US20160011790A1 (en) * | 2014-07-14 | 2016-01-14 | Sandisk Technologies Inc. | Systems and methods to enable access to a host memory associated with a unified memory architecture (uma) |
US20160026406A1 (en) * | 2014-06-05 | 2016-01-28 | Sandisk Technologies Inc. | Methods, systems, and computer readable media for providing flexible host memory buffer |
US20160041871A1 (en) * | 2014-08-08 | 2016-02-11 | Kabushiki Kaisha Toshiba | Information processing apparatus |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5836903B2 (ja) * | 2012-09-04 | 2015-12-24 | 株式会社東芝 | 情報処理装置 |
US20150261444A1 (en) * | 2014-03-12 | 2015-09-17 | Kabushiki Kaisha Toshiba | Memory system and information processing device |
US10467020B2 (en) * | 2016-02-26 | 2019-11-05 | Toshiba Memory Corporation | Memory device, and information-processing device |
-
2017
- 2017-01-26 KR KR1020170012933A patent/KR20180088180A/ko unknown
- 2017-08-28 US US15/687,631 patent/US20180212623A1/en not_active Abandoned
- 2017-11-21 CN CN201711167856.8A patent/CN108363547A/zh active Pending
-
2018
- 2018-11-29 US US16/204,738 patent/US20190140659A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07230410A (ja) * | 1994-02-17 | 1995-08-29 | Hitachi Ltd | メモリアクセス制御方式 |
CN101042674A (zh) * | 2006-03-07 | 2007-09-26 | 松下电器产业株式会社 | 非易失性存储装置及其数据写入方法 |
US20150242141A1 (en) * | 2014-02-25 | 2015-08-27 | Kabushiki Kaisha Toshiba | Memory device and data storing method |
US20160026406A1 (en) * | 2014-06-05 | 2016-01-28 | Sandisk Technologies Inc. | Methods, systems, and computer readable media for providing flexible host memory buffer |
US20160011790A1 (en) * | 2014-07-14 | 2016-01-14 | Sandisk Technologies Inc. | Systems and methods to enable access to a host memory associated with a unified memory architecture (uma) |
US20160041871A1 (en) * | 2014-08-08 | 2016-02-11 | Kabushiki Kaisha Toshiba | Information processing apparatus |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874191A (zh) * | 2018-08-31 | 2020-03-10 | 爱思开海力士有限公司 | 存储器系统及该存储器系统的操作方法 |
CN110874191B (zh) * | 2018-08-31 | 2023-08-04 | 爱思开海力士有限公司 | 存储器系统及该存储器系统的操作方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20180088180A (ko) | 2018-08-03 |
US20190140659A1 (en) | 2019-05-09 |
US20180212623A1 (en) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304141A (zh) | 存储器系统及其操作方法 | |
CN108572927A (zh) | 存储器系统及其操作方法 | |
CN108255739A (zh) | 存储器系统及其操作方法 | |
CN107643985A (zh) | 存储器系统及其操作方法 | |
CN109144408A (zh) | 存储器系统及其操作方法 | |
CN107562649A (zh) | 存储器系统及其操作方法 | |
CN109388594A (zh) | 存储器系统及其操作方法 | |
CN107918566A (zh) | 存储器系统及其操作方法 | |
CN109284202A (zh) | 控制器及其操作方法 | |
CN108388525A (zh) | 存储器系统及其操作方法 | |
CN108268212A (zh) | 控制器及操作方法 | |
CN109521947A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN108363547A (zh) | 控制器及其操作方法 | |
CN108694138A (zh) | 控制器及其操作方法 | |
CN108257637A (zh) | 存储器系统及其操作方法 | |
CN108932203A (zh) | 数据处理系统和数据处理方法 | |
CN110457230A (zh) | 存储器系统及其操作方法 | |
CN107807887A (zh) | 存储器系统及其操作方法 | |
CN108733616A (zh) | 包括多处理器的控制器及其操作方法 | |
CN108932202A (zh) | 存储器系统及其操作方法 | |
CN109271328A (zh) | 存储器系统及其操作方法 | |
CN109656749A (zh) | 存储器系统及其操作方法 | |
CN109656469A (zh) | 用于控制一个或多个存储器装置的控制器及其操作方法 | |
CN108427536A (zh) | 存储器系统及其操作方法 | |
CN109933468A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180803 |
|
WD01 | Invention patent application deemed withdrawn after publication |