CN104081349B - 计算机系统 - Google Patents

计算机系统 Download PDF

Info

Publication number
CN104081349B
CN104081349B CN201380006822.4A CN201380006822A CN104081349B CN 104081349 B CN104081349 B CN 104081349B CN 201380006822 A CN201380006822 A CN 201380006822A CN 104081349 B CN104081349 B CN 104081349B
Authority
CN
China
Prior art keywords
operating system
computer system
flsh
storage media
region
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.)
Active
Application number
CN201380006822.4A
Other languages
English (en)
Other versions
CN104081349A (zh
Inventor
贝恩德·贝克尔
托尔斯滕·芬克
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.)
Continental Automotive Technologies GmbH
Original Assignee
Continental Automotive GmbH
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 Continental Automotive GmbH filed Critical Continental Automotive GmbH
Publication of CN104081349A publication Critical patent/CN104081349A/zh
Application granted granted Critical
Publication of CN104081349B publication Critical patent/CN104081349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种计算机系统(100),包括至少一个处理器(CPU)、第一大容量存储器(MS1)和第二大容量存储器(MS2),计算机系统(100)设置为,在处理器(CPU)上执行主操作系统内核(MBS)以及在主操作系统内核(MBS)控制下的第一和至少一个第二操作系统(BS1,BS2)。内存控制器(CTL)设置为,大容量存储介质(FLSH)的限定的区域作为第一和至少一个第二大容量存储器供主操作系统内核(MBS)使用,它们分别是相互独立的,以便控制大容量存储介质(FLSH)的限定的区域上的第一和至少一个第二大容量存储器的映射。主操作系统内核(MBS)设置为,实现第一和至少一个第二操作系统内核(BS1,BS2)分别对供使用的大容量存储器中的至少一个的专有访问。

Description

