存储器装置的高速缓存架构

文档序号:1937180 发布日期:2021-12-07 浏览:12次 >En<

阅读说明:本技术 存储器装置的高速缓存架构 (Cache architecture for memory devices ) 是由 N·德尔加托 于 2021-05-24 设计创作,主要内容包括:本申请涉及存储器装置的高速缓存架构。例如,一种存储器装置可包含:主阵列,其具有第一组存储器单元;高速缓存,其具有第二组存储器单元;和高速缓存延迟寄存器,其配置成存储与最近执行的存取操作相关联的高速缓存地址的指示。在一些实例中,所述高速缓存延迟寄存器可以作为高速缓存地址的先进先出FIFO寄存器操作,其中与所执行存取操作相关联的高速缓存地址可以添加到所述FIFO寄存器的起点中,并且在所述FIFO寄存器的末尾的高速缓存地址可被清除。与所述主阵列上的存取操作相关联的信息可以维持在所述高速缓存中,并被直接存取(例如,无需对所述主阵列进行另一存取),至少持续所述高速缓存地址存在于高速缓存延迟寄存器中的时间。(The present application relates to cache architectures for memory devices. For example, a memory device may include: a main array having a first set of memory cells; a cache having a second set of memory cells; and a cache delay register configured to store an indication of a cache address associated with a most recently performed access operation. In some examples, the cache delay register may operate as a first-in-first-out FIFO register of cache addresses, where the cache address associated with the executed access operation may be added to the beginning of the FIFO register and the cache address at the end of the FIFO register may be cleared. Information associated with an access operation on the primary array may be maintained in the cache and accessed directly (e.g., without another access to the primary array), at least for the time that the cache address is present in the cache delay register.)

存储器装置的高速缓存架构

交叉引用

本专利申请要求德尔加托(Del Gatto)在2020年6月3日提交的名称为“存储器装置的高速缓存架构(CACHE ARCHITECTURES FOR MEMORY DEVICES)”的第16/891,635号美国专利申请的优先权,此申请转让给本受让人且明确地以全文引用的方式并入本文中。

技术领域

技术领域

涉及存储器装置的高速缓存架构。

背景技术

存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等各种电子装置中。通过将存储器装置内的存储器单元编程到各种状态来存储信息。例如,二进制存储器单元可编程到两种支持状态中的一种,常常由逻辑1或逻辑0来表示。在一些实例中,单个存储器单元可支持多于两个状态,所述状态中的任一个可被存储。为了存取所存储的信息,组件可读取或感测存储器装置中的至少一个所存储状态。为了存储信息,组件可写入或编程存储器装置中的状态。

存在各种类型的存储器装置和存储器单元,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、自选存储器、硫族化物存储器技术等。存储器单元可为易失性或非易失性的。

发明内容

描述一种设备。所述设备可包含:存储器阵列,其包括第一多个存储器单元;高速缓存,其包括第二多个存储器单元;先进先出(FIFO)寄存器;以及控制组件,其与所述存储器阵列、所述高速缓存和所述FIFO寄存器耦合。所述控制组件可配置成使所述设备:接收向所述设备写入信息的命令;至少部分地基于接收到所述命令,将所述信息写入到所述高速缓存的地址;至少部分地基于将所述信息写入到所述高速缓存,在所述FIFO寄存器中存储所述高速缓存的所述地址的指示;以及至少部分地基于在所述FIFO寄存器中存储所述高速缓存的所述地址的所述指示,执行操作。

描述一种设备。所述设备可包含:存储器阵列,其包括第一多个存储器单元;高速缓存,其包括第二多个存储器单元;FIFO寄存器;以及控制组件,其与所述存储器阵列、所述高速缓存和所述FIFO寄存器耦合。所述控制组件可配置成使所述设备:接收在所述设备中读取信息的命令;至少部分地基于接收到所述命令,将所述信息从所述存储器阵列写入到所述高速缓存的地址;至少部分地基于将所述信息从所述存储器阵列写入到所述高速缓存的所述地址,在所述FIFO寄存器中存储所述高速缓存的所述地址的指示;以及至少部分地基于在所述FIFO寄存器中存储所述高速缓存的所述地址的所述指示,执行操作。

描述一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可存储包括指令的代码,所述指令在由电子装置的处理器执行时使所述电子装置:接收向所述电子装置写入信息的命令;至少部分地基于接收到所述命令,将所述信息写入到所述电子装置的高速缓存的地址;至少部分地基于将所述信息写入到所述高速缓存,在所述电子装置的FIFO寄存器中存储所述高速缓存的所述地址的指示;以及至少部分地基于在所述FIFO寄存器中存储所述高速缓存的所述地址的所述指示,执行所述电子装置的操作。

描述一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可存储包括指令的代码,所述指令在由电子装置的处理器执行时使所述电子装置:接收从所述电子装置读取信息的命令;至少部分地基于接收到所述命令,将所述信息从所述电子装置的存储器阵列写入到所述电子装置的高速缓存的地址;至少部分地基于将所述信息从所述存储器阵列写入到所述高速缓存的所述地址,在所述FIFO寄存器中存储所述高速缓存的所述地址的指示;以及至少部分地基于在所述FIFO寄存器中存储所述高速缓存的所述地址的所述指示,执行所述电子装置的操作。

描述一种设备。所述设备可包含:存储器阵列,其包括第一多个存储器单元;高速缓存,其包括第二多个存储器单元;FIFO寄存器;以及控制组件,其与所述存储器阵列、所述高速缓存和所述FIFO寄存器耦合。所述控制组件可用于至少部分地基于存取所述存储器阵列而存储所述高速缓存的地址的指示。

附图说明

图1示出根据本文所公开的实例的支持存储器装置的高速缓存架构的系统的实例。

图2示出根据本文所公开的实例的支持存储器装置的高速缓存架构的架构的实例。

图3到5示出根据本文所公开的实例的操作支持存储器装置的高速缓存架构的架构的实例。

图6示出根据本文所公开的实例的支持存储器装置的高速缓存架构的过程流的实例。

图7示出根据本公开的各方面的支持存储器装置的高速缓存架构的存储器装置的框图。

图8和9示出根据本文所公开的实例的流程图,其示出支持存储器装置的高速缓存架构的一或多种方法。

具体实施方式

在一些存储器架构中,在存储器阵列的相同存储器单元上提供存取操作之间的延迟可能是有益的,例如在存取操作之间的最小写后读延迟或其它类型的延迟。例如,一些存储器单元或伴随的电路系统在被存取时可能积聚热量、电荷或某一其它特性或不稳定性,并且在对相同存储器单元执行另一存取操作之前(例如,至少有一些相同的存储器单元)允许此类特性耗散或以其它方式稳定可能是有益的。为了在不引起不适当的时延的情况下支持连续存取操作之间的这种延迟,与存取主阵列的存储器单元相关联的信息(例如,数据)可以在高速缓存的存储器单元中维持一段时间,以便可以从高速缓存中存取,这可能是在主阵列的相同存储器单元上执行另一存取操作的替代方案。

根据本文所公开的实例,存储器装置可包含:主阵列,其具有第一组(例如,一或多个)存储器单元;高速缓存,其具有第二组(例如,一或多个)存储器单元;及一或多个高速缓存延迟寄存器,其配置成存储与最近执行的存取操作相关联的一或多个高速缓存地址的指示。高速缓存延迟寄存器的操作方式可支持维持主阵列的同一存储器单元或同一地址上的连续操作之间的阈值持续时间。例如,高速缓存延迟寄存器可以作为高速缓存地址的先进先出(FIFO)寄存器操作,其中与执行的存取操作(例如,在主阵列上,与主阵列的地址相关联)相关联的高速缓存地址可以添加到FIFO寄存器的起点中,且在FIFO寄存器的末尾的高速缓存地址可被清除。与存取操作相关联的信息可以维持在高速缓存中,例如至少持续高速缓存地址存在于高速缓存延迟寄存器中的时间,并且在接收到另一存取命令后,如果相关联的信息在高速缓存中可用,那么所述信息可以从高速缓存而不是主阵列检索。连续存取操作之间的阈值持续时间可以通过操作具有与存储器装置上执行的存取操作的速率相关的容量的高速缓存延迟寄存器来维持。在一些实例中,提供此类高速缓存延迟寄存器可支持减小的功率消耗、改进的可扩展性或这两者,或与其它延迟存储器阵列的存储器单元上的操作的技术相比的其它益处。

本公开的特征首先在参考图1-6所描述的存储器系统、架构和相关联的技术的上下文中描述。本公开的这些和其它特征进一步由与参考图7-9所描述的存储器装置的高速缓存架构相关的设备图和流程图示出,并参考所述设备图和流程图加以描述。

图1示出根据本文所公开的实例的支持存储器装置的高速缓存架构的系统100的实例。系统100可包含主机装置105、存储器装置110和耦合主机装置105与存储器装置110的多个信道115。系统100可包含一或多个存储器装置,但是所述一或多个存储器装置110的各方面可以在单个存储器装置(例如,存储器装置110)的上下文中加以描述。

系统100可包含电子装置的部分,例如计算装置、移动计算装置、无线装置、图形处理装置、车辆或其它系统。例如,系统100可示出计算机、笔记本电脑、平板电脑、智能电话、移动电话、可穿戴装置、因特网连接装置、车辆控制器等等的各方面。存储器装置110可以是系统中可用于存储系统100的一或多个其它组件的数据的组件。

