延伸只读存储器管理系统、方法及其管理主机.pdf

上传人:小** 文档编号:507125 上传时间:2018-02-20 格式:PDF 页数:25 大小:3.12MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410519366.X

申请日:

2014.09.30

公开号:

CN104298535A

公开日:

2015.01.21

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/455申请日:20140930|||公开

IPC分类号:

G06F9/455; G06F12/02; G06F3/06

主分类号:

G06F9/455

申请人:

威盛电子股份有限公司

发明人:

何宽瑞

地址:

中国台湾新北市新店区中正路533号8楼

优先权:

2014.05.02 TW 103115818

专利代理机构:

北京林达刘知识产权代理事务所(普通合伙) 11277

代理人:

刘新宇

PDF下载: PDF下载
内容摘要

一种延伸只读存储器管理系统、方法及其管理主机。管理主机通过桥接器连接至计算主机,管理主机建立地址对照表以将虚拟功能及延伸只读存储器分配至计算主机。当计算主机提出请求以取得延伸只读存储器的尺寸时,管理主机依据地址对照表将对应于延伸只读存储器的影子暂存区块中的数据提供给计算主机。计算主机依据影子暂存区块中的数据分配计算主机中的存储器区块给延伸只读存储器,其中,当计算主机提出请求以通过桥接器取得延伸只读存储器的数据时,管理主机依据存储器区块提供延伸只读存储器的数据给计算主机。本发明可使虚拟功能支持延伸只读存储器。

权利要求书

1.  一种延伸只读存储器管理系统,其特征在于,包括:
至少一计算主机;以及
一管理主机,通过至少一桥接器连接至对应的该至少一计算主机,该管理主机具备至少一虚拟功能,该管理主机建立至少一地址对照表以将该至少一虚拟功能及对应于该至少一虚拟功能的至少一延伸只读存储器分配至该至少一计算主机,其中,
当该至少一计算主机提出请求以取得对应于该至少一虚拟功能的该至少一延伸只读存储器的尺寸时,该管理主机依据该至少一地址对照表将对应于该至少一延伸只读存储器的至少一影子暂存区块中的数据提供给该至少一计算主机,
该至少一计算主机依据该至少一影子暂存区块中的数据分配该至少一计算主机中的至少一存储器区块给该至少一延伸只读存储器,其中,
当该至少一计算主机提出请求以通过该至少一桥接器取得该至少一延伸只读存储器的数据时,该管理主机依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机。

2.
  根据权利要求1所述的延伸只读存储器管理系统,其特征在于,该管理主机将一写入指令与一遮罩位进行与运算,且该管理主机将一运算结果作为该至少一影子暂存区块中的数据以传送至该至少一计算主机,其中该运算结果代表该至少一虚拟功能位于该至少一影子暂存区块中的一虚拟地址暂存器。

3.
  根据权利要求2所述的延伸只读存储器管理系统,其特征在于,该管理主机基于该至少一延伸只读存储器的尺寸来产生该遮罩位。

4.
  根据权利要求1所述的延伸只读存储器管理系统,其特征在于,各该至少一地址对照表包括一有效状态、一计算主机编号、一计算主机端的虚拟功能地址、一管理主机端的虚拟功能地址、一过滤状态、一过滤范围以及对 应的该至少一影子暂存区块,其中该过滤范围表示该至少一延伸只读存储器的一暂存器地址,其中,
该至少一地址对照表中的该过滤状态预设为禁能,当该至少一计算主机传送一写入指令至该管理主机时,该管理主机依据该写入指令将该至少一地址对照表中的该过滤状态设为致能,该管理主机利用软件模拟将该写入指令仅写入该至少一地址对照表中的该至少一影子暂存区块,该管理主机对对应的该至少一影子暂存区块中的数据进行运算且依据一运算结果提供对应的该至少一影子暂存区块中的数据给该至少一计算主机。

5.
  根据权利要求4所述的延伸只读存储器管理系统,其特征在于,各该至少一地址对照表还包括一计算主机端存储器地址、一管理主机端存储器地址、一存储器尺寸及一存储器地址转换致能状态,其中该存储器尺寸指示该至少一延伸只读存储器的尺寸,其中,
该存储器地址转换致能状态预设为禁能,当该至少一计算主机分配该至少一存储器区块给该至少一延伸只读存储器时,该至少一计算主机将一存储器致能位设为致能,该管理主机将该至少一存储器区块的数据作为该至少一地址对照表中的该计算主机端存储器地址,且当该过滤状态、对应的该至少一影子暂存区块中的数据中的一致能位以及该存储器致能位为致能时,该管理主机将该存储器地址转换致能状态设为致能。

6.
  根据权利要求1所述的延伸只读存储器管理系统,其特征在于,当该至少一计算主机判断该至少一影子暂存区块中的数据为有效时,该至少一计算主机依据该至少一影子暂存区块中的数据计算该至少一延伸只读存储器的尺寸,且该至少一计算主机依据该至少一延伸只读存储器的尺寸分配该至少一存储器区块给该至少一延伸只读存储器。

7.
  根据权利要求1所述的延伸只读存储器管理系统,其特征在于,该至少一桥接器具备该至少一地址对照表,当该至少一计算主机传送一读取指令 时,该至少一桥接器依据该至少一地址对照表读取该至少一延伸只读存储器的数据,且该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。

8.
  根据权利要求1所述的延伸只读存储器管理系统,其特征在于,当该至少一计算主机传送一读取指令时,该至少一桥接器通知该管理主机,该管理主机利用软件模拟来读取该读取指令且依据该至少一地址对照表将至少一延伸只读存储器的数据传送至该至少一桥接器并通知该至少一桥接器,且该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。

9.
  根据权利要求1所述的延伸只读存储器管理系统,其特征在于,该至少一桥接器具备一指标器,当该至少一计算主机传送一读取指令时,该指标器写入该读取指令且通知该管理主机,该管理主机利用软件模拟来取得该至少一延伸只读存储器的数据,且该管理主机传送该至少一延伸只读存储器的数据至该至少一桥接器并通知该至少一桥接器,且该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。

10.
  根据权利要求1所述的延伸只读存储器管理系统,其特征在于,该至少一桥接器具备一第一指标器及一第二指标器,当该至少一计算主机传送一读取指令时,该第一指标器写入该读取指令且通知该管理主机,该管理主机利用软件模拟来取得该至少一延伸只读存储器的数据,且该管理主机产生包括对应于该至少一延伸只读存储器的数据的一回应数据且通知该至少一桥接器,该第二指标器读取该回应数据,且该至少一桥接器将该回应数据传送至该至少一计算主机。

11.
  一种延伸只读存储器管理方法,其特征在于,包括:
建立至少一地址对照表以将至少一虚拟功能及对应于该至少一虚拟功能的至少一延伸只读存储器分配至至少一计算主机;
当该至少一计算主机提出请求以取得对应于该至少一虚拟功能的该至少一延伸只读存储器的尺寸时,依据该至少一地址对照表将对应于该至少一延伸只读存储器的至少一影子暂存区块中的数据提供给该至少一计算主机;
该至少一计算主机依据该至少一影子暂存区块中的数据分配该至少一计算主机中的至少一存储器区块给该至少一延伸只读存储器;以及
当该至少一计算主机提出请求以通过至少一桥接器取得该至少一延伸只读存储器的数据时,依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机。

12.
  根据权利要求11所述的延伸只读存储器管理方法,其特征在于,当该至少一计算主机提出请求以取得对应于该至少一虚拟功能的该至少一延伸只读存储器的尺寸时,依据该至少一地址对照表将对应于该至少一延伸只读存储器的该至少一影子暂存区块中的数据提供给该至少一计算主机的步骤包括:
将一写入指令与一遮罩位进行与运算;
将一运算结果作为该至少一影子暂存区块中的数据以传送至该至少一计算主机,其中该运算结果代表该至少一虚拟功能位于该至少一影子暂存区块中的一虚拟地址暂存器。

13.
  根据权利要求12所述的延伸只读存储器管理方法,其特征在于,将该写入指令与该遮罩位进行与运算之前的步骤,还包括:
基于该至少一延伸只读存储器的尺寸来产生该遮罩位。

14.
  根据权利要求11所述的延伸只读存储器管理方法,其特征在于,各该至少一地址对照表包括一有效状态、一计算主机编号、一计算主机端的虚拟功能地址、一管理主机端的虚拟功能地址、一过滤状态、一过滤范围以及对应的该至少一影子暂存区块,其中该至少一地址对照表中的该过滤状态预设为禁能,且该过滤范围表示至少一延伸只读存储器的一暂存器地址,而当 该至少一计算主机提出请求以取得对应于该至少一虚拟功能的该至少一延伸只读存储器的尺寸时,依据该至少一地址对照表将对应于该至少一延伸只读存储器的该至少一影子暂存区块中的数据提供给该至少一计算主机的步骤包括:
当接收到来自该至少一计算主机的一写入指令时,依据该写入指令将该至少一地址对照表中的该过滤状态设为致能;
利用软件模拟将该写入指令仅写入该至少一地址对照表中的该至少一影子暂存区块;以及
对对应的该至少一影子暂存区块中的数据进行运算且依据一运算结果提供对应的该至少一影子暂存区块中的数据给该至少一计算主机。

15.
  根据权利要求14所述的延伸只读存储器管理方法,其特征在于,各该至少一地址对照表还包括一计算主机端存储器地址、一管理主机端存储器地址、一存储器尺寸及一存储器地址转换致能状态,其中该存储器地址转换致能状态预设为禁能,且该存储器尺寸指示该至少一延伸只读存储器的尺寸,而该至少一计算主机依据该至少一影子暂存区块中的数据分配该至少一计算主机中的该至少一存储器区块给该至少一延伸只读存储器的步骤包括:
当该至少一计算主机分配该至少一存储器区块给该至少一延伸只读存储器时,该至少一计算主机将一存储器致能位设为致能;
将该至少一存储器区块的数据作为该至少一地址对照表中的该计算主机端存储器地址;以及
当该过滤状态、对应的该至少一影子暂存区块中的数据中的一致能位以及该存储器致能位为致能时,将该存储器地址转换致能状态设为致能。

16.
  根据权利要求11所述的延伸只读存储器管理方法,其特征在于,该至少一计算主机依据该至少一影子暂存区块中的数据分配该至少一计算主机中的该至少一存储器区块给该至少一延伸只读存储器的步骤包括:
当该至少一计算主机判断该至少一影子暂存区块中的数据为有效时,该至少一计算主机依据该至少一影子暂存区块中的数据计算该至少一延伸只读存储器的尺寸;以及
该至少一计算主机依据该至少一延伸只读存储器的尺寸分配该至少一存储器区块给该至少一延伸只读存储器。

17.
  根据权利要求11所述的延伸只读存储器管理方法,其特征在于,该至少一桥接器具备该至少一地址对照表,而当该至少一计算主机提出请求以通过该至少一桥接器取得该至少一延伸只读存储器的数据时,依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机的步骤包括:
接收该至少一计算主机传送的一读取指令;
通过该至少一桥接器依据该至少一地址对照表读取该至少一延伸只读存储器的数据;以及
通过该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。

18.
  根据权利要求11所述的延伸只读存储器管理方法,其特征在于,当该至少一计算主机提出请求以通过该至少一桥接器取得该至少一延伸只读存储器的数据时,依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机的步骤包括:
