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

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

Info

Publication number
CN108572927A
CN108572927A CN201711155294.5A CN201711155294A CN108572927A CN 108572927 A CN108572927 A CN 108572927A CN 201711155294 A CN201711155294 A CN 201711155294A CN 108572927 A CN108572927 A CN 108572927A
Authority
CN
China
Prior art keywords
buffer
storage
host
memory
data
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.)
Withdrawn
Application number
CN201711155294.5A
Other languages
English (en)
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.)
SK Hynix Inc
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 CN108572927A publication Critical patent/CN108572927A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • 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
    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

本发明涉及一种存储器***,其包括:存储器装置;以及控制器,其包括联接在主机和存储器装置之间并包括多个存储区域的缓存器,用于基于分层地表示多个存储区域的位图信息来确定多个存储区域中对应于主机请求的地址信息的存储区域是否存在于缓存器中。

Description

存储器***及其操作方法
相关申请的交叉引用
本申请要求于2017年3月14日提交的申请号为10-2017-0031599的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开的各个实施例涉及一种存储器***及其操作方法。
背景技术
近来,计算机环境范例已经变为允许用户在任何时间任何地点访问计算机***的普适计算环境。因此,诸如移动电话、数码相机、膝上型计算机等的便携式电子装置的使用正在急剧增长。便携式电子装置通常采用使用存储器装置的存储器***来存储数据。存储器***可用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储装置不包括机械驱动单元,因此它具有优良的稳定性和耐久性。此外,存储器装置的优点在于它可快速地访问数据并消耗少量的电力。具有这些优点的存储装置的非限制性示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本公开的实施例涉及一种用于快速的缓存器搜索的存储器控制器、存储器***以及用于操作该存储器***的方法。
根据本发明的实施例,存储器***可包括:存储器装置;以及控制器,其包括联接在主机和存储器装置之间并包括多个存储区域的缓存器,用于基于分层地表示多个存储区域的位图信息来确定在多个存储区域中对应于主机请求的地址信息的存储区域是否存在于缓存器中。
控制器可将多个存储区域划分成多个范围,该多个范围中的每一个都包括至少两个存储区域,并生成分层地(hierachically)表示多个范围和多个存储区域的位图信息。
位图信息可包括1层位(1-level bit)和2层位,并且1层位可分别对应于多个范围,2层位可分别对应于包括在多个范围中的每一个中的存储区域。
控制器可响应于来自主机的写入请求或读取请求来更新位图信息。
当控制器确定在缓存器中不存在对应于根据写入请求的地址信息的存储区域时,控制器可将数据缓存在缓存器中,并且基于缓存的结果来设置位图信息的相应位的值。
当数据从缓存器被刷新到存储器装置时,控制器可清除位图信息的相应位的值。
当控制器确定在缓存器中存在对应于根据读取请求的地址信息的存储区域时,控制器可读取被存储在缓存器中的根据读取请求的数据并将数据传输至主机。
根据本发明的另一实施例,存储器控制器可包括:缓存器,其联接在主机和存储器装置之间并包括多个存储区域;以及处理器,其适于基于分层地表示多个存储区域的位图信息来确定在多个存储区域中对应于主机请求的地址信息的存储区域是否存在于缓存器中。
处理器可将多个存储区域划分成多个范围,该多个范围中的每一个都包括至少两个存储区域,并生成分层地表示多个范围和多个存储区域的位图信息。
位图信息可包括1层位和2层位,并且1层位可分别对应于多个范围,2层位可分别对应于包括在多个范围中的每一个中的存储区域。
处理器可响应于来自主机的写入请求或读取请求来更新位图信息。
当处理器确定在缓存器中不存在对应于根据写入请求的地址信息的存储区域时,处理器可将数据缓存在缓存器中,并且基于缓存的结果来设置位图信息的相应位的值。
当数据从缓存器被刷新到存储器装置时,处理器可清除位图信息的相应位的值。
当处理器确定在缓存器中存在对应于根据读取请求的地址信息的存储区域时,处理器可根据读取请求读取被存储在缓存器中的数据并将数据传输至主机。
根据本发明的另一实施例,一种包括缓存器的存储器控制器的操作方法,该缓存器被联接在主机和存储器装置之间并包括多个存储区域,该方法可包括:接收来自主机的请求;以及基于分等级地表示多个存储区域的位图信息来确定在多个存储区域中对应于包括在请求中的地址信息的存储区域是否存在于缓存器中。
该方法可进一步包括:将多个存储区域划分成多个范围,该多个范围中的每一个都包括至少两个存储区域,并生成分层地表示多个范围和多个存储区域的位图信息。
位图信息可包括1层位和2层位,并且1层位可分别对应于多个范围,2层位可分别对应于包括在多个范围中的每一个中的存储区域。
该方法可进一步包括:响应于来自主机的写入请求或读取请求来更新位图信息。
更新位图信息可包括:当在缓存器中不存在对应于根据写入请求的地址信息的存储区域时,将数据缓存在缓存器中,并且基于缓存的结果来设置位图信息的相应位的值。
更新位图信息可进一步包括:当在缓存器中存在对应于根据读取请求的地址信息的存储区域时,读取存储在缓存器中的根据读取请求的数据并将数据传输至主机。
附图说明
通过以下参照附图的详细描述,本发明的上述和其它特征及优点将对本发明所属领域的技术人员变得更加显而易见,其中:
图1是说明根据本公开的实施例的包括存储器***的数据处理***的框图;
图2是说明图1所示的存储器***中采用的存储器装置的示例性配置的示意图;
图3是说明图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;
图4是说明图2所示的存储器装置的示例性三维结构的示意图;
图5是说明包括根据本公开的实施例的存储器***的数据处理***的框图;
图6说明根据本公开的实施例的划分多个存储区域的示例;
图7A说明根据本公开的实施例的用于缓存器搜索的位图结构的示例;
图7B说明根据本公开的实施例的用于缓存器搜索的位图结构的另一示例;
图8是说明根据本公开的实施例的控制器的操作的流程图;
图9是说明根据本公开的实施例的控制器的操作的流程图;并且
图10至图18是示意性说明根据本公开的各个实施例的图1所示的数据处理***的应用示例的简图。
具体实施方式
以下将参照附图更详细地描述本发明的示意性实施例。然而,本发明可以不同的形式实施,并不应被解释为受限于本文所阐述的实施例。相反地,提供这些实施例以便使本公开将是彻底且完整的,并且将本发明的范围完全地传达给本领域的技术人员。在整个本公开中,在本发明的各个附图和实施例中的相同的附图标记表示相同的部件。
在下文中,将参照附图详细描述本发明的各个实施例。
图1是说明根据本公开的实施例的包括存储器***110的数据处理***100的框图。
参照图1,数据处理***100可包括可操作地联接至存储器***110的主机102。
主机102可以是包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式电脑、游戏机、电视(TV)和投影仪的非便携式电子装置的任何适用的电子装置。主机102可包括至少一个操作***(OS),并且OS可管理和控制主机102的全部功能和操作,并还使用数据处理***100或存储器***110提供主机102和用户之间的操作。OS可支持对应于用户的使用目的和用途的功能和操作。例如,根据主机102的移动性,OS可被划分为普通OS和移动OS。普通OS可根据用户的环境被划分为个人OS和企业OS。例如,配置为支持向普通用户提供服务的功能的个人OS可包括Windows和Chrome,配置为保护和支持高性能的企业OS可包括Windows服务器、Linux和Unix。此外,配置为支持向用户提供移动服务和***省电功能的移动OS可包括Android、iOS和Windows Mobile。主机102可包括一个或多个OS。主机102可执行OS以对存储器***110执行对应于用户请求的操作。
存储器***110可响应于主机102的请求操作以为主机102存储数据。存储器***110的非限制性示例可包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)和微型-MMC。SD卡可包括迷你-SD卡和微型-SD卡。
存储器***110可由各种类型的存储装置实施。包括在存储器***110中的存储装置的非限制性示例可包括诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如以下的非易失性存储器装置:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。闪速存储器可具有三维(3D)堆叠结构。
存储器***110可包括存储器装置150和控制器130。存储器装置150可为主机120存储数据,并且控制器130可控制数据在存储器装置150中的存储。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器***中。
存储器***110的非限制性应用示例可包括计算机、超级移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航***、黑盒、数字照相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、无线射频识别(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-Chaudhri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon)码、卷积码、递归***码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)。然而,ECC单元138不限于此。ECC单元138可包括用于错误校正的所有电路、模块、***或装置。
PMU 140可提供和管理控制器130的电力。
当存储器装置是NAND闪速存储器时,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是说明图1所示的存储器***110中采用的存储器装置150的示例性配置的示意图。
参照图2,存储器装置150可包括多个存储块0至N-1,并且块0至N-1中的每一个可包括多个页面,例如2M个页面。页面的数量可根据电路设计而变化。包括在各个存储块0至N-1中的存储器单元可以是下列中的一个或多个:存储1位数据的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据也被称为三层单元(TLC)的MLC、存储4位数据也被称为四层单元(QLC)的MLC或存储5位或更多位数据的MLC。
图3是说明图2所示的存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。
参照图3,可对应于包括在存储器***110的存储器装置150中的多个存储块152至156中的任一个的存储块330可包括联接到多个相应位线BL0至BLm-1的多个单元串340。每列的单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元MC0至MCn-1可以串联地联接在漏极选择晶体管DST和源极选择晶体管SST之间。在实施例中,存储器单元晶体管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是说明图2所示的存储器装置150的示例性三维(3D)结构的示意图;
存储器装置150可通过二维(2D)或三维(3D)存储器装置来实施。具体地,如图4所示,存储器装置150可通过具有3D堆叠结构的非易失性存储器装置实施。当存储器装置150具有3D结构时,存储器装置150可包括每一个都具有3D结构或垂直结构的多个存储块BLK0至BLKN-1。
如上所述,存储器控制器可存储在主机和存储器装置之间执行数据写入操作和数据读取操作所需的数据,以及用于在将被统称为缓存器的缓冲器或高速缓存器中的数据写入操作和数据读取操作的数据。当写入请求或读取请求从主机被接收时,存储器控制器可搜索缓存器以找出是否存在最近被访问的数据。如果许多数据被存储在缓存器中,则缓存器搜索时间可能会变长。此外,写入延迟或读取延迟可能根据存储在缓存器中的数据量而变得不规律。
例如,当使用读取缓存器时,虽然不会发生缓存命中,但是因为存储在缓存器中的数据量较大,所以用于读取操作的缓存器搜索时间可能变长,并且较长的缓存器搜索时间可能影响读取延迟。举另一示例,当使用写入缓存器时,收集尽可能多的数据并将收集的数据写入存储器装置例如NAND存储器装置中可能是有利的。然而,用于写入操作的缓存器搜索时间可能变长。即使不会发生缓存命中,写入缓存器搜索时间也可能大幅影响读取延迟。
因此,本发明的以下实施例提供了一种快速地搜索缓存器的方法。根据快速地搜索缓存器的方法,可减少缓存器搜索时间,并且读取或写入延迟可通过使用分层的位图结构并基于逻辑范围而不是逻辑地址来搜索缓存器而被确保在统一水平上。
图5是说明根据本公开的实施例的包括存储器***510的数据处理***500的框图。
参照图5,数据处理***500可包括主机50和存储器***510。存储器***510可包括控制器520和存储器装置530。主机50和存储器***510可以是分别对应于图1所示的主机102和存储器装置110的组成元件。控制器520和存储器装置530可以是分别对应于图1所示的控制器130和存储器装置150的组成元件。关于图5所示的组成元件的描述不是限制性的,而仅用于说明。
控制器520可响应于来自主机50的请求控制存储器装置530。例如,控制器520可将从存储器装置530读取的数据提供给主机50,并将从主机50供应的用于写入操作的数据存储在存储器装置530中。控制器520可包括缓存器522和处理器524。缓存器522和处理器524可以是分别对应于图1所示的存储器144和处理器134的组成元件。
处理器524可控制存储器***510的一般操作。处理器524可驱动被称为闪速转换层(FTL)的固件来控制存储器***510的一般操作。
处理器524可与存储器装置530一起执行对应于从主机50接收到的命令或请求的操作。例如,处理器524可响应于来自主机50的写入请求来控制对存储器装置530的写入操作。对于另一示例,处理器524可响应于来自主机50的读取请求来控制对存储器装置530的读取操作。特别地,处理器524可执行下面描述的缓存器搜索操作。
缓存器522可以是联接在主机50和存储器装置530之间的控制器520的操作存储器,并且存储与控制器520的操作有关的数据。例如,当控制器130响应于来自主机102的请求而对存储器装置150执行诸如读取操作、写入操作或擦除操作的操作时,缓存器522可存储相关的用户数据和/或映射数据。此处,映射数据可以是表示存储区域,例如存储用户数据的存储器装置530的页面的信息。缓存器522也可被称为程序存储器、数据存储器、写入缓冲器/缓存器、读取缓冲器/缓存器、数据缓冲器/缓存器或映射缓冲器/缓存器。缓存器522可由诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器形成。如图所示,缓存器522可被包括在控制器520的内部。然而,与附图不同,它还可以设置在控制器520的外部。
当从主机50接收到写入请求时,处理器524可将对应于接收到的写入请求的用户数据存储或缓存在缓存器522中,然后将存储的用户数据传输至存储器装置530并将用户数据存储在存储器装置530中。存储的用户数据可使用缓存器复制或缓存器刷新被传输至存储器装置530。此外,处理器524可生成与用户数据的写入操作有关的映射数据,并将映射数据存储在缓存器522中。
当从主机50接收到读取请求时,处理器524可从缓存器522或存储器装置530中读取对应于接收到的读取请求的用户数据,并将读取的用户数据传输至主机50。如果对应于接收到的读取请求的用户数据被存储在缓存器522中,则处理器524可将存储的用户数据传输至主机50。否则,如果对应于接收到的读取请求的用户数据未被存储在缓存器522中,则处理器524可从存储器装置530读取用户数据,将读取的用户数据存储在缓存器522中,然后将存储的用户数据传输至主机50。
在各个实施例中,当从主机50接收到写入请求或读取请求时,控制器520可搜索缓存器522来判定在缓存器522中是否存在对应于接收到的请求的数据。控制器520能够基于分层地表示包括在存储器装置530中的多个存储区域的位图信息来搜索缓存器522。简而言之,处理器524可搜索缓存器522并判定在存储器装置530中的多个存储区域之中是否存在对应于主机50请求的例如逻辑块地址LBA的地址信息的存储区域。此处,当存在对应于地址信息的存储区域时,意味着,对应于地址信息的数据被存储在缓存器522中。
图6说明根据本公开的实施例的划分多个存储区域610的示例。例如,图6所示的存储区域610可以是包括在图5所示的缓存器522中的存储区域。
参照图6,存储区域610可包括n个区域,并且地址可被分别设置成对应于n个存储区域610。例如,可为区域0设置地址0。可为区域1设置地址1。可为区域2设置地址2。可为区域3设置地址3。可为区域(n-4)设置地址(n-4)。可为区域(n-3)设置地址(n-3)。可为区域(n-2)设置地址(n-2)。可为区域(n-1)设置地址(n-1)。在各个实施例中,存储区域的每一个可被设置成对应于主机50请求的逻辑块地址LBA或表示包括在存储器装置530中的存储器区域的物理块地址PBA的页面,或被设置成适当大小的存储器区域。
存储区域610可被划分为多个层。例如,存储区域610可被划分为第一层620和第二层630。第一层620可包括多个范围621至624。范围621至624可包括m个范围。范围621至624中的每一个可包括至少两个或更多个存储区域。例如,范围0 621可包括存储区域610的四个存储区域区域0至区域3。范围1 622可包括存储区域610的四个存储区域区域4至区域7。范围2 623可包括存储区域610的四个存储区域区域8至区域11。范围(m-1)624可包括存储区域610的四个存储区域区域(n-4)至区域(n-1)。
第二层630可包括分别对应于范围621至624的存储区域631至634。存储区域631至634中的每一个可包括四个存储区域区域0至区域3。
如上所述,存储区域610被划分为多个层,以便快速地搜索缓存器522。也就是说,根据本公开的实施例,不是基于诸如地址的存储区域搜索缓存器522,而是在第一层中,基于具有比存储区域大的大小的范围来执行缓存器搜索操作,然后在第二层中,基于存储区域来执行缓存器搜索操作。尽管图6示出包括在缓存器522中的存储区域被分层地划分为两个层的示例,但是本公开的精神和概念可类似地应用于其中存储区域被分层地划分为通过适当大小确定的多个层的其他情况。
图7A说明根据本公开的实施例的用于缓存器搜索的位图结构的示例。尽管图7A示出由于图5所示的缓存器522为32GB装置并且缓存器522被分成两个层而被分层的两个层的位图结构,但是本公开的实施例不限于两个层。
参照图7A,位图710可包括1层位图712和2层位图714。1层位图712可包括具有位0至位31的32个位。简而言之,1层位图712可使用4字节或32位变量。1层位图712的每一个位可对应于例如1GB的范围,其包括缓存器522中包括的存储区域中的预定数量的区域。位0可对应于0GB和1GB之间的范围。位1可对应于1GB和2GB之间的范围。位2可对应于2GB和3GB之间的范围。位3可对应于3GB和4GB之间的范围。当数据以相应的范围被存储时,相应范围的位的值可被设置为“1”。
2层位图714可以存在作为低于1层位图712的层。例如,2层位图714可包括从位0至位15的16位。简而言之,2层位图714可使用2字节或16位变量。
当2层位图714为16位时,2层位图714中的每一个位可对应于例如64MB的预定区域。位0可对应于0和64MB之间的区域。位1可对应于64MB和128MB之间的区域。位2可对应于128MB和192MB之间的区域。位3可对应于192MB和256MB之间的区域。当数据以相应的区域被存储时,相应区域的位的值可被设置为“1”。
如上所述,当32GB SRAM用作缓存器522,并且32位用作1层位图712,16位用作2层位图714时,该SRAM可高达68字节(=4字节(或32位)+{64字节(或32×16位)}),并且可用于缓存器搜索操作。
图7B说明根据本公开的实施例的用于缓存器搜索的位图结构的另一示例。尽管图7B示出由于图5所示的缓存器522为32GB装置并且缓存器522被分成两个层而被分层的两个层的位图结构,但是本发明的实施例不限于两个层。
参照图7B,位图720可包括1层位图722和2层位图724。1层位图722可包括具有位0至位31的32个位。简而言之,1层位图722可使用4字节或32位变量。1层位图722中的每一个位可对应于例如1GB的范围,其包括在缓存器522中包括的存储区域中的预定数量的区域。位0可对应于0GB和1GB之间的范围。位1可对应于1GB和2GB之间的范围。位2可对应于2GB和3GB之间的范围。位3可对应于3GB和4GB之间的范围。当数据以相应的范围被存储时,相应范围的位的值可被设置为“1”。
2层位图724可以存在作为低于1层位图722的层。例如,2层位图724可包括从位0至位7的8位。简而言之,2层位图724可使用1字节或8位变量。
当2层位图724为8位时,2层位图724中的每一个位可对应于例如128MB的预定区域。位0可对应于0MB和128MB之间的区域。位1可对应于128MB和256MB之间的区域。位2可对应于256MB和384MB之间的区域。位3可对应于384MB和512MB之间的区域。当数据以相应的区域被存储时,相应区域的位的值可被设置为“1”。
如上所述,当32GB SRAM用作缓存器522,并且32位用作1层位图722,8位用作2层位图724时,高达36字节(=4字节(或32位)+{32字节(或32×8位)})的SRAM可用于缓存器搜索操作。
根据本公开的实施例,存储器***510中的控制器520可以多层位图例如二层位图来表示缓存器522,并且基于对应于预定区域的范围通过使用位图来搜索缓存器522。控制器520可通过减小用于搜索缓存器522的数据结构的大小来减少对缓存器522的搜索时间。此外,随着数据缓存量的变化,对缓存器522的搜索时间可能变化,并且也可去除读取延迟变得不规律的现象。
图8是说明根据本公开的实施例的控制器的操作的流程图。图8示出图5中所示的控制器520或处理器524对存储器装置530执行的写入操作。
参照图8,控制器520可在操作810处判定是否从主机50接收到写入请求。
当确定从主机50接收到写入请求时,控制器520可在操作820处基于分层的位图信息来搜索缓存器522。控制器520可在操作830处确定是否存在对应于地址信息例如包括在对缓存器522的写入请求中的LBA的存储区域。
根据本公开的各个实施例,如图6所示,当包括在缓存器522中的存储区域被划分成每一个都包括至少两个存储区域的多个范围时,分层的位图信息可分层地表示多个范围和多个存储区域。当如图7A或7B所示分层的位图包括两层的位图时,1层位可分别对应于范围,并且2层位可分别对应于被包括在每一个范围中的存储区域。
当确定在缓存器522中不存在对应于包括在写入请求中的地址信息的存储区域时,控制器520可在操作840处将与写入请求一起接收的数据缓存在缓存器522中。随后,控制器520可在操作850处通过设置位值例如“1”来更新位图信息,“1”表示与写入数据的缓存相关的存储区域和范围。
随后,控制器520可在操作860处将缓存在缓存器522中的数据传输至存储器装置530。例如,控制器520可通过缓存器复制或缓存器刷新来将缓存在缓存器522中的数据传输至存储器装置530。然后,存储器装置530可将接收到的写入数据存储在存储区域,例如对应于包括在写入请求中的地址信息例如LBA的PBA。
当数据从缓存器522被刷新到存储器装置530时,控制器520可通过清除位图信息的相应位的值来更新位图信息。
图9是说明根据本公开的实施例的控制器的操作的流程图。图9的操作流程可对应于图5中的控制器520或处理器524对存储器装置530执行的读取操作。
参照图9,控制器520可在操作910处确定是否从主机50接收到读取请求。
当确定从主机50接收到读取请求时,控制器520可在操作920处基于分层的位图信息搜索缓存器522,并且在操作930处确定在缓存器522中是否存在对应于包括在读取请求中的地址信息例如LBA的存储区域。
根据本公开的各个实施例,如图6所示,当包括在缓存器522中的存储区域被划分成每一个都包括至少两个存储区域的多个范围时,分层的位图信息可分层地表示多个范围和多个存储区域。当如图7A或7B所示分层的位图包括两层位图时,1层位可分别对应于范围,并且2层位可分别对应于包括在每一个范围中的存储区域。
控制器520可在操作940处基于关于在缓存器522中是否存在对应于包括在读取请求中的地址信息例如LBA的存储区域的确定结果来执行数据读取操作。
当确定在缓存器522中存在对应于包括在读取请求中的地址信息例如LBA的存储区域时,控制器520可读取存储在缓存器522的相应区域中的数据。否则,当确定在缓存器522中不存在对应于包括在读取请求中的地址信息的存储区域时,控制器520可读取存储在存储器装置530的相应区域中的数据,该相应区域是对应于包括在读取请求中的地址信息例如LBA的存储区域例如PBA,并且将读取的数据存储在缓存器522中。
控制器520可在操作950处将从缓存器522或存储器装置530读取的读取数据传输至主机50。
在下文中,将参照图10至图18更详细地描述设置有存储器***110的数据处理***和电子设备,该存储器***110包括根据实施例参照图1至图9描述的存储器装置150和控制器130。
图10至图18是示意性说明根据本公开的各个实施例的图1的数据处理***的应用示例的简图。
图10是示意性说明包括根据本公开的实施例的存储器***的数据处理***的另一示例的简图。图10示意性说明了应用根据实施例的存储器***的存储卡***。
参照图10,存储卡***6100可包括连接器6110、存储器控制器6120和存储器装置6130。
更具体地,存储器控制器6120可被连接到通过非易失性存储器实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口并驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1描述的存储器***110的控制器130,并且存储器装置6130可对应于参照图1描述的存储器***110的存储器装置150。
因此,存储器控制器6120可包括随机存取存储器(RAM)、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器6120可进一步包括图5所示的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机***接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(WI-FI)以及蓝牙。因此,根据实施例的存储器***和数据处理***可应用于有线/无线电子装置,或者特别是移动电子装置。
存储器装置6130可通过非易失性存储器来实施。例如,存储器装置6130可通过诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。存储器装置6130可包括如图1的存储器装置150中的多个管芯。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。例如,存储器控制器6120和存储器装置6130可通过集成至单个半导体装置中构成固态驱动器(SSD)。此外,存储器控制器6120以及存储器装置6130可构成诸如以下的存储卡:例如个人计算机存储卡国际协会(PCMCIA)的PC卡,标准闪存(CF)卡,智能媒体卡(例如,SM和SMC),记忆棒,多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC),例如SD、迷你SD、微型SD和SDHC的SD卡以及通用闪存(UFS)。
图11是示意性说明包括根据本公开的实施例的存储器***的数据处理***的另一示例的简图。
参照图11,数据处理***6200可包括具有一个或多个非易失性存储器(NVM)的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图11所示的数据处理***6200可用作如参照图1所描述的诸如CF、SD、微型SD等的存储卡或USB装置的存储介质。存储器装置6230可对应于图1所示的存储器***110中的存储器装置150,并且存储器控制器6220可对应于图1所示的存储器***110中的控制器130。
存储器控制器6220可响应于来自主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括中央处理器(CPU)6221、作为缓冲存储器6222的随机存取存储器(RAM)、错误校正码(ECC)电路6223、主机接口6224以及作为存储器接口6225的NVM接口。
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电路6223可对提供给存储器装置6230的数据执行错误校正编码,从而形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223可使用奇偶校验位来校正错误。例如,如上参照图1所述,ECC电路6223可使用包括诸如以下的编码调制的任何适当的方法来校正错误:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(RS)码、卷积码、递归***码(RSC)、网格编码调制(TCM)或分组编码调制(BCM)。
存储器控制器6220可通过主机接口6224向主机6210传输数据/接收来自主机6210的数据,并通过NVM接口6225向存储器装置6230传输数据/接收来自存储器装置6230的数据。主机接口6224可通过诸如以下的各种接口协议中的至少一种连接到主机6210:并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机***接口(SCSI)、通用串行总线(USB)、高速***组件互连(PCIe)或NAND接口。存储器控制器6220可利用诸如无线保真(WiFi)或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可连接到外部装置,例如主机6210或另一个外部装置,然后向外部装置传输数据/接收来自外部装置的数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置进行通信,因此根据实施例的存储器***和数据处理***可应用于有线/无线电子装置或特别是移动电子装置。
图12是示意性说明包括根据本公开的实施例的存储器***的数据处理***的另一示例的简图。图12示意性说明应用根据实施例的存储器***的固态驱动器(SSD)6300。
参照图12,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1和图5的存储器***110中的控制器130,并且存储器装置6340可对应于图1的存储器***中的存储器装置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)的非易失性存储器来实现。为便于描述,图12说明了缓冲存储器6325存在于控制器6320内部。然而,缓冲存储器6325可存在于控制器6320外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与外部装置例如主机6310的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用了图1的存储器***110的多个SSD 6300来实施数据处理***,例如,独立磁盘冗余阵列(RAID)***。此时,RAID***可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD 6300中选择一个或多个存储器***或SSD 6300,并将对应于写入命令的数据输出到所选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD6300中选择一个或多个存储器***或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图13是示意性说明包括根据本公开的实施例的存储器***的数据处理***的另一示例的简图。图13示意性说明应用了根据实施例的存储器***的嵌入式多媒体卡(eMMC)。
参照图13,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器***110中的控制器130,并且存储器装置6440可对应于图1的存储器***110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接到存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的全部操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作并行接口,例如参照图1所描述的MMC接口。此外,主机接口6431可用作诸如超高速等级1(UHS-I)/UHS等级2(UHS-II)和通用闪存(UFS)接口的串行接口。
图14至图17是示意性说明包括根据本公开的实施例的存储器***的数据处理***的其它示例的简图。图14至图17示意性地说明了应用根据实施例的存储器***的通用闪存(UFS)***。
参照图14至图17,UFS***6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可作为有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可作为嵌入式UFS装置,并且UFS卡6530、6630、6730和6830可作为外部嵌入式UFS装置或可移除UFS卡。
各个UFS***6500、6600、6700和6800中的主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与诸如有线和/或无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过图1所示的存储器***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可通过UFS接口,例如,移动行业处理器接口(MIPI)中的MIPI M-PHY和MIPI统一协议(UniPro)彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过除UFS协议以外的各种协议,例如,USB闪存驱动器(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卡可并联或以星形形式连接到主机6510,并且多个UFS卡可并联或以星形形式连接到UFS装置6520,或者串联或以链的形式连接到UFS装置6520。
在图15所示的UFS***6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过交换模块6640执行交换操作,例如,通过交换模块6640在UniPro处执行链路层交换,例如L3交换,与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执行交换操作,例如通过交换模块6740在UniPro处执行链路层交换,例如L3交换,与UFS装置6720或UFS卡6730通信。此时,UFS装置6720和UFS卡6730可通过UniPro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在实施例中,为便于描述,已经例示了其中一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,每一个都包括交换模块6740和UFS装置6720的多个模块可并联或以星形形式连接到主机6710,或者串联或以链的形式彼此连接。此外,多个UFS卡可并联或以星形形式连接到UFS装置6720。
在图17所示的UFS***6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操作,以便与主机6810和UFS卡6830通信。特别地,UFS装置6820可通过用于与主机6810通信的M-PHY和UniPro模块和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标标识符(ID)交换操作,来与主机6810或UFS卡6830通信。此时,主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在实施例中,为便于描述,已经例示了其中一个UFS装置6820连接到主机6810且一个UFS卡6830连接到UFS装置6820的配置。然而,多个UFS装置可并联或以星形形式连接到主机6810,或串联或以链的形式连接到主机6810,并且多个UFS卡可并联或以星形形式连接到UFS装置6820,或串联或以链的形式连接到UFS装置6820。
图18是示意性说明包括根据本公开的实施例的存储器***的数据处理***的另一示例的简图。图18是示意性说明应用了根据实施例的存储器***的用户***的简图。
参照图18,用户***6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在用户***6900中的诸如OS的部件,并且包括控制包括在用户***6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上***(SoC)被提供。
存储器模块6920可用作用户***6900的主存储器、工作存储器、缓冲存储器或缓存存储器。存储器模块6920可包括诸如动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2 SDRAM、DDR3 SDRAM、低功率双倍数据速率(LPDDR)SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器,或者诸如相变随机存取存储器(PRAM)、电阻式随机存取存储器(ReRAM)、磁性随机存取存储器(MRAM)和铁电随机存取存储器(FRAM)的非易失性随机存取存储器。例如,可基于堆叠式封装(POP)封装和安装应用处理器6930和存储器模块6920。
网络模块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可被实施为如上参照图12至图17所述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机的用户输出接口。
此外,当图1的存储器***110应用于用户***6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可作为用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据或支持从触摸面板接收数据的功能。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员将显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行其它各种实施例、改变和修改。

Claims (20)

1.一种存储器***,其包括:
存储器装置;以及
控制器,其包括联接在主机和所述存储器装置之间并包括多个存储区域的缓存器,
适于基于分层地表示所述多个存储区域的位图信息来确定在所述多个存储区域中对应于所述主机请求的地址信息的存储区域是否存在于所述缓存器中。
2.根据权利要求1所述的存储器***,其中所述控制器将所述多个存储区域划分成多个范围,所述多个范围中的每一个包括至少两个存储区域,并且
生成分层地表示所述多个范围和所述多个存储区域的所述位图信息。
3.根据权利要求2所述的存储器***,其中所述位图信息包括1层位和2层位,并且
所述1层位分别对应于所述多个范围,并且
所述2层位分别对应于包括在所述多个范围中的每一个中的存储区域。
4.根据权利要求1所述的存储器***,其中所述控制器响应于来自所述主机的写入请求或读取请求来更新所述位图信息。
5.根据权利要求4所述的存储器***,其中当所述控制器确定在所述缓存器中不存在对应于根据所述写入请求的地址信息的存储区域时,所述控制器将所述数据缓存在所述缓存器中,并且基于缓存的结果来设置所述位图信息的相应位的值。
6.根据权利要求5所述的存储器***,其中当所述数据从所述缓存器被刷新到所述存储器装置时,所述控制器清除所述位图信息的相应位的值。
7.根据权利要求4所述的存储器***,其中当所述控制器确定在所述缓存器中存在对应于根据所述读取请求的地址信息的存储区域时,所述控制器读取存储在所述缓存器中的根据所述读取请求的数据并将所述数据传输至所述主机。
8.一种存储器控制器,其包括:
缓存器,其联接在主机和存储器装置之间并包括多个存储区域;以及
处理器,其适于基于分层地表示所述多个存储区域的位图信息来确定在所述多个存储区域中对应于所述主机请求的地址信息的存储区域是否存在于所述缓存器中。
9.根据权利要求8所述的存储器控制器,其中所述处理器将所述多个存储区域划分成多个范围,所述多个范围中的每一个包括至少两个存储区域,并且
生成分层地表示所述多个范围和所述多个存储区域的所述位图信息。
10.根据权利要求9所述的存储器控制器,其中所述位图信息包括1层位和2层位,并且
所述1层位分别对应于所述多个范围,并且
所述2层位分别对应于包括在所述多个范围中的每一个中的存储区域。
11.根据权利要求8所述的存储器控制器,其中所述处理器响应于来自所述主机的写入请求或读取请求来更新所述位图信息。
12.根据权利要求11所述的存储器控制器,其中当所述处理器确定在所述缓存器中不存在对应于根据所述写入请求的地址信息的存储区域时,所述处理器将所述数据缓存在所述缓存器中,并且基于缓存的结果来设置所述位图信息的相应位的值。
13.根据权利要求12所述的存储器控制器,其中当所述数据从所述缓存器被刷新到所述存储器装置时,所述处理器清除所述位图信息的相应位的值。
14.根据权利要求11所述的存储器控制器,其中当所述处理器确定在所述缓存器中存在对应于根据所述读取请求的地址信息的存储区域时,所述处理器读取存储在所述缓存器中的根据所述读取请求的数据并将所述数据传输至所述主机。
15.一种包括缓存器的存储器控制器的操作方法,所述缓存器联接在主机和存储器装置之间并包括多个存储区域,所述方法包括:
接收来自所述主机的请求;以及
基于分层地表示所述多个存储区域的位图信息来确定在所述多个存储区域中对应于包括在所述请求中的地址信息的存储区域是否存在于所述缓存器中。
16.根据权利要求15所述的方法,其进一步包括:
将所述多个存储区域划分成多个范围,所述多个范围中的每一个包括至少两个存储区域;并且
生成分层地表示所述多个范围和所述多个存储区域的所述位图信息。
17.根据权利要求16所述的方法,其中所述位图信息包括1层位和2层位,并且
所述1层位分别对应于所述多个范围,并且
所述2层位分别对应于包括在所述多个范围中的每一个中的存储区域。
18.根据权利要求15所述的方法,其进一步包括:
响应于来自所述主机的写入请求或读取请求来更新所述位图信息。
19.根据权利要求18所述的方法,其中更新所述位图信息包括:
当在所述缓存器中不存在对应于根据所述写入请求的地址信息的存储区域时,将所述数据缓存在所述缓存器中,并且基于缓存的结果来设置所述位图信息的相应位的值。
20.根据权利要求18所述的方法,其中更新所述位图信息进一步包括:
当在所述缓存器中存在对应于根据所述读取请求的地址信息的存储区域时,读取存储在所述缓存器中的根据所述读取请求的数据并将所述数据传输至所述主机。
CN201711155294.5A 2017-03-14 2017-11-20 存储器***及其操作方法 Withdrawn CN108572927A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170031599A KR20180104830A (ko) 2017-03-14 2017-03-14 메모리 시스템 및 이의 동작 방법
KR10-2017-0031599 2017-03-14

Publications (1)

Publication Number Publication Date
CN108572927A true CN108572927A (zh) 2018-09-25

Family

ID=63519355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711155294.5A Withdrawn CN108572927A (zh) 2017-03-14 2017-11-20 存储器***及其操作方法

Country Status (3)

Country Link
US (1) US20180267897A1 (zh)
KR (1) KR20180104830A (zh)
CN (1) CN108572927A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968522A (zh) * 2018-10-01 2020-04-07 爱思开海力士有限公司 存储器***及其操作方法、包括存储器***的数据库***

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327185B1 (en) 2012-03-23 2012-12-04 DSSD, Inc. Method and system for multi-dimensional raid
US10289491B1 (en) 2017-04-28 2019-05-14 EMC IP Holding Company LLC Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance
US10614019B2 (en) 2017-04-28 2020-04-07 EMC IP Holding Company LLC Method and system for fast ordered writes with target collaboration
US10339062B2 (en) 2017-04-28 2019-07-02 EMC IP Holding Company LLC Method and system for writing data to and read data from persistent storage
US10466930B2 (en) 2017-04-28 2019-11-05 EMC IP Holding Company LLC Method and system for fast ordered writes with atomic multicast
US10732714B2 (en) 2017-05-08 2020-08-04 Cirrus Logic, Inc. Integrated haptic system
US11259121B2 (en) 2017-07-21 2022-02-22 Cirrus Logic, Inc. Surface speaker
KR20200104601A (ko) 2019-02-27 2020-09-04 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR102456173B1 (ko) 2017-10-27 2022-10-18 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11139767B2 (en) 2018-03-22 2021-10-05 Cirrus Logic, Inc. Methods and apparatus for driving a transducer
US10832537B2 (en) 2018-04-04 2020-11-10 Cirrus Logic, Inc. Methods and apparatus for outputting a haptic signal to a haptic transducer
US11269415B2 (en) 2018-08-14 2022-03-08 Cirrus Logic, Inc. Haptic output systems
GB201817495D0 (en) 2018-10-26 2018-12-12 Cirrus Logic Int Semiconductor Ltd A force sensing system and method
US11509292B2 (en) 2019-03-29 2022-11-22 Cirrus Logic, Inc. Identifying mechanical impedance of an electromagnetic load using least-mean-squares filter
US10955955B2 (en) 2019-03-29 2021-03-23 Cirrus Logic, Inc. Controller for use in a device comprising force sensors
US10992297B2 (en) 2019-03-29 2021-04-27 Cirrus Logic, Inc. Device comprising force sensors
US10726683B1 (en) 2019-03-29 2020-07-28 Cirrus Logic, Inc. Identifying mechanical impedance of an electromagnetic load using a two-tone stimulus
US10828672B2 (en) 2019-03-29 2020-11-10 Cirrus Logic, Inc. Driver circuitry
US11644370B2 (en) 2019-03-29 2023-05-09 Cirrus Logic, Inc. Force sensing with an electromagnetic load
US11283337B2 (en) 2019-03-29 2022-03-22 Cirrus Logic, Inc. Methods and systems for improving transducer dynamics
US10976825B2 (en) 2019-06-07 2021-04-13 Cirrus Logic, Inc. Methods and apparatuses for controlling operation of a vibrational output system and/or operation of an input sensor system
US11150733B2 (en) 2019-06-07 2021-10-19 Cirrus Logic, Inc. Methods and apparatuses for providing a haptic output signal to a haptic actuator
KR20220024091A (ko) 2019-06-21 2022-03-03 시러스 로직 인터내셔널 세미컨덕터 리미티드 디바이스 상에 복수의 가상 버튼을 구성하기 위한 방법 및 장치
US11408787B2 (en) 2019-10-15 2022-08-09 Cirrus Logic, Inc. Control methods for a force sensor system
US11380175B2 (en) 2019-10-24 2022-07-05 Cirrus Logic, Inc. Reproducibility of haptic waveform
US11573891B2 (en) 2019-11-25 2023-02-07 SK Hynix Inc. Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device
KR102456176B1 (ko) 2020-05-21 2022-10-19 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
GB2608906B (en) * 2019-12-05 2023-05-31 Cirrus Logic Int Semiconductor Ltd Methods and systems for estimating coil impedance of an electromagnetic transducer
US11545951B2 (en) 2019-12-06 2023-01-03 Cirrus Logic, Inc. Methods and systems for detecting and managing amplifier instability
KR102435253B1 (ko) 2020-06-30 2022-08-24 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR102495910B1 (ko) 2020-04-13 2023-02-06 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
US11755476B2 (en) 2020-04-13 2023-09-12 SK Hynix Inc. Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device
KR102406449B1 (ko) 2020-06-25 2022-06-08 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
US11662821B2 (en) 2020-04-16 2023-05-30 Cirrus Logic, Inc. In-situ monitoring, calibration, and testing of a haptic actuator
KR20220080273A (ko) 2020-12-07 2022-06-14 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
US11933822B2 (en) 2021-06-16 2024-03-19 Cirrus Logic Inc. Methods and systems for in-system estimation of actuator parameters
US11765499B2 (en) 2021-06-22 2023-09-19 Cirrus Logic Inc. Methods and systems for managing mixed mode electromechanical actuator drive
US11908310B2 (en) 2021-06-22 2024-02-20 Cirrus Logic Inc. Methods and systems for detecting and managing unexpected spectral content in an amplifier system
US11552649B1 (en) 2021-12-03 2023-01-10 Cirrus Logic, Inc. Analog-to-digital converter-embedded fixed-phase variable gain amplifier stages for dual monitoring paths

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102568603A (zh) * 2010-12-17 2012-07-11 索尼公司 数据传输装置、存储器控制装置和存储器***
US20130227220A1 (en) * 2012-02-23 2013-08-29 Agency For Science, Technology And Research Data Storage Device and Method of Managing a Cache in a Data Storage Device
CN104951405A (zh) * 2014-03-28 2015-09-30 三星电子株式会社 存储***以及对存储***执行和验证写保护的方法
US20150370488A1 (en) * 2013-05-22 2015-12-24 Hitachi, Ltd. Memory device, computer system, and method of controlling memory device
CN106294215A (zh) * 2015-06-24 2017-01-04 三星电子株式会社 存储装置和操作存储装置的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170083444A1 (en) * 2015-09-22 2017-03-23 Advanced Micro Devices, Inc. Configuring fast memory as cache for slow memory
US10055158B2 (en) * 2016-09-22 2018-08-21 Qualcomm Incorporated Providing flexible management of heterogeneous memory systems using spatial quality of service (QoS) tagging in processor-based systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102568603A (zh) * 2010-12-17 2012-07-11 索尼公司 数据传输装置、存储器控制装置和存储器***
US20130227220A1 (en) * 2012-02-23 2013-08-29 Agency For Science, Technology And Research Data Storage Device and Method of Managing a Cache in a Data Storage Device
US20150370488A1 (en) * 2013-05-22 2015-12-24 Hitachi, Ltd. Memory device, computer system, and method of controlling memory device
CN104951405A (zh) * 2014-03-28 2015-09-30 三星电子株式会社 存储***以及对存储***执行和验证写保护的方法
CN106294215A (zh) * 2015-06-24 2017-01-04 三星电子株式会社 存储装置和操作存储装置的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968522A (zh) * 2018-10-01 2020-04-07 爱思开海力士有限公司 存储器***及其操作方法、包括存储器***的数据库***
CN110968522B (zh) * 2018-10-01 2023-04-07 爱思开海力士有限公司 存储器***及其操作方法、包括存储器***的数据库***
US11782840B2 (en) 2018-10-01 2023-10-10 SK Hynix Inc. Memory system, operation method thereof, and database system including the memory system

Also Published As

Publication number Publication date
US20180267897A1 (en) 2018-09-20
KR20180104830A (ko) 2018-09-27

Similar Documents

Publication Publication Date Title
CN108572927A (zh) 存储器***及其操作方法
CN108255739A (zh) 存储器***及其操作方法
CN107643985A (zh) 存储器***及其操作方法
CN108304141A (zh) 存储器***及其操作方法
CN107818057A (zh) 存储器***及其操作方法
CN107562649A (zh) 存储器***及其操作方法
CN108121665A (zh) 存储器***及其操作方法
CN109388594A (zh) 存储器***及其操作方法
CN107589906A (zh) 存储器***及其操作方法
CN109947358A (zh) 存储器***及其操作方法
CN108268212A (zh) 控制器及操作方法
CN107591182A (zh) 存储器***及其操作方法
CN109656837A (zh) 存储器***及其操作方法
CN108388525A (zh) 存储器***及其操作方法
CN109521947A (zh) 存储器***以及存储器***的操作方法
CN108108308A (zh) 存储器***及其操作方法
CN108932203A (zh) 数据处理***和数据处理方法
CN109390003A (zh) 存储器***及其操作方法
CN108694138A (zh) 控制器及其操作方法
CN110362270A (zh) 存储器***及其操作方法
CN108257637A (zh) 存储器***及其操作方法
CN109271328A (zh) 存储器***及其操作方法
CN108427536A (zh) 存储器***及其操作方法
CN107807887A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20180925

WW01 Invention patent application withdrawn after publication