系统100的至少部分可为主机装置105的实例。主机装置105可为处理器或使用存储器来执行过程的装置内(例如计算装置、移动计算装置、无线装置、图形处理装置、计算机、笔记本电脑、平板电脑、智能电话、移动电话、可穿戴装置、因特网连接装置、车辆控制器或某一其它固定或便携式电子装置以及其它实例内)的其它电路的实例。在一些实例中,主机装置105可以指实施外部存储器控制器120的功能的硬件、固件、软件或其组合。在一些实例中,外部存储器控制器120可称为主机或主机装置105。

存储器装置110可为可用于提供可由系统100使用或参考的物理存储器地址/空间的独立装置或组件。在一些实例中,存储器装置110可配置成配合一或多个不同类型的主机装置105起作用。主机装置105与存储器装置110之间的信令可用于支持以下各者中的一或多者:调制信号的调制方案、用于传达信号的各种引脚配置、用于主机装置105和存储器装置110的物理封装的各种外观尺寸、主机装置105与存储器装置110之间的时钟信令及同步、定时惯例,或其它因素。

存储器装置110可用于存储用于主机装置105的组件的数据。在一些实例中,存储器装置110可充当主机装置105的从属型装置(例如,通过外部存储器控制器120对由主机装置105提供的命令作出响应且执行所述命令)。此类命令可包含用于写入操作的写入命令、用于读取操作的读取命令、用于刷新操作的刷新命令或其它命令中的一或多个。

主机装置105可包含外部存储器控制器120、处理器125、基本输入/输出系统(BIOS)组件130中的一或多个或例如一或多个外围组件或一或多个输入/输出控制器等其它组件。主机装置的组件可使用总线135彼此耦合。

处理器125可用于对系统100的至少部分或主机装置105的至少部分提供控制或其它功能性。处理器125可为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或这些组件的组合。在此类实例中,处理器125可为中央处理单元(CPU)、图形处理单元(GPU)、通用GPU(GPGPU)或芯片上系统(SoC)的实例,以及其它实例。在一些实例中,外部存储器控制器120可由处理器125实施,也可以是所述处理器的一部分。

BIOS组件130可以是包含作为固件操作的BIOS的软件组件,其可初始化且运行系统100或主机装置105的各种硬件组件。BIOS组件130还可管理处理器125与系统100或主机装置105的各种组件之间的数据流。BIOS组件130可包含存储于只读存储器(ROM)、快闪存储器或其它非易失性存储器中的一或多个中的程序或软件。

存储器装置110可包含装置存储器控制器155及一或多个存储器裸片160(例如,存储器芯片)以支持用于数据存储的所需容量或指定容量。每一存储器裸片160可包含本地存储器控制器165(例如,本地存储器控制器165-a、本地存储器控制器165-b、本地存储器控制器165-N)及存储器阵列170(例如,存储器阵列170-a、存储器阵列170-b、存储器阵列170-N)。存储器阵列170可为存储器单元的集合(例如,一或多个栅格、一或多个存储体、一或多个拼块、一或多个区段),其中每一存储器单元可用于存储至少一个数据位。包含两个或更多个存储器裸片的存储器装置110可称为多裸片存储器或多裸片封装或多芯片存储器或多芯片封装。

装置存储器控制器155可包含可用于控制存储器装置110的操作的电路、逻辑或组件。装置存储器控制器155可包含使得存储器装置110能够执行各种操作的硬件、固件或指令,且可用于接收、传输或执行与存储器装置110的组件相关的命令、数据或控制信息。装置存储器控制器155可用于与外部存储器控制器120、所述一或多个存储器裸片160或处理器125中的一或多者通信。在一些实例中,装置存储器控制器155可结合存储器裸片160的本地存储器控制器165控制本文中所描述的存储器装置110的操作。

本地存储器控制器165(例如,在存储器裸片160本地)可用于控制存储器裸片160的操作。在一些实例中,本地存储器控制器165可用于与装置存储器控制器155通信(例如,接收或传输数据或命令或这两者)。在一些实例中,存储器装置110可不包含装置存储器控制器155,且本地存储器控制器165或外部存储器控制器120可执行本文中所描述的各种功能。由此,本地存储器控制器165可用于与装置存储器控制器155、其它本地存储器控制器165或直接与外部存储器控制器120或处理器125或其组合通信。可包含于装置存储器控制器155或本地存储器控制器165或这两者中的组件的实例可包含用于接收信号(例如,从外部存储器控制器120)的接收器、用于传输信号(例如,到外部存储器控制器120)的传输器、用于解码或解调所接收信号的解码器、用于编码或调制要传输的信号的编码器,或可用于支持装置存储器控制器155或本地存储器控制器165或这两者的所描述操作的各种其它电路或控制器。

在一些实例中,例如存储器装置110(例如,装置存储器控制器155、本地存储器控制器165)的组件可以是或可包含非暂时性计算机可读媒体,所述非暂时性计算机可读媒体存储用于执行与根据本文所公开的实例的存储器装置的高速缓存架构相关联的技术的指令(例如,固件)。例如,此类指令在由例如装置存储器控制器155或本地存储器控制器165的组件执行时可使控制器根据参考图2到9描述的架构和技术来执行技术。

外部存储器控制器120可用于使得能够在系统100或主机装置105的组件(例如,处理器125)与存储器装置110之间传达信息、数据或命令中的一或多者。外部存储器控制器120可转换或转译在主机装置105的组件与存储器装置110之间交换的通信。在一些实例中,外部存储器控制器120或系统100的其它组件或主机装置105或本文中所描述的功能可由处理器125实施。例如,外部存储器控制器120可为由处理器125或系统100的其它组件或主机装置105实施的硬件、固件或软件或其某一组合。尽管外部存储器控制器120描绘为在存储器装置110外部,但在一些实例中,外部存储器控制器120或本文中所描述的功能可由存储器装置110的一或多个组件(例如,装置存储器控制器155、本地存储器控制器165)实施,反之亦可。

主机装置105的组件可使用一或多个信道115与存储器装置110交换信息。信道115可用于支持外部存储器控制器120和存储器装置110之间的通信。每个信道115可以是在主机装置105和存储器装置之间载送信息的传输介质的实例。每个信道115可包含与系统100的组件相关联的端子之间的一或多个信号路径或传输介质(例如,导体)。信号路径可以是可用于载送信号的导电路径的实例。例如,信道115可包含第一端子,所述第一端子包含在主机装置105处的一或多个引脚或衬垫和在存储器装置110处的一或多个引脚或衬垫。引脚可以是系统100的装置的导电输入或输出点的实例,并且引脚可用于充当信道的部分。

信道115(及相关联的信号路径和端子)可专门用于传达一或多种类型的信息。例如,信道115可包含一或多个命令和地址(CA)信道186、一或多个时钟信号(CK)信道188、一或多个数据(DQ)信道190、一或多个其它信道192,或其组合。

存储器装置110可从主机装置105接收数据或命令或这两者。例如,存储器装置110可接收指示存储器装置110将存储用于主机装置105的数据的写入命令。在一些实例中,本地存储器控制器165可用于在相关联存储器阵列170的一或多个存储器单元上执行写入操作(例如,编程操作)。在写入操作期间,存储器裸片160的存储器单元可编程成存储所要逻辑状态。在一些实例中,本地存储器控制器165可识别要执行写入操作的目标存储器单元。

在一些实例中,存储器装置110可接收指示存储器装置110将向主机装置105提供所存储数据的读取命令,并且本地存储器控制器165可用于在相关联存储器阵列170的一或多个存储器单元上执行读取操作(例如,感测操作)。在读取操作期间,可以确定存储于存储器阵列170的存储器单元中的逻辑状态。在一些实例中,本地存储器控制器165可识别要执行读取操作的目标存储器单元。

在一些实例中,存储器装置110的一或多个存储器阵列170可包含用于存储信息(例如,逻辑值、逻辑状态)的非易失性存储器单元。例如,存储器阵列170可包含NAND(例如,NAND快闪)存储器、只读存储器(ROM)、相变存储器(PCM)、自选存储器、3D交叉点(3DXP)存储器、其它基于硫族化物的存储器、铁电RAM(FeRAM)、磁性RAM(MRAM)、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)和电可擦除可编程ROM(EEPROM),以及其它类型的非易失性存储器单元。

在NAND存储器架构中,每个存储器单元可包含具有用于存储表示逻辑值的一定量的电荷的浮动栅极或介电材料的晶体管。晶体管可包含控制栅极和浮动栅极,其中浮动栅极可以包夹在介电材料的两个部分之间。逻辑值可以通过在浮动栅极上放置(例如,写入、存储)一定量的电子(例如,一定量的电荷)而存储在晶体管中。要存储在浮动栅极上的电荷的量可取决于要存储的逻辑值。存储在浮动栅极上的电荷可影响晶体管的阈值电压,由此影响当晶体管被激活时(例如,当电压被施加到控制栅极时)流动通过晶体管的电流量。存储在晶体管中的逻辑值可以通过向控制栅极施加一电压以激活晶体管并测量流动通过晶体管的所得电流量来进行感测(例如,作为读取操作的部分)。