接收该至少一计算主机传送的一读取指令;
接收该至少一桥接器的通知;
利用软件模拟来读取该读取指令且依据该至少一地址对照表将至少一延伸只读存储器的数据传送至该至少一桥接器且通知该至少一桥接器;以及
通过该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。

19.
  根据权利要求11所述的延伸只读存储器管理方法,其特征在于,该至少一桥接器具备一指标器,而当该至少一计算主机提出请求以通过该至少一桥接器取得该至少一延伸只读存储器的数据时,依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机的步骤包括:
接收该至少一计算主机传送的一读取指令;
通过该指标器写入该读取指令且传送通知;
利用软件模拟来取得该至少一延伸只读存储器的数据;
传送该至少一延伸只读存储器的数据至该至少一桥接器且通知该至少一桥接器;以及
通过该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。

20.
  根据权利要求11所述的延伸只读存储器管理方法,其特征在于,该至少一桥接器具备一第一指标器及一第二指标器,而当该至少一计算主机提出请求以通过该至少一桥接器取得该至少一延伸只读存储器的数据时,依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机的步骤包括:
接收该至少一计算主机传送的一读取指令;
通过该第一指标器写入该读取指令且传送通知;
利用软件模拟来取得该至少一延伸只读存储器的数据;
产生包括对应于该至少一延伸只读存储器的数据的一回应数据且通知该至少一桥接器;
通过该第二指标器读取该回应数据;以及
该至少一桥接器将该回应数据传送至该至少一计算主机。

21.
  一种管理主机,其特征在于,包括:
一交换器,包括至少一桥接器,其中该至少一桥接器分别耦接至对应的 至少一计算主机;
一输入输出虚拟化装置,耦接该交换器,具备至少一虚拟功能;以及
一管理处理器,耦接该交换器,建立至少一地址对照表以将该至少一虚拟功能及对应于该至少一虚拟功能的至少一延伸只读存储器分配至该至少一计算主机,其中,
当该至少一计算主机提出请求以取得对应于该至少一虚拟功能的该至少一延伸只读存储器的尺寸时,该管理处理器依据该至少一地址对照表将对应于该至少一延伸只读存储器的至少一影子暂存区块中的数据提供至该至少一计算主机,
该至少一计算主机依据该至少一影子暂存区块中的数据分配至少一存储器区块给该至少一延伸只读存储器,其中,
当该至少一计算主机提出请求以通过该至少一桥接器取得该至少一延伸只读存储器的数据时,该管理处理器依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机。

22.
  根据权利要求21所述的管理主机,其特征在于,该管理处理器将一写入指令与一遮罩位进行与运算,且该管理处理器将一运算结果作为该至少一影子暂存区块中的数据以传送至该至少一计算主机,其中该运算结果代表该至少一虚拟功能位于该至少一影子暂存区块中的一虚拟地址暂存器。

23.
  根据权利要求22所述的管理主机,其特征在于,该管理处理器基于该至少一延伸只读存储器的尺寸来产生该遮罩位。

24.
  根据权利要求21所述的管理主机,其特征在于,各该至少一地址对照表包括一有效状态、一计算主机编号、一计算主机端的虚拟功能地址、一管理主机端的虚拟功能地址、一过滤状态、一过滤范围以及对应的该至少一影子暂存区块,其中该过滤范围表示至少一延伸只读存储器的一暂存器地址,其中,
该至少一地址对照表中的该过滤状态预设为禁能,当该至少一计算主机传送一写入指令至该管理主机时,该管理处理器依据该写入指令将该至少一地址对照表中的该过滤状态设为致能,该管理处理器利用软件模拟将该写入指令仅写入该至少一地址对照表中的对应的该至少一影子暂存区块,该管理处理器对对应的该至少一影子暂存区块中的数据进行运算且依据一运算结果通过该至少一桥接器以提供对应的该至少一影子暂存区块中的数据给该至少一计算主机。

25.
  根据权利要求24所述的管理主机,其特征在于,各该至少一地址对照表还包括一计算主机端存储器地址、一管理主机端存储器地址、一存储器尺寸及一存储器地址转换致能状态,其中该存储器尺寸指示该至少一延伸只读存储器的尺寸,其中,
该存储器地址转换致能状态预设为禁能,当该至少一计算主机分配该至少一存储器区块给该至少一延伸只读存储器时,该至少一计算主机将一存储器致能位设为致能,该管理处理器将该至少一存储器区块的数据作为该至少一地址对照表中的该计算主机端存储器地址,且当该过滤状态、该至少一影子暂存区块中的数据中一致能位以及该存储器致能位为致能时,该管理处理器将该存储器地址转换致能状态设为致能。

26.
  根据权利要求21所述的管理主机,其特征在于,当该至少一计算主机判断该至少一影子暂存区块中的数据为有效时,该至少一计算主机依据该至少一影子暂存区块中的数据计算该至少一延伸只读存储器的尺寸,且该至少一计算主机依据该至少一延伸只读存储器的尺寸分配该至少一存储器区块给该至少一延伸只读存储器。

27.
  根据权利要求21所述的管理主机,其特征在于,该交换器中的该至少一桥接器具备该至少一地址对照表,当该至少一计算主机传送一读取指令时,该至少一桥接器依据该至少一地址对照表读取该至少一延伸只读存储器 的数据,且该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。

28.
  根据权利要求21所述的管理主机,其特征在于,当该至少一计算主机传送一读取指令时,该交换器中的该至少一桥接器通知该管理主机,该管理处理器利用软件模拟来读取该读取指令且依据该至少一地址对照表将至少一延伸只读存储器的数据传送至该至少一桥接器并通知该至少一桥接器,且该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。

29.
  根据权利要求21所述的管理主机,其特征在于,该交换器中的该至少一桥接器具备一指标器,当该至少一计算主机传送一读取指令时,该指标器写入该读取指令且通知该管理主机,该管理处理器利用软件模拟来取得该至少一延伸只读存储器的数据,且该管理处理器传送该至少一延伸只读存储器的数据至该至少一桥接器并通知该至少一桥接器,且该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。

30.
  根据权利要求21所述的管理主机,其特征在于,该交换器中的该至少一桥接器具备一第一指标器及一第二指标器,当该至少一计算主机传送一读取指令时,该第一指标器写入该读取指令且通知该管理主机,该管理处理器利用软件模拟来取得该至少一延伸只读存储器的数据,且该管理处理器产生包括对应于该至少一延伸只读存储器的数据的一回应数据且通知该至少一桥接器,该第二指标器读取该回应数据,且该至少一桥接器将该回应数据传送至该至少一计算主机。

说明书

