CN108733595A - 存储器系统、包括其的数据处理系统及其操作方法 - Google Patents
存储器系统、包括其的数据处理系统及其操作方法 Download PDFInfo
- Publication number
- CN108733595A CN108733595A CN201810159070.XA CN201810159070A CN108733595A CN 108733595 A CN108733595 A CN 108733595A CN 201810159070 A CN201810159070 A CN 201810159070A CN 108733595 A CN108733595 A CN 108733595A
- Authority
- CN
- China
- Prior art keywords
- channel
- memory
- controller
- storage system
- best transmission
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
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 Networks & Wireless Communication (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种存储器系统,其可以包括:存储器装置,其包括适于存储数据的多个存储器管芯;以及控制器,其经由多个通道可操作地联接到存储器装置的存储器管芯,控制器可以适于检查多个通道,根据通道的状态在多个通道中独立地选择最佳传输通道和最佳接收通道,通过最佳传输通道请求对存储器管芯执行与命令相对应的命令操作,并且通过最佳接收通道从存储器管芯接收命令操作的执行结果。
Description
相关申请的交叉引用
本申请要求于2017年4月21日向韩国知识产权局提交的申请号为10-2017-0051481的韩国专利申请的优先权,其公开整体通过引用并入本文。
技术领域
示例性实施例涉及一种存储器系统,并且更特别地,涉及用于将数据处理到存储器装置的存储器系统,包括其的数据处理系统及其操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算系统。由于该事实,诸如例如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有用于存储数据的一个或多个存储器装置的存储器系统。存储器系统可以用作便携式电子装置的主存储器或辅助存储器。
因为存储器系统不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
本发明的各个实施例涉及一种包括至少一个更简单的存储器装置的存储器系统,并且呈现出至少一个存储器装置的性能恶化降低和使用效率提高。存储器系统可以比现有的存储器系统更快速且更稳定地将数据处理到存储器装置并且从存储器装置处理数据。本发明的各个实施例还涉及一种包括存储器系统的数据处理系统并且涉及一种存储器系统和数据处理系统的操作方法。
在实施例中,一种存储器系统可以包括:存储器装置,其包括适于存储数据的多个存储器管芯;以及控制器,其经由多个通道可操作地联接到存储器装置的存储器管芯,控制器可以适于检查多个通道,根据通道的状态在多个通道中独立地选择最佳传输通道和最佳接收通道,通过最佳传输通道请求对存储器管芯执行与命令相对应的命令操作,并且通过最佳接收通道从存储器管芯接收命令操作的执行结果。
控制器可以进一步将通过最佳传输通道对存储器管芯请求的命令操作与通过最佳接收通道从存储器管芯接收的执行结果进行匹配,然后可以将执行结果提供给主机作为对命令的响应。
控制器可以进一步将通过最佳传输通道请求的命令操作的命令的描述符与通过最佳接收通道接收的执行结果的描述符进行匹配。
控制器可以包括使通道进行排队的至少一个通道排队模块,并且通道排队模块可以对最佳传输通道和最佳接收通道执行通道切换,并且可以存储关于最佳传输通道的通道信息。
控制器可以包括分别与通道的共享通道的一个或多个组相对应的多个通道排队模块,存储器管芯可以包括分别与共享通道组相对应的一个或多个存储器管芯组,每个存储器管芯组的存储器管芯可以共享相对应的共享通道的通道,并且控制器可以检查各个共享通道组的通道,可以为各个共享通道组选择最佳传输通道和最佳接收通道。
命令的描述符可以包括与命令相对应的数据信息或位置信息以及最佳传输通道的指示信息。
执行结果的描述符可以包括与执行结果相对应的数据信息或位置信息以及最佳接收通道的指示信息。
控制器可以进一步在通过最佳传输通道请求命令操作之后释放(release)最佳传输通道,并且可以在通过最佳接收通道接收执行结果之后释放最佳接收通道。
控制器可以在通道中选择第一通道和第二通道分别作为最佳传输通道和最佳接收通道;可以在通过第一通道请求第一命令操作之后释放第一通道;以及可以在通过第二通道接收第一命令操作的执行结果之后释放第二通道。
控制器可以在通过被释放的第二通道请求第二命令操作之后,释放第二通道;以及可以在通过被释放的第一通道接收第二命令操作的执行结果之后,释放第一通道。
控制器可以在通道中选择在正常状态下处于就绪状态或空闲状态的通道作为最佳传输通道和最佳接收通道。
控制器可以检查通道的可用容量或操作级别,并且可以对应于可用容量或操作级别在通道中选择最佳传输通道和最佳接收通道。
存储器系统可以进一步包括通道中枢模块(channel hub module),其通过通道与控制器联接,并且适于通过最佳传输通道和最佳接收通道在控制器和存储器管芯之间传送命令和执行结果。
在实施例中,一种数据处理系统可以包括:多个存储器系统,其包括多个存储器装置和分别对应于存储器装置的多个控制器;以及主机装置,其适于为存储器系统提供用户请求,存储器系统中的第一存储器系统的第一控制器可以检查存储器系统的多个通道,可以根据通道的状态在通道中选择最佳传输通道和最佳接收通道,可以通过最佳传输通道将与用户请求相对应的命令传输到存储器系统,并且可以通过最佳接收通道从存储器系统接收与命令相对应的命令操作的执行结果。
第一控制器可以在通道中选择第一通道和第二通道作为最佳传输通道和最佳接收通道,可以在通过第一通道将第一命令传输到存储器系统中的第二存储器系统之后释放用于第一命令的第一通道,并且可以在通过第二通道将第二命令传输到存储器系统中的第三存储器系统之后释放用于第二命令的第二通道。
第一控制器可以在通过被释放的第二通道接收与第一命令相对应的第一命令操作的执行结果之后释放用于第一命令操作的第二通道,并且可以在通过被释放的第一通道接收与第二命令相对应的第二命令操作的执行结果之后释放用于第二命令操作的第一通道。
在实施例中,一种存储器系统的操作方法,方法可以包括:检查适于存储数据的多个存储器管芯的多个通道;根据通道的状态在通道中选择最佳传输通道和最佳接收通道;通过最佳传输通道请求对存储器管芯执行与命令相对应的命令操作;通过最佳接收通道从存储器管芯接收命令操作的执行结果;将通过最佳传输通道对存储器管芯请求的命令操作与通过最佳接收通道从存储器管芯接收的执行结果进行匹配;以及将执行结果提供给主机作为对命令的响应。
匹配可以将通过最佳传输通道请求的命令操作的命令的描述符与通过最佳接收通道接收的执行结果的描述符进行匹配。
方法可以进一步包括:在通过最佳传输通道请求命令操作之后释放最佳传输通道;以及在通过最佳接收通道接收执行结果之后释放最佳接收通道。
可以通过在通道中选择具有可用容量或操作级别并具有在正常状态下处于就绪状态或空闲状态的通道作为最佳传输通道和最佳接收通道来执行选择。
附图说明
根据参照附图的以下详细说明,本发明的这些和其它特征及优点对于本发明所属领域的技术人员将变得显而易见,其中:
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图;
图2是示出图1所示的存储器系统中采用的存储器装置的示例性配置的示意图;
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;
图4是示出图2所示的存储器装置的示例性三维结构的示意图;
图5是根据本发明的实施例的存储器系统的示意图;
图6是示出根据本发明的实施例的存储器系统的存储器装置的示例性配置的示意图;
图7是根据本发明的实施例的数据处理系统的示例性配置的示意图;
图8是根据本发明的实施例的数据处理系统的另一示例性配置的示意图;
图9是示出根据本发明的实施例的用于处理多个命令的操作方法的流程图;以及
图10至图18是示意性地示出根据本发明的各个实施例的数据处理系统的示例性应用的简图。
具体实施方式
以下将参照附图更详细地描述本发明的各个实施例。然而,本发明可以以不同的形式体现并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本领域技术人员完全传达本发明的范围。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
以下参照附图更详细地描述本发明的各个实施例。然而,应注意的是,本发明可以以不同的其它实施例、形式和变化实施,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完整的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各种元件,但是这些元件不受这些术语限制。这些术语被用于区分一个元件与另一元件。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中限定的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地限定。
在以下描述中,为了提供本发明的全面理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了不使本发明不必要模糊,未详细地描述公知的进程结构和/或进程。
也应注意的是,在一些情况下,对相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用,除非另有明确说明。
图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可以由各种类型的存储装置来体现。所包括的存储装置的非限制性示例可以包括诸如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的可靠性。因此,坏块管理操作需要被更可靠地执行。
在控制器130对存储器装置150执行多个命令操作的情况下,在与包括在存储器装置150中的多个存储器管芯联接的多个通道(和/或路径)中选择最佳(意味着最优)传输和接收通道(和/或路径),并且命令和操作结果可以通过最优选择的传输和接收通道(和/或路径)在控制器130和存储器管芯之间传送。
控制器130可以检查多个通道(和/或路径)的状态,例如,繁忙状态、就绪状态、活动状态、空闲状态、正常状态或异常状态,以便根据通道(和/或路径)的状态来选择最佳传输和接收通道(和/或路径)。控制器130将通过最佳传输通道(或传输路径)传输的命令的描述符与通过最佳接收通道(或接收路径)接收的执行结果的描述符进行匹配,并且然后,将命令操作的执行结果提供给主机102。
命令的描述符可以包括与命令相对应的数据信息或位置信息以及传输通道(或传输路径)的指示信息。例如,数据信息可以是与写入命令或读取命令相对应的数据的逻辑页面信息,并且位置信息可以是存储器装置150的物理页面信息。例如,传输通道(或传输路径)的指示信息可以是传输通道(或传输路径)的标识符(例如,通道编号(和/或路径编号))。
执行结果的描述符可以包括与执行结果相对应的数据信息或位置信息以及接收通道(接收路径)的指示信息。例如,数据信息可以是数据的逻辑页面信息,并且位置信息可以是存储器装置150的物理页面信息。例如,接收通道(或接收路径)的指示信息可以是接收通道(或接收路径)的通道编号(和/或路径编号)。
根据本公开的实施例,传输通道(或传输路径)和接收通道(或接收路径)被独立地管理。
因此,根据本公开的实施例,与存储器装置150的多个存储器管芯联接的多个通道(和/或多个路径)可以被有效地使用。特别地,由于多个命令和与命令相对应的命令操作的执行结果分别通过彼此独立的最佳通道(和/或路径)来传输和接收,因而可以提高存储器系统110的操作性能。
用于对存储器装置150执行不良管理的管理单元(未示出)可以被包括在控制器130的处理器134中。管理单元检查包括在存储器装置150中的多个存储块152、154和156中的坏块,并且然后执行坏块管理,即将检查的坏块处理为不良。不良管理是指,在存储器装置150是例如NAND闪速存储器的闪速存储器的情况下,由于NAND闪速存储器的特性,在执行例如数据编程的数据写入时可能发生编程失败,发生编程失败的存储块被处理为不良,并且编程失败的数据被写入(即被编程)到新的存储块中。此外,在存储器装置150具有如上所述的三维堆叠结构的情况下,如果相应块由于编程失败被处理为坏块,则由于存储器装置150的利用效率和存储器系统110的可靠性可能突然恶化,因此需要可靠地执行坏块管理。在下文中,下面将参照图2至图4详细描述根据本公开的实施例的存储器系统中的存储器装置。
图2是示出存储器装置150的简图。
参照图2,存储器装置150可以包括多个存储块0至N-1,并且块0到N-1中的每一个可以包括例如2M个页面的多个页面,其数量可以根据电路设计而变化。包含在各个存储块0至N-1中的存储器单元可以是存储1位数据的单层单元(SLC)或存储2位数据的多层单元(MLC)中的一个或多个。在实施例中,存储器装置150可以包括多个三层单元(TLC),每个三层单元存储3位数据。在另一实施例中,存储器装置可以包括多个四层单元(QLC),每个四层单元存储4位数据。
图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可以包括每个具有3D结构(或竖直结构)的多个存储块BLK0至BLKN-1。
图5至图8是用于说明根据实施例的存储器系统中与多个命令相对应的多个命令操作的执行的示意图。
根据本公开的实施例,包括多个存储器系统的数据处理系统被提供,多个存储器系统的每一个包括经由多个通道(和/或路径)可操作地彼此联接的控制器130和存储器装置150。在操作中,多个命令通过各个存储器系统的多个通道(和/或路径)被传输,并且多个存储器系统中的命令操作的执行结果通过各个存储器系统的多个通道(和/或路径)被传输。根据本公开的实施例,存储器系统中的主存储器系统为每个存储器系统独立地确定多个通道(和/或路径)中的最佳传输通道(或传输路径)和最佳接收通道(或接收路径),并且通过各个存储器系统的最佳传输通道(或传输路径)和接收通道(或接收路径)来传送多个命令和命令操作的执行结果。
根据本公开的实施例,主存储器系统检查多个存储器系统的多个通道(和/或路径)中的每一个是处于繁忙状态、就绪状态、活动状态、空闲状态、正常状态还是异常状态。
根据本公开的实施例,主存储器系统或控制器130可以为存储器系统中的每一个或为存储器系统150,在处于正常状态下的就绪状态或空闲状态的通道(和/或路径)中选择最佳通道(和/或路径)。特别地,根据本公开的实施例,主存储器系统或控制器130可以为存储器系统中的每一个或为存储器系统150,选择具有在正常范围内的可用容量或具有正常范围内的操作级别(operation level)的通道(和/或路径)中的通道(和/或路径)作为最佳通道(和/或路径)。通道(或路径)的操作级别可以由通道(或路径)的操作时钟、功率水平、电流/电压水平、操作时间和温度水平来确定。
首先,参照图5,控制器130执行命令操作,例如,与多个写入命令相对应的编程操作。此时,控制器130将与写入命令相对应的用户数据编程并存储到存储器装置150的存储块552、554、562、564、572、574、582和584中。并且,相应于对存储块552、554、562、564、572、574、582和584的编程操作,控制器130生成并更新用于用户数据的元数据并且将元数据存储在存储器装置150的存储块552、554、562、564、572、574、582和584中。
控制器130生成并更新指示用户数据被存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中的信息,例如第一映射数据和第二映射数据,即,生成并更新第一映射数据的逻辑段,即L2P段,和第二映射数据的物理段,即P2L段,并且然后,将L2P段和P2L段存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中。
例如,控制器130将与写入命令相对应的用户数据缓存并缓冲在包括在控制器130的存储器144中的第一缓冲器510中,即,将用户数据的数据段512存储在作为数据缓冲器/高速缓存的第一缓冲器510中。然后,控制器130将存储在第一缓冲器510中的数据段512存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中。当与写入命令相对应的用户数据的数据段512被编程并被存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中时,控制器130生成并更新第一映射数据和第二映射数据,并将第一映射数据和第二映射数据存储在包括在控制器130的存储器144中的第二缓冲器520中。即,控制器130将用于用户数据的第一映射数据的L2P段522和用于用户数据的第二映射数据的P2L段524存储在作为映射缓冲器/高速缓存的第二缓冲器520中。在控制器130的存储器144中的第二缓冲器520中,如上所述,可以存储有第一映射数据的L2P段522和第二映射数据的P2L段524,或者可以存储有第一映射数据的L2P段522的映射列表和第二映射数据的P2L段524的映射列表。然后,控制器130将存储在第二缓冲器520中的第一映射数据的L2P段522和第二映射数据的P2L段524存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中。
并且,控制器130执行命令操作,例如,与多个读取命令相对应的读取操作。此时,控制器130将与读取命令相对应的用户数据的映射段,例如第一映射数据的L2P段522和第二映射数据的P2L段524,加载到第二缓冲器520中,并且检查L2P段522和P2L段524。此后,控制器130读取存储在存储器装置150的存储块552、554、562、564、572、574、582和584中的相应存储块的页面中的用户数据,并且将读取的用户数据的数据段512存储在第一缓冲器510中,并且将数据段512提供给主机102。
此外,控制器130执行命令操作,例如,与多个擦除命令相对应的擦除操作。此时,控制器130检查存储器装置150的存储块552、554、562、564、572、574、582和584中对应于擦除命令的存储块,并且对检查到的存储块执行擦除操作。
参照图6,根据实施例,存储器装置150包括例如存储器管芯0 610、存储器管芯1630、存储器管芯2 650和存储器管芯3 670的多个存储器管芯。存储器管芯610、630、650和670中的每一个可以包括多个页面。例如,存储器管芯0 610包括平面0 612、平面1 616、平面2 620和平面3624,存储器管芯1 630包括平面0 632、平面1 636、平面2 640和平面3644,存储器管芯2 650包括平面0 652、平面1 656、平面2 660和平面3664,并且存储器管芯3670包括平面0 672、平面1 676、平面2 680和平面3 684。包含在存储器装置150中的存储器管芯610、630、650和670中的各个平面612、616、620、624、632、636、640、644、652、656、660、664、672、676、680和684包括多个存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686,例如,N个块Block0、Block1、......BlockN-1的每一个包括多个页面,例如包括如以上参照图2所述的2M个页面。此外,存储器装置150包括与各个存储器管芯610、630、650和670相对应的多个缓冲器,例如,与存储器管芯0 610相对应的缓冲器0628、与存储器管芯1 630相对应的缓冲器1 648、与存储器管芯2 650相对应的缓冲器2 668和与存储器管芯3 670相对应的缓冲器3 688。
在执行命令操作的情况下,与命令操作相对应的数据被存储在包括在存储器装置150中的缓冲器628、648、668和688中。例如,在执行编程操作的情况下,与编程操作相对应的数据被存储在缓冲器628、648、668和688中,并且然后被存储在包括在存储器管芯610、630、650和670的存储块中的页面中。在执行读取操作的情况下,与读取操作相对应的数据被从包括在存储器管芯610、630、650和670的存储块中的页面被读取、被存储在缓冲器628、648、668和688中,并且然后通过控制器130被提供给主机102。
根据本公开的实施例,虽然为了便于说明,包括在存储器装置150中的缓冲器628、648、668和688存在于各个相应的存储器管芯610、630、650和670外部将作为示例在下文中被详细描述,但是应当注意的是,缓冲器628、648、668和688可以存在于各个相应的存储器管芯610、630、650和670内部,并且应当注意的是,缓冲器628、648、668和688可以对应于各个存储器管芯610、630、650和670中的各个平面612、616、620、624、632、636、640、644、652、656、660、664、672、676、680和684或者各个存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686。进一步地,根据本公开的实施例,虽然为了便于说明,以下将作为示例描述包括在存储器装置150中的缓冲器628、648、668和688是如以上参考图3描述的包括在存储器装置150中的多个页面缓冲器322、324和326,但是应当注意的是,缓冲器628、648、668和688可以是包括在存储器装置150中的多个高速缓存或多个寄存器。
参照图7,根据实施例,控制器130包括命令排队模块705、命令解析模块715、调度模块720和通道排队模块715。控制器130的命令排队模块705使从主机102提供的多个命令进行排队,同时控制器130的命令解析模块710对在命令排队模块705中排队的命令进行解析。
控制器130的通道排队模块715使通道CH0至Chi进行排队。为了便于解释,虽然根据本公开的实施例描述了存储器装置150的多个通道CH0到CHi,即,多个存储器管芯610至695的通道CH0至Chi,但是即使在多个路径的情况下也可以应用相同的原理。
调度模块720调度多个命令和多个通道CH0至CHi。调度包括调度模块720对在通道排队模块715中排队的多个通道CH0至CHi中的每一个的状态(例如,繁忙状态、就绪状态、活动状态、空闲状态、正常状态或异常状态)进行检查,并且然后,根据多个通道CH0至CHi中的每一个的状态,调度模块720独立地选择最佳通道作为命令的传输通道和执行结果的接收通道。调度模块720选择通道中的、对于存储器系统150具有正常范围内的可用容量或具有正常范围内的操作级别的通道作为用于每个存储器系统的最佳通道。通道的操作级别可以由通道的操作时钟、功率水平、电流/电压水平、操作时间和温度水平来确定。
控制器130通过通道排队模块715对根据通道CH0至CHi的状态选择的最佳传输通道和最佳接收通道执行通道切换。
更具体地,控制器130通过通道排队模块715来堆叠(stack)命令的描述符,特别地,存储关于最佳传输通道的通道信息,例如,在命令和最佳传输通道之间的通道映射信息,其中各个命令通过最佳传输通道被传输。进一步地,控制器130通过通道排队模块715堆叠执行结果的描述符。特别地,控制器130将命令的描述符和执行结果的描述符进行匹配,检查命令操作的执行结果,并且然后将执行结果提供给主机102。
通道中枢模块725通过多个通道CH0、CH1、CH2、CH3、......、CHi中的最佳传输通道从控制器130接收多个命令,检查命令的描述符,并且将命令传输到各个相应的存储器管芯。此外,通道中枢模块725从存储器装置150的存储器管芯610、630、650、670、......、695接收命令操作的执行结果,并且通过多个通道CH0、CH1、CH2、CH3、......、CHi中的最佳接收通道将命令操作的执行结果传输到控制器130。
通道中枢模块725从控制器130接收关于最佳接收通道的通道信息基于从控制器130接收的通道信息检查最佳接收通道,并且然后,通过最佳接收通道将命令操作的执行结果传输到控制器130。换言之,控制器130将关于根据多个通道CH0至CHi的状态选择的最佳接收通道的通道信息传输到通道中枢模块725,并且通道中枢模块725基于通道信息检查最佳接收通道并且然后通过最佳接收通道将命令操作的执行结果传输到控制器130。关于最佳接收通道的通道信息可以通过控制器130和存储器装置150之间的接口协议,例如闪存接口层(FIL)协议,被传输到通道中枢模块725。当通过多个通道CH0、CH1、CH2、CH3、......、CHi中的最佳传输通道传输命令时,关于最佳接收通道的通道信息可被传输到通道中枢模块725,并且可以被包括在命令的保留区域中,例如命令的描述符中的保留区域。在图7的实施例中,将存在于存储器系统110中的控制器130与存储器装置150之间的多个通道CH0、CH1、CH2、CH3、......、CHi联接在控制器130与通道中枢模块725之间作为示例来描述。然而,应当注意的是,即使在通道中枢模块725被提供在存储器装置150或控制器130中的一个中的情况下也可以应用相同的原理,并且控制器130和存储器装置150直接通过多个通道CH0到CHi联接。
例如,在例如第一读取命令、第二读取命令、第一写入命令和第二写入命令的多个命令从主机102分别被接收的情况下,控制器130检查存储器装置150的多个通道CH0、CH1、CH2、CH3、......、CHi中的每一个的状态,并且在多个通道CH0、CH1、CH2、CH3、......、CHi中确定用于传输第一读取命令、第二读取命令、第一写入命令和第二写入命令的最佳传输通道。在控制器130在特定时间点t0处传输第一读取命令和第一写入命令并且在特定时间点t1处传输第二读取命令和第二写入命令的情况下,控制器130根据通道CH0、CH1、CH2、CH3、......、CHi的状态确定在时间点t0处的最佳传输通道,即,用于第一读取命令和第一写入命令的最佳传输通道,并且确定在时间点t1处的最佳传输通道,即,用于第二读取命令和第二写入命令的最佳传输通道。例如,控制器130在多个通道CH0、CH1、CH2、CH3、......、CHi中确定第一读取命令的最佳传输通道为CH1、第一写入命令的最佳传输通道为CH2、第二读取命令的最佳传输通道为CH3并且第二写入命令的最佳传输通道为CH0。控制器130生成并存储关于各个命令的最佳传输通道的通道信息,即,各个命令与最佳传输通道之间的通道映射信息,并且堆叠通过最佳传输通道传输的各个命令的描述符。
控制器130在多个通道CH0、CH1、CH2、CH3、......、CHi中通过根据多个命令的状态确定的最佳传输通道,将多个命令传输到相应的存储器管芯。例如,控制器130可以通过最佳传输通道CH1将第一读取命令传输到通道中枢模块725,并且通道中枢模块725可以将第一读取命令传输到相应的存储器管芯,例如,存储器管芯0 610。控制器130还可以通过最佳传输通道CH2将第一写入命令传输到通道中枢模块725,并且通道中枢模块725可以将第一写入命令传输到相应的存储器管芯,例如,存储器管芯1 630。控制器130可以进一步通过最佳传输通道CH0将第二写入命令传输到通道中枢模块725,并且通道中枢模块725可以将第二写入命令传输到相应的存储器管芯,例如,存储器管芯3 670。控制器130可以进一步通过最佳传输通道CH3将第二读取命令传输到通道中枢模块725,并且通道中枢模块725可以将第二读取命令传输到相应的存储器管芯,例如,存储器管芯2 650。
在通过相应的最佳传输通道传输多个命令之后,控制器130释放用于多个命令的最佳传输通道,使得最佳传输通道变为存储器通道CH0至Chi中的可用通道从而在接下来的命令的传输时为存储器管芯610至695共享。每当多个命令从控制器130待被传送到存储器管芯610至695时,控制器130可以执行为多个命令中的每一个选择最佳传输通道的上述操作。控制器130可以执行为命令操作的多个结果中的每一个选择最佳接收通道的上述操作,其中响应于待从存储器管芯610至695传送到控制器130的命令而执行该命令操作。
例如,在通过最佳传输通道CH1传输第一读取命令之后,控制器130释放用于第一读取命令的最佳传输通道CH1。根据该事实,控制器130共享最佳传输通道CH1以用于传输和接收其它命令或执行结果,即,对于其它命令操作,不将最佳传输通道CH1占用(occupy)为第一读取命令的专用通道,即,不将最佳传输通道CH1占用为用于传输第一读取命令和接收对应于第一读取命令的第一读取操作的执行结果的专用通道,即,CH1不作为用于第一读取操作的专用通道。并且,在通过最佳传输通道CH2、CH0和CH3传输第一写入命令、第二写入命令和第二读取命令之后,控制器130释放用于第一写入命令、第二写入命令和第二读取命令的最佳传输通道CH2、CH0和CH3。根据该事实,控制器130共享最佳传输通道CH2、CH0和CH3以用于传输和接收其它命令或执行结果,即,对于其他命令操作,不将最佳传输通道CH2、CH0和CH3占用为第一写入命令、第二写入命令和第二读取命令的专用通道,即,不将最佳传输通道CH2、CH0和CH3占用为与第一写入命令、第二写入命令和第二读取命令相对应的命令操作的专用通道。
在存储器装置150的存储器管芯610、630、650、670、......、695中执行与通过最佳传输通道传输的多个命令相对应的命令操作。例如,在存储器管芯0 610中执行与第一读取命令相对应的第一读取操作,在存储器管芯1 630中执行与第一写入命令相对应的第一编程操作,在存储器管芯2 650中执行与第二读取命令相对应的第二读取操作,并且在存储器管芯3 670中执行与第二写入命令相对应的第二编程操作。控制器130以与选择最佳传输通道的操作相似的方式选择最佳接收通道。控制器130从多个通道CH0、CH1、CH2、CH3、......、CHi中,选择用于从存储器装置150接收与从主机102接收的命令相对应的命令操作的执行结果的最佳接收通道。在控制器130在特定时间点t2处接收第一读取操作和第二读取操作的执行结果并且在特定时间点t3处接收第一编程操作和第二编程操作的执行结果的情况下,根据通道CH0、CH1、CH2、CH3、......、CHi的状态,确定在时间点t2处的最佳接收通道,即,确定用于第一读取操作的执行结果和第二读取操作的执行结果的最佳接收通道,并且确定在时间点t3处的最佳接收通道,即,确定用于第一编程操作的执行结果和第二编程操作的执行结果的最佳接收通道。例如,在多个通道CH0、CH1、CH2、CH3、......、CHi中,控制器130确定第一读取操作的执行结果的最佳接收通道为CH2、第二读取操作的执行结果的最佳接收通道为CH3、第一编程操作的执行结果的最佳接收通道为CH1、以及第二编程操作的执行结果的最佳接收通道为CH4。
根据多个通道CH0、CH1、CH2、CH3、......、CHi的状态,控制器130独立地选择用于从主机102接收的多个命令的最佳传输通道和用于与多个命令相对应的命令操作的执行结果的最佳接收通道。多个命令通过它们相对应的最佳传输通道被传输,并且在传输完成之后,用于多个命令的最佳传输通道被释放,并且控制器130根据通道CH0至CHi的状态在通道CH0至CHi中选择先前所选的最佳传输通道或其它通道作为执行结果的最佳接收通道。例如,根据多个通道CH0、CH1、CH2、CH3、......、CHi的状态,控制器130可以选择用于第一读取命令、第一写入命令和第二读取命令的最佳传输通道CH1、CH2和CH3作为用于第一编程操作的执行结果、第一读取操作的执行结果和第二读取操作的执行结果的最佳接收通道。
控制器130将关于最佳接收通道的通道信息传输到通道中枢模块725。
控制器130通过相应的最佳接收通道接收在各个存储器管芯中执行的命令操作的结果。在各个存储器管芯中执行的命令操作的结果被传输到通道中枢模块725,并且通道中枢模块725根据从控制器130接收的关于最佳接收通道的通道信息,通过相应的最佳接收通道将命令操作的结果传输到控制器130。例如,控制器130可以通过最佳接收通道CH2接收第一读取操作的执行结果,通过最佳接收通道CH3接收第二读取操作的执行结果,通过最佳接收通道CH1接收第一编程操作的执行结果,并且通过最佳接收通道CH4接收第二编程操作的执行结果。
如上所述,由于控制器130根据多个通道CH0、CH1、CH2、CH3、......、CHi的状态独立地确定用于多个命令的最佳传输通道和用于执行结果的最佳接收通道,因此传输命令的通道和接收与各个命令对应的命令操作的执行结果的通道变成彼此独立。即,命令的传输通道和命令操作的执行结果的接收通道可以是不同的通道或者可以是相同的通道。例如,第一读取命令的传输通道CH1和第一读取操作的执行结果的接收通道CH2、第一写入命令的传输通道CH2和第一编程操作的执行结果的接收通道CH1、以及第二写入命令的传输通道CH0和第二编程操作的执行结果的接收通道CH4是传输通道和接收通道不同的示例。第二读取命令的传输通道CH3和第二读取操作的执行结果的接收通道CH3是传输通道和接收通道相同的示例。
在通过最佳接收通道接收与多个命令相对应的命令操作的执行结果之后,控制器130释放用于多个命令操作的结果的最佳接收通道,使得最佳接收通道成为存储器通道CH0至Chi中的可用通道以在接下来的响应于命令而执行的命令操作的结果的传输时为存储器管芯610至695共享。每当多个命令中的命令组将从控制器130被传送到存储器管芯610至695时,控制器130可以执行选择最佳传输通道的上述操作。每当响应于命令组而执行的命令操作的结果组将从存储器管芯610至695被传送到控制器130时,控制器130可以执行选择最佳接收通道的上述操作。
控制器130将通过最佳传输通道传输的命令的描述符与通过最佳接收通道接收的命令操作的结果的描述符进行匹配,然后,将命令操作的执行结果提供给主机102作为对命令的响应。例如,当存储器装置150提供响应于第一读取命令的第一读取操作的结果(例如,从存储器装置150读取的第一数据)时,控制器130将通过最佳传输通道CH1传输的第一读取命令的描述符与通过最佳接收通道CH2接收的第一读取操作的结果的描述符进行匹配,然后,将第一读取操作的结果,即,第一读取数据,提供给主机102。
参照图8,存储器装置150包括多个存储器管芯822至856。存储器管芯822至856可以被分成多个存储器管芯组820至850。
在各个存储器管芯组820至850中的每一个中的存储器管芯可以共享多个通道。图8例示每个存储器管芯组820至850中的三个存储器管芯共享两个通道。例如,在包括在存储器装置150中的多个存储器管芯822至856中,第一存储器管芯组820的存储器管芯822、824和826联接到第一共享通道CH0和CH1,第二存储器管芯组830的存储器管芯832、834和836联接到第二共享通道CH2和CH3,第三存储器管芯组840的存储器管芯842、844和846联接到第三共享通道CH4和CH5,并且第四存储器管芯组850的存储器管芯852、854和856联接到第四共享通道CH6和CH7。
控制器130通过多个通道排队模块802至808使用于各个存储器管芯组820至850的各个共享通道CH0至CH7进行排队。特别地,控制器130通过第一通道排队模块802使第一共享通道CH0和CH1进行排队,通过第二通道排队模块804使第二共享通道CH2和CH3排队,通过第三通道排队模块806使第三共享通道CH4和CH5进行排队,并且通过第四通道排队模块808使第四共享通道CH6和CH7进行排队。虽然为了便于解释,根据本公开的实施例的通道排队模块使相应的共享通道进行排队被描述为示例,但是应当注意的是,即使在某个通道排队模块使除了相应的共享通道之外的共享通道进行排队的情况下,也可以应用相同的原理。
控制器130的通道排队模块802至808使用于多个存储器管芯822至856的相应的共享通道道CH0至CH7进行排队。换言之,第一通道排队模块802使第一共享通道CH0和CH1进行排队,第二通道排队模块804使第二共享通道CH2和CH3进行排队,第三通道排队模块806使第三共享通道CH4和CH5进行排队,第四通道排队模块808使第四共享通道CH6和CH7进行排队。由于各个通道排队模块802至808使相应的共享通道CH0至CH7进行排队,因此可以降低用于检查多个通道CH0至CH7的监控成本和检查之后的调度成本。
控制器130通过各个通道排队模块802至808对根据各个共享通道CH0至CH7的状态选择的最佳传输通道和最佳接收通道执行通道切换。
各个通道排队模块802至808存储关于最佳传输通道的通道信息。
例如,在第三读取命令、第四读取命令、第三写入命令和第四写入命令从主机102分别被提供的情况下,控制器130检查多个通道CH0至CH7的状态,并且确定多个通道CH0至CH7中用于传输第三读取命令、第四读取命令、第三写入命令和第四写入命令的最佳传输通道。在控制器130在特定时间点t4处传输第三读取命令和第三写入命令并且在特定时间点t5处传输第四读取命令和第四写入命令的情况下,控制器130根据通道CH0至CH7的状态确定在时间点t4处的最佳传输通道,即,用于第三读取命令和第三写入命令的最佳传输通道,并且确定在时间点t5处的最佳传输通道,即,用于第四读取命令和第四写入命令的最佳传输通道。例如,控制器130在多个通道CH0至CH7中,特别是在通过第一通道排队模块802排队的第一共享通道CH0和CH1之间确定第三读取命令的最佳传输通道为CH1并且确定第四读取命令的最佳传输通道为CH0,并且在多个通道CH0到CH7中,特别是在通过第二通道排队模块804排队的第二共享通道CH2和CH3之间确定第三写入命令的最佳传输通道为CH2并且确定第四写入命令的最佳传输通道为CH3。控制器130生成并存储关于用于各个命令的最佳传输通道的通道信息,即,各个命令与最佳传输通道之间的通道映射信息,并且堆叠通过最佳传输通道传输的各个命令的描述符。
例如,控制器130通过最佳传输通道CH1传输第三读取命令,并且根据该事实,第三读取命令被传输到相应的存储器管芯,例如,存储器管芯h 824。控制器130通过最佳传输通道CH2传输第三写入命令,并且根据该事实,第三写入命令被传输到相应的存储器管芯,例如,存储器管芯i 834。控制器130通过最佳传输通道CH0传输第四读取命令,并且根据该事实,第四读取命令被传输到相应的存储器管芯,例如,存储器管芯h+1 826。控制器130通过最佳传输通道CH3传输第四写入命令,并且根据该事实,第四写入命令被传输到相应的存储器管芯,例如,存储器管芯i+1 836。
例如,在通过最佳传输通道CH1传输第三读取命令之后,控制器130释放用于第三读取命令的最佳传输通道CH1。并且,在通过最佳传输通道CH2、CH0和CH3传输第三写入命令、第四读取命令和第四写入命令之后,控制器130释放用于第三写入命令、第四读取命令和第四写入命令的最佳传输通道CH2、CH0和CH3。根据该事实,控制器130共享最佳传输通道CH1、CH2、CH0和CH3以用于传输和接收其它命令或执行结果,即,对于其他命令操作,不将最佳传输通道CH1、CH2、CH0和CH3占用为第三读取命令、第三写入命令、第四读取命令和第四写入命令的专用通道,即,不将最佳传输通道CH1、CH2、CH0和CH3占用为与第三读取命令、第三写入命令、第四读取命令和第四写入命令相对应的命令操作的专用通道。
例如,在存储器管芯h 824中执行与第三读取命令相对应的第三读取操作,在存储器管芯i 834中执行与第三写入命令相对应的第三编程操作,在存储器管芯h+1 826中执行与第四读取命令相对应的第四读取操作,并且在存储器管芯i+1 836中执行与第四写入命令相对应的第四编程操作。
在控制器130在特定时间点t6处接收第三读取操作和第四读取操作的执行结果并且在特定时间点t7处接收第三编程操作和第四编程操作的执行结果的情况下,根据通道CH0至CH7的状态,确定在时间点t6处的最佳接收通道,即,确定用于第三读取操作的执行结果和第四读取操作的执行结果的最佳接收通道,并且在时间点t7处的最佳接收通道被确定,即,确定用于第三编程操作的执行结果和第四编程操作的执行结果的最佳接收通道。例如,控制器130在多个通道CH0至CH7中,特别是在通过第一通道排队模块802排队的第一共享通道CH0和CH1之间确定第三读取操作的执行结果的的最佳接收通道为CH0并且确定第四读取操作的执行结果的的最佳接收通道为CH1,并且在多个通道CH0到CH7中,特别是在通过第二通道排队模块804排队的第二共享通道CH2和CH3之间确定第三编程操作的执行结果的最佳接收通道为CH2并且确定第四编程操作的执行结果的最佳接收通道为CH3。
例如,控制器130通过最佳接收通道CH0接收第三读取操作的执行结果,通过最佳接收通道CH1接收第四读取操作的执行结果,通过最佳接收通道CH2接收第三编程操作的执行结果,并且通过最佳接收通道CH4接收第四编程操作的执行结果。
例如,在通过最佳接收通道CH0至CH3接收第三读取操作的执行结果、第四读取操作的执行结果、第三编程操作的执行结果和第四编程操作的执行结果之后,控制器130释放用于第三读取操作的执行结果、第四读取操作的执行结果、第三编程操作的执行结果和第四编程操作的执行结果的最佳接收通道CH0至CH3。
例如,控制器130将通过最佳传输通道CH1传输的第三读取命令的描述符与通过最佳接收通道CH0接收的第三读取操作的执行结果的描述符进行匹配,然后,将第三读取操作的执行结果,即,第三读取数据,提供给主机102作为对第三读取命令的响应。控制器130将通过最佳传输通道CH0传输的第四读取命令的描述符与通过最佳接收通道CH1接收的第四读取操作的执行结果的描述符进行匹配,然后,将第四读取操作的执行结果,即,第四读取数据,提供给主机102作为对第四读取命令的响应。控制器130将通过最佳传输通道CH2传输的第三写入命令的描述符与通过最佳接收通道CH2接收的第三编程操作的执行结果的描述符进行匹配,并且然后,将第三编程操作的执行结果,即,指示第三写入数据的正常存储的信号,提供给主机102作为对第三写入命令的响应。控制器130将通过最佳传输通道CH3传输的第四写入命令的描述符与通过最佳接收通道CH3接收的第四编程操作的执行结果的描述符进行匹配,然后,将第四编程操作的执行结果,即,指示第四写入数据的正常存储的信号,提供给主机102作为对第四写入命令的响应。
根据本公开的实施例,控制器130检查存储器装置150的多个通道和多个通道的状态,对应于通道的状态来独立地确定用于多个命令的最佳传输通道和用于与命令相对应的命令操作的执行结果的最佳接收通道,并且通过最佳传输通道传输命令,即请求执行命令操作,并且通过最佳接收通道接收执行结果。进一步地,在实施例中,提供包括多个存储器系统110的数据处理系统,每个存储器系统110包括控制器130和存储器装置150。在各自包括控制器130和存储器装置150的存储器系统中,检查多个存储器系统的多个通道和多个通道的状态,对应于通道的状态来独立地确定用于多个命令的最佳传输通道和用于与命令相对应的命令操作的执行结果的最佳接收通道,并且通过最佳传输通道传输命令,即请求执行命令操作,并且通过最佳接收通道接收执行结果。
换言之,根据本公开的实施例,根据用户请求,独立地确定和管理通过其请求执行命令操作的通道和通过其接收命令操作的执行结果作为响应的通道,特别地,根据通道的状态,用于可选命令操作的执行请求通道和执行响应通道被确定和管理为最佳独立通道。由于多个命令操作可以通过独立选择的最佳传输和接收通道被更快速且更典型地执行,并且通道的利用效率和存储器系统110的可靠性得到提高,因此这是有利的。
图9是示出根据实施例的存储器系统的操作进程的流程图。
参照图9,在步骤905处,存储器系统110从主机102接收多个命令。存储器系统110可以从主机102顺序地并且连续地接收多个命令。
在步骤910,使多个命令进行排队并解析多个命令。检查与多个命令相对应的命令操作以及其中命令操作将被执行的存储器装置150。
在步骤915,使存储器装置150的多个通道进行排队,检查多个通道的状态,并且然后调度多个命令的通道。在该方面,对应于多个通道的状态,确定用于传输命令的最佳传输通道,并且确定用于接收与命令相对应的命令操作的执行结果的最佳接收通道。
在步骤920,执行命令操作。具体地,通过最佳传输通道,命令被传输到存储器装置150,特别地,被传输到包括在存储器装置150中的多个存储器管芯中的相应的存储器管芯,并且因此,在存储器装置150的存储器管芯中执行命令操作。
在步骤925,通过最佳接收通道从存储器装置150接收命令操作的执行结果,并且将通过最佳传输通道传输的命令与通过最佳接收通道接收的执行结果相互匹配。
然后,在步骤930,将命令操作的执行结果提供给主机102作为对多个命令的响应。
由于已经参照图5至图8详细描述了根据包括控制器130和存储器装置150的多个存储器系统的多个通道的状态,或包括多个存储器管芯的存储器装置150的多个通道的状态,独立地确定最佳传输通道和最佳接收通道、通过最佳传输通道请求与命令相对应的命令操作、以及通过最佳接收通道接收命令操作的执行结果,本文将省略其进一步描述。
图10至图18是示意性示出图1的数据处理系统的应用示例的简图。
图10是示意性地示出根据本实施例的包括存储器系统的数据处理系统的另一示例的简图。图10示意性地示出应用了根据本实施例的存储器系统的存储卡系统。
参照图10,存储卡系统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所示的元件。
存储器控制器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-RAM)。存储器装置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)。
图11是示意性地示出根据本实施例的包括存储器系统的数据处理系统的另一示例的简图。
参照图11,数据处理系统6200可以包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图11所示的数据处理系统6200可以用作如参照图1描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可以对应于图1和图5所示的存储器装置150,并且存储器控制器6220可以对应于图1和图5所示的控制器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码、涡轮码、里德-所罗门码、卷积码、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被配置为通过各种通信协议的一种或多种与外部装置通信时,根据本实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图12是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。图12示意性地示出应用了根据本实施例的存储器系统的SSD。
参照图12,SSD 6300可以包括控制器6320和包括多个非易失性存储器的存储器装置6340。存储器控制器6320可以对应于图1至图8的存储器系统的控制器130,并且存储器装置6340可以对应于图1至图8的存储器系统的存储器装置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的非易失性存储器来实施。为了便于描述,图11示出缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可以存在于控制器6320的外部。
ECC电路6322可以在编程操作期间计算待编程到存储器装置6340中的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并且在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可以提供与例如主机6310的外部装置的接口功能,非易失性存储器接口6326可以提供与通过多个通道连接的存储器装置6340的接口功能。
此外,应用了图1至图9的存储器系统110的多个SSD 6300可以被设置成实施例如RAID(独立磁盘的冗余阵列)系统的数据处理系统。此时,RAID系统可以包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可以根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,SSD 6300中选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取命令时,RAID控制器可以根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并且将从选择的SSD6300读取的数据提供给主机6310。
图13是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。图13示意性地示出应用了根据本实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图13,eMMC 6400可以包括控制器6430和由一个或多个NAND闪速存储器实施的存储器装置6440。存储器控制器6430可以对应于图1至图9的控制器130,并且存储器装置6440可以对应于图1至图9的存储器装置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)接口。
图14至图17是示意性示出包括根据本实施例的存储器系统的数据处理系统的其它示例的简图。图14至图17示意性地示出应用了根据本实施例的存储器系统的UFS(通用闪速存储)系统。
参照图14至图17,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和图9所示的存储器系统110实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以以参照图11至图13描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以以参照图10描述的存储卡系统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的各种协议来彼此通信。
在图14所示的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。
在图15所示的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。
在图16所示的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。
在图17所示的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。
图18是示意性示出包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的简图。图18是示意性地示出应用了根据本实施例的存储器系统的用户系统的简图。
参照图18,用户系统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至图9描述的存储器系统110。此外,存储模块6950可以被实施为以上参照图12至图17描述的SSD、eMMC和UFS。
用户接口6910可以包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和马达的用户输出接口。
此外,当其中图1至图9的存储器系统110被应用于用户系统6900的移动电子装置时,应用处理器6930可以控制移动电子装置的整体操作,并且网络模块6940可以用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可以在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据,或支持从触摸面板接收数据的功能。
根据本发明的各个实施例的存储器系统、数据处理系统及其操作方法可以降低存储器系统的复杂度和性能恶化,提高存储器装置的使用效率,并且更快速且稳定地处理存储器装置的数据。
虽然为了说明的目的已经根据各个具体实施例描述本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种其它改变和变型。
Claims (20)
1.一种存储器系统,其包括:
存储器装置,其包括适于存储数据的多个存储器管芯;以及
控制器,其经由多个通道可操作地联接到所述存储器装置的所述存储器管芯,
其中所述控制器适于检查所述多个通道,根据通道的状态在所述多个通道中独立地选择最佳传输通道和最佳接收通道,通过所述最佳传输通道请求对所述存储器管芯执行与命令相对应的命令操作,并且通过所述最佳接收通道从所述存储器管芯接收所述命令操作的执行结果。
2.根据权利要求1所述的存储器系统,其中所述控制器进一步将通过所述最佳传输通道对所述存储器管芯请求的所述命令操作与通过所述最佳接收通道从所述存储器管芯接收的所述执行结果进行匹配,然后将所述执行结果提供给主机作为对所述命令的响应。
3.根据权利要求2所述的存储器系统,其中所述控制器进一步将通过所述最佳传输通道请求的所述命令操作的命令的描述符与通过所述最佳接收通道接收的所述执行结果的描述符进行匹配。
4.根据权利要求3所述的存储器系统,
其中所述控制器包括使所述通道进行排队的至少一个通道排队模块,以及
其中所述通道排队模块对所述最佳传输通道和所述最佳接收通道执行通道切换,并且存储关于所述最佳传输通道的通道信息。
5.根据权利要求4所述的存储器系统,
其中所述控制器包括分别与所述通道的一个或多个共享通道组相对应的多个通道排队模块,
其中所述存储器管芯包括分别与共享通道组相对应的一个或多个存储器管芯组,
其中每个存储器管芯组的存储器管芯共享相对应的共享通道组的通道,以及
其中所述控制器检查各个共享通道组的通道,为所述各个共享通道组选择最佳传输通道和最佳接收通道。
6.根据权利要求3所述的存储器系统,其中所述命令的描述符包括与所述命令相对应的数据信息或位置信息以及所述最佳传输通道的指示信息。
7.根据权利要求3所述的存储器系统,其中所述执行结果的描述符包括与所述执行结果相对应的数据信息或位置信息以及所述最佳接收通道的指示信息。
8.根据权利要求1所述的存储器系统,其中所述控制器进一步在通过所述最佳传输通道请求所述命令操作之后释放所述最佳传输通道,并且在通过所述最佳接收通道接收所述执行结果之后释放所述最佳接收通道。
9.根据权利要求8所述的存储器系统,其中所述控制器在所述通道中选择第一通道和第二通道分别作为所述最佳传输通道和所述最佳接收通道;在通过所述第一通道请求第一命令操作之后释放所述第一通道;以及在通过所述第二通道接收所述第一命令操作的执行结果之后释放所述第二通道。
10.根据权利要求9所述的存储器系统,其中所述控制器在通过被释放的第二通道请求第二命令操作之后释放所述第二通道;以及在通过被释放的第一通道接收所述第二命令操作的执行结果之后释放所述第一通道。
11.根据权利要求1所述的存储器系统,其中所述控制器在所述通道中选择在正常状态下处于就绪状态或空闲状态的通道作为所述最佳传输通道和所述最佳接收通道。
12.根据权利要求1所述的存储器系统,其中所述控制器检查所述通道的可用容量或操作级别,并且对应于所述可用容量或所述操作级别在所述通道中选择所述最佳传输通道和所述最佳接收通道。
13.根据权利要求1所述的存储器系统,其中其进一步包括通道中枢模块,其通过所述通道与所述控制器联接,并且适于通过所述最佳传输通道和所述最佳接收通道在所述控制器和所述存储器管芯之间传送所述命令和所述执行结果。
14.一种数据处理系统,其包括:
多个存储器系统,其包括多个存储器装置和分别对应于所述存储器装置的多个控制器;以及
主机装置,其适于为所述存储器系统提供用户请求,
其中所述存储器系统中的第一存储器系统的第一控制器检查所述存储器系统的多个通道,根据所述通道的状态在所述通道中选择最佳传输通道和最佳接收通道,通过所述最佳传输通道将与所述用户请求相对应的命令传输到所述存储器系统,并且通过所述最佳接收通道从所述存储器系统接收与所述命令相对应的命令操作的执行结果。
15.根据权利要求14所述的数据处理系统,其中所述第一控制器在所述通道中选择第一通道和第二通道作为所述最佳传输通道和所述最佳接收通道,在通过所述第一通道将第一命令传输到所述存储器系统中的第二存储器系统之后释放用于所述第一命令的所述第一通道,并且在通过所述第二通道将第二命令传输到所述存储器系统中的第三存储器系统之后释放用于所述第二命令的所述第二通道。
16.根据权利要求15所述的数据处理系统,其中所述第一控制器在通过被释放的第二通道接收与所述第一命令相对应的第一命令操作的执行结果之后,释放用于所述第一命令操作的所述第二通道,并且在通过被释放的第一通道接收与所述第二命令相对应的第二命令操作的执行结果之后释放用于所述第二命令操作的所述第一通道。
17.一种存储器系统的操作方法,所述方法包括:
检查适于存储数据的多个存储器管芯的多个通道;
根据所述通道的状态在所述通道中选择最佳传输通道和最佳接收通道;
通过所述最佳传输通道请求对所述存储器管芯执行与所述命令相对应的命令操作;
通过所述最佳接收通道从所述存储器管芯接收所述命令操作的执行结果;
将通过所述最佳传输通道对所述存储器管芯请求的所述命令操作与通过所述最佳接收通道从所述存储器管芯接收的所述执行结果进行匹配;以及
将所述执行结果提供给所述主机作为对所述命令的响应。
18.根据权利要求17所述的方法,其中所述匹配将通过所述最佳传输通道请求的所述命令操作的所述命令的描述符与通过所述最佳接收通道接收的所述执行结果的描述符进行匹配。
19.根据权利要求17所述的方法,其进一步包括:
在通过所述最佳传输通道请求所述命令操作之后释放所述最佳传输通道;以及
在通过所述最佳接收通道接收所述执行结果之后释放所述最佳接收通道。
20.根据权利要求17所述的方法,其中通过在所述通道中选择具有可用容量或操作级别并具有在正常状态下处于就绪状态或空闲状态的通道作为所述最佳传输通道和所述最佳接收通道来执行选择。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0051481 | 2017-04-21 | ||
KR1020170051481A KR20180118329A (ko) | 2017-04-21 | 2017-04-21 | 메모리 시스템, 데이터 처리 시스템 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108733595A true CN108733595A (zh) | 2018-11-02 |
CN108733595B CN108733595B (zh) | 2022-03-04 |
Family
ID=63853913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810159070.XA Active CN108733595B (zh) | 2017-04-21 | 2018-02-26 | 存储器系统、包括其的数据处理系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10733093B2 (zh) |
KR (1) | KR20180118329A (zh) |
CN (1) | CN108733595B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726032A (zh) * | 2019-01-18 | 2019-05-07 | 记忆科技(深圳)有限公司 | Ssd异常处理方法、装置、计算机设备和存储介质 |
CN109992525A (zh) * | 2019-04-01 | 2019-07-09 | 合肥沛睿微电子股份有限公司 | 快闪存储器控制器 |
CN111752471A (zh) * | 2019-03-28 | 2020-10-09 | 爱思开海力士有限公司 | 存储器系统、存储器控制器和存储器控制器的操作方法 |
CN113272900A (zh) * | 2018-12-07 | 2021-08-17 | 美光科技公司 | 具有可调节活动通道计数的存储器电路封装 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102523327B1 (ko) * | 2018-03-19 | 2023-04-20 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
JP2020016954A (ja) * | 2018-07-23 | 2020-01-30 | キオクシア株式会社 | メモリシステム |
KR20210008604A (ko) * | 2019-07-15 | 2021-01-25 | 에스케이하이닉스 주식회사 | 메모리 시스템의 입출력 성능을 향상시키는 장치 및 방법 |
US11539623B2 (en) | 2020-08-31 | 2022-12-27 | Micron Technology, Inc. | Single field for encoding multiple elements |
US11412075B2 (en) | 2020-08-31 | 2022-08-09 | Micron Technology, Inc. | Multiple protocol header processing |
US11360920B2 (en) | 2020-08-31 | 2022-06-14 | Micron Technology, Inc. | Mapping high-speed, point-to-point interface channels to packet virtual channels |
US11296995B2 (en) | 2020-08-31 | 2022-04-05 | Micron Technology, Inc. | Reduced sized encoding of packet length field |
US11418455B2 (en) | 2020-08-31 | 2022-08-16 | Micron Technology, Inc. | Transparent packet splitting and recombining |
US11404095B1 (en) * | 2021-01-21 | 2022-08-02 | Micron Technology, Inc. | Reduced pin status register |
KR20220135786A (ko) * | 2021-03-31 | 2022-10-07 | 에스케이하이닉스 주식회사 | 메모리 시스템에 포함된 복수의 메모리 장치에서 수행되는 동작에 대해 스케줄링하는 장치 및 방법 |
US11995008B2 (en) * | 2021-06-22 | 2024-05-28 | Advanced Micro Devices, Inc. | Memory controller with hybrid DRAM/persistent memory channel arbitration |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140351456A1 (en) * | 2013-05-21 | 2014-11-27 | Tal Sharifie | Command and data selection in storage controller systems |
CN105425903A (zh) * | 2014-09-17 | 2016-03-23 | 宏达国际电子股份有限公司 | 便携式装置及其控制方法 |
CN106055267A (zh) * | 2015-04-03 | 2016-10-26 | 爱思开海力士有限公司 | 包括主机命令队列的存储器控制器及操作其的方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009039222A2 (en) | 2007-09-19 | 2009-03-26 | Marvell World Trade Ltd. | Flexible sequencer design architecture for solid state memory controller |
CN104461727A (zh) | 2013-09-16 | 2015-03-25 | 华为技术有限公司 | 内存模组访问方法及装置 |
KR102161448B1 (ko) | 2014-02-03 | 2020-10-05 | 삼성전자 주식회사 | 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법 |
US9377958B2 (en) | 2014-08-12 | 2016-06-28 | Facebook, Inc. | Allocation of read/write channels for storage devices |
KR101687762B1 (ko) | 2014-09-25 | 2017-01-03 | 충남대학교산학협력단 | 저장 장치 및 그것의 커맨드 스케줄링 방법 |
KR102274930B1 (ko) * | 2014-09-26 | 2021-07-07 | 삼성에스디에스 주식회사 | 채널 연결 관리 방법 및 장치 |
KR20180007374A (ko) * | 2016-07-12 | 2018-01-23 | 삼성전자주식회사 | 메모리 채널의 소프트웨어 트레이닝을 수행하는 전자 장치 및 그것의 메모리 채널 트레이닝 방법 |
US10037150B2 (en) * | 2016-07-15 | 2018-07-31 | Advanced Micro Devices, Inc. | Memory controller with virtual controller mode |
-
2017
- 2017-04-21 KR KR1020170051481A patent/KR20180118329A/ko unknown
-
2018
- 2018-01-05 US US15/862,755 patent/US10733093B2/en active Active
- 2018-02-26 CN CN201810159070.XA patent/CN108733595B/zh active Active
-
2020
- 2020-07-01 US US16/918,063 patent/US11321230B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140351456A1 (en) * | 2013-05-21 | 2014-11-27 | Tal Sharifie | Command and data selection in storage controller systems |
CN105425903A (zh) * | 2014-09-17 | 2016-03-23 | 宏达国际电子股份有限公司 | 便携式装置及其控制方法 |
CN106055267A (zh) * | 2015-04-03 | 2016-10-26 | 爱思开海力士有限公司 | 包括主机命令队列的存储器控制器及操作其的方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113272900A (zh) * | 2018-12-07 | 2021-08-17 | 美光科技公司 | 具有可调节活动通道计数的存储器电路封装 |
CN109726032A (zh) * | 2019-01-18 | 2019-05-07 | 记忆科技(深圳)有限公司 | Ssd异常处理方法、装置、计算机设备和存储介质 |
CN109726032B (zh) * | 2019-01-18 | 2022-07-15 | 记忆科技(深圳)有限公司 | Ssd异常处理方法、装置、计算机设备和存储介质 |
CN111752471A (zh) * | 2019-03-28 | 2020-10-09 | 爱思开海力士有限公司 | 存储器系统、存储器控制器和存储器控制器的操作方法 |
CN109992525A (zh) * | 2019-04-01 | 2019-07-09 | 合肥沛睿微电子股份有限公司 | 快闪存储器控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN108733595B (zh) | 2022-03-04 |
US20180307597A1 (en) | 2018-10-25 |
US11321230B2 (en) | 2022-05-03 |
US10733093B2 (en) | 2020-08-04 |
US20200334140A1 (en) | 2020-10-22 |
KR20180118329A (ko) | 2018-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108733595A (zh) | 存储器系统、包括其的数据处理系统及其操作方法 | |
CN108572927A (zh) | 存储器系统及其操作方法 | |
CN108255739A (zh) | 存储器系统及其操作方法 | |
CN110244907A (zh) | 存储器系统及该存储器系统的操作方法 | |
CN108304141A (zh) | 存储器系统及其操作方法 | |
CN108241587A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN109947358A (zh) | 存储器系统及其操作方法 | |
CN109426449A (zh) | 存储器系统及其操作方法 | |
CN108388525A (zh) | 存储器系统及其操作方法 | |
CN109388594A (zh) | 存储器系统及其操作方法 | |
CN109521947A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN109656472A (zh) | 存储器系统及其操作方法 | |
CN108345550A (zh) | 存储器系统 | |
CN107591182A (zh) | 存储器系统及其操作方法 | |
CN109656837A (zh) | 存储器系统及其操作方法 | |
CN110362270A (zh) | 存储器系统及其操作方法 | |
CN110473582A (zh) | 存储器系统及其操作方法 | |
CN107797855A (zh) | 存储器系统及其操作方法 | |
CN110308867A (zh) | 存储器系统及其操作方法 | |
CN110347330A (zh) | 存储器系统及其操作方法 | |
CN108389602A (zh) | 存储器系统及其操作方法 | |
CN109390003A (zh) | 存储器系统及其操作方法 | |
CN108108308A (zh) | 存储器系统及其操作方法 | |
CN108447513A (zh) | 存储器系统及其操作方法 | |
CN109032501A (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 |