高速缓存缓冲器

阅读:771发布:2020-05-08

专利汇可以提供高速缓存缓冲器专利检索,专利查询,专利分析的服务。并且本公开包含与高速缓存 缓冲器 有关的设备和方法。实例设备能够将与 请求 相关联的数据存储在多个缓冲器中的一个缓冲器中,且使用所述多个缓冲器中的所述缓冲器来服务对于与所述请求相关联的数据的后续请求。所述高速缓存 控制器 能够在服务所述请求的同时服务所述后续请求。,下面是高速缓存缓冲器专利的具体信息内容。

1.一种设备,其包括:
高速缓存控制器;和
耦合到所述高速缓存控制器的高速缓冲存储器和存储器装置,其中所述高速缓存控制器包含多个缓冲器,且其中所述高速缓存控制器被配置成用于:
将与请求相关联的数据存储在所述多个缓冲器中的一个缓冲器中,且使用所述多个缓冲器中的所述缓冲器来服务对于与所述请求相关联的数据的后续请求。
2.根据权利要求1所述的设备,其中所述高速缓存控制器被配置成在服务所述请求的同时服务所述后续请求。
3.根据权利要求1所述的设备,其中所述高速缓存控制器被配置成响应于服务所述请求而从所述高速缓冲存储器中逐出数据。
4.根据权利要求3所述的设备,其中所述高速缓存控制器被配置成用于将数据写入到从其中逐出与所述请求相关联的所述数据的所述高速缓冲存储器中。
5.根据权利要求1所述的设备,其中所述高速缓存控制器被配置成响应于所述后续请求而从所述缓冲器读取数据。
6.根据权利要求1至5所述的设备,其中所述高速缓存控制器被配置成在服务所述请求之前一直将数据保持在所述缓冲器中。
7.根据权利要求6所述的设备,其中所述高速缓存控制器被配置成通过搜索所述缓冲器来定位数据。
8.根据权利要求1所述的设备,其中高速缓存行未被定,且所述高速缓存控制器被配置成在服务所述后续请求之前不等待锁定释放。
9.根据权利要求1至5和权利要求8中任一权利要求所述的设备,其中所述高速缓存控制器被配置成在服务所述后续请求的同时掩蔽所述多个缓冲器中的所述一个缓冲器。
10.一种设备,其包括:
高速缓存控制器;和
耦合到所述高速缓存控制器的高速缓冲存储器和存储器装置,其中所述高速缓存控制器包含多个缓冲器,且其中所述高速缓存控制器被配置成用于:
通过将来自所述存储器装置的数据存储在所述多个缓冲器中的一个缓冲器中来服务请求,且使用所述多个缓冲器中的所述缓冲器来服务对于与所述请求相关联的数据的第一后续请求。
11.根据权利要求10所述的设备,其中所述高速缓存控制器被配置成响应于数据从所述存储器装置存储到所述多个缓冲器中的所述一个缓冲器中而服务所述请求和第一后续请求。
12.根据权利要求10所述的设备,其中所述高速缓存控制器被配置成在数据存储在所述多个缓冲器中的所述一个缓冲器中之前接收所述第一后续请求。
13.根据权利要求10所述的设备,其中所述高速缓存控制器被配置成将所述第一后续请求添加到用于所述多个缓冲器中的所述一个缓冲器的呈链表结构的依赖性列表中。
14.根据权利要求10至13所述的设备,其中所述高速缓存控制器被配置成将来自所述多个缓冲器的所述数据存储在所述高速缓冲存储器中,以完成对所述请求的服务。
15.根据权利要求10所述的设备,其中所述高速缓存控制器被配置成在服务所述第一后续请求的同时使用所述多个缓冲器中的所述一个缓冲器来服务第二后续请求。
16.根据权利要求15所述的设备,其中所述高速缓存控制器被配置成响应于服务所述第二后续请求而使用链表结构在所述多个缓冲器中的另一缓冲器中定位数据。
17.一种方法,其包括:
在高速缓存控制器处接收对于数据的请求;和
通过将存储在所述高速缓存控制器上的缓冲器中的数据发送到主机来服务所述请求,其中存储在所述缓冲器中的所述数据与先前接收到的请求相关联。
18.根据权利要求17所述的方法,其进一步包含在服务所述请求的同时服务所述先前接收到的请求。
19.根据权利要求17所述的方法,其进一步包含通过将来自高速缓冲存储器的数据存储在所述缓冲器中且将所述缓冲器中的所述数据存储到后备存储装置来服务所述先前接收到的请求。
20.根据权利要求17至19所述的方法,其中服务所述请求包含执行对于具有对应于所述请求的地址的数据的读取请求。