延伸只读存储器管理系统、方法及其管理主机
技术领域
本发明是有关于一种计算机系统的虚拟化技术,且特别是有关于一种支持虚拟功能(virtual function;VF)的延伸只读存储器管理系统、方法及其管理主机。
背景技术
近年来,随着因特网(Internet)的蓬勃发展,使用者对于信息服务的需求越来越高,服务器承受的负担亦越来越大。因此,为了降低成本及有效利用资源,服务器虚拟化的技术亦逐渐成为发展的趋势。而在外围设备连接快递(Peripheral Component Interconnection Express;PCIE)的规格中,单根输入输出虚拟化(Single Root I/O Virtualization;SR-IOV)即是服务器虚拟化的有效解决方案之一。单根输入输出虚拟化技术可以让实体主机(例如,计算主机(computer host))分配多个虚拟功能(virtual function;VF)给不同虚拟机器(virtual machine)。
另一方面,由于操作系统可储存于多种储存介质(例如,硬盘(hard disc)、网络服务器、光盘只读存储器等),实体主机中便具备多种开机选项以供使用者选择载入的系统。举例来说,支持单根输入输出虚拟化技术的装置,例如网络转接卡(network adapter),其实体功能(physical function;PF)中的延伸只读存储器基底地址暂存器(expansion read-only memory base address register;expansion ROM BAR)所配置的存储器映射存取地址(MMIO address)可用来存取延伸只读存储器的内容,而此内容为支持预先载入执行环境(Preboot Execution Environment;PXE)的程序或核心(kernel)。实体主机需取得预先载入执行环境(PXE)的程序内容,才可通过网络取得开机 所需的操作系统。然而,支持单根输入输出虚拟化技术的装置,其虚拟功能之中的延伸只读存储器基底地址暂存器(expansion ROM BAR)是保留(Reserved)的,故无法支持预先载入执行环境启动(PXE boot)。
发明内容
本发明提供一种延伸只读存储器(Expansion ROM)管理系统、方法及其管理主机,其可支持虚拟功能来应用延伸只读存储器。
本发明提出一种延伸只读存储器管理系统,此系统包括计算主机以及管理主机。管理主机分别通过桥接器(bridge)连接至对应的计算主机(compute host),管理主机具备虚拟功能(virtual function;VF),管理主机建立地址对照表以将虚拟功能及对应于虚拟功能的延伸只读存储器分配至计算主机。并且,当计算主机提出请求以取得对应于虚拟功能的延伸只读存储器的尺寸时,管理主机依据地址对照表将对应于延伸只读存储器的影子暂存区块中的数据提供给计算主机,计算主机依据影子暂存区块中的数据分配计算主机中的存储器区块给延伸只读存储器。当计算主机提出请求以通过桥接器取得延伸只读存储器的数据时,管理主机依据存储器区块提供延伸只读存储器的数据给计算主机。
另一观点而言,本发明提出一种延伸只读存储器管理方法,此方法包括下列步骤。建立地址对照表以将虚拟功能及对应于虚拟功能的至少延伸只读存储器分配给计算主机。当计算主机提出请求以取得对应于虚拟功能的延伸只读存储器的尺寸时,依据地址对照表将对应于延伸只读存储器的影子暂存区块中的数据给计算主机。并且,计算主机依据影子暂存区块中的数据分配计算主机中的存储器区块给延伸只读存储器。当计算主机提出请求以通过桥接器取得延伸只读存储器的数据时,依据存储器区块提供延伸只读存储器的数据给计算主机。
另一观点而言,本发明提出一种管理主机,此管理主机包括交换器(switch)、输入输出虚拟化装置以及管理处理器。交换器包括桥接器,其中桥接器分别耦接对应的计算主机。输入输出虚拟化装置耦接该交换器,输入输出虚拟化装置具备虚拟功能。管理处理器耦接交换器,管理处理器建立地址对照表以将虚拟功能及对应于虚拟功能的延伸只读存储器分配至计算主机。当计算主机提出请求以取得对应于虚拟功能的延伸只读存储器的尺寸时,管理处理器依据地址对照表将对应于延伸只读存储器的影子暂存区块中的数据提供至计算主机,计算主机依据影子暂存区块中的数据分配存储器区块给延伸只读存储器,其中,当计算主机提出请求以通过桥接器取得延伸只读存储器的数据时,管理处理器依据存储器区块提供延伸只读存储器的数据给计算主机。
基于上述,本发明实施例所述的延伸只读存储器管理系统预先分配虚拟功能及延伸只读存储器给计算主机以建立地址对照表,当计算主机欲取得延伸只读存储器的尺寸时,管理主机将计算主机所传送的写入指令进行运算,以提供对应于延伸只读存储器的影子暂存区块中的数据给计算主机,进而使计算主机可通过桥接器读取延伸只读存储器的数据。借此,本发明实施例的延伸只读存储器管理系统可使其虚拟功能支持提供延伸只读存储器的数据。
附图说明
图1是依据本发明一实施例说明一种延伸只读存储器管理系统的方块图。
图2是依据本发明一实施例说明图1的管理主机的范例。
图3是依据本发明一实施例说明一种延伸只读存储器管理方法的流程图。
图4A及图4B为依据本发明一实施例说明延伸只读存储器基底地址暂存 器与运算遮罩位的范例。
图5是依据本发明一实施例说明计算主机读取延伸只读存储器的数据的流程示意图。
图6是依据本发明另一实施例说明计算主机读取延伸只读存储器的数据的流程示意图。
图7A及图7B是依据本发明另一实施例说明计算主机读取延伸只读存储器的数据的流程示意图。
具体实施方式
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
为了使单根输入输出虚拟化(SR-IOV)装置中的虚拟功能支持延伸只读存储器,进而可通过网络取得开机所需的操作系统。本发明实施例提出一种虚拟功能分配系统、方法及其管理主机。当计算主机欲取得管理主机中的延伸只读存储器的尺寸时,管理主机将计算主机传送的写入指令写入影子暂存区块,并通过运算,使得计算主机可获得管理主机所提供的影子暂存区块中的尺寸数据。在此,管理主机利用软件模拟进行代理(Proxy),并且影子暂存区块(Shadow Register Block)可以储存与代理有关的数据,例如:虚拟的延伸只读存储器基底地址暂存器(expansion ROM BAR)的数据、存储器致能位(memory enable bit)的数据等。当尺寸确认后,计算主机将存储器地址分配给延伸只读存储器,以取得延伸只读存储器的数据。除此之外,本发明实施例中的管理主机更可利用软件模拟方式取得存储器中延伸只读存储器的数据。借此,通过本发明便能使虚拟功能支持延伸只读存储器,以使得管理主机能够更弹性地运用单根输入输出虚拟装置中的资源。
图1是依据本发明一实施例说明一种延伸只读存储器管理系统的方块 图。请参照图1,延伸只读存储器管理系统100包括计算主机110、115以及管理主机130。
计算主机110及115可以是桌上型(desktop)计算机、笔记型计算机(laptop)等具备中央处理单元(Central Processing Unit;CPU)或是其他可程序化的一般用途或特殊用途的微处理器(Microprocessor)、数字信号处理器(Digital Signal Processor;DSP)、可程序化控制器、特殊应用集成电路(Application Specific Integrated Circuit;ASIC)的电子装置。值得注意的是,在本实施例中,计算主机110及115还包括如同南桥(south bridge)芯片(chipset)、北桥(north bridge)芯片…等可处理计算主机110及115中各元件/设备的传输信号的芯片。
在本实施例中,计算主机110、115及管理主机130支持外围设备连接快递(Peripheral Component Interconnection Express;PCIe)规格,计算主机110、115及管理主机130之间可通过缆线(cable)搭配PCIe连接器(connector)、或是将计算主机110、115的PCIe连接器插入管理主机130中的PCIe插槽(slot)来进行电性连接、通讯、检测及存取。然而,本发明实施例对于计算主机110、115及管理主机130之间的耦接方式并不受限于此,端视应用本实施例者所采用的传输界面而定。
在本实施例中,管理主机130包括输入输出虚拟化装置131、管理处理器135及交换器137。输入输出虚拟化装置131可以是支持单根输入输出虚拟化技术的网络转接卡(network adapter)等设备。一般而言,支持单根输入输出虚拟化技术的输入输出虚拟化装置131可包括一个或多个PCIe实体功能(physical function;PF),且各个实体功能可对应至少一个虚拟功能(virtual function;VF),其中虚拟功能可提供虚拟机器(virtual machine)使用,而实体功能例如对应64个虚拟功能。
一般而言,当使用者开启计算机(例如,桌上型计算机、笔记型计算机) 时,基本输入输出系统(Basic Input/Output System;BIOS)会传送电源启动自我测试(power on self-test;POST)序列以扫描主机板所连接的各组件,并寻找延伸只读存储器以载入操作系统。具体而言,基本输入输出系统先通过延伸只读存储器的载具(例如,网络转接卡)提供延伸只读存储器的尺寸以确认延伸只读存储器基底地址暂存器的内容的有效性。若有效,则配置存储器映射输入输出(memory-mapping input and output;MMIO)地址,该地址可用来存取延伸只读存储器的内容,其中此内容为支持预先载入执行环境(Preboot Execution Environment;PXE)的程序。接着,实体主机需取得预先载入执行环境(PXE)的程序内容,以通过网络取得开机所需的操作系统。然而,一般情况下,仅有实体功能的延伸只读存储器基底地址暂存器的内容可以被确认。但因为虚拟功能的延伸只读存储器基底地址暂存器的位内容为0,且为只读(Read Only),故无法被确认,从而无法读取虚拟功能所对应的延伸只读存储器的数据。
此外,虽然单根输入输出虚拟化技术能使多台虚拟机器使用输入输出虚拟化装置的虚拟功能,但是其仅能支持单一计算主机(例如:计算主机110或115其中之一)。因此,为了解决单根输入输出虚拟化技术的限制,管理主机130可利用非透明桥接器(Non-Transparent Bridge;NTB),并将输入输出虚拟化装置131的虚拟功能分配给计算主机110及115,使得输入输出虚拟化装置131可以同时被计算主机110及115使用。然而,上述的非透明桥接器虽然解决了单一计算主机的使用限制,但计算主机依然无法读取虚拟功能所对应的延伸只读存储器的数据。亦即,管理主机依然仅能提供实体功能所对应的延伸只读存储器的数据。因此,当计算主机欲取得虚拟功能所对应的延伸只读存储器的尺寸时,本发明可利用软件模拟来提供影子暂存区块中的数据,以使得计算主机获得有效的基底地址暂存器的内容,进而使计算主机能够读取虚拟功能所对应的延伸只读存储器的数据。
请继续参照图1,管理处理器135可以是中央处理单元,或是其他可程序化的一般用途或特殊用途的微处理器、数字信号处理器、可程序化控制器、特殊应用集成电路或其他类似元件或上述元件的组合。在本实施例中,管理处理器135用以处理本实施例的管理主机130所有作业。此外,管理处理器135可得知管理主机130中可用的虚拟功能及其数量,且管理处理器135亦可得知可用的计算主机及其数量。在本实施例中,以两个计算主机110、115为范例,然不以此为限。管理处理器135可依据计算主机110、115及虚拟功能的能力(例如,运算速度、存储器尺寸等)或上层软件传送的建立虚拟机器要求建立对照表,进而依据对照表将虚拟功能分配给计算主机110、115。其中,对照表包括计算主机110、115所对应的各虚拟功能的PCI组态空间地址(PCIConfiguration Space Address),例如:总线/装置/功能(Bus/Device/Function)的地址。
交换器137可以是PCIe交换器(switch)、或是其他支持PCIe规格的交换器。交换器137包括桥接器138及139。就计算主机110、115的观点而言,桥接器138及139可视为是外围设备连接至外围设备连接(PCI-to-PCI;P2P)桥接器;就管理处理器135观点而言,桥接器138及139可视为是非透明桥接器(NTB)。桥接器138、139的两端因分别连接计算主机110、115及管理主机130,因此具有各自的PCI域(domain)及存储器域(memory domain),进而需通过地址转换对照表进行此二个PCI域及存储器域的地址转换(address translation),其中地址转换对照表将于稍后对照表再作说明。另外,桥接器138及139例如是分别耦接至对应的计算主机110及115的根端口(Root Port)110a及115a,且上述的桥接器138及139可为实体桥接器(Physical Bridge),其具有总线/装置/功能(Bus/Device/Function)的地址。
图2是依据本发明一实施例说明图1的管理主机130的范例。在本实施例中,管理主机130中的管理处理器210经由根复合器(root complex device)220 来控制PCIe交换器250。PCIe交换器250连接单根输入输出虚拟化装置270及多个桥接器290,而桥接器290可连接对应的计算主机291。就计算主机291的观点而言,桥接器290可视为外围设备连接至外围设备连接(P2P)桥接器,而就管理处理器210观点来说可将桥接器290视为是非透明桥接器(NTB)。在本实施例中,管理处理器210可视为是图1的管理处理器135的一种实施方式。在本实施例中,PCIe交换器250可视为图1的交换器137的一种实施方式。单根输入输出虚拟化装置270可视为图1的输入输出虚拟化装置131的一种实施方式。桥接器290可视为图1的桥接器138、139的一种实施方式。计算主机291可视为图1的计算主机110、115的一种实施方式。此外,根复合器220可视为图1的管理处理器135的一部分或是交换器137一部分。
为了方便说明,以下实施例将以图1中的计算主机110作为范例,在其他实施例中亦可使用计算主机115,且不以此为限。管理主机130的管理处理器135会建立地址对照表以将虚拟功能及对应于虚拟功能的延伸只读存储器分配至计算主机110。
举例而言,表(1)为地址对照表的范例,其中地址对照表表(1)包括有效状态(Valid)、计算主机编号(CH)、计算主机端的虚拟功能地址(CH-B/D/F)、管理主机端的虚拟功能地址(M-B/D/F)、过滤状态(filter enable)、过滤范围(filter range)、影子暂存区块(shadow register block)、计算主机端存储器地址(CH memory)、管理主机端存储器地址(M memory)、存储器尺寸(size)及存储器地址转换致能状态(memory address remap enable)。
表(1)


管理处理器135依据有效状态决定是否利用软件模拟进行代理。例如,当表(1)的有效状态的数值例如为0表示禁能时,管理主机130不进行代理,且影子暂存区块不储存任何数据(Data)。而当有效状态的数值例如为1表示致能时,则管理主机130进行代理,并且相关的代理数据可被储存于影子暂存区块中。地址对照表中的计算主机110编号(例如,1),而此计算主机端的虚拟功能CH-B/D/F地址(例如,2/0/0),且管理主机端的虚拟功能M-B/D/F地址(例如,4/3/2)。上述的B/D/F地址指总线/装置/功能(Bus/Device/Function)的地址。过滤状态filter enable的数值例如为0表示为禁能,而数值例如为1表示致能。过滤范围表示延伸只读存储器的暂存器地址(例如,影子暂存区块中的地址Offset 30-33)。影子暂存区块中的数据例如为0表示未储存任何数据,且影子暂存区块中的数据亦可储存与管理主机130代理有关的数据(例如,储存于Offset 30-33地址的对应虚拟功能的虚拟的延伸只读存储器基底地址暂存器的数据或储存于Offset 04地址的存储器致能位)。一般来说,影子暂存区块中的数据会依据有关的写入组态指令而写入相关的数据。在一实施例中,影子暂存区块为一存储器区块(例如,管理主机130的存储器(未绘示于图)中的存储器区块)。计算主机端存储器地址的数值例如为0表示计算主 机110尚未分配地址给延伸只读存储器。管理主机端存储器地址假设为Mem_m,表示管理主机130分配地址Mem_m给延伸只读存储器。存储器尺寸为延伸只读存储器的尺寸(例如,1M Bytes)。存储器地址转换致能状态的数值例如为0表示管理主机130不进行存储器地址转换,而存储器地址转换致能状态数值例如为1表示管理主机130进行存储器地址转换。
在上述参数的设定下,管理主机130收到来自计算主机110的组态指令(例如,读取或写入指令),则会将计算主机端的虚拟功能CH-B/D/F地址(例如,2/0/0)转换成管理主机端的虚拟功能M-B/D/F地址(例如,4/3/2)。并且,影子暂存区块会储存有关组态指令的写入数据。需说明的是,表(1)中的各参数值仅为示例,在其他实施例中,实施本发明的本领域技术人员可随其需求而调整。
表(2)


