用于在多高速缓存环境中管理高速缓冲存储器的方法和装置的制造方法_2

文档序号:9693221阅读:来源:国知局
作要求整体 地读取每个关联块。
[0017] 图4是图2的示例性远程高速缓存客户端222的示意图。在图4的所示示例中,远程 高速缓存客户端222包括客户端请求接口 402、客户端总线接口 404和客户端高速缓存管理 器406W向/从示例性节点高速缓存224写/读。在操作中,示例性客户端请求接口402与示例 性用户/设备文件访问请求管理器220相交互W对通过节点216的一个或多个读/写请求进 行响应。示例性客户端总线接口 404被通信禪合到总线218 W促进响应于来自主机202的请 求/命令进行的从/向总线218的读/写操作,并且示例性客户端高速缓存管理器406被通信 连接到示例性节点高速缓存224W促进向/从节点高速缓存224的同步写/读操作。
[0018] 虽然在图2-4中图示出实现图2的主计算机配置200的示例性方式,但可用任何其 他方式将图2-4中所示的元件、过程和/或设备中的一个或多个组合、划分、重新布置、省略、 消除和/或实现。此外,可用硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现 图2-4的示例性文件访问请求管理器204、示例性委托管理器206、示例性高速缓冲存储器 208、示例性文件系统管理器210、示例性节点访问请求管理器220、示例性远程高速缓存客 户端222、示例性节点高速缓冲存储器224、示例性主机文件请求接口 302、示例性主机总线 接口 304、示例性主机高速缓存管理器306、示例性远程高速缓存管理器308、示例性锁定管 理器310、示例性对齐管理器312、示例性客户端请求接口 402、示例性客户端总线接口 404 和/或更一般地示例性客户端高速缓存管理器406。因此,例如可W用一个或多个模拟或数 字电路、逻辑电路、(一个或多个)可编程处理器、(一个或多个)专用集成电路(ASIC)、(一个 或多个)可编程逻辑器件(PLD)和/或(一个或多个)现场可编程逻辑器件(FPLD)来实现示例 性文件访问请求管理器204、示例性委托管理器206、示例性高速缓冲存储器208、示例性文 件系统管理器210、示例性节点访问请求管理器220、示例性远程高速缓存客户端222、示例 性节点高速缓冲存储器224、示例性主机文件请求接口 302、示例性主机总线接口 304、示例 性主机高速缓存管理器306、示例性远程高速缓存管理器308、示例性锁定管理器310、示例 性对齐管理器312、示例性客户端请求接口 402、示例性客户端总线接口 404和/或更一般地 示例性客户端高速缓存管理器406中的任何一个。当将本专利的装置或系统权利要求中的 任何一个理解成涵盖完全软件和/或固件实施方式时,图2-4的示例性文件访问请求管理器 204、示例性委托管理器206、示例性高速缓冲存储器208、示例性文件系统管理器210、示例 性节点访问请求管理器220、示例性远程高速缓存客户端222、示例性节点高速缓冲存储器 224、示例性主机文件请求接口 302、示例性主机总线接口 304、示例性主机高速缓存管理器 306、示例性远程高速缓存管理器308、示例性锁定管理器310、示例性对齐管理器312、示例 性客户端请求接口 402、示例性客户端总线接口 404和/或更一般地示例性客户端高速缓存 管理器406中的至少一个因此被明确地定义成包括存储软件和/或固件的有形计算机可读 存储设备或存储磁盘,诸如存储器、数字多功能磁盘(DVD)、紧凑式磁盘(CD)、蓝光磁盘等。 更进一步,图2的示例性委托管理器206和远程高速缓存客户端222可包括除图3和4中所示 的那些之外或作为其替代的一个或多个元件、过程和/或设备,和/或可包括任何或全部所 示元件、过程和设备中的超过一个的元件、过程和/或设备。
[0019] 在图5、6、74、78、84、88和8(:中示出了表示用于实现图2的主计算机配置200的示例 性机器可读指令的流程图。在本示例中,机器可读指令包括用于由处理器执行的程序,该处 理器诸如在下面结合图9讨论的示例性处理器平台900中所示的处理器912。可用存储于诸 如CD-ROM、软盘、硬盘驱动器、数字多功能磁盘(DVD)、蓝光磁盘或与处理器912相关联的存 储器之类的有形计算机可读存储介质上的软件来体现程序,但是整个程序和/或其各部分 可W替换地由除处理器912之外的设备执行和/或用固件或专用硬件来体现。此外,虽然参 考图5、6、74、78、84、88和8(:中所示的流程图来描述示例性程序,但可替换地使用实现示例 性主机计算机配置200的许多其他方法。例如,可改变各方框的执行顺序和/或可将所述方 框中的一些改变、消除或组合。
[0020]如上所述,可使用存储在有形计算机可读存储介质上的编码指令(例如,计算机 和/或机器可读指令)来实现图5、6、74、78、84、88和8(:的示例过程,所述有形计算机可读存 储介质诸如硬盘驱动器、闪速存储器、只读存储器(ROM)、紧凑式磁盘(CD)、数字多功能磁盘 (DVD)、高速缓存、随机存取存储器(RAM)和/或其中存储信息达任何持续时间(例如,达延长 时间段、永久地、达短暂时刻、用于临时缓冲和/或用于信息的高速缓存)的任何其他存储设 备或存储磁盘。如本文所使用的,术语有形计算机可读存储介质被明确地定义成包括任何 类型的计算机可读存储设备和/或存储磁盘且不包括传播信号。如本文所使用的,"有形计 算机可读存储介质"和"有形机器可读存储介质"被可互换地使用。另外或替换地,可使用存 储在非临时计算机和/或机器可读介质上的编码指令(例如,计算机和/或机器可读指令)来 实现图5、6、74、78、84、88和8(:的示例性过程,所述非临时计算机和/或机器可读介质诸如硬 盘驱动器、闪速存储器、只读存储器、紧凑式磁盘、数字多功能磁盘、高速缓存、随机存取存 储器和/或其中存储信息达任何持续时间(例如,达延长时间段、永久地、达短暂时刻、用于 临时缓冲和/或用于信息的高速缓存)的任何其他存储设备或存储磁盘。如本文所使用的, 术语非临时计算机可读介质被明确地定义成包括任何类型的计算机可读设备或磁盘且不 包括传播信号。如本文所使用的,当权利要求的前导中使用短语"至少"作为过渡术语时,其 W与术语"包括"为开放式相同的方式是开放式的。
[0021] 图5的程序500在方框502处开始,其中,示例性委托管理器206确定总线设备是否 被添加和/或W其他方式被检测为被连接到示例性总线218。如果没有,则示例性委托管理 器206继续针对一个或多个附加节点(例如,MIC节点)监视示例性总线218(方框502)。在由 示例性委托管理器206在示例性总线218上检测到设备的情况下,示例性主机总线接口 304 确定检测到的设备是否包括远程高速缓存客户端(方框504),诸如图2和4的示例性远程高 速缓存客户端222。在一些示例中,可响应于由示例性委托管理器206发送的包含查询代码 的查询来识别远程高速缓存客户端。如果示例性远程高速缓存客户端222用授权响应代码 对查询代码进行响应,则新添加总线设备可被视为被授权W符合图6、74、78、84、88和8如勺 方式采用一致性模型通信程序,如下面更详细地描述的。如果没有,则不认为新添加的设备 将参与本文公开的示例性方法、系统、装置和/或制品,并且其被允许继续进行其关于示例 性主机202可具有的任何(一个或多个)默认程序(方框506)。在一些示例中,在允许一个或 多个基于网络的层被约束、阻断和/或W其他方式绕过之前验证和/或W其他方式确认由参 与远程节点发送的授权代码。另一方面,如果示例性主机总线接口 304识别到相应的远程高 速缓存客户端(方框504),则示例性委托管理器206禁用、约束、转移、绕过、取代和/或W其 他方式阻断关于新添加总线设备的经由仿真网络堆找的一个或多个主机基于网络的文件 访问尝试(方框508)。在一些示例中,一个或多个其他系统管理操作被许可,诸如查验 (ping)操作。另外,一些示例采用可移植操作系统接口(P0SIX)标准来协助一个或多个锁定 支持命令。
[0022] 如上所述,胜于依赖于和/或W其他方式采用主机所促进的标准/传统网络层,示 例性主机总线接口 304和客户端总线接口 404建立通信和共享高速缓存锁定规则集W经由 示例性总线218来实现同步设备高速缓存数据共享(方框510)。新检测到的设备(例如,MIC 节点)高速缓存设备被示例性锁定管理器308设置成其初始状态(方框512),其中,主机高速 缓存208的相应部分被同步成具有相同状态(例如,初始状态空(mJLL))。控制返回到方框 502W继续针对一个或多个其他节点的添加监视示例性总线218。
[0023] 本文公开的示例性方法、装置、系统和制品建立一致性模型,其管理锁定状态将在 示例性主机高速缓存208与每个连接节点高速缓存(诸如图2的示例性节点高速缓存224)之 间同步。高速缓存设备之间的通过示例性总线218而不是NBFS(例如112、118)的数据传输可 与四(4)个锁定状态(空、可用(AVAIL)(可用)、共享(SHARE)(读)和专属(EX化USIVE)(写)) 相关联。专属锁定对应于用于指定字节范围的写操作,其中使共享高速缓存条目无效。当专 属锁定被释放时,关联高速缓存内容被冲刷(flush)到主机(主机节点),使得可W将此类内 容移动至最终存储目的地。
[0024] 可用节点标识符(ID)和过程ID描述符来识别锁定所有者。另外,可用主机节点上 的文件ID来识别锁定,其还可包括字节范围描述符(brd)。如上所述,字节范围包含关于与 读/写输入/输出(I/O)调用相关联的文件偏移和/或块计数的信息。在未对齐的情况下,可 基于字节范围描述符将锁定分离成多个子锁定。
[0025] 示例性四(4)个锁定状态之间的转换W符合下面所示的表1的方式发生。
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1