当前位置: 首页 > 专利查询>英特尔公司专利>正文

自适应高速缓存制造技术

技术编号:2842723 阅读:172 留言:0更新日期:2012-04-11 18:40
提供了用于高速缓存管理的技术。接收针对访问第一数据块的输入请求。基于对第一数据块的访问确定第二数据块可能被访问的概率。确定该概率是否超出先读阈值。响应于确定该概率超出该先读阈值,预取第二数据块。

【技术实现步骤摘要】
【国外来华专利技术】背景
本公开涉及用于自适应高速缓存的技术。2、相关领域描述网络附属存储(NAS)设备具有由几种原因造成的延迟。这些延迟包括网络路由器和子网。这些延迟与传统的延迟相耦合,所述传统延迟与任何存储系统中的不同访问模式分配和定位相关联。常规的存储平台使用先来先服务(FCFS)技术以用于处理网络请求。有时,I/O处理器基于盘头位置使用电梯调度来处理I/O请求。也就是说,对同一盘头位置处的数据块的I/O请求被同时处理。常规的I/O处理器通常忽略接收I/O请求所跨越的几何距离。代替地,常规的I/O处理器仅对于吞吐量(每秒的I/O数)被最优化。因此,在本领域中需要改进高速缓存和I/O请求处理技术。附图简述现在参考附图,其中相同的附图标记始终表示相应的部分。附图说明图1A示出了实现特定实施例的计算环境;图1B示出了可以实现特定实施例的计算环境的进一步的细节;图2A示出了根据特定实施例的存储机架;图2B示出了根据特定实施例的存储子系统的进一步的细节;图2C示出了根据特定实施例的I/O处理器的进一步的细节;图2D示出了根据特定实施例的I/O处理器的地址空间使用的进一步的细节;图3示出了贝叶斯定理的一般形式;图4示出了根据实施例的概率计算;图5A、5B、5C、5D和5E示出了根据特定实施例的高速缓存的操作;图6A和6B示出了根据特定实施例的非易失性写高速缓冲存储器和易失性读高速缓冲存储器;图7示出了根据特定实施例在高速缓存中为数据块腾出空间所执行的操作;以及图8示出了计算机系统的一种实施例。实施例的详细描述在下面的描述中,参考构成下文的一部分并且示出了几种实施例的附图。应当理解,可以采用其他实施例,并且在不脱离本专利技术的精神和范围的情况下可以对结构和操作进行改变。在特定实施例中,提供了硬件、固件和/或软件来支持自适应高速缓存技术以便对网络附属计算设备(例如客户机)所经历的等待时间进行标准化,并且学习对应于更为高效的预取的访问模式。特定实施例提供了一种用于执行自适应高速缓存的I/O处理器(IOP)。图1A示出了实现特定实施例的计算环境。各种计算设备102a、102b、102c、102d和102e经由网络176连接到存储子系统140。例如,所述计算设备可以是位于阿拉斯加州安克雷奇的服务器102a、手持式个人计算机102b、位于伊利诺斯州芝加哥的服务器102c、位于数据中心的服务器102d以及位于德克萨斯州休斯顿的客户机102e。例如,网络176可以是局域网(LAN)、因特网、广域网(WAN)、存储区域网络(SAN)、WiFi(电气和电子工程师协会(IEEE)802.11b,于1999年9月16日公布)、无线LAN(IEEE 802.11b,于1999年9月16日公布)等等。也就是说,存储子系统140连接到发出I/O请求的网络附属客户机和服务器计算设备102a、102b、102c、102d和102e。图1B示出了可以实现特定实施例的计算环境的进一步的细节。主机计算机103包括一个或多个中央处理单元(CPU)104、易失性存储器106、非易失性存储装置108(例如磁盘驱动器、光盘驱动器、磁带驱动器等等)、操作系统110以及一个或多个网络适配器128。操作系统110可以包括操作系统驱动器,例如操作系统功率管理(OSPM)驱动器111。此外,一个或多个存储驱动器120以及一个或多个应用程序124在存储器106中执行,并且能够经由网络176发送和接收来自远程存储子系统140的分组。主机计算机102e可以包括本领域中已知的任何计算设备,例如大型机、服务器、个人计算机、工作站、膝上型电脑、手持式计算机、电话设备、网络器件、虚拟设备,存储控制器等等。计算设备102a、102b、102c、102d和/或102e可以实现主机计算机104的体系结构。可以使用本领域中已知的任何CPU104和操作系统110。作为存储器管理操作的一部分,存储器106中的程序和数据可以被交换到存储装置108中。存储子系统140包括连接到存储通道240的存储服务器200(即一种计算设备),该存储通道240连接到一个或多个存储设备230(例如作为独立盘冗余阵列(RAID)系统的一部分的盘驱动器)。存储设备230也可以被称作I/O子系统230。每个网络适配器128包括在网络适配器112的硬件中实现的各种组件。每个网络适配器112能够经由网络176发送和接收数据分组。每个存储驱动器120在存储器106中执行并且包括特定于网络适配器112的命令,以便与每个网络适配器112进行通信以及在操作系统110和每个网络适配器112之间进行接口。每个网络适配器112或存储驱动器120实现用来处理分组的逻辑,例如用于处理包括在被包裹在传输层内的分组中的消息内容的传输协议层,比如传输控制协议(TCP)(Internet工程任务组(IETF)请求注释(RFC)793,1981年9月公布)和/或因特网协议(IP)(IETF RFC 791,1981年9月公布)、因特网小型计算机系统接口(iSCSI)(IETF RFC 3347,2003年2月公布)、光纤通道(IETF RFC 3643,2003年12月公布)或者本领域中已知的任何其他传输层协议。所述传输协议层对来自所接收的传输控制协议/因特网协议(TCP/IP)分组的有效载荷进行解包,并且把数据传送到存储驱动器120以便返回到应用程序124。此外,发送数据的应用程序124把该数据发送到存储驱动器120,然后该存储驱动器120在经由网络176发送之前把该数据发送到传输协议层以便打包在TCP/IP分组中。总线控制器134允许每个网络适配器112在计算机总线160上进行通信,该计算机总线160包括本领域已知的任何总线接口,比如周边组件互连(PCI)总线(PCI专业兴趣小组,PCI局域总线规格,Rev 2.3,2002年3月公布)、小型计算机系统接口(SCSI)(美国国家标准化组织(ANSI)SCSI控制器命令-2(SCC-2)NCITS.3181998)、串行ATA(SATA 1.0a规格,2003年2月4日公布)等等。网络适配器112包括用于实现物理通信层132的网络协议,以便经由网络176发送网络分组到远程数据存储装置以及接收来自远程数据存储装置的网络分组。在特定实施例中,网络适配器112可以实施以太网协议(IEEE标准802.3,2002年3月8日公布)、光纤通道(IETF RFC 3643,2003年12月公布)或者本领域中已知的任何其他网络通信协议。网络适配器112包括输入/输出(I/O)控制器130。在特定实施例中,该I/O控制器130可以包括因特网小型计算机系统接口(iSCSI控制器),可以理解,还可以使用其他类型的网络控制器,比如以太网介质访问控制器(MAC)或者网络接口控制器(NIC)或卡。存储器108可以包括内部存储设备或者附属的或可网络可访问的存储装置。存储装置108中的程序被下载到存储器106中并由CPU 104执行。使用输入设备150来提供用户输入给CPU 104,该输入设备150可以包括键盘、鼠标、指示笔、麦克风、触敏显示屏或者本领域已知的任何其他激活或输入机制。输出设备152能够呈现从CPU 104或者诸如显本文档来自技高网...