计算机系统
技术领域
本发明涉及一种计算机系统,该计算机系统例如可以用于汽车或者作为嵌入式系统而使用。
背景技术
在现代计算机系统中,越来越多地利用操作系统的虚拟化工作,以便放弃例如附加的处理器或者微控制器的使用。为了安全起见在这里尝试,互相防止虚拟化操作系统的相互访问。此外应该特别阻止恶意程序对不同的虚拟化操作系统的访问。当在多个虚拟化操作系统中,相应的大容量存储器存储在同一个物理的大容量存储介质上时,在传统的计算机系统中基本上存在这一危险,即例如通过利用安全漏洞,进行在外部大容量存储器上的不受欢迎的访问。这在传统的计算机系统中这样规避,即对于每个虚拟操作系统使用单个的物理的存储介质。
发明内容
要解决的目的在于,提供一种用于虚拟化操作系统的安全性的改进的设计。
该目的通过独立权利要求的内容来解决。本发明的改进和设计是从属权利要求的内容。
所提出的设计基于这样一种构想,即对于计算机系统使用特殊的、用于非易失性的大容量存储介质的内存控制器,其实现在大容量存储介质中的限定的区域分别作为独立的大容量存储器上的访问,从而使得独立的大容量存储器中的至少一个分别供每个虚拟化操作系统使用。内存控制器优选地作为硬件组件而实现,硬件组件独立于计算机系统的处理器,虚拟化操作系统在该处理器上运行。因此可以确保,虚拟化操作系统只可以分别访问分配给它的那个大容量存储器。
在一个设计方式中,计算机系统包括至少一个处理器和用于非易失性的大容量存储介质的内存控制器。计算机系统设置为,在该处理器上执行主操作系统内核以及在主操作系统内核控制下的第一和至少一个第二操作系统。内存控制器设置为,大容量存储介质的限定的区域也就是第一和至少一个第二大容量存储器供主操作系统内核使用,它们分别是相互独立的,以便控制大容量存储介质的限定的区域上的第一和至少一个第二大容量存储器的映射。主操作系统内核设置为,实现第一和至少一个第二操作系统内核分别对供使用的大容量存储器中的至少一个的专有访问。
大容量存储介质例如是所谓的闪存,如多媒体卡,MMC,或者安全数码卡,SD卡或者类似的。非易失性的大容量存储介质例如是NAND存储器,NOR存储器或者被管理的NAND存储器,存储器可以分别固定地焊接在计算机系统的主板上。
在其他设计方式中,大容量存储介质也可以是硬盘或者固态硬盘,英语:solidstate drive,SSD。在不同的设计方式中,大容量存储介质由计算机系统所包括,并且例如固定地集成到计算机系统中。
内存控制器因此为主操作系统内核提供多个大容量存储器,大容量存储器在主操作系统内核的控制下作为相应的、用于第一和至少一个第二操作系统内核大容量存储器使用。因此,可以分别实现对大容量存储介质的限定的区域的受保护的访问。
在一个设计方式中,内存控制器具有映射表,它为了各个可供使用的大容量存储器,使映射规则存储在相应的大容量存储介质的限定的区域上。因此,操作系统内核可以使用各个可供使用的大容量存储器,例如传统的大容量存储器,其中在使用映射表、确切说是映射规则情况下实现操作系统内核的访问要求的转换或者映射。
例如,大容量存储介质的限定的区域通过在大容量存储介质上分区来形成,其中所存储的映射规则包括关于分区的位置和大小的信息。
因此可能的是,操作系统内核在相应的大容量存储器上通过各个虚拟块编号访问限定的区域,其中这样限定了的虚拟块编号(Blocknummern)通过映射规则在大容量存储介质的物理块编号上映射。通过在映射表中分区的大小信息还可以确保,通过操作系统内核分别只对限定的区域确切说是分区进行访问。例如防止,在过大的虚拟块编号的情况下,对大容量存储介质的不由被限定的区域所包括的物理区域进行访问。
内存控制器优选地具有主控制器,设置该主控制器,控制对限定的区域的硬件访问。特别的是,主控制器例如设置为,测试在限定的区域的相应的访问权限。这种访问权限此外可以通过存储在映射表内的信息、例如位置和大小信息来实现。
在不同的设计方式中,所存储的映射规则还包括关于各个大容量存储器的硬件标识号的信息。该硬件标识号可以例如由操作系统内核或者它们的驱动器来使用,用于大容量存储器的控制。
在不同的设计方式中,内存控制器具有第一和至少一个第二虚拟控制器,它们分别提供大容量存储器的其中一个并且分别具有寄存器,该寄存器映射到主操作系统内核的存储区域。因此,至少有一个虚拟控制器供由主操作系统内核所控制的各个操作系统内核使用,虚拟控制器可以在操作系统内核的地址范围内被直接驱控。特别的是,用于所控制的操作系统内核的大容量存储器的驱控完全透明地实现,无需关于各个其他虚拟控制器确切说是大容量存储器的知识。
内存控制器优选地作为硬件设备而实现,例如作为专用集成电路,ASIC,或者通过带有相应的编程的微控制器。用于这种微控制器的程序数据可以例如存储在大容量存储介质的区域内。
通过内存控制器作为硬件设备的实现,减轻了计算机系统的处理器的计算负荷。此外,通过划分为不同的硬件设备,在处理器和内存控制器之间给出相对于由于在处理器上运行的恶意程序的内存控制器的操作的提高的安全性。
虚拟控制器将它对限定的区域的访问例如传递到主控制器上,主控制器控制对大容量存储介质的物理访问。优选的是,该控制以存储在映射表内的信息为基础而发生。主控制器的初始化和控制可以通过例如主操作系统内核而实现。
在其他的设计方式中,内存控制器还设置为,借助预定的优先级来控制对大容量存储介质的限定的区域的访问。这种控制例如再次通过主控制器实现,其中预定的优先级例如同样存储在映射表内。
在另一个设计方式中,内存控制器确切说是主控制器设置为,控制大容量内存控制器的使用分配。在这里使用所谓的磨损均衡机制,它确保存大容量存储介质的存储区域确切说是存储单元的均匀的使用或磨损。因此,可以进一步降低计算机系统的程序的计算负荷。
附图说明
接下来在几个实施例中借助附图进一步解释本发明。相同的附图标记在这里表示相同功能的元件或者部件。元件或者部件在它们的功能方面相符,不在下面的附图的每一个附图中重复它们的描述。附图示出:
图1为计算机系统的示意图,
图2为大容量存储介质的划分的示意图,以及
图3为计算机系统的另一个实施例的示意图。
具体实施方式
图1示出了计算机系统100的设计方式的示意图,带有处理器CPU和内存控制器CTL,在它的上面连接有大容量存储介质FLSH。大容量存储介质FLSH例如是所谓的闪存,如多媒体卡,MMC,或者安全数码卡,SD卡或者类似的。非易失性的大容量存储介质FLSH例如是NAND存储器,Nor存储器或者被管理的NAND存储器,存储器可以分别固定地焊接在计算机系统100的主板上或者位于计算机系统100的外部。大容量存储介质FLSH也可以是一个固态硬盘,英语:solid state drive,SSD。
处理器CPU在所示出的设计方式中用作主操作系统内核MBS作为所谓的主机操作系统或者主机操作系统H-OS的执行。在主操作系统内核MBS的控制下,在本设计方式中执行第一、第二和第三操作系统内核BS1,BS2,BS3,示出所谓的客机操作系统G-OS。例如第一操作系统内核BS1设计用于根据汽车开放系统架构,AUTOSAR的操作系统,而在第二和第三操作系统内核BS2,BS3上运行不同的Linux操作系统。例如,第二操作系统内核BS2是传统的Linux操作系统,该操作系统也允许安全关键的应用或者程序的执行,这样特别是不能基本上阻止恶意程序的执行。第三操作系统内核BS3包括例如安全的确切说是在安全性上非常强大的Linux系统,系统例如以安全策略运行,禁止执行与安全相关的应用。例如通过该安全的Linux系统实现第一和/或者第二操作系统内核BS1、BS2确切说是它们的系统程序的管理。主操作系统内核MBS例如实施为微内核或者分离内核。
内存控制器CTL包括主控制器MCTRL以及多个虚拟控制器VC1、VC2、VC3、VC4,…VCn,它们与主控制器MCTRL连接。此外,大容量存储介质FLSH连接在主控制器MCTRL上。内存控制器CTL还包括映射表MTBL,在该映射表内为了各个虚拟控制器VC1至VCn在大容量存储介质FLSH的限定的区域和相关联的虚拟控制器之间存储映射规则。例如,为了第一虚拟控制器VC1,存储带有控制器CB1的标识的输入位(Eintrag),在大容量存储介质FLSH上的起始块SB1,在大容量存储介质FLSH上的结束块EB1以及硬件标识号DEV1,上述存储的内容由虚拟控制器VC1提供给所连接的处理器CPU使用。以相应的方式,为了其他虚拟控制器保存带有控制器信息CB2至CBn的输入位,起始块SB2至SBn,结束块EB2至EBn和硬件标识号DEV2至DEVn。
主控制器MCTRL还通过特殊的控制线与处理器CPU连接,控制线只使得主控制系统内核MBS通过初始化命令INIT和控制命令CTRL实现主控制器MCTRL的控制和配置。
内存控制器CTL提供给主操作系统内核多个虚拟控制器VC1至VCn,该虚拟控制器再次作为相应的大容量内存控制器供非独立控制的操作系统内核BS1,BS2,BS3使用。因此,每个操作系统内核BS1,BS2,BS3包含至少一个单独的虚拟控制器,通过该虚拟控制器可以访问附属于操作系统内核的大容量存储器。优选的是,内存控制器CTL作为独立的硬件部件实现,这样不需要使用处理器CPU的附加的处理性能。
虚拟控制器VC1至VCn具有至少用于控制操作系统内核BS1,BS2,BS3的常规内存控制器的功能,其中通过映射表,虚拟控制器VC1至VCn的虚拟块编号映射到所连接的大容量存储介质FLSH的物理块上。例如,映射,英语:mapping,由此实现,虚拟块编号映射到用作偏移量的起始块SB1,SB2,SBn。除了纯粹的块编号外还希望,芯片选择线路也映射到虚拟控制器VC1至VCn。
在所示出的方式中,在映射表内存储物理的起始和结束块,还可能的是,除了起始块SB1,SB2,SBn以外还在映射表内在大容量存储介质FLSH上存储分区大小,以便限定用于虚拟控制器的各个允许的大小或者允许的访问区域。在两种情况内设置,主控制器MCTRL在虚拟控制器VC1至VCn的访问需求情况下在大容量存储介质FLSH的方向检测,所需要的块是否位于大容量存储介质上的通过输入位限定的区域的内部。在由主控制器MCTRL检测到区域故障情况下,例如可以在处理器CPU的方向发送异常消息,英语:exception。这种异常消息例如是软件中断,它由主操作系统内核MBS来处理。
另一个值得希望的信息是关于所连接的大容量存储介质的信息。主控制器MCTRL可以由此了解,物理的存储器是否例如通过SDIO、MMC或者作为纯粹的NAND仪器连接。这一设备信息还通知主控制器MCTRL,应该使用哪些芯片选择线路,以便访问大容量存储介质以及通过哪种方式实现所连接的大容量存储器设备的定址。
在不同的设计方式中,还可以连接多个大容量存储介质,其中在这种情况下优选地设置多个主控制器,它们分别实现对所连接的大容量存储介质的物理访问。关于各个大容量存储介质的设备类型的信息可能例如对于多个SD卡之间的区分是很有意义的,它们连接在专用SD卡控制器上。用于操作系统内核BS1,BS2,BS3的不同限定区域因此可以保存在不同的大容量存储介质上。然而优选的是不用设置,一个限定的区域在多个大容量存储介质上延伸。
大容量存储介质FLSH的配置通过主控制器MCTRL实现,例如通过之前描述的主控制器MCTRL和主操作系统内核MBS之间的连接。这种配置优选地在主操作系统内核启动时进行,其中配置数据也直接地保存在大容量存储介质FLSH上,例如在大容量存储介质FLSH的初始区域或者第一块内。对此主控制器MCTRL优选地设置,将例如由于过度重叠的块区域造成的不正确的配置,报告给主操作系统内核MBS或者主机操作系统H-OS。
各个虚拟控制器VC1至VCn优选的是带有各自的寄存器的实际硬件层,它们在处理器CPU的物理地址区域的单独的存储器页内。因此,各个虚拟控制器分配给用于客机操作系统的单独的分区,其中使用计算机系统的标准机制,例如存储器映射单元,英语:memorymapping unit,MMU。附加的是,各个虚拟控制器VC1至VCn可以具有所有的寄存器,它们是对虚拟设备的读取和写入访问的执行所必需的,这样各个虚拟控制器采取如传统的内存控制器的行为。此外与传统的内存控制器的区别在于这一事实,即实际的数据传输在物理意义上通过主控制器MCTL执行,它检测配置和映射表对比传输、确切说是访问参数,在实际执行传输之前。
传输确切说是访问参数包括例如块编号,块的数量应该能被读取和写入,或者访问权限。因此,虚拟控制器采取如独立实体一样的行为,实体在访问故障情况下产生异常通报。在主控制器检测访问参数之后,因此访问在所限定的和允许的范围的内部,虚拟控制器的虚拟地址转换为物理地址,地址在大容量存储介质FLSH内使用。
图2示例性地示出了将大容量存储介质FLSH划分为多个限定的区域,在这些区域内可以访问虚拟控制器。在这里在所示出的实施例中,大容量存储介质FLSH划分为四个限定的区域,区域通过物理块编号PBN限定。例如,第一区域从物理块0到物理块1023,第二区域从物理块1024到物理块33791,第三区域从物理块33792到物理块66559,第四区域从物理块66560到物理块1048575。第一区域是例如整个计算机系统启动时用于启动加载(Bootloader)的分区。第二区域是第一操作系统分区,该分区为了相关联的操作系统划分为内部的系统分区和内部的数据分区。带有内部的数据分区的行由INTP来表示。第三区域用作用于第二操作系统分区的系统分区,而第四区域再次划分为系统分区,而数据分区作为内部的数据分区划分为再次划分为系统分区和数据分区作为第三操作系统分区的内部的数据分区。给出各个区域的逻辑块编号LBN,它们分别从0开始,第一区域是块1023,第二区域是块32767,第三区域是块32767,第四区域是块982015。
各个区域还可以称为超级分区。因此,用于各个操作系统内核,相关联的超级分区像完整的大容量存储器。在超级分区的范围内例如再次使用第一块如所谓的主引导记录,这以相似的方式在传统的PC系统中是普遍的。例如在主引导记录中存储分区表,该表承载关于内部的分区INTP的信息。
各个操作系统内核具有对它的相关联的超级分区的访问,可以管理对内部的分区INTP的访问权限。对于非独立执行的操作系统内核BS1,BS2,BS3,对内部的分区的访问只通过该权限是可能的,权限由主操作系统内核MBS分配。因此,只对OS分区2读取访问的操作系统内核只是读取地对分区的存储器访问。该操作系统内核可以因此没有产生任何单个的分区,或者在大容量存储介质上写入或者允许写入内容。以相应的方式还可能的是,另一个操作系统内核只对OS分区3的系统分区读取地访问,而对OS分区3的内部数据分区读取和写入访问是可能的。优选的是,各个超级分区在虚拟控制器中被管理。在不同的设计方式中还可能的是,多个虚拟控制器对相同的物理区域访问,以便使物理区域以安全的方式也可供多个操作系统内核使用。例如,在这里对于虚拟控制器,实现对相关联的超级分区的写入和读取访问,而在该区域只对这个或者其他虚拟控制器读取地访问。
对计算机系统的启动优选地始终由所连接的大容量存储介质的第一块来执行。在接通之后值得希望的是,映射表填充为零,这样所有的虚拟控制器看见大容量存储介质FLSH的整个所连接的存储器区域。这基本上是没有问题的,因为处理器通常由所谓的引导程序或者主操作系统内核以所谓的引导装载程序启动。引导程序优选地在非独立控制的操作系统内核BS1,BS2,BS3之前启动映射表MTBL。
在这里设置不同的可能性。例如可能的是,在映射表NTBL中明确地写入起始和结束块的初始化密码。还可能的是,映射表通过专用的块在大容量存储介质FLSH内初始化。初始化密码还优选地负责,在主操作系统内核MBS上限制对主控制器MCTRL的访问。附加的是,初始化密码优选地初始化基本MMU表,这样虚拟控制器可以分配到相应的主操作系统内核中或者客机操作系统内核BS1,BS2,BS3中。
在不同的设计方式中还可以设置输入/输出MMU的互操作,这样在虚拟控制器的寄存器中写入附加的存储器区域标识、翻译缓冲器或者对MMU转换缓冲器的指示。在使用输入/输出MMU时应该能够映射和截获虚拟控制器的中断请求。主控制器在这里优选地推动虚拟控制器的中断请求,对此执行基本的传输。输入/输出MMU对此需要带有存储器区域的配位,例如客机分区或者主操作系统内核,所述存储器区域通过虚拟控制器的配置而产生,以便测试DMA传输和映射中断请求。因此值得期望的是,输入/输出MMU在没有截获主控制器的中断请求情况下传到虚拟控制器。即使当大容量存储介质只用作分区时,输入/输出MMU只借助虚拟控制器工作是足够的。在这种情况下值得希望的是,它是第一控制器,它设置用于对大容量存储介质的所有存储器区域的访问。
此外还可以值得期望的是,计算机系统设置访问优先级。访问优先级不是复杂的系统的微不足道的特征,例如在汽车中的娱乐系统中。这是有根据的,通常提出要求,即最后一个用户设置在例如1或者2毫秒的短时间内被存储,当面临或者准备进行电压下降和关闭计算机系统时。在此期间应该确保,保存和物理地存储大容量存储介质上的现有数据。为了实现这一点,计算机系统应该能够短时间地在大容量存储介质上写入一个或者多个块,并且因此超过或者甚至中断其他虚拟控制器的其他请求。这可以例如这样来实现,即为各个虚拟控制器分配优先级。作为标准,可以例如使用虚拟控制器的标识作为初始优先级。
在一个改进中例如可能的是,在初始化过程中为虚拟控制器分配各个优先级。附加可能的是,调整内存控制器CTL在循环方法(英语:round robin)中以相同的优先级对虚拟控制器访问。优选的是,主控制器具有列表,在该列表中保存做完的传输,即在大容量存储介质上的存储或者读取程序,并且排序。对此可能有意义的是,现有的存储器中的专用的存储器或者存储器区域供主控制器使用。
计算机系统的另一个可能的特征是异常消息、所谓的异常的处理。优选的是,所有的异常消息转达到特权模式中。主操作系统内核MBS应该始终以完全的特权启动,而客机操作系统BS1,BS2,BS3以较低的特权工作。在嵌入式系统中支持虚拟化的处理器例如是ARMCortex A15和Intel Atom处理器。优选的是中断请求直接转达到主操作系统内核MBS上,通过该中断请求报告异常消息如访问故障,同样为了输入/输出MMU。主操作系统内核MBS可以选择相应的防御机制,它可以从事件的不问延伸至客机操作系统的停止或者重启。优选的是,这种异常消息通过主控制器MCTRL转达到主操作系统内核上。
在不同的设计方式中可能的是,内存控制器CTL的配置即使在计算机系统运行时由于主操作系统内核或者客机操作系统H-OS是可能的。因此简化软件更新过程。因此例如可能的是,大容量存储介质的特权分区更新客机操作系统H-OS或者主操作系统内核MBS和客机操作系统内核BS1,BS2,BS3的安装程序。在更新过程期间,客机操作系统内核BS1,BS2,BS3例如停止或者停止调度,以便避免在对数据系统访问时的竞争状况,英语:raceconditions。
根据所使用的技术必需的是,执行使用分布,英语:wear leveling,要么作为软件实现,要么直接在所连接的大容量存储介质内执行。对于这种情况,即使用分布直接通过大容量存储介质执行时,主机操作系统H-OS和客机操作系统BS1,BS2,BS3可以放弃应用使用分布,因而没有直接通过物理块在大容量存储介质、特别是闪存上工作。相反,之前称为物理块的块再次用作逻辑或者虚拟块是足够的,块直接由大容量存储介质转换为实际的物理块。换言之,在内存控制器CTL和大容量存储介质FLSH之间执行附加的逻辑块的层。
因为在使用分布情况下,块物理划分地布置在大容量存储介质上,必需的是,确保块在它被分配到一个新的虚拟块之前被删除,以便避免可能的安全漏洞。当大容量存储介质FLSH不具有用于执行使用分布的单个的控制器时,适当的是主操作系统内核MBS和控制执行的操作系统内核BS1,BS2,BS3分别执行使用分布算法,这在图1中通过标记为WL和NAND块来示出。特别的是,联系之前描述的访问优先级的使用,对于使用分布的要求额外提高。这是因为,例如在被管理的NAND存储器中,相应的控制器借助使用分布工作,而计算机系统的虚拟控制器发送带有较高优先级的块的写入的要求。为了在这种情况下确保,例如可以写入最后一个用户模式数据,可能必需的是,第二大容量存储器与不同的芯片选择连接,这样在被控制的NAND存储器内可以独立于内部的运行地做完具有较高优先级的交易。
另一方面是对大容量存储介质的优化访问。对闪存的访问的输入/输出带宽主要取决于闪存的芯片的内部组织。
例如一个制造者这样执行有效率的访问,即交替地使用偶数和奇数的块编号,而另一个制造者交替地使用块编号的第一半部和第二半部。这分别主要取决于,使用哪些地址用于逻辑单元的选择。
例如删除(auslassender)的访问可以这样来编程,即读取、写入或者删除命令排序。通过以一定方式对要求排序,该方式对于所使用的硬件设备是最有利的,可以使定址时间最小化,从而可以实现明显提高的流量比率。
对于系统的良好的运行时间性能有利的是,当可能地保持这种访问的优化时。对于完整的流量比率可能必需的是,每个虚拟控制器具有一个以上地址区域,特别是因为之前所描述的访问删除示意图。为了实现这一点有利的是,设置一个单独的、可编程的程序作为内存控制器,以便实现地址检测、转换、使用分布和优化访问。这种用于内存控制器的程序也可以作为DMA主机实现从存储器到所分配的操作系统内核MBS,BS1,BS2,BS3的存储器块的传输。控制器程序可以例如再次单独地由所连接的大容量存储介质,特别是闪存来初始化。
安全的闪存分区的创建不仅取决于虚拟控制器的转换。因为对闪存的存储器访问由DMA操作优化,还可能必需的是,确保DMA传输。例如通过输入/输出MMU实现,当存在足够的访问权限时,所述MMU确保客机操作系统BS1,BS2,BS3或者虚拟控制器只执行实际的存储器传输。在访问故障情况下,输入/输出MMU在主操作系统内核MBS上触发异常消息,例如中断请求,这样主操作系统内核MBS通过禁用或者消除错误的重启客机操作系统内核来消除这个错误。
图3示出了对于之前描述的原理的可能的应用,借助计算机系统100的示范性的示意图。在所示出的实施例中,在大容量存储介质FLSH上示范性地设置三个分区确切说是大容量存储器MS1,MS2,MS3。在处理器CPU上运行主操作系统内核MBS,它控制两个可单独运行的操作系统内核BS1,BS2。
左侧的操作系统内核BS2用于传统的操作系统的执行,操作系统实现Web浏览器、可下载的应用程序和多媒体功能的互联网应用的使用。操作系统内核BS2优选地确保,其中这不是必需的,提供提高了的可靠性。通过第二大容量存储MS2保存用于第二操作系统内核的BS2的操作系统文件、应用程序、库文件和配置文件。对此,第二大容量存储器MS2例如具有用于系统文件BIN、可执行的文件EXE和配置文件CNF的存储空间。通过这操作系统内核MBS或者在这里没有示出的内存控制器CTL确保,第二操作系统内核BS2在第二大容量存储器MS2上只具有读取访问,而没有写入访问,通过RO(只读)来表示。用户数据,例如音乐文件MP3、图像文件JPG或者其他的互联网格式HTML保存在第三大容量存储器MS3上,在该存储器上具有第二操作系统内核BS2以及读取和写入访问。这通过标示RW(读写)来表示。
右侧的操作系统内核BS1用于安全的操作系统的执行,在该系统下运行软件管理程序。此外,在第一操作系统内核BS1下还可以执行病毒扫描和/或者特定的安全策略。对第一操作系统内核的访问优选地仅出于维护目的而设置,这样特别的是不可以执行不安全的多媒体应用或者类似的应用。第一操作系统内核BS1在第一和第二大容量存储器MS1、MS2上具有写入访问和读取访问。在第一大容量存储器MS1上存储用于软件管理的数据库SW-DB,安全证书ZERT和病毒扫描程序VS。用于第一操作系统内核BS1的操作系统文件、应用程序、库文件和配置文件要么同样保存在第二大容量存储器MS2上要么优选地保存在第一大容量存储器MS1上。第二操作系统内核BS2没有对第一大容量存储器MS1的访问,优选地也不知道该大容量存储器MS1的存在。对大容量存储介质FLSH或者大容量存储器MS1,MS2,MS3的访问通过主操作系统内核MBS或者内存控制器CTL来控制。
因此第一操作系统内核BS1用于第二操作系统内核的软件更新,所述操作系统内核在用于软件管理的数据库基础上在使用第二大容量存储器MS2情况下执行系统文件的更新。对此,第一操作系统内核BS1通过单独的虚拟控制器对第二大容量操作系统MS2访问。特别的是,两个单独的虚拟控制器同时集中在第二大容量存储器MS2上,而虚拟控制器只允许读取访问第二操作系统内核BS2,而用于第一操作系统内核BS1的虚拟控制器还实现写入访问。但是阻止对在第一操作系统内核BS1的大容量存储器上的第二操作系统内核BS2的访问。
计算机系统所示出的设计方式使得有可能,第二操作系统内核BS2由于有害程序受损的情况下,可以阻止系统文件的改变以及由此引起的来自第二操作系统内核BS2的其他安全漏洞的有针对性的开放。通过互联网能力和第二操作系统内核的多媒体能力基本上存在这一风险,即由于系统内未知的或者新出现的安全漏洞,会将恶意程序带到第二操作系统内核的范围内,然而它由于缺乏写入权限不会导致在第二操作系统内核BS2下的操作系统的持续改变。这导致,恶意程序不会停留在计算机系统内,当系统被关闭和再次打开时。
计算机系统100特别是设置用于汽车内的操作。例如计算机系统100作为嵌入式系统而执行。然而计算机系统100也可以用于其他环境中,例如用于例如以安卓操作系统运行的移动电话中。

