CN116897342A - 存储器装置的偏压控制 - Google Patents

存储器装置的偏压控制 Download PDF

Info

Publication number
CN116897342A
CN116897342A CN202180095001.7A CN202180095001A CN116897342A CN 116897342 A CN116897342 A CN 116897342A CN 202180095001 A CN202180095001 A CN 202180095001A CN 116897342 A CN116897342 A CN 116897342A
Authority
CN
China
Prior art keywords
memory
data set
data
state
controller
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.)
Pending
Application number
CN202180095001.7A
Other languages
English (en)
Inventor
D·沃克尔
B·D·霍尔农
T·M·布鲁尔
D·M·帕特里克
C·A·巴罗内
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.)
Micron Technology Inc
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN116897342A publication Critical patent/CN116897342A/zh
Pending 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization

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)

Abstract

描述用于存储器装置的偏压控制的方法、系统和装置。存储器系统可存储数据是否为相干的指示。在一些实例中,所述指示可存储为元数据,其中第一值指示所述数据为不相干的,且第二值或第三值指示所述数据为相干的。当所述存储器系统的处理单元或其它组件处理存取数据的命令时,所述存储器系统可在所述指示为所述第一值时根据装置偏压模式操作,且在所述指示为所述第二值或所述第三值时根据主机偏压模式操作。

Description