在一些实例中,存储器阵列170的存储器单元可使用可配置材料存储逻辑状态,所述可配置材料可以称为存储器元件、存储器存储元件、材料元件、材料存储器元件、材料部分或极性已写入材料部分等等。存储器单元的可配置材料可以指基于硫族化物的存储组件,例如相变存储器(PCM)单元、阈值存储器单元或自选存储器单元。

在相变架构中,存储器单元在相变材料中结晶状态和非晶状态的电阻之间可展现出可观测的差,相变材料可以是硫族化物材料。写入结晶状态的材料可产生相对较低的电阻,而写入非晶状态的材料可产生相对较高的电阻。取决于写入到存储元件的材料的逻辑状态的存储元件的材料的电阻差可对应于存储元件的读取窗口。

在阈值或自选架构中,存储器单元所支持的一组逻辑状态中的一些或全部可与硫族化物材料的非晶状态相关联(例如,单个材料状态的材料可用于存储不同逻辑状态)。在一些实例中,存储元件可以是自选存储器单元的实例,其中用于存储元件的材料可进行操作以便在存储器单元的正常操作期间变成不同的物理状态。例如,自选存储器单元可具有高阈值电压状态和低阈值电压状态。存储元件的材料的阈值电压差可对应于存储元件的读取窗口。

在FeRAM架构中,存储器单元可存储表示包含铁电材料以存储电荷的电容器中的可编程状态的状态(例如,极化状态或介电电荷)和/或表示可编程状态的极化。铁电材料表征为电极化,其中材料可在不存在电场的情况下维持非零电荷。通过跨铁电电容器施加净电压差,逻辑0或1可以通过控制铁电材料的电极化并因此控制电容器端子上的电荷而写入到存储器单元。为了读取或感测铁电电容器的所存储状态,可以跨铁电电容器施加电压,并且可以检测由铁电电容器存储的电荷。改变程度可取决于初始极化状态、所施加电压、存取线上的本征或其它电容,及其它因素。

在一些存储器架构中,确保在存储器阵列170的相同存储器单元上的存取操作之间的延迟可能是有益的。例如,一些存储器单元或伴随的电路系统在被存取时可能积聚热量、电荷或某一其它特性或不稳定性。由于相对快速地连续存取相同的存储器单元而产生的干扰的累积可能会例如导致所存取的存储器单元或相邻的存储器单元所存储的逻辑状态的退化、存储器单元用逻辑状态写入的能力的退化,存储器单元维持写入的逻辑状态的能力的退化、存储器单元的材料或材料接口的退化或疲劳或组件之间的隔离击穿,以及其它退化或其它不利性能,或其任何组合。因此,在执行存取操作之后,在对相同存储器单元执行另一存取操作之前允许存储器单元或伴随的电路系统的各种特性稳定或耗散可能是有益的。

为了在不引起不适当的时延的情况下支持连续存取操作之间的延迟,与存取(例如,存储器阵列170的)主阵列的存储器单元相关联的信息(例如,数据、逻辑状态)可以在高速缓存的存储器单元中维持一段时间,使得它可以(例如,直接)从高速缓存中存取,而不是对主阵列的相同存储器单元执行另一存取操作。在各种实例中,此类高速缓存可以包含在装置存储器控制器155或本地存储器控制器165中或以其它方式与其相关联,并且可包含具有与主阵列的存储器单元不同的架构(例如,单元架构、存储架构)的存储器单元。例如,主阵列(例如,存储器阵列170)可配置有非易失性存储器单元,包含本文所描述的实例中的一或多个,并且高速缓存可配置有易失性存储器单元或存储组件,例如DRAM存储器单元或其它电容式存储组件。在一些实例中,存储器装置110(例如,装置存储器控制器155、本地存储器控制器165)还可包含配置成存储与最近执行的存取操作相关联的高速缓存地址的指示的高速缓存延迟寄存器,并且高速缓存延迟寄存器的操作方式可支持维持主阵列的同一存储器单元上的连续操作之间的阈值持续时间。

图2示出根据本文所公开的实例的支持存储器装置的高速缓存架构的架构200的实例。架构200可包含在参考图1所描述的存储器装置110中,也可指代其组件。架构200包含主阵列210、高速缓存220和高速缓存延迟寄存器240。架构还包含可经由一或多个总线(例如,总线265)与主阵列210、高速缓存220和高速缓存延迟寄存器240耦合的控制组件260。控制组件260可包含配置成执行本文中所描述的一或多个技术的电路系统、组件(例如,处理器、非暂时性计算机可读媒体)或其各种组合。

主阵列210可包含可用于以逻辑状态的形式存储信息(例如,数据)的第一存储器单元阵列。在一些实例中,主阵列210中的存储器单元可以是非易失性存储器单元或其它类型的新兴存储器单元,例如NAND存储器单元、相变存储器单元、阈值存储器单元、FeRAM存储器单元等。高速缓存220可包含第二存储器单元阵列,其可具有与主阵列210中的存储器单元不同的架构。例如,高速缓存220中的存储器单元可以是易失性存储器单元,例如电容式存储器单元或DRAM存储器单元。在一些实例中,相比于主阵列210中的存储器单元,高速缓存220中的存储器单元可支持相对较低的时延、相对较短的存取持续时间或相对较快的存取速率。在一些实例中,存储在高速缓存220的地址中的数据可与主阵列210中的地址相关联(例如,根据高速缓存220和主阵列210之间的映射或数据同步),这可以利用逻辑到物理(L2P)指针或其它映射(例如,控制组件260的映射或通过此组件进行的映射)来跟踪。

数据可以响应于写入命令(例如,来自主机装置105,其可由控制组件260接收或以其它方式由其解译)而写入到主阵列210。在一些实例中,与写入命令相关联的数据可直接写入到主阵列210(例如,无需先写入到高速缓存220)。在一些实例中,与写入命令相关联的数据可首先写入到高速缓存220,接着可以传递到主阵列(例如,根据高速缓存行同步272),也可以并行(例如,并发、同时)写入到高速缓存220和主阵列210。

在一些实例中,数据可以响应于读取命令而从主阵列210读取。另外或替代地,数据可以响应于读取命令而从高速缓存220读取。例如,响应于一些条件下的读取命令,数据可以从主阵列210传递到高速缓存220(例如,根据高速缓存行加载271),以及从高速缓存220传递到主机装置105(例如,经由控制组件260)。响应于一些条件下的读取命令,高速缓存220中已经可用的数据可以(例如,直接)传递到主机装置105,无需存取主阵列210。

在一些实例中,可为有利的是,在主阵列210的相同存储器单元(例如,相同地址)上的连续存取操作之间提供或施加延迟,例如写入操作和后续读取或写入操作之间的延迟,或读取操作和后续读取或写入操作之间的延迟,或这两者。为了在不引起不适当的时延的情况下支持连续存取操作之间的这种延迟,与存取主阵列210相关联的信息可以在高速缓存220中维持一段时间(例如,通过延迟从高速缓存220的收回),使得它可以(例如,直接)从高速缓存220存取,而不是对主阵列210的相同存储器单元或地址执行另一存取操作。例如,在CL同步272之后,相关联信息可以在高速缓存槽230中一直维持到保持时间到期为止,由此支持从高速缓存220收回的延迟。

在一些实例中,高速缓存220可包含一组高速缓存槽230或以其它方式与其相关联,其中每一个高速缓存槽可包含或称为高速缓存行(CL)。每个高速缓存槽230可与高速缓存220的地址(例如,CL地址、CL索引、CL_ID)相关联,并且可与配置成支持高速缓存220的各种操作的一组字段相关联。例如,高速缓存槽230可与包含经高速缓存信息的第一字段231相关联(例如,根据一组N个CL位,其中N可以是任何量或一个位或大于一个位)。在一些实例中,高速缓存槽230可与指示高速缓存槽230是否被分配给主阵列210的地址的第二字段232(例如,“高速缓存行已分配”标志CL_A)相关联。例如,持有逻辑0的第二字段232可指示高速缓存行(例如,第一字段231、高速缓存槽230)为空或未分配。在一些实例中,高速缓存槽230可与指示高速缓存槽230是否与主阵列210同步的第三字段233(例如,“高速缓存行无效”标志CL_D)相关联。例如,持有逻辑1的第三字段233可指示高速缓存行(例如,第一字段231、高速缓存槽230)“无效”,这可指示高速缓存槽230需要在收回之前与主阵列210同步。在一些实例中,高速缓存槽230可与指示高速缓存槽230是否可用于收回的第四字段234(例如,“高速缓存行保持”标志CL_H)相关联。例如,持有逻辑1的第四字段234可指示高速缓存行(例如,第一字段231、高速缓存槽230)与主阵列210同步,但是要维持或以其它方式不被收回。

在一些实例中,高速缓存槽230可包含支持在主阵列210的相同存储器单元上的连续存取操作之间提供或施加延迟的计数器。例如,当高速缓存槽230用于支持信息传入或传出主阵列210时,此类计数器可用于跟踪自信息写入到主阵列210或从其读取以来的持续时间。但是,这种方法可能伴随着与在每一个高速缓存槽230处使计数器递增相关的功率消耗,并且在每一个高速缓存槽230处包含此类计数器可与调整限制以支持高速缓存220的各种大小相关联。

