CN109753457A - 数据处理***及其操作方法 - Google Patents
数据处理***及其操作方法 Download PDFInfo
- Publication number
- CN109753457A CN109753457A CN201811151417.2A CN201811151417A CN109753457A CN 109753457 A CN109753457 A CN 109753457A CN 201811151417 A CN201811151417 A CN 201811151417A CN 109753457 A CN109753457 A CN 109753457A
- Authority
- CN
- China
- Prior art keywords
- storage system
- storage
- data
- equipment
- host
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 70
- 238000011017 operating method Methods 0.000 title claims abstract description 14
- 238000003860 storage Methods 0.000 claims abstract description 537
- 230000008878 coupling Effects 0.000 claims description 13
- 238000010168 coupling process Methods 0.000 claims description 13
- 238000005859 coupling reaction Methods 0.000 claims description 13
- 238000013500 data storage Methods 0.000 claims description 12
- 230000003362 replicative effect Effects 0.000 claims 1
- 238000013507 mapping Methods 0.000 description 25
- 230000005540 biological transmission Effects 0.000 description 18
- 238000007726 management method Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 101100520505 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PMU1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- 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
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种数据处理***及其操作方法。一种数据处理***可以包括多个存储***以及被配置成为存储***提供命令的主机。存储***之中的第一存储***可以从主机接收命令,检查与命令相对应的多个命令操作要在其中被执行的存储***中的每个存储***,通过多个专用通道将命令之中的相应命令传输给存储***之中除了第一存储***以外的相应的剩余存储***,并且在剩余存储***中的至少一个存储***中执行与第一存储***相对应的第一命令操作。
Description
相关申请的交叉引用
本申请要求于2017年11月7日提交的申请号为10-2017-0147314的韩国专利申请的优先权,其公开的内容通过引用整体合并于此。
技术领域
各种实施例总体而言涉及电子设备。特别地,实施例的示例可以涉及数据处理***及其操作方法。
背景技术
计算机环境范式已经转变成能随时随地使用的普适计算***。即,诸如移动电话、数码相机和笔记本电脑的便携式电子设备的使用已经急剧增加。这些便携式电子设备通常使用具有用于储存数据的一个或更多个存储设备的存储***。存储***可以用作便携式电子设备的主存储设备或辅助存储设备。
存储***提供了优异的稳定性、耐久性、高信息访问速度和低功耗,因为它们没有移动部件。具有这种优势的存储***的示例包括通用串行总线(USB)存储设备、具有各种接口的存储卡和固态硬盘(SSD)。
发明内容
根据一个实施例,一种数据处理***可以包括多个存储***以及被配置成为所述存储***提供命令的主机。所述存储***之中的第一存储***可以从所述主机接收命令,检查与所述命令相对应的多个命令操作要在其中被执行的所述存储***中的每个存储***,通过多个专用通道将所述命令之中的相应命令传输给所述存储***之中除了所述第一存储***以外的相应的剩余存储***,并且在所述剩余存储***中的至少一个存储***中执行与所述第一存储***相对应的第一命令操作。
存储***可以将与所述命令操作相对应的数据储存在包括在存储***的控制器的存储器中的静态随机存取存储器(SRAM)中。
所述数据处理***还可以包括所述第一存储***的第一控制器,所述第一存储***被配置为从所述主机接收命令,检查与所述命令相对应的多个命令操作要在其中被执行的所述存储***中的每个存储***,通过多个专用通道将相应命令传输给除了所述第一存储***以外的相应的剩余存储***,并且在所述剩余存储***中的至少一个存储***中执行与所述第一存储***相对应的所述第一命令操作。
根据一个实施例,一种数据处理***的操作方法可以包括从主机接收用于多个存储***的多个命令。所述方法可以包括:检查与所述命令相对应的多个命令操作要在其中被执行的所述存储***中的每个存储***。所述方法可以包括:通过多个专用通道来将所述命令之中的相应命令传输到相应的存储***中的每个存储***。所述方法可以包括:在所述存储***中的每个存储***中执行相应的命令操作。所述执行相应的命令操作的步骤可以包括:在除所述第一存储***以外的剩余存储***中的至少一个中执行与所述存储***之中的第一存储***相对应的第一命令操作。
根据一个实施例,一种数据处理***可以包括主机。所述数据处理***可以包括第一存储***,所述第一存储***包括第一主机接口和第一***接口。所述数据处理***可以包括第二存储***,所述第二存储***包括第二主机接口和第二***接口。所述数据处理***可以包括将所述第一***接口与所述第二***接口耦接的专用通道。所述第一存储***与所述第二存储***中的任意一个可以基于所述主机的命令来执行所述主机的操作。
当所述第一存储***可以执行所述主机的操作时,包括在所述第一存储***中的第一处理器驱动所述第一***接口,并且与对所述第一***接口的驱动相对应地,将所述第一***接口的输出提供给所述第二***接口。
附图说明
图1是示出根据一个实施例的包括存储***的数据处理***的框图。
图2至图4示出了在根据一个实施例的数据处理***中的数据处理操作的示例。
图5是描述在根据一个实施例的数据处理***中处理数据的操作过程的流程图。
图6至图10是示意性地示出根据各种实施例的包括存储***的数据处理***的应用示例的示图。
具体实施方式
下面参照附图描述各种实施例。然而,我们注意,示例可以以其他不同的实施例、形式及其变形来体现,并且不应被解释为限于本文所阐述的实施例。相反,提供这些实施例使得本公开将变得全面和完整,并且这些实施例将概念充分地传达给本领域技术人员。贯穿本公开,在各个附图和实施例中,相同的附图标记表示相同的部件。
要理解的是,虽然术语“第一”、“第二”、“第三”等在本文中可以用于描述各种元件,但是这些元件不为这些术语所限制。这些术语用于将一个元件与另一个元件区分开。因此,在不偏离本公开的精神和范围的情况下,下面描述的第一元件也能被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地示出实施例的特征,比例可能已经被夸大。当一个元件被称为连接到或者耦接到另一个元件时,要理解的是,前者可以直接连接到或者耦接到后者,或者通过前者与后者之间的中间元件电连接到或者耦接到后者。
还要理解的是,当一个元件被称为“连接到”或者“耦接到”另一个元件时,其可以直接在另一个元件上,连接到或者耦接到另一个元件,或者可能存在一个或更多个中间元件。另外,还要理解的是,当一个元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可能存在一个或更多个中间元件。
本文中使用的术语仅是用来描述特定的实施例,而不意图进行限制。
正如本文所使用的,单数术语也用来包括复数形式,除非上下文另有明确说明。
还要理解的是,术语“包括”、“包括有”、“包含”和“包含有”在用于本说明书中时指定所述元件的存在,但不排除一个或更多个其他元件的存在或添加。正如本文所使用的,术语“和/或”包括一个或更多个有关联的列出项的任意和所有组合。
除非另外定义,本文中使用的包括技术术语和科学术语的所有术语具有与本公开所属领域中的普通技术人员通常理解的含义相同的含义。还要理解的是,术语(诸如在通常使用的词典中定义的那些术语)应当被解释为具有与它们在本公开的上下文及相关领域中的含义一致的含义,并且不以理想化或过于正式的意义来解释,除非本文中明确地如此定义。
在下面的描述中,阐述众多的特定细节以便提供对本公开的全面的理解。可以在没有这些特定细节的部分或所有的情况下来实践概念。在其他例子中,不详细描述众所周知的过程结构和/或过程以便避免不必要地使本公开模糊不清。
还要注意的是,在一些例子中,如对本领域技术人员来说明显的是,结合一个实施例描述的特征或元件可以单独使用或者与另一个实施例的特征或元件组合使用,除非另外特别表明。
实施例可以涉及能够在多个存储***中快速且稳定地处理数据并能够使存储***的利用效率最大化的数据处理***以及该数据处理***的操作方法。
图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)和静态随机存取存储器(SRAM)的易失性存储器件以及诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)和快闪存储器的非易失性存储器件来实现。
存储***110可以包括储存要被主机102访问的数据的存储设备150以及可以对数据在存储设备150中的储存进行控制的控制器130。
控制器130和存储设备150可以被集成到单个半导体器件中,该单个半导体器件可以包括在如上述例示的各种类型的存储***中。
存储***110可以被配置为以下设备的部分:计算机、超级移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏播放机、导航***、黑匣子、数码相机、数字多媒体广播(DMB)播放器、3D电视、智能电视、数字录音机、数字音频播放器、数字图片记录器、数字视频记录器、数字视频播放器、配置数据中心的储存器、能够在无线环境下传输与接收信息的设备、配置家庭网的各种电子设备中的一种电子设备、配置计算机网络的各种电子设备中的一种电子设备、配置远程信息处理网络的各种电子设备中的一种电子设备、射频识别(RFID)设备、或配置计算***的各种组成元件中的一种组成元件。
存储设备150可以是非易失性存储器件,并且即使未通电,存储设备150也可以保留其中储存的数据。存储设备150可以储存通过写入操作而从主机102提供的数据,且通过读取操作将其中储存的数据提供给主机102。存储设备150可以包括多个存储块152至156,存储块152至156中的每个存储块可以包括多个页。每个页可以包括多个存储单元,多个字线WL电耦接到所述多个存储单元。
控制器130可以控制存储设备150的总体操作,诸如读取操作、写入操作、编程操作以及擦除操作。例如,存储***110的控制器130可以响应于来自主机102的请求而控制存储设备150。控制器130可以将从存储设备150读取到的数据提供给主机102,和/或将从主机102提供的数据储存到存储设备150中。
控制器130可以包括通过内部总线而皆可操作地耦接的主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、存储器接口I/F单元142(诸如NAND快闪控制器(NFC))和存储器144。
主机接口单元132可以处理从主机102提供的命令和数据,并且可以通过以下各种接口协议中的至少一种接口协议来与主机102进行通信:通用串行总线(USB)、多媒体卡(MMC)、***组件互连快速(PCI-E)、小型计算机***接口(SCSI)、串行连接SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机***接口(SCSI)、增强型小型磁盘接口(ESDI)和集成驱动电路(IDE)等。
ECC单元138可以在读取操作期间检测并校正从存储设备150读取的数据中的错误。当错误比特位的数量大于或等于可校正错误比特位的阈值数量时,ECC单元138可以不校正错误比特位,并可以输出指示校正错误比特位失败的错误校正失败信号。
ECC单元138可以基于诸如以下的编码调制来执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-乔赫里-奥康让(BCH)码、Turbo码、里德-所罗门(RS)码、卷积码、递归***码(RSC)、格码调制(TCM)、块编码调制(BCM)等)。ECC单元138可以包括用于错误校正操作的所有电路、模块、***或设备。
PMU 140可以提供并管理控制器130的电力。
存储器接口单元142可以用作控制器130与存储设备150之间的存储/储存接口,以允许控制器130响应于来自主机102的请求而控制存储设备150。存储器接口单元142可以产生用于存储设备150的控制信号,并且当存储设备150是快闪存储器时,尤其当存储设备150是NAND快闪存储器时,存储器接口单元142可以在处理器134的控制下处理要被提供给存储设备150的数据。应注意:本公开不限于NAND快闪存储器/NAND快闪接口,并且可以根据存储设备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可以驱动固件(也被称为快闪转换层(FTL))以控制存储***110的总体操作。
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至图4示出了在根据一个实施例的数据处理***中的数据处理操作的示例。
参考图2,控制器130可以执行与从主机102接收到的多个命令相对应的命令操作。例如,控制器130可以执行与从主机102接收到的写入命令相对应的编程操作。这里,控制器130可以将与写入命令相对应的用户数据编程并储存在存储设备150的存储块552、554、562、564、572、574、582和584中,并且可以在编程操作对存储块552、554、562、564、572、574、582和584执行时产生并更新用于用户数据的元数据,然后将产生并更新的元数据储存在存储设备150的存储块552、554、562、564、572、574、582和584中。
控制器130可以产生并更新下述信息:表示在包括在存储设备150的存储块552、554、562、564、572、574、582和584中的页中储存的用户数据的信息,例如,第一映射数据和第二映射数据。换言之,控制器130可以产生并更新第一映射数据的逻辑片段(包括L2P片段)和第二映射数据的物理片段(包括P2L片段),并且可以将产生并更新的逻辑片段储存在包括在存储设备150的存储块552、554、562、564、572、574、582和584中的页中。
例如,控制器130可以将与从主机102接收到的写入命令相对应的用户数据高速缓存并缓冲到在控制器130的存储器144中包括的第一缓冲器510中。换言之,控制器130可以将用户数据的数据片段512储存在第一缓冲器510(其为数据缓冲器/高速缓存)中,并且将在第一缓冲器510中储存的数据片段512储存在包括在存储设备150的存储块552、554、562、564、572、574、582和584中的页中。由于与从主机102接收到的写入命令相对应的用户数据的数据片段512被编程并储存在包括在存储设备150的存储块552、554、562、564、572、574、582和584中的页中,因此控制器130可以产生并更新第一映射数据和第二映射数据,并且将其储存在包括在控制器130的存储器144中的第二缓冲器520中。简而言之,控制器130可以将用于用户数据的第一映射数据的L2P片段522和第二映射数据的P2L片段524储存在第二缓冲器520(其为映射缓冲器/高速缓存)中。这里,如上所述,第一映射数据的L2P片段522和第二映射数据的P2L片段524或者用于第一映射数据的L2P片段522的映射列表和用于第二映射数据的P2L片段524的映射列表可以被储存在控制器130的存储器144中的第二缓冲器520中。另外,控制器130可以将在第二缓冲器520中储存的第一映射数据的L2P片段522和第二映射数据的P2L片段524储存在包括在存储设备150的存储块552、554、562、564、572、574、582和584中的页中。
此外,控制器130可以执行与从主机102接收到的多个命令相对应的命令操作。例如,控制器130可以执行与从主机102接收到的多个读取命令相对应的读取操作。这里,控制器130可以将与读取命令相对应的用户数据的映射片段(例如,第一映射数据的L2P片段522和第二映射数据的P2L片段524)加载到第二缓冲器520并对该映射片段进行检查,然后读取在存储设备150的存储块552、554、562、564、572、574、582和584之中的相应存储块的页中储存的用户数据,将读取的用户数据的数据片段512储存在第一缓冲器510中,之后将其传送到主机102。
此外,控制器130可以执行与从主机102接收到的多个命令相对应的命令操作。例如,控制器130可以执行与从主机102接收到的多个擦除命令相对应的擦除操作。这里,控制器130可以检测存储设备150的存储块552、554、562、564、572、574、582和584之中与擦除命令相对应的存储块,并且对检测到的存储块执行擦除操作。
当执行后台操作(例如,从包括在存储设备150中的存储块复制数据或交换数据的操作,诸如垃圾回收操作或损耗均衡操作)时,控制器130可以将相应用户数据的数据片段512储存在第一缓冲器510中,将与用户数据相对应的映射数据的映射片段522和524储存在第二缓冲器520中,并且执行垃圾回收操作或损耗均衡操作。
根据本公开的一个实施例,数据处理***100可以包括一个或更多个包括控制器130和存储设备150的存储***110。换言之,数据处理***100可以包括主机102以及一个存储***110或多个存储***110。特别地,在包括多个存储***110的数据处理***100中,存储***110可以执行与从主机102接收到的多个命令相对应的命令操作。当存储***110不仅执行命令操作还执行后台操作时,数据可以在存储***110之间传输/接收并且可以储存在存储***110中。例如,当在存储***110中执行命令操作和后台操作时,包括在存储***110的任意一个存储***中的控制器130可以与另一个存储***110一起传输/接收与命令操作和后台操作相对应的数据以将该数据储存在这两个存储***110中,并且在这两个存储***110的每个存储***中处理与命令操作和后台操作相对应的数据。
参考图3,如上所述,数据处理***100可以包括主机102以及多个存储***,其中每个存储***具有控制器(图1和图2中的130)和存储设备(图1和图2中的150)。例如,数据处理***100可以包括第一存储***700和第二存储***750。这里,尽管为了便于说明而描述了数据处理***100可以包括两个存储***700和750来作为本公开的实施例的示例,但该创新的概念也可以用于数据处理***100包括两个或更多个图1中示出的存储***110的情况。
第一存储***700可以包括第一控制器710和第一存储设备730,而第二存储***750可以包括第二控制器760和第二存储设备780。第一控制器710和第二控制器760可以分别包括主机接口(主机I/F1和主机I/F2)单元712和762,处理器(处理器1和处理器2)714和764,错误校正码(ECC1和ECC2)单元716和766,电源管理单元(PMU1和PMU2)718和768,存储器接口(存储器I/F1和存储器I/F2)单元720和770,存储器(存储器1和存储器2)722和772,以及***接口(***I/F1和***I/F2)模块724和774。第一存储设备730可以包括多个存储块732、734和736,而第二存储设备780可以包括多个存储块782、784和786。
***接口(***I/F1和***I/F2)模块724和774可以处理命令以及包括在数据处理***100中的第一存储***700与第二存储***750之间的数据的传输/接收。***接口(***I/F1和***I/F2)模块724和774可以通过用于第一存储***700与第二存储***750之间的通信的各种接口协议中的一种或更多种来具体例示。例如,***接口(***I/F1和***I/F2)模块724和774可以通过例如移动产业处理器接口(MIPI)中的MIPI M-PHY(M物理层)和MIPI UniPro(统一协议)的通用快闪储存(UFS)接口或者通过例如USB快闪驱动器(UFD)、MMC、SD、迷你SD和微型SD的各种卡协议来具体例示。另外,***接口(***I/F1和***I/F2)模块724和774可以被具体例示为允许第一存储***700与第二存储***750通过链路层切换(例如,UniPro的层3(L3)切换)来互相通信。***接口(***I/F1和***I/F2)模块724和774可以分别存在于分别包括在第一存储***700和第二存储***750中的第一控制器710和第二控制器760的内部(如图3所示),或者分别存在于第一控制器710和第二控制器760的外部。***接口(***I/F1和***I/F2)模块724和774可以通过设备接口来处理命令以及第一控制器710与第二控制器760之间的数据的传输/接收。
换言之,第一存储***700可以通过***接口模块724来耦接到第二存储***750,并且可以通过***接口模块724来与第二存储***750交换信号和数据。正如参照图4描述的,***接口模块(***I/F1)724可以包括物理层400。物理层400可以包括用于与第二存储***750交换数据的物理组件,例如用于与其他存储***以及第二存储***750交换数据的传输端子Tx 402、404、406和408以及接收端子Rx 410和412。物理层400可以包括多个传输端子406和408以增大用于将数据传输到存储***的带宽。在一个实施例中,第一存储***700的处理器(处理器1)714可以驱动第一存储***700的***接口模块(***I/F1)724,并且与对***接口模块(***I/F1)724的驱动相对应地,将***接口模块(***I/F1)724的输出(例如,命令和/或数据)提供给第二存储***750的***接口模块(***I/F2)774。
第二存储***750可以通过***接口模块774来耦接到第一存储***700,并且可以通过***接口模块774来与第一存储***700交换信号和数据。正如参照图4描述的,***接口模块(***I/F2)774可以包括物理层450。物理层450可以包括用于与第一存储***700交换数据的物理组件,例如用于与第一存储***700交换数据的传输端子Tx456和458以及接收端子Rx 452和454。物理层450可以还包括多个另外的传输端子(未示出)以增大用于将数据传输到存储***的带宽。在一个实施例中,第二存储***750的处理器(处理器2)764可以驱动第二存储***750的***接口模块(***I/F2)774,并且与对***接口模块(***I/F2)774的驱动相对应地,将***接口模块(***I/F2)774的输出(例如,命令和/或数据)提供给第一存储***700的***接口模块(***I/F1)724。
图4示意性地示出了在根据一个实施例的数据处理***中的多个存储***之间传输数据的***接口模块724和***接口模块774。如上所述,***接口模块724和***接口模块774可以分别包括在第一存储***700和第二存储***750中,分别存在于第一存储***700和第二存储***750的外部,或者存在于主机102的内部。可以存在***接口模块724和***接口模块774中的每个***接口模块,以将第一存储***700与第二存储***750彼此耦接。换言之,第一存储***700可以经由***接口模块724的物理层400来耦接到第二存储***750,而第二存储***750可以经由***接口模块774的物理层450来耦接到第一存储***700。即,***接口模块724和***接口模块774可以将第一存储***700和第二存储***750耦接。特别地,***接口模块724和***接口模块774可以形成用于在第一存储***700与第二存储***750之间交换信号和数据的多个通道或多个通路(lane)。所述通道或通路可以是用于在存储***700与存储***750之间交换信号和数据的专用通道。
物理层400可以包括多个传输端子和多个接收端子。在各种类型或种类的第一存储***700中,包括在物理层400中的传输端子和接收端子的数量可以变化。物理层450可以包括多个传输端子和多个接收端子。在各种类型或种类的第二存储***750中,包括在物理层450中的传输端子和接收端子的数量可以变化。当第一存储***700和第二存储***750为不同类型或不同种类的***时,包括在物理层400中的传输端子和接收端子的数量可以不同于包括在物理层450中的传输端子和接收端子的数量。在物理层400和物理层450中彼此耦接的传输端子和接收端子可以形成单个通道或通路。传输端子中的任意一个传输端子可以将信号和数据传输到与其耦接的接收端子,而接收端子中的任意一个接收端子可以从与其耦接的传输端子接收信号和数据。未耦接到接收端子的传输端子以及未耦接到传输端子的接收端子可以不操作或不被使用。
在数据处理***100中,执行对多个存储***的控制和管理功能的任意存储***(例如,主存储***)可以从主机102接收用于其他存储***以及主存储***的命令,然后将从主机接收到的命令以及与命令相对应的数据传输到其他存储***或者从其他存储***接收所述命令以及所述数据。在根据本公开的一个实施例的数据处理***100中,存储***之中的第一存储***可以基于存储***的***信息而被确定为主存储***,或者通过存储***之间的竞争而被确定为主存储***,之后其他存储***可以被确定为从存储***。
例如,数据处理***100可以基于以下来确定存储***之中的主存储***:存储***的***信息,即,在每个存储***中或者在包括在每个存储***中的控制器130与存储设备150中对命令操作的能力(capability,诸如对命令操作的执行能力、处理能力、处理速度、处理延时(process latency)等),以及可靠性。另外,数据处理***100可以通过存储***之间的竞争来确定存储***之中的主存储***。例如,可以通过根据主机102与存储***中的每个存储***之间的耦接级别的竞争来确定主存储***。根据主机102与存储***之间的耦接状态,与主机102具有最高耦接状态的第一存储***可以被确定为主存储***,或根据与主机102的耦接次序,具有最高耦接级别的第一存储***可以被确定为主存储***。
在数据处理***100中,通过存储***之间的竞争或存储***的***信息,存储***可以被划分成初级存储***、二级存储***、三级存储***、四级存储***等。在初级存储***被确定为主存储***之后,主存储***可以通过存储***之间的竞争或存储***的***信息而动态地变成例如二级存储***或三级存储***。此时,初级存储***可以变成从存储***。
存储***之中的主存储***可以从主机102接收用于多个从存储***的多个命令以及用于主存储***的多个命令,并且控制和管理与要在从存储***以及主存储***中执行的命令相对应的命令操作。主存储***可以检查从存储***之中的其中每个命令操作要被执行的任何从存储***,然后控制和管理与从存储***一起传输/接收每个相应的命令和数据。主存储***可以检查要在从存储***中执行的后台操作,然后在后台操作在存储***中被执行时控制和管理数据的传输/接收。下面,为了便于描述,以包括在数据处理***100中的第一存储***700与第二存储***750可以分别为主存储***和从存储***作为示例进行了具体描述。
换言之,通过第一存储***700和第二存储***750的***信息以及它们之间的竞争,第一存储***700可以是主存储***,而第二存储***750可以是从存储***。如上所述,将第一存储***700作为主存储***的指定且将第二存储***750作为从存储***的指定可以通过第一存储***700和第二存储***750的***信息以及它们之间的竞争而动态地改变。简而言之,第二存储***750可以变成主存储***,而第一存储***700可以变成从存储***。
第一存储***700的第一控制器710可以检查第二存储***750(即,第二存储***750的第二存储设备780和第二控制器760)的***信息以及第一存储***700(即,第一存储***700的第一存储设备730和第一控制器710)的***信息。第一存储***700的第一控制器710可以通过***接口模块724和***接口模块774从第二存储***750的第二控制器760或者通过主机接口模块712和主机接口模块762从主机102接收第二存储***750的***信息。此时,第二存储***750的第二控制器760可以将第二存储***750的***信息提供给主机102,且主机102可以将第二存储***750的***信息提供给第一存储***700的第一控制器710。
当第一存储***700的第一控制器710从主机102接收多个命令时,第一控制器710可以检查命令,尤其是与命令相对应的命令操作以及命令操作要在其中被执行的存储***。例如,当第一控制器710从主机102接收多个写入命令、读取命令或擦除命令时,第一控制器710可以检查与写入命令相对应的编程操作、与读取命令相对应的读取操作或与擦除命令相对应的擦除操作要在其中被执行的存储***,然后如上文所述,控制和管理在每个存储***中执行编程操作、读取操作或擦除操作。
第一存储***700和第二存储***750中的每个存储***或者第一存储***700的第一控制器710和第二存储***750的第二控制器760中的每个控制器可以包括路由单元(routing unit)。特别地,主存储***或主存储***的控制器可以通过路由单元来检查与从主机102接收到的命令相对应的命令操作要在其中被执行的存储***中的每个存储***,然后将命令传输到相应的存储***。换言之,第一控制器710可以将从主机102接收到的命令传输到与该命令相对应的命令操作要在其中被执行的存储***的控制器。第一控制器710可以使用包括在从主机102接收到的命令中的标识符(例如,命令初启程序ID)来检查与该命令相对应的命令操作要在其中被执行的存储***,并将该命令传输给经检查的存储***。第一控制器710可以基于映射表来管理命令以及该命令被传输到的存储***。
更具体地,当第一控制器710从主机102接收多个写入命令(例如,第一写入命令、第二写入命令和第三写入命令)时,第一控制器710可以检查与第一写入命令相对应的第一编程操作要在其中被执行的第一存储***700、与第二写入命令相对应的第二编程操作要在其中被执行的第二存储***750以及与第三写入命令相对应的第三编程操作要在其中被执行的第一存储***700。另外,第一控制器710可以随后在第一存储***700中执行第一编程操作和第三编程操作,并且可以通过***接口模块724和***接口模块774将第二写入命令传输到第二存储***750的第二控制器760使得第二编程操作在第二存储***750中被执行。
第二控制器760可以通过第一控制器710从主机102接收第二写入命令,并且在第二存储***750中执行与第二写入命令相对应的第二编程操作。接下来,第二控制器760可以通过***接口模块724和***接口模块774将第二编程操作的执行结果传输到第一控制器710,并且第一控制器710可以将从第二控制器760接收到的第二编程操作的执行结果提供给主机102。另外,在一个实施例中,第二控制器760可以直接向主机102传输并提供第二编程操作的执行结果。
在第一编程操作在第一存储***700中执行的期间,当与第一编程操作的执行相对应的第一用户数据的大小或与第一编程操作的执行相对应的第一元数据的大小超过包括在第一控制器710中的存储器722的大小(例如,包括在存储器722中的第一缓冲器510和第二缓冲器520的大小)时,第一控制器710可以将包括在第一用户数据中的数据片段之中的一些片段以及包括在第一元数据中的元片段储存在包括在存储器722中的第一缓冲器510和第二缓冲器520中,并且将其他片段储存在包括在第二存储***750的第二控制器760的第二存储器772中的第一缓冲器510和第二缓冲器520中。换言之,在第一编程操作在第一存储***700中执行的期间,第一控制器710可以将与第一编程操作相对应的用户数据和元数据高速缓存并缓冲在包括在第二存储***750的第二控制器760中的存储器772中以及包括在第一存储***700的第一控制器710中的存储器722中,以在第一存储***700中执行第一编程操作。第一控制器710可以将第一编程操作的执行结果提供给主机102。
由于第一编程操作在第一存储***700中被执行,因此当第一存储***700处于忙碌状态(例如,第一控制器710和第一存储设备730的通道状态处于忙碌状态)时,或者当第一存储***700的操作或性能处于不足状态(例如,第一存储***700的操作时钟、电力水平、电流/电压电平、操作时序和温度水平比阈值水平低)时,第一控制器710可以控制并管理要在第二存储***750中执行的第三编程操作。第一控制器710可以通过***接口模块724和***接口模块774将第三写入命令传输到第二存储***750的第二控制器760,使得第三编程操作的临时编程操作可以在第二存储***750中执行。
第二控制器760可以在第二存储***750中执行与从第一控制器710接收到的第三写入命令相对应的第三编程操作,并且通过***接口模块724和***接口模块774将第三编程操作的执行结果传输到第一控制器710。第一控制器710可以基于从第二控制器760接收到的第三编程操作的执行结果来在第二存储***750中检查与第三写入命令相对应的第三用户数据的第三元数据,并且在存储器722或第一存储设备730中储存并管理第三元数据。
当第一存储***700处于闲置状态或就绪状态(例如,第一控制器710和第一存储设备730的通道状态处于闲置状态或就绪状态)时,或者当第一存储***700的操作或性能处于正常状态(例如,第一存储***700的操作时钟、电力水平、电流/电压电平、操作时序和温度水平正常处于阈值水平之内)时,第一控制器710可以检查储存在存储器722或第一存储设备730中的第三元数据,然后将在第二存储***750中编程的第三用户数据复制并回滚(rollback,恢复回)到第一存储***700中。第一控制器710可以将第三编程操作的执行结果提供给主机102。
尽管以从主机102接收多个命令之中的多个写入命令(例如,要在存储***700和存储***750中执行的多个命令操作之中的多个编程操作)作为本公开的实施例的示例进行了描述,但该创新的概念也可以应用于从主机102接收多个读取命令和多个擦除命令(例如,要在存储***700和存储***750中执行的多个读取操作和多个擦除操作)的情况。
另外,当后台操作(例如,复制操作或交换操作)在存储***700和存储***750中执行时,尤其是当后台操作在第一存储***700中执行时,按照下面的情况,第一存储***700的第一控制器710可以将与后台操作相对应的用户数据或元数据储存在包括在第二存储***750的第二控制器760中的存储器772中或第二存储设备780中。当与在第一存储***700中执行的后台操作相对应的用户数据或元数据的大小超过包括在第一控制器710中的存储器722的大小(例如,包括在存储器722中的第一缓冲器510或第二缓冲器520的大小)时,或者当包括在第一控制器710中的存储器722或第一存储设备730处于不足状态或脏状态(dirty state)时,第一存储***700的第一控制器710可以将与后台操作相对应的用户数据或元数据储存在包括在第二存储***750的第二控制器760中的存储器772中或第二存储设备780中。即,第一存储***700的第一控制器710可以使用包括在第二存储***750的第二控制器760中的存储器772或第二存储设备780来在第一存储***700中执行后台操作。
当后台操作(例如,复制操作或交换操作)在存储***700和存储***750中执行时,尤其是当后台操作在第二存储***750中执行时,按照下面的情况,第二存储***750的第二控制器760可以将与后台操作相对应的用户数据或元数据储存在包括在第一存储***700的第一控制器710中的存储器722中或第一存储设备730中。当与在第二存储***750中执行的后台操作相对应的用户数据或元数据的大小超过包括在第二控制器760中的存储器772的大小(例如,包括在存储器772中的第一缓冲器510或第二缓冲器520的大小)时,或者当包括在第二控制器760中的存储器772或第二存储设备780处于不足状态或脏状态时,第二存储***750的第二控制器760可以将与后台操作相对应的用户数据或元数据储存在包括在第一存储***700的第一控制器710中的存储器722中或第一存储设备730中。即,第二存储***750的第二控制器760可以使用包括在第一存储***700的第一控制器710中的存储器722或第一存储设备730来在第二存储***750中执行后台操作。
在根据本公开的一个实施例的数据处理***中,在多个存储***之中的主存储***中包括的控制器可以检查与从主机接收到的多个命令相对应的命令操作要在其中被执行的存储***,然后与相应的存储***一起引起传输/接收命令和与命令相对应的数据,从而在多个存储***中正常地执行相应的命令操作。特别地,由于包括在另一个存储***中的存储设备或控制器的存储器用于执行每个存储***中的命令操作,因此每个存储***中的存储器或存储设备可以更大范围地使用,从而进一步提高存储***的使用效率。另外,根据包括在每个存储***中的存储器或存储设备的状态或者每个存储***的状态(例如,通道状态、操作状态或执行状态),包括在另一个存储***中的存储设备或控制器的存储器可以用于执行存储***中的操作,从而进一步提高存储***的操作性能和可靠性。下面,参考图5来具体描述在数据处理***中处理数据的操作。
图5是描述在根据一个实施例的数据处理***中处理数据的操作过程的流程图。
参考图5,在步骤S810中,数据处理***100可以传输/接收每个存储***的***信息。特别地,在数据处理***中包括的存储***之中的主存储***中包括的控制器可以检查其他存储***(即,从存储***)的***信息以及主存储***的***信息。
在步骤S820中,数据处理***100可以从主机102接收用于存储***的多个命令。在步骤S830中,数据处理***100可以检查其中与命令相对应的命令操作要被执行的每个存储***,通过多个专用通道将相应的命令传输给相应的存储***的每个存储***,并且在每个存储***中执行命令操作。在一个实施例中,执行相应的命令操作的步骤可以包括:在其他存储***(即,从存储***或剩余的存储***)中的至少一个存储***(例如,图3的第二存储***750)中执行与主存储***(例如,图3的第一存储***700)相对应的命令操作。
在步骤S840中,数据处理***100可以根据包括在每个存储***中的存储器或存储设备的状态或者每个存储***的状态(例如,通道状态、操作状态或执行状态)来在存储***之间传输/接收数据。数据处理***100可以使用包括在另一个存储***中的存储设备或控制器的存储器来在存储***中执行命令操作。
这里,由于上面参考图2至图4详细描述了数据处理***100中包括的多个存储***之中的主存储***和从存储***以及在存储***中的数据处理操作(尤其是主存储***与从存储***之间的数据处理操作),因此与此相关的进一步描述将被省略。下面将参照图6至图10来详细描述使用根据本公开的实施例的上面参照图1至图5描述的包括存储设备150和控制器130的存储***110的数据处理***与电子设备。
图6至图9是示意性地示出包括根据本公开的实施例的存储***的数据处理***的其他示例的示图。图6至图9示意性地示出了使用根据各种实施例的存储***的UFS(通用快闪储存)***。
参考图6至图9,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中,主机6510、6610、6710和6810,UFS设备6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过例如移动产业处理器接口(MIPI)中的MIPI M-PHY(M物理层)和MIPI UniPro(统一协议)的UFS接口来互相通信。此外,UFS设备6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过除UFS协议以外的各种协议(例如,UFD、MMC、SD、迷你SD和微型SD)来互相通信。
在图6所示的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。
在图7所示的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。
在图8所示的UFS***6700中,主机6710、UFS设备6720和UFS卡6730中的每个可以包括UniPro,并且主机6710可以通过执行切换操作的切换模块6740(例如,通过在UniPro处执行例如L3切换的的链路层切换的切换模块6740)来与UFS设备6720或UFS卡6730进行通信。此时,UFS设备6720和UFS卡可以通过在6730UniPro处的切换模块6740的链路层切换来相互通信,且切换模块6740可以在UFS内部或外部与UFS设备6720集成为一个模块。在本实施例中,为便于描述,已经例示了其中一个UFS设备6720和一个UFS卡6730连接到切换模块6740的配置。然而,各自包括切换模块6740和UFS设备6720的多个模块可以并联或以星形的形式连接到主机6710,或者串联或以链的形式彼此连接。此外,多个UFS卡可以并联或以星形的形式连接到UFS设备6720。
在图9所示的UFS***6800中,主机6810、UFS设备6820和UFS卡6830中的每个可以包括M-PHY和UniPro。UFS设备6820可以执行切换操作以与UFS主机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。
图10是示意性地示出包括根据本公开的实施例的存储***的数据处理***的另一示例的示图。图10是示意性地示出使用根据各种实施例的存储***的用户***的示图。
参考图10,用户***6900可以包括应用处理器6930、存储器模块6920、网络模块6940、储存模块6950以及用户接口6910。
更具体地,应用处理器6930可以驱动包括在用户***6900(例如,操作***OS)中的组件,并且可以包括控制包括在用户***6900中的组件的控制器、接口和图形引擎。应用处理器6930可以被提供作为片上***(SoC)。
存储器模块6920可以用作用户***6900的主存储器、工作存储器、缓冲存储器或高速缓冲存存储器。存储器模块6920可以包括:易失性RAM,例如DRAM、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、DDR2SDRAM、DDR3SDRAM、低功率DDR SDRAM(LPDDR SDRAM)、LPDDR3SDRAM或LPDDR3SDRAM;或者非易失性RAM,例如PRAM、ReRAM、MRAM或FRAM。例如,应用处理器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可以被例示为在上文中参照图6至图9描述的UFS。
用户接口6910可以包括用于将数据或命令输入到应用处理器6930或将数据输出到外部设备的接口。例如,用户接口6910可以包括:用户输入接口,例如键盘、小键盘、按钮、触控面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器、压电元件;以及用户输出接口,例如液晶显示屏(LCD)、有机发光二极管(OLED)显示设备、有源矩阵OLED(AMOLED)显示设备、LED、扬声器和电动机。
另外,当图1的存储***用于用户***6900的移动电子设备时,应用处理器6930可以控制移动电子设备的操作,而网络模块6940可以用作通信模块以用于控制与外部设备的有线/无线通信。用户接口可以将由应用处理器6930处理的数据显示在移动电子设备的显示/触控模块上,或者支持从触控面板接收数据的功能。
虽然本公开已经描述了特定实施例,但是对于本领域技术人员明显的是,在不偏离如所附权利要求限定的本公开的精神和范围的情况下,可以进行各种改变和修改。
Claims (20)
1.一种数据处理***,包括:
多个存储***,所述多个存储***被配置为通过多个专用通道来彼此耦接;以及
主机,其被配置为耦接到所述多个存储***并且为所述存储***提供命令,
其中,主存储***从所述主机接收所述命令,通过所述多个专用通道来传输所述命令之中的与从存储***相对应的第一命令,且所述从存储***根据所述第一命令来执行第一命令操作。
2.根据权利要求1所述的数据处理***,还包括:
接口模块,其形成在所述存储***之间,
其中,所述专用通道将所述存储***中的每个存储***的所述接口模块耦接。
3.根据权利要求2所述的数据处理***,其中,所述接口模块之中的第一接口模块被包括在所述主存储***中,而所述接口模块之中的第二接口模块被包括在所述存储***之中的所述从存储***中。
4.根据权利要求3所述的数据处理***,其中,所述主存储***通过所述第一接口模块与所述第二接口模块形成的所述专用通道之中的第一专用通道来将所述第一命令传输到所述从存储***。
5.根据权利要求3所述的数据处理***,其中,当所述主存储***基于与所述主存储***相对应的第二命令操作的执行而处于忙碌状态时,所述主存储***通过由所述第一接口模块与所述第二接口模块形成的第一专用通道来将所述第一命令传输到所述从存储***。
6.根据权利要求5所述的数据处理***,其中,所述从存储***基于所述第一命令而在所述从存储***中执行所述第一命令操作,并且通过所述第一专用通道来将所述第一命令操作的执行结果传输到所述主存储***。
7.根据权利要求6所述的数据处理***,其中,所述从存储***将与所述第一命令操作相对应的第一数据储存在所述从存储***的第二存储设备和所述从存储***的第二控制器的第二存储器中的至少一个中。
8.根据权利要求7所述的数据处理***,其中,所述主存储***通过所述第一命令操作的所述执行结果来检查所述第一数据的元数据,并接着从所述从存储***将所述第一数据复制并回滚到所述主存储***中。
9.根据权利要求8所述的数据处理***,其中,所述主存储***将与所述第二命令操作相对应的第二数据以及所述第一数据储存在所述主存储***的第一存储设备和所述主存储***的第一控制器的第一存储器中的至少一个中。
10.根据权利要求6所述的数据处理***,其中,所述主存储***通过所述第一专用通道来将在所述主存储***的第一存储设备中储存的数据储存在所述从存储***的第二存储设备和所述从存储***的第二控制器的第二存储器中的至少一个中,并且
所述第二控制器通过所述第一专用通道来将在所述第二存储设备中储存的数据储存在所述主存储***的所述第一存储设备和所述主存储***的第一控制器的第一存储器中的至少一个中。
11.根据权利要求1所述的数据处理***,其中,在所述存储***之中,根据与对命令操作的能力和可靠性、与所述主机耦接的状态以及与所述主机耦接的次序中的至少一个来动态地确定所述主存储***。
12.一种数据处理***的操作方法,包括:
从主机接收用于多个存储***的多个命令;
检查与所述命令相对应的多个命令操作要在其中被执行的所述存储***中的每个存储***;
通过多个专用通道来将所述命令之中的相应命令传输到相应的存储***中的每个存储***;以及
在所述存储***中的每个存储***中执行相应的命令操作,
其中,所述执行相应的命令操作的步骤包括在从存储***中执行与所述存储***之中的主存储***相对应的第一命令操作。
13.根据权利要求12所述的操作方法,其中,所述将相应命令传输到相应的存储***中的每个存储***的步骤包括:当所述主存储***基于与所述主存储***相对应的第二命令操作的执行而处于忙碌状态时,通过将所述主存储***与所述从存储***耦接的所述多个专用通道之中的第一专用通道来将与所述第一命令操作相对应的第一命令传输到所述从存储***。
14.根据权利要求13所述的操作方法,其中,所述将相应命令传输到相应的存储***中的每个存储***的步骤包括:通过所述第一专用通道来将与所述从存储***相对应的第三命令传输到所述从存储***。
15.根据权利要求13所述的操作方法,其中,所述执行相应的命令操作的步骤包括:
基于所述第一命令来在所述从存储***中执行所述第一命令操作;以及
通过所述第一专用通道来将所述第一命令操作的执行结果传输到所述主存储***。
16.根据权利要求15所述的操作方法,还包括:
将与所述第一命令操作相对应的第一数据储存在所述从存储***的第二存储设备和所述从存储***的第二控制器的第二存储器中的至少一个中。
17.根据权利要求16所述的操作方法,还包括:
通过所述第一命令操作的执行结果来检查所述第一数据的元数据;以及
从所述从存储***中将所述第一数据复制并回滚到所述主存储***中。
18.根据权利要求17所述的操作方法,还包括:
将与所述第二命令操作相对应的第二数据以及所述第一数据储存在所述主存储***的第一存储设备和所述主存储***的第一控制器的第一存储器中的至少一个中。
19.根据权利要求15所述的操作方法,还包括:
通过所述第一专用通道来将在所述主存储***的第一存储设备中储存的数据储存在所述从存储***的第二存储设备和所述从存储***的第二控制器的第二存储器中的至少一个中;以及
通过所述第一专用通道来将在所述第二存储设备中储存的数据储存在所述主存储***的第一存储设备和所述主存储***的第一控制器的第一存储器中的至少一个中。
20.一种数据处理***,包括:
主机;
主存储***,其包括第一主机接口和第一***接口;
从存储***,其包括第二主机接口和第二***接口;以及
专用通道,其将所述第一***接口与所述第二***接口耦接,
其中,所述主存储***与所述从存储***中的任意一个基于所述主机的命令来执行所述主机的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170147314A KR20190051530A (ko) | 2017-11-07 | 2017-11-07 | 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법 |
KR10-2017-0147314 | 2017-11-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753457A true CN109753457A (zh) | 2019-05-14 |
CN109753457B CN109753457B (zh) | 2022-08-02 |
Family
ID=66327153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811151417.2A Active CN109753457B (zh) | 2017-11-07 | 2018-09-29 | 数据处理***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10922016B2 (zh) |
KR (1) | KR20190051530A (zh) |
CN (1) | CN109753457B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312281A (zh) * | 2020-02-27 | 2021-08-27 | 瑞昱半导体股份有限公司 | 用于多个存储设备的控制方法及相关的内存*** |
CN114730301A (zh) * | 2020-04-17 | 2022-07-08 | 西部数据技术公司 | 用于多协议处理的存储***和方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210016938A (ko) * | 2019-08-06 | 2021-02-17 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그것의 동작방법 |
TWI736155B (zh) * | 2020-02-27 | 2021-08-11 | 瑞昱半導體股份有限公司 | 用於多個記憶裝置的控制方法及相關的記憶體系統 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082857A1 (en) * | 2008-09-30 | 2010-04-01 | Micron Technology, Inc. | Solid state storage device controller with parallel operation mode |
US20120327728A1 (en) * | 2011-06-24 | 2012-12-27 | Micron Technology, Inc. | Method and apparatus for memory command input and control |
CN105988737A (zh) * | 2015-03-16 | 2016-10-05 | 爱思开海力士有限公司 | 存储***、包括其的计算***以及操作存储***的方法 |
CN106257591A (zh) * | 2015-06-17 | 2016-12-28 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN106708744A (zh) * | 2015-11-13 | 2017-05-24 | 爱思开海力士有限公司 | 存储***和存储***的操作方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5949540B2 (ja) * | 2012-12-27 | 2016-07-06 | 富士通株式会社 | 情報処理装置、及び記憶情報解析方法 |
US9674310B2 (en) | 2013-08-19 | 2017-06-06 | Qualcomm Incorporated | Operating M-PHY based communications over mass storage-based interfaces, and related connectors, systems and methods |
US9348537B2 (en) | 2013-09-10 | 2016-05-24 | Qualcomm Incorporated | Ascertaining command completion in flash memories |
KR102151178B1 (ko) | 2014-05-19 | 2020-09-02 | 삼성전자 주식회사 | 직렬 통신 장치 및 그 방법 |
KR102149665B1 (ko) | 2014-07-31 | 2020-09-01 | 삼성전자주식회사 | 스토리지 장치, 메모리 카드, 및 스토리지 장치의 통신 방법 |
US9619156B2 (en) | 2014-07-31 | 2017-04-11 | Samsung Electronics Co., Ltd. | Storage device, memory card, and communicating method of storage device |
KR102274028B1 (ko) | 2014-07-31 | 2021-07-08 | 삼성전자주식회사 | 전자 장치의 인터페이스 사이의 링크를 설정하기 위한 컨트롤러의 작동 방법 및 컨트롤러를 포함하는 저장 장치 |
US9515686B2 (en) | 2014-08-11 | 2016-12-06 | Samsung Electronics Co., Ltd. | Signal transmitting circuit using common clock, and storage device therewith |
KR102206323B1 (ko) | 2014-08-11 | 2021-01-25 | 삼성전자주식회사 | 공통의 클록을 이용하는 송신 회로, 및 그것을 포함하는 저장 장치 |
KR102161535B1 (ko) * | 2014-09-24 | 2020-10-06 | 삼성디스플레이 주식회사 | 표시 장치 및 이의 구동 방법 |
-
2017
- 2017-11-07 KR KR1020170147314A patent/KR20190051530A/ko unknown
-
2018
- 2018-07-03 US US16/026,667 patent/US10922016B2/en active Active
- 2018-09-29 CN CN201811151417.2A patent/CN109753457B/zh active Active
-
2021
- 2021-01-18 US US17/151,541 patent/US11474747B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082857A1 (en) * | 2008-09-30 | 2010-04-01 | Micron Technology, Inc. | Solid state storage device controller with parallel operation mode |
US20120327728A1 (en) * | 2011-06-24 | 2012-12-27 | Micron Technology, Inc. | Method and apparatus for memory command input and control |
CN105988737A (zh) * | 2015-03-16 | 2016-10-05 | 爱思开海力士有限公司 | 存储***、包括其的计算***以及操作存储***的方法 |
CN106257591A (zh) * | 2015-06-17 | 2016-12-28 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN106708744A (zh) * | 2015-11-13 | 2017-05-24 | 爱思开海力士有限公司 | 存储***和存储***的操作方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312281A (zh) * | 2020-02-27 | 2021-08-27 | 瑞昱半导体股份有限公司 | 用于多个存储设备的控制方法及相关的内存*** |
CN114730301A (zh) * | 2020-04-17 | 2022-07-08 | 西部数据技术公司 | 用于多协议处理的存储***和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210141569A1 (en) | 2021-05-13 |
US20190138246A1 (en) | 2019-05-09 |
US10922016B2 (en) | 2021-02-16 |
CN109753457B (zh) | 2022-08-02 |
US11474747B2 (en) | 2022-10-18 |
KR20190051530A (ko) | 2019-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108572927A (zh) | 存储器***及其操作方法 | |
CN109947358A (zh) | 存储器***及其操作方法 | |
CN110244907A (zh) | 存储器***及该存储器***的操作方法 | |
CN108733595A (zh) | 存储器***、包括其的数据处理***及其操作方法 | |
CN109753457A (zh) | 数据处理***及其操作方法 | |
CN109388594A (zh) | 存储器***及其操作方法 | |
CN107957849A (zh) | 存储器***及其操作方法 | |
CN109521947A (zh) | 存储器***以及存储器***的操作方法 | |
CN107818057A (zh) | 存储器***及其操作方法 | |
CN110347330A (zh) | 存储器***及其操作方法 | |
CN108388525A (zh) | 存储器***及其操作方法 | |
CN109271328A (zh) | 存储器***及其操作方法 | |
CN110457230A (zh) | 存储器***及其操作方法 | |
CN108932203A (zh) | 数据处理***和数据处理方法 | |
CN109935251A (zh) | 存储器***、其操作方法以及包括其的数据处理*** | |
CN109032501A (zh) | 存储器***及其操作方法 | |
CN110096385A (zh) | 存储器***及其操作方法 | |
CN109933468A (zh) | 存储器***及其操作方法 | |
CN108932202A (zh) | 存储器***及其操作方法 | |
CN107562653A (zh) | 存储器***及其操作方法 | |
CN109753463A (zh) | 控制器及其操作方法和存储***及其操作方法 | |
CN109656469A (zh) | 用于控制一个或多个存储器装置的控制器及其操作方法 | |
CN110532194A (zh) | 存储器***及其操作方法 | |
CN110189775A (zh) | 接口电路和具有该接口电路的存储装置 | |
CN108363547A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240613 Address after: American Texas Patentee after: Mimi IP Co.,Ltd. Country or region after: U.S.A. Address before: Gyeonggi Do, South Korea Patentee before: Sk Hynix Inc. Country or region before: Republic of Korea |
|
TR01 | Transfer of patent right |