与多个处理单元一起使用的远程介质高速缓冲存储器优化系统和方法转让专利
申请号 : CN200680017107.0
文献号 : CN101176077B
文献日 : 2010-07-07
发明人 : B·约翰逊 , E·R·克恩 , 禹彤
申请人 : 国际商业机器公司
摘要 :
权利要求 :
1.一种数据处理系统,包括:
多个处理单元;
经由互连耦接至所述多个处理单元的存储设备适配器;
经由所述互连耦接至所述存储设备适配器的存储设备;
连接至所述存储设备的高速缓冲存储器,所述高速缓冲存储器进一步包括:用于存储从所述存储设备取回的数据的数据分区;
多个检测数据分区,所述多个检测数据分区的每一个对应于所述多个处理单元中相应的一个,检测数据描述了存储在所述存储设备上的数据状态或者指示读头在存储设备的位置,其中响应于所述存储设备从所述多个处理单元的第一处理单元接收第一读取命令,所述存储设备发布对所述第一读取命令的响应,并且其中所述存储设备适配器在所述多个检测数据分区中的第一检测数据分区中存储对应于所述第一读取命令的检测数据,该第一检测数据分区对应于所述第一处理单元。
2.根据权利要求1的数据处理系统,其中响应于所述高速缓冲存储器确定所述第一读取命令所请求的数据未存储在所述数据分区中,所述存储设备适配器将所述第一读取命令传递到所述存储设备,以及响应于接收所述第一读取命令,所述存储设备将所述第一读取命令所请求的所述数据发送到所述数据分区和所述第一处理单元,其中所述检测数据存储在对应于所述第一处理单元的第一检测数据分区中。
3.根据权利要求1的数据处理系统,其中响应于所述高速缓冲存储器从所述多个处理单元的第一处理单元接收第一读取命令以及所述高速缓冲存储器确定所述第一读取命令所请求的数据存储在所述数据分区中,所述存储设备适配器将所述第一读取命令所请求的所述数据传递至所述第一处理单元。
4.根据权利要求1的数据处理系统,其中响应于所述高速缓冲存储器从所述多个处理单元的第一处理单元接收第一读取命令以及所述高速缓冲存储器确定所述第一读取命令所请求的数据存储在所述数据分区中,所述存储设备适配器将所述第一读取命令所请求的所述数据传递到所述第一处理单元并且取回与所述多个处理单元的第二处理单元相对应的检测数据,该第二处理单元最初请求了由所述第一读取命令所请求的所述数据。
5.一种用于数据处理的方法,包括:
从多个处理单元的第一处理单元接收针对存储设备的第一读取命令;
响应于所述接收,发布对所述第一命令的响应;以及
在高速缓冲存储器的多个检测数据分区之中的第一检测数据分区中存储对应于所述第一命令的检测数据,该第一检测数据分区对应于所述第一处理单元,其中,检测数据描述了存储在所述存储设备上的数据状态或者指示读头在存储设备的位置。
6.根据权利要求5所述的方法,进一步包括:
响应于确定所述第一读取命令所请求的数据未存储在所述高速缓冲存储器的数据分区中,将所述第一读取命令传递至所述存储设备;以及响应于接收所述第一读取命令,将所述第一读取命令请求的所述数据发送至所述数据分区和所述第一处理单元,其中所述检测数据存储在对应于所述第一处理单元的第一检测数据分区中。
7.根据权利要求5所述的方法,进一步包括:
响应于确定所述第一读取命令所请求的数据存储在所述高速缓冲存储器的数据分区中,将所述第一读取命令所请求的所述数据传递至所述第一处理单元。
8.根据权利要求5所述的方法,进一步包括:
响应于确定所述第一读取命令所请求的数据存储在所述高速缓冲存储器的数据分区中,将所述第一读取命令所请求的所述数据传递至所述第一处理单元;以及取回与所述多个处理单元的第二处理单元相对应的检测数据,该第二处理单元最初请求了由所述第一读取命令所请求的所述数据。
9.一种用于数据处理的装置,包括:
用于从多个处理单元的第一处理单元接收针对存储设备的第一读取命令的装置;
用于响应于所述接收,发布对所述第一命令的响应的装置;以及
用于在高速缓冲存储器的多个检测数据分区之中的第一检测数据分区中存储对应于所述第一命令的检测数据的装置,该第一检测数据分区对应于所述第一处理单元,其中,检测数据描述了存储在所述存储设备上的数据状态或者指示读头在存储设备的位置。
说明书 :
技术领域
本发明总体上涉及数据处理系统领域。更特别地,本发明涉及多处理器数据处理系统领域。仍然更具体地,本发明涉及远程介质高速缓冲存储器优化的系统和方法。
背景技术
本领域技术人员将理解,许多现代计算机系统包括多个处理单元。这些多个处理单元典型地连接至系统总线,该系统总线作为多个处理单元和计算机系统外围设备之间的互联进行工作。在两个不同处理单元对外围设备进行相继访问时会发生困难。第一处理单元对外围设备的第一访问产生与第一访问相关的检测数据的第一集合。第二处理单元对外围设备的第二访问产生与第二访问相关的检测数据的第二集合。在第二访问后,第一处理单元可能向外围设备查询检测数据的第一集合。但是,外围设备将替代地返回与第二访问相关的检测数据的第二集合。因此,需要用于控制多个处理单元对外围设备的访问的系统和方法。
发明内容
本发明的上述特征和附加目的、特征以及优势将在以下具体写出的描述中变得明显。
附图说明
图1是说明本发明优选实施方式可在其中实现的示例性数据处理系统框图;
图2是说明本发明优选实施方式可在其中实现的示例性高速缓中存储器框图;
图3是说明根据本发明优选实施方式来控制多个处理单元对外围设备的访问的方法的高级逻辑流程图。
具体实施方式
本领域技术人员将理解,数据处理系统100可以包括许多未在图1中具体说明的附加组件。因为这样的附加组件对于理解本发明不是必须的,所以没有在图1中示出或者在此做进一步讨论。还应当知道,本发明提供的为实现多个处理单元对外围设备的访问而对数据处理系统的增强也适用于任何系统结构的数据处理系统,并且决不限制为图1中说明的通用多处理器。
图2是描述本发明优选实施方式可在其中实现的示例性高速缓冲存储器108的框图。如所示,高速缓冲存储器108包括远程介质高速缓冲存储器200和对应于虚拟USB连接106a-n和处理单元102a-n的一组检测数据高速缓冲存储器202a-n(其中检测数据高速缓冲存储器202a-n代表高速缓冲存储器108中的分区)。在本发明的示例性实施方式中,处理单元102a-n将命令转送到USB DVD驱 动器112以取回所请求的数据。由于对远程介质高速缓冲存储器200的访问比对USB DVD驱动器112的访问快上许多数量级,所以从USB DVD驱动器112取回的数据被高速缓冲存储器在远程介质高速缓冲存储器200中以实现将来对所取回数据的快速访问。
检测数据高速缓冲存储器202a-n存储与处理单元102a-n发布的命令相关的检测数据。例如,处理单元102a可以向USB DVD驱动器112发布数据读取命令。数据读取命令经由虚拟USB连接106a进入高速缓冲存储器108。USB驱动器接口110将数据读取命令传递到USB DVD驱动器112。当所请求的数据从USB DVD驱动器112发送回来时,所请求的数据高速缓冲存储器在远程介质高速缓冲存储器200中。与处理单元102a发布的数据读取命令相关的检测数据存储在检测数据高速缓冲存储器202a中。此优选实施方式允许处理单元102a取回与稍后时间的数据读取命令相关联的检测数据,即使在第二处理单元102b已经发布了请求不同数据的第二数据读取命令并返回了与第二数据读取命令相关的检测数据之后。
图3是说明根据本发明优选实施方式来控制多个处理单元对外围设备的访问的方法的高级逻辑流程图。处理开始于步骤300并继续到步骤302,步骤302说明了处理单元102a向USB DVD驱动器112发布命令,该命令经由USB驱动器接口110转送。如前所述,USB DVD驱动器112可以实现为任何数据存储外围设备,但是优选地是诸如(但不限于)CD-ROM、DVD或者磁带驱动器的远程存储介质外围设备。
然后,处理前进到步骤304,步骤304描述了USB驱动器接口110确定从处理单元102a发布的命令是否是对检测数据的请求。如果USB驱动器接口110确定该发布的命令是对检测数据的请求,则处理继续到步骤306,步骤306描述了高速缓冲存储器108将存储在检测数据高速缓冲存储器202a中的所请求的检测数据返回到处理单元102a。然后处理返回到步骤302并以反复的方式进行。
如果USB驱动器接口110确定发布的命令不是对检测数据的请求,则处理前进到步骤308,步骤308说明USB驱动器接口110确定发布的命令是否是读取命令。如果确定该命令不是读取命令,则如步骤310中的描述,将该命令(可能是写命令或者其它命令)发送至USB DVD驱动器112,在USB DVD驱动器112处理该命令。然后,处理前进到步骤312,步骤312说明USB驱动器接口110取回与该命令相关的检测数据。然后处理继续到步骤314,步骤314说明USB驱动器接口110将取回的检测数据存储在检测数据高速缓冲存储器202a中。然后,处理前进到步骤316,步骤316描绘了USB驱动器接口110将USB DVD驱动112对所发布命令的响应返回至处理单元102a。然后处理返回到步骤302并以反复的方式继续。
返回步骤308,如果确定命令是读取命令,则处理继续到步骤318,步骤318说明USB驱动器接口110确定所请求的数据是否存在于远程介质高速缓冲存储器200中。如果所请求的数据已经存储在远程介质高速缓冲存储器200中,则处理继续到步骤326,步骤326描绘了USB驱动器接口100从该高速缓冲存储器取回所请求的数据以及与所请求数据相关的检测数据。检测数据从对应于处理单元102a-n的检测数据高速缓冲存储器202a-n取回,其中该处理单元102a-n最初从USB DVD驱动器112取回了所请求数据。这样确保处理单元102a将一直具有关于任何取回数据的最新更新的检测数据。然后处理继续到步骤314,步骤314说明USB驱动器接口110将与所请求数据相关的检测数据存储在检测数据高速缓冲存储器202a中。然后处理前进到步骤316,返回步骤302,并以反复的方式进行。
返回步骤318,如果USB驱动器接口110确定所请求数据并未在远程数据高速缓冲存储器200中出现,则处理前进到步骤320,步骤320说明USB驱动器接口110发送读取命令至USB DVD驱动器112。然后,如步骤322所描绘的,USB驱动器接口100从USB DVD驱动器112取回与读取命令相关的检测数据。然后,处理前进到步骤324,步骤324说明USB驱动器接口110将所请求数据和检测数据存储在远程介质高速缓冲存储器200中。然后处理继续到步骤314,步骤314描绘了USB驱动器接口110将与所请求数据相关的检测数据存储在检测数据高速缓冲存储器202a中。然后处理前进到步骤316,返回步骤302,并以反复的方式进行。
并且,应当知道,本发明的至少某些方面还可以在存储有程序产品的计算机可读介质中实现。定义本发明功能的程序可以经由多种信号承载介质递送至数据存储系统或者计算机系统,其中该多种信号承载介质包括但不限于非可写存储介质(例如CD-ROM)、可写存储介质(例如,软盘、硬盘驱动器、读/写CD-ROM、光介质),以及通信介质,诸如包括以太网在内的计算机网络和电话网。因此应当知道,当在这样的信号承载介质中携带或者编码指向本发明方法功能的计算机可读指令时,代表了本发明的替代性实施方式。进一步地,应当知道,本发明可以由系统实现,该系统具有在此描述的硬件、软件或者软件和硬件组合形式的装置或者它们的等同手段。
尽管已经参照优选实施方式特别地示出并描述了本发明,但是本领域技术人员应当知道,在不脱离本发明范围的情况下可以做出很多形式上和细节上的改进。
并且,应当知道,本发明的至少某些方面还可以在包括程序产品的计算机可读介质中实现,诸如仿真硬件环境。定义本发明功能的程序可以经由多种信号承载介质递送至数据存储系统或者计算机系统,其中该多种信号承载介质包括但不限于非可写存储介质(例如CD-ROM)、可写存储介质(例如,软盘、硬盘驱动器、读/写CD-ROM、光介质),以及通信介质,诸如包括以太网在内的计算机网络和电话网。因此应当知道,当在这样的信号承载介质中携带或者编码指向本发明方法功能的计算机可读指令时,代表了本发明的替代性实施方式。进一步地,应当知道,本发明可以由系统实现,该系统具有在此描述的硬件、软件或者软件和硬件组合形式的装置或者它们的等同手段。
如所公开的,本发明优选实施方式提供用于与多个处理单元一起使用的远程介质高速缓冲存储器优化的系统和方法。本发明优选实施方式公开了数据处理系统,其包括多个处理单元、存储设备以及用于将存储设备连接至多个处理单元的存储设备适配器。数据处理系统还包括连接至存储设备的高速缓冲存储器。该高速缓冲存储器包括用于存储从存储设备取回的数据的数据分区和多个检测数据分区。多个检测分区的每一个对应于多个处理单元中相应的一个。响应于存储设备从第一处理单元接收第一命令,存储设备发布对该命令的响应并且存储设备适配器在第一检测数据分区中存储对应于第一命令的检测数据。
尽管已经参照优选实施方式特别地示出并描述了本发明,但是本领域技术人员应当知道,在不脱离本发明范围的情况下可以做出很多形式上和细节上的改进。