CN1696909A - 消除分区间转换存储通道和分区分析的方法和设备 - Google Patents

消除分区间转换存储通道和分区分析的方法和设备 Download PDF

Info

Publication number
CN1696909A
CN1696909A CNA2005100081936A CN200510008193A CN1696909A CN 1696909 A CN1696909 A CN 1696909A CN A2005100081936 A CNA2005100081936 A CN A2005100081936A CN 200510008193 A CN200510008193 A CN 200510008193A CN 1696909 A CN1696909 A CN 1696909A
Authority
CN
China
Prior art keywords
subregion
data
calling
identification
tracking data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100081936A
Other languages
English (en)
Other versions
CN1329838C (zh
Inventor
戈登·D.·麦金托什
加里·李·拉泽科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1696909A publication Critical patent/CN1696909A/zh
Application granted granted Critical
Publication of CN1329838C publication Critical patent/CN1329838C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

逻辑分区数据处理系统中用于管理跟踪数据的方法、设备和计算机指令。从逻辑分区数据处理系统中的多个分区内的调用分区接收对跟踪数据的调用。识别缓冲区中与调用分区相关的跟踪数据,形成识别的跟踪数据。只返回调用分区的识别的跟踪数据。多个分区内的其它分区的跟踪数据不被返回给调用分区。

Description

消除分区间转换存储通道 和分区分析的方法和设备
技术领域
本发明涉及改进的数据处理系统,具体地说涉及处理数据的方法和设备。更具体地说,本发明涉及管理逻辑分区数据处理系统中的跟踪数据的方法、设备和计算机指令。
背景技术
越来越多地,大型的对称多处理器数据处理系统,例如可从国际商用机器公司获得的IBM eServer P690,可从惠普公司获得的DHP9000Superdome Enterprise Server,和可从太阳微系统公司获得的Sunfire15K server不再用作单一的大型数据处理系统。相反,这些类型的数据处理系统被分区并被用作较小的系统。这些系统也称为逻辑分区(LPAR)数据处理系统。数据处理系统内的逻辑分区功能允许单一操作系统的多个副本或者多个不同种类的操作系统同时在单一数据处理系统平台上运行。平台资源的一个不重叠子集被分配给其中运行一个操作系统镜像(image)的一个分区,这些平台可分配资源包括一个或者多个体系结构不同的处理器,各有自己的中断管理区、系统存储区以及输入输出(I/O)适配器总线插槽。分区的资源由平台的固件提供给操作系统。
在平台内运行的每个不同的操作系统或操作系统的镜像都受到保护不受其它操作系统的影响,从而一个逻辑分区中的软件错误不会影响任何其它分区中的正确操作。通过分配要由每个操作系统镜像直接管理的平台资源的不相交集合,并提供保证各镜像不能控制未分配给该镜像的资源的机制,提供这种保护。另外,防止在控制操作系统的分配资源时的软件错误影响任何其它镜像的资源。
这样,操作系统的每个镜像或者每个不同的操作系统直接控制平台内的可分配资源的一个独立集合。对于逻辑分区数据处理系统中的硬件资源,这些资源在各分区之间是被不相交地共享的。这些资源可包括,例如输入输出(I/O)适配器、存储器DIMM、非易失性随机存取存储器(NVRAM)以及硬盘驱动器。LPAR数据处理系统内的每个分区可被多次引导和关闭,而不必重开整个数据处理系统的电源。
当逻辑分区数据处理系统经历故障时,需要与进程和系统状态相关的数据来帮助识别和分析故障。在目前的逻辑分区数据处理系统中,由于系统的当前设计的缘故,不能获得诊断故障所需的一些数据。例如,平台固件包括允许跟踪固件中的代码路径的跟踪工具(trace facility)。逻辑分区数据处理系统中使用的平台固件的例子是可从国际商用机器公司获得的管理程序(hypervisor)。
就目前使用的跟踪工具来说,当每个分区产生平台固件调用时,表示在平台固件中采取的代码路径的跟踪信息和关键数据值被写入跟踪缓冲区中。当某一分区遇到错误并且与关键数据值一起跟踪错误路径时,该跟踪信息特别关键。
目前所有逻辑分区模式数据处理系统平台支持在管理程序执行期间,用于把管理程序代码执行跟踪点数据写入位于管理程序空间中的跟踪缓冲区中的管理程序跟踪工具。在系统故障的情况下,这种管理程序跟踪数据对有效的现场故障分析特别重要。
所有的管理程序调用跟踪点使用相同的跟踪缓冲区,并通过调用分区编号,包括被分配分区0的分区管理器(partition manager)来识别。由于就存储器分配来说,管理程序是静态的,因此该缓冲区长度固定,并且对于平台的最大数目的分区来说必须足够大。当需要跟踪数据时,利用操作系统命令,例如先进交互执行(AIX)操作系统命令“fetchdog”,可从任意分区取回(retrieve)所述跟踪数据。该命令把发出复制跟踪数据的管理程序调用的特殊交互执行(AIX)操作系统设备驱动程序装入分区空间中。
由于该命令收集整个管理程序跟踪缓冲区的内容,因此它允许单一分区从包括分区管理器的所有分区取回数据,使逻辑分区数据处理系统可能受到安全薄弱环节的影响。这些安全薄弱环节包括双向转换存储通道(bi-directional covert storage channel),由另一分区进行的分区操作的分析,以及管理程序操作的分析。
在分区之间可建立双向转换存储通道。由于跟踪缓冲区被组织成循环缓冲区,因此系统定期消除通信的所有证据。当更多的数据被写入缓冲区中时,陈旧的数据最终被重写。该通道保存该数足够长的时期据,以便成为很高数据速率的数据传输的有效手段。
建立双向转换存储通道中发生的操作包括使传输分区利用编码输入参数发出管理程序调用。这些参数由管理程序跟踪工具写入管理程序跟踪缓冲区。接收分区产生连续调用,以便利用“fetchdbh”命令取回跟踪数据,或者直接利用调用“h_hpervisor_debug()”调用管理程序以取回跟踪数据。接收分区能够依据分区和何时检测到已知调用的关键模式(key pattern)过滤跟踪数据,以完成转换通道通信路径。另外,通过利用编码输入参数发出管理程序调用,接收分区还能够起发射器的作用。该进程可被用于建立分区之间的全双向转换“套接字”。
另一种安全薄弱环节是另一分区进行的分区操作的分析。这种分析可由发出每个管理程序调用的分析分区产生,并且读取跟踪缓冲区,以便确定每个管理程序调用的特征。分析分区产生连续调用以取回跟踪数据。随后,借助利用通过读取跟踪缓冲区获得的数据的简单分析,分区可推断所有其它分区参与什么,并形成攻击方法。
另一种安全薄弱环节是平台固件操作,例如管理程序进行的那些操作的分析。通过监视从每个跟踪点返回的值,尤其是分区管理器的值,能够形成能够发起有效的分区间攻击,以及意图使整个机器崩溃的攻击的攻击方法。
于是,最好具有消除与跟踪数据有关的安全薄弱环节的改进方法、设备和计算机指令。
发明内容
本发明提供一种用于管理跟踪数据的逻辑分区数据处理系统中的方法,设备和计算机指令。从逻辑分区数据处理系统中的多个分区内的某一调用分区接收对跟踪数据的调用。识别缓冲区中与调用分区相关的跟踪数据以便形成识别的跟踪数据。只返回调用分区的识别的跟踪数据。多个分区内的其它分区的跟踪数据不被返回给调用分区。
附图说明
在所附的权利要求中陈述了本发明的新颖特征。但是,结合附图阅读例证实施例的下述详细说明,将更好地理解发明本身,以及其优选的使用模式,以及其它的目的和优点,其中:
图1是可以实现本发明的数据处理系统的方框图;
图2是可以实现本发明的例证逻辑分区平台的方框图;
图3A和3B表示目前可获得的逻辑分区数据处理系统中用于处理跟踪数据的组件;
图4表示根据本发明的优选实施例的用于管理跟踪数据,以便消除安全薄弱环节的结构;
图5是根据本发明的优选实施例的响应对分区中的跟踪数据的调用,返回跟踪数据的进程的流程图;
图6表示根据本发明的优选实施例的用于传送跟踪数据的代码。
具体实施方式
现在看附图,尤其参考图1,图1图示了可以实现本发明的数据处理系统的方框图。数据处理系统100可以是包括连接到系统总线106的多个处理器101、102、103和104的对称多处理器(SMP)系统。例如,数据处理系统100可以是实现成网络内的服务器的IBM eServer(Armonk,New York的国际商用机器公司的产品)。另一方面,可采用单处理器系统。连接到系统总线106的还有存储器控制器/高速缓存108,它提供到多个局部(local)存储器160-163的接口。I/O总线桥110连接到系统总线106,提供到I/O总线112的接口。存储器控制器/高速缓存108和I/O总线桥110可以如图所示集成在一起。
数据处理系统100是逻辑分区(LPAR)数据处理系统。从而,数据处理系统100可以具有同时运行的多个异类操作系统(或者单个操作系统的多个实例)。这些多个操作系统中的每一个都可具有在其中执行的任何数量的软件程序。数据处理系统100被逻辑分区,使得不同的PCI I/O适配器120-121、128-129以及136,图形适配器148和硬盘适配器149可以被分配给不同的逻辑分区。这种情况下,图形适配器148为显示设备(未图示)提供连接,而硬盘适配器149提供控制硬盘150的连接。
这样,例如,假设数据处理系统100被分为三个逻辑分区P1、P2和P3。每个PCI I/O适配器120-121、128-129、136,图形适配器148、硬盘适配器149,每个主处理器101-104,以及来自局部存储器160-163的存储器被分配给这三个分区中的每一个。在这些例子中,存储器160-163可以是双列直插存储器模块(DIMM)。DIMM一般不是按每个DIMM被分配给各分区。相反,一个分区可以获得平台所见的总存储空间的一部分。例如,处理器101、来自局部存储器160-163的存储空间的某些部分以及I/O适配器120、128和129可以被分配给逻辑分区P1;处理器102-103、来自局部存储器160-163的存储空间的某些部分以及PCI I/O适配器121和136可以被分配给逻辑分区P2;处理器104、来自局部存储器160-163的存储空间的某些部分、图形适配器148以及硬盘适配器149可以被分配给逻辑分区P3。
在数据处理系统100内执行的每个操作系统被分配给不同的逻辑分区。这样,在数据处理系统100内执行的每个操作系统只可以访问在其逻辑分区内的I/O单元。从而,例如,先进交互执行(AIX)操作系统的一个实例可以在分区P1内执行,AIX操作系统的第二实例(镜像)可以在分区P2内执行,LINUX或者OS/400操作系统可以在逻辑分区P3内工作。
连接到I/O总线112的外设部件互连(PCI)主桥114提供到PCI局部总线115的接口。多个PCI输入输出适配器120-121可以通过PCI到PCI桥116、PCI总线118、PCI总线119、I/O插槽170以及I/O插槽171连接到PCI总线115。PCI到PCI桥116提供到PCI总线118和PCI总线119的接口。PCI I/O适配器120和121分别被置入I/O插槽170和171内。典型的PCI总线实现能够支持4到8个I/O适配器(即,用于内置连接器的扩展槽)。每个PCI I/O适配器120-121提供数据处理系统100和输入输出设备之间的接口,输入输出设备例如是作为数据处理系统100的客户机的其它网络计算机。
另外一个PCI主桥122提供用于另外的PCI总线123的接口。PCI总线123连接到多个PCI I/O适配器128-129。PCI I/O适配器128-129可以通过PCI到PCI桥124、PCI总线126、PCI总线127、I/O插槽172和I/O插槽173连接到PCI总线123。PCI到PCI桥124提供到PCI总线126和PCI总线127的接口。PCI I/O适配器128和129分别被置入I/O插槽172和173内。这样,另外的I/O设备,比如调制解调器或者网络适配器可以通过每个PCI I/O适配器128-129得到支持。这样,数据处理系统100允许连接到多个网络计算机。
插入到I/O插槽174的存储器映射图形适配器148可以通过PCI总线144、PCI到PCI桥142、PCI总线141和PCI主桥140连接到I/O总线112。硬盘适配器149可以被置入连接到PCI总线145的I/O插槽175。该总线又连接到PCI到PCI桥142,后者通过PCI总线141连接到PCI主桥140。
PCI主桥130为PCI总线131提供连接到I/O总线112的接口。PCII/O适配器136连接到I/O插槽176,后者通过PCI总线133连接到PCI到PCI桥132。PCI到PCI桥132连接到PCI总线131。该PCI总线还将PCI主桥130连接到服务处理器邮箱接口和ISA总线访问传递逻辑(ISA bus access pass-through logic)194以及PCI到PCI桥132。服务处理器邮箱接口和ISA总线访问传递逻辑194转发以PCI/ISA桥193为目的地的PCI访问。NVRAM存储器192被连接到ISA总线196。服务处理器135通过其局部PCI总线195耦接到服务处理器邮箱接口和ISA总线访问传递逻辑194。服务处理器135还通过多个JTAG/I2C总线134连接到处理器101-104。JTAG/I2C总线134是JTAG/扫描总线(见IEEE1149.1)以及飞利浦I2C总线的组合。但是,另一方面,JTAG/I2C总线134也可以替换为只是飞利浦I2C总线或者JTAG/扫描总线。主处理器101、102、103和104的所有SP-ATTN信号被一起连接到服务处理器的中断输入信号。服务处理器135具有自己的局部存储器191,并且能够访问硬件OP面板190。
当数据处理系统100初始加电时,服务处理器135使用JTAG/I2C总线134询问系统(主)处理器101-104、存储器控制器/高速缓存108以及I/O桥110。在完成该步骤后,服务处理器135对数据处理系统100具有设备目录和布局结构方面的了解。服务处理器135还对通过询问主处理器101-104、存储器控制器/高速缓存108和I/O桥110找到的所有部件执行内部自检(BIST)、基本保证检验(BATs)和存储器测试。在BIST、BAT和存储器测试期间检测到的故障的任何错误信息由服务处理器135收集和报告。
如果在把在BIST、BAT和存储器测试期间内找到的存在故障的部件剔除之后仍然能够形成系统资源的有意义/有效配置,那么允许数据处理系统100继续把可执行代码装入局部(主)存储器160-163。服务处理器135然后释放主处理器101-104以执行装入局部存储器160-163的代码。当主处理器101-104执行来自数据处理系统100内的各操作系统的代码时,服务处理器135进入监视和报告错误的模式。由服务处理器135监视的项目类型包括,例如,冷却风扇的速度和工作情况,热传感器,电源调节器,处理器101-104,局部存储器160-163以及I/O桥110报告的可恢复的和不可恢复的错误。
服务处理器135负责保存和报告与数据处理系统100中所有被监视项目有关的错误信息。服务处理器135还根据错误的类型和定义的阈值采取行动。例如,服务处理器135可以注意处理器的高速缓存上的过多的可恢复错误,判断这预示着硬故障。根据该判断,服务处理器135可以将该资源标记为在当前运行期间和未来的初始程序装入(IPL)过程中退出配置(deconfiguration)。IPL有时也称为“引导”或者“自引导”。
可利用各种可从市场购得的计算机系统实现数据处理系统100。例如,可利用可从国际商用机器公司获得的IBM eServer iSeries Model 840系统实现数据处理系统100。这种系统可支持利用也可从国际商用机器公司获得的OS/400操作系统的逻辑分区。
本领域的普通技术人员知道图1所示的硬件可以变化。例如,除了图示的硬件之外或者取代图1所示的硬件,还可以使用其它外围设备,比如光盘驱动器等。图示的例子不是要对本发明进行结构上的限制。
现在参见图2,其中图示了可以实现本发明的例证逻辑分区平台的方框图。逻辑分区平台200中的硬件可以被实现为,例如,图1中的数据处理系统100。逻辑分区平台200包括分区的硬件230,操作系统202、204、206、208以及分区管理固件210。操作系统202、204、206和208可以是同时在逻辑分区平台200上运行的单个操作系统的多个副本或多个异类操作系统。利用OS/400操作系统可实现这些操作系统,其被设计为与分区管理固件比如管理程序接口。OS/400只是用作这些例证实施例中的一个例子。当然,根据具体的实现,也可以使用其它类型的操作系统,比如AIX和LINUX。操作系统202、204、206和208位于分区203、205、207和209中。管理程序软件是可以用来实现分区管理固件210的软件的一个例子,并可以从国际商用机器公司获得。固件是保存在不需电能也能保持其内容的存储器芯片中的“软件”,所述存储器芯片比如是只读存储器(ROM)、可编程ROM(PROM)、可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)以及非易失性随机存取存储器(非易失性RAM)。
另外,这些分区还包括分区固件211、213、215和217。分区固件211、213、215和217可以用初始引导代码、IEEE-1275标准开放固件以及可从国际商用机器公司获得的运行时摘要软件(RTAS)来实现。当分区203、205、207和209被实例化时,引导程序代码的一个副本由平台固件210装入分区203、205、207和209。之后,控制转移到引导程序代码,引导程序代码然后装入开放固件和RTAS。与分区相关或者被分配给分区的处理器随后被分派给分区的存储器以执行分区固件。
被分区的硬件230包括多个处理器232-238、多个系统存储器单元240-246、多个输入输出(I/O)适配器248-262以及存储单元270。每个处理器232-238、存储器单元240-246、NVRAM存储器298和I/O适配器248-262可以被分配给逻辑分区平台200中的多个分区之一,每个分区对应于操作系统202、204、206和208之一。
分区管理固件210对分区203、205、207和209执行许多功能和服务,以创立和实施逻辑分区平台200的分区。分区管理固件210是与底层硬件相同的固件实现的虚拟机。这样,通过将逻辑分区平台200的所有硬件资源虚拟化,分区管理固件210允许同时执行独立的OS镜像202、204、206和208。
服务处理器290可以用来提供各种服务,比如处理分区中的平台错误。这些服务也可以作为将错误报告给供货商,比如国际商用机器公司的服务代理。可通过硬件管理控制台,比如硬件管理控制台280控制不同分区的操作。硬件管理控制台280是一个单独的数据处理系统,系统管理员可以从该数据处理系统执行各种功能,包括向不同分区重新分派资源。
本发明提供一种按照减少安全薄弱环节的方式管理跟踪数据的方法,设备和计算机指令。特别地,防止双向转换存储通道,由另一分区进行的分区操作的分析,和平台固件操作的分析。本发明的机制采用过滤器(filter)来选择响应来自某一分区的对跟踪数据的调用而返回的数据。该过滤器只返回与调用分区相关的跟踪数据。不返回关于其它分区的其它数据。就选择的分区,例如服务分区来说,安全薄弱环节不是一个主要的关心因素。
现在参考图3A和3B,图中表示了目前可用的逻辑分区数据处理系统中用于处理跟踪数据的组件。在该例证例子中,分区300包含图3A中的操作系统302和RTAS 304。分区306包含操作系统308和RTAS 310。在这些描述的实施例中,可存在多达255个分区。通过平台固件,例如管理程序312管理所有这些分区。
分区管理器314把跟踪信息写入管理程序跟踪缓冲区316作为代码路径318。当该组件调用管理程序312时,写入该跟踪信息。分区管理器314是管理程序312内的一个组件。该组件被用于管理分区,并包括各种功能,例如起动分区和终止分区。分区管理器314发出的调用被保存在管理程序跟踪缓冲区316中。
按照类似的方式,当分区306对管理程序312发出调用时,管理程序代码路径320由保存在管理程序跟踪缓冲区316中的这些调用的跟踪数据形成。以类似的方式,当管理程序收到分区306的调用时,形成管理程序代码路径320。该路径的跟踪数据也保存在管理程序跟踪缓冲区316中。
当每个分区被激活时,操作系统被装入并开始执行。当操作系统,例如操作系统302需要平台资源时,操作系统对RTAS 304发出RTAS调用,RTAS 304再对管理程序312发出管理程序调用。当管理程序调用执行时,特殊的“跟踪点”被执行,其中跟踪数据被写入管理程序跟踪缓冲区316中,而不存在分区数据的任何隔离。换句话说,用于所有分区发出的所有呼叫的所有跟踪数据被放入该缓冲区中。
不仅代表分区执行管理程序调用的管理程序数据被写入单一缓冲区中,而且分区管理器314(它是管理程序工具)也把其跟踪数据写入相同的跟踪缓冲区中。另外,机器检查中断处理程序(handler)、322使用相同的跟踪工具,并把信息保存在管理程序跟踪缓冲区316中。
在图3B中的取回跟踪数据的标准调试操作中,分区300建立数据缓冲区324,并调用“h_hypervisor_debug()”例程。该调用的执行导致原始管理程序跟踪数据被复制到分区空间中以便分析。在该特定例子中,数据被复制到数据缓冲区324中。当发生这样的调用时,目前未对数据的传送作出任何限制。数据的这种不受限制的复制还允许在两个分区之间建立转换存储通道。
从而,数据缓冲区324中的数据可由来自分区306的一系列的管理程序调用传递到由管理程序312提供的跟踪工具中的管理程序跟踪缓冲区316中。利用“h_hypervisor_debug()”管理程序调用,分区300可取回位于管理程序跟踪缓冲区316中的分区306的该跟踪数据。这里描述的该调用和其它特定调用是管理程序产品中目前可用的调用。按照这种方式,可建立转换存储通道。另外,一个分区,例如分区306可从管理程序跟踪缓冲区取回由分区管理器314和机器检查中断处理程序322产生的跟踪数据。该信息使得允许分析分区的操作和管理程序操作。
现在参考图4,图中根据本发明的一个优选实施例,描述了管理跟踪数据,以便消除安全薄弱环节的结构。在该例证例子中,存在分区400和分区402,并通过管理程序404管理分区400和分区402。分区400包含操作系统406和RTAS 408,而分区402包含操作系统410和RTAS 412。在本例中,操作系统400还包括数据缓冲区414,操作系统402包含数据缓冲区416。当分区400或分区402产生对管理程序404的调用时,利用保存在管理程序跟踪缓冲区422中的跟踪数据,产生管理程序代码路径418和管理程序代码路径420。
此外,分区管理器424可产生调用,其中跟踪数据被保存在管理程序跟踪缓冲区422中。机器检查中断处理程序426还把数据保存在管理程序跟踪缓冲区422中。在该例证例子中,过滤器428也存在于管理程序404中。在这些例子中,该过滤器被用于限制当管理程序404收到对跟踪数据的调用时返回的数据。
在例证例子中,通过应用过滤器428中的简单过滤算法,消除分区之间的转换通道。在这些例证例子中,在“h_hypervisor_debug()”中采用该过滤器。该例程调用read_trace()例程430,以便实际传送跟踪数据。
本发明的机制通过增加过滤器428来选择响应对跟踪数据的调用,要返回的数据,修改该例程。过滤器428防止从管理程序跟踪缓冲区422到某一分区,例如分区400的不受限制的数据传输。在描述的例子中,过滤器428使用根据分区的调用识别的当前分区编号和识别数据属于哪个分区的跟踪缓冲区内的数据字段作为过滤算法或进程的输入。
管理程序跟踪缓冲区422中的数据被排列成记录。在该例证的例子中,当来自某一分区的调用产生跟踪数据时,产生管理程序跟踪缓冲区422中的每个记录。在记录中的数据字段中识别发起产生该记录中的跟踪数据的呼叫的分区。过滤器428中的本发明的过滤机制比较调用分区的身份识别和与管理程序跟踪缓冲区422中的记录相关的分区的身份识别。
除了在调用分区被识别成“服务分区”的情况下,该过滤器只把调用分区的数据传递给该分区。在这些例证例子中,服务分区是被赋予执行服务功能,比如代码更新的特殊许可的分区。由于平台管理员必须使用硬件管理控制台指定服务分区,因此假定该分区是安全的,该分区将不会接收任何转换数据。
这样,防止分区之间的转换通道。借助过滤器428对数据传输的限制,消除另一分区的分区操作的分析,和管理程序操作的分析。
现在参见图5,根据本发明的一个优选实施例描述了响应对分区中的跟踪数据的调用,返回跟踪数据的进程的流程图。图5中图解说明的进程可用过滤器,例如位于图4中的read_trace例程430中的过滤器428实现。
响应从某一分区接收对跟踪数据的调用或请求,开始该进程。该请求包括调用分区的识别,例如分区编号或地址,和数据缓冲区的识别。确定调用分区是否是服务分区(步骤500)。这些例证例子中的服务分区不被认为是潜在的安全危险。如果调用分区不是服务分区,那么进程进到跟踪缓冲区中的下一个未处理的跟踪数据记录(步骤502)。在这些例证的例子中,数据被组织成跟踪缓冲区中的许多记录。
随后,比较当前分区编号与跟踪数据记录的数据字段(步骤504)。跟踪记录中的数据字段包括发出导致产生跟踪记录中的数据的管理程序调用的分区的识别。之后,确定跟踪数据记录是否属于当前分区(步骤506)。如果跟踪数据记录属于当前分区,那么跟踪数据记录被复制到数据缓冲区(步骤508)。随后,确定在跟踪缓冲区中是否存在另外的未处理的跟踪数据记录(步骤510)。如果在跟踪缓冲区中不存在另外的未处理的跟踪数据记录,那么进程结束。
返回参见步骤500,如果调用分区是服务分区,那么高达数据缓冲区容量的跟踪数据记录的数目从跟踪缓冲区传输到数据缓冲区(步骤512),之后进程结束。在步骤506中,如果跟踪数据记录不属于当前分区,那么进程进入如上所述的步骤510。在步骤510中,如果在跟踪缓冲区中存在另外的未处理的跟踪数据记录,那么进程进入如上所述的步骤502。
参见图6,根据本发明的优选实施例,图中描述了传送跟踪数据的代码。图6中图解说明的代码可被实现成平台固件,例如图4中的管理程序404中的调用。特别地,可用数据传送例程实现图解说明的代码,例如图4中的read_trace例程430。
在这些例证例子中,h_hypervisor_debug()例程执行初始处理,随后调用read_trace()例程600传送跟踪数据。本发明的过滤机制位于该例程中。在该例子中,read_trace()例程600是上面在图5中描述的进程的例证实现。在read_trace()例程600的区段602中实现本发明的过滤机制。
从而,本发明提供一种保护跟踪数据的改进方法、设备和计算机指令。本发明的机制从分区接收对跟踪数据的请求,并且从跟踪缓冲区只返回给请求分区的数据。这样,通过使用本发明的过滤机制,可消除分区之间的转换通道。从而,在平台固件进行的跟踪数据的处理中,减少或消除安全薄弱环节。
重要的是要注意到,尽管对本发明的描述是在全功能数据处理系统的上下文中进行的,但是本领域的普通技术人员知道,本发明的进程能够以指令的计算机可读介质的形式以及多种形式分布,无论实际用于进行所述分布的信号承载介质的具体类型如何,本发明都同样适用。计算机可读介质的例子包括可记录类型的介质,比如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM,以及传输类型的介质,比如数字和模拟通信链路,使用诸如射频和光波传输等传输形式的有线或者无线通信链路。计算机可读介质可以采用编码格式的形式,所述编码格式被解码以实际用于具体的数据处理系统。
上面出于举例说明的目的,描述了本发明,并不是要穷尽本发明或者将本发明限于所公开的形式。对于本领域普通技术人员来说,许多修改和变化是显而易见的。上述实施例的选择和描述是为了更好地解释本发明的原理和其实际应用,并使本领域的普通技术人员能够理解本发明的针对所能想到的具体用途进行各种适当修改的各种实施例。