在架构200中,高速缓存延迟寄存器240的操作方式可支持维持主阵列210的同一存储器单元或存储器地址上的连续操作之间的阈值持续时间。例如,高速缓存延迟寄存器240可包含用作高速缓存地址的先进先出(FIFO)寄存器的多个条目245,其中与主阵列210上的所执行存取操作相关联的高速缓存地址(例如,包含CL加载271或CL同步272)添加到FIFO寄存器的起点中(例如,根据CL注册273),并且在FIFO寄存器的末尾的高速缓存地址被清除(例如,与已收回或可收回的高速缓存行、空高速缓存行(ECL)相关联)。尽管在存储从起点移动到末尾的高速缓存地址的FIFO寄存器的上下文中说明,但是例如FIFO功能的类似功能可以通过各种其它技术进行支持,例如在高速缓存延迟寄存器240的给定槽或位置中静态地存储高速缓存地址以及跟踪高速缓存延迟寄存器240中的哪个槽指代最近或最早添加的高速缓存地址(例如,用于以替代最早添加的高速缓存地址的方式将新高速缓存地址添加到高速缓存延迟寄存器240)。高速缓存延迟寄存器240可以替代每个高速缓存槽230的相应计数器的使用,这可以支持对高速缓存区域的更高效使用或功率消耗减小,以及其它益处。

与主阵列210的存取相关联的信息可以在高速缓存220中维持一段时间,例如至少持续相关联的高速缓存地址存在于高速缓存延迟寄存器240中的时间,这可包含维持(例如,第四字段234的)高速缓存行保持值或以其它方式延迟高速缓存槽230的收回,至少持续高速缓存地址存在于高速缓存延迟寄存器240中的时间。在连续存取命令(例如,由控制组件260接收的读取或写入命令)后,如果相关联信息在高速缓存220中可用(例如,如由高速缓存行已分配指示符所指示、如由高速缓存行保持指示符所指示、如由主阵列210的地址和高速缓存220的地址之间的映射所指示),那么信息可以从高速缓存220检索,而不用存取主阵列210,由此防止或缓解对要保持或稳定的存储器单元或相关联电路系统的存取干扰。

连续存取操作之间的阈值持续时间可以通过操作具有容量N_CDR的高速缓存延迟寄存器240来维持,所述容量与受架构200支持的存取操作的速率相关。例如,容量可由下式限定:

N_CDR=(保持时间)/(最小请求时间)

其中保持时间可以指相同存储器单元或地址上的连续存取操作之间的经配置延迟(例如,最小延迟),且最小请求时间可以指控制组件260接收存取命令之间的持续时间、高速缓存220的连续存取之间的最小时间、与架构200的操作相关联的时钟速率或某一其它操作定时。在一些实例中,N_CDR可以指基于已知保持时间和最小请求时间定义的高速缓存延迟寄存器240的总制造容量。在一些实例中,N_CDR可以变化,并且可以指高速缓存延迟寄存器240的制造容量的全部或子集。例如,N_CDR可以基于所要保持时间来选择或配置,所要保持时间可基于存储器装置的操作条件或模式(例如,根据变量保持时间),N_CDR也可以基于存取操作之间的可变时间来选择或配置,例如可变时钟时间或存取频率(例如,根据变量最小请求时间)。

在一些实例中,架构200可支持受害者高速缓存行(例如,要收回、清空或替换为不同信息的高速缓存行)的选择。例如,为了支持高速缓存槽230的收回,控制组件260可配置成选择或识别可用于收回的一或多个已分配高速缓存槽230,这可包含具有值CL_A=1和值CL_H=0的一或多个高速缓存槽230。在一些实例中,控制组件260可配置成返回符合此类要求的高速缓存槽230的索引或地址,这可以称为受害者CL_ID或VCL_ID。

在一些实例中,受害者高速缓存槽230可以包含或添加到高速缓存延迟寄存器240中。例如,受害者高速缓存槽230的地址(例如,VCL_ID)可以作为输入参数接收,并且控制组件260可确定高速缓存槽230是否无效(例如,高速缓存槽是否与值CL_D=1相关联、高速缓存行在收回之前是否需要与主阵列210同步)。如果高速缓存槽230无效,那么(例如,第一字段231的)高速缓存槽230的信息可以与主阵列210同步(例如,根据CL同步272),如果不是,那么CL同步272可以省略。控制组件260可将VCL_ID添加到高速缓存延迟寄存器240,这可以延迟存取与受害者高速缓存槽230中最新添加的信息相关联的主阵列210的地址。

在一些实例中,控制组件260可配置成执行高速缓存延迟注册表检查。例如,控制组件260可确定高速缓存延迟寄存器240是否全满,如果是,那么控制组件260可从高速缓存延迟寄存器240中清除或去除已收回高速缓存槽230的索引。在一些实例中,在从高速缓存延迟寄存器240清除已收回高速缓存槽230之后,已收回高速缓存槽230可进行保持标志重置(例如,设置CL_H=0)和分配标志重置(例如,设置CL_A=0)。

在一些实例中,控制组件260可配置成从高速缓存延迟寄存器240去除高速缓存槽230的地址(例如,CL_ID)。例如,当从高速缓存220存取信息而不是通过存取主阵列210时,控制组件260可从高速缓存延迟寄存器240去除CL_ID,并将剩余条目移向高速缓存延迟寄存器240的头(例如,FIFO头)。

尽管架构200示出为具有单个高速缓存延迟寄存器240,但是根据本文所公开的实例的架构可包含任何数量的一或多个高速缓存延迟寄存器240。在一些实例中,不同高速缓存延迟寄存器240可与不同类型的存取操作相关联。例如,为了支持主阵列210上的写入操作之间的目标或阈值延迟或更一般来说写入操作和连续存取操作(例如,读取或写入)之间的阈值延迟,第一高速缓存延迟寄存器240可与跟踪与主阵列210上的写入操作相关联的高速缓存槽230的地址相关联。另外或替代地,为了支持主阵列210上的读取操作之间的目标或阈值延迟或更一般来说读取操作和连续存取操作(例如,读取或写入)之间的阈值延迟,第二高速缓存延迟寄存器240可与跟踪与主阵列210上的读取操作相关联的高速缓存槽230的地址相关联。在一些实例中,不同高速缓存延迟寄存器240可用于跟踪或维持写后读延迟、读后读延迟、读后写延迟、写后写延迟,以及各种类型的存取操作之间的其它延迟。

在一些实例中,在执行CL加载271后,相关联的高速缓存槽230的地址(例如,CL_IDX)可以存储在高速缓存读取注册表(CRR)中,所述CRR可以是高速缓存延迟寄存器240的实例。在一些实例中,同步过程(例如,CL同步272)可从不处于CRR和(适用时)另一高速缓存延迟寄存器240(例如,与同步延迟相关联的高速缓存延迟寄存器240)中的任何高速缓存槽230选择。为了支持此类技术,高速缓存槽230还可包含第五字段(未示出),用于跟踪CRR中高速缓存行地址或索引(例如,CL_R标志)的存在。

架构200的组件可对应于存储器装置110的各种组件。例如,主阵列210可以指存储器装置110中的一个存储器阵列170或存储器装置110的某多个存储器阵列170(例如,存储器阵列170的子集或全部)。在一些实例中,存储器装置110中的每一个存储器裸片160可包含其自身的高速缓存220,并且在其它实例中,高速缓存220可在多个存储器裸片160当中共享。在一些实例中,存储器装置110中的每一个存储器裸片160可包含其自身的高速缓存延迟寄存器240,并且在其它实例中,一或多个高速缓存延迟寄存器240可以位于存储器裸片160或存储器装置外部,例如是装置存储器控制器155的组件或以其它方式与装置存储器控制器155相关联。在各种实例中,参考控制组件260描述的操作可由存储器装置110的一或多个本地存储器控制器165或存储器装置110的装置存储器控制器155执行,或分布于装置存储器控制器155和一或多个本地存储器控制器165之间。

在一些实例中,架构200所支持的操作可基于高速缓存220的空或可用高速缓存槽230的量和高速缓存延迟寄存器240的容量之间的关系(例如,由控制组件260)执行。例如,操作可考虑高速缓存220的“几乎全满”条件,这可在高速缓存220的空或未分配高速缓存槽230的量小于或等于(N_CDR+1)时成立。各种操作可基于高速缓存220是全满、几乎全满还是未满(例如,为空、非“几乎全满”)来执行。此外,架构200的各种操作可基于与存取命令(例如,由控制组件260接收)相关联的信息在高速缓存220中是否可用来执行,可用和不可用情形可分别称为“高速缓存命中”或“高速缓存未命中”。

在一些实例中,控制组件260可配置成在“非几乎全满”条件下以高速缓存命中操作架构200。在此类实例中,控制组件260可接收存取请求(例如,读取请求,来自主机装置105),这可与高速缓存槽230的地址相关联。例如,控制组件260可包含主阵列210和高速缓存220之间的信息映射,并且至少部分地基于接收到存取请求,控制组件260可识别包含所请求信息的高速缓存槽230。在各种实例中,读取或写入请求可使控制组件260产生高速缓存行读取(例如,从相关联的高速缓存槽230读取以向请求主机装置105提供信息,从相关联的高速缓存槽230读取以向主阵列210写入信息),而不用存取主阵列210(例如,原因在于“高速缓存命中”条件)。在一些实例中,执行此类操作的时延或持续时间可以称为“命中持续时间”或“命中损失(hit penalty)”。

