CN108388525A - 存储器***及其操作方法 - Google Patents

存储器***及其操作方法 Download PDF

Info

Publication number
CN108388525A
CN108388525A CN201711058680.2A CN201711058680A CN108388525A CN 108388525 A CN108388525 A CN 108388525A CN 201711058680 A CN201711058680 A CN 201711058680A CN 108388525 A CN108388525 A CN 108388525A
Authority
CN
China
Prior art keywords
order
dependence
storage system
priority orders
memory
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
Application number
CN201711058680.2A
Other languages
English (en)
Other versions
CN108388525B (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
Hynix Semiconductor 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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN108388525A publication Critical patent/CN108388525A/zh
Application granted granted Critical
Publication of CN108388525B publication Critical patent/CN108388525B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • 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]
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags

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)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开一种存储器***,其可以包括:多个存储器管芯;以及控制器,其适于通过检查引擎识别第一命令和第二命令之间的依赖性以及第一命令和第二命令的优先级顺序,并且根据依赖性和优先级顺序响应于第一命令和第二命令来控制存储器管芯依次地执行第一命令操作和第二命令操作。

Description

存储器***及其操作方法
相关申请的交叉引用
本申请要求于2017年2月2日提交的申请号为10-2017-0015140 的韩国专利申请的优先权,其整体通过引用并入本文。
技术领域
示例性实施例涉及一种存储器***,并且更特别地,涉及一种将 数据处理到存储器装置的存储器***及其操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算***。由 于该事实,诸如例如移动电话、数码相机和笔记本电脑的便携式电子 装置的使用已经快速增长。这些便携式电子装置通常使用具有用于存 储数据的一个或多个存储器装置的存储器***。存储器***可以用作 便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器***不具有移动部件,所以它们提供优良的稳定性、 耐久性、高信息访问速度和低功耗。具有这种优点的存储器***的示 例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和 固态驱动器(SSD)。
发明内容
本发明的各种实施例涉及一种能够最小化其复杂度和性能恶化, 最大化存储器装置的使用效率,并且将数据快速且稳定地处理到存储 器装置的存储器***及其操作方法。
在实施例中,存储器***可以包括:多个存储器管芯;以及控制 器,其适于通过检查引擎识别第一命令和第二命令之间的依赖性 (dependency)以及第一命令和第二命令的优先级顺序(priortiy order), 并且根据依赖性和优先级顺序响应于第一命令和第二命令来控制存储 器管芯依次地执行第一命令操作和第二命令操作。
当控制器识别第一命令和第二命令之间的依赖性时,控制器可以 保持(hold)第二命令操作,直到第一命令操作完成。
当第一命令的优先级顺序比第二命令的优先级顺序更高时,控制 器可以保持第二命令操作,直到第一命令操作完成。
当第一命令和第二命令之间不存在依赖性且第一命令和第二命令 之间不存在优先级顺序时,控制器可以独立地执行第一命令操作和第 二命令操作。
控制器可以通过循环冗余检查(CRC)引擎和哈希码引擎中的至 少一个来识别依赖性和优先级顺序。
控制器可以通过对第一命令和第二命令的地址执行XOR运算或相 关运算来识别依赖性和优先级顺序。
控制器可以包括适于识别第一命令和第二命令之间的依赖性和优 先级顺序的地址检查单元。地址检查单元可以包括:运算部分,其适 于对第一命令的地址和第二命令的地址执行XOR运算;存储部分,其 适于将依赖性和优先级顺序存储为位图值;以及输出部分,其适于通 过运算部分的运算值和位图值输出依赖性和优先级顺序的检查值。
控制器可以获取在命令中的第一命令和第二命令并将第一命令和 第二命令进行排序,并且可以识别用于所排序的命令的依赖性和优先 级顺序。
控制器可以包括适于将命令进行排序的序列(queue),并且当存 在依赖性和优先级顺序之间的至少一个时,控制器可以通过将第二命 令在序列排序直到第一命令操作完成来控制存储器管芯依次地执行第 一命令操作和第二命令操作。
控制器可以进一步将第一命令和第二命令之间的识别的依赖性和 优先级顺序寄存到序列列表中,并且可以将序列列表排序在序列的尾 部。
在实施例中,一种包括多个存储器管芯的存储器***的操作方法, 该方法可以包括:通过检查引擎识别第一命令和第二命令之间的依赖 性和优先级顺序;以及根据依赖性和优先级顺序响应于第一命令和第 二命令来控制存储器管芯依次地执行第一命令操作和第二命令操作。
控制存储器管芯可以包括:当第一命令和第二命令之间存在任何 依赖性时,保持第二命令操作,直到第一命令操作完成。
第一命令可以的优先级顺序比第二命令的优先级顺序更高,并且 控制存储器管芯可以包括:当第一命令和第二命令之间存在任何优先 级顺序时,保持第二命令操作,直到第一命令操作完成。
控制存储器管芯可以包括:当第一命令和第二命令之间不存在依 赖性和优先级顺序时,独立地执行第一命令操作和第二命令操作。
可以通过循环冗余检查(CRC)引擎和哈希码引擎中的至少一个 来识别依赖性和优先级顺序。
识别依赖性和优先级顺序可以包括对第一命令的地址和第二命令 的地址执行XOR运算或相关运算。
操作方法可以进一步包括将第一命令和第二命令之间的依赖性和 优先级顺序存储为位图值。
在识别中,可以获取在命令中的第一命令和第二命令,并使第一 命令和第二命令排序,并且可以识别所排序的命令的依赖性和优先级 顺序。
操作方法可以进一步包括通过序列来将命令进行排序,控制存储 器管芯可以包括:当存在依赖性和优先级顺序之间的至少一个时,使 第二命令在序列中排序,直到第一命令操作完成。
操作方法可以进一步包括:将第一命令和第二命令之间识别的依 赖性和优先级顺序寄存在序列列表中;以及将序列列表排序到序列的 尾部。
附图说明
图1是示出根据本发明的实施例的包括存储器***的数据处理系 统的框图。
图2是示出在图1的存储器***中采用的存储器装置的示例性配置 的示意图。
图3是示出图2的存储器装置中的存储块的存储器单元阵列的示例 性配置的电路图。
图4是示出图2的存储器装置的示例性三维结构的示意图。
图5至图8是示意性地解释图1所示的存储器***的操作的简图。
图9是示意性示出图5至图8所示的存储器***的操作的简图。
图10至图18是示意性示出图1所示的数据处理***的应用示例的 简图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,应注意 的是,本发明可以以不同的其它实施例、形式和变化实施,并且不应 被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开 将是彻底且完整的,并且将向本发明所属领域的技术人员完全传达本 发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实 施例中表示相同的部件。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使 用以描述各种元件,但是这些元件不受这些术语限制。这些术语被用 于区分一个元件与另一元件。因此,在不脱离本发明的精神和范围的 情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例 的特征,可能已经以优先级顺序夸大了比例。
将进一步理解的是,当一个元件被称为“连接至”或“联接至” 另一元件时,它可以直接在其它元件上、连接至或联接至其它元件, 或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为 在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在 一个或多个中间元件。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发 明。如本文使用的,单数形式也旨在包括复数形式,除非上下文另有 清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、 “包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而 不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/ 或”包括一个或多个相关的所列项目的任何一个和所有组合。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所 有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的 含义。将进一步理解的是,诸如在常用词典中限定的那些术语的术语 应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的 含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确 地限定。
在以下描述中,为了提供本发明的全面理解,以优先级顺序阐述 了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下 被实施。在其它情况下,为了不使本发明被不必要地模糊,未以优选 顺序详细地描述公知的进程结构和/或进程。
也应注意的是,在一些情况下,对相关领域的技术人员显而易见 的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例 的其它特征或元件结合使用,除非另有明确说明。
图1是示出根据本发明的实施例的包括存储器***110的数据处理 ***100的框图。
参照图1,数据处理***100可以包括操作性地联接到存储器*** 110的主机102。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携 式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子 装置。
存储器***110可以响应于主机102的请求来操作以存储用于主机 102的数据。存储器***110的非限制性示例可以包括固态驱动器 (SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB) 装置、通用闪速存储(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可以 包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型 -MMC。SD卡可以包括迷你-SD卡和微型-SD卡
存储器***110可以由各种类型的存储装置来体现。包括在存储器 ***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闪速存 储器时,NFC 142可以在处理器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的可靠性。因此,坏块管理操作需要被更可靠性地执行。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可以包括多个存储块0至N-1,并且块0 到N-1中的每一个可以包括例如2M个页面的多个页面,其数量可以根据 电路设计而变化。包含在各个存储块0至N-1中的存储器单元可以是存 储1位数据的单层单元(SLC)、存储2位数据的多层单元(MLC)、存 储3位数据的三层单元(TLC)、存储4位数据的四层单元(QLC)、存 储5位或更多位数据的多层(multiple level)单元等。
图3是示出存储器装置150中的存储块的存储器单元阵列的示例性 配置的电路图。
参照图3,可以对应于包括在存储器***110的存储器装置150中的 多个存储块152至156中的任意一个的存储块330可以包括联接到多个 相应位线BL0至BLm-1的多个单元串340。每个列的单元串340可以包括 一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在 漏极选择晶体管DST和源极选择晶体管SST之间,多个存储器单元MC0至MCn-1可以串联联接。在实施例中,存储器单元晶体管MC0至MCn-1 中的每一个可以由能够存储多个位的数据信息的MLC来实施。单元串 340中的每一个可以电联接到多个位线BL0至BLm-1中的相应位线。例 如,如图3所示,第一单元串联接到第一位线BL0,并且最后的单元串 联接到最后的位线BLm-1。
虽然图3示出NAND闪速存储器单元,但是本发明不限于此方式。 应注意的是,存储器单元可以是NOR闪速存储器单元,或者包括组合 在其中的两种或更多种存储器单元的混合闪速存储器单元。并且,应 注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪 速存储器装置或包括作为电荷存储层的的绝缘层的电荷撷取闪速 (CTF)存储器。
存储器装置150可以进一步包括电压供给单元310,其提供包括根 据操作模式供给到字线的编程电压、读取电压和通过电压的字线电压。 电压供给单元310的电压产生操作可以由控制电路(未示出)来控制。 在控制电路的控制下,电压供给单元310可以选择存储器单元阵列的存 储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并 且将字线电压提供给所选择的字线和未选择的字线。
存储器装置150可以包括由控制电路控制的读取/写入电路320。在 验证/正常读取操作期间,读取/写入电路320可以用作用于从存储器单 元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320 可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动 器。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接 收待存储到存储器单元阵列中的数据并且根据接收的数据来驱动位 线。读取/写入电路320可以包括分别对应于列(或位线)或列对(或 位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的 每一个可以包括多个锁存器(未示出)。
图4是示出存储器装置150的示例性3D结构的示意图。
存储器150可以由2D或3D存储器装置来实施。具体地,如图4所示, 存储器装置150可以由具有3D堆叠结构的非易失性存储器装置来实施。 当存储器装置150具有3D结构时,存储器装置150可以包括多个存储块 BLK0至BLKN-1,存储块的每一个具有3D结构(或竖直结构)。
图5和图8是示意性地解释存储器***110的操作的简图。
在本公开的实施例中,控制器130可以识别从主机102提供的第一 命令和第二命令之间的依赖性和优先级顺序,并且根据所识别的第一 命令和第二命令之间的依赖性和优先级顺序响应于第一命令和第二命 令来执行操作。
在第一命令和第二命令之间存在依赖性的情况下,当在对应于例 如第一命令的第一提供的命令的第一命令操作期间提供第二命令时, 控制器130保持对应于第二命令的第二命令操作直到第一命令操作完 成,并且在第一命令操作完成之后执行第二命令操作。
另外,当第一命令和第二命令之间存在优先级顺序时,并且例如, 第一命令具有较高的优先级顺序,控制器130保持对应于第二命令的第 二命令操作直到对应于具有较高优先级顺序的第一命令的第一命令操 作完成,并且在第一命令操作完成之后执行第二命令操作。特别地, 即使当第一命令和第二命令被同时提供或者在提供第二命令之后提供第一命令时,控制器130可以保持第二命令操作直到第一命令操作完 成,并且在第一命令操作完成之后执行第二命令操作。
此外,在第一命令和第二命令之间不存在依赖性或优先级顺序的 情况下,当在对应于例如第一命令的第一提供的命令的第一命令操作 期间提供第二命令时,控制器130独立地执行对应于第二命令的第二命 令操作,而不管第一命令操作是否完成。
参照图5,控制器130包括:主机接口(I/F)单元132,其从主机102 接收多个命令并且使接收的命令排序;处理器134,其处理在主机I/F 单元132中排序的命令;以及NFC 142,其将来自处理器134的命令传输 到包括在存储器装置150中的多个存储器管芯610、630和695。控制器 130可以进一步包括检查命令的依赖性和优先级顺序的地址检查单元 530。当多个命令被提供到多个存储器管芯610、630和695时,可以在 多个存储器管芯610、630和695中执行与提供的命令对应的命令操作。
控制器130通过地址检查单元530识别排序的命令中的依赖性和优 先级顺序,根据排序命令中的依赖性和优先级顺序并通过NFC 142将排 序的命令传输到存储器管芯610、630和695,使得存储器管芯610、630 和695执行命令操作。
地址检查单元530通过例如循环冗余检查(CRC)引擎或哈希码引 擎的检查引擎来识别多个命令中的依赖性和优先级顺序。
图6示出地址检查单元530的示例。参照图6,地址检查单元530包 括运算部分532、MUX/DeMUX 534和位图存储部分536。
运算部分532对从主机102提供的多个命令中的第i命令的地址执 行XOR运算,并且然后MUX/DeMUX 534通过运算部分532的运算值和 位图存储部分536的位图值来输出多个命令中的第i命令的依赖性和优 先级顺序的检查值。多个命令的依赖性和优先级顺序的检查值可以是 多个命令中的依赖性和优先级顺序的寄存、清除、评估等的形式。
运算部分532可以包括多个XOR运算符和多个触发器,并且特别 地,可以对根据时钟被顺序地输入的命令的地址执行XOR运算。此外, 运算部分532可以对多个命令的地址执行相关运算。命令的地址可以以 寄存、清除、评估等的形式被设置并寄存在位图存储部分536中。
控制器130检查从主机102接收的多个命令的特性,换言之,检查 命令中的依赖性和优先级顺序,并且然后存储器装置150执行与命令对 应的命令操作。在第一命令和第二命令之间存在一个或多个依赖性和/ 或优先级顺序差异的情况下,如上所述,控制器130可以根据第一命令 和第二命令的依赖性和优先级顺序响应于第一命令和第二命令来顺序地执行操作。
例如,在第一命令和第二命令之间存在依赖性的情况下,当在与 例如第一命令的第一接收的命令对应的第一命令操作期间接收第二命 令时,控制器130保持对应于第二命令的第二命令操作直到第一命令操 作完成,并且在第一命令操作完成之后执行第二命令操作。另外,当 从主机102接收的第一命令和第二命令之间存在优先级顺序差异时,控 制器130保持对应于第二命令的第二命令操作,直到与具有较高优先级 顺序的第一命令对应的第一命令操作完成,并且在第一命令操作完成 之后执行第二命令操作。特别地,即使当接收第一命令和第二命令或 者在接收第二命令之后接收第一命令时,控制器130可以保持对应于第 二命令的第二命令操作,直到对应于具有较高优先级顺序的第一命令 的第一命令操作完成,并且在第一命令操作完成之后执行第二命令操 作。此外,在从主机102接收的第一命令和第二命令之间不存在依赖性 和优先级顺序的情况下,当在与例如第一命令的第一接收的命令对应 的第一命令操作期间接收第二命令时,控制器130同时独立地执行对应 于第二命令的第二命令操作,而无论第一命令操作是否完成。
此外,存储器件150可以包括多个存储器管芯,例如N个存储器管 芯610、630和695,存储器管芯中的每一个响应于从控制器130提供的 命令执行命令操作。
例如,参照图7,存储器件150包括多个存储器管芯,例如存储器 管芯0(610)、存储器管芯1(613)、存储器管芯2(650)和存储器管 芯3(670),其中存储器管芯610、630、650和670中的每一个包括多个 平面。例如,存储器管芯0(610)包括平面0(612)、平面1(616)、 平面2(620)和平面3(624),存储器管芯1(630)包括平面0(632)、 平面1(636)、平面2(640)和平面3(644),存储器管芯2(650)包 括平面0(652)、平面1(656)、平面2(660)和平面3(664),并且存 储器管芯3(670)包括平面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, 并且例如,块0、块1、......块N-1的N个块包含在如图2所述的2M个页面 的多个页面中。在下文中,参照图8,将通过示例来对以下情况提供详 细的描述:当根据实施例的存储器***从主机102接收命令时,检查多 个命令的特性,换言之,检查命令中的依赖性和顺序并且执行命令操 作。
参照图8,主机I/F单元132使从主机102提供的多个命令排序进入到 其中包括的第一序列802中。
处理器134解析第一序列802的排序的命令,并且使解析的命令排 序到其中包括的第二序列804中。然后,处理器134识别第二序列804 的解析的命令中的依赖性和优先级顺序。在该情况下,处理器134通过 寄存在第二序列804中的序列列表和地址检查单元530来识别命令中的 依赖性和优先级顺序。
在示例中,处理器134将解析的命令804传输到地址检查单元530 (参照图8中的附图标记806),并且请求识别在第二序列804的解析的 命令中的依赖性和优先级顺序。如上所述,地址检查单元530通过CRC 引擎或哈希码引擎识别命令中的依赖性和优先级顺序,并且例如,对 排序的命令806的地址执行XOR运算或相关运算,并且然后将命令连同 命令中的依赖性和优先级顺序的识别结果传输到处理器134(参照图8 中的附图标记808)。
处理器134可以将从地址检查单元530提供的命令的地址寄存到第 二序列804的序列列表中,并且根据从地址检查单元530提供的命令的 依赖性和优先级顺序的识别结果以及已经在第二序列804的序列列表 中排序的命令的依赖性和优先级顺序的识别结果来识别在第二序列 804的序列列表中排序的命令中的依赖性和优先级顺序。从地址检查单元530提供的命令的地址可以被寄存并排序在第二序列804的尾部中。
当在第二序列804中排序的第一命令和第二命令之间存在任何依 赖性时,处理器134将对应于第一命令的命令序列810传送到NFC 142, 使得存储器管芯610、630和695执行用于第一命令的第一命令操作。当 第一命令操作完成时,处理器134从NFC 142接收对应于完成的第一命 令的命令完成序列812。在该情况下,处理器134保持对应于第二命令 的第二命令操作直到第一命令操作完成,并且在第一命令操作完成之 后执行第二命令操作。
当第二命令操作完成时,处理器134从NFC 142接收对应于完成的 第二命令的命令完成序列812。此外,处理器134通过主机I/F单元132 将完成的第一命令和第二命令的完成序列作为完成命令的完成序列 814传送到主机102。在该情况下,解除(release)第二序列804的序列 列表以及地址检查单元530的位图存储部分536的第一命令和第二命令 之间的依赖性。
另外,当在第二序列804中排序的第一命令和第二命令之间存在任 何优先级顺序时,处理器134(参见图8)将对应于具有较高优先级顺 序的第一命令的命令序列810传送到NFC 142,使得存储器管芯610、630 和695执行用于第一命令的第一命令操作。当第一命令操作完成时,处 理器134从NFC 142接收对应于完成的第一命令的命令完成序列812。在 该情况下,处理器134保持对应于较低优先级顺序的第二命令的第二命 令操作直到第一命令操作完成,并且在第一命令操作完成之后执行第 二命令操作。
当第二命令操作完成时,处理器134从NFC 142接收对应于完成的 第二命令的命令完成序列812。此外,处理器134通过主机I/F单元132 将完成的第一命令和第二命令的完成序列作为完成命令的完成序列 814传送到主机102。在该情况下,解除第二序列804的序列列表以及地 址检查单元530的位图存储部分536的第一命令和第二命令之间的优先 级顺序。
另外,当第一命令和第二命令之间不存在依赖性或优先级顺序时, 处理器134将对应于第一命令和第二命令的序列810传送到NFC 142,使 得存储器管芯610、630和695执行用于第一命令的第一命令操作以及对 应于第二命令的第二命令操作。当第一命令操作和第二命令操作完成 时,处理器134从NFC 142接收对应于完成的第一命令和第二命令的命 令完成序列812。此外,处理器134通过主机I/F单元132将完成的第一命 令和第二命令的完成序列作为完成命令的完成序列814传送到主机 102。
在根据如上所述的实施例的存储器***中,当多个命令、命令的 特性被检查,特别是命令中的依赖性和优先级顺序被检查时,并且然 后存储器管芯根据命令中的依赖性和优先级顺序执行用于命令的命令 操作,使得可以进一步提高存储器***的操作性能。特别地,命令的 特性的检查,特别地,命令中依赖性和优先级顺序的检查通过例如CRC 引擎或哈希码引擎的命令地址的检查引擎更容易被检查,使得可以更 快速地执行命令的操作。在下文中,参照图9,将对当根据本实施例的 存储器***从主机102接收多个命令时执行对应于命令的命令操作的 操作提供详细描述。
图9是示意性地示出根据本实施例的存储器***执行对应于多个 命令的命令操作的进程的简图。
参照图9,存储器***在步骤910中从主机102接收多个命令并且在 步骤920中对多个命令进行排序。
在步骤930中,存储器***通过例如CRC引擎或哈希码引擎的检查 引擎来识别排序的命令的依赖性和优先级顺序。
在步骤940中,包含在存储器装置150中的存储器管芯根据命令中 的依赖性和优先级顺序执行对应于命令的命令操作。
由于已经参照图5至图8更详细地描述当从主机102接收多个命令 时,检查命令的特性,特别是检查命令中的依赖性和优先级顺序,并 且然后根据命令中的依赖性和优先级顺序执行用于命令的命令操作的 操作,因此将省略其详细描述。在下文中,参照图10至图18,将对数 据处理***和电子设备提供详细描述,其采用包括图1至图9中所述的 根据本发明的各个实施例的存储器装置150和控制器130的存储器*** 110。
图10至图18是示意性示出图1至图9的数据处理***的应用示例的 简图。
图10是示意性示出数据处理***100的另一示例的简图。图10示意 性地示出应用了根据本实施例的存储器***的存储卡***。
参照图10,存储卡***6100可以包括存储器控制器6120、存储器 装置6130和连接器6110。
更具体地,存储器控制器6120可以连接到通过非易失性存储器实 施的存储器装置6130,并且被配置为访问存储器装置6130。例如,存 储器控制器6120可以被配置为控制存储器装置6130的读取操作、写入 操作、编程操作和擦除操作。存储器控制器6120可以被配置为提供存 储器装置6130和主机之间的接口并且驱动固件以控制存储器装置 6130。即,存储器控制器6120可以对应于参照图1至图9描述的存储器 ***110的控制器130,并且存储器装置6130可以对应于参照图1至图9 描述的存储器***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所示的存储器***110的控制器150,并且存储器 装置6220可以对应于图1和图5所示的存储器***110的控制器130。
存储器控制器6220可以响应于主机6210的请求来控制对存储器装 置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可 以包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路 6223、主机接口6224和诸如NVM接口6225的存储器接口。
CPU 6221可以控制对存储器装置6230的全部操作,例如读取操作、 写入操作、文件***管理操作和坏页面管理操作。RAM 6222可以根据 CPU 6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓 冲存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可 被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可以用于缓冲从主机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示意性地示出包括存储器***110的SSD。
参照图12,SSD 6300可以包括控制器6320和包括多个非易失性存 储器的存储器装置6340。存储器控制器6320可以对应于图1至图9的存 储器***110的控制器130,并且存储器装置6340可以对应于图1至图9 的存储器***110的存储器装置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和图5的存储器***110的多个SSD 6300可以被被 提供以实施例如RAID(独立磁盘的冗余阵列)***的数据处理***。 此时,RAID***可以包括多个SSD6300和用于控制多个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,并且将从选择的SSD 6300读取的数据提供给主机6310。
图13是示意性地示出根据实施例的包括存储器***的数据处理系 统的另一示例的简图。图13示意性地示出包括存储器***110的嵌入式 多媒体卡(eMMC)。
参照图13,eMMC 6400可以包括控制器6430和由一个或多个 NAND闪速存储器实施的存储器装置6440。存储器控制器6430可以对 应于图1至图9的存储器***110的控制器130,并且存储器装置6440可 以对应于图1至图9的存储器***110的存储器装置150。
更具体地,控制器6430可以通过多个通道连接到存储器装置6440。 控制器6430可以包括一个或多个内核6432、主机接口6431和例如 NAND接口6433的存储器接口。
内核6432可以控制eMMC 6400的全部操作,主机接口6431可以在 控制器6430和主机6410之间提供接口功能,并且NAND接口6433可以 在存储器装置6440和控制器6430之间提供接口功能。例如,主机接口 6431可以用作例如参照图1描述的MMC接口的并行接口。此外,主机 接口6431可用作串行接口,例如UHS((超高速)-I/UHS-II)接口。
图14至图17是示意性地示出包括根据实施例的存储器***的数据 处理***的其它示例的简图。具体地,图14至图17示意性地示出包括 存储器***110的通用闪速存储(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和图5所示的存储器系 统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是示意性地示出包括存储器***110的用户 ***的简图。
参照图18,用户***6900可以包括应用处理器6930、存储器模块 6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可以驱动包括在例如OS的用户*** 6900中的部件,并且包括控制包括在用户***6900中的部件的控制器、 接口、图形引擎。应用处理器6930可以被设置为片上***(SoC)。
存储器模块6920可以用作用户***6900的主存储器、工作存储器、 缓冲存储器或高速缓冲存储器。存储器模块6920可以包括诸如DRAM、 SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、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和图5的存储器***110被应用于用户***6900的移动 电子装置时,应用处理器6930可以控制移动电子装置的全部操作,并 且网络模块6940可以用作用于控制与外部装置的有线/无线通信的通 信模块。用户接口6910可以在移动电子装置的显示/触摸模块上显示由 处理器6930处理的数据,或支持从触摸面板接收数据的功能。
在根据实施例的存储器***及其操作方法中,可以最小化存储器 ***的复杂度和性能恶化,最大化存储器装置的使用效率,并且将数 据快速且稳定地处理到存储器装置。
虽然为了说明的目的已经描述各个实施例,但是对于本领域技术 人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神 和范围的情况下,可以进行各种改变和变型。

Claims (20)

1.一种存储器***,其包括:
多个存储器管芯;以及
控制器,其适于通过检查引擎识别第一命令和第二命令之间的依赖性以及所述第一命令和所述第二命令的优先级顺序,并且根据所述依赖性和所述优先级顺序响应于所述第一命令和所述第二命令来控制所述存储器管芯依次地执行第一命令操作和第二命令操作。
2.根据权利要求1所述的存储器***,其中,当所述控制器识别所述第一命令和所述第二命令之间的所述依赖性时,所述控制器保持所述第二命令操作,直到所述第一命令操作完成。
3.根据权利要求1所述的存储器***,
其中当所述第一命令的优先级顺序比所述第二命令的优先级顺序更高时,所述控制器保持所述第二命令操作,直到所述第一命令操作完成。
4.根据权利要求1所述的存储器***,其中,当所述第一命令和所述第二命令之间不存在依赖性并且所述第一命令和所述第二命令之间不存在优先级顺序时,所述控制器独立地执行所述第一命令操作和所述第二命令操作。
5.根据权利要求1所述的存储器***,其中所述控制器通过循环冗余检查引擎,即CRC引擎,和哈希码引擎中的至少一个来识别所述依赖性和所述优先级顺序。
6.根据权利要求1所述的存储器***,其中所述控制器通过对所述第一命令的地址和所述第二命令的地址执行异或运算,即XOR运算,或相关运算来识别所述依赖性和所述优先级顺序。
7.根据权利要求1所述的存储器***,
其中所述控制器包括适于识别所述第一命令和所述第二命令之间的所述依赖性和所述优先级顺序的地址检查单元,以及
其中所述地址检查单元包括:
运算部分,其适于对所述第一命令的地址和所述第二命令的地址执行XOR运算;
存储部分,其适于将所述依赖性和所述优先级顺序存储为位图值;以及
输出部分,其适于通过所述运算部分的运算值和所述位图值输出所述依赖性和所述优先级顺序的检查值。
8.根据权利要求1所述的存储器***,其中所述控制器获取在所述命令中的所述第一命令和所述第二命令并将所述第一命令和所述第二命令进行排序,并且识别所排序的命令的所述依赖性和所述优先级顺序。
9.根据权利要求1所述的存储器***,
其中所述控制器包括适于将所述命令进行排序的序列,以及
其中,当存在所述依赖性和所述优先级顺序之间的至少一个时,所述控制器通过将所述第二命令排序在所述序列中直到所述第一命令操作完成来控制所述存储器管芯依次地执行所述第一命令操作和所述第二命令操作。
10.根据权利要求9所述的存储器***,其中所述控制器进一步将所述第一命令和所述第二命令之间的识别的所述依赖性和所述优先级顺序寄存在序列列表中,并且将所述序列列表排序在所述序列的尾部。
11.一种包括多个存储器管芯的存储器***的操作方法,所述方法包括:
通过检查引擎识别第一命令和第二命令之间的依赖性和优先级顺序;以及
根据所述依赖性和所述优先级顺序响应于所述第一命令和所述第二命令来控制所述存储器管芯依次地执行第一命令操作和第二命令操作。
12.根据权利要求11所述的存储器***的操作方法,控制所述存储器管芯包括:当所述第一命令和所述第二命令之间存在任何依赖性时,保持所述第二命令操作,直到所述第一命令操作完成。
13.根据权利要求11所述的存储器***的操作方法,
其中所述第一命令的优先级顺序比所述第二命令的优先级顺序更高,以及
其中控制所述存储器管芯包括:当所述第一命令和所述第二命令之间存在任何优先级顺序时,保持所述第二命令操作,直到所述第一命令操作完成。
14.根据权利要求11所述的存储器***的操作方法,控制所述存储器管芯包括:当所述第一命令和所述第二命令之间不存在依赖性和优先级顺序时,独立地执行所述第一命令操作和所述第二命令操作。
15.根据权利要求11所述的存储器***的操作方法,其中通过循环冗余检查引擎,即CRC引擎,和哈希码引擎中的至少一个来识别所述依赖性和所述优先级顺序。
16.根据权利要求11所述的存储器***的操作方法,其中识别所述依赖性和所述优先级顺序包括对所述第一命令的地址和所述第二命令的地址执行异或运算,即XOR运算,或相关运算。
17.根据权利要求11所述的存储器***的操作方法,其进一步包括将所述第一命令和所述第二命令之间的所述依赖性和所述优先级顺序存储为位图值。
18.根据权利要求11所述的存储器***的操作方法,其中,在所述识别中,在所述命令中的所述第一命令和所述第二命令被获取并排序,并且识别所排序的命令的所述依赖性和所述优先级顺序。
19.根据权利要求11所述的存储器***的操作方法,
其进一步包括通过序列将所述命令进行排序,
其中控制所述存储器管芯包括:当存在所述依赖性和所述优先级顺序之间的至少一个时,将所述第二命令排序在所述序列中,直到所述第一命令操作完成。
20.根据权利要求19所述的存储器***的操作方法,其进一步包括:
将所述第一命令和所述第二命令之间的所识别的所述依赖性和所述优先级顺序寄存到序列列表中;以及
将所述序列列表排序在所述序列的尾部。
CN201711058680.2A 2017-02-02 2017-11-01 存储器***及其操作方法 Active CN108388525B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170015140A KR20180090124A (ko) 2017-02-02 2017-02-02 메모리 시스템 및 메모리 시스템의 동작 방법
KR10-2017-0015140 2017-02-02

Publications (2)

Publication Number Publication Date
CN108388525A true CN108388525A (zh) 2018-08-10
CN108388525B CN108388525B (zh) 2021-04-27

Family

ID=62980537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711058680.2A Active CN108388525B (zh) 2017-02-02 2017-11-01 存储器***及其操作方法

Country Status (3)

Country Link
US (1) US10579264B2 (zh)
KR (1) KR20180090124A (zh)
CN (1) CN108388525B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058818A (zh) * 2019-04-18 2019-07-26 深圳忆联信息***有限公司 一种基于ssd优化描述符处理顺序的方法及其***
CN111161781A (zh) * 2018-11-07 2020-05-15 爱思开海力士有限公司 用于处理编程错误的存储器***及其方法
CN111679934A (zh) * 2020-08-13 2020-09-18 杭州阿姆科技有限公司 基于raid信息的纠错方法、计算机可读存储介质及处理器

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180090124A (ko) * 2017-02-02 2018-08-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20210000877A (ko) * 2019-06-26 2021-01-06 에스케이하이닉스 주식회사 메모리 시스템의 입출력 성능을 향상시키는 장치 및 방법
KR20210004629A (ko) * 2019-07-05 2021-01-13 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US11055130B2 (en) 2019-09-15 2021-07-06 Mellanox Technologies, Ltd. Task completion system
US11822973B2 (en) * 2019-09-16 2023-11-21 Mellanox Technologies, Ltd. Operation fencing system
US11294832B2 (en) * 2020-03-20 2022-04-05 Western Digital Technologies, Inc. Systems and methods for queuing device management configuration requests
US20230214119A1 (en) * 2021-12-30 2023-07-06 Micron Technology, Inc. Data stripe protection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912598B1 (en) * 1999-07-30 2005-06-28 Stmicroelectrics S.R.L. Non-volatile memory with functional capability of simultaneous modification of the content and burst mode read or page mode read
CN1801396A (zh) * 2004-12-02 2006-07-12 国际商业机器公司 利用动态随机存取存储器写缓冲器的存储器控制器
CN103534680A (zh) * 2010-07-16 2014-01-22 高通股份有限公司 多媒体处理器中的无序命令执行

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055579A (en) * 1997-11-17 2000-04-25 Silicon Graphics, Inc. Distributed control and synchronization of multiple data processors using flexible command queues
US6609189B1 (en) * 1998-03-12 2003-08-19 Yale University Cycle segmented prefix circuits
US20060129764A1 (en) * 2004-12-09 2006-06-15 International Business Machines Corporation Methods and apparatus for storing a command
US20080189501A1 (en) * 2007-02-05 2008-08-07 Irish John D Methods and Apparatus for Issuing Commands on a Bus
US8601169B1 (en) * 2010-11-03 2013-12-03 Pmc-Sierra Us, Inc. Method and apparatus for a multi-engine descriptor controller for distributing data processing tasks across the engines
CN104160384B (zh) * 2012-01-27 2017-06-16 马维尔国际贸易有限公司 用于动态优先级控制的***和方法
US9201719B2 (en) * 2012-03-16 2015-12-01 Infineon Technologies Ag Method and system for timeout monitoring
KR20140141348A (ko) 2013-05-31 2014-12-10 삼성전자주식회사 호스트 장치와 저장 장치가 연계하여 중복 제거 프로세스를 수행하는 방법 및 스토리지 시스템
KR102140792B1 (ko) 2013-12-24 2020-08-03 삼성전자주식회사 데이터 중복 제거를 수행할 수 있는 데이터 저장 장치의 동작 방법들
US9542344B2 (en) * 2014-02-19 2017-01-10 Sandisk Technologies Llc Datapath management in a memory controller
KR20150118207A (ko) 2014-04-08 2015-10-22 에스케이텔레콤 주식회사 메모리제어장치 및 메모리제어장치의 동작 방법
US9720860B2 (en) * 2014-06-06 2017-08-01 Toshiba Corporation System and method for efficient processing of queued read commands in a memory system
US9626106B2 (en) * 2015-01-13 2017-04-18 Sandisk Technologies Llc System and method for memory command queue management and configurable memory status checking
KR20150035876A (ko) 2015-02-24 2015-04-07 포항공과대학교 산학협력단 데이터 중복 제거 방법 및 장치
US9842021B2 (en) * 2015-08-28 2017-12-12 Intel Corporation Memory device check bit read mode
US10152237B2 (en) * 2016-05-05 2018-12-11 Micron Technology, Inc. Non-deterministic memory protocol
US10114589B2 (en) * 2016-11-16 2018-10-30 Sandisk Technologies Llc Command control for multi-core non-volatile memory
KR20180090124A (ko) * 2017-02-02 2018-08-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912598B1 (en) * 1999-07-30 2005-06-28 Stmicroelectrics S.R.L. Non-volatile memory with functional capability of simultaneous modification of the content and burst mode read or page mode read
CN1801396A (zh) * 2004-12-02 2006-07-12 国际商业机器公司 利用动态随机存取存储器写缓冲器的存储器控制器
CN103534680A (zh) * 2010-07-16 2014-01-22 高通股份有限公司 多媒体处理器中的无序命令执行

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111161781A (zh) * 2018-11-07 2020-05-15 爱思开海力士有限公司 用于处理编程错误的存储器***及其方法
CN110058818A (zh) * 2019-04-18 2019-07-26 深圳忆联信息***有限公司 一种基于ssd优化描述符处理顺序的方法及其***
CN110058818B (zh) * 2019-04-18 2022-06-07 深圳忆联信息***有限公司 一种基于ssd优化描述符处理顺序的方法及其***
CN111679934A (zh) * 2020-08-13 2020-09-18 杭州阿姆科技有限公司 基于raid信息的纠错方法、计算机可读存储介质及处理器

Also Published As

Publication number Publication date
CN108388525B (zh) 2021-04-27
US10579264B2 (en) 2020-03-03
US20180217754A1 (en) 2018-08-02
KR20180090124A (ko) 2018-08-10

Similar Documents

Publication Publication Date Title
CN108388525A (zh) 存储器***及其操作方法
CN108255739A (zh) 存储器***及其操作方法
CN108572927A (zh) 存储器***及其操作方法
CN108304141A (zh) 存储器***及其操作方法
CN108733595A (zh) 存储器***、包括其的数据处理***及其操作方法
CN107818057A (zh) 存储器***及其操作方法
CN109388594A (zh) 存储器***及其操作方法
CN109284202A (zh) 控制器及其操作方法
CN107589906A (zh) 存储器***及其操作方法
CN109947358A (zh) 存储器***及其操作方法
CN108345550A (zh) 存储器***
CN108241587A (zh) 存储器***以及存储器***的操作方法
CN108268212A (zh) 控制器及操作方法
CN109521947A (zh) 存储器***以及存储器***的操作方法
CN109656837A (zh) 存储器***及其操作方法
CN108694138A (zh) 控制器及其操作方法
CN110362270A (zh) 存储器***及其操作方法
CN110058797A (zh) 存储器***及其操作方法
CN108257637A (zh) 存储器***及其操作方法
CN108932203A (zh) 数据处理***和数据处理方法
CN109935251A (zh) 存储器***、其操作方法以及包括其的数据处理***
CN110473582A (zh) 存储器***及其操作方法
CN107807887A (zh) 存储器***及其操作方法
CN107562653A (zh) 存储器***及其操作方法
CN108389602A (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