Claims (13)

1.一种计算机系统(100),包括:
至少一个处理器(CPU);
非易失性的大容量存储介质(FLSH);以及
用于所述非易失性的大容量存储介质(FLSH)的内存控制器(CTL),其特征在于,
-所述计算机系统设置为,在所述处理器(CPU)上执行主操作系统内核(MBS)和在所述主操作系统内核(MBS)控制下的第一操作系统内核和至少一个第二操作系统内核(BS1,BS2);
-所述内存控制器(CTL)设置为与所述计算机系统的所述处理器分隔且独立的硬件部件,所述内存控制器(CTL)设置为使得所述非易失性的大容量存储介质(FLSH)的限定的区域作为第一大容量存储器和至少一个第二大容量存储器供所述主操作系统内核(MBS)使用,所述第一大容量存储器和所述至少一个第二大容量存储器分别是相互独立的,以便控制所述第一大容量存储器和所述至少一个第二大容量存储器在所述非易失性的大容量存储介质(FLSH)的所述限定的区域上的映射,以及
-只有所述主操作系统内核(MBS)设置为向所述第一操作系统内核和所述至少一个第二操作系统内核(BS1,BS2)分别提供所述第一大容量存储器和所述至少一个第二大容量存储器中的至少一个上的专有访问,使得所述至少一个第二操作系统内核能够仅仅访问所提供的所述第一大容量存储器和所述至少一个第二大容量存储器中的至少一个,
其中,所述至少一个第二操作系统内核不能够限定所述非易失性的大容量存储介质(FLSH)的区域。
2.根据权利要求1所述的计算机系统(100),其中所述内存控制器(CTL)具有映射表(MTBL),其中为了每个供使用的所述大容量存储器,使映射规则存储在相应的、所述大容量存储介质(FLSH)的所述限定的区域上。
3.根据权利要求2所述的计算机系统(100),其中所述大容量存储介质(FLSH)的所述限定的区域通过在所述大容量存储介质(FLSH)上分区来形成,并且其中存储的所述映射规则包括关于分区的位置和大小的信息。
4.根据权利要求2或3所述的计算机系统(100),其中存储的所述映射规则包括关于所述大容量存储器的硬件标识号的信息。
5.根据权利要求1至3中任一项所述的计算机系统(100),其中所述内存控制器(CTL)具有主控制器(MCTRL),所述主控制器设置为,控制在所述限定的区域上的硬件访问。
6.根据权利要求4所述的计算机系统(100),其中所述内存控制器(CTL)具有主控制器(MCTRL),所述主控制器设置为,控制在所述限定的区域上的硬件访问。
7.根据权利要求6所述的计算机系统(100),其中所述主控制器(MCTRL)设置为,测试在所述限定的区域上的相应的访问权限。
8.根据权利要求1至3中任一项所述的计算机系统(100),其中所述内存控制器(CTL)具有第一虚拟控制器和至少一个第二虚拟控制器(VC1,VC2,...,VCn),所述第一虚拟控制器和所述至少一个第二虚拟控制器分别提供所述大容量存储器的其中一个并且分别具有寄存器,所述寄存器映射到所述主操作系统内核(MBS)的存储区域。
9.根据权利要求7所述的计算机系统(100),其中所述内存控制器(CTL)具有第一虚拟控制器和至少一个第二虚拟控制器(VC1,VC2,...,VCn),所述第一虚拟控制器和所述至少一个第二虚拟控制器分别提供所述大容量存储器的其中一个并且分别具有寄存器,所述寄存器映射到所述主操作系统内核(MBS)的存储区域。
10.根据权利要求1至3中任一项所述的计算机系统(100),其中所述内存控制器(CTL)设置为,借助预定的优先级控制在所述大容量存储介质(FLSH)的所述限定的区域上的访问。
11.根据权利要求9所述的计算机系统(100),其中所述内存控制器(CTL)设置为,借助预定的优先级控制在所述大容量存储介质(FLSH)的所述限定的区域上的访问。
12.根据权利要求1至3中任一项所述的计算机系统(100),其中所述内存控制器(CTL)设置为,控制所述大容量存储介质(FLSH)的使用分布。
13.根据权利要求11所述的计算机系统(100),其中所述内存控制器(CTL)设置为,控制所述大容量存储介质(FLSH)的使用分布。
CN201380006822.4A 2012-01-27 2013-01-25 计算机系统 Active CN104081349B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102012201225.7 2012-01-27
DE102012201225A DE102012201225A1 (de) 2012-01-27 2012-01-27 Rechnersystem
PCT/EP2013/051390 WO2013110736A1 (de) 2012-01-27 2013-01-25 Speichercontroller zur bereitstellung mehrerer definierter bereiche eines massenspeichermediums als unabhängige massenspeicher an einen master-betriebssystem - kern zur exklusiven bereitstellung an virutelle maschinen