在一些实例中,控制组件260可配置成在“非几乎全满”条件下以高速缓存未命中操作架构200。在此类实例中,控制组件260可接收存取请求(例如,读取请求,来自主机装置105),这可能不与高速缓存槽230的地址相关联。例如,控制组件260可包含主阵列210和高速缓存220之间的信息映射,并且至少部分地基于接收到存取请求,控制组件260可识别出没有高速缓存槽230包含所请求信息。在各种实例中,CL读取或写入请求可使控制组件260执行CL加载271(例如,针对空的或未分配的高速缓存槽230),或以其它方式直接从主阵列210读取。在一些实例中,用于执行此类操作的时延或持续时间可以称为“未命中持续时间”或“未命中损失”,此持续时间可长于命中持续时间或命中损失。

图3示出根据本文所公开的实例的操作支持存储器装置的高速缓存架构的架构300的实例。架构300包含主阵列210-a、高速缓存220-a、高速缓存延迟寄存器240-a、控制组件260-a和总线265-a,其中的每一个可以是参考图2的架构200描述的相应组件的实例。在图3的实例中,控制组件260-a可配置成在“几乎全满”条件下以高速缓存未命中操作架构300,这可包含操作301到305中的一或多个。

在一些实例中,操作301可包含控制组件260-a接收存取请求(例如,来自主机装置105的读取请求、CL读取或写入请求)。接收到的请求可包含或以其它方式指代主阵列210-a中的一或多个存储器单元的地址215-a-1。控制组件260-a可识别出与接收到的请求相关联的信息在高速缓存220-a中不存在,并且可识别出高速缓存220-a正在几乎全满条件下操作(例如,识别出高速缓存220-a中空高速缓存槽230的量小于或等于(N_CDR+1)的条件)。

在一些实例中,操作302可包含控制组件260-a选择“非空”高速缓存槽230作为用于收回的受害者CL(例如,VCL)。例如,控制组件260-a可识别具有高速缓存行已分配值CL_A=1高速缓存行保持值CL_H=0的高速缓存槽230-a-1,其中高速缓存槽230-a-1可与主阵列210-a的地址215-a-2相关联(例如,通过控制组件260-a的地址映射资源)。

在一些实例中,操作303可包含控制组件260-a向高速缓存延迟寄存器240-a传递高速缓存槽230-a-1的索引(例如,VCL_IDX1)。例如,如果执行高速缓存槽230-a-1和主阵列210-a的地址215-a-2之间的CL同步272-a,那么将高速缓存槽230-a-1的索引传递到高速缓存延迟寄存器240-a可延迟或抑制地址215-a-2上的后续存取操作(例如,在与CL同步272-a相关联的到地址215-a-2的写入之后)。在一些实例中(例如,如果未执行CL同步272-a),操作303可省略。

在一些实例中(例如,如果高速缓存槽230-a-1无效,例如与高速缓存行无效值CL_D=1相关联),操作304可包含控制组件260-a执行高速缓存槽230-a-1和主阵列210-a(例如,主阵列210-a中的一或多个存储器单元的地址215-a-2)之间的同步(例如,CL同步272-a)。在一些实例中(例如,如果与VCL_IDX1相关联的高速缓存槽230-a-1不是无效的,例如与高速缓存行无效值CL_D=0相关联),操作304可省略。

在一些实例中,操作305可包含控制组件260-a从主阵列210-a加载与301的请求相关联的数据。操作305可与CL加载271-a相关联,这可包含将信息从主阵列210-a的地址215-a-1加载到与CL_IDX的地址或索引相关联的高速缓存槽230-a-2中。控制组件260-a可至少部分地基于高速缓存槽230-a-2为空或未分配(例如,具有高速缓存槽已分配值CL_A=0)而识别高速缓存槽230-a-2。在各种实例中,所请求数据(例如,来自地址215-a-1)可以从高速缓存槽230-a-2提供给请求者(例如,在CL加载271-a之后),或直接从主阵列210-a提供(例如,在CL加载271-a之前、之后、同时或并行)。在一些实例中,架构300可包含高速缓存读取寄存器(未示出),并且高速缓存槽230-a-2的索引可以传递到高速缓存读取寄存器以延迟或抑制地址215-a-1上的后续存取操作(例如,在与CL加载271-a相关联的地址215-a-1的读取之后)。

图4示出根据本文所公开的实例的操作支持存储器装置的高速缓存架构的架构400的实例。架构400包含主阵列210-b、高速缓存220-b、高速缓存延迟寄存器240-b、控制组件260-b和总线265-b,其中的每一个可以是参考图2的架构200描述的相应组件的实例。在图4的实例中,控制组件260-b可配置成在“全满”条件下以高速缓存未命中操作架构400,这可包含操作401到405中的一或多个。

在一些实例中,操作401可包含控制组件260-b接收存取请求(例如,来自主机装置105的读取请求、CL读取或写入请求)。接收到的请求可包含或以其它方式指代主阵列210-b中的一或多个存储器单元的地址215-b-1。控制组件260-b可识别出与接收到的请求相关联的信息在高速缓存220-b中不存在,并且可识别出高速缓存220-b正在全满条件下操作(例如,识别出高速缓存220-b中不存在空高速缓存槽230的条件)。

在一些实例中,操作402可包含控制组件260-b从高速缓存延迟寄存器240-b中清除高速缓存槽索引(例如,因为高速缓存延迟寄存器240-b全满,含有编号为1到8的高速缓存槽230的索引或地址)。例如,VCL_IDX1可以指高速缓存槽230-b-1,其可以是已经与主阵列210-b同步至少达阈值持续时间(例如,至少在保持时间之前)的高速缓存槽230。因此,由VCL_IDX1标识的高速缓存槽230-b-1可以从高速缓存220-b收回或以其它方式可用,并且高速缓存槽230-b-1可以重复使用以容纳401的请求。换句话说,响应于401的存取请求,控制组件260-b可识别或返回VCL_IDX1。

在一些实例中,操作403可包含控制组件260-b从主阵列210-b加载与401的请求相关联的数据。操作403可与CL加载271-b相关联,这可包含将信息从主阵列210-b的地址215-b-1加载到已收回高速缓存槽230-b-1中。在各种实例中,所请求数据(例如,来自地址215-b-1)可以从高速缓存槽230-b-1提供给请求者(例如,在CL加载271-b之后),或直接从主阵列210-b提供(例如,在CL加载271-b之前、之后、并发或并行)。在一些实例中,架构400可包含高速缓存读取寄存器(未示出),并且高速缓存槽230-b-1的索引可以传递到高速缓存读取寄存器,以延迟或抑制地址215-b-1上的后续存取操作(例如,在与CL加载271-b相关联的地址215-b-1的读取之后)。

在一些实例中(例如,为了使高速缓存220-b中的高速缓存槽230可用),操作404可包含控制组件260-b执行高速缓存槽230-b-2和主阵列210-b(例如,主阵列210-b中的一或多个存储器单元的地址215-b-2)之间的同步(例如,CL同步272-b)。

在一些实例中,操作405可包含控制组件260-b向高速缓存延迟寄存器240-b传递高速缓存槽230-b-2的索引(例如,VCL_IDX9)。将高速缓存槽230-b-2的索引传递到高速缓存延迟寄存器240-b可延迟或抑制地址215-b-2上的后续存取操作(例如,在与CL同步272-b相关联的到地址215-b-2的写入之后)。

图5示出根据本文所公开的实例的操作支持存储器装置的高速缓存架构的架构500的实例。架构500包含主阵列210-c、高速缓存220-c、高速缓存延迟寄存器240-c、控制组件260-c和总线265-c,其中的每一个可以是参考图2的架构200描述的相应组件的实例。在图5的实例中,控制组件260-c可配置成在“全满”或“几乎全满”条件下以高速缓存命中操作架构500,这可包含操作501到504中的一或多个。

在一些实例中,操作501可包含控制组件260-c接收存取请求(例如,来自主机装置105的读取请求、CL读取或写入请求)。接收到的请求可包含或以其它方式指代主阵列210-c中的一或多个存储器单元的地址215-c-1。控制组件260-c可识别出与接收到的请求相关联的信息在高速缓存220-c中存在(例如,在高速缓存槽230-c-1处,基于控制组件260-c的地址映射资源),并且可识别出高速缓存220-c正在全满或几乎全满条件下操作(例如,识别出高速缓存220-c中不存在空高速缓存槽230,识别出高速缓存220-c中空高速缓存槽230的量小于或等于(N_CDR+1)的条件)。所请求数据(例如,与地址215-c-1和高速缓存槽230-c-1相关联)可以从高速缓存槽230-c-1提供给请求者。

在一些实例中,操作502可包含控制组件260-c从高速缓存延迟寄存器240-c中清除高速缓存槽索引(例如,因为高速缓存延迟寄存器240-c全满,含有编号为1到8的高速缓存槽230的索引或地址)。在一些实例中,控制组件260-c可清除高速缓存延迟寄存器240-c的最早地址或索引(例如,清除VCL_IDX1)。但是,在一些实例中,至少部分地基于在操作501中识别出的“命中”条件,控制组件260-c可清除与命中相关联的高速缓存槽230-c-1的索引(例如,VCL_IDX6)。