表(2)为地址对照表的另一实施例。当上述参数设定中的过滤状态filterenable的值,例如为1时,表示为致能。此时,当管理主机130收到来自计算主机110的读取组态指令时,则会依过滤范围(例如:Offset 30-33地址)对指令进行过滤。若范围符合(Hit),则管理处理器135会将计算主机端的虚拟 功能CH-B/D/F地址(例如为2/0/0)转换至影子暂存区块以读取相关数据,而不再至管理主机端的虚拟功能M-B/D/F地址(例如为:4/3/2)进行读取。同样地,若自计算主机110收到的读取组态指令为写入组态指令时,则管理处理器135会依据过滤范围(例如:Rx30-33地址)对指令进行过滤。若范围符合(Hit),则管理处理器135会将计算主机端的虚拟功能CH-B/D/F地址(例如为2/0/0)只写入影子暂存区块相关数据中,而不再至管理主机端的虚拟功能M-B/D/F地址(例如为:4/3/2)进行写入。反之,若范围未符合,则管理主机130会依照过滤状态filter enable为禁能的方式处理。
图3是依据本发明一实施例说明一种延伸只读存储器管理方法的流程图。请参照图3,本实施例的判断方法适用于图1的延伸只读存储器管理系统100。下文中,将依延伸只读存储器管理系统100中的各项模块及元件说明本发明实施例所述的管理方法。本方法的各个流程可依照实施情形而随之调整,且并不仅限于此。在步骤S310中,管理主机130的管理处理器135建立地址对照表以将虚拟功能及对应于虚拟功能的延伸只读存储器分配至计算主机110。在此,所建立的地址对照表例如为前述的表(2)。
需说明的是,在使用者开启计算主机110之后,基本输入输出系统将执行开机程序(例如,传送电源启动自我测试(POST)序列),且开始执行列举程序(enumeration process),计算主机110询问管理主机130中PCIe装置(例如,虚拟功能、虚拟桥接器等)的连接配置。当计算主机110扫描到桥接器138时,管理处理器135依据地址对照表(例如,前述表(2))通过桥接器138传送虚拟功能的数据。具体而言,若计算主机110此时发出包含计算主机端的虚拟功能地址(例如,2/0/0)的组态(configuration)指令(例如:读取(read)指令),则管理主机130中的软件(例如,操作系统、应用程序、韧体(firmware)及控制程序等)会依据将此指令与地址对照表中的数据进行比对,确认是否符合(Hit)。在表(2)中,地址对照表中计算主机端的B/D/F 地址(例如,2/0/0)对应于管理主机端的B/D/F地址(例如,4/3/2),管理主机130便将计算主机端的B/D/F地址(例如,2/0/0)转换成管理主机端的B/D/F地址(例如,4/3/2),此时是由管理主机130的软件代理去产生包含(例如,4/3/2)的B/D/F地址的组态指令,而至对应的地址来得到虚拟功能的相关数据(Data)。接着,管理处理器135再将与虚拟功能的相关数据写入桥接器138,并通知计算主机110此组态指令完成。
当计算主机110得知组态指令已完成时,计算主机110便发现管理主机130所配置的虚拟功能。在步骤S330中,当计算主机110提出请求以取得延伸只读存储器的尺寸时,依据地址对照表将对应于延伸只读存储器的影子暂存区块中的运算结果(数据)提供给计算主机110。地址对照表(例如,表(1))中的该过滤状态预设为禁能,当计算主机110传送写入指令至管理主机130时,管理处理器135依据写入指令将地址对照表(例如,表(1))中的过滤状态设为致能。具体而言,表(3)为地址对照表的另一范例。
表(3)


请参照表(3),计算主机110传送写入指令以要求取得只读存储器的尺寸。当管理主机130接收到计算主机110所传送的写入指令时,由于地址对照表的过滤状态filter enable的值为1,表示致能,故会依照过滤范围(例如:Offset30-33地址)对指令进行过滤。若范围符合(Hit),管理主机130利用软件模拟(例如,操作系统、应用程序、韧体及控制程序等)将写入指令仅写入地 址对照表中的对应的影子暂存区块。管理主机130对对应的影子暂存区块中的数据(即,地址对照表中的影子暂存区块中的数据)进行运算(例如,利用写入指令以及后述的遮罩位(mask bit)进行运算),依据运算结果提供对应的影子暂存区块中的数据给计算主机110。需说明的是,在本实施例中,写入指令中的所有位皆为1。在此步骤中,管理处理器135不会将计算主机110所传送的写入指令传送到管理主机端的虚拟功能M-B/D/F地址(例如为:4/3/2)进行写入。
图4A及图4B为依据本发明一实施例说明延伸只读存储器基底地址暂存器与运算遮罩位的范例。请先参照图4A,图4A为实体功能的延伸只读存储器基底地址暂存器的范例,图4A中的第1位至第19位(位[19:1])皆为只读且第20位至第31位(位[31:20])和第0位(位[0])为可读写。第0位(位[0])为延伸只读存储器基底地址暂存器的致能位(expansion ROM BAR enable bit),其数值例如为0表示禁能,而数值例如为1表示致能。对于一般的装置或是支持单根输入输出虚拟化技术的装置的实体功能,管理处理器135会将写入指令传送到此装置,亦会将读取指令传送到此装置,并将结果传送回计算主机110。亦即,管理处理器135会至对应的管理主机端的虚拟功能M-B/D/F地址(例如为:4/3/2)进行写入,并将运算结果传送回计算主机110,而不需要配置影子暂存区块,来储存写入指令。然而,在单根输入输出虚拟化技术的标准中限制虚拟功能的延伸只读存储器基底地址暂存器中的所有位皆为只读,且数值为0。因此,计算主机110会判断虚拟功能的延伸只读存储器的尺寸为无效,而无法继续进行读取虚拟功能的延伸只读存储器的数据之操作。为了解决上述限制,本发明先依据虚拟功能的延伸只读存储器的尺寸(例如,1M Bytes)产生遮罩位,管理处理器135将影子暂存区块中的数据(例如:全为1的写入指令)与遮罩位进行与运算(AND),且管理处理器135将运算结果作为影子暂存区块中的数据以通过交换器137传送至计算主机110。在 此,上述运算结果可视为虚拟功能的位于影子暂存区块中的虚拟地址暂存器(例如,虚拟的延伸只读存储器基底地址暂存器)。
需说明的是,请参照图4B,图4B为依据本发明一实施例的遮罩位的范例,管理处理器135基于延伸只读存储器的尺寸来产生遮罩位。具体而言,本发明产生遮罩位的方法是先取得延伸存储器的尺寸(例如,1M Bytes),将延伸只读存储器的尺寸依据二进位形式呈现(例如,1 M大约为2^20,而二进位转换则为100000000000000000000b),将二进位形式的延伸只读存储器的尺寸填入遮罩位,并将二进位形式的延伸只读存储器的尺寸的最高有效位(most significant bit;MSB)至遮罩位的最高有效位的值皆设为1(例如:位[31:20]),将作为致能位的第0位(位[0])设为1,以表示致能,而其余位设为0(位[1:19]),则完成遮罩位。
需说明的是,当地址对照表中的过滤状态filter enable为禁能时(例如,表(1),过滤状态数值为0),管理处理器135不会过滤延伸只读存储器基底地址暂存器,也就是说,当计算主机110向管理主机130提出请求来取得延伸只读存储器的尺寸时,管理主机130会依照一般的方式通过虚拟功能读出相对应的暂存器内容,并传送至计算主机110。反之,当地址对照表中的过滤状态filter enable为致能时(例如,表(2)或表(3),过滤状态数值为1),管理处理器135会过滤延伸只读存储器基底地址暂存器(即,步骤S330所述管理处理器135将写入指令写入影子暂存区块,并将写入指令与遮罩位进行运算),以提供储存于影子暂存区块中的运算结果给计算主机110。值得注意的是,对于支持单根输入输出虚拟化技术装置的限制虚拟功能而言,本发明利用运算结果取代原本的延伸只读存储器基底地址暂存器,以提供虚拟的延伸只读存储器基底地址暂存器,进而克服延伸只读存储器基底地址暂存器中所有位皆为只读且数值为0的限制。换言之,运算结果可视为虚拟的延伸只读存储器基底地址暂存器。
在步骤S350中,计算主机110依据影子暂存区块中的数据分配计算主机110中的存储器区块给延伸只读存储器。如表(4)所示。
表(4)


具体而言,当计算主机110判断所读到的虚拟的延伸只读存储器基底地址暂存器中的数据为有效时,计算主机110依据虚拟的延伸只读存储器基底地址暂存器中的数据计算延伸只读存储器的尺寸(例如,1M Bytes、2M Bytes等)。需说明的是,若计算主机110取得的代表延伸只读存储器的尺寸的数据中所有位皆为0,则计算主机110判断此延伸只读存储器为无效。特别是,若延伸只读存储器的尺寸的数据中的所有位并非皆为0,则计算主机110判断为有效。上述延伸只读存储器的尺寸的数据是指虚拟的延伸只读存储器基底地址暂存器中的数据所计算出来的尺寸。此外,对于虚拟功能来说,若未通过影子暂存区块提供运算结果给计算主机110,则虚拟功能对应的延伸只读存储器的尺寸的数据中所有位皆为0,则计算主机将视此延伸只读存储器的尺寸为无效。因此,当延伸只读存储器的尺寸为有效时,计算主机110依据延伸只读存储器的尺寸于计算主机110的存储器(未绘示于图)中分配存储器区块给延伸只读存储器。例如,计算主机110将其存储器中3G至3G+1M-1的地址分配给延伸只读存储器,计算主机110将分配结果写入虚拟的延伸只读存储器基底地址暂存器中,管理主机130收到这个写入指令后写入表(4)中的 计算主机端存储器地址。
需说明的是,一般来说,计算主机110为了进行例如存储器映射输入输出(memory-mapping input and output;MMIO)程序,计算主机110会在其存储器(未绘示于图)中分配部分存储器区块(例如,存储器地址0×11000000至0×11001000)给外围设备(例如,网络卡、显示卡等),以将外围设备的储存器或暂存器映射至此存储器区块,计算主机110便可进行输入输出(I/O)作业。
一般来说,位于影子暂存区块中的存储器致能位(例如,位于影子暂存区块中的地址Offse 04)以及虚拟的延伸只读存储器基底地址暂存器的致能位预设值为0,以表示禁能。当计算主机110获得延伸只读存储器的尺寸,进而分配计算主机端存储器地址(例如,3G等)给延伸只读存储器时,计算主机110会将虚拟的延伸只读存储器基底地址暂存器设为3G且延伸只读存储器基底地址暂存器的致能位设为致能,再将虚拟功能的存储器致能位设为致能。另一方面,存储器地址转换致能状态预设为禁能,而当过滤状态、影子暂存区块中的数据中的致能位(例如,影子暂存区块中的数据中的第0位)以及存储器致能位为致能时,管理处理器135将存储器地址转换致能状态设为致能。换言之,管理主机130必须同时符合过滤状态致能(数值例如为1)、虚拟的延伸只读存储器基底地址暂存器的致能位致能(数值例如为1)、位于影子暂存区块中的存储器致能位致能(数值例如为1),此时管理主机130才会进行计算主机端与管理主机端的存储器地址转换,同时管理处理器135会将存储器地址转换致能状态由原本的禁能(数值例如为0)转变成致能(数值例如为1)。此时,如表(5)所示。
表(5)