【技术保护点】
一种用于高速缓存管理的方法,包括:接收针对访问第一数据块的输入请求;基于对第一数据块的访问确定第二数据块可能被访问的概率;确定该概率是否超出先读阈值;以及响应于确定该概率超出该先读阈值,预取第二数据块。

【技术特征摘要】
【国外来华专利技术】US 2003-12-24 10/746,0511.一种用于高速缓存管理的方法,包括接收针对访问第一数据块的输入请求;基于对第一数据块的访问确定第二数据块可能被访问的概率;确定该概率是否超出先读阈值;以及响应于确定该概率超出该先读阈值,预取第二数据块。2.权利要求1的方法,进一步包括确定与第一数据块相关的跳跃计数是否大于跳跃计数阈值;以及响应于确定该跳跃计数大于该跳跃计数阈值,在请求数据结构中把所述读请求提升到不同的位置。3.权利要求1的方法,进一步包括更新第一数据块可能被访问的概率。4.权利要求1的方法,进一步包括当预取第二数据块时更新预取计数器。5.权利要求1的方法,其中,所述输入请求是写请求,并且该方法进一步包括高速缓存第一数据块;提交该写请求给存储设备;以及发送表明该写请求已经被提交的确认。6.权利要求5的方法,进一步包括在提交所述写请求之后将第一数据块写入到所述存储设备。7.权利要求1的方法,进一步包括确定将要从高速缓冲存储器中逐出数据块;确定当前在该高速缓冲存储器中的各数据块是否已经在预定时间间隔内被访问;响应于确定各数据块已经在该预定时间间隔内被访问,逐出该高速缓冲存储器中的为最近的计算设备保存的数据块;以及响应于确定至少一个数据块尚未在该预定时间间隔内被访问,逐出高速缓冲存储器中的被访问时间最早的数据块。8.权利要求7的方法,其中,确定哪一个计算设备是最近的计算设备是基于与来自该计算设备的请求相关的跳跃计数。9.权利要求1的方法,其中,所述输入请求是读请求,并且该方法进一步包括确定第一数据块是否在高速缓冲存储器中;响应于确定第一数据块在高速缓冲存储器中,确定第一数据块是否先前被预取;以及响应于确定第一数据块先前被预取,递增预取成功计数器。10.权利要求1的方法,进一步包括确定所预取的数据块被访问的次数百分比是否超出成功阈值;响应于确定所述百分比不超出该成功阈值,更新所述先读阈值。11.权利要求1的方法,进一步包括基于访问统计量更新跳跃计数阈值。12.权利要求1的方法,其中,使用贝叶斯网络技术来确定所述概率。13.一种与数据存储装置通信的系统,包括具有输入/输出(I/O)处理器的计算设备;能够管理对该数据存储装置的输入/输出(I/O)访问的存储控制器,其中该数据存储控制器耦合到该计算设备;以及位于该计算设备处的高速缓存管理代理,其中该高速缓存管理代理能够执行以下操作接收针对访问第一数据块的输入请求;基于对第一数据块的访问确定第二数据块可能被访问的概率;确定该概率是否超出先读阈值;以及响应于确定该概率超出该先读阈值,预取第二数据块。14.权利要求13的系统,其中,所述高速缓存管理代理能够执行以下操作确定与第一数据块相关的跳跃计数是否大于跳跃计数阈值;以及响应于确定该跳跃计数大于该跳跃计数阈值,在请求数据结构中把所述读请求提升到不同的位置。15.权利要求13的系统,其中,所述高速缓存管理代理能够更新第一数据块可能被访问的概率。16.权利要求13的系统,其中,所述高速缓存管理代理能够在预取第二数据块时更新预取计数器。17.权利要求13的系统,其中,所述输入请求是写请求,并且所述高速缓存管理代理能够执行以下操作高速缓存第一数据块;提交该写请求给存储设备;以及发送表明该写请求已经被提交的确认。18.权利要求17的系统,其中,所述高速缓存管理代理能够在提交所述写请求之后将第一数据块写入到所述存储设备。19.权利要求13的系统,其中,所述高速缓存管理代理能够执行以下操作确定将要从高速缓冲存储器中逐出数据块;确定当前在该高速缓冲存储器中的各数据...

【专利技术属性】
技术研发人员:E科马拉V齐默
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1