换句话说,如果高速缓存槽230在相关联时间到期之前存取,那么保持时间可以停止。例如,控制组件260-c可识别高速缓存槽230-c-1指示或包含在高速缓存延迟寄存器240-c中(例如,至少部分地基于高速缓存槽230-c-1具有高速缓存行保持值CL_H=1),这可伴有控制组件260-c在高速缓存延迟寄存器240-c上执行对与高速缓存槽230-c-1相关联的索引的搜索(例如,从头到尾)。在一些实例中,(例如,从高速缓存延迟寄存器240-c的中间位置)清除高速缓存槽230-c-1的索引可伴有在高速缓存延迟寄存器240-c中将其它索引(例如,VCL_IDX1到VCL_IDX5)向上移位一个位置。

在一些实例中(例如,为了使高速缓存220-c中的高速缓存槽230可用),操作503可包含控制组件260-c执行高速缓存槽230-c-2和主阵列210-c(例如,主阵列210-c中的一或多个存储器单元的地址215-c-2)之间的同步(例如,CL同步272-c)。

在一些实例中,操作504可包含控制组件260-c向高速缓存延迟寄存器240-c传递高速缓存槽230-c-2的索引(例如,VCL_IDX10)。将高速缓存槽230-c-2的索引传递到高速缓存延迟寄存器240-c可延迟或抑制地址215-c-2上的后续存取操作(例如,在与CL同步272-c相关联的到地址215-c-2的写入之后)。

图6示出根据本文所公开的实例的支持存储器装置的高速缓存架构的过程流600的实例。过程流可由存储器装置110执行,例如包含参考图2到5描述的控制组件260的过程流。

在605处,过程流600可开始。在各种实例中,操作605可以发起或以其它方式至少部分地基于存取命令(例如,在控制组件260处接收、从主机装置105接收)。在一些实例中,存取命令可包含存储器地址,例如主阵列210的地址、高速缓存220的地址或存取命令所针对的信息的某一其它指示。

在610处,过程流600可包含执行高速缓存延迟注册表检查。例如,在610处,控制组件260可确定与存取命令相关联的高速缓存220的地址是否包含在高速缓存延迟寄存器240中,或以其它方式确定存取命令所针对的信息是否与非直接存取的主阵列210的地址相关联(例如,根据高速缓存行保持标志CL_H)。

在615处,过程流600可包含确定与存取命令相关联的信息在高速缓存220中是否可用。例如,控制组件260可确定包含在存取命令中的高速缓存行地址是否包含在高速缓存中,或以其它方式与存取命令相关联的高速缓存行地址(例如,主阵列210的地址)是否映射到高速缓存220。如果是,则过程流600可进行到655,如果否,则过程流600可进行到620。

在620处,过程流600可包含相对于几乎全满条件评估高速缓存220。例如,控制组件260可确定高速缓存220中空高速缓存槽230的量是否小于或等于(N_CDR+1)。如果是,则过程流可进行到625,如果否,则过程流可进行到640。

在625处,过程流600可包含选择受害者高速缓存行(例如,能够被收回的高速缓存槽230)。例如,控制组件625可选择具有高速缓存行已分配值CL_A=1和高速缓存行保持值CL_H=0的高速缓存槽230。

在630处,在选定受害者高速缓存行后,过程流600可包含将选定高速缓存槽230的高速缓存行保持值设置为CL_H=0(例如,在向选定高速缓存槽230写入新信息之前)。在635处,过程流可包含将选定受害者高速缓存行的索引的地址插入到高速缓存延迟寄存器240中(例如,以便在响应于与开始过程流600相关联的存取命令而存取主阵列210之后延迟后续存取操作)。

在640处,过程流640可包含分配已收回高速缓存行。例如,不管相关联的高速缓存槽230是为空还是被选择作为受害者高速缓存行,控制组件625都可分配高速缓存槽230来保持与存取命令相关联的信息。在645处,过程流600可包含读取存储件(例如,主阵列210)并用读取信息填充已收回高速缓存行。在650处,过程流600可包含返回已收回高速缓存行的地址或索引,并且过程流600可进行到675处的完成。

在655处,在与存取命令相关联的信息存在于高速缓存中的情况下,过程流可包含返回相关联高速缓存行的地址或索引(例如,CL_ID)。

在660处,过程流600可包含评估相关联高速缓存行的地址是否存在于高速缓存延迟寄存器240中(例如,高速缓存行保持标志是设置为CL_H=0还是设置为CL_H=1)。如果是,则过程流600可进行到665,如果否,则过程流600可进行到675处的完成。

在665处,当包含存取命令的信息的相关联高速缓存行还在高速缓存延迟寄存器240中识别出时,可以从高速缓存延迟寄存器240中去除所述指示(例如,CL_ID)。在670处,相关联高速缓存行的高速缓存行保持标志可以设置为CL_H=0,且过程流可进行到675处的完成。

图7示出根据本文所公开的实例的支持存储器装置的高速缓存架构的存储器装置705的框图700。存储器装置705可以是参考图1到6描述的存储器装置的各方面的实例。存储器装置705可包含存储器阵列710、存取命令接收器组件715、高速缓存组件720、高速缓存寄存器组件725、存取操作组件730、高速缓存元件保持指示组件735、存取位置确定组件740、收回确定组件745和数据传输器组件750。这些模块中的每一个可直接或间接地彼此通信(例如,经由一或多个总线)。

存取命令接收器组件715可配置成接收存取命令。在一些实例中,存取命令接收器组件715可接收向存储器装置写入信息的命令。在一些实例中,存取命令接收器组件715可接收从存储器装置读取信息的命令。

高速缓存组件720可配置成基于存取命令接收器组件715接收到命令,向高速缓存的地址写入信息。在一些实例中,高速缓存组件720可配置成基于存取命令接收器组件715接收到命令,将信息从存储器阵列710写入到高速缓存的地址。在一些实例中,高速缓存组件720可配置成基于高速缓存的地址被识别用于收回,向高速缓存写入信息。在一些实例中,高速缓存组件720可配置成支持基于识别出用于收回的高速缓存的地址而将信息从地址写入到存储器阵列710。

在一些实例中,高速缓存寄存器组件725可基于将信息写入到高速缓存,在FIFO寄存器或以其它方式配置的高速缓存地址寄存器中存储高速缓存的地址的指示。在一些实例中,高速缓存寄存器组件725可基于将信息从存储器阵列710写入到高速缓存,在FIFO寄存器或以其它方式配置的高速缓存地址寄存器中存储高速缓存的地址的指示。在一些实例中,高速缓存寄存器组件725可基于将信息写入到存储器阵列710,在FIFO寄存器或以其它方式配置的高速缓存地址寄存器中存储高速缓存的地址的指示。

在一些实例中,高速缓存寄存器组件725可基于将信息从存储器阵列710写入到高速缓存的地址,在第二FIFO寄存器或以其它方式配置的高速缓存地址寄存器中存储高速缓存的地址的指示。

在一些实例中,高速缓存寄存器组件725可基于存取命令接收器组件715接收到命令(例如,写入信息、读取信息),从寄存器中去除地址的指示。在一些实例中,高速缓存寄存器组件725可基于确定从高速缓存存取信息,从寄存器中去除地址的指示。

存取操作组件730可基于在高速缓存寄存器组件725的寄存器中存储的高速缓存地址的指示而执行操作。在一些实例中,存取操作组件730可基于由存取命令接收器组件715接收的命令,将信息写入到存储器阵列710。在一些实例中,存取操作组件730可配置成将信息从存储器阵列710写入到高速缓存组件720。在一些实例中,存取操作组件730可配置成将信息从高速缓存组件720写入到存储器阵列710。

高速缓存元件保持指示组件735可存储(例如,基于将信息写入到高速缓存,基于将信息从存储器阵列710写入到高速缓存的地址)在高速缓存的地址处存储的信息将维持在高速缓存中的指示。在一些实例中,高速缓存元件保持指示组件735可存储(例如,基于从高速缓存寄存器组件725的寄存器中去除地址的指示)高速缓存的地址可用于收回的指示。

存取位置确定组件740可配置成确定是从高速缓存组件720还是从存储器阵列710存取信息(例如,基于高速缓存寄存器组件725的寄存器,基于高速缓存组件720或高速缓存元件保持指示组件735的地址图或标志)。在一些实例中,存取位置确定组件740可基于与命令不包含在高速缓存寄存器组件725的寄存器中相关联的地址而确定从存储器阵列710存取信息。在一些实例中,存取位置确定组件740可基于与命令包含在高速缓存寄存器组件725的寄存器中相关联的地址而确定从高速缓存组件720存取信息。

在一些实例中,收回确定组件745可识别用于收回的高速缓存的地址(例如,基于存取命令接收器组件715接收到命令,基于高速缓存寄存器组件725的寄存器)。在一些实例中,收回确定组件745可基于高速缓存寄存器组件725的寄存器中的条目量而确定执行收回。

在一些实例中,数据传输器组件750可配置成将信息传输到与存储器装置705耦合的主机装置(例如,基于由存取命令接收器组件715接收的命令)。

图8示出根据本公开的各方面的流程图,其示出支持存储器装置的高速缓存架构的一或多种方法800。方法800的操作可由本文中所描述的存储器装置或其组件实施。例如,方法800的操作可由参考图7所描述的存储器装置执行。在一些实例中,存储器装置可执行一组指令以控制存储器装置的功能元件执行所描述的功能。另外或替代地,存储器装置可使用专用硬件执行所描述功能的各方面。

在805处,方法800可包含接收(例如,向存储器装置)写入信息的命令。805的操作可根据本文所描述的方法执行。在一些实例中,805的操作的各方面可由参考图7所描述的存取命令接收器组件执行。