说明书全文

高速缓存缓冲器

技术领域

[0001] 本公开大体上涉及存储器装置,且更具体地说,涉及用于高速缓存缓冲器的设备和方法。

背景技术

[0002] 通常将存储器装置提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可需要电来维持其数据,且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)等等。非易失性存储器可通过在未被供电时保持所存储的数据而提供持久的数据,且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)和电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)和磁阻随机存取存储器(MRAM)等等。
[0003] 还利用存储器作为易失性和非易失性数据存储装置以用于广泛范围的电子应用。非易失性存储器可用于例如个人计算机、便携式记忆棒、数码相机、蜂窝电话、便携式音乐播放器(例如MP3播放器)、影片播放器和其它电子装置。存储器单元可布置成阵列,其中阵列用于存储器装置。
[0004] 存储器可以是计算装置中使用的存储器模(例如,双列直插式存储器模块(DIMM))的部分。存储器模块可包含例如DRAM的易失性存储器和/或例如快闪存储器或RRAM的非易失性存储器。DIMM可使用计算系统中的主存储器。附图说明
[0005] 图1是根据本公开的一或多个实施例的计算系统的框图,所述计算系统包含采用主机形式的设备及采用存储器系统形式的设备。
[0006] 图2是根据本公开的多个实施例的采用存储器系统形式的设备的框图。
[0007] 图3是根据本公开的多个实施例的从高速缓冲存储器接收数据的缓冲器所服务的请求流程图
[0008] 图4是根据本公开的多个实施例的多个缓冲器所服务的多个请求的流程图。
[0009] 图5是根据本公开的多个实施例的从存储器装置接收数据的缓冲器所服务的请求的流程图。

具体实施方式

