CN109753457B - 数据处理系统及其操作方法 - Google Patents

数据处理系统及其操作方法 Download PDF

Info

Publication number
CN109753457B
CN109753457B CN201811151417.2A CN201811151417A CN109753457B CN 109753457 B CN109753457 B CN 109753457B CN 201811151417 A CN201811151417 A CN 201811151417A CN 109753457 B CN109753457 B CN 109753457B
Authority
CN
China
Prior art keywords
storage system
storage
command
memory
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.)
Active
Application number
CN201811151417.2A
Other languages
English (en)
Other versions
CN109753457A (zh
Inventor
李熙源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mimi Ip Co ltd
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN109753457A publication Critical patent/CN109753457A/zh
Application granted granted Critical
Publication of CN109753457B publication Critical patent/CN109753457B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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 (18)

1.一种数据处理系统,包括:
多个存储系统,所述多个存储系统被配置为通过多个专用通道来彼此耦接;以及
主机,其被配置为耦接到所述多个存储系统并且为所述存储系统提供命令,
其中,主存储系统从所述主机接收所述命令,通过所述多个专用通道来传输所述命令之中的与从存储系统相对应的第一命令,且所述从存储系统根据所述第一命令来执行第一命令操作,
其中,所述主存储系统通过所述第一命令操作的所述执行结果来检查所述第一数据的元数据,并接着从所述从存储系统将所述第一数据复制并回滚到所述主存储系统中。
2.根据权利要求1所述的数据处理系统,还包括:
接口模块,其形成在所述存储系统之间,
其中,所述专用通道将所述存储系统中的每个存储系统的所述接口模块耦接。
3.根据权利要求2所述的数据处理系统,其中,所述接口模块之中的第一接口模块被包括在所述主存储系统中,而所述接口模块之中的第二接口模块被包括在所述存储系统之中的所述从存储系统中。
4.根据权利要求3所述的数据处理系统,其中,所述主存储系统通过所述第一接口模块与所述第二接口模块形成的所述专用通道之中的第一专用通道来将所述第一命令传输到所述从存储系统。
5.根据权利要求3所述的数据处理系统,其中,当所述主存储系统基于与所述主存储系统相对应的第二命令操作的执行而处于忙碌状态时,所述主存储系统通过由所述第一接口模块与所述第二接口模块形成的第一专用通道来将所述第一命令传输到所述从存储系统。
6.根据权利要求5所述的数据处理系统,其中,所述从存储系统基于所述第一命令而在所述从存储系统中执行所述第一命令操作,并且通过所述第一专用通道来将所述第一命令操作的执行结果传输到所述主存储系统。
7.根据权利要求6所述的数据处理系统,其中,所述从存储系统将与所述第一命令操作相对应的第一数据储存在所述从存储系统的第二存储设备和所述从存储系统的第二控制器的第二存储器中的至少一个中。
8.根据权利要求1所述的数据处理系统,其中,所述主存储系统将与所述第二命令操作相对应的第二数据以及所述第一数据储存在所述主存储系统的第一存储设备和所述主存储系统的第一控制器的第一存储器中的至少一个中。
9.根据权利要求6所述的数据处理系统,其中,所述主存储系统通过所述第一专用通道来将在所述主存储系统的第一存储设备中储存的数据储存在所述从存储系统的第二存储设备和所述从存储系统的第二控制器的第二存储器中的至少一个中,并且
所述第二控制器通过所述第一专用通道来将在所述第二存储设备中储存的数据储存在所述主存储系统的所述第一存储设备和所述主存储系统的第一控制器的第一存储器中的至少一个中。
10.根据权利要求1所述的数据处理系统,其中,在所述存储系统之中,所述主存储系统根据与对命令操作的能力和可靠性、与所述主机耦接的状态以及与所述主机耦接的次序中的至少一个来动态地确定。
11.一种数据处理系统的操作方法,包括:
从主机接收用于多个存储系统的多个命令;
检查与所述命令相对应的多个命令操作要在其中被执行的所述存储系统中的每个存储系统;
通过多个专用通道来将所述命令之中的相应命令传输到相应的存储系统中的每个存储系统;以及
在所述存储系统中的每个存储系统中执行相应的命令操作,
其中,所述执行相应的命令操作的步骤包括在从存储系统中执行与所述存储系统之中的主存储系统相对应的第一命令操作,
其中,所述主存储系统通过在所述从存储系统中执行的所述第一命令操作的所述执行结果来检查所述第一数据的元数据,并接着从所述从存储系统将所述第一数据复制并回滚到所述主存储系统中。
12.根据权利要求11所述的操作方法,其中,所述将相应命令传输到相应的存储系统中的每个存储系统的步骤包括:当所述主存储系统基于与所述主存储系统相对应的第二命令操作的执行而处于忙碌状态时,通过将所述主存储系统与所述从存储系统耦接的所述多个专用通道之中的第一专用通道来将与所述第一命令操作相对应的第一命令传输到所述从存储系统。
13.根据权利要求12所述的操作方法,其中,所述将相应命令传输到相应的存储系统中的每个存储系统的步骤包括:通过所述第一专用通道来将与所述从存储系统相对应的第三命令传输到所述从存储系统。
14.根据权利要求12所述的操作方法,其中,所述执行相应的命令操作的步骤包括:
基于所述第一命令来在所述从存储系统中执行所述第一命令操作;以及
通过所述第一专用通道来将所述第一命令操作的执行结果传输到所述主存储系统。
15.根据权利要求14所述的操作方法,还包括:
将与所述第一命令操作相对应的第一数据储存在所述从存储系统的第二存储设备和所述从存储系统的第二控制器的第二存储器中的至少一个中。
16.根据权利要求11所述的操作方法,还包括:
将与所述第二命令操作相对应的第二数据以及所述第一数据储存在所述主存储系统的第一存储设备和所述主存储系统的第一控制器的第一存储器中的至少一个中。
17.根据权利要求14所述的操作方法,还包括:
通过所述第一专用通道来将在所述主存储系统的第一存储设备中储存的数据储存在所述从存储系统的第二存储设备和所述从存储系统的第二控制器的第二存储器中的至少一个中;以及
通过所述第一专用通道来将在所述第二存储设备中储存的数据储存在所述主存储系统的第一存储设备和所述主存储系统的第一控制器的第一存储器中的至少一个中。
18.一种数据处理系统,包括:
主机;
主存储系统,其包括第一主机接口和第一系统接口;
从存储系统,其包括第二主机接口和第二系统接口;以及
专用通道,其将所述第一系统接口与所述第二系统接口耦接,
其中,所述主存储系统与所述从存储系统中的任意一个基于所述主机的命令来执行所述主机的操作,
其中,在所述存储系统之中,所述主存储系统根据与对命令操作的能力和可靠性、与所述主机耦接的状态以及与所述主机耦接的次序中的至少一个来动态地确定。
CN201811151417.2A 2017-11-07 2018-09-29 数据处理系统及其操作方法 Active CN109753457B (zh)

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 CN109753457A (zh) 2019-05-14
CN109753457B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210016938A (ko) * 2019-08-06 2021-02-17 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그것의 동작방법
CN113312281A (zh) * 2020-02-27 2021-08-27 瑞昱半导体股份有限公司 用于多个存储设备的控制方法及相关的内存系统
TWI736155B (zh) * 2020-02-27 2021-08-11 瑞昱半導體股份有限公司 用於多個記憶裝置的控制方法及相關的記憶體系統
US11544107B2 (en) * 2020-04-17 2023-01-03 Western Digital Technologies, Inc. Storage system and method for multiprotocol handling

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8244937B2 (en) * 2008-09-30 2012-08-14 Micron Technology, Inc. Solid state storage device controller with parallel operation mode
US8913447B2 (en) * 2011-06-24 2014-12-16 Micron Technology, Inc. Method and apparatus for memory command input and control
JP5949540B2 (ja) * 2012-12-27 2016-07-06 富士通株式会社 情報処理装置、及び記憶情報解析方法
US9137335B2 (en) 2013-08-19 2015-09-15 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 삼성전자 주식회사 직렬 통신 장치 및 그 방법
KR102274028B1 (ko) 2014-07-31 2021-07-08 삼성전자주식회사 전자 장치의 인터페이스 사이의 링크를 설정하기 위한 컨트롤러의 작동 방법 및 컨트롤러를 포함하는 저장 장치
US9619156B2 (en) 2014-07-31 2017-04-11 Samsung Electronics Co., Ltd. Storage device, memory card, and communicating method of storage device
KR102149665B1 (ko) 2014-07-31 2020-09-01 삼성전자주식회사 스토리지 장치, 메모리 카드, 및 스토리지 장치의 통신 방법
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 삼성디스플레이 주식회사 표시 장치 및 이의 구동 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988737A (zh) * 2015-03-16 2016-10-05 爱思开海力士有限公司 存储系统、包括其的计算系统以及操作存储系统的方法
CN106257591A (zh) * 2015-06-17 2016-12-28 爱思开海力士有限公司 存储系统及其操作方法
CN106708744A (zh) * 2015-11-13 2017-05-24 爱思开海力士有限公司 存储系统和存储系统的操作方法

Also Published As

Publication number Publication date
US10922016B2 (en) 2021-02-16
US11474747B2 (en) 2022-10-18
US20190138246A1 (en) 2019-05-09
KR20190051530A (ko) 2019-05-15
US20210141569A1 (en) 2021-05-13
CN109753457A (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
CN108733595B (zh) 存储器系统、包括其的数据处理系统及其操作方法
US11262940B2 (en) Controller and operating method thereof
CN109213622B (zh) 存储系统及其操作方法
CN109656837B (zh) 存储器系统及其操作方法
CN109032501B (zh) 存储器系统及其操作方法
CN109753457B (zh) 数据处理系统及其操作方法
TW201911057A (zh) 記憶體系統及其操作方法
US11144449B2 (en) Memory system and operation method thereof
US10747469B2 (en) Memory system and operating method of the same
CN108733616B (zh) 包括多处理器的控制器及其操作方法
US10628041B2 (en) Interface circuit and storage device having the interface circuit
CN108932202B (zh) 存储器系统及其操作方法
CN108735255B (zh) 存储器系统
CN110806837A (zh) 数据处理系统及其操作方法
CN108628755B (zh) 存储器系统
CN110895447B (zh) 控制器及其操作方法
US20200150867A1 (en) Memory system and operation method thereof
CN110806983B (zh) 存储器系统及其操作方法
CN110045914B (zh) 存储器系统及其操作方法
CN110007851B (zh) 存储器系统及其操作方法
CN109426448B (zh) 存储器系统及其操作方法
CN109254722B (zh) 控制器及其操作方法
US20180321856A1 (en) Memory system and operation method thereof
CN110688061A (zh) 存储器系统及其操作方法
US20190026222A1 (en) Controller and operation method thereof

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