在810处,方法800可包含基于接收到命令,将信息写入到(例如,存储器装置的)高速缓存的地址。810的操作可根据本文所描述的方法执行。在一些实例中,810的操作的各方面可由参考图7所描述的高速缓存组件执行。

在815处,方法800可包含基于将信息写入到高速缓存,在(例如,存储器装置的)FIFO寄存器中存储高速缓存的地址的指示。815的操作可根据本文所描述的方法执行。在一些实例中,815的操作的各方面可由参考图7所描述的高速缓存寄存器组件执行。

在820处,方法800可包含基于在FIFO寄存器中存储高速缓存的地址的指示,执行(例如,存储器装置的)操作。820的操作可根据本文所描述的方法执行。在一些实例中,820的操作的各方面可由参考图7所描述的存取操作组件执行。

在一些实例中,本文中所描述的设备可执行一或多种方法,例如方法800。所述设备可包含用于以下的特征、构件、电路系统或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):接收向所述设备写入信息的命令;基于接收到所述命令,将所述信息写入到所述设备的高速缓存的地址;基于将所述信息写入到所述高速缓存,在所述设备的FIFO寄存器中存储所述高速缓存的所述地址的指示;以及基于在所述FIFO寄存器中存储所述高速缓存的所述地址的所述指示,执行操作(例如,存取操作)。

本文中所描述的方法800和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:基于所述命令,将所述信息写入到(例如,存储器装置的、所述设备的)存储器阵列。

本文中所描述的方法800和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:基于将所述信息写入到所述高速缓存,存储在所述高速缓存的所述地址处存储的所述信息将维持在所述高速缓存中的指示。

本文中所描述的方法800和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:(例如,在所述存储器装置处、在所述设备处)接收(例如,向所述存储器装置、向所述设备)写入第二信息的第二命令,并基于接收到所述第二命令,从所述FIFO寄存器中去除所述地址的所述指示。

本文中所描述的方法800和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:基于从所述FIFO寄存器中去除所述地址的所述指示,存储所述高速缓存的所述地址可用于收回的指示。

本文中所描述的方法800和设备的一些实例可进一步包含用于(例如,在所述存储器装置处、在所述设备处)接收(例如,从所述存储器装置、从所述设备)读取第三信息的第三命令的操作、特征、构件、电路系统或指令,并且执行所述操作可包含确定是从所述高速缓存还是从存储器阵列存取所述第三信息(例如,基于所述FIFO寄存器、基于所述高速缓存的地址图或标志)。

在本文中所描述的方法800和设备的一些实例中,确定是从所述高速缓存还是从所述存储器阵列存取所述第三信息可包含用于基于与所述第三命令不包含在所述FIFO寄存器中相关联的地址而确定从所述存储器阵列存取所述第三信息的操作、特征、构件、电路系统或指令。

本文中所描述的方法800和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:将所述第三信息从所述存储器阵列写入到所述高速缓存的第二地址,并基于将所述信息从所述存储器阵列写入到所述高速缓存的所述第二地址,在所述存储器装置的第二FIFO寄存器中存储所述高速缓存的所述第二地址的指示。

本文中所描述的方法800和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:基于与所述第三命令包含在所述FIFO寄存器中相关联的地址,确定从所述高速缓存存取所述第三信息。

本文中所描述的方法800和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:基于确定从所述高速缓存存取所述第三信息,从所述FIFO寄存器中去除所述地址的所述指示。

本文中所描述的方法800和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:(例如,在所述存储器装置处、在所述设备处)接收(例如,向所述存储器装置、向所述设备)写入第四信息的第四命令,基于所述第四命令和所述FIFO寄存器而识别用于所述高速缓存的收回的所述高速缓存的第三地址,并基于识别出所述第三地址而将所述第四信息写入到所述高速缓存。

本文中所描述的方法800和设备的一些实例可进一步包含用于基于所述FIFO寄存器中的条目量和指示可用于收回的高速缓存行的量而确定执行所述收回的操作、特征、构件、电路系统或指令,并且识别用于所述收回的所述高速缓存的所述第三地址可基于确定执行所述收回。

本文中所描述的方法800和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:基于识别出用于所述收回的所述高速缓存的所述第三地址,将第五信息从所述高速缓存的所述第三地址写入到存储器阵列。

本文中所描述的方法800和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:基于将所述第五信息写入到所述存储器阵列,在所述FIFO寄存器中存储所述高速缓存的所述第三地址的指示。

本文中所描述的方法800和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:(例如,在所述存储器装置处、在所述设备处)接收(例如,向所述存储器装置、向所述设备)写入第六信息的第五命令,基于所述第五命令和所述FIFO寄存器而识别用于所述高速缓存的收回的所述高速缓存的第四地址,并基于识别出所述第四地址而将所述第六信息写入到所述高速缓存。

图9示出根据本公开的各方面的流程图,其示出支持存储器装置的高速缓存架构的一或多种方法900。方法900的操作可由本文中所描述的存储器装置或其组件实施。例如,方法900的操作可由参考图7所描述的存储器装置执行。在一些实例中,存储器装置可执行一组指令以控制存储器装置的功能元件执行所描述的功能。另外或替代地,存储器装置可使用专用硬件执行所描述功能的各方面。

在905处,方法900可包含接收(例如,从存储器装置)读取信息的命令。905的操作可根据本文所描述的方法执行。在一些实例中,905的操作的各方面可由参考图7所描述的存取命令接收器组件执行。

在910处,方法900可包含基于接收到命令,将信息从(例如,存储器装置的)存储器阵列写入到(例如,存储器装置的)高速缓存的地址。910的操作可根据本文所描述的方法执行。在一些实例中,910的操作的各方面可由参考图7所描述的高速缓存组件执行。

在915处,方法900可包含基于将信息从存储器阵列写入到高速缓存,在(例如,存储器装置的)FIFO寄存器中存储高速缓存的地址的指示。915的操作可根据本文所描述的方法执行。在一些实例中,915的操作的各方面可由参考图7所描述的高速缓存寄存器组件执行。

在920处,方法900可包含基于FIFO寄存器而执行(例如,存储器装置的)操作。920的操作可根据本文所描述的方法执行。在一些实例中,920的操作的各方面可由参考图7所描述的存取操作组件执行。

在一些实例中,本文中所描述的设备可执行一或多种方法,例如方法900。所述设备可包含用于以下的特征、构件、电路系统或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):接收从所述设备读取信息的命令;基于接收到所述命令,将所述信息从所述设备的存储器阵列写入到所述设备的高速缓存的地址;基于将所述信息从所述存储器阵列写入到所述高速缓存,在所述设备的FIFO寄存器中存储所述高速缓存的所述地址的指示;以及基于所述FIFO寄存器,执行操作。

本文中所描述的方法900和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:基于所述命令,将所述信息传输到主机装置(例如,与所述存储器装置耦合、与所述设备耦合)。

本文中所描述的方法900和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:基于将所述信息从所述存储器阵列写入到所述高速缓存的所述地址,存储在所述高速缓存的所述地址处存储的所述信息将维持在所述高速缓存中的指示。

本文中所描述的方法900和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:接收(例如,从所述存储器装置、从所述设备)读取第二信息的第二命令,并基于接收到所述第二命令,从所述FIFO寄存器中去除所述地址的所述指示。

本文中所描述的方法900和设备的一些实例可进一步包含用于以下的操作、特征、构件、电路系统或指令:基于从所述FIFO寄存器中去除所述地址的所述指示,存储所述高速缓存的所述地址可用于收回的指示。

应注意,上文所描述的方法描述了可能的实施方案,且操作和步骤可重新布置或者被修改,并且其它实施方案是可能的。此外,可组合来自两个或更多个方法的部分。

描述一种设备。所述设备可包含:存储器阵列,其包含第一组存储器单元;高速缓存,其包含第二组存储器单元;FIFO寄存器;和控制组件,其与所述存储器阵列、所述高速缓存和所述FIFO寄存器耦合。所述控制组件可配置成使所述设备:接收向所述设备写入信息的命令;基于接收到所述命令,将所述信息写入到所述高速缓存的地址;基于将所述信息写入到所述高速缓存,在所述FIFO寄存器中存储所述高速缓存的所述地址的指示;以及基于在所述FIFO寄存器中存储所述高速缓存的所述地址的所述指示,执行操作。

在一些实例中,所述控制组件可进一步配置成使所述设备基于所述命令,将所述信息写入到所述存储器阵列。

在一些实例中,所述控制组件可进一步配置成使所述设备基于将所述信息写入到所述高速缓存,存储在所述高速缓存的所述地址处存储的所述信息将维持在所述高速缓存中的指示。

在一些实例中,所述控制组件可进一步配置成使所述设备接收向所述设备写入第二信息的第二命令,并基于接收到所述第二命令,从所述FIFO寄存器中去除所述地址的所述指示。

在一些实例中,所述控制组件可进一步配置成使所述设备基于从所述FIFO寄存器中去除所述地址的所述指示,存储所述高速缓存的所述地址可用于收回的指示。

在一些实例中,所述控制组件可进一步配置成使所述设备接收从所述设备读取第三信息的第三命令,并且为了执行所述操作,所述控制组件可配置成使所述设备确定是从所述高速缓存还是从所述存储器阵列存取所述第三信息(例如,基于FIFO寄存器、基于高速缓存的地址图或标志)。