Claims (22)

1、一种逻辑分区数据处理系统中的管理跟踪数据的方法,所述方法包括:
从逻辑分区数据处理系统中的多个分区内的调用分区接收对跟踪数据的调用;
识别缓冲区中与调用分区相关的跟踪数据,形成识别的跟踪数据;和
只返回调用分区的识别的跟踪数据,其中多个分区内的其它分区的跟踪数据不被返回给调用分区。
2、按照权利要求1所述的方法,其中缓冲区是循环缓冲区。
3、按照权利要求1所述的方法,还包括:
响应调用分区是服务分区,把调用所请求的全部跟踪数据返回给服务分区。
4、按照权利要求1所述的方法,其中返回步骤把识别的跟踪数据返回给调用分区中的数据缓冲区。
5、按照权利要求1所述的方法,其中返回步骤包括:
识别存在于调用分区的数据缓冲区中的自由空间的数量;和
只返回适配数据缓冲区范围的调用分区的一部分识别跟踪数据。
6、按照权利要求1所述的方法,其中接收步骤,识别步骤和返回步骤由平台固件执行。
7、按照权利要求1所述的方法,其中调用包括调用分区的识别和与调用分区相关的数据缓冲区的识别。
8、一种管理跟踪数据的逻辑分区数据处理系统,数据处理系统包括:
从逻辑分区数据处理系统中的多个分区内的调用分区接收对跟踪数据的调用的接收装置;
识别缓冲区中与调用分区相关的跟踪数据,形成识别的跟踪数据的识别装置;和
只返回调用分区的识别的跟踪数据的返回装置,其中多个分区内的其它分区的跟踪数据不被返回给调用分区。
9、按照权利要求8所述的数据处理系统,其中缓冲区是循环缓冲区。
10、按照权利要求8所述的数据处理系统,其中返回装置是第一返回装置,还包括:
响应调用分区是服务分区,把调用所请求的全部跟踪数据返回给服务分区的第二返回装置。
11、按照权利要求8所述的数据处理系统,其中返回装置把识别的跟踪数据返回给调用分区中的数据缓冲区。
12、按照权利要求8所述的数据处理系统,其中返回装置包括:
识别存在于调用分区的数据缓冲区中的自由空间的数量的装置;和
只返回适配数据缓冲区范围的调用分区的一部分识别跟踪数据的装置。
13、按照权利要求8所述的数据处理系统,其中接收装置,识别装置和返回装置由平台固件实现。
14、按照权利要求8所述的数据处理系统,其中调用包括调用分区的识别和与调用分区相关的数据缓冲区的识别。
15、一种计算机可读介质中的用于管理跟踪数据的计算机程序产品,所述计算机程序产品包括:
从逻辑分区数据处理系统中的多个分区内的调用分区接收对跟踪数据的调用的第一指令;
识别缓冲区中与调用分区相关的跟踪数据,形成识别的跟踪数据的第二指令;和
只返回调用分区的识别的跟踪数据的第三指令,其中多个分区内的其它分区的跟踪数据不被返回给调用分区。
16、按照权利要求15所述的计算机程序产品,其中缓冲区是循环缓冲区。
17、按照权利要求15所述的计算机程序产品,还包括:
响应调用分区是服务分区,把调用所请求的全部跟踪数据返回给服务分区的第四指令。
18、按照权利要求15所述的计算机程序产品,其中第三指令把识别的跟踪数据返回给调用分区中的数据缓冲区。
19、按照权利要求15所述的计算机程序产品,其中第三指令包括:
识别存在于调用分区的数据缓冲区中的自由空间的数量的第一子指令;和
只返回适配数据缓冲区范围的调用分区的一部分识别跟踪数据的第二子指令。
20、按照权利要求15所述的计算机程序产品,其中第一指令,第二指令和第三指令由平台固件实现。
21、按照权利要求15所述的计算机程序产品,其中调用包括调用分区的识别和与调用分区相关的数据缓冲区的识别。
22、一种数据处理系统,包括:
总线系统;
与总线系统连接的存储器,其中存储器包括一组指令;和
与总线系统连接的处理单元,其中处理单元执行一组指令,从逻辑分区数据处理系统中的多个分区内的调用分区接收对跟踪数据的调用;识别缓冲区中与调用分区相关的跟踪数据,形成识别的跟踪数据;和只返回调用分区的识别的跟踪数据,其中多个分区内的其它分区的跟踪数据不被返回给调用分区。
CNB2005100081936A 2004-05-13 2005-02-22 消除分区间转换存储通道和分区分析的方法和设备 Active CN1329838C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/845,550 2004-05-13
US10/845,550 US7496729B2 (en) 2004-05-13 2004-05-13 Method and apparatus to eliminate interpartition covert storage channel and partition analysis