在步骤S370中,当计算主机110提出请求以通过桥接器138取得延伸只读存储器的数据时,依据存储器区块提供延伸只读存储器的数据给计算主机110。具体而言,由于计算主机110已分配存储器区块(例如:存储器地址3G)给延伸只读存储器,计算主机110便可执行存储器映射输入输出(MMIO)程序(例如,传送MMIO读取指令(read cycle))以读取延伸只读存储器的数据。当该计算主机110传送读取指令时,管理主机130依据地址对照表提供延伸只读存储器的数据,其中管理主机130检查存储器地址转换致能状态是否为致能。另一方面,若计算主机110传送写入指令于延伸只读存储器,则管理主机130将忽略此写入指令。以下将以四个实施例说明本发明如何让计算主机110、115读取延伸只读存储器的数据,其中这些实施例中,仅以连接一个计算主机(例如,计算主机110或计算主机115)做为范例,然这些实施例仅为本案之实施方式的说明,应用本实施例者可将这些实施例进行适度地结合与应用,因此下述实施例并非用以限定本发明。
图5是依据本发明一实施例说明计算主机110读取延伸只读存储器的数据的流程示意图。请参照图1及图5,计算主机110通过桥接器138连接管理主机130,而管理主机130内嵌或耦接(例如,通过并行或串行总线(bus)、如同乙太网络(ethernet)或光纤等网络界面等)系统单芯片560(System-on-chip; SoC),其中系统单芯片560包括中央处理单元(central processing unit;CPU)、芯片组563(chipset)及存储器565。在本实施例中,桥接器138具备地址对照表550。桥接器138接收计算主机110传送的读取指令,桥接器138依据地址对照表550读取延伸只读存储器的数据,且桥接器138将延伸只读存储器的数据传送至计算主机110。
具体而言,在步骤S510中,计算主机110传送读取要求(例如,MMIO读取指令(MMIO read cycle))至桥接器138,其中读取要求包括计算主机端存储器地址(例如,3G)。在步骤S520中,桥接器138依据地址对照表550的数据(例如,表(5)中的管理主机端存储器地址Mem_m及存储器尺寸1MBytes)传送存储器读取要求至系统单芯片560,其中桥接器138比对地址对照表以及读取要求中的计算主机端存储器地址。当比对相符时,桥接器138将传送包括管理主机端存储器地址的存储器读取要求至系统单芯片560。系统单芯片560中的中央处理单元561依据存储器读取要求通过芯片组563对存储器565取得地址对照表550中记录的管理主机端存储器地址(例如,存储器地址Mem_m)的数据,其中此管理主机端存储器地址用于存放延伸只读存储器的数据。在步骤S530中,芯片563传送回应于步骤S520所传送的存储器读取要求的存储器读取回应,其中此存储器读取回应包含取得的延伸只读存储器的数据。在步骤S590中,桥接器138传送回应于步骤S510所传送的读取要求的读取回应,其中此读取回应包含延伸只读存储器的数据。借此,计算主机110便能将延伸只读存储器的数据载入以完成开机程序。
需说明的是,在计算主机110传送读取要求(例如,步骤S510)之前,中央处理单元561已先依据地址对照表将存储器565中对应于管理主机端存储器地址的存储器地址(例如,存储器地址Mem_m)分配给延伸只读存储器,以储存延伸只读存储器的数据。此外,以下实施例提及用于存放延伸只读存储器的数据的存储器地址的相关说明请参照前述说明,于后不再赘述。
图6是依据本发明另一实施例说明计算主机110读取延伸只读存储器的数据的流程示意图。请参照图1及图6,桥接器138接收计算主机110传送的读取指令,桥接器138通知管理主机130,管理处理器135利用软件模拟来取得读取指令且依据地址对照表将延伸只读存储器的数据传送至桥接器138并通知桥接器138,且桥接器138将延伸只读存储器的数据传送至计算主机110。
具体而言,在步骤S610中,计算主机110传送读取要求至桥接器138,暂存器138_1纪录此读取要求并传送中断(interrupt)指令(步骤S630),此时管理主机130是经由软件(例如,应用程序、韧体、系统等)模拟来执行计算主机的操作。在步骤S640中,管理处理器135利用软件模拟来向暂存器138_1取得读取数据,并依据地址对照表与读取数据比对。在步骤S650中,管理处理器135利用软件模拟比对相符(hit)时,并向暂存器138_3回应延伸只读存储器的数据,其中管理处理器135可利用软件模拟来事先取得延伸只读存储器的数据。管理处理器135利用软件模拟来传送触发(assert)指令至暂存器138_5(例如,触发暂存器)(步骤S670),暂存器138_3便将延伸只读存储器的数据传送至计算主机110(步骤S690)。
需说明的是,在一实施例中,管理处理器135利用软件模拟而依据地址对照表(例如,表(5)中的计算主机端存储器地址、管理主机端存储器地址以及存储器尺寸)来事先至管理主机130的存储器(未绘示于图)中的存储器地址(即,用于储存延伸存储器的数据的存储器地址,例如,存储器地址Mem_m)取得延伸只读存储器的数据,以便稍后提供给计算主机110。在另一实施例中,管理处理器135亦可依据步骤S640中所取得的读取数据来比对地址对照表(例如,表(5)中的计算主机端存储器地址),若比对相符时,则管理处理器依据地址对照表(例如,表(5)中的管理主机端存储器地址)至管理主机130的存储器的存储器地址(对应于管理主机端存储器地址Mmemory,例如,存储器地址Mem_m)中取得延伸只读存储器的数据,以提 供给暂存器138_3。
图7A及图7B是依据本发明另一实施例说明计算主机110读取延伸只读存储器的数据的流程示意图。请先参照图1及图7A,桥接器138具备指标器(pointer)138_2,桥接器138接收计算主机110传送的读取指令,指标器138_2写入此读取指令且通知管理主机130,管理处理器135利用软件模拟来取得延伸只读存储器的数据,且管理处理器135传送延伸只读存储器的数据至桥接器138并通知桥接器138,且桥接器138将延伸只读存储器的数据传送至计算主机110。
具体而言,在步骤S710中,计算主机110传送读取要求至桥接器138,桥接器138利用指标器138_2将接收的读取要求写入存储器134(步骤S720),并传送中断指令至管理处理器135所模拟的软件(步骤S730)。管理处理器135利用软件模拟自存储器134取得读取要求(步骤S740)并进行比对,当比对相符时,向暂存器138_3回应延伸只读存储器的数据(步骤S750),其中管理处理器135可利用软件136模拟来事先取得延伸只读存储器的数据。管理处理器135利用软件136模拟来传送触发(assert)指令至暂存器138_5(例如,触发暂存器)(步骤S770),暂存器138_3便将延伸只读存储器的数据传送至计算主机110(步骤S790)。需说明的是,指标器138_2可预先设定指向的存储器地址,或者,经由交握(handshaking)程序来取得指向的存储器地址。
接着,请参照图1及图7B,图7B中的桥接器138具备指标器138_2、138_6,桥接器138接收计算主机110传送的读取指令,指标器138_2写入此读取指令且通知管理主机130,管理处理器135利用软件136模拟来取得读取要求,且管理处理器135产生包括对应于读取要求的数据的回应数据且通知桥接器,指标器138_6读取回应数据,且桥接器138将回应数据传送至计算主机110。
请同时参照图7A及图7B,图7B与图7A不同的地方在于,桥接器138更具备指标器138_6,且在步骤S740之后,管理处理器135利用软件136模拟将包 括对应于延伸只读存储器的数据的回应数据写入存储器134(步骤S760)。在步骤S770中传送触发指令之后,指标器138_6便向存储器134取得步骤S760所写入的包括对应于延伸只读存储器的数据的回应数据。因此,指标器138_6便能提供延伸只读存储器的数据给计算主机110。需说明的是,指标器138_2、138_6可预先设定指向的存储器地址,或者,经由交握程序来取得指向的存储器地址。
综上所述,本发明的延伸只读存储器管理系统、方法及其管理主机利用软件模拟方式依据地址对照表提供影子暂存区块中的数据,以回应于计算主机对于延伸只读存储器的尺寸的读取要求以及配置要求。并且,本发明依据地址对照表提供延伸只读存储器的数据给计算主机。借此,通过本发明便能使虚拟功能支持延伸只读存储器,以使得管理主机能够更弹性地运用单根输入输出虚拟装置中的资源。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
附图中符号的简单说明如下:
100:延伸只读存储器管理系统
110、115、291:计算主机
110a、115a:根端口:
130:管理主机
131、270:输入输出虚拟化装置
134、565:存储器
135、210:管理处理器
136:软件
137、250:交换器
138、139、290:桥接器
138_1、138_3、138_5:暂存器
138_2、138_6:指标器
220:根复合器
S310~S370、S510~S590、S610~S690、S710~S790:步骤
550:地址对照表
560:系统单芯片
561:中央处理器
563:芯片组。

延伸只读存储器管理系统、方法及其管理主机.pdf_第1页
第1页 / 共25页
延伸只读存储器管理系统、方法及其管理主机.pdf_第2页
第2页 / 共25页
延伸只读存储器管理系统、方法及其管理主机.pdf_第3页
第3页 / 共25页
点击查看更多>>
资源描述