在一些实例中,为了确定是从所述高速缓存还是从所述存储器阵列存取所述第三信息,所述控制组件可配置成使所述设备基于与所述第三命令不包含在所述FIFO寄存器中相关联的地址而确定从所述存储器阵列存取所述第三信息。

在一些实例中,所述控制组件可进一步配置成使所述设备将所述第三信息从所述存储器阵列写入到所述高速缓存的第二地址,并且基于将所述第三信息从所述存储器阵列写入到所述高速缓存的所述第二地址,在所述设备的第二FIFO寄存器中存储所述高速缓存的所述第二地址的指示。

在一些实例中,为了确定是从所述高速缓存还是从所述存储器阵列存取所述第三信息,所述控制组件可配置成使所述设备基于与所述第三命令包含在所述FIFO寄存器中相关联的地址而确定从所述高速缓存存取所述第三信息。

在一些实例中,所述控制组件可进一步配置成使所述设备基于确定从所述高速缓存存取所述第三信息,从所述FIFO寄存器中去除所述地址的所述指示。

在一些实例中,所述控制组件可进一步配置成使所述设备接收向所述设备写入第四信息的第四命令,基于所述第四命令和所述FIFO寄存器识别用于所述高速缓存的收回的所述高速缓存的第三地址,并基于识别出所述第三地址,将所述第四信息写入到所述高速缓存。

在一些实例中,所述控制组件可进一步配置成使所述设备基于所述FIFO寄存器中的条目量和指示可用于收回的高速缓存行的量而确定执行所述收回,并基于确定执行所述收回而识别用于所述收回的所述高速缓存的所述第三地址。

在一些实例中,所述控制组件可进一步配置成使所述设备基于识别出用于所述收回的所述高速缓存的所述第三地址,将第五信息从所述高速缓存的所述第三地址写入到所述存储器阵列。

在一些实例中,所述控制组件可进一步配置成使所述设备基于将所述第五信息写入到所述存储器阵列,在所述FIFO寄存器中存储所述高速缓存的所述第三地址的指示。

在一些实例中,所述控制组件可进一步配置成使所述设备操作具有一定量的条目的所述FIFO寄存器,所述条目的量基于所述存储器阵列的地址的连续存取之间的目标持续时间和所述设备的存取命令间隔。

在一些实例中,所述第一组存储器单元包含非易失性存储元件,且所述第二组存储器单元包含易失性存储元件。

描述另一设备。所述设备可包含:存储器阵列,其包含第一组存储器单元;高速缓存,其包含第二组存储器单元;FIFO寄存器;和控制组件,其与所述存储器阵列、所述高速缓存和所述FIFO寄存器耦合。所述控制组件可配置成使所述设备:接收在所述设备中读取信息的命令;基于接收到所述命令,将所述信息从所述存储器阵列写入到所述高速缓存的地址;基于将所述信息从所述存储器阵列写入到所述高速缓存的所述地址,在所述FIFO寄存器中存储所述高速缓存的所述地址的指示;以及基于在所述FIFO寄存器中存储所述高速缓存的所述地址的所述指示,执行操作。

在一些实例中,所述控制组件可进一步配置成使所述设备基于所述命令,将所述信息传输到与所述设备耦合的主机装置。

在一些实例中,所述控制组件可进一步配置成使所述设备基于将所述信息从所述存储器阵列写入到所述高速缓存的所述地址,存储在所述高速缓存的所述地址处存储的所述信息将维持在所述高速缓存中的指示。

在一些实例中,所述控制组件可进一步配置成使所述设备接收从所述设备读取第二信息的第二命令,并基于接收到所述第二命令,从所述FIFO寄存器中去除所述地址的所述指示。

在一些实例中,所述控制组件可进一步配置成使所述设备基于从所述FIFO寄存器中去除所述地址的所述指示,存储所述高速缓存的所述地址可用于收回的指示。

在一些实例中,所述第一组存储器单元包含非易失性存储元件,且所述第二组存储器单元包含易失性存储元件。

描述另一设备。所述设备可包含:存储器阵列,其包含第一组存储器单元;高速缓存,其包含第二组存储器单元;FIFO寄存器;和控制组件,其与所述存储器阵列、所述高速缓存和所述FIFO寄存器耦合。所述控制组件可用于基于存取所述存储器阵列而存储所述高速缓存的地址的指示。

描述一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可存储包含指令的代码,所述指令在由电子装置的处理器执行时使所述电子装置:接收向所述电子装置写入信息的命令;至少部分地基于接收到所述命令,将所述信息写入到所述电子装置的高速缓存的地址;至少部分地基于将所述信息写入到所述高速缓存,在所述电子装置的FIFO寄存器中存储所述高速缓存的所述地址的指示;以及至少部分地基于在所述FIFO寄存器中存储所述高速缓存的所述地址的所述指示,执行所述电子装置的操作。

在所述非暂时性计算机可读媒体的一些实例中,所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置至少部分地基于所述命令,将所述信息写入到所述电子装置的存储器阵列。

在所述非暂时性计算机可读媒体的一些实例中,所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置至少部分地基于将所述信息写入到所述高速缓存,存储在所述高速缓存的所述地址处存储的所述信息将维持在所述高速缓存中的指示。

在所述非暂时性计算机可读媒体的一些实例中,所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置接收向所述电子装置写入第二信息的第二命令,并至少部分地基于接收到所述第二命令,从所述FIFO寄存器中去除所述地址的所述指示。

在所述非暂时性计算机可读媒体的一些实例中,所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置至少部分地基于从所述FIFO寄存器中去除所述地址的所述指示,存储所述高速缓存的所述地址可用于收回的指示。

在所述非暂时性计算机可读媒体的一些实例中,所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置接收从所述电子装置读取第三信息的第三命令。在一些实例中,为了执行所述电子装置的操作,所述指令在由所述电子装置的所述处理器执行时使所述电子装置至少部分地基于所述FIFO寄存器而确定是否从所述高速缓存存取所述第三信息。

在所述非暂时性计算机可读媒体的一些实例中,所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置接收向所述电子装置写入第四信息的第四命令,至少部分地基于所述第四命令和所述FIFO寄存器而识别用于所述高速缓存的收回的所述高速缓存的第三地址,并至少部分地基于识别出所述第三地址,将所述第四信息写入到所述高速缓存。

描述一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可存储包含指令的代码,所述指令在由电子装置的处理器执行时使所述电子装置:接收从所述电子装置读取信息的命令;至少部分地基于接收到所述命令,将所述信息从所述电子装置的存储器阵列写入到所述电子装置的高速缓存的地址;至少部分地基于将所述信息从所述存储器阵列写入到所述高速缓存的所述地址,在所述FIFO寄存器中存储所述高速缓存的所述地址的指示;以及至少部分地基于在所述FIFO寄存器中存储所述高速缓存的所述地址的所述指示,执行所述电子装置的操作。

在所述非暂时性计算机可读媒体的一些实例中,所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置至少部分地基于所述命令,将所述信息传输到与所述电子装置耦合的主机装置。

在所述非暂时性计算机可读媒体的一些实例中,所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置至少部分地基于将所述信息从所述存储器阵列写入到所述高速缓存的所述地址,存储在所述高速缓存的所述地址处存储的所述信息将维持在所述高速缓存中的指示。

在所述非暂时性计算机可读媒体的一些实例中,所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置接收从所述电子装置读取第二信息的第二命令,并至少部分地基于接收到所述第二命令,从所述FIFO寄存器中去除所述地址的所述指示。

在所述非暂时性计算机可读媒体的一些实例中,所述指令在由所述电子装置的所述处理器执行时进一步使所述电子装置至少部分地基于从所述FIFO寄存器中去除所述地址的所述指示,存储所述高速缓存的所述地址可用于收回的指示。

可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。例如,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信号示出为单个信号;然而,所属领域的一般技术人员将理解,所述信号可表示信号总线,其中总线可具有多种位宽度。

术语“电子连通”、“导电接触”、“连接”和“耦合”可以指组件之间支持信号在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么组件被视为彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含例如开关、晶体管或其它组件等中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件中断所连接组件之间的信号流动一段时间。

术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法通过导电路径在组件之间传送,在闭路关系中,信号能够通过导电路径在组件之间传送。当例如控制器的一组件将其它组件耦合在一起时,那么所述组件引发允许信号通过导电路径在所述其它组件之间流动的改变,所述导电路径先前不允许信号流动。

术语“隔离”是指信号当前无法在组件之间流动的组件之间的关系。如果组件之间存在断路,那么它们彼此隔离。例如,由定位在两个组件之间的开关间隔开的组件在开关断开时彼此隔离。当控制器将两个组件隔离时,控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。

本文中所论述的包含存储器阵列的装置可形成于半导体衬底上,例如硅、锗、硅锗合金、砷化镓、氮化镓等。在一些实例中,衬底是半导体晶片。在其它实例中,衬底可为绝缘体上硅(SOI)衬底,例如玻璃上硅(SOG)或蓝宝石上硅(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)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘使用激光以光学方式再现数据。以上各项的组合也包含在计算机可读媒体的范围内。

提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。所属领域技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本发明不限于本文中所描述的实例和设计,而是被赋予与本文中所公开的原理和新颖特征一致的最宽范围。

39页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数据缓冲区管理方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类