Publications (2)

Publication Number Publication Date
CN1696909A true CN1696909A (zh) 2005-11-16
CN1329838C CN1329838C (zh) 2007-08-01

Family

ID=35349643

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100081936A Active CN1329838C (zh) 2004-05-13 2005-02-22 消除分区间转换存储通道和分区分析的方法和设备

Country Status (4)

Country Link
US (1) US7496729B2 (zh)
JP (1) JP4366336B2 (zh)
CN (1) CN1329838C (zh)
TW (1) TWI326820B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528258A (zh) * 2015-12-11 2016-04-27 中国航空工业集团公司西安航空计算技术研究所 一种故障隔离的多应用共享输入输出接口部件

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370240B2 (en) * 2004-04-29 2008-05-06 International Business Machines Corporation Method and apparatus for preserving trace data in a logical partitioned data processing system
US7343521B2 (en) * 2004-05-28 2008-03-11 International Business Machines Corporation Method and apparatus to preserve trace data
US9239886B2 (en) * 2009-12-08 2016-01-19 Microsoft Technology Licensing, Llc Partitioned list
US9009541B2 (en) * 2012-08-20 2015-04-14 Apple Inc. Efficient trace capture buffer management
US9329884B2 (en) * 2014-07-11 2016-05-03 Intel Corporation Managing generated trace data for a virtual machine
US9965375B2 (en) 2016-06-28 2018-05-08 Intel Corporation Virtualizing precise event based sampling
US10831953B1 (en) 2019-09-03 2020-11-10 International Business Machines Corporation Logic partition identifiers for integrated circuit design
US10885243B1 (en) 2019-09-03 2021-01-05 International Business Machines Corporation Logic partition reporting for integrated circuit design

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837767A (en) * 1987-09-04 1989-06-06 Digital Equipment Corporation Bus adapter module with improved error recovery in a multibus computer system
US5168554A (en) * 1989-10-13 1992-12-01 International Business Machines Corporation Converting trace data from processors executing in parallel into graphical form
DE69113181T2 (de) 1990-08-31 1996-05-02 Ibm Verfahren und Gerät zur Querteilungssteuerung in einer verteilten Verarbeitungsumgebung.
US5642478A (en) 1994-12-29 1997-06-24 International Business Machines Corporation Distributed trace data acquisition system
JP3196004B2 (ja) 1995-03-23 2001-08-06 株式会社日立製作所 障害回復処理方法
US5907672A (en) * 1995-10-04 1999-05-25 Stac, Inc. System for backing up computer disk volumes with error remapping of flawed memory addresses
US5918047A (en) * 1996-01-26 1999-06-29 Texas Instruments Incorporated Initializing a processing system
JP2982702B2 (ja) 1996-08-30 1999-11-29 日本電気株式会社 ディスク装置
US6185575B1 (en) 1996-09-19 2001-02-06 Powerquest Corporation In-place disk partition canonization and storage optimization
PL336162A1 (en) * 1997-04-14 2000-06-05 Ibm Readout operations in a multiprocessor computer system
US6256705B1 (en) * 1998-06-05 2001-07-03 International Business Machines Corporation System and method for organizing data stored in a log structured array
US6493837B1 (en) * 1999-07-16 2002-12-10 Microsoft Corporation Using log buffers to trace an event in a computer system
EP1102163A3 (en) * 1999-11-15 2005-06-29 Texas Instruments Incorporated Microprocessor with improved instruction set architecture
US6658591B1 (en) 2000-06-08 2003-12-02 International Business Machines Corporation Recovery from data fetch errors in hypervisor code
EP1295293A2 (en) 2000-06-09 2003-03-26 Koninklijke Philips Electronics N.V. Method of implicit partitioning the storage space available on a storage medium
US6915416B2 (en) * 2000-12-28 2005-07-05 Texas Instruments Incorporated Apparatus and method for microcontroller debugging
US6813731B2 (en) 2001-02-26 2004-11-02 Emc Corporation Methods and apparatus for accessing trace data
US6834363B2 (en) 2001-03-22 2004-12-21 International Business Machines Corporation Method for prioritizing bus errors
US6842870B2 (en) 2001-09-20 2005-01-11 International Business Machines Corporation Method and apparatus for filtering error logs in a logically partitioned data processing system
US6883116B2 (en) 2001-09-27 2005-04-19 International Business Machines Corporation Method and apparatus for verifying hardware implementation of a processor architecture in a logically partitioned data processing system
US6910160B2 (en) 2002-01-10 2005-06-21 International Business Machines Corporation System, method, and computer program product for preserving trace data after partition crash in logically partitioned systems
US6681309B2 (en) 2002-01-25 2004-01-20 Hewlett-Packard Development Company, L.P. Method and apparatus for measuring and optimizing spatial segmentation of electronic storage workloads
US6886064B2 (en) 2002-03-28 2005-04-26 International Business Machines Corporation Computer system serialization control method involving unlocking global lock of one partition, after completion of machine check analysis regardless of state of other partition locks
US7383428B2 (en) 2003-09-11 2008-06-03 International Business Machines Corporation Method, apparatus and computer program product for implementing atomic data tracing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528258A (zh) * 2015-12-11 2016-04-27 中国航空工业集团公司西安航空计算技术研究所 一种故障隔离的多应用共享输入输出接口部件
CN105528258B (zh) * 2015-12-11 2018-12-25 中国航空工业集团公司西安航空计算技术研究所 一种故障隔离的多应用共享输入输出接口部件