[0010] 本公开包含与高速缓存缓冲器有关的设备和方法。实例设备可将与第一请求相关联的数据存储在多个缓冲器中的一个特定缓冲器中,且使用所述多个缓冲器中的所述特定缓冲器来服务对于与所述请求相关联的数据的后续第二请求。
[0011] 在多个实施例中,多个缓冲器可被分配成用于服务与分配给一特定缓冲器的数据相关联的请求和/或后续请求。所述多个缓冲器可以是通过高速缓存控制器可搜索的,使得可在一缓冲器中定位与后续请求相关联的数据且可使用所述缓冲器来服务所述后续请求。使用可搜索的缓冲器来服务请求允许在服务将数据从高速缓存行移动到缓冲器的请求时,所述高速缓存行不被定,其中所述高速缓存行处的缓冲器中的数据经定位。
[0012] 而且,被分配成服务请求的缓冲器可被掩蔽,使得被掩蔽的缓冲器在服务后续请求时不可存取。缓冲器可响应于接收到与待写入高速缓存行中的数据相关联的请求而被掩蔽,数据从所述高速缓存行逐出且存储在被掩蔽的缓冲器中。
[0013] 在多个实施例中,使用可搜索的缓冲器可允许用以服务请求的缓冲器的数目随着高速缓冲存储器的大小按比例缩放。因此,使用可搜索的缓冲器的高速缓冲存储器的性能与高速缓冲存储器的大小无关。
[0014] 在多个实施例中,高速缓存控制器可将与第一请求相关联的数据存储在多个缓冲器中的一个特定缓冲器中,且使用所述多个缓冲器中的所述特定缓冲器来服务对于与所述第一请求相关联的数据的后续(例如,第二)请求。在服务所述第一请求的同时服务所述后续请求。所述请求和/或后续请求可从高速缓冲存储器逐出数据,从缓冲器和/或高速缓冲存储器读取数据,和/或将数据写入到缓冲器和/或高速缓冲存储器中。缓冲器可经由软件固件和/或硬件所执行的搜索算法进行搜索,以识别与存储在缓冲器中的数据相关联的数目块。
[0015] 在多个实施例中,高速缓存控制器可将与初始请求相关联的数据存储在第一缓冲器中,且使用另一(例如,第二)缓冲器来服务对于数据的第一后续请求,并且使用第二缓冲器来服务第二后续请求。具有与初始缓冲器相关联的数据的第一缓冲器可在服务第一后续请求和第二后续请求时被掩蔽。第一后续请求可将数据写入到高速缓冲存储器中,所述高速缓冲存储器中与初始请求相关联的数据被逐出。可在服务初始请求和第一后续请求的同时服务第二后续请求。可使用链表结构在另一(例如,第二)缓冲器中定位与第二后续请求相关联的数据,所述另一缓冲器还包含与第一后续请求相关联的数据。
[0016] 在本公开的以下详细描述中,参考形成本公开的部分的附图,且图中通过说明的方式示出了可实践本公开的一或多个实施例的方式。足够详细地描述这些实施例以使得所属领域的一般技术人员能够实践本公开的实施例,且应理解,可利用其它实施例且可在不脱离本公开的范围的情况下进行工艺、电气及/或结构变化。如本文所使用,指定符“X”和“Y”,尤其是关于图中的附图标号,指示可包含多个如此指定的特定特征。如本文所使用,“多个”特定事物可指一或多个此类事物(例如,多个存储器装置可指一或多个存储器装置)。
[0017] 本文中的图遵循编号定则,其中第一一或多个数字对应于图号,且剩余的数字标识图式中的元件或组件。可通过使用类似数字来标识不同图式之间的类似元件或组件。举例来说,120可指代图1中的元件“20”,且类似元件在图2中可表示为220。如应了解,可添加、交换和/或去除本文中的各种实施例中展示的元件,从而提供本公开的多个额外实施例。
[0018] 图1是根据本公开的一或多个实施例的计算系统100的功能框图,所述计算系统包含采用主机102形式的设备和采用存储器系统104形式的设备。如本文所使用,“设备”可以指(但不限于)多种结构或结构的组合中的任何一种,例如电路或电路系统、一或多个裸片、一或多个模块、一或多个装置或一或多个系统。在图1A所说明的实施例中,存储器系统104可包含控制器108、高速缓存控制器120、高速缓冲存储器110和多个存储器装置111-1、……、111-X。高速缓冲存储器120和/或存储器装置111-1、……、111-X可包含易失性存储器和/或非易失性存储器。高速缓冲存储器110和/或高速缓存控制器120可位于主机上、控制器上和/或存储器装置上,以及其它位置上。
[0019] 如图1中所说明,主机102可耦合到存储器系统104。在多个实施例中,存储器系统104可经由信道耦合到主机102。主机102可为膝上型计算机、个人计算机、数码相机、数字记录及回放装置、移动电话、PDA、存储卡读卡器接口集线器以及其它主机系统,并且可包含存储器存取装置,例如处理器。所属领域的一般技术人员将理解,“处理器”可以是一或多个处理器,例如并行处理系统、多个协处理器等。
[0020] 主机102可包含主机控制器以与存储器系统104通信。主机102可经由信道将包含命令的请求发送到存储器系统104。主机102可与存储器系统104和/或存储器系统104上的控制器108通信,以读取、写入和擦除数据以及其它操作。物理主机接口可提供用于在存储器系统104与具有物理主机接口的兼容接收器的主机102之间传递控制、地址、数据和其它信号的接口。信号可例如经由信道在例如数据总线和/或地址总线的多个总线上在主机102与存储器系统104之间传送。
[0021] 控制器108、主机控制器、针对高速缓冲存储器110的控制器和/或针对存储器装置的控制器可包含控制电路,例如硬件、固件和/或软件。在一或多个实施例中,控制器108、主机控制器、针对高速缓冲存储器110的控制器和/或针对存储器装置的控制器可为耦合到包含物理接口的印刷电路板专用集成电路(ASIC)。存储器系统可包含高速缓存控制器120和高速缓冲存储器110。高速缓存控制器120和高速缓冲存储器110可用于缓冲和/或缓存在执行读取命令和/或写入命令期间使用的数据。
[0022] 高速缓存控制器120可包含多个缓冲器122-1、……、122-Y。缓冲器122-1、……、122-Y可包含易失性存储器(例如SRAM)的多个阵列。缓冲器122-1、……、122-Y可被配置成用于存储信号、地址信号(例如,读取和/或写入命令)和/或数据(例如,元数据和/或写入数据)。当执行命令时,缓冲器122-1、……、122-Y可临时存储信号和/或数据。高速缓冲存储器
110可包含用作高速缓冲存储器的存储器单元(例如DRAM存储器单元)的阵列,且可被配置成用于存储还存储于存储器装置中的数据。存储于高速缓冲存储器和存储器装置中的数据由控制器寻址,且可在执行命令期间位于高速缓冲存储器和/或存储器装置中。
[0023] 存储器装置111-1、……、111-X可提供存储器系统的主存储器或可用作整个存储器系统104中的另外的存储器或存储装置。每个存储器装置111-1、……、111-X可包含存储器单元,例如非易失性和/或易失性存储器单元的一或多个阵列。举例来说,阵列可以是具有NAND架构的快闪阵列。实施例不限于特定类型的存储器装置。例如,存储器装置可以包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM和快闪存储器以及其它存储器。
[0024] 图1的实施例可包含为避免模糊本公开的实施例而未说明的另外的电路。举例来说,存储器系统104可包含地址电路,以锁存通过I/O电路在I/O连接上提供的地址信号。可通过行解码器和列解码器接收和解码地址信号以存取存储器装置111-1、……、111-X。本领域的技术人员应了解,地址输入连接的数目可取决于存储器装置111-1、……、111-X的密度和架构。
[0025] 图2是根据本公开的多个实施例的采用存储器系统形式的设备的框图。在图2中,存储器系统可被配置成用于缓存数据且服务来自主机和/或存储器系统控制器的请求。存储器系统可包含具有多个缓冲器222-1、……、222-Y的高速缓存控制器220。举例来说,缓冲器222-1、……、222-Y可包含SRAM存储器。缓冲器222-1、……、222-Y可包含关于高速缓冲存储器210中的数据的信息,包含用于高速缓冲存储器中的数据的元数据和/或地址信息。存储器系统可包含耦合到高速缓存控制器220的存储器装置211。存储器装置211可包含非易失性存储器阵列和/或易失性存储器阵列,且可充当存储器系统的后备存储装置。
[0026] 存储器装置211可包含可用于执行存储器装置211上的命令的控制器和/或控制电路(例如,硬件、固件和/或软件)。控制电路可从存储器系统控制器和或高速缓存控制器220接收命令。控制电路可被配置成用于执行命令,以在存储器装置211中读取和/或写入数据。
[0027] 图3是根据本公开的多个实施例的从高速缓冲存储器接收数据的缓冲器所服务的请求的流程图。在图3中,高速缓存控制器,例如图1中的高速缓存控制器120,可接收请求340-1。请求340-1可使得数据330从高速缓冲存储器310中的高速缓存行逐出。在将数据330从高速缓冲存储器310中的高速缓存行逐出到存储器装置中时,缓冲器322可被分配成用于存储数据330。缓冲器322可存储数据330,并且在执行后续请求时可由高速缓存控制器进行搜索。而且,高速缓冲存储器310中存储数据330的高速缓存行在从高速缓冲存储器310逐出数据330时未被锁定。
[0028] 高速缓存控制器可接收请求340-1之后的请求340-2,且同时服务请求340-1。经由使用可由高速缓存控制器搜索的缓冲器322,可在服务请求340-1的同时服务请求340-2。举例来说,在服务请求340-1时,对于从高速缓冲存储器310逐出的数据330的请求可经由缓冲器322服务。
[0029] 在多个实施例中,请求340-2可为请求数据330的读取命令。高速缓存控制器可在服务请求340-1且从高速缓冲存储器310逐出数据330的同时接收请求340-2。在服务请求340-1时,缓冲器322可被分配给数据330,缓冲器322可由高速缓存控制器进行搜索,且数据
330可移动到缓冲器322。可通过高速缓存控制器对缓冲器进行搜索以确定具有数据330的缓冲器是否存在(350)来服务求340-2。响应于确定与请求340-2相关联的数据330在缓冲器
322中,可通过从缓冲器322传回数据330来服务请求340-2。
[0030] 图4是根据本公开的多个实施例的多个缓冲器所服务的多个请求的流程图。在图4中,高速缓存控制器,例如图1中的高速缓存控制器120,可接收请求440-1。请求440-1可使得数据430从高速缓冲存储器410中的高速缓存行逐出。在将数据430从高速缓冲存储器410中的高速缓存行逐出到存储器装置中时,缓冲器422-1可被分配成用于存储数据430。缓冲器422-1可存储数据430,并且在执行后续请求时可由高速缓存控制器进行搜索。而且,存储数据430的高速缓冲存储器410中的高速缓存行在从高速缓冲存储器410逐出数据430时未被锁定。
[0031] 高速缓存控制器可接收请求440-1之后的请求440-2,且同时服务请求440-1。经由使用可由高速缓存控制器搜索的缓冲器422-1,可在服务请求440-1的同时服务请求440-2。举例来说,请求440-2可为将数据写入到其中数据430被逐出的高速缓冲存储器410中的高速缓存行中的写入命令。高速缓存控制器可确定缓冲器422-1包含从其中将写入与请求
440-2相关联的数据的高速缓冲存储器410中的高速缓存行逐出的数据430(450-1)。响应于确定缓冲器422-1包含从其中将写入与请求440-2相关联的数据的高速缓冲存储器410中的高速缓存行逐出的数据430,缓冲器422-1可被掩蔽,使得缓冲器422-1中的数据430不可由后续请求使用。
[0032] 可通过如下方式继续服务请求440-2:响应于确定缓冲器422-1包含从其中将写入与请求440-2相关联的数据的高速缓冲存储器410中的高速缓存行逐出的数据430(450-1)而分配缓冲器422-2用于与请求440-2相关联的数据。与请求440-2相关联的数据可在请求被服务的同时写入到缓冲器422-2中,其中请求440-2将数据写入到高速缓冲存储器410中的高速缓存行中。
[0033] 高速缓存控制器可接收请求440-2和请求440-1之后的请求440-3,且同时服务请求440-2和/或请求440-1。经由使用可由高速缓存控制器搜索的缓冲器422-2,可在服务请求440-2和/或请求440-1的同时服务请求440-3。在多个实施例中,请求440-3可为请求与请求440-2相关联的数据的读取命令。高速缓存控制器可在通过将数据写入到高速缓冲存储器410中来服务请求440-2的同时接收请求440-3。在服务请求440-2时,缓冲器422-2可被分配给与请求440-2相关联的数据。在服务请求440-2时,缓冲器422-2可通过高速缓存控制器进行搜索,且与请求440-2相关联的数据可写入到缓冲器422-2中。可通过高速缓存控制器对缓冲器进行搜索以确定具有与请求440-3相关联的数据的缓冲器是否存在(450-2)来服务请求440-3。响应于确定与请求440-3相关联的数据在缓冲器422-2中,可通过从缓冲器422-2传回数据来服务请求440-3。
[0034] 图5是根据本公开的多个实施例的从存储器装置接收数据的缓冲器所服务的请求的流程图。在图5中,高速缓存控制器,例如图1中的高速缓存控制器120,可接收请求540-1。请求540-1可以是其中请求540-1为高速缓存未命中的读取命令,使得与请求540-1相关联的数据不位于高速缓冲存储器510中。可通过分配缓冲器522用于与请求540-1相关联的数据且在存储器装置511中定位与请求540-1相关联的数据来服务请求540-1。缓冲器522可在执行后续请求时由高速缓存控制器进行搜索。在从存储器装置511检索与请求540-1相关联的数据时,链表结构560可包含包括多个条目(例如条目562-1)的依赖性列表。链表结构560中的条目562-1可指示缓冲器522中的数据与请求540-1相关联。因此,一旦从存储器装置
511检索出数据且所述数据存储在缓冲器522中,则链表结构560中的条目562-1可使得通过从缓冲器522传回数据来服务请求540-1。
[0035] 高速缓存控制器可接收请求540-1之后的请求540-2,且同时服务请求540-1。经由使用可由高速缓存控制器搜索的缓冲器522和链表结构560,可在服务请求540-1的同时服务请求540-2。可通过确定分配给与请求540-2相关联的数据的缓冲器存在(550)来服务请求540-2。响应于确定缓冲器522被分配给与请求540-2相关联的数据,链表结构560中的条目562-2可指示缓冲器522中的数据与请求540-2相关联。因此,一旦从存储器装置511检索出数据且所述数据存储在缓冲器522中,则链表结构560中的条目562-2可使得通过从缓冲器522传回数据来服务请求540-2。
[0036] 尽管已在本文中说明并描述了具体实施例,但所属领域的一般技术人员应了解,经计算以实现相同结果的布置可取代所展示的具体实施例。本公开意欲涵盖本公开的各种实施例的调适或变化。应理解,以上描述是以说明性方式进行的,而不是限制性的。在查阅以上描述后,以上实施例和本文未具体描述的其它实施例的组合对于所属领域的技术人员来说将显而易见。本公开的各种实施例的范围包含其中使用以上结构和方法的其它应用。因此,本公开的各种实施例的范围应参考所附权利要求书以及此类权利要求被赋予的等效物的完整范围而确定。
[0037] 在前述具体实施方式中,出于简化本公开的目的而将各种特征一起分组在单个实施例中。本公开的这一方法不应被理解为反映本公开的所公开实施例必须比在每项权利要求中明确叙述那样使用更多特征的意图。实际上,如所附权利要求书所反映,本发明主题在于单个所公开实施例的不到全部的特征。因此,以下权利要求特此并入于具体实施方式中,其中每项权利要求就其自身而言作为单独实施例。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