Publications (2)

Publication Number Publication Date
CN104081349A CN104081349A (zh) 2014-10-01
CN104081349B true CN104081349B (zh) 2019-01-15

Family

ID=47666102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380006822.4A Active CN104081349B (zh) 2012-01-27 2013-01-25 计算机系统

Country Status (5)

Country Link
US (1) US10055361B2 (zh)
EP (1) EP2807558B1 (zh)
CN (1) CN104081349B (zh)
DE (1) DE102012201225A1 (zh)
WO (1) WO2013110736A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9342243B2 (en) * 2012-11-28 2016-05-17 Lenovo (Beijing) Co., Ltd. Method and electronic apparatus for implementing multi-operating system
DE102013226700A1 (de) 2013-12-19 2015-06-25 Continental Automotive Gmbh Fahrzeugelektronikeinheit
CN104572488B (zh) * 2015-02-13 2017-11-17 西安酷派软件科技有限公司 内存管理方法、内存管理装置和终端
GB2539428B (en) 2015-06-16 2020-09-09 Advanced Risc Mach Ltd Data processing apparatus and method with ownership table
GB2539435B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level
GB2539436B (en) * 2015-06-16 2019-02-06 Advanced Risc Mach Ltd Secure initialisation
GB2539429B (en) 2015-06-16 2017-09-06 Advanced Risc Mach Ltd Address translation
GB2539433B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Protected exception handling
US9769131B1 (en) * 2016-08-02 2017-09-19 Architecture Technology Corporation Fast reconfiguring environment for mobile computing devices
CN108763099B (zh) * 2018-04-18 2020-05-08 华为技术有限公司 系统的启动方法、装置、电子设备和存储介质
EP4060487A1 (en) * 2021-03-17 2022-09-21 Aptiv Technologies Limited Electronic control unit, vehicle comprising the electronic control unit and computer-implemented method
CN113688026B (zh) * 2021-09-30 2024-04-05 中汽创智科技有限公司 一种数据模拟仿真方法、装置、设备及存储介质
CN116909937B (zh) * 2023-05-11 2024-02-23 深圳三地一芯电子股份有限公司 闪存容量优化方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
US20100083247A1 (en) * 2008-09-26 2010-04-01 Netapp, Inc. System And Method Of Providing Multiple Virtual Machines With Shared Access To Non-Volatile Solid-State Memory Using RDMA
US20110004791A1 (en) * 2008-03-04 2011-01-06 Mitsubishi Electric Corporation Server apparatus, fault detection method of server apparatus, and fault detection program of server apparatus

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020144010A1 (en) * 2000-05-09 2002-10-03 Honeywell International Inc. Communication handling in integrated modular avionics
US7649880B2 (en) * 2002-11-12 2010-01-19 Mark Adams Systems and methods for deriving storage area commands
US20060075199A1 (en) 2004-10-06 2006-04-06 Mahesh Kallahalla Method of providing storage to virtual computer cluster within shared computing environment
US8341624B1 (en) * 2006-09-28 2012-12-25 Teradici Corporation Scheduling a virtual machine resource based on quality prediction of encoded transmission of images generated by the virtual machine
US20070050767A1 (en) * 2005-08-31 2007-03-01 Grobman Steven L Method, apparatus and system for a virtual diskless client architecture
US8195866B2 (en) 2007-04-26 2012-06-05 Vmware, Inc. Adjusting available persistent storage during execution in a virtual computer system
US8103847B2 (en) 2009-04-08 2012-01-24 Microsoft Corporation Storage virtual containers
CN102231138B (zh) * 2011-07-08 2013-07-03 上海交通大学 计算机内存数据准确采集系统及获取方法
CN102306126B (zh) 2011-08-24 2014-06-04 华为技术有限公司 内存管理方法、装置和系统
US9342291B1 (en) * 2012-11-14 2016-05-17 Amazon Technologies, Inc. Distributed update service

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
US20110004791A1 (en) * 2008-03-04 2011-01-06 Mitsubishi Electric Corporation Server apparatus, fault detection method of server apparatus, and fault detection program of server apparatus
US20100083247A1 (en) * 2008-09-26 2010-04-01 Netapp, Inc. System And Method Of Providing Multiple Virtual Machines With Shared Access To Non-Volatile Solid-State Memory Using RDMA