Also Published As

Publication number Publication date
US20050268158A1 (en) 2005-12-01
CN1329838C (zh) 2007-08-01
TWI326820B (en) 2010-07-01
JP4366336B2 (ja) 2009-11-18
JP2005327288A (ja) 2005-11-24
US7496729B2 (en) 2009-02-24
TW200608186A (en) 2006-03-01

Similar Documents

Publication Publication Date Title
CN1329838C (zh) 消除分区间转换存储通道和分区分析的方法和设备
CN100356335C (zh) 保存跟踪数据的方法和装置
US7139940B2 (en) Method and apparatus for reporting global errors on heterogeneous partitioned systems
US7055071B2 (en) Method and apparatus for reporting error logs in a logical environment
CN100456249C (zh) 逻辑分区的数据处理系统及其中管理共享资源的方法
CN100442237C (zh) 访问逻辑分区中的存储器的方法和系统
CN100338555C (zh) 在逻辑分区的数据处理系统中降低功耗的方法和装置
CN1696904A (zh) 数据处理系统以及用于监视数据处理系统的方法
US7257734B2 (en) Method and apparatus for managing processors in a multi-processor data processing system
US20090307538A1 (en) Managing Paging I/O Errors During Hypervisor Page Fault Processing
US20120054466A1 (en) Application run-time memory optimizer
CN1737780A (zh) 从一个设备驱动程序向另一个传送信息的系统和方法
CN1707462A (zh) 用于动态托管分区页面分配的方法和设备
CN1304950C (zh) 多处理器数据处理系统中对分区指派处理器的方法和系统
US6976191B2 (en) Method and apparatus for analyzing hardware errors in a logical partitioned data processing system
US7266631B2 (en) Isolation of input/output adapter traffic class/virtual channel and input/output ordering domains
US8139595B2 (en) Packet transfer in a virtual partitioned environment
CN1605986A (zh) 用来在主桥中提供扩展错误处理能力的方法和系统
US7370240B2 (en) Method and apparatus for preserving trace data in a logical partitioned data processing system
US7302690B2 (en) Method and apparatus for transparently sharing an exception vector between firmware and an operating system
US7275185B2 (en) Method and apparatus for device error log persistence in a logical partitioned data processing system
Liu et al. Reliability-aware garbage collection for hybrid HBM-DRAM memories
JPH05241886A (ja) オペレーティングシステム組み込み型デバッグサポートシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant