CN110032329A - 控制器和其操作方法以及存储器系统 - Google Patents
控制器和其操作方法以及存储器系统 Download PDFInfo
- Publication number
- CN110032329A CN110032329A CN201811001649.XA CN201811001649A CN110032329A CN 110032329 A CN110032329 A CN 110032329A CN 201811001649 A CN201811001649 A CN 201811001649A CN 110032329 A CN110032329 A CN 110032329A
- Authority
- CN
- China
- Prior art keywords
- request
- descriptor
- cluster
- buffer
- institute
- 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
- 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
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Abstract
本发明涉及一种控制器,该控制器包括:内核,适于传递多个请求;缓冲器,包括多个簇;缓冲器管理器,适于将多个请求分别分配到多个簇中,并且适于存储缓冲器的存储信息和关于被分别分配了所分配请求的多个簇中的每个的簇信息;以及描述符,适于更新描述符报告,使得关于多个簇中的每个的簇信息与所分配请求分别彼此对应。
Description
相关申请的交叉引用
本申请要求于2018年1月12日提交的申请号为10-2018-0004391的韩国专利申请的优先权,其公开通过引用整体并入本文。
技术领域
本发明的各个示例性实施例涉及一种控制器以及存储器系统。特别地,示例性实施例涉及一种能够高效地管理数据的控制器、该控制器的操作方法以及包括该控制器的存储器系统。
背景技术
计算机环境范例已经朝向使得能够随时随地使用计算系统的普适计算转变。因此,对于诸如移动电话、数码相机和膝上型计算机的便携式电子装置的需求已经快速增长。电子装置通常包括存储器系统,其中存储器系统使用存储器装置作为数据存储装置。数据存储装置可以用作便携式电子装置的主存储器单元或辅助存储器单元。
由于不存在机械驱动部件,因此使用存储器装置的数据存储装置提供诸如优异的稳定性和耐用性、高数据访问速度和低功耗的优点。而且,数据存储装置可以具有比硬盘装置更快的数据访问速率和低功耗。具有这种优点的数据存储装置的非限制性示例包括通用串行总线(USB)存储器装置、不同接口的存储卡、固态硬盘(SSD)等。
发明内容
本发明的各个实施例涉及一种能够自动地分配从主机提供的请求的控制器以及存储器系统。
根据本发明的实施例,一种控制器可以包括:内核,适于传递多个请求;缓冲器,包括多个簇(cluster);缓冲器管理器,适于将多个请求分别分配到多个簇中,并且适于存储缓冲器的存储信息和关于被分别分配了所分配请求的多个簇中的每个的簇信息;以及描述符,适于更新描述符报告,使得关于多个簇中的每个的簇信息与所分配请求分别彼此对应,其中内核基于缓冲器的存储信息,在多个请求中检测需要自动分配请求的目标请求,并且将针对目标请求的自动分配信息提供至描述符,其中描述符更新描述符报告,使得自动分配信息和目标请求彼此对应,并且其中在针对所分配请求的处理完成之后,缓冲器管理器基于描述符报告,将目标请求分配到存储所分配请求的簇中。
根据本发明的实施例,一种操作控制器的方法可以包括:传递多个请求;将多个请求分别分配到包括在缓冲器中的多个簇中;存储缓冲器的存储信息和关于被分别分配了所分配请求的多个簇中的每个的簇信息;更新描述符报告,使得关于多个簇中的每个的簇信息和所分配请求分别彼此对应;基于缓冲器的存储信息,在多个请求中检测需要自动分配请求的目标请求;更新描述符报告,使得针对目标请求的自动分配信息与目标请求彼此对应;并且在针对所分配请求的处理完成之后,基于描述符报告将目标请求分配到存储所分配请求的簇中。
根据本发明的实施例,一种存储器系统可以包括:存储器装置;以及控制器,适于控制存储器装置,其中控制器包括:内核,适于传递多个请求;缓冲器,包括多个簇;缓冲器管理器,适于将多个请求分别分配到多个簇中,并且适于存储缓冲器的存储信息和关于被分别分配了所分配请求的多个簇中的每个的簇信息;以及描述符,适于更新描述符报告,使得关于多个簇中的每个的簇信息和所分配请求分别彼此对应,其中内核基于缓冲器的存储信息,在多个请求中检测需要自动分配请求的目标请求,并且将针对目标请求的自动分配信息提供至描述符,其中描述符更新描述符报告,使得自动分配信息与目标请求彼此对应,以及其中在针对所分配请求的处理完成之后,缓冲器管理器基于描述符报告,将目标请求分配到存储所分配请求的簇中。
根据本发明的实施例,一种存储器系统可以包括:存储器装置;以及控制器,适于接收多个请求并且基于多个请求控制存储器装置,其中控制器包括:缓冲器,包括多个簇;内核,适于接收多个请求;缓冲器管理器,适于从内核接收多个请求并且将多个请求分配到缓冲器中的多个簇中;以及描述符,适于存储关于簇和被分配到缓冲器中的请求的信息,当缓冲器的容量小于多个请求的大小时,内核将多个请求中的、用于分配的一些请求传递至缓冲器管理器,并且内核将用于自动分配多个请求中的剩余请求的自动分配请求传递至描述符。
附图说明
在本文中将参考附图进行描述,其中在若干视图中,相同的附图标记指代相同的部件,并且其中:
图1是示出根据本公开的实施例的包括存储器系统的数据处理系统的框图;
图2是示出图1所示的存储器系统的存储器装置的示例性配置的示意图;
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;
图4是示出图2所示的存储器装置的示例性三维结构的示意图;
图5是示出根据本公开的实施例的存储器系统的框图;
图6是示出根据本公开的实施例的控制器的示图;
图7是示出根据本公开的实施例的控制器的操作的流程图;以及
图8至图16是示意性示出根据本发明的各个实施例的数据处理系统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本公开的各种示例。本公开可以以不同的其它实施例、形式和变型来实现并且不应被解释为限于本文阐述的实施例。相反,提供所描述的实施例使得本公开将完整和全面并将本公开充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本公开的各个附图和示例中表示相同的部件。注意的是,对“实施例”的参考不一定意味着仅针对一个实施例,并且对“实施例”的不同参考不一定针对相同的实施例。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下所述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,比例可能已经被夸大。当一个元件被称为连接或联接到另一元件时,应当理解的是,前者可以直接连接或直接联接到后者,或者前者通过它们之间的中间元件电连接或电联接到后者。
将进一步理解的是,当元件被称为“连接至”或“联接到”另一元件时,它可直接在其它元件上、连接至或联接到其它元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅仅是为了描述特定实施例的目的,并不旨在限制本发明。
如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式并且反之亦然。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可包括被可操作地联接至存储器系统110的主机102。
例如,主机102可以包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、电视(TV)和投影仪等的非便携式电子装置。
存储器系统110可响应于来自主机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)和/或存储器系统110的存储装置可利用诸如以下的非易失性存储器装置来实施:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和/或闪速存储器。
存储器系统110可以包括控制器130和存储器装置150。存储器装置150可以存储待由主机102访问的数据,并且控制器130可以控制将数据存储在存储器装置150中。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。
存储器系统110可被配置成例如以下的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传输和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或配置计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,并且即使当不供应电力时也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储块152至156,存储块152至156中的每一个可包括多个页面。每一个页面可包括与多个字线(WL)电联接的多个存储器单元。
控制器130可控制存储器装置150的诸如读取操作、写入操作、编程操作和擦除操作的全部操作。例如,控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据提供给主机102,和/或可将由主机102提供的数据存储到存储器装置150中。
控制器130可包括主机接口(I/F)132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、存储器接口(I/F)142以及存储器144,其全部通过内部总线可操作地联接。
主机接口132可处理从主机102提供的命令和数据,并可通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(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可在处理器134的控制下生成用于存储器装置150的控制信号,并可处理输入到存储器装置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可包括多个存储块BLOCK0至BLOCKN-1,并且块BLOCK0至BLOCKN-1中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。根据每个存储器单元中可存储或表达的位数,存储器装置150可包括多个存储块,如单层单元(SLC)存储块和多层单元(MLC)存储块。SLC存储块可包括利用每一个都能够存储1位数据的存储器单元实施的多个页面。MLC存储块可包括利用每一个都能够存储例如两位或更多位数据的多位数据的存储器单元实施的多个页面。包括利用每一个都能够存储3位数据的存储器单元实施的多个页面的MLC存储块可被定义为三层单元(TLC)存储块。
图3是示出存储器装置150中的存储块330的电路图。
参照图3,存储块330可对应于包括在存储器系统110的存储器装置150中的多个存储块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仅示出了存储块330由NAND闪速存储器单元构成,但注意的是,根据本实施例的存储器装置150的存储块330不限于NAND闪速存储器。存储块330可通过NOR闪速存储器、其中组合了至少两种存储器单元的混合闪速存储器或其中控制器被内置在存储器芯片中的1-NAND闪速存储器实现。半导体装置的操作特性不仅可被应用于其中电荷存储层由导电浮栅配置的闪速存储器装置,而且可被应用于其中电荷存储层由电介质层配置的电荷撷取闪存(CTF)。
存储器装置150的电源电路310可提供待根据操作模式而被提供给各个字线的例如编程电压、读取电压和通过电压的字线电压以及待提供给例如其中形成有存储器单元的阱区的体材料(bulk)的电压。电源电路310可在控制电路(未示出)的控制下执行电压生成操作。电源电路310可生成多个可变读取电压以生成多个读取数据,在控制电路的控制下选择存储器单元阵列的存储块或扇区中的一个,选择所选择的存储块的字线中的一个,并将字线电压提供给所选择的字线和未选择的字线。
存储器装置150的读取和写入(读取/写入)电路320可由控制电路控制,并且可根据操作模式用作读出放大器或写入驱动器。在验证操作或正常读取操作期间,读取/写入电路320可用作读出放大器,其用于从存储器单元阵列读取数据。在编程操作期间,读取/写入电路320可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并根据接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
图4是示出存储器装置150的3D结构的示意图。
虽然图4示出3D结构,但是存储器150可由二维(2D)或三维(3D)存储器装置来实施。具体地,如图4所示,存储器装置150可被实施为通过具有3D堆叠结构的非易失性存储器装置。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1,其每一个具有3D结构(或垂直结构)。
控制器可以顺序地处理从主机发出的读取请求和写入请求。主机接口可以接收从主机发出的读取请求和写入请求,并且缓冲器管理器可以将发出的请求顺序地存储到缓冲器中。当处理读取请求和写入请求时,主机接口可以基于缓冲器的容量将请求分配到缓冲器中,因此后续请求应当等待分配,直到先前请求被分配到缓冲器中。主机接口可以仅在将先前请求分配到缓冲器中之后将后续请求分配到缓冲器中。即,由于针对完成当前请求的处理的等待时间,延时(latency)可能增加,因此系统的整体性能可能劣化。
根据本公开的实施例,提供一种控制器130以及控制器130的操作方法,其中控制器130适于将从主机102发出的请求自动分配到缓冲器570中以防止延时增加的控制器130。下面将参照图5至图7描述根据本公开的实施例的控制器130和操作方法。
图5是示出根据本公开的示例的存储器系统110的框图。
参照图5,存储器系统110可以包括控制器130和存储器装置150。控制器130可以包括内核510、描述符530、缓冲器管理器550、缓冲器570和访问控制器590。
内核510可以接收从主机102发出的请求。内核510可以响应于所接收的请求来控制控制器130的内部元件执行操作。例如,当从主机102发出读取请求时,内核510可以通过将读取请求传递到缓冲器管理器550来控制缓冲器管理器550将读取请求分配到缓冲器570中。而且,内核510可以控制缓冲器管理器550将根据缓冲器570的存储信息而可以被处理的目标请求立即分配到缓冲器570中。缓冲器570的存储信息可以是关于存储在缓冲器570中的多个簇。当缓冲器570不具有足够的空的簇或足够的空间以分配目标请求时,内核510可以预先将目标请求提供至缓冲器管理器550,而不将目标请求保留在内核510中。同时,内核510可以基于缓冲器570的存储信息,将对应于可能尚未被分配到缓冲器570中的目标请求的自动分配请求提供至描述符530。
描述符530可以生成并存储描述符报告,例如图6的535,其中描述符报告包括关于多个请求中的每一个的信息。描述符报告可以包括指示请求和任务ID的簇标识符(ID)的信息以及从内核510提供的自动分配请求的信息。
缓冲器管理器550可以将从内核510传递或接收的请求分配到缓冲器570中。缓冲器管理器550可以在没有内核510的控制的情况下,基于包括在描述符报告中的自动分配请求的信息来将请求分配到缓冲器570中。缓冲器管理器550可以向内核510提供缓冲器570的存储信息。
缓冲器570可以包括多个簇。多个簇中的每一个可以临时存储具有预定大小的请求。
访问控制器590可以控制存储器装置150,使得基于存储在缓冲器570中的请求来访问存储器装置150。访问控制器590可以对应于参照图1描述的处理器134。例如,当目标请求是读取请求时,访问控制器590可以控制存储器装置150读取对应于读取请求的数据。
图6是示出根据本公开的示例的控制器,例如图5的控制器130的操作的示图。假设主机102连续地发出单个请求大小是32KB的第一读取请求REQ.1至第五读取请求REQ.5,缓冲器570的容量是96KB,缓冲器570包括三个簇并且单个簇大小是32KB。因此,单个请求可以被分配到单个簇中。进一步假设缓冲器570中的所有簇都是空的。
参照图6,主机102可以发出连续的读取请求,诸如第一读取请求REQ.1至第五读取请求REQ.5。
内核510可以接收连续的读取请求。内核510可以依顺序将第一读取请求REQ.1至第五读取请求REQ.5传递到缓冲器管理器550。内核510可以控制缓冲器管理器550将第一请求REQ.1至第三请求REQ.3直接地分配到缓冲器570中。因此,内核510可以不向描述符530提供自动分配请求。因此,描述符530可以不更新针对第一请求REQ.1至第三请求REQ.3的自动分配信息,并且在描述符报告535中,与第一请求REQ.1至第三请求REQ.3相对应的自动分配信息(“AUTO”)可以具有值零(0)。
内核510可以将第四请求REQ.4和第五请求REQ.5提供至缓冲器管理器550。然而,第四请求REQ.4和第五请求REQ.5可能不被直接地分配给缓冲器570。因此,内核510可以将自动分配请求以及相应的自动分配信息一起提供至描述符530。因此,内核510可以向描述符530提供针对第四请求REQ.4和第五请求REQ.5的自动分配请求以及相应的自动分配信息。因此,描述符530可以更新针对第四请求REQ.4和第五请求REQ.5的自动分配信息,并且在描述符报告535中,与第四请求REQ.4和第五请求REQ.5相对应的自动分配信息(“AUTO”)可以具有值一(1)。
缓冲器管理器550可以将从内核510传递或接收的第一请求REQ.1至第五请求REQ.5存储在缓冲器570中。然而,由于缓冲器570的容量小于所有请求的大小,即,缓冲器570的容量(例如,如上假设的96KB)不足以存储所有请求,因此第四请求REQ.4和第五请求REQ.5可以临时在缓冲器管理器550中等待处理(pending)。此后,当针对存储在缓冲器570中的第一请求REQ.1至第三请求REQ.3的处理完成时,缓冲器管理器550可以将第四请求REQ.4和第五请求REQ.5顺序地存储在缓冲器570中。
缓冲器管理器550可以将第一请求REQ.1至第三请求REQ.3存储到缓冲器570中。而且,缓冲器管理器550可以将分别存储第一请求REQ.1至第三请求REQ.3的簇C1至C3的ID提供至描述符530。描述符530可以基于簇C1至C3的ID来更新描述符报告535,以在描述符报告535中反映分别用于第一请求REQ.1至第三请求REQ.3的簇C1至C3的ID。缓冲器管理器550可以将用于第四请求REQ.4和第五请求REQ.5的等待信息(“WAIT”)提供至描述符530。描述符530可以更新描述符报告535,以使提供的等待信息(“WAIT”)与相应的第四请求REQ.4和第五请求REQ.5相匹配。
然后,当针对第一请求REQ.1至第三请求REQ.3中的任何一个的处理完成时,缓冲器管理器550可以从缓冲器570释放相应请求。例如,当针对第一请求REQ.1的处理完成时,缓冲器管理器550可以从缓冲器570释放第一请求REQ.1。以类似的方式,当针对第二请求REQ.2的处理完成时,缓冲器管理器550可以从缓冲器570释放第二请求REQ.2。
然后,缓冲管理器550可以在没有内核510的控制的情况下,将第四请求REQ.4和第五请求REQ.5自动地分配到缓冲器570中。缓冲器管理器550可以将第四请求REQ.4分配到第一簇C1中并且将第五请求REQ.5分配到第二簇C2中。
缓冲器管理器550可以向描述符530提供第一簇C1的ID和第二簇C2的ID,其中第一簇C1的ID和第二簇C2的ID分别对应于被自动分配的第四请求REQ.4和第五请求REQ.5。描述符530可以基于提供的第一簇C1的ID和第二簇C2的ID来更新描述符报告535。
例如,假设第一请求REQ.1至第三请求REQ.3被分别分配至第一簇C1至第三簇C3,并且针对第一请求REQ.1的处理和第二请求REQ.2的处理完成。当针对第一请求REQ.1的处理完成时,缓冲器管理器550可以基于存储在描述符报告535中的自动分配信息,将第四请求REQ.4分配到第一簇C1中。缓冲器管理器550可以将被分配了第四请求REQ.4的第一簇C1的ID提供至描述符530。描述符530可以更新描述符报告535,以将第一簇C1的ID和第四请求REQ.4相匹配。以类似的方式,当针对第二请求REQ.2的处理完成时,缓冲器管理器550可以基于存储在描述符报告535中的自动分配信息,将第五请求REQ.5分配到第二簇C2中。缓冲器管理器550可以将被分配了第五请求REQ.5的第二簇C2的ID提供至描述符530。描述符530可以更新描述符报告535,以将第二簇C2的ID和第五请求REQ.5相匹配。
虽然未示出,但是当存储在缓冲器570中的请求之中存在错误请求时,内核510可以通过描述符报告535来检测存储错误请求的簇的ID。内核510可以通过直接访问错误请求来对错误请求执行错误校正操作。
图7是示出根据本公开示例的控制器,例如图5和图6的控制器130的操作的流程图。
在步骤S701处,内核510可以接收从主机102提供的读取请求或写入请求。
在步骤S703处,内核510可以基于从缓冲器管理器550提供的缓冲器570的存储信息来确定所提供请求是否需要自动分配请求。
当确定所提供请求不需要自动分配请求时(在步骤S703处为“否”),在步骤S711处,内核510可以控制缓冲器管理器550将所提供请求立即分配到缓冲器570中。
当确定所提供请求需要自动分配请求时(在步骤S703处为“是”),在步骤S705处,内核510可以将针对所提供请求的自动分配请求提供至缓冲器管理器550并且将针对所提供请求的自动分配信息提供至描述符530。描述符530可以更新描述符报告535以将所提供自动分配信息与所提供请求相匹配。
在步骤S707处,缓冲器管理器550可以确定针对存储在缓冲器570中的请求之中的任何一个的处理是否完成。
当针对存储在缓冲器570中的请求之中的任何一个的处理完成时(在步骤S707处为“是”),在步骤S711处,缓冲器管理器550可以将从内核510传递的所提供请求分配到缓冲器570的空的簇中。
当针对存储在缓冲器570中的请求中的任何一个的处理尚未完成时(在步骤S707处为“否”),在步骤S709处,缓冲器管理器550可以等待针对存储在缓冲器570中的请求中的任何一个的处理完成。当针对请求的处理完成时,缓冲器管理器550可以从缓冲器570的簇释放请求,并且将从内核510传递的所提供请求分配到空的簇中。
在步骤S713处,缓冲器管理器550可以将被分配了所提供请求的簇的标识符(ID)提供至描述符530。描述符530可以更新描述符报告535,以将被分配了所提供请求的簇的ID与所提供请求相匹配。
根据本发明的实施例,内核510可以针对需要自动分配的目标请求来请求自动分配,以便控制器130处理读取请求或写入请求。缓冲器管理器550可以通过描述符报告535将目标请求分配到缓冲器570中。因此,即使当目标请求实际上未被分配至缓冲器570时,内核510也可以处理另一个请求。因此,控制器130处理从主机102发出的请求的性能可以提高,并且因此存储器系统110的整体性能可以提高。
在下文中,将参照图8至图16详细描述由包括以上通过参照图1至图7描述的存储器装置150和控制器130的存储器系统110构成的数据处理系统和电子装置。
图8至图16是示意性示出根据各个实施例的图1至图7的数据处理系统的应用示例的示图。
图8是示意性地示出包括根据实施例的存储器系统的数据处理系统的示例的示图。图8示意性地示出包括根据实施例的存储器系统的存储卡系统6100。
参照图8,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可连接到存储器装置6130,并可被配置成访问存储器装置6130。存储器装置6130可由非易失性存储器(NVM)实现。作为示例而非限制,存储器控制器6120可被配置成控制针对存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机(未示出)之间的接口和/或用于控制存储器装置6130的驱动固件。也就是说,存储器控制器6120可对应于参照图1至图7所述的存储器系统110中的控制器130,而存储器装置6130可对应于参照图1至图7所述的存储器装置150。
因此,如图1所示,存储器控制器6120可包括随机存取存储器(RAM)、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器6120可进一步包括图1所述的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(Wi-Fi或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)。
图9是示意性地示出包括根据实施例的存储器系统的数据处理系统6200的另一示例的示图。
参照图9,数据处理系统6200可包括具有一个或多个非易失性存储器(NVM)的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。数据处理系统6200可用作如参照图1所述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1至图7所述的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1至图7所述的存储器系统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被配置成通过各种通信协议的一种或多种与外部装置进行通信,因此根据实施例的存储器系统和数据处理系统可被应用于有线和/或无线电子装置,特别是移动电子装置。
图10是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图10示意性地示出应用了根据实施例的存储器系统的固态硬盘(SSD)。
参照图10,SSD 6300可包括控制器6320和包括多个非易失性存储器(NVM)的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接至存储器装置6340。控制器6320可包括一个或多个处理器6321、错误校正码(ECC)电路6322、主机接口6324、缓冲存储器6325和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包含在存储器装置6340中的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可由易失性存储器或非易失性存储器来实现,其中易失性存储器诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、低功耗DDR(LPDDR)SDRAM和图形RAM(GRAM),非易失性存储器诸如铁电RAM(FRAM)、电阻RAM(RRAM或ReRAM)、自旋转移力矩磁阻RAM(STT-MRAM)和相变RAM(PRAM)。为了描述,图10示出缓冲存储器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中选择一个或多个存储器系统或SSD6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图11是示意性说明包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图11示意性说明可以应用根据实施例的存储器系统的嵌入式多媒体卡(eMMC)6400。
参照图11,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器系统110中的控制器130,并且存储器装置6440可对应于图1的存储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接到存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口(I/F)6431和存储器接口,例如NAND接口(I/F)6433。
内核6432可控制eMMC 6400的操作。主机接口6431可提供控制器6430和主机6410之间的接口功能。NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作例如参照图1所述的MMC接口的并行接口。此外,主机接口6431可用作串行接口,例如超高速(UHS)-I和UHS-II接口。
图12至图15是示意性示出包括根据实施例的存储器系统的数据处理系统的其它示例的示图。图12至图15示意性示出可以应用根据实施例的存储器系统的通用闪存(UFS)系统。
参照图12至图15,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可参照图9至图11所述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730、6830可参照图8所述的存储卡系统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协议以外的各种协议彼此通信,例如,通用串行总线(USB)闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你-SD和微型-SD。
在图12所示的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装置6520。在本文中,星型形式是指单个装置与多个其它装置或卡联接以用于集中控制的布置。
在图13所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过交换模块6640在UniPro处的的链路层交换来彼此通信。在示例中,为便于描述,已经例示了其中一个UFS装置6620和一个UFS卡6630连接至交换模块6640的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接至交换模块6640,并且多个UFS卡可串联或以链型形式连接至UFS装置6620。
在图14所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro。主机6710可通过执行交换操作的交换模块6740,例如通过在UniPro处执行例如L3交换的链路层交换的交换模块6740,与UFS装置6720或UFS卡6730通信。在该情况下,UFS装置6720和UFS卡6730可通过交换模块6740在UniPro处的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或UFS装置6720外部与UFS装置6720集成为一个模块。在本实施例中,为便于描述,已经例示了其中一个UFS装置6720和一个UFS卡6730连接至交换模块6740的配置。然而,每个都包括交换模块6740和UFS装置6720的多个模块可并联或以星型形式连接至主机6710,或者串联或以链型形式彼此连接。此外,多个UFS卡可并联或以星型形式连接至UFS装置6720。
在图15所示的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。
图16是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图16是示意性示出可以应用根据实施例的存储器系统的用户系统6900的示图。
参照图16,用户系统6900可包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950、。
更具体地,应用处理器6930可驱动包括在用户系统6900中的诸如操作系统(OS)的部件,并且包括控制包括在用户系统6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性随机存取存储器(RAM)或诸如相变RAM(PRAM)、电阻RAM(ReRAM)、磁阻RAM(MRAM)或铁电RAM(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闪存和3D NAND闪存,并且可被提供为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于参照图1所述的存储器系统110。此外,存储模块6950可被实施为如上参照图10至图15所述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和监视器的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的操作,并且网络模块6940可用作用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可在移动电子装置的显示和触摸模块上显示通过处理器6930处理的数据或支持从触摸面板接收数据的功能。
虽然已经关于具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所确定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (20)
1.一种控制器,包括:
内核,传递多个请求;
缓冲器,包括多个簇;
缓冲器管理器,将所述多个请求分别分配到所述多个簇中,并且存储所述缓冲器的存储信息和关于被分别分配了所分配请求的所述多个簇中的每个的簇信息;以及
描述符,更新描述符报告,使得关于所述多个簇中的每个的所述簇信息与所分配请求分别彼此对应,
其中所述内核基于所述缓冲器的存储信息,在所述多个请求中检测需要自动分配请求的目标请求,并且将针对所述目标请求的自动分配信息提供至所述描述符,
其中所述描述符更新所述描述符报告,使得所述自动分配信息和所述目标请求彼此对应,以及
其中在针对所分配请求的处理完成之后,所述缓冲器管理器基于所述描述符报告,将所述目标请求分配到存储所分配请求的簇中。
2.根据权利要求1所述的控制器,
其中所述缓冲器管理器将被分配了所述目标请求的簇的信息提供至所述描述符,以及
其中所述描述符基于所述簇的信息更新所述描述符报告。
3.根据权利要求1所述的控制器,其中在针对所分配请求的处理完成之前,所述描述符将所述目标请求标记为等待状态。
4.根据权利要求1所述的控制器,进一步包括访问控制器,所述访问控制器控制存储器装置执行于与所分配请求相对应的操作。
5.根据权利要求1所述的控制器,其中当针对所分配请求的处理完成时,所述缓冲器管理器从存储所分配请求的簇释放所分配请求。
6.根据权利要求1所述的控制器,其中当在所分配请求中存在错误请求时,所述内核基于所述描述符报告对所述错误请求执行错误校正操作。
7.根据权利要求1所述的控制器,其中所述描述符存储用于所述自动分配信息的值。
8.根据权利要求1所述的控制器,其中所述缓冲器管理器基于所述多个簇的大小,将所述多个请求分别分配到所述多个簇中。
9.一种操作控制器的方法,所述方法包括:
传递多个请求;
将所述多个请求分别分配到包括在缓冲器中的多个簇中;
存储所述缓冲器的存储信息和关于被分别分配了所分配请求的所述多个簇中的每个的簇信息;
更新描述符报告,使得关于所述多个簇中的每个的所述簇信息与所分配请求分别彼此对应;
基于所述缓冲器的存储信息,在所述多个请求中检测需要自动分配请求的目标请求;
更新所述描述符报告,使得针对所述目标请求的自动分配信息与所述目标请求彼此对应;并且
在针对所分配请求的处理完成之后,基于所述描述符报告将所述目标请求分配到存储所分配请求的簇中。
10.根据权利要求9所述的方法,进一步包括基于被分配了所述目标请求的簇的信息,将所述描述符报告更新到所述描述符。
11.根据权利要求9所述的方法,进一步包括在针对所分配请求的处理完成之前,将所述目标请求标记为等待状态。
12.根据权利要求9所述的方法,进一步包括控制存储器装置执行与所分配请求相对应的操作。
13.根据权利要求9所述的方法,进一步包括当针对所分配请求的处理完成时,从存储所分配请求的簇释放所分配请求。
14.根据权利要求9所述的方法,进一步包括当在所分配请求中存在错误请求时,基于所述描述符报告对所述错误请求执行错误校正操作。
15.根据权利要求9所述的方法,进一步包括存储用于所述自动分配信息的值一或值零。
16.根据权利要求9所述的方法,其中分配所述多个请求包括基于所述多个簇的大小将所述多个请求分别分配到所述多个簇中。
17.一种存储器系统,包括:
存储器装置;以及
控制器,控制所述存储器装置,
其中所述控制器包括:
内核,传递多个请求;
缓冲器,包括多个簇;
缓冲器管理器,将所述多个请求分别分配到所述多个簇中,并且存储所述缓冲器的存储信息和关于被分别分配了所分配请求的所述多个簇中的每个的簇信息;以及
描述符,更新描述符报告,使得关于所述多个簇中的每个的所述簇信息和所分配请求分别彼此对应,
其中所述内核基于所述缓冲器的存储信息,在所述多个请求中检测需要自动分配请求的目标请求,并且将针对所述目标请求的自动分配信息提供至所述描述符,
其中所述描述符更新所述描述符报告,使得所述自动分配信息与所述目标请求彼此对应,以及
其中在针对所分配请求的处理完成之后,所述缓冲器管理器基于所述描述符报告,将所述目标请求分配到存储所分配请求的簇中。
18.根据权利要求17所述的存储器系统,
其中所述缓冲器管理器将被分配了所述目标请求的簇的信息提供至所述描述符,以及
其中所述描述符基于所述簇的信息更新所述描述符报告。
19.根据权利要求17所述的存储器系统,进一步包括访问控制器,所述访问控制器控制所述存储器装置执行与所分配请求相对应的操作。
20.根据权利要求17所述的存储器系统,其中当针对所分配请求的处理完成时,所述缓冲器管理器从存储所分配请求的簇释放所分配请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180004391A KR20190086177A (ko) | 2018-01-12 | 2018-01-12 | 컨트롤러 및 그것의 동작방법 |
KR10-2018-0004391 | 2018-01-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110032329A true CN110032329A (zh) | 2019-07-19 |
CN110032329B CN110032329B (zh) | 2022-06-14 |
Family
ID=67213979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811001649.XA Active CN110032329B (zh) | 2018-01-12 | 2018-08-30 | 控制器和其操作方法以及存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10915265B2 (zh) |
KR (1) | KR20190086177A (zh) |
CN (1) | CN110032329B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050138212A1 (en) * | 2003-12-23 | 2005-06-23 | Intel Corporation | Page-aware descriptor management |
EP1708076A1 (en) * | 2005-04-01 | 2006-10-04 | Hitachi, Ltd. | Storage system and storage control method |
CN104021090A (zh) * | 2013-02-28 | 2014-09-03 | 三星电子株式会社 | 集成电路及其操作方法以及包括集成电路的系统 |
CN106170773A (zh) * | 2014-01-09 | 2016-11-30 | 桑迪士克科技有限责任公司 | 用于裸芯上缓冲式非易失性存储器的选择性回拷 |
CN106909476A (zh) * | 2015-12-21 | 2017-06-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7577782B2 (en) * | 1996-02-02 | 2009-08-18 | Sony Corporation | Application programming interface for data transfer and bus management over a bus structure |
GB9725367D0 (en) * | 1997-11-28 | 1998-01-28 | 3Com Ireland | Dynamic memory allocation |
US7307998B1 (en) * | 2002-08-27 | 2007-12-11 | 3Com Corporation | Computer system and network interface supporting dynamically optimized receive buffer queues |
US7496699B2 (en) * | 2005-06-17 | 2009-02-24 | Level 5 Networks, Inc. | DMA descriptor queue read and cache write pointer arrangement |
KR100881597B1 (ko) * | 2007-02-02 | 2009-02-03 | 지인정보기술 주식회사 | 읽기 요청 처리 시스템 및 방법 |
US20170116117A1 (en) * | 2015-10-26 | 2017-04-27 | Sandisk Technologies Inc. | Identifying storage descriptors based on a metric |
-
2018
- 2018-01-12 KR KR1020180004391A patent/KR20190086177A/ko unknown
- 2018-08-09 US US16/059,220 patent/US10915265B2/en active Active
- 2018-08-30 CN CN201811001649.XA patent/CN110032329B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050138212A1 (en) * | 2003-12-23 | 2005-06-23 | Intel Corporation | Page-aware descriptor management |
EP1708076A1 (en) * | 2005-04-01 | 2006-10-04 | Hitachi, Ltd. | Storage system and storage control method |
CN104021090A (zh) * | 2013-02-28 | 2014-09-03 | 三星电子株式会社 | 集成电路及其操作方法以及包括集成电路的系统 |
CN106170773A (zh) * | 2014-01-09 | 2016-11-30 | 桑迪士克科技有限责任公司 | 用于裸芯上缓冲式非易失性存储器的选择性回拷 |
CN106909476A (zh) * | 2015-12-21 | 2017-06-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190220225A1 (en) | 2019-07-18 |
US10915265B2 (en) | 2021-02-09 |
KR20190086177A (ko) | 2019-07-22 |
CN110032329B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108572927A (zh) | 存储器系统及其操作方法 | |
CN108304141A (zh) | 存储器系统及其操作方法 | |
CN107562649A (zh) | 存储器系统及其操作方法 | |
CN110471866A (zh) | 存储器系统和存储器系统的操作方法 | |
CN109388594A (zh) | 存储器系统及其操作方法 | |
CN109426449A (zh) | 存储器系统及其操作方法 | |
CN109947358A (zh) | 存储器系统及其操作方法 | |
CN108932203A (zh) | 数据处理系统和数据处理方法 | |
CN107591182A (zh) | 存储器系统及其操作方法 | |
CN109656837A (zh) | 存储器系统及其操作方法 | |
CN108388525A (zh) | 存储器系统及其操作方法 | |
CN109697171A (zh) | 控制器及其操作方法 | |
CN109390003A (zh) | 存储器系统及其操作方法 | |
CN110457230A (zh) | 存储器系统及其操作方法 | |
CN108733616A (zh) | 包括多处理器的控制器及其操作方法 | |
CN108932202A (zh) | 存储器系统及其操作方法 | |
CN109271328A (zh) | 存储器系统及其操作方法 | |
CN110189775A (zh) | 接口电路和具有该接口电路的存储装置 | |
CN109656469A (zh) | 用于控制一个或多个存储器装置的控制器及其操作方法 | |
CN108363547A (zh) | 控制器及其操作方法 | |
CN108427536A (zh) | 存储器系统及其操作方法 | |
CN108447513A (zh) | 存储器系统及其操作方法 | |
CN109918019A (zh) | 存储器系统及其操作方法 | |
CN109656470A (zh) | 存储器系统及其操作方法 | |
CN108628755A (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 |