存储器装置的偏压控制
交叉参考
本专利申请要求瓦尔克(Walker)等在2021年3月10日提交的标题为“存储器装置的偏压控制(BIAS CONTROL FOR A MEMORY DEVICE)”的第17/198,084号美国专利申请的优先权,其中的每一个转让给本受让人且其中的每一个明确地并入本文中。
关于政府支持的声明
本发明是在政府支持下在由美国能源部授予的合约号2168213下做出的。政府在本发明中拥有某些权利。
技术领域
下文大体上涉及用于存储器的一或多个系统,且更具体地涉及存储器装置的偏压控制。
背景技术
存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。举例来说,二进制存储器单元可编程到常常对应于逻辑1或逻辑0的两个支持状态中的一个。在一些实例中,单个存储器单元可支持两个以上可能的状态,所述状态中的任一个可由存储器单元存储。为了存取存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可以将存储器装置内的一或多个存储器单元写入或编程到相应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、3维交叉点存储器(3D交叉点)、“或非”(NOR)和“与非”(NAND)存储器装置等。存储器装置可以是易失性或非易失性的。除非由外部电源周期性刷新,否则易失性存储器单元(例如,DRAM单元)可能随时间推移而丢失其编程状态。非易失性存储器单元(例如,NAND存储器单元)即使在不存在外部电源的情况下仍可能在很长一段时间内维持其编程状态。
附图说明
图1示出根据如本文中所公开的实例支持存储器装置的偏压控制的系统的实例。
图2示出根据如本文中所公开的实例支持存储器装置的偏压控制的系统的实例。
图3示出根据如本文中所公开的实例支持存储器装置的偏压控制的系统的实例。
图4示出根据如本文中所公开的实例支持存储器装置的偏压控制的过程流程图的实例。
图5示出根据如本文中所公开的实例支持存储器装置的偏压控制的过程流程图的实例。
图6展示根据如本文公开的实例支持存储器装置的偏压控制的存储器控制器的框图。
图7和8展示示出根据如本文中所公开的实例支持存储器装置的偏压控制的一或多种方法的流程图。
具体实施方式
一些接口(例如,计算高速链路(CXL)接口)可提供用于基于偏压的相干模型的机制。具体来说,CXL规范规定,装置附接存储器可跟踪偏压状态以确定装置是否需要将请求发送到主机装置以在装置(例如,装置的处理单元)存取存储器时解析相干性。所述两个偏压状态为主机偏压,其中装置需要将解析相干性的请求发送到主机装置;以及装置偏压,其中存储器装置可独立于主机装置来存取存储器。
CXL规范指示,装置将维持存储器的块(例如,页)的偏压表和用于管理偏压转变的转变代理。偏压转变通常由软件通过使用存储器装置和主机装置之间的命令来管理,且以每块为基础管理。然而,以每块为基础管理偏压转变在块的部分可具有不同相干状态时可能导致效率低下。
本文中描述用于以相对更细粒度管理偏压转变的方法和系统。CXL规范描述每一行数据可维持的元数据。所描述的元数据字段中的一个为Meta0-状态,其可保持三个值中的一个:Invalid(无效)、Any(任何)或Shared(共享)。无效状态指示主机不具有行的可高速缓存副本,任何状态指示主机可具有行的共享、排他或经修改副本,且共享状态指示主机可至多具有行的共享副本。CXL规范因此指示,用于使对于相干性的控制同步的偏压状态与指示高速缓存或相干状态的Meta0-状态分开维持。可存储每一行的Meta0-状态,且所述Meta0-状态可随行数据一起存储。
如本文所描述,Meta0-状态字段可用于跟踪当前偏压状态。具体来说,根据各个方面,Meta0-状态Invalid可等同于装置偏压,且Any和Shared两者可等同于主机偏压。以对应于主机装置的高速缓存行大小的粒度跟踪装置附接介质偏压可以允许装置在有权访问所述介质的任何组件上转变介质的偏压。这允许对偏压的完全硬件控制,且不需要软件来进行转变装置附接介质偏压的复杂任务以实现最佳装置性能。在一些实例中,Meta0-状态可随数据行一起存储在存储器介质中,或可仅存储在装置高速缓存中(例如,仅针对行维持在高速缓存中)。如果其仅存储在高速缓存中,则装置将在高速缓存未命中时呈现Any状态。在任一例子中,利用CXL规范的Meta0-状态以每高速缓存行为基础跟踪偏压状态可改进存储器装置的总体性能,同时维持相对简单的编程模型。
首先在如参考图1到3所描述的系统的上下文中描述本公开的特征。在参考图4和5描述的过程流程图的上下文中描述本公开的特征。通过如参考图6-8所描述的涉及存储器装置的偏压控制的设备图和流程图来进一步说明且参考所述设备图及流程图描述本公开的这些和其它特征。
图1示出根据如本文中所公开的实例支持存储器装置的偏压控制的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
存储器系统110可以是或包含任何装置或装置的集合,其中所述装置或装置的集合包含至少一个存储器阵列。举例来说,存储器系统110可以是或包含通用快闪存储(UFS)装置、嵌入式多媒体控制器(eMMC)装置、快闪装置、通用串行总线(USB)快闪装置、安全数字(SD)卡、固态驱动器(SSD)、硬盘驱动器(HDD)、双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM),或非易失性DIMM(NVDIMM),以及其它可能性。
系统100可包含在计算装置中,所述计算装置例如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具物联网(IoT)功能的装置、嵌入式计算机(例如,包含在交通工具、工业设备或联网商业装置中的嵌入式计算机),或包含存储器和处理装置的任何其它计算装置。
系统100可包含可与存储器系统110耦合的主机系统105。在一些实例中,此耦合可包含与主机系统控制器106的接口,所述主机系统控制器可以是被配置成致使主机系统105根据如本文中所描述的实例执行各种操作的控制组件的实例。主机系统105可包含一或多个装置,且在一些情况下,可包含处理器芯片组和由处理器芯片组执行的软件堆栈。举例来说,主机系统105可包含被配置成用于与存储器系统110或其中的装置通信的应用。处理器芯片组可包含一或多个核心、一或多个高速缓存(例如,主机系统105本地的或包含在所述主机系统中的存储器)、存储器控制器(例如,NVDIMM控制器),和存储协议控制器(例如,外围组件互连高速(PCIe)控制器、串行高级技术附件(SATA)控制器)。主机系统105可使用存储器系统110,例如将数据写入到存储器系统110及从存储器系统110读取数据。尽管在图1中展示一个存储器系统110,但主机系统105可与任何数量的存储器系统110耦合。
主机系统105可以经由至少一个物理主机接口与存储器系统110耦合。在一些情况下,主机系统105和存储器系统110被配置成使用相关联协议经由物理主机接口进行通信(例如,以在存储器系统110与主机系统105之间交换或以其它方式交流控制、地址、数据和其它信号)。物理主机接口的实例可包含(但不限于)SATA接口、UFS接口、eMMC接口、PCIe接口、USB接口、光纤通道接口、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、双数据速率(DDR)接口、DIMM接口(例如,支持DDR的DIMM套接接口)、开放NAND快闪接口(ONFI)、低功率双数据速率(LPDDR)接口,以及CXL接口。在一些实例中,一或多个此类接口可包含在主机系统105的主机系统控制器106与存储器系统110的存储器系统控制器115中或以其它方式在其间得到支持。在一些实例中,主机系统105可经由用于包含在存储器系统110中的每一存储器装置130的相应物理主机接口或经由用于包含在存储器系统110中的每一类型的存储器装置130的相应物理主机接口而与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
存储器系统110可包含存储器系统控制器115和一或多个存储器装置130。存储器装置130可以包含任何类型的存储器单元(例如,非易失性存储器单元、易失性存储器单元,或其任何组合)的一或多个存储器阵列。尽管图1的实例中展示两个存储器装置130-a和130-b,但存储器系统110可包含任何数量的存储器装置130。此外,如果存储器系统110包含一个以上存储器装置130,则存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。
存储器系统控制器115可与主机系统105耦合并通信(例如,经由物理主机接口),并且可以是被配置成致使存储器系统110根据如本文所描述的实例执行各种操作的控制组件的实例。存储器系统控制器115还可与存储器装置130耦合并通信以在存储器装置130处执行一般可称为存取操作的操作,例如读取数据、写入数据、擦除数据或刷新数据,以及其它此类操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130通信以执行此些命令(例如,在所述一或多个存储器装置130内的存储器阵列处)。举例来说,存储系统控制器115可从主机系统105接收命令或操作并且可将所述命令或操作转换成指令或适当命令以实现对存储器装置130的所要存取。在一些情况下,存储器系统控制器115可与主机系统105以及一或多个存储器装置130交换数据(例如,响应于或以其它方式结合来自主机系统105的命令)。举例来说,存储器系统控制器115可以将与存储器装置130相关联的响应(例如,数据包或其它信号)转换成用于主机系统105的相应信号。
存储器系统控制器115可以被配置成用于与存储器装置130相关联的其它操作。举例来说,存储器系统控制器115可执行或管理操作,例如,耗损均衡操作、垃圾收集操作、比如错误检测操作或错误校正操作等错误控制操作、加密操作、高速缓存操作、介质管理操作、后台刷新、健康监测,及与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(LBA))和与存储器装置130内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转译。
存储器系统控制器115可包含硬件,例如一或多个集成电路或离散组件、缓冲存储器或其组合。硬件可包含具有专用(例如,硬译码)逻辑的电路系统以执行本文中归于存储器系统控制器115的操作。存储器系统控制器115可以是或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)),或任何其它合适的处理器或处理电路系统。
存储器系统控制器115还可以包含本地存储器120。在一些情况下,本地存储器120可包含只读存储器(ROM)或其它存储器,其可存储可由存储器系统控制器115执行的操作代码(例如,可执行指令)以执行本文中归于存储器系统控制器115的功能。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(SRAM)或其它存储器,其可由存储器系统控制器115使用以用于例如与本文中归于存储器系统控制器115的功能有关的内部存储或计算。另外或替代地,本地存储器120可充当用于存储器系统控制器115的高速缓存。举例来说,在从存储器装置130读取或向存储器装置130写入的情况下,数据可存储在本地存储器120中,并且数据可在本地存储器120内可用以用于根据高速缓存策略由主机系统105后续检索或操纵(例如,更新)(例如,在相对于存储器装置130的减少的时延的情况下)。
尽管图1中的存储器系统110的实例已示出为包含存储器系统控制器115,但在某些情况下存储器系统110可不包含存储器系统控制器115。举例来说,存储器系统110可另外或替代地依赖于外部控制器(例如,由主机系统105实施)或可在存储器装置130内部的一或多个本地控制器135以分别执行本文中归于存储器系统控制器115的功能。一般来说,本文中归于存储器系统控制器115的一或多个功能可在一些情况下改为由主机系统105、本地控制器135或其任何组合执行。在一些情况下,至少部分地由存储器系统控制器115管理的存储器装置130可称为受管理存储器装置。受管理存储器装置的实例为受管理NAND(MNAND)装置,但也支持其它类型的受管理存储器装置。举例来说,受管理存储器装置可包含任何类型或数量的易失性或非易失性存储器装置。
存储器装置130可以包含非易失性存储器单元的一或多个阵列。举例来说,存储器装置130可包含NAND(例如,NAND快闪)存储器、ROM、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电随机存取存储器(RAM)(FeRAM)、磁性RAM(MRAM)、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、电可擦除可编程ROM(EEPROM),或其任何组合。另外或替代地,存储器装置130可以包含易失性存储器单元的一或多个阵列。举例来说,存储器装置130可包含RAM存储器单元,例如动态RAM(DRAM)存储器单元和同步DRAM(SDRAM)存储器单元。
在一些实例中,存储器装置130可包含(例如,在同一裸片上或在同一封装内)本地控制器135,其可在相应存储器装置130的一或多个存储器单元上执行操作。本地控制器135可结合存储器系统控制器115操作,或可执行本文中归于存储器系统控制器115的一或多个功能。举例来说,如图1中所示出,存储器装置130-a可以包含本地控制器135-a,且存储器装置130-b可以包含本地控制器135-b。
在一些情况下,存储器装置130可以是或包含NAND装置(例如,NAND快闪装置)。存储器装置130可以是或包含存储器裸片160。举例来说,在一些情况下,存储器装置130可以是包含一或多个裸片160的封装。在一些实例中,裸片160可以是从晶片切割的一块电子级半导体(例如,从硅晶片切割的硅裸片)。每一裸片160可包含一或多个平面165,且每一平面165可包含相应的块集合170,其中每一块170可包含相应的页集合175,且每一页175可包含存储器单元集合。
在一些情况下,NAND存储器装置130可包含被配置成各自存储一个信息位的存储器单元,其可被称为单层级单元(SLC)。另外或替代地,NAND存储器装置130可以包含被配置成各自存储多个信息位的存储器单元,如果被配置成各自存储两个信息位,则其可以被称为多层级单元(MLC),如果被配置成各自存储三个信息位,则其可以被称为三层级单元(TLC),如果被配置成各自存储四个信息位,则其可以被称为四层级单元(QLC),或更一般地被称为多层级存储器单元。多层级存储器单元可相对于SLC存储器单元提供更大的存储密度,但在一些情况下,可能涉及用于支持电路系统的更窄读取或写入裕度或更大复杂性。
在一些情况下,平面165可指代块170的群组,并且在一些情况下,可在不同平面165内进行并行操作。举例来说,可对不同块170内的存储器单元执行并行操作,只要不同块170处于不同平面165中即可。在一些情况下,在不同平面165中执行并行操作可受制于一或多个限制,例如对在其相应平面165内具有相同页地址的不同页175内的存储器单元执行相同操作(例如,与命令解码、页地址解码电路系统,或跨平面165共享的其它电路系统相关)。
在一些情况下,块170可包含组织成行(页175)和列(例如,串,未图示)的存储器单元。举例来说,同一页175中的存储器单元可共享共同字线(例如,与其耦合),并且同一串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与其耦合)。
对于一些NAND架构,存储器单元可在第一粒度水平(例如,在页粒度水平)读取和编程(例如,写入),但可在第二粒度水平(例如,在块粒度水平)擦除。也就是说,页175可为可独立地编程或读取(例如,作为单个编程或读取操作的一部分同时编程或读取)的存储器(例如,存储器单元集合)的最小单位,且块170可为可独立地擦除(例如,作为单个擦除操作的一部分同时擦除)的存储器(例如,存储器单元集合)的最小单位。此外,在一些情况下,NAND存储器单元可在其可用新数据重写之前进行擦除。因此,例如,在一些情况下,可直到包含页175的整个块170已被擦除才更新已使用的页175。
系统100可以包含支持存储器装置的偏压控制的任何数量的非暂时性计算机可读介质。举例来说,主机系统105、存储器系统控制器115或存储器装置130可包含或以其它方式可存取一或多个非暂时性计算机可读介质,所述非暂时性计算机可读介质存储指令(例如,固件)以执行本文中归于主机系统105、存储器系统控制器115或存储器装置130的功能。举例来说,如果由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115,或由存储器装置130(例如,由本地控制器135)执行,则此些指令可致使主机系统105、存储器系统控制器115或存储器装置130执行如本文中所描述的一或多个相关联功能。
在一些情况下,存储器系统110可利用存储器系统控制器115来提供受管理存储器系统,所述受管理存储器系统可包含(例如)一或多个存储器阵列及与本地(例如,裸片上或封装中)控制器(例如,本地控制器135)组合的相关电路系统。受管理存储器系统的实例是受管理NAND(MNAND)系统。
在一些实例中,主机系统105可包含高速缓存,所述高速缓存包含一或多个页(例如,用于存储数据的一或多个页)。每一页可包含各自与一定量的数据相关联的一或多个行。如本文所描述,存储器系统控制器115可被配置成跟踪主机系统105与存储器系统110之间共享的数据的相干性。举例来说,存储器系统控制器115可跟踪存储器装置130-a或存储器装置130-b与主机系统105之间共享的数据的相干性。数据的相干性可涉及指示主机系统105和存储器系统110处是否不存在数据的相干副本或者是否存在数据的共享、排他或经修改副本的三个状态中的一个。
存储器系统110可以是CXL装置的实例,且存储器系统控制器115可以是被配置成存取存储器装置130-a和存储器装置130-b的处理单元的实例。举例来说,存储器系统控制器115可被配置成根据主机偏压模式或装置偏压模式存取存储器装置130-a和存储器装置130-b。当根据装置偏压模式操作时,存储器系统控制器115可独立于主机系统105存取存储器装置130-a或存储器装置130-b(例如,在接收存取请求或存取命令后)。相反,当根据主机偏压模式操作时,存储器系统控制器115可经由主机系统105存取存储器装置130-a或存储器装置130-b。此外,当一或多个页与主机偏压模式相关联时,主机可修改由主机维持的所述一或多个页的版本,而不必通知存储器系统控制器115。
在一些实例中,存储到存储器装置130-a或存储器装置130-b的每一行数据可与任选的2位Meta0字段相关联。如本文所描述,2位Meta0字段可用于基于所述三个相干状态指示相关联数据的偏压状态。举例来说,当数据与第一相干状态(例如,“无效”状态;此时不存在数据的相干副本)相关联时,Meta0字段可指示根据装置偏压模式操作。另外或替代地,当数据与第二相干状态(例如,“任何”状态;此时存在数据的相干副本)或第三相干状态(例如,“共享”状态;此时存在数据的相干副本)相关联时,Meta0字段可指示根据主机偏压模式操作。因此,利用Meta0-状态跟踪装置偏压可以允许以更大粒度跟踪偏压状态。
图2示出根据如本文中所公开的实例支持存储器装置的偏压控制的系统200的实例。系统200可以是参考图1或其方面描述的系统100的实例。系统200可包含存储器系统210,其被配置成存储从主机系统205接收的数据,且如果由主机系统205使用存取命令(例如,读取命令或写入命令)请求,则将数据发送到主机系统205。系统200可实施如参考图1所描述的系统100的方面。举例来说,存储器系统210和主机系统205可分别是存储器系统110和主机系统105的实例。
如本文所描述,存储器系统210可包含存储器装置240,以例如响应于从主机系统205接收存取命令而存储在存储器系统210与主机系统205之间传递的数据。存储器装置240可包含参考图1所描述的一或多个存储器装置。举例来说,存储器装置240可包含NAND存储器、PCM、自选存储器、3D交叉点、其它基于硫族化物的存储器、FERAM、MRAM、NOR(例如,NOR快闪)存储器、STT-MRAM、CBRAM、RRAM,或OxRAM。
存储器系统210可包含存储控制器230以用于控制直接进出存储器装置240的数据的传递,以例如用于存储数据、检索数据以及确定要将数据存储在其中和要从中检索数据的存储器位置。存储控制器230可使用特定针对每一类型的存储器装置240的协议直接地或经由总线(未图示)与存储器装置240通信。在一些情况下,单个存储控制器230可用于控制相同或不同类型的多个存储器装置240。在一些情况下,存储器系统210可包含多个存储控制器230,例如,用于每一类型的存储器装置240的不同存储控制器230。在一些情况下,存储控制器230可实施参考图1描述的本地控制器135的方面。
存储器系统210可另外包含用于与主机系统205通信的接口220,和用于临时存储正在主机系统205与存储器装置240之间传递的数据的缓冲器225。接口220、缓冲器225及存储控制器230可用于例如由数据路径250所展示在主机系统205与存储器装置240之间转译数据,并且可统称为数据路径组件。
在传递期间使用缓冲器225临时地存储数据可允许在处理命令时缓冲数据,借此减少命令之间的时延且允许与命令相关联的任意数据大小。这还可允许处理命令突发,并且一旦突发停止,就可存储或发射(或两者)所缓冲的数据。缓冲器225可包含相对快速的存储器(例如,一些类型的易失性存储器,例如SRAM或DRAM)或硬件加速器或这两者,以允许快速存储和检索进出缓冲器225的数据。缓冲器225可包含用于缓冲器225与其它组件之间的双向数据传递的数据路径切换组件。
数据在缓冲器225内的临时存储可指代数据在存取命令执行期间在缓冲器225中的存储。也就是说,在完成存取命令后,相关联数据可能不再维持于缓冲器225中(例如,可用额外存取命令的数据覆写)。此外,缓冲器225可以是非高速缓存缓冲器。也就是说,主机系统205可不直接从缓冲器225读取数据。举例来说,可将读取命令添加到队列,而无需将地址与已在缓冲器225中的地址进行匹配的操作(例如,无需高速缓存地址匹配或查找操作)。
存储器系统210可另外包含用于执行从主机系统205接收到的命令且在移动数据时控制数据路径组件的存储器系统控制器215。存储器系统控制器215可以是如参考图1所描述的存储器系统控制器115的实例。总线235可用于在系统组件之间通信。
在一些情况下,一或多个队列(例如,命令队列260、缓冲器队列265,及存储队列270)可用于控制存取命令的处理及相应数据的移动。例如,如果存储器系统210并行处理来自主机系统205的一个以上存取命令,则这可能是有益的。作为可能的实施方案的实例,分别在接口220、存储器系统控制器215和存储控制器230处描绘命令队列260、缓冲器队列265和存储队列270。然而,如果使用,则队列可位于存储器系统210内的任何位置。
在主机系统205与存储器装置240之间传递的数据可在存储器系统210中采用与非数据信息(例如,命令、状态信息)不同的路径。举例来说,存储器系统210中的系统组件可使用总线235彼此通信,而数据可使用穿过数据路径组件的数据路径250而非总线235。存储器系统控制器215可通过经由总线235与数据路径组件通信(例如,使用特定针对存储器系统210的协议)而控制如何及是否在主机系统205与存储器装置240之间传递数据。
如果主机系统205将存取命令发射到存储器系统210,则接口220可例如根据协议(例如,UFS协议、eMMC协议、CXL协议)接收命令。因此,可将接口220视为存储器系统210的前端。在接收到每一存取命令后,接口220可例如经由总线235将命令传送到存储器系统控制器215。在一些情况下,可由接口220将每一命令添加到命令队列260以将命令传送到存储器系统控制器215。
存储器系统控制器215可确定已基于来自接口220的通信而接收到存取命令。在一些情况下,存储器系统控制器215可确定已通过从命令队列260中检索命令而接收到存取命令。在例如已经由存储器系统控制器215从命令队列260检索命令之后,可将所述命令从所述命令队列移除。在一些情况下,存储器系统控制器215可致使接口220例如经由总线235从命令队列260移除命令。
当确定已接收到存取命令后,存储器系统控制器215可执行所述存取命令。对于读取命令,这可意味着从存储器装置240获得数据及将数据发射到主机系统205。对于写入命令,这可意味着从主机系统205接收数据及将数据移动到存储器装置240。
在任一情况下,存储器系统控制器215可使用缓冲器225来(尤其)用于从主机系统205接收的或发送到主机系统205的数据的临时存储。缓冲器225可视为存储器系统210的中端。在一些情况下,缓冲器地址管理(例如,指向缓冲器225中的地址位置的指针)可由接口220、缓冲器225或存储控制器230中的硬件(例如,专用电路)执行。
为了处理从主机系统205接收的写入命令,存储器系统控制器215可首先确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。举例来说,存储器系统控制器215可例如经由固件(例如,控制器固件)确定缓冲器225内可用于存储与写入命令相关联的数据的空间量。
在一些情况下,缓冲器队列265可用于控制与存储在缓冲器225中的数据相关联的命令流,所述命令流包含写入命令。缓冲器队列265可包含与当前存储在缓冲器225中的数据相关联的存取命令。在一些情况下,命令队列260中的命令可通过存储器系统控制器215移动到缓冲器队列265,并且可在相关联数据存储在缓冲器225中的同时保持在缓冲器队列265中。在一些情况下,缓冲器队列265中的每一命令可与缓冲器225处的地址相关联。也就是说,可维持指示在缓冲器225中存储与每一命令相关联的数据的位置的指针。使用缓冲器队列265,可从主机系统205循序地接收多个存取命令且可并行处理存取命令的至少若干部分。
如果缓冲器225具有足够空间来存储写入数据,则存储器系统控制器215可致使接口220例如根据协议(例如,UFS协议或eMMC协议)将可用性的指示发射到主机系统205(例如,“准备好传递”指示)。当接口220随后从主机系统205接收与写入命令相关联的数据时,接口220可使用数据路径250将数据传递到缓冲器225以供临时存储。在一些情况下,接口220可从缓冲器225或缓冲器队列265获得缓冲器225内的存储数据的位置。接口220可例如经由总线235向存储器系统控制器215指示是否已完成到缓冲器225的数据传递。
一旦写入数据已通过接口220存储在缓冲器225中,就可将数据传递离开缓冲器225且存储在存储器装置240中。这可使用存储控制器230进行。举例来说,存储器系统控制器215可致使存储控制器230使用数据路径250从缓冲器225检索数据并且将数据传递到存储器装置240。存储控制器230可被视为存储器系统210的后端。存储控制器230可例如经由总线235向存储器系统控制器215指示已完成到存储器装置240中的存储器装置的数据传递。
在一些情况下,存储队列270可用于辅助写入数据的传递。举例来说,存储器系统控制器215可(例如,经由总线235)将写入命令从缓冲器队列265推送到存储队列270以供处理。存储队列270可包含用于每一存取命令的条目。在一些实例中,存储队列270可另外包含:缓冲器指针(例如,地址),其可指示在缓冲器225中何处存储与命令相关联的数据;及存储指针(例如,地址),其可指示存储器装置240中与数据相关联的位置。在一些情况下,存储控制器230可从缓冲器225、缓冲器队列265或存储队列270获得缓冲器225内待从其获得数据的位置。存储控制器230可管理存储器装置240内要存储数据的位置(例如,执行耗损均衡、垃圾收集等)。可例如通过存储器系统控制器215将条目添加到存储队列270。在完成数据的传递后,可例如通过存储控制器230或存储器系统控制器215从存储队列270移除条目。
为了处理从主机系统205接收到的读取命令,存储器系统控制器215可同样首先确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。例如,存储器系统控制器215可例如经由固件(例如,控制器固件)确定在缓冲器225内可用于存储与读取命令相关联的数据的空间量。
在一些情况下,缓冲器队列265可用于以与上文相对于写入命令所论述的类似的方式来辅助与读取命令相关联的数据的缓冲器存储。举例来说,如果缓冲器225具有足够空间来存储读取数据,则存储器系统控制器215可致使存储控制器230从存储器装置240检索与读取命令相关联的数据并且使用数据路径250将数据存储在缓冲器225中以供临时存储。存储控制器230可例如经由总线235向存储器系统控制器215指示是否已完成到缓冲器225的数据传递。
在一些情况下,存储队列270可用于辅助读取数据的传递。例如,存储器系统控制器215可将读取命令推送到存储队列270以供处理。在一些情况下,存储控制器230可从缓冲器225或存储队列270获得存储器装置240内待从其检索数据的位置。在一些情况下,存储控制器230可从缓冲器队列265获得缓冲器225内待存储数据的位置。在一些情况下,存储控制器230可从存储队列270获得缓冲器225内待存储数据的位置。在一些情况下,存储器系统控制器215可将由存储队列270处理的命令移动回到命令队列260。
一旦数据已由存储控制器230存储在缓冲器225中,就可将数据传递离开缓冲器225且发送到主机系统205。举例来说,存储器系统控制器215可致使接口220使用数据路径250从缓冲器225检索数据,并且例如根据协议(例如,UFS协议、eMMC协议、CXL协议)将数据发射到主机系统205。举例来说,接口220可处理来自命令队列260的命令,且可例如经由总线235向存储器系统控制器215指示已完成向主机系统205的数据发射。
存储器系统控制器215可根据次序(例如,根据命令队列260的次序的先进先出次序)执行接收到的命令。对于每一命令,存储器系统控制器215可致使对应于命令的数据移动进出缓冲器225,如上文所论述。当数据移动到缓冲器225中且存储在缓冲器225内时,命令可保持在缓冲器队列265中。如果已完成命令的处理(例如,如果已从缓冲器225传递对应于存取命令的数据),则可例如通过存储器系统控制器215从缓冲器队列265移除命令。如果从缓冲器队列265移除命令,则先前存储与所述命令相关联的数据的地址可用于存储与新命令相关联的数据。
存储器系统控制器215可另外被配置成用于与存储器装置240相关联的操作。举例来说,存储器系统控制器215可执行或管理操作,例如,耗损均衡操作、垃圾收集操作、比如错误检测操作或错误校正操作等错误控制操作、加密操作、高速缓存操作、介质管理操作、后台刷新、健康监测,及与来自主机系统205的命令相关联的逻辑地址(例如,LBA)和与存储器装置240内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转译。也就是说,主机系统205可发布指示一或多个LBA的命令,并且存储器系统控制器215可识别由LBA指示的一或多个物理块地址。在一些情况下,一或多个邻接LBA可对应于非邻接的物理块地址。在一些情况下,存储控制器230可被配置成结合或代替存储器系统控制器215执行以上操作中的一或多个。在一些情况下,存储器系统控制器215可执行存储控制器230的功能,且可省略存储控制器230。
在一些实例中,主机系统205可包含高速缓存,所述高速缓存包含一或多个页(例如,用于存储数据的一或多个页)。每一页可包含各自与一定量的数据相关联的一或多个行。如本文所描述,存储器系统控制器215可被配置成跟踪主机系统205与存储器系统210之间共享的数据的相干性。举例来说,存储器系统控制器215可跟踪装置存储器(未图示)与主机系统205(未图示)之间共享的数据的相干性。举例来说,存储器装置240中的一或多个可以是被配置成存取存储到各种装置可存取的存储器(例如,装置存储器)的数据的CXL装置。存储器系统控制器215可跟踪数据的相干性,其可涉及指示主机系统205和存储器系统210处是否不存在数据的相干副本或者是否存在数据的共享、排他或经修改副本的三个状态中的一个。
存储器系统210可以是可被配置成存取装置存储器(存储器装置240)的CXL装置的实例。举例来说,CXL装置可包含被配置成根据主机偏压模式或装置偏压模式存取装置存储器的处理装置(未图示)。当根据装置偏压模式操作时,存储器系统控制器215可独立于主机系统205存取装置存储器(例如,在接收存取请求或存取命令后)。相反,当根据主机偏压模式操作时,存储器系统控制器215可经由主机系统205存取装置存储器。因此,当根据主机偏压模式操作时,主机系统205可被配置成针对相应CXL装置存取装置存储器。
在一些实例中,存储到装置存储器的每一行数据可与任选的2位Meta0字段相关联。如本文所描述,2位Meta0字段可用于基于所述三个相干状态指示相关联数据的偏压状态。举例来说,当数据与第一相干状态(例如,“无效”状态;此时不存在数据的相干副本)相关联时,Meta0字段可指示根据装置偏压模式操作。另外或替代地,当数据与第二相干状态(例如,“任何”状态;此时存在数据的相干副本)或第三相干状态(例如,“共享”状态;此时存在数据的相干副本)相关联时,Meta0字段可指示根据主机偏压模式操作。因此,利用Meta0-状态跟踪装置偏压可以允许以更大粒度跟踪偏压状态。
图3示出根据如本文中所公开的实例支持存储器装置的偏压控制的系统300的实例。系统300可包含存储器系统305和主机装置310。存储器系统305可经由接口315与主机装置310耦合,所述接口可以是CXL接口。存储器系统305可包含装置存储器320、高速缓存325、控制器330和处理单元335,且主机装置310可包含高速缓存340。在一些实例中,系统300可被配置成使用一或多个元数据字段(例如Meta0-状态)来跟踪数据的相干状态。此外,利用Meta0-状态以每高速缓存行为基础跟踪偏压状态可改进存储器系统305的总体性能,同时维持相对简单的编程模型。
存储器系统305可以是CXL装置。装置存储器320可由一或多个加速器存取,所述一或多个加速器包含处理单元335或可与处理单元335相关联。图3中展示的处理单元335和控制器330可以是形成于同一现场可编程门阵列(FPGA)或专用集成电路(ASIC)上的单个逻辑组件。然而,在一些实例中,控制器330和处理单元335可以是个别组件。举例来说,处理单元335可与存储器系统305的图形处理单元(GPU)或通用图形处理单元(GPGPU)相关联。处理单元335可被配置成将用于存取装置存储器320的信令和/或命令发射到控制器330。如本文所描述,控制器330可在装置偏压状态中独立于主机装置310存取装置存储器320,而控制器330可在主机偏压状态中经由主机装置310存取装置存储器320。
在一些实例中,主机装置310可包含高速缓存340。高速缓存340可包含页的集合,所述页可各自包含4kB的数据。此外,每一页可包含一或多个块,其可被称为高速缓存行,且每一高速缓存行可包含64B的数据。尽管每一页和高速缓存行的大小仅意图用于示例性目的,且每一页和高速缓存行可被配置成存储不同数量的数据,但存储器系统305可被配置成以每高速缓存行为基础使用Meta0-状态而非以页为基础维持的偏压表来跟踪偏压状态。即,利用Meta0-状态跟踪装置偏压可以允许以更大粒度跟踪偏压状态。
装置存储器320可被配置成存储可由处理单元335(例如,经由控制器330)和主机装置310存取的数据。因为数据可由处理单元335和主机装置310两者存取(例如,数据被共享),所以跟踪数据的相干性是合乎需要的。即,处理单元335和主机装置310两者知晓高速缓存340中的数据是否与装置存储器320中的相应数据(针对相同地址)相干是合乎需要的。为了跟踪高速缓存相干性,可维持且使用元数据跟踪高速缓存相干性的三个状态。举例来说,第一状态可与“无效”状态相关联-例如,主机装置310的高速缓存340不具有数据的可高速缓存副本。第二状态可与“任何”状态相关联-例如,主机装置310的高速缓存340可具有数据的共享、排他或经修改副本。第三状态可与“共享”状态相关联-例如,主机装置310的高速缓存340可至多具有数据的共享副本。随着数据的相干状态改变,与相干状态相关联的经更新元数据可存储到装置存储器320。
在一些实例中,存储到装置存储器320的数据可根据装置偏压模式或主机偏压模式存取。主机偏压模式可对从主机装置310到装置存储器320的相干存取区分优先级。可在工作提交期间(此时数据正从主机装置310写入到装置存储器320)以及在工作完成期间(此时数据正由主机装置310从装置存储器320读取)使用主机偏压模式。在主机偏压模式中,装置存储器320可对于存储器系统(或对于处理单元335)表现为正如附接到主机装置310的存储器。如果处理单元335需要在主机偏压模式中操作时存取装置存储器320,则通过控制器330首先将请求(例如,命令;信令)发射到主机装置310来处理存取操作。
相反,在装置偏压模式中,处理单元335可直接存取装置存储器320。即,处理单元335可在无主机装置310的任何交互的情况下存取装置存储器320。因此,如果处理单元335需要在装置偏压模式中操作时存取装置存储器320,则可通过控制器330直接存取装置存储器320来处理存取操作。
CXL规范提供可与装置附接介质相关联的任选的2位Meta0字段。根据本文中所描述的各个方面,2位Meta0字段可用于递送数据的(例如,与高速缓存340的高速缓存行的大小相关联的数据的)相干状态,且所述相干状态可用于确定相关联数据的偏压状态。在一些实例中,Meta0字段可被配置成存储与“无效”相干状态相关联的第一值(例如,第一位值)。当Meta0字段包含第一值时,可根据装置偏压模式存取与Meta0字段相关联的数据。另外或替代地,Meta0字段可被配置成存储与“共享”和“任何”状态相关联的第二值(例如,第二位值)和第三值(例如,第三位值)。当Meta0字段包含第二值或第三值时,可根据主机偏压模式存取与Meta0字段相关联的数据。
在一些实例中,相应Meta0字段可与存储到装置存储器320的每一行数据相关联,且因此可在处理单元335需要存取装置存储器320时确定。举例来说,处理单元335可将存取请求(例如,命令;信令)传送到控制器330,且控制器可确定相关联数据的Meta0值。取决于Meta0值(例如,相干状态),控制器330可能够直接存取数据行(例如,根据装置偏压模式),或可将请求(例如,命令;信令)传送到主机装置310用于解析与数据相关联的相干性(例如,根据主机偏压模式)。
主机装置310可周期性地更新数据的相干状态和/或与数据相关联的Meta0字段。举例来说,如果主机装置310执行影响数据的相干性的任何操作,则主机装置310可将改变传送到存储器系统305。在一些实例中,主机装置310可将经更新相干状态传送到存储器系统305(例如,显式地或隐式地来自存取命令),且控制器330可使用经更新相干状态来更新存储到装置存储器320或高速缓存325的相关联数据的Meta0字段。在其它实例中,主机装置310可将经更新Meta0字段传送到存储器系统305,且控制器330可更新存储到装置存储器320或高速缓存325的相关联数据的Meta0字段。
另外或替代地,高速缓存325可用于确定根据装置偏压状态还是主机偏压状态存取数据。举例来说,数据和相关联Meta0字段可存储到高速缓存325。即,在一些实例中,Meta0字段可仅随经高速缓存数据而非存储到装置存储器320的数据一起存储。当处理单元335需要存取数据时(例如,当处理单元335将针对数据的命令传送到控制器330时),控制器330可确定数据是否存储到高速缓存325。如果数据存储到高速缓存(例如,当存在高速缓存“命中”时),则可根据由Meta0字段指示的相干状态(例如,通过使相干状态关联到偏压状态)来存取数据。在其它实例中,如果数据未存储到高速缓存(例如,当存在高速缓存“未命中”时),控制器330可认为数据与主机偏压状态相关联。相应地,当存在高速缓存“未命中”时,处理单元335可经由主机装置310存取装置存储器320。不论Meta0字段存储到装置存储器320还是存储到高速缓存325,利用Meta0-状态以每高速缓存行为基础跟踪偏压状态都可改进存储器系统305的总体性能,同时维持相对简单的编程模型。
图4示出根据如本文中所公开的实例支持存储器装置的偏压控制的过程流程图400的实例。过程流程图400可示出处理单元405、控制器410、装置存储器415和高速缓存420的操作。在一些实例中,处理单元405、控制器410、装置存储器415和高速缓存420可以分别是相对于图3描述的存储器系统305的处理单元335、控制器330、装置存储器320和高速缓存325的实例。过程流程图400可示出利用Meta0-状态以每高速缓存行为基础跟踪偏压状态,这可改进存储器系统305的总体性能,同时维持相对简单的编程模型。
在425处,可将数据行的相干状态存储在装置存储器415处。在一些实例中,可存储多个数据行的相干状态。举例来说,每一数据行的相干状态可存储到装置存储器415。如本文所描述,相干状态可对应于“无效”、“任何”或“共享”状态,且可存储在与相应数据行相关联的Meta0字段中。在其它实例中,在425处,可更新数据的相干状态。即,一或多个数据行的相干状态可能先前已存储到装置存储器415,但归因于相干状态的改变,可更新所存储状态。在任一例子中,425处存储的相干状态可用于确定与数据相关联的偏压状态。尽管示出为存储在装置存储器415处,但相干状态可另外或替代地存储在高速缓存420处,如下文所描述。
在430处,处理单元405可确定存取数据行。举例来说,处理单元405可确定从装置存储器415读取数据行,或可确定将数据行写入到装置存储器415。出于示例性目的,数据行可存储在装置存储器415处。然而,在一些实例中,数据行可存储到高速缓存420(例如,数据可经高速缓存),且处理单元405或控制器410可确定数据存储到高速缓存420还是装置存储器415。
在435处,处理单元405可将信令发射到控制器410。所述信令可响应于确定存取数据行(例如,425处),且所述信令可包含命令(例如,读取命令、写入命令)、请求或另一类型的通信。所述信令可向控制器410指示存取操作的类型和用于数据行的装置存储器415的地址(例如,存储器地址)。
在440处,控制器410可将信令发射到高速缓存420。所述信令可响应于所述信令指示存取操作的类型和装置存储器415的地址(例如,435处),且所述信令可包含命令(例如,读取命令)、请求或另一类型的通信。所述信令可在高速缓存420上起始读取以确定相关联数据行是否存储到高速缓存420。
在445处,控制器410可从高速缓存420接收信令。所述信令可响应于440处发射的信令,且可指示数据行是否存储到高速缓存(例如,高速缓存“命中”或高速缓存“未命中”)。仅出于示例性目的,信令445可指示高速缓存“未命中”。
在450处,控制器410可将信令发射到装置存储器415。所述信令可响应于所述信令指示高速缓存“未命中”,且所述信令可包含命令(例如,读取命令)、请求或另一类型的通信。所述信令可在装置存储器415上起始读取。
在455处,控制器410可从装置存储器415接收信令。所述信令可响应于450处发射的信令,且可包含从装置存储器415读取的数据行。此外,所述信令可包含与数据行相关联的Meta0状态。如本文所描述,Meta0状态可指示对应于“无效”相干状态的第一值、对应于“共享”相干状态的第二值,或对应于“任何”状态的第三值。或者,Meta0状态可不存储在装置存储器415中,且控制器410可在发生高速缓存未命中后呈现Meta0状态“任何”或“共享”。
在460处,控制器410可确定从装置存储器415读取的数据行的偏压状态。控制器410可响应于由控制器410接收的信令(例如,455处)确定数据行的偏压状态。举例来说,所述信令可能已指示,Meta0字段包含对应于“无效”相干状态的第一值。因此,控制器410可确定存储到第一存储器地址的数据行的装置偏压状态,且可在无来自主机装置的任何交互的情况下完成存取操作的处理。
在其它实例中,信令(例如,435处)可指示装置存储器415的第二存储器地址处的写入命令。在此些实例中,控制器410可基于与数据行相关联的Meta0字段确定用于将数据写入到第二存储器地址的偏压状态。举例来说,控制器410可将信令发射到装置存储器415以从装置存储器415读取对应于第二存储器地址的数据行。作为响应,控制器410可接收指示数据行的Meta0状态的信令。如果Meta0状态对应于“无效”相干状态,则控制器410可根据装置偏压操作。在此实例中,控制器410可将数据写入到装置存储器415的第二存储器地址,而无来自主机装置的任何交互。
在其它实例中,控制器410可不将信令发射到高速缓存420和/或装置存储器415,而是可改为维持用于跟踪一或多个数据行的Meta0状态的表。举例来说,对于读取操作或写入操作两者,控制器410可以每行为基础跟踪Meta0值,使得当处理单元确定存取数据(例如,430处)时,控制器可基于所述表确定Meta0状态。相应地,基于Meta0状态,控制器410可在装置偏压模式或主机偏压模式中操作。
在465处,可将数据传送到处理单元405。在一些实例中,可响应于确定数据的偏压状态而传送数据(例如,450处)。在一些实例中,数据可直接传送到处理单元405,而在其它实例中,数据可传送到控制器410,且控制器410可将数据传送到处理单元405。
在470处,处理单元405可确定存取数据行(例如,另一数据行)。举例来说,处理单元405可确定读取存储到高速缓存420的数据行(例如,经高速缓存数据行)。出于示例性目的,数据行可存储在高速缓存420处。然而,在一些实例中,数据行可不存储到高速缓存420(例如,数据可不经高速缓存),从而产生高速缓存“未命中”。当高速缓存“未命中”发生时,控制器410可确定根据主机偏压模式存取数据。
在475处,处理单元405可将信令发射到控制器410。所述信令可响应于确定存取数据行(例如,465处),且所述信令可包含命令(例如,读取命令、写入命令)、请求或另一类型的通信。所述信令可向控制器410指示存取操作的类型和装置存储器415的地址(例如,存储器地址)。
在480处,控制器410可将信令发射到高速缓存420。所述信令可响应于所述信令指示存取操作的类型和装置存储器415的地址(例如,475处),且所述信令可包含命令(例如,读取命令)、请求或另一类型的通信。所述信令可在高速缓存420上起始读取以确定相关联数据行是否存储到高速缓存420。
在485处,控制器410可从高速缓存420接收信令。所述信令可响应于440处发射的信令,且可指示数据行是否存储到高速缓存(例如,高速缓存“命中”或高速缓存“未命中”)。仅出于示例性目的,信令445可指示高速缓存“命中”。相应地,所述信令可包含数据行和相关联Meta0状态,所述相关联Meta0状态可指示对应于“无效”相干状态的第一值、对应于“共享”相干状态的第二值,或对应于“任何”状态的第三值。
在490处,控制器410可确定从高速缓存420读取的数据行的偏压状态。控制器410可响应于由控制器410接收的信令(例如,485处)确定数据行的偏压状态。举例来说,所述信令可能已指示,Meta0字段包含对应于“无效”相干状态的第一值。因此,控制器410可确定存储到高速缓存的数据行的装置偏压状态,且可在无来自主机装置的任何交互的情况下完成存取操作的处理。
在495处,可将数据传送到处理单元405。在一些实例中,可响应于从控制器410发射到处理单元的信令(例如,475处)而传送数据。在一些实例中,数据可直接传送到处理单元405,而在其它实例中,数据可传送到控制器410,且控制器410可将数据传送到处理单元405。不论Meta0字段存储到装置存储器415、存储到高速缓存420,还是由控制器410跟踪,利用Meta0-状态以每高速缓存行为基础跟踪偏压状态都可改进存储器系统的总体性能,同时维持相对简单的编程模型。
图5示出根据如本文中所公开的实例支持存储器装置的偏压控制的过程流程图500的实例。过程流程图500可示出可分别为如参考图3所描述的存储器系统305和主机装置310的实例的存储器系统501和主机装置525的操作。存储器系统501可包含处理单元505、控制器510、装置存储器515和高速缓存520。过程流程图500可示出利用Meta0-状态以每高速缓存行为基础跟踪偏压状态,这可改进存储器系统501的总体性能,同时维持相对简单的编程模型。
在530处,可将数据行的相干状态存储在装置存储器515处。在一些实例中,可存储多个数据的相干状态。举例来说,每一数据行的相干状态可存储到装置存储器515。如本文所描述,相干状态可对应于“无效”、“任何”或“共享”状态,且可存储在与相应数据行相关联的Meta0字段中。在其它实例中,在530处,可更新数据的相干状态。即,一或多个数据行的相干状态可能先前已存储到装置存储器415,但归因于相干状态的改变,可更新所存储状态。在任一例子中,530处存储的相干状态可用于确定与数据相关联的偏压状态。
在535处,处理单元505可确定存取数据行。举例来说,处理单元505可确定从装置存储器515读取数据行,或可确定将数据行写入到装置存储器515。出于示例性目的,数据行可存储在装置存储器515处。然而,在一些实例中,数据行可存储到高速缓存520(例如,数据可经高速缓存),且处理单元505或控制器510可确定数据存储到高速缓存520还是装置存储器515。
在540处,处理单元505可将信令发射到控制器510。所述信令可响应于确定存取数据行(例如,535处),且所述信令可包含命令(例如,读取命令、写入命令)、请求或另一类型的通信。所述信令可向控制器510指示存取操作的类型和装置存储器515的地址(例如,存储器地址)。
在540之后,控制器510可将信令发射到高速缓存520,其未在图5中展示。所述信令可响应于所述信令指示存取操作的类型和装置存储器515的地址(例如,540处),且所述信令可包含命令(例如,读取命令)、请求或另一类型的通信。所述信令可在高速缓存540上起始读取以确定相关联数据行是否存储到高速缓存540。
在将信令发射到高速缓存520之后,控制器510可从高速缓存520接收信令,其未在图5中展示。所述信令可指示数据行是否存储到高速缓存(例如,高速缓存“命中”或高速缓存“未命中”)。仅出于示例性目的,此信令指示高速缓存“未命中”。在一些实例中,在高速缓存“未命中”后,接着控制器510可呈现为在主机偏压模式中操作。
在控制器510接收信令之后,控制器510可将信令发射到装置存储器515,其未在图5中展示。所述信令可响应于所述信令指示高速缓存“未命中”,且所述信令可包含命令(例如,读取命令)、请求或另一类型的通信。所述信令可在装置存储器515上起始读取。
在将信令发射到装置存储器515之后,控制器510可从装置存储器515接收信令,其未在图5中展示。所述信令可包含从装置存储器515读取的数据行。此外,所述信令可包含与数据行相关联的Meta0状态。如本文所描述,Meta0状态可指示对应于“无效”相干状态的第一值、对应于“共享”相干状态的第二值,或对应于“任何”状态的第三值。
在545处,控制器510可响应于接收到数据行和相关联Meta0状态而确定存储到装置存储器515的数据行的偏压状态。控制器510可基于Meta0状态确定偏压状态。举例来说,Meta0字段可指示对应于“无效”相干状态的第一值且产生针对数据行的装置偏压。另外或替代地,Meta0字段可指示对应于“共享”状态的第二值或对应于“任何”状态的第三值,其两者均产生针对数据行的主机偏压。仅出于示例性目的,控制器510可确定存储到第一存储器地址的数据行的主机偏压状态。
在550处,控制器510可将信令发射到主机装置525。所述信令可响应于确定根据主机偏压模式(例如,545处)存取装置存储器415,且所述信令可包含命令(例如,读取命令)、请求或另一类型的通信。举例来说,所述信令可包含主机525解析数据行的相干性的请求,或可包含主机525向控制器510准予对数据行的存取权的请求。
在555处,主机装置525可将信令发射到控制器510(或发射到存储器系统501的另一组件)。所述信令可响应于发射到主机装置525的信令(例如,550处),且所述信令可包含命令(例如,第二命令、读取命令)、请求,或另一类型的通信。举例来说,第二命令可通过向控制器510准予对数据行的直接存取权来解析数据的相干性。
在其它实例中,信令(例如,540处)可指示装置存储器515的第二存储器地址处的写入命令。在此些实例中,控制器510可基于与数据行相关联的Meta0字段确定用于将数据写入到第二存储器地址的偏压状态。举例来说,控制器510可将信令发射到装置存储器515以从装置存储器515读取对应于第二存储器地址的数据行。作为响应,控制器510可接收指示数据行的Meta0状态的信令。如果Meta0状态对应于“无效”相干状态,则控制器510可根据装置偏压操作。在此实例中,控制器510可将数据写入到装置存储器515的第二存储器地址,而无来自主机装置的任何交互。
在其它实例中,控制器510可不将信令发射到高速缓存520和/或装置存储器515,而是可改为维持用于跟踪一或多个数据行的Meta0状态的表。举例来说,对于读取操作或写入操作两者,控制器510可以每行为基础跟踪Meta0值,使得当处理单元确定存取数据(例如,530处)时,控制器可基于所述表确定Meta0状态。相应地,基于Meta0状态,控制器410可在装置偏压模式或主机偏压模式中操作。
在560处,数据可传送到处理单元505。在一些实例中,数据可响应于从主机525发射到控制器510的信令(例如,555处)而传送。在一些实例中,数据可直接传送到处理单元505,而在其它实例中,数据可传送到控制器510,且控制器510可将数据传送到处理单元505。
在565处,处理单元505可确定存取数据行(例如,另一数据行)。举例来说,处理单元505可确定读取可存储到高速缓存520的数据行(例如,经高速缓存数据行)。出于示例性目的,数据行可不存储在高速缓存520处。然而,在一些实例中,数据行可存储到高速缓存520(例如,数据可经高速缓存),从而产生高速缓存“命中”。当高速缓存“命中”发生时,控制器510可确定根据与数据行相关联的相干状态(例如,Meta0字段)存取数据。
在570处,处理单元505可将信令发射到控制器510。所述信令可响应于确定存取数据行(例如,565处),且所述信令可包含命令(例如,读取命令、写入命令)、请求或另一类型的通信。所述信令可向控制器510指示存取操作的类型和装置存储器515的地址(例如,存储器地址)。
在570之后,控制器510可将信令发射到高速缓存520,其未在图5中展示。所述信令可响应于所述信令指示存取操作的类型和装置存储器515的地址(例如,540处),且所述信令可包含命令(例如,读取命令)、请求或另一类型的通信。所述信令可在高速缓存520上起始读取以确定相关联数据行是否存储到高速缓存520。
在将信令发射到高速缓存520之后,控制器510可从高速缓存520接收信令,其未在图5中展示。所述信令可指示数据行是否存储到高速缓存(例如,高速缓存“命中”或高速缓存“未命中”)。仅出于示例性目的,此信令指示高速缓存“命中”。此外,所述信令可包含从高速缓存520读取的数据行,且可包含与数据行相关联的Meta0状态。如本文所描述,Meta0状态可指示对应于“无效”相干状态的第一值、对应于“共享”相干状态的第二值,或对应于“任何”状态的第三值。
在575处,控制器510可响应于接收到数据行和相关联Meta0状态而确定存储到装置存储器520的数据行的偏压状态。控制器510可基于Meta0状态确定偏压状态。举例来说,Meta0字段可指示对应于“无效”相干状态的第一值且产生针对数据行的装置偏压。另外或替代地,Meta0字段可指示对应于“共享”状态的第二值或对应于“任何”状态的第三值,其两者均产生针对数据行的主机偏压。仅出于示例性目的,控制器510可确定存储到高速缓存520的数据行的主机偏压状态。
在580处,控制器510可将信令发射到主机装置525。所述信令可响应于确定根据主机偏压模式(例如,575处)存取高速缓存580,且所述信令可包含命令(例如,读取命令)、请求或另一类型的通信。举例来说,所述信令可包含主机525解析数据行的相干性的请求,或可包含主机525向控制器510准予对数据行的存取权的请求。
在585处,主机装置525可将信令发射到控制器510(或发射到存储器系统501的另一组件)。所述信令可响应于发射到主机装置525的信令(例如,580处),且所述信令可包含命令(例如,第二命令、读取命令)、请求,或另一类型的通信。举例来说,第二命令可通过向控制器510准予对数据行的直接存取权来解析数据的相干性。
在590处,数据可传送到处理单元505。在一些实例中,数据可直接传送到处理单元505,而在其它实例中,数据可传送到控制器510,且控制器510可将数据传送到处理单元505。不论Meta0字段存储到装置存储器515、存储到高速缓存520,还是由控制器510跟踪,利用Meta0-状态以每高速缓存行为基础跟踪偏压状态都可改进存储器系统的总体性能,同时维持相对简单的编程模型。
图6展示根据如本文公开的实例支持存储器装置的偏压控制的存储器控制器620的框图600。存储器控制器620可以是如参考图1到5所描述的存储器控制器的方面的实例。存储器控制器620或其各种组件可以是用于执行如本文所描述的存储器装置的偏压控制的各个方面的构件的实例。举例来说,存储器控制器620可包含相干组件625、存储器存取组件630、发射组件635、接收组件640、确定组件645或其任何组合。这些组件中的每一个可直接或间接地(例如经由一或多个总线)彼此通信。
相干组件625可被配置为或以其它方式支持用于相对于主机装置的高速缓存存储存储于存储器中的数据集的相干状态的构件。在一些实例中,相干组件625可被配置为或以其它方式支持用于相对于主机装置的高速缓存存储存储于存储器中的数据集的相干状态的构件。
存储器存取组件630可被配置为或以其它方式支持用于至少部分地基于识别执行存储于存储器中的数据集的存取操作的命令根据至少部分地基于数据集的所存储的相干状态确定的数据集的偏压状态存取存储器的构件,其中所述偏压状态与由与存储器相关联的控制器对数据集的存取的控制相关联。
在一些实例中,存储器存取组件630可被配置为或以其它方式支持用于至少部分地基于偏压状态独立于主机装置存取存储器的构件。在一些实例中,所述命令包含读取命令,且存储器存取组件630可被配置为或以其它方式支持用于至少部分地基于确定数据集存储到与存储器相关联的高速缓存而存取存储到高速缓存的数据集的构件。
在一些实例中,存储器存取组件630可被配置为或以其它方式支持用于至少部分地基于识别执行存储于存储器中的数据集的存取操作的命令根据至少部分地基于数据集的所存储的相干状态确定的数据集的偏压状态存取存储器的构件,其中所述偏压状态与由主机装置对数据集的存取的控制相关联。在一些实例中,所述命令包含读取命令,且存储器存取组件630可被配置为或以其它方式支持用于至少部分地基于从主机装置接收第二命令而针对数据集存取存储器的构件。
在一些实例中,数据集的相干状态独立于所述命令而存储,且发射组件635可被配置为或以其它方式支持用于至少部分地基于确定根据偏压状态处理命令而向主机装置发射待在数据集上执行的存取操作的指示的构件。在一些实例中,发射组件635可被配置为或以其它方式支持用于至少部分地基于从主机装置接收数据集而将从主机装置接收的数据集发射到存储器的构件。
在一些实例中,数据集的相干状态独立于命令而存储,且接收组件640可被配置为或以其它方式支持用于至少部分地基于发射存取操作的指示而从主机装置接收用于指示对用于存取操作的数据集的直接存取的第二命令的构件。
在一些实例中,所述命令包含读取命令,且确定组件645可被配置为或以其它方式支持用于确定数据集存储到与存储器相关联的高速缓存的构件。
在一些实例中,存储器被配置成存储与数据集的第一相干状态相关联的第一值,与数据集的第二相干状态相关联的第二值,或与数据集的第三相干状态相关联的第三值。在一些实例中,第一值指示数据集为不相干的。在一些实例中,第二值和第三值指示数据集为相干的,其中控制器被配置成至少部分地基于存储器存储数据集的第一值根据偏压状态处理所述命令。
在一些实例中,数据集与第一数量的数据相关联。在一些实例中,与存储器耦合的主机装置的高速缓存行被配置成存储第一数量的数据。在一些实例中,所述偏压状态对应于第一偏压状态且。在一些实例中,第二偏压状态与由主机装置对数据集的存取的控制相关联。在一些实例中,存储器被配置成存储与数据集的第一相干状态相关联的第一值,与数据集的第二相干状态相关联的第二值,或与数据集的第三相干状态相关联的第三值。
在一些实例中,第一值指示数据集的无效版本存储到主机装置的高速缓存。在一些实例中,第二值指示数据集的共享版本或排他版本存储到主机装置的高速缓存。在一些实例中,第三值指示数据集的共享版本存储到主机装置的高速缓存。在一些实例中,第二值和第三值指示数据集为相干的。在一些实例中,至少部分地基于存储器存储数据集的第二值或第三值根据偏压状态处理所述命令。
在一些实例中,数据集与第一数量的数据相关联。在一些实例中,与存储器耦合的主机装置的高速缓存行被配置成存储第一数量的数据。在一些实例中,第一偏压状态与由控制器对数据集的存取的控制相关联。在一些实例中,所述偏压状态对应于第二偏压状态。
图7展示示出根据如本文中所公开的实例支持存储器装置的偏压控制的方法700的流程图。方法700的操作可由如本文所描述的存储器控制器或其组件实施。举例来说,方法700的操作可由如参考图1到5和6所描述的存储器控制器执行。在一些实例中,存储器控制器可执行指令集以控制装置的功能元件来执行所描述的功能。另外或替代地,存储器控制器可使用专用硬件执行所描述的功能的方面。
在705处,所述方法可包含相对于主机装置的高速缓存存储存储于存储器中的数据集的相干状态。可根据如本文所公开的实例执行705的操作。在一些实例中,705的操作的方面可由参考图6所描述的相干组件625执行。
在710处,所述方法可包含至少部分地基于识别执行存储于存储器中的数据集的存取操作的命令根据至少部分地基于数据集的所存储的相干状态确定的数据集的偏压状态存取存储器,其中所述偏压状态与由与存储器相关联的控制器对数据集的存取的控制相关联。可根据如本文所公开的实例执行710的操作。在一些实例中,710的操作的方面可由如参考图6所描述的存储器存取组件630执行。
在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法700。所述设备可包含用于以下操作的特征、电路系统、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读介质):相对于主机装置的高速缓存存储存储于存储器中的数据集的相干状态,以及至少部分地基于识别执行存储于存储器中的数据集的存取操作的命令根据至少部分地基于数据集的所存储的相干状态确定的数据集的偏压状态存取存储器,其中所述偏压状态与由与存储器相关联的控制器对数据集的存取的控制相关联。
本文中所描述的方法700和设备的一些实例可进一步包含用于至少部分地基于偏压状态独立于主机装置存取存储器的操作、特征、电路系统、逻辑、构件或指令。
在本文中所描述的方法700和设备的一些实例中,所述命令包含读取命令,且所述方法、设备和非暂时性计算机可读介质可包含用于以下操作的另外的操作、特征、电路系统、逻辑、构件或指令:确定数据集可存储到与存储器相关联的高速缓存,以及至少部分地基于确定数据集可存储到与存储器相关联的高速缓存而存取存储到高速缓存的数据集。
在本文中所描述的方法700和设备的一些实例中,存储器可被配置成存储可与数据集的第一相干状态相关联的第一值、可与数据集的第二相干状态相关联的第二值,或可与数据集的第三相干状态相关联的第三值。
在本文中所描述的方法700和设备的一些实例中,第一值指示数据集可为不相干的,且第二值和第三值指示数据集可为相干的,其中控制器可被配置成至少部分地基于存储器存储数据集的第一值根据偏压状态处理所述命令。
在本文中所描述的方法700和设备的一些实例中,数据集可与第一数量的数据相关联,且与存储器耦合的主机装置的高速缓存行可被配置成存储第一数量的数据。
在本文中所描述的方法700和设备的一些实例中,所述偏压状态对应于第一偏压状态,且第二偏压状态可与由主机装置对数据集的存取的控制相关联。
图8展示示出根据如本文中所公开的实例支持存储器装置的偏压控制的方法800的流程图。方法800的操作可由如本文所描述的存储器控制器或其组件实施。举例来说,方法800的操作可由如参考图1到5和6所描述的存储器控制器执行。在一些实例中,存储器控制器可执行指令集以控制装置的功能元件来执行所描述的功能。另外或替代地,存储器控制器可使用专用硬件执行所描述的功能的方面。
在805处,所述方法可包含相对于主机装置的高速缓存存储存储于存储器中的数据集的相干状态。可根据如本文所公开的实例执行805的操作。在一些实例中,805的操作的方面可由参考图6所描述的相干组件625执行。
在810处,所述方法可包含至少部分地基于识别执行存储于存储器中的数据集的存取操作的命令根据至少部分地基于数据集的所存储的相干状态确定的数据集的偏压状态存取存储器,其中所述偏压状态与由主机装置对数据集的存取的控制相关联。可根据如本文所公开的实例执行810的操作。在一些实例中,810的操作的方面可由如参考图6所描述的存储器存取组件630执行。
在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法800。所述设备可包含用于以下操作的特征、电路系统、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读介质):相对于主机装置的高速缓存存储存储于存储器中的数据集的相干状态,以及至少部分地基于识别执行存储于存储器中的数据集的存取操作的命令根据至少部分地基于数据集的所存储的相干状态确定的数据集的偏压状态存取存储器,其中所述偏压状态与由主机装置对数据集的存取的控制相关联。
在本文中所描述的方法800和设备的一些实例中,数据集的相干状态可独立于命令而存储,且所述方法、设备和非暂时性计算机可读介质可包含用于以下操作的另外的操作、特征、电路系统、逻辑、构件或指令:至少部分地基于确定根据偏压状态处理命令而向主机装置发射待在数据集上执行的存取操作的指示,以及至少部分地基于发射存取操作的指示从主机装置接收用于指示对用于存取操作的数据集的直接存取的第二命令。
在本文中所描述的方法800和设备的一些实例中,所述命令包含读取命令,且所述方法、设备和非暂时性计算机可读介质可包含用于以下操作的另外的操作、特征、电路系统、逻辑、构件或指令:至少部分地基于从主机装置接收第二命令而针对数据集存取存储器。
本文中所描述的方法800和设备的一些实例可进一步包含用于以下操作的操作、特征、电路系统、逻辑、构件或指令:至少部分地基于从主机装置接收数据集而将从主机装置接收的数据集发射到存储器。
在本文中所描述的方法800和设备的一些实例中,存储器可被配置成存储可与数据集的第一相干状态相关联的第一值、可与数据集的第二相干状态相关联的第二值,或可与数据集的第三相干状态相关联的第三值。
在本文中所描述的方法800和设备的一些实例中,第一值指示数据集的无效版本可存储到主机装置的高速缓存,第二值指示数据集的共享版本或排他版本可存储到主机装置的高速缓存,且第三值指示数据集的共享版本可存储到主机装置的高速缓存。
在本文中所描述的方法800和设备的一些实例中,第二值和第三值指示数据集可为相干的,且可至少部分地基于存储器存储数据集的第二值或第三值根据偏压状态处理所述命令。
在本文中所描述的方法800和设备的一些实例中,数据集可与第一数量的数据相关联,且与存储器耦合的主机装置的高速缓存行可被配置成存储第一数量的数据。
在本文中所描述的方法800和设备的一些实例中,第一偏压状态可与由控制器对数据集的存取的控制相关联,且所述偏压状态对应于第二偏压状态。
应注意,上文描述的方法描述可能的实施方案,且操作和步骤可以重新布置或以其它方式加以修改,且其它实施方案是可能的。此外,可组合来自所述方法中的两个或两个以上的部分。
可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信号示出为单个信号;然而,所述信号可表示信号的总线,其中所述总线可具有多种位宽度。
术语“电子连通”、“导电接触”、“连接”和“耦合”可指代支持信号在组件之间流动的组件之间的关系。如果组件之间存在可在任何时间支持组件之间的信号流动的任何导电路径,则认为所述组件彼此电子连通(或导电接触或连接或耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此成电子连通(或导电接触或连接或耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是间接导电路径,其可以包含例如开关、晶体管或其它组件等中间组件。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件将所连接组件之间的信号流中断一段时间。
术语“耦合”指代从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前不能够经由导电路径在组件之间传送,在闭路关系中,信号能够经由导电路径在组件之间传送。如果例如控制器等组件将其它组件耦合在一起,则所述组件起始允许信号经由先前不准许信号流动的导电路径在所述其它组件之间流动的改变。
术语“隔离”是指其中信号当前不能够在组件之间流动的组件之间的关系。如果组件之间存在开路,则组件彼此隔离。举例来说,由定位在两个组件之间的开关间隔开的所述组件在开关断开的情况下彼此隔离。如果控制器隔离两个组件,则控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
术语“如果”、“当…时”、“基于”,或“至少部分地基于”可互换使用。在一些实例中,如果术语“如果”、“当……时”、“基于”,或“至少部分地基于”用于描述条件性动作、条件性过程,或过程的部分之间的连接,则所述术语可互换。
术语“响应于”可指一个条件或动作作为先前条件或动作的结果而至少部分地(如果不完全地)发生。举例来说,可执行第一条件或动作,并且作为先前条件或动作发生的结果(不管是直接在第一条件或动作之后还是在第一条件或动作之后的一或多个其它中间条件或动作发生之后),第二条件或动作可至少部分地发生。
另外,术语“直接地响应于”或“直接响应于”可指一个条件或动作作为先前条件或动作的直接结果而发生。在一些实例中,可执行第一条件或动作,并且可作为先前条件或动作发生的结果而直接发生第二条件或动作,与是否发生其它条件或动作无关。在一些实例中,可执行第一条件或动作,并且可作为先前条件或动作发生的结果而直接发生第二条件或动作,使得在较早条件或动作与第二条件或动作之间不发生其它中间条件或动作,或在较早条件或动作与第二条件或动作之间发生有限数量的一或多个中间步骤或动作。除非另外规定,否则本文中描述为“基于”、“至少部分地基于”或“响应于”某一其它步骤、动作、事件或条件执行的任何条件或动作可另外或替代地(例如,在替代实例中)“直接响应于”或“直接地响应于”此其它条件或动作而执行。
本文中论述的装置(包含存储器阵列)可形成于例如硅、锗、硅-锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,所述衬底是半导体晶片。在一些其它实例中,衬底可以是绝缘体上硅(silicon-on-insulator,SOI)衬底,例如玻璃上硅(silicon-on-glass,SOG)或蓝宝石上硅(silicon-on-sapphire,SOP),或另一衬底上的半导体材料的外延层。可以通过使用包含(但不限于)磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂手段执行掺杂。
本文所论述的开关组件或晶体管可表示场效应晶体管(FET),且包括包含源极、漏极和栅极的三端子装置。端子可经由例如金属等导电材料连接到其它电子元件。源极和漏极可为导电的,且可包括重度掺杂(例如简并)的半导体区。源极与漏极可通过轻度掺杂的半导体区或沟道分隔开。如果沟道是n型(即,多数载子为电子),则FET可称为n型FET。如果沟道为p型(即,多数载子为电穴),则FET可被称为p型FET。所述沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道电导率。举例来说,分别将正电压或负电压施加到n型FET或p型FET可使沟道变为导电的。如果大于或等于晶体管的阈值电压的电压施加到晶体管栅极,则晶体管可“接通”或“激活”。如果小于晶体管的阈值电压的电压施加到晶体管栅极,则晶体管可“断开”或“停用”。
本文中结合附图阐述的描述内容描述了实例配置,且并不表示可实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示例性”是指“充当实例、例子或说明”,且不“优选于”或“优于”其它实例。详细描述包含特定细节以提供对所描述技术的理解。然而,可在没有这些特定细节的情况下实践这些技术。在一些例子中,以框图的形式展示众所周知的结构和装置以免混淆所描述的实例的概念。
在附图中,类似的组件或特征可具有相同的参考标签。此外,可通过在参考标签之后跟着短横及在类似组件之间进行区分的第二标签来区分相同类型的各个组件。如果在说明书中仅使用第一参考标签,则描述内容适用于具有相同的第一参考标签的类似组件中的任一个,而无关于第二参考标签。
本文中所描述的功能可以用硬件、由处理器执行的软件、固件或其任何组合实施。如果在由处理器执行的软件中实施,则可将功能作为一或多个指令或代码存储于计算机可读介质上或经由计算机可读介质发射。其它实例和实施方案处于本公开和所附权利要求书的范围内。举例来说,归因于软件的性质,上文所描述的功能可使用由处理器、硬件、固件、硬连线或这些中的任一个的组合执行的软件实施。实施功能的特征也可在物理上位于各个位置处,包含经分布以使得功能的各部分在不同物理位置处实施。
举例来说,结合本文的公开内容描述的各种说明性块和组件可利用通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或经设计以执行本文中所描述的功能的其任何组合实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器可被实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器的组合、一或多个微处理器结合DSP核心,或任何其它此类配置)。
如本文中所使用,包含在权利要求书中,项目的列表(例如,以例如“中的至少一个”或“中的一或多个”等短语开始的项目的列表)中所使用的“或”指示包含性列表,使得(例如)A、B或C中的至少一个的列表意指A或B或C,或者AB或AC或BC,或者ABC(即,A和B和C)。并且,如本文所使用,短语“基于”不应被理解为参考封闭条件集。举例来说,在不脱离本公开的范围的情况下,描述为“基于条件A”的示例性步骤可基于条件A和条件B两者。换句话说,如本文所使用,短语“基于”应以与短语“至少部分地基于”相同的方式解释。
计算机可读介质包含非暂时性计算机存储介质和通信介质两者,通信介质包含促进计算机程序从一处传递到另一处的任何介质。非暂时性存储介质可为可由通用或专用计算机存取的任何可用介质。借助于实例而非限制,非暂时性计算机可读介质可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构形式的所要程序代码构件且可由通用或专用计算机或者通用或专用处理器存取的任何其它非暂时性介质。
并且,适当地将任何连接称作计算机可读介质。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源发射软件,则所述同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包含于介质的定义中。如本文中所使用,磁盘及光盘包含CD、激光光盘、光学光盘、数字影音光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。上述的组合也包含在计算机可读介质的范围内。
提供本文中的描述以使所属领域的技术人员能够制造或使用本公开。对本公开的各种修改将是所属领域的技术人员显而易见的,且本文所定义的一般原理可应用于其它变型,而不脱离本公开的范围。因此,本公开不限于本文中所描述的实例和设计,而是应被赋予与本文中所公开的原理和新颖特征一致的最广范围。

Claims (33)

1.一种系统,其包括:
存储器;以及
控制器,其与所述存储器耦合,其中所述控制器被配置成:
相对于主机装置的高速缓存存储存储于所述存储器中的数据集的相干状态;且
至少部分地基于识别执行存储于所述存储器中的所述数据集的存取操作的命令根据至少部分地基于所述数据集的所存储的相干状态确定的所述数据集的偏压状态存取所述存储器,其中所述偏压状态与由所述控制器对所述数据集的存取的控制相关联。
2.根据权利要求1所述的系统,其中所述控制器被配置成至少部分地基于所述偏压状态独立于所述主机装置存取所述存储器。
3.根据权利要求2所述的系统,其进一步包括:
与所述存储器相关联的高速缓存,其中所述命令包括读取命令,且其中所述控制器被配置成:
至少部分地基于识别所述命令确定所述数据集存储到与所述存储器相关联的所述高速缓存;以及
至少部分地基于确定所述数据集存储到所述高速缓存而存取存储到所述高速缓存的所述数据集。
4.根据权利要求3所述的系统,其中所述控制器被配置成:
至少部分地基于识别执行第二数据集的存取操作的命令而确定所述第二数据集不存储到所述高速缓存;以及
至少部分地基于确定所述第二数据集不存储到所述高速缓存根据所述第二数据集的第二偏压状态存取所述存储器,其中所述第二偏压状态与由所述主机装置对所述第二数据集的存取的控制相关联。
5.根据权利要求1所述的系统,其中所述存储器被配置成存储与所述数据集的第一相干状态相关联的第一值,与所述数据集的第二相干状态相关联的第二值,或与所述数据集的第三相干状态相关联的第三值。
6.根据权利要求5所述的系统,其中:
所述第一值指示所述数据集为不相干的;且
所述第二值和所述第三值指示所述数据集为相干的,其中所述控制器被配置成至少部分地基于所述存储器存储所述数据集的所述第一值根据所述偏压状态处理所述命令。
7.根据权利要求1所述的系统,其中
所述数据集与第一数量的数据相关联,且
与所述存储器耦合的所述主机装置的高速缓存行被配置成存储所述第一数量的数据。
8.根据权利要求1所述的系统,其中
所述偏压状态对应于第一偏压状态,且
第二偏压状态与由所述主机装置对所述数据集的存取的控制相关联。
9.一种系统,其包括:
存储器;以及
控制器,其与所述存储器耦合,其中所述控制器被配置成:
相对于主机装置的高速缓存存储存储于所述存储器中的数据集的相干状态;且
至少部分地基于识别执行存储于所述存储器中的所述数据集的存取操作的命令根据至少部分地基于所述数据集的所存储的相干状态确定的所述数据集的偏压状态存取所述存储器,其中所述偏压状态与由所述主机装置对所述数据集的存取的控制相关联。
10.根据权利要求9所述的系统,其中所述控制器被配置成独立于所述命令存储所述数据集的所述相干状态,其中所述控制器被配置成:
至少部分地基于确定根据所述偏压状态处理所述命令而向所述主机装置发射待在所述数据集上执行的所述存取操作的指示;且
至少部分地基于发射所述存取操作的所述指示从所述主机装置接收用于指示对用于所述存取操作的所述数据集的直接存取的第二命令。
11.根据权利要求10所述的系统,其中所述控制器被配置成至少部分地基于从所述主机装置接收所述第二命令而针对所述数据集存取所述存储器。
12.根据权利要求9所述的系统,其中所述存储器被配置成存储与所述数据集的第一相干状态相关联的第一值,与所述数据集的第二相干状态相关联的第二值,或与所述数据集的第三相干状态相关联的第三值。
13.根据权利要求12所述的系统,其中:
所述第一值指示所述数据集的无效版本存储到所述主机装置的所述高速缓存;
所述第二值指示所述数据集的共享版本或排他版本存储到所述主机装置的所述高速缓存;且
所述第三值指示所述数据集的所述共享版本存储到所述主机装置的所述高速缓存。
14.根据权利要求12所述的系统,其中
所述第二值和所述第三值指示所述数据集为相干的,
所述控制器被配置成至少部分地基于所述存储器存储所述数据集的所述第二值或所述第三值根据所述偏压状态处理所述命令。
15.根据权利要求9所述的系统,其中
所述数据集与第一数量的数据相关联,且
与所述存储器耦合的所述主机装置的高速缓存行被配置成存储所述第一数量的数据。
16.根据权利要求9所述的系统,其中
第一偏压状态与由所述控制器对所述数据集的存取的控制相关联,且
所述偏压状态对应于第二偏压状态。
17.一种方法,其包括:
相对于主机装置的高速缓存存储存储于存储器中的数据集的相干状态;
至少部分地基于识别执行存储于所述存储器中的所述数据集的存取操作的命令根据至少部分地基于所述数据集的所存储的相干状态确定的所述数据集的偏压状态存取所述存储器,其中所述偏压状态与由与所述存储器相关联的控制器对所述数据集的存取的控制相关联。
18.根据权利要求17所述的方法,其进一步包括:
至少部分地基于所述偏压状态独立于所述主机装置存取所述存储器。
19.根据权利要求18所述的方法,其中所述命令包括读取命令,所述方法进一步包括:确定所述数据集存储到与所述存储器相关联的高速缓存;以及
至少部分地基于确定所述数据集存储到与所述存储器相关联的所述高速缓存而存取存储到所述高速缓存的所述数据集。
20.根据权利要求17所述的方法,其中所述存储器被配置成存储与所述数据集的第一相干状态相关联的第一值,与所述数据集的第二相干状态相关联的第二值,或与所述数据集的第三相干状态相关联的第三值。
21.根据权利要求20所述的方法,其中:
所述第一值指示所述数据集为不相干的;且
所述第二值和所述第三值指示所述数据集为相干的,其中所述控制器被配置成至少部分地基于所述存储器存储所述数据集的所述第一值根据所述偏压状态处理所述命令。
22.根据权利要求17所述的方法,其中
所述数据集与第一数量的数据相关联,且
与所述存储器耦合的所述主机装置的高速缓存行被配置成存储所述第一数量的数据。
23.根据权利要求17所述的方法,其中
所述偏压状态对应于第一偏压状态,且
第二偏压状态与由所述主机装置对所述数据集的存取的控制相关联。
24.一种方法,其包括:
相对于主机装置的高速缓存存储存储于存储器中的数据集的相干状态;以及
至少部分地基于识别执行存储于所述存储器中的所述数据集的存取操作的命令根据至少部分地基于所述数据集的所存储的相干状态确定的所述数据集的偏压状态存取所述存储器,其中所述偏压状态与由所述主机装置对所述数据集的存取的控制相关联。
25.根据权利要求24所述的方法,其中所述数据集的所述相干状态独立于所述命令而存储,所述方法进一步包括:
至少部分地基于确定根据所述偏压状态处理所述命令而向所述主机装置发射待在所述数据集上执行的所述存取操作的指示;以及
至少部分地基于发射所述存取操作的所述指示从所述主机装置接收用于指示对用于所述存取操作的所述数据集的直接存取的第二命令。
26.根据权利要求25所述的方法,其中所述命令包括读取命令,所述方法进一步包括:
至少部分地基于从所述主机装置接收所述第二命令而针对所述数据集存取所述存储器。
27.根据权利要求26所述的方法,其进一步包括:
至少部分地基于从所述主机装置接收所述数据集而将从所述主机装置接收的所述数据集发射到所述存储器。
28.根据权利要求24所述的方法,其中所述存储器被配置成存储与所述数据集的第一相干状态相关联的第一值,与所述数据集的第二相干状态相关联的第二值,或与所述数据集的第三相干状态相关联的第三值。
29.根据权利要求28所述的方法,其中:
所述第一值指示所述数据集的无效版本存储到所述主机装置的所述高速缓存;
所述第二值指示所述数据集的共享版本或排他版本存储到所述主机装置的所述高速缓存;且
所述第三值指示所述数据集的所述共享版本存储到所述主机装置的所述高速缓存。
30.根据权利要求28所述的方法,其中
所述第二值和所述第三值指示所述数据集为相干的,
所述命令至少部分地基于所述存储器存储所述数据集的所述第二值或所述第三值而根据所述偏压状态进行处理。
31.根据权利要求24所述的方法,其中
所述数据集与第一数量的数据相关联,且
与所述存储器耦合的所述主机装置的高速缓存行被配置成存储所述第一数量的数据。
32.根据权利要求24所述的方法,其中
第一偏压状态与由所述控制器对所述数据集的存取的控制相关联,且
所述偏压状态对应于第二偏压状态。
33.一种存储包括指令的代码的非暂时性计算机可读介质,所述指令在由电子装置的处理器执行时致使所述电子装置:
相对于主机装置的高速缓存存储存储于存储器中的数据集的相干状态;且
至少部分地基于识别执行存储于所述存储器中的所述数据集的存取操作的命令根据至少部分地基于所述数据集的所存储的相干状态确定的所述数据集的偏压状态存取所述存储器,其中所述偏压状态与由与所述存储器相关联的控制器对所述数据集的存取的控制相关联。
CN202180095001.7A 2021-03-10 2021-12-27 存储器装置的偏压控制 Pending CN116897342A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/198,084 US11442858B1 (en) 2021-03-10 2021-03-10 Bias control for a memory device
US17/198,084 2021-03-10
PCT/US2021/073118 WO2022191906A1 (en) 2021-03-10 2021-12-27 Bias control for a memory device

Publications (1)

Publication Number Publication Date
CN116897342A true CN116897342A (zh) 2023-10-17

Family

ID=83194865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180095001.7A Pending CN116897342A (zh) 2021-03-10 2021-12-27 存储器装置的偏压控制

Country Status (3)

Country Link
US (2) US11442858B1 (zh)
CN (1) CN116897342A (zh)
WO (1) WO2022191906A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230071479A (ko) * 2021-11-16 2023-05-23 에스케이하이닉스 주식회사 반도체 시스템 및 반도체 시스템의 동작 방법
KR20230082484A (ko) * 2021-12-01 2023-06-08 삼성전자주식회사 전자 장치의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101533371A (zh) * 2008-03-12 2009-09-16 Arm有限公司 使用微标签的高速缓存存取
CN101727405A (zh) * 2008-10-20 2010-06-09 株式会社东芝 虚拟地址高速缓冲存储器和方法以及处理器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI3812900T3 (fi) * 2016-12-31 2024-02-09 Intel Corp Järjestelmät, menetelmät ja laitteet heterogeenistä laskentaa varten
US10282811B2 (en) 2017-04-07 2019-05-07 Intel Corporation Apparatus and method for managing data bias in a graphics processing architecture
US11030126B2 (en) 2017-07-14 2021-06-08 Intel Corporation Techniques for managing access to hardware accelerator memory
US11263143B2 (en) * 2017-09-29 2022-03-01 Intel Corporation Coherent accelerator fabric controller
US10733102B2 (en) 2018-12-19 2020-08-04 International Business Machines Corporation Selectively updating a coherence state in response to a storage update
US11036650B2 (en) * 2019-09-19 2021-06-15 Intel Corporation System, apparatus and method for processing remote direct memory access operations with a device-attached memory
US11379236B2 (en) * 2019-12-27 2022-07-05 Intel Corporation Coherency tracking apparatus and method for an attached coprocessor or accelerator
US11188471B2 (en) * 2020-04-03 2021-11-30 Alibaba Group Holding Limited Cache coherency for host-device systems
US20210373951A1 (en) * 2020-05-28 2021-12-02 Samsung Electronics Co., Ltd. Systems and methods for composable coherent devices
US11914903B2 (en) * 2020-10-12 2024-02-27 Samsung Electronics Co., Ltd. Systems, methods, and devices for accelerators with virtualization and tiered memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101533371A (zh) * 2008-03-12 2009-09-16 Arm有限公司 使用微标签的高速缓存存取
CN101727405A (zh) * 2008-10-20 2010-06-09 株式会社东芝 虚拟地址高速缓冲存储器和方法以及处理器

Also Published As

Publication number Publication date
WO2022191906A1 (en) 2022-09-15
US11442858B1 (en) 2022-09-13
US20230043177A1 (en) 2023-02-09
US20220292018A1 (en) 2022-09-15
US11726914B2 (en) 2023-08-15

Similar Documents

Publication Publication Date Title
US11726914B2 (en) Bias control for a memory device
US11669258B2 (en) Dynamic superblocks
US11755490B2 (en) Unmap operation techniques
US12019877B2 (en) Metadata allocation in memory systems
US11899963B2 (en) Suspension during a multi-plane write procedure
US11775207B2 (en) Techniques to perform a write operation
US11604609B1 (en) Techniques for command sequence adjustment
WO2022193130A1 (en) Managing regions of a memory system
US20240201860A1 (en) Address mappings for random access operations
US11687291B2 (en) Techniques for non-consecutive logical addresses
US20240231702A1 (en) Multiplane data transfer commands
US11762771B2 (en) Advanced power off notification for managed memory
US11977758B2 (en) Assigning blocks of memory systems
US12019884B2 (en) Identification and storage of boot information at a memory system
US11922069B2 (en) Adaptive block mapping
US20240086070A1 (en) Read disturb management for memory
US11790961B2 (en) Memory device access techniques
US20230043338A1 (en) Techniques for memory zone size adjustment
US20240176550A1 (en) Transferring valid data using a system latch
US20240078020A1 (en) Write booster pinning
US20230376225A1 (en) Techniques for memory system rebuild
WO2023173361A1 (en) Techniques for efficiently handling misaligned sequential reads
US20230205457A1 (en) Techniques for atomic write operations
US20230342060A1 (en) Techniques for data transfer operations
US20230015332A1 (en) Split cache for address mapping data

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