Also Published As

Publication number Publication date
US10055361B2 (en) 2018-08-21
CN104081349A (zh) 2014-10-01
DE102012201225A1 (de) 2013-08-01
WO2013110736A1 (de) 2013-08-01
US20150006795A1 (en) 2015-01-01
EP2807558A1 (de) 2014-12-03
EP2807558B1 (de) 2020-09-02

Similar Documents

Publication Publication Date Title
CN104081349B (zh) 计算机系统
US11768698B2 (en) Mechanism to dynamically allocate physical storage device resources in virtualized environments
JP6864749B2 (ja) 仮想マシンインスタンスと顧客プログラマブル論理回路との間の中間ホスト集積回路
CN107241913B (zh) 信息处理装置
CN102541619B (zh) 虚拟机管理装置和方法
US9781120B2 (en) System on chip and method therefor
US20140020086A1 (en) Virtual machine system, confidential information protection method, and confidential information protection program
KR20210024195A (ko) 구성 가능한 스토리지를 이용한 NVMe 직접 가상화
US10809942B2 (en) Latency-based storage in a hybrid memory system
Xu et al. Performance analysis of containerized applications on local and remote storage
US10705747B2 (en) Latency-based storage in a hybrid memory system
JP2019091492A (ja) メモリ装置及び不揮発性メモリの制御方法
US20110264841A1 (en) Sharing of class data among virtual machine applications running on guests in virtualized environment using memory management facility
JPWO2010097925A1 (ja) 情報処理装置
US20200301841A1 (en) Hybrid memory system
US11775443B2 (en) Supervisory memory management unit
US10310758B2 (en) Storage system and storage control method
US20180157605A1 (en) Configuration of a memory controller for copy-on-write
US10824349B1 (en) Secured input/output resource protection
TW201621678A (zh) 特權等級指出技術
CN109992451A (zh) 非易失性内存和易失性内存混合管理方法及其系统
CN102662857B (zh) 用于对于存储进行虚拟化的设备和方法
US9558364B2 (en) Computing machine, access management method, and access management program
CN104298519A (zh) 用于配置操作系统的装置及其方法
US11307904B2 (en) Configurable peripherals

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230117

Address after: Hannover

Patentee after: Continental Automotive Technology Co.,Ltd.

Address before: Hannover

Patentee before: CONTINENTAL AUTOMOTIVE GmbH