《延伸只读存储器管理系统、方法及其管理主机.pdf》由会员分享,可在线阅读,更多相关《延伸只读存储器管理系统、方法及其管理主机.pdf(25页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104298535A43申请公布日20150121CN104298535A21申请号201410519366X22申请日2014093010311581820140502TWG06F9/455200601G06F12/02200601G06F3/0620060171申请人威盛电子股份有限公司地址中国台湾新北市新店区中正路533号8楼72发明人何宽瑞74专利代理机构北京林达刘知识产权代理事务所普通合伙11277代理人刘新宇54发明名称延伸只读存储器管理系统、方法及其管理主机57摘要一种延伸只读存储器管理系统、方法及其管理主机。管理主机通过桥接器连接至计算主机,管理主机建立地址对。

2、照表以将虚拟功能及延伸只读存储器分配至计算主机。当计算主机提出请求以取得延伸只读存储器的尺寸时,管理主机依据地址对照表将对应于延伸只读存储器的影子暂存区块中的数据提供给计算主机。计算主机依据影子暂存区块中的数据分配计算主机中的存储器区块给延伸只读存储器,其中,当计算主机提出请求以通过桥接器取得延伸只读存储器的数据时,管理主机依据存储器区块提供延伸只读存储器的数据给计算主机。本发明可使虚拟功能支持延伸只读存储器。30优先权数据51INTCL权利要求书6页说明书13页附图5页19中华人民共和国国家知识产权局12发明专利申请权利要求书6页说明书13页附图5页10申请公布号CN104298535ACN。

3、104298535A1/6页21一种延伸只读存储器管理系统,其特征在于,包括至少一计算主机;以及一管理主机,通过至少一桥接器连接至对应的该至少一计算主机,该管理主机具备至少一虚拟功能,该管理主机建立至少一地址对照表以将该至少一虚拟功能及对应于该至少一虚拟功能的至少一延伸只读存储器分配至该至少一计算主机,其中,当该至少一计算主机提出请求以取得对应于该至少一虚拟功能的该至少一延伸只读存储器的尺寸时,该管理主机依据该至少一地址对照表将对应于该至少一延伸只读存储器的至少一影子暂存区块中的数据提供给该至少一计算主机,该至少一计算主机依据该至少一影子暂存区块中的数据分配该至少一计算主机中的至少一存储器区块。

4、给该至少一延伸只读存储器,其中,当该至少一计算主机提出请求以通过该至少一桥接器取得该至少一延伸只读存储器的数据时,该管理主机依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机。2根据权利要求1所述的延伸只读存储器管理系统,其特征在于,该管理主机将一写入指令与一遮罩位进行与运算,且该管理主机将一运算结果作为该至少一影子暂存区块中的数据以传送至该至少一计算主机,其中该运算结果代表该至少一虚拟功能位于该至少一影子暂存区块中的一虚拟地址暂存器。3根据权利要求2所述的延伸只读存储器管理系统,其特征在于,该管理主机基于该至少一延伸只读存储器的尺寸来产生该遮罩位。4根据权利要求1所述的。

5、延伸只读存储器管理系统,其特征在于,各该至少一地址对照表包括一有效状态、一计算主机编号、一计算主机端的虚拟功能地址、一管理主机端的虚拟功能地址、一过滤状态、一过滤范围以及对应的该至少一影子暂存区块,其中该过滤范围表示该至少一延伸只读存储器的一暂存器地址,其中,该至少一地址对照表中的该过滤状态预设为禁能,当该至少一计算主机传送一写入指令至该管理主机时,该管理主机依据该写入指令将该至少一地址对照表中的该过滤状态设为致能,该管理主机利用软件模拟将该写入指令仅写入该至少一地址对照表中的该至少一影子暂存区块,该管理主机对对应的该至少一影子暂存区块中的数据进行运算且依据一运算结果提供对应的该至少一影子暂存。

6、区块中的数据给该至少一计算主机。5根据权利要求4所述的延伸只读存储器管理系统,其特征在于,各该至少一地址对照表还包括一计算主机端存储器地址、一管理主机端存储器地址、一存储器尺寸及一存储器地址转换致能状态,其中该存储器尺寸指示该至少一延伸只读存储器的尺寸,其中,该存储器地址转换致能状态预设为禁能,当该至少一计算主机分配该至少一存储器区块给该至少一延伸只读存储器时,该至少一计算主机将一存储器致能位设为致能,该管理主机将该至少一存储器区块的数据作为该至少一地址对照表中的该计算主机端存储器地址,且当该过滤状态、对应的该至少一影子暂存区块中的数据中的一致能位以及该存储器致能位为致能时,该管理主机将该存储。

7、器地址转换致能状态设为致能。6根据权利要求1所述的延伸只读存储器管理系统,其特征在于,当该至少一计算主机判断该至少一影子暂存区块中的数据为有效时,该至少一计算主机依据该至少一影子暂存区块中的数据计算该至少一延伸只读存储器的尺寸,且该至少一计算主机依据该至少一权利要求书CN104298535A2/6页3延伸只读存储器的尺寸分配该至少一存储器区块给该至少一延伸只读存储器。7根据权利要求1所述的延伸只读存储器管理系统,其特征在于,该至少一桥接器具备该至少一地址对照表,当该至少一计算主机传送一读取指令时,该至少一桥接器依据该至少一地址对照表读取该至少一延伸只读存储器的数据,且该至少一桥接器将该至少一延。

8、伸只读存储器的数据传送至该至少一计算主机。8根据权利要求1所述的延伸只读存储器管理系统,其特征在于,当该至少一计算主机传送一读取指令时,该至少一桥接器通知该管理主机,该管理主机利用软件模拟来读取该读取指令且依据该至少一地址对照表将至少一延伸只读存储器的数据传送至该至少一桥接器并通知该至少一桥接器,且该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。9根据权利要求1所述的延伸只读存储器管理系统,其特征在于,该至少一桥接器具备一指标器,当该至少一计算主机传送一读取指令时,该指标器写入该读取指令且通知该管理主机,该管理主机利用软件模拟来取得该至少一延伸只读存储器的数据,且该管理主机。

9、传送该至少一延伸只读存储器的数据至该至少一桥接器并通知该至少一桥接器,且该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。10根据权利要求1所述的延伸只读存储器管理系统,其特征在于,该至少一桥接器具备一第一指标器及一第二指标器,当该至少一计算主机传送一读取指令时,该第一指标器写入该读取指令且通知该管理主机,该管理主机利用软件模拟来取得该至少一延伸只读存储器的数据,且该管理主机产生包括对应于该至少一延伸只读存储器的数据的一回应数据且通知该至少一桥接器,该第二指标器读取该回应数据,且该至少一桥接器将该回应数据传送至该至少一计算主机。11一种延伸只读存储器管理方法,其特征在于,包括。

10、建立至少一地址对照表以将至少一虚拟功能及对应于该至少一虚拟功能的至少一延伸只读存储器分配至至少一计算主机;当该至少一计算主机提出请求以取得对应于该至少一虚拟功能的该至少一延伸只读存储器的尺寸时,依据该至少一地址对照表将对应于该至少一延伸只读存储器的至少一影子暂存区块中的数据提供给该至少一计算主机;该至少一计算主机依据该至少一影子暂存区块中的数据分配该至少一计算主机中的至少一存储器区块给该至少一延伸只读存储器;以及当该至少一计算主机提出请求以通过至少一桥接器取得该至少一延伸只读存储器的数据时,依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机。12根据权利要求11所述的延伸。

11、只读存储器管理方法,其特征在于,当该至少一计算主机提出请求以取得对应于该至少一虚拟功能的该至少一延伸只读存储器的尺寸时,依据该至少一地址对照表将对应于该至少一延伸只读存储器的该至少一影子暂存区块中的数据提供给该至少一计算主机的步骤包括将一写入指令与一遮罩位进行与运算;将一运算结果作为该至少一影子暂存区块中的数据以传送至该至少一计算主机,其中该运算结果代表该至少一虚拟功能位于该至少一影子暂存区块中的一虚拟地址暂存器。权利要求书CN104298535A3/6页413根据权利要求12所述的延伸只读存储器管理方法,其特征在于,将该写入指令与该遮罩位进行与运算之前的步骤,还包括基于该至少一延伸只读存储器。

12、的尺寸来产生该遮罩位。14根据权利要求11所述的延伸只读存储器管理方法,其特征在于,各该至少一地址对照表包括一有效状态、一计算主机编号、一计算主机端的虚拟功能地址、一管理主机端的虚拟功能地址、一过滤状态、一过滤范围以及对应的该至少一影子暂存区块,其中该至少一地址对照表中的该过滤状态预设为禁能,且该过滤范围表示至少一延伸只读存储器的一暂存器地址,而当该至少一计算主机提出请求以取得对应于该至少一虚拟功能的该至少一延伸只读存储器的尺寸时,依据该至少一地址对照表将对应于该至少一延伸只读存储器的该至少一影子暂存区块中的数据提供给该至少一计算主机的步骤包括当接收到来自该至少一计算主机的一写入指令时,依据该。

13、写入指令将该至少一地址对照表中的该过滤状态设为致能;利用软件模拟将该写入指令仅写入该至少一地址对照表中的该至少一影子暂存区块;以及对对应的该至少一影子暂存区块中的数据进行运算且依据一运算结果提供对应的该至少一影子暂存区块中的数据给该至少一计算主机。15根据权利要求14所述的延伸只读存储器管理方法,其特征在于,各该至少一地址对照表还包括一计算主机端存储器地址、一管理主机端存储器地址、一存储器尺寸及一存储器地址转换致能状态,其中该存储器地址转换致能状态预设为禁能,且该存储器尺寸指示该至少一延伸只读存储器的尺寸,而该至少一计算主机依据该至少一影子暂存区块中的数据分配该至少一计算主机中的该至少一存储器。

14、区块给该至少一延伸只读存储器的步骤包括当该至少一计算主机分配该至少一存储器区块给该至少一延伸只读存储器时,该至少一计算主机将一存储器致能位设为致能;将该至少一存储器区块的数据作为该至少一地址对照表中的该计算主机端存储器地址;以及当该过滤状态、对应的该至少一影子暂存区块中的数据中的一致能位以及该存储器致能位为致能时,将该存储器地址转换致能状态设为致能。16根据权利要求11所述的延伸只读存储器管理方法,其特征在于,该至少一计算主机依据该至少一影子暂存区块中的数据分配该至少一计算主机中的该至少一存储器区块给该至少一延伸只读存储器的步骤包括当该至少一计算主机判断该至少一影子暂存区块中的数据为有效时,该。

15、至少一计算主机依据该至少一影子暂存区块中的数据计算该至少一延伸只读存储器的尺寸;以及该至少一计算主机依据该至少一延伸只读存储器的尺寸分配该至少一存储器区块给该至少一延伸只读存储器。17根据权利要求11所述的延伸只读存储器管理方法,其特征在于,该至少一桥接器具备该至少一地址对照表,而当该至少一计算主机提出请求以通过该至少一桥接器取得该至少一延伸只读存储器的数据时,依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机的步骤包括权利要求书CN104298535A4/6页5接收该至少一计算主机传送的一读取指令;通过该至少一桥接器依据该至少一地址对照表读取该至少一延伸只读存储器的数据。

16、;以及通过该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。18根据权利要求11所述的延伸只读存储器管理方法,其特征在于,当该至少一计算主机提出请求以通过该至少一桥接器取得该至少一延伸只读存储器的数据时,依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机的步骤包括接收该至少一计算主机传送的一读取指令;接收该至少一桥接器的通知;利用软件模拟来读取该读取指令且依据该至少一地址对照表将至少一延伸只读存储器的数据传送至该至少一桥接器且通知该至少一桥接器;以及通过该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。19根据权利要求11所述的延伸只读。

17、存储器管理方法,其特征在于,该至少一桥接器具备一指标器,而当该至少一计算主机提出请求以通过该至少一桥接器取得该至少一延伸只读存储器的数据时,依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机的步骤包括接收该至少一计算主机传送的一读取指令;通过该指标器写入该读取指令且传送通知;利用软件模拟来取得该至少一延伸只读存储器的数据;传送该至少一延伸只读存储器的数据至该至少一桥接器且通知该至少一桥接器;以及通过该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。20根据权利要求11所述的延伸只读存储器管理方法,其特征在于,该至少一桥接器具备一第一指标器及一第二指标器,。

18、而当该至少一计算主机提出请求以通过该至少一桥接器取得该至少一延伸只读存储器的数据时,依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机的步骤包括接收该至少一计算主机传送的一读取指令;通过该第一指标器写入该读取指令且传送通知;利用软件模拟来取得该至少一延伸只读存储器的数据;产生包括对应于该至少一延伸只读存储器的数据的一回应数据且通知该至少一桥接器;通过该第二指标器读取该回应数据;以及该至少一桥接器将该回应数据传送至该至少一计算主机。21一种管理主机,其特征在于,包括一交换器,包括至少一桥接器,其中该至少一桥接器分别耦接至对应的至少一计算主机;一输入输出虚拟化装置,耦接该交换。

19、器,具备至少一虚拟功能;以及一管理处理器,耦接该交换器,建立至少一地址对照表以将该至少一虚拟功能及对应于该至少一虚拟功能的至少一延伸只读存储器分配至该至少一计算主机,其中,当该至少一计算主机提出请求以取得对应于该至少一虚拟功能的该至少一延伸只读权利要求书CN104298535A5/6页6存储器的尺寸时,该管理处理器依据该至少一地址对照表将对应于该至少一延伸只读存储器的至少一影子暂存区块中的数据提供至该至少一计算主机,该至少一计算主机依据该至少一影子暂存区块中的数据分配至少一存储器区块给该至少一延伸只读存储器,其中,当该至少一计算主机提出请求以通过该至少一桥接器取得该至少一延伸只读存储器的数据时。

20、,该管理处理器依据该至少一存储器区块提供该至少一延伸只读存储器的数据给该至少一计算主机。22根据权利要求21所述的管理主机,其特征在于,该管理处理器将一写入指令与一遮罩位进行与运算,且该管理处理器将一运算结果作为该至少一影子暂存区块中的数据以传送至该至少一计算主机,其中该运算结果代表该至少一虚拟功能位于该至少一影子暂存区块中的一虚拟地址暂存器。23根据权利要求22所述的管理主机,其特征在于,该管理处理器基于该至少一延伸只读存储器的尺寸来产生该遮罩位。24根据权利要求21所述的管理主机,其特征在于,各该至少一地址对照表包括一有效状态、一计算主机编号、一计算主机端的虚拟功能地址、一管理主机端的虚拟。

21、功能地址、一过滤状态、一过滤范围以及对应的该至少一影子暂存区块,其中该过滤范围表示至少一延伸只读存储器的一暂存器地址,其中,该至少一地址对照表中的该过滤状态预设为禁能,当该至少一计算主机传送一写入指令至该管理主机时,该管理处理器依据该写入指令将该至少一地址对照表中的该过滤状态设为致能,该管理处理器利用软件模拟将该写入指令仅写入该至少一地址对照表中的对应的该至少一影子暂存区块,该管理处理器对对应的该至少一影子暂存区块中的数据进行运算且依据一运算结果通过该至少一桥接器以提供对应的该至少一影子暂存区块中的数据给该至少一计算主机。25根据权利要求24所述的管理主机,其特征在于,各该至少一地址对照表还包。

22、括一计算主机端存储器地址、一管理主机端存储器地址、一存储器尺寸及一存储器地址转换致能状态,其中该存储器尺寸指示该至少一延伸只读存储器的尺寸,其中,该存储器地址转换致能状态预设为禁能,当该至少一计算主机分配该至少一存储器区块给该至少一延伸只读存储器时,该至少一计算主机将一存储器致能位设为致能,该管理处理器将该至少一存储器区块的数据作为该至少一地址对照表中的该计算主机端存储器地址,且当该过滤状态、该至少一影子暂存区块中的数据中一致能位以及该存储器致能位为致能时,该管理处理器将该存储器地址转换致能状态设为致能。26根据权利要求21所述的管理主机,其特征在于,当该至少一计算主机判断该至少一影子暂存区块。

23、中的数据为有效时,该至少一计算主机依据该至少一影子暂存区块中的数据计算该至少一延伸只读存储器的尺寸,且该至少一计算主机依据该至少一延伸只读存储器的尺寸分配该至少一存储器区块给该至少一延伸只读存储器。27根据权利要求21所述的管理主机,其特征在于,该交换器中的该至少一桥接器具备该至少一地址对照表,当该至少一计算主机传送一读取指令时,该至少一桥接器依据该至少一地址对照表读取该至少一延伸只读存储器的数据,且该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。权利要求书CN104298535A6/6页728根据权利要求21所述的管理主机,其特征在于,当该至少一计算主机传送一读取指令时,。

24、该交换器中的该至少一桥接器通知该管理主机,该管理处理器利用软件模拟来读取该读取指令且依据该至少一地址对照表将至少一延伸只读存储器的数据传送至该至少一桥接器并通知该至少一桥接器,且该至少一桥接器将该至少一延伸只读存储器的数据传送至该至少一计算主机。29根据权利要求21所述的管理主机,其特征在于,该交换器中的该至少一桥接器具备一指标器,当该至少一计算主机传送一读取指令时,该指标器写入该读取指令且通知该管理主机,该管理处理器利用软件模拟来取得该至少一延伸只读存储器的数据,且该管理处理器传送该至少一延伸只读存储器的数据至该至少一桥接器并通知该至少一桥接器,且该至少一桥接器将该至少一延伸只读存储器的数据。

25、传送至该至少一计算主机。30根据权利要求21所述的管理主机,其特征在于,该交换器中的该至少一桥接器具备一第一指标器及一第二指标器,当该至少一计算主机传送一读取指令时,该第一指标器写入该读取指令且通知该管理主机,该管理处理器利用软件模拟来取得该至少一延伸只读存储器的数据,且该管理处理器产生包括对应于该至少一延伸只读存储器的数据的一回应数据且通知该至少一桥接器,该第二指标器读取该回应数据,且该至少一桥接器将该回应数据传送至该至少一计算主机。权利要求书CN104298535A1/13页8延伸只读存储器管理系统、方法及其管理主机技术领域0001本发明是有关于一种计算机系统的虚拟化技术,且特别是有关于一。

26、种支持虚拟功能VIRTUALFUNCTION;VF的延伸只读存储器管理系统、方法及其管理主机。背景技术0002近年来,随着因特网INTERNET的蓬勃发展,使用者对于信息服务的需求越来越高,服务器承受的负担亦越来越大。因此,为了降低成本及有效利用资源,服务器虚拟化的技术亦逐渐成为发展的趋势。而在外围设备连接快递PERIPHERALCOMPONENTINTERCONNECTIONEXPRESS;PCIE的规格中,单根输入输出虚拟化SINGLEROOTI/OVIRTUALIZATION;SRIOV即是服务器虚拟化的有效解决方案之一。单根输入输出虚拟化技术可以让实体主机例如,计算主机COMPUTER。

27、HOST分配多个虚拟功能VIRTUALFUNCTION;VF给不同虚拟机器VIRTUALMACHINE。0003另一方面,由于操作系统可储存于多种储存介质例如,硬盘HARDDISC、网络服务器、光盘只读存储器等,实体主机中便具备多种开机选项以供使用者选择载入的系统。举例来说,支持单根输入输出虚拟化技术的装置,例如网络转接卡NETWORKADAPTER,其实体功能PHYSICALFUNCTION;PF中的延伸只读存储器基底地址暂存器EXPANSIONREADONLYMEMORYBASEADDRESSREGISTER;EXPANSIONROMBAR所配置的存储器映射存取地址MMIOADDRESS可。

28、用来存取延伸只读存储器的内容,而此内容为支持预先载入执行环境PREBOOTEXECUTIONENVIRONMENT;PXE的程序或核心KERNEL。实体主机需取得预先载入执行环境PXE的程序内容,才可通过网络取得开机所需的操作系统。然而,支持单根输入输出虚拟化技术的装置,其虚拟功能之中的延伸只读存储器基底地址暂存器EXPANSIONROMBAR是保留RESERVED的,故无法支持预先载入执行环境启动PXEBOOT。发明内容0004本发明提供一种延伸只读存储器EXPANSIONROM管理系统、方法及其管理主机,其可支持虚拟功能来应用延伸只读存储器。0005本发明提出一种延伸只读存储器管理系统,此。

29、系统包括计算主机以及管理主机。管理主机分别通过桥接器BRIDGE连接至对应的计算主机COMPUTEHOST,管理主机具备虚拟功能VIRTUALFUNCTION;VF,管理主机建立地址对照表以将虚拟功能及对应于虚拟功能的延伸只读存储器分配至计算主机。并且,当计算主机提出请求以取得对应于虚拟功能的延伸只读存储器的尺寸时,管理主机依据地址对照表将对应于延伸只读存储器的影子暂存区块中的数据提供给计算主机,计算主机依据影子暂存区块中的数据分配计算主机中的存储器区块给延伸只读存储器。当计算主机提出请求以通过桥接器取得延伸只读存储器的数据时,管理主机依据存储器区块提供延伸只读存储器的数据给计算主机。0006。

30、另一观点而言,本发明提出一种延伸只读存储器管理方法,此方法包括下列步骤。说明书CN104298535A2/13页9建立地址对照表以将虚拟功能及对应于虚拟功能的至少延伸只读存储器分配给计算主机。当计算主机提出请求以取得对应于虚拟功能的延伸只读存储器的尺寸时,依据地址对照表将对应于延伸只读存储器的影子暂存区块中的数据给计算主机。并且,计算主机依据影子暂存区块中的数据分配计算主机中的存储器区块给延伸只读存储器。当计算主机提出请求以通过桥接器取得延伸只读存储器的数据时,依据存储器区块提供延伸只读存储器的数据给计算主机。0007另一观点而言,本发明提出一种管理主机,此管理主机包括交换器SWITCH、输入。

31、输出虚拟化装置以及管理处理器。交换器包括桥接器,其中桥接器分别耦接对应的计算主机。输入输出虚拟化装置耦接该交换器,输入输出虚拟化装置具备虚拟功能。管理处理器耦接交换器,管理处理器建立地址对照表以将虚拟功能及对应于虚拟功能的延伸只读存储器分配至计算主机。当计算主机提出请求以取得对应于虚拟功能的延伸只读存储器的尺寸时,管理处理器依据地址对照表将对应于延伸只读存储器的影子暂存区块中的数据提供至计算主机,计算主机依据影子暂存区块中的数据分配存储器区块给延伸只读存储器,其中,当计算主机提出请求以通过桥接器取得延伸只读存储器的数据时,管理处理器依据存储器区块提供延伸只读存储器的数据给计算主机。0008基于。

32、上述,本发明实施例所述的延伸只读存储器管理系统预先分配虚拟功能及延伸只读存储器给计算主机以建立地址对照表,当计算主机欲取得延伸只读存储器的尺寸时,管理主机将计算主机所传送的写入指令进行运算,以提供对应于延伸只读存储器的影子暂存区块中的数据给计算主机,进而使计算主机可通过桥接器读取延伸只读存储器的数据。借此,本发明实施例的延伸只读存储器管理系统可使其虚拟功能支持提供延伸只读存储器的数据。附图说明0009图1是依据本发明一实施例说明一种延伸只读存储器管理系统的方块图。0010图2是依据本发明一实施例说明图1的管理主机的范例。0011图3是依据本发明一实施例说明一种延伸只读存储器管理方法的流程图。0。

33、012图4A及图4B为依据本发明一实施例说明延伸只读存储器基底地址暂存器与运算遮罩位的范例。0013图5是依据本发明一实施例说明计算主机读取延伸只读存储器的数据的流程示意图。0014图6是依据本发明另一实施例说明计算主机读取延伸只读存储器的数据的流程示意图。0015图7A及图7B是依据本发明另一实施例说明计算主机读取延伸只读存储器的数据的流程示意图。具体实施方式0016为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。0017为了使单根输入输出虚拟化SRIOV装置中的虚拟功能支持延伸只读存储器,说明书CN104298535A3/13页10进而可通过网络取得开。

34、机所需的操作系统。本发明实施例提出一种虚拟功能分配系统、方法及其管理主机。当计算主机欲取得管理主机中的延伸只读存储器的尺寸时,管理主机将计算主机传送的写入指令写入影子暂存区块,并通过运算,使得计算主机可获得管理主机所提供的影子暂存区块中的尺寸数据。在此,管理主机利用软件模拟进行代理PROXY,并且影子暂存区块SHADOWREGISTERBLOCK可以储存与代理有关的数据,例如虚拟的延伸只读存储器基底地址暂存器EXPANSIONROMBAR的数据、存储器致能位MEMORYENABLEBIT的数据等。当尺寸确认后,计算主机将存储器地址分配给延伸只读存储器,以取得延伸只读存储器的数据。除此之外,本发。

35、明实施例中的管理主机更可利用软件模拟方式取得存储器中延伸只读存储器的数据。借此,通过本发明便能使虚拟功能支持延伸只读存储器,以使得管理主机能够更弹性地运用单根输入输出虚拟装置中的资源。0018图1是依据本发明一实施例说明一种延伸只读存储器管理系统的方块图。请参照图1,延伸只读存储器管理系统100包括计算主机110、115以及管理主机130。0019计算主机110及115可以是桌上型DESKTOP计算机、笔记型计算机LAPTOP等具备中央处理单元CENTRALPROCESSINGUNIT;CPU或是其他可程序化的一般用途或特殊用途的微处理器MICROPROCESSOR、数字信号处理器DIGITA。

36、LSIGNALPROCESSOR;DSP、可程序化控制器、特殊应用集成电路APPLICATIONSPECICINTEGRATEDCIRCUIT;ASIC的电子装置。值得注意的是,在本实施例中,计算主机110及115还包括如同南桥SOUTHBRIDGE芯片CHIPSET、北桥NORTHBRIDGE芯片等可处理计算主机110及115中各元件/设备的传输信号的芯片。0020在本实施例中,计算主机110、115及管理主机130支持外围设备连接快递PERIPHERALCOMPONENTINTERCONNECTIONEXPRESS;PCIE规格,计算主机110、115及管理主机130之间可通过缆线CABL。

37、E搭配PCIE连接器CONNECTOR、或是将计算主机110、115的PCIE连接器插入管理主机130中的PCIE插槽SLOT来进行电性连接、通讯、检测及存取。然而,本发明实施例对于计算主机110、115及管理主机130之间的耦接方式并不受限于此,端视应用本实施例者所采用的传输界面而定。0021在本实施例中,管理主机130包括输入输出虚拟化装置131、管理处理器135及交换器137。输入输出虚拟化装置131可以是支持单根输入输出虚拟化技术的网络转接卡NETWORKADAPTER等设备。一般而言,支持单根输入输出虚拟化技术的输入输出虚拟化装置131可包括一个或多个PCIE实体功能PHYSICAL。

38、FUNCTION;PF,且各个实体功能可对应至少一个虚拟功能VIRTUALFUNCTION;VF,其中虚拟功能可提供虚拟机器VIRTUALMACHINE使用,而实体功能例如对应64个虚拟功能。0022一般而言,当使用者开启计算机例如,桌上型计算机、笔记型计算机时,基本输入输出系统BASICINPUT/OUTPUTSYSTEM;BIOS会传送电源启动自我测试POWERONSELFTEST;POST序列以扫描主机板所连接的各组件,并寻找延伸只读存储器以载入操作系统。具体而言,基本输入输出系统先通过延伸只读存储器的载具例如,网络转接卡提供延伸只读存储器的尺寸以确认延伸只读存储器基底地址暂存器的内容的。

39、有效性。若有效,则配置存储器映射输入输出MEMORYMAPPINGINPUTANDOUTPUT;MMIO地址,该地址可用来存取延伸只读存储器的内容,其中此内容为支持预先载入执行环境PREBOOTEXECUTIONENVIRONMENT;PXE的程序。接着,实体主机需取得预先载入执行环境PXE的说明书CN104298535A104/13页11程序内容,以通过网络取得开机所需的操作系统。然而,一般情况下,仅有实体功能的延伸只读存储器基底地址暂存器的内容可以被确认。但因为虚拟功能的延伸只读存储器基底地址暂存器的位内容为0,且为只读READONLY,故无法被确认,从而无法读取虚拟功能所对应的延伸只读存。

40、储器的数据。0023此外,虽然单根输入输出虚拟化技术能使多台虚拟机器使用输入输出虚拟化装置的虚拟功能,但是其仅能支持单一计算主机例如计算主机110或115其中之一。因此,为了解决单根输入输出虚拟化技术的限制,管理主机130可利用非透明桥接器NONTRANSPARENTBRIDGE;NTB,并将输入输出虚拟化装置131的虚拟功能分配给计算主机110及115,使得输入输出虚拟化装置131可以同时被计算主机110及115使用。然而,上述的非透明桥接器虽然解决了单一计算主机的使用限制,但计算主机依然无法读取虚拟功能所对应的延伸只读存储器的数据。亦即,管理主机依然仅能提供实体功能所对应的延伸只读存储器的。

41、数据。因此,当计算主机欲取得虚拟功能所对应的延伸只读存储器的尺寸时,本发明可利用软件模拟来提供影子暂存区块中的数据,以使得计算主机获得有效的基底地址暂存器的内容,进而使计算主机能够读取虚拟功能所对应的延伸只读存储器的数据。0024请继续参照图1,管理处理器135可以是中央处理单元,或是其他可程序化的一般用途或特殊用途的微处理器、数字信号处理器、可程序化控制器、特殊应用集成电路或其他类似元件或上述元件的组合。在本实施例中,管理处理器135用以处理本实施例的管理主机130所有作业。此外,管理处理器135可得知管理主机130中可用的虚拟功能及其数量,且管理处理器135亦可得知可用的计算主机及其数量。。

42、在本实施例中,以两个计算主机110、115为范例,然不以此为限。管理处理器135可依据计算主机110、115及虚拟功能的能力例如,运算速度、存储器尺寸等或上层软件传送的建立虚拟机器要求建立对照表,进而依据对照表将虚拟功能分配给计算主机110、115。其中,对照表包括计算主机110、115所对应的各虚拟功能的PCI组态空间地址PCICONGURATIONSPACEADDRESS,例如总线/装置/功能BUS/DEVICE/FUNCTION的地址。0025交换器137可以是PCIE交换器SWITCH、或是其他支持PCIE规格的交换器。交换器137包括桥接器138及139。就计算主机110、115的观。

43、点而言,桥接器138及139可视为是外围设备连接至外围设备连接PCITOPCI;P2P桥接器;就管理处理器135观点而言,桥接器138及139可视为是非透明桥接器NTB。桥接器138、139的两端因分别连接计算主机110、115及管理主机130,因此具有各自的PCI域DOMAIN及存储器域MEMORYDOMAIN,进而需通过地址转换对照表进行此二个PCI域及存储器域的地址转换ADDRESSTRANSLATION,其中地址转换对照表将于稍后对照表再作说明。另外,桥接器138及139例如是分别耦接至对应的计算主机110及115的根端口ROOTPORT110A及115A,且上述的桥接器138及139。

44、可为实体桥接器PHYSICALBRIDGE,其具有总线/装置/功能BUS/DEVICE/FUNCTION的地址。0026图2是依据本发明一实施例说明图1的管理主机130的范例。在本实施例中,管理主机130中的管理处理器210经由根复合器ROOTCOMPLEXDEVICE220来控制PCIE交换器250。PCIE交换器250连接单根输入输出虚拟化装置270及多个桥接器290,而桥接器290可连接对应的计算主机291。就计算主机291的观点而言,桥接器290可视为外围设备连接至外围设备连接P2P桥接器,而就管理处理器210观点来说可将桥接器290视为是说明书CN104298535A115/13页1。

45、2非透明桥接器NTB。在本实施例中,管理处理器210可视为是图1的管理处理器135的一种实施方式。在本实施例中,PCIE交换器250可视为图1的交换器137的一种实施方式。单根输入输出虚拟化装置270可视为图1的输入输出虚拟化装置131的一种实施方式。桥接器290可视为图1的桥接器138、139的一种实施方式。计算主机291可视为图1的计算主机110、115的一种实施方式。此外,根复合器220可视为图1的管理处理器135的一部分或是交换器137一部分。0027为了方便说明,以下实施例将以图1中的计算主机110作为范例,在其他实施例中亦可使用计算主机115,且不以此为限。管理主机130的管理处理。

46、器135会建立地址对照表以将虚拟功能及对应于虚拟功能的延伸只读存储器分配至计算主机110。0028举例而言,表1为地址对照表的范例,其中地址对照表表1包括有效状态VALID、计算主机编号CH、计算主机端的虚拟功能地址CHB/D/F、管理主机端的虚拟功能地址MB/D/F、过滤状态LTERENABLE、过滤范围LTERRANGE、影子暂存区块SHADOWREGISTERBLOCK、计算主机端存储器地址CHMEMORY、管理主机端存储器地址MMEMORY、存储器尺寸SIZE及存储器地址转换致能状态MEMORYADDRESSREMAPENABLE。0029表1003000310032管理处理器135依。

47、据有效状态决定是否利用软件模拟进行代理。例如,当表1的有效状态的数值例如为0表示禁能时,管理主机130不进行代理,且影子暂存区块不储存任何数据DATA。而当有效状态的数值例如为1表示致能时,则管理主机130进行代理,并且相关的代理数据可被储存于影子暂存区块中。地址对照表中的计算主机110编号例如,1,而此计算主机端的虚拟功能CHB/D/F地址例如,2/0/0,且管理主机端的虚拟功能MB/D/F地址例如,4/3/2。上述的B/D/F地址指总线/装置/功能BUS/DEVICE/FUNCTION的地址。过滤状态LTERENABLE的数值例如为0表示为禁能,而数值例如为1表示致能。过滤范围表示延伸只读。

48、存储器的暂存器地址例如,影子暂存区块中的地址OFFSET3033。影子暂存区块中的数据例如为0表示未储存任何数据,且影子暂存区块中的数据亦可储存与管理主机130代理有关的数据例如,储存于OFFSET3033地址的对应说明书CN104298535A126/13页13虚拟功能的虚拟的延伸只读存储器基底地址暂存器的数据或储存于OFFSET04地址的存储器致能位。一般来说,影子暂存区块中的数据会依据有关的写入组态指令而写入相关的数据。在一实施例中,影子暂存区块为一存储器区块例如,管理主机130的存储器未绘示于图中的存储器区块。计算主机端存储器地址的数值例如为0表示计算主机110尚未分配地址给延伸只读存。

49、储器。管理主机端存储器地址假设为MEM_M,表示管理主机130分配地址MEM_M给延伸只读存储器。存储器尺寸为延伸只读存储器的尺寸例如,1MBYTES。存储器地址转换致能状态的数值例如为0表示管理主机130不进行存储器地址转换,而存储器地址转换致能状态数值例如为1表示管理主机130进行存储器地址转换。0033在上述参数的设定下,管理主机130收到来自计算主机110的组态指令例如,读取或写入指令,则会将计算主机端的虚拟功能CHB/D/F地址例如,2/0/0转换成管理主机端的虚拟功能MB/D/F地址例如,4/3/2。并且,影子暂存区块会储存有关组态指令的写入数据。需说明的是,表1中的各参数值仅为示例,在其他实施例中,实施本发明的本领域技术人员可随其需求而调整。0034表2003500360037表2为地址对照表的另一实施例。当上述参数设定中的过滤状态LTERENABLE的值,例如为1时,表示为致能。此时,当管理主机130收到来自计算主机110的读取组态指令时,则会依过滤范围例如OFFSET3033地址对指令进行过滤。若范围符合HIT,则管理处理器135会将计算主机端的虚拟功能CHB/D/F地址例如为2/0/0转换至影子暂存区块以读取相关数据,而不再至管理主机端的虚拟功能MB/D/F地址例如为4/3/2进行读取。同样地,若自计算主机110收到的读取组态指令为写入组态指令时,则。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1