CN1534492A - 非直接存储器访问的高速缓存 - Google Patents
非直接存储器访问的高速缓存 Download PDFInfo
- Publication number
- CN1534492A CN1534492A CNA2004100316462A CN200410031646A CN1534492A CN 1534492 A CN1534492 A CN 1534492A CN A2004100316462 A CNA2004100316462 A CN A2004100316462A CN 200410031646 A CN200410031646 A CN 200410031646A CN 1534492 A CN1534492 A CN 1534492A
- Authority
- CN
- China
- Prior art keywords
- memory
- designator
- secret
- section
- page
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/1425—Protection 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 physical, e.g. cell, word, block
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/1425—Protection 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 physical, e.g. cell, word, block
- G06F12/1441—Protection 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 physical, e.g. cell, word, block for a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/145—Protection 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种包括了超级页字段的NoDMA高速缓存。所述超级页字段指示何时一组页包含受保护信息。NoDMA高速缓存被计算机系统用来拒绝I/O设备对系统存储器中受保护信息的访问。
Description
技术领域
本发明一般地涉及用于保护敏感数据免受I/O设备不适当访问的安全设备。更具体而言,本发明涉及用于NoDMA表的高速缓存,所述NoDMA表跟踪包含敏感数据的存储器区段。
背景技术
越来越多的金融和个人交易在计算设备上进行。但是,这些金融交易数量上的持续增长也带来了对支持这些交易的计算机系统的更多的攻击,并导致了对安全性增强(SE)环境的相应需要以防止对敏感数据的未授权访问或者丢失敏感数据。敏感数据的丢失或者未授权访问(例如,社会保障号码、帐户号码、财务数据、帐户余额、密码、授权密钥等等)导致隐私的泄漏、私人财务数据的被盗以及类似的恶性行为。
一种试图用于访问受保护数据的技术是使用来自外设的通过直接存储器访问(DMA)控制器的存储器访问请求。DMA控制器允许例如网卡的外设读取系统存储器和向其写入而最少地使用中央处理单元。使用来自I/O设备的存储器访问请求可以避开操作系统所提供的安全措施。这可以通过请求对分配给外设使用的系统存储器区段以外包含敏感信息的存储器区段的存储器访问来实现。
发明内容
根据本发明的第一个方面,提供了一种装置,该装置包括内容可寻址存储器(CAM)、第一存储设备和第二存储设备;其中第一存储设备用来存储与第一存储器区段相关的保密指示符,第二存储设备用来存储存储器超集的第二保密指示符,所述存储器超集包括所述第一存储器区段。
根据本发明的第二个方面,提供了一种方法,该方法包括存储表条目的地址,存储第一存储器区段的第一保密指示符,以及存储超集的第二保密指示符,所述超集包括所述第一存储器区段。
根据本发明的第三个方面,提供了一种装置,该装置包括总线、耦合到所述总线的存储器设备、耦合到所述总线的处理器、耦合到所述存储器设备的高速缓存和耦合到所述高速缓存的网络接口设备。所述高速缓存用来存储与所述存储设备的第一区段相联系的第一保密指示符,并存储与所述存储设备的第二区段相联系的第二保密指示符,其中所述第二区段是所述第一区段的超集。
根据本发明的第四个方面,提供了一种装置,该装置包括用于内容可寻址存储的装置、用于存储与存储设备的第一区段相关的第一保密指示符的装置和用于存储与所述存储设备的第二区段相关的第二保密指示符的第二装置,其中所述第二区段是所述第一区段的超集。
根据本发明的第五个方面,提供了一种机器可读介质,所述介质提供指令,当指令被机器执行时使得所述机器完成以下操作:存储表条目的地址;存储第一存储器区段的第一保密指示符;以及存储超集的第二保密指示符,所述超集包括所述第一存储器区段。
附图说明
本发明的实施例通过举例而非限制的方式被图示于附图的图形中,其中相似的标号指示类似的元件。应该认识到在公开说明中对“实施例”或者“一个实施例”的引用未必指同一实施例,而这样的引用表示至少一个
实施例。
图1是包括NoDMA高速缓存的计算机系统的框图;
图2是通过实现NoDMA的芯片组的输入、输出数据流的框图;
图3是NoDMA高速缓存结构的示图;
图4是NoDMA高速缓存系统的流程图。
具体实施方式
图1图示了一个实施例的计算机系统100,所述计算机系统100包括芯片组(”北桥”)117、一组中央处理单元(CPU)105和系统存储器101。在一个实施例中,该组CPU105经由处理器总线119被连接到北桥117。在一个实施例中,计算机系统100包含多个处理器105以支持在服务器环境中的多重处理。在另一个实施例中,计算机系统100可以包括单个CPU。系统存储器101经由存储器总线121被连接到北桥117。系统存储器101包括非直接存储器访问(NoDMA)表103。
在一个实施例中,系统存储器101是一组随机访问存储器设备,例如同步动态随机访问存储器(SDRAM)、双倍数据速率随机访问存储器(DDR RAM)或者类似设备。存储器系统101还可以包括寄存器和类似存储设备。NoDMA表103存储在系统存储器101中,该NoDMA表跟踪系统存储器101的包含敏感数据的区段。敏感数据可以包括社会保障号码、财务帐户号码、密码以及类似数据。
通过标记NoDMA表103中对应于包含敏感数据的存储器区段的条目并且只允许被授权访问保密信息的那些程序访问存储器101的受保护部分,NoDMA表103数据可以被操作系统(OS)用来限制对包含敏感数据的存储器区段的访问。在一个实施例中,系统存储器101被划分成页。页在大小上可以变化,这由操作系统来决定。在一个实施例中,页的大小是4k字节。
在一个实施例中,NoDMA表103被构造成一组连续的位,每一位对应存储器101的一页。如果一页包含有敏感数据,则操作系统会“设置”NoDMA表103中对应该页的位。NoDMA表103的基址或起始位置在系统存储器101中是可以重新定位的。在一个实施例中,操作系统、基本输入输出系统(BIOS)或类似系统可以对NoDMA表103重新定位,例如在启动系统100之后。NoDMA表103根据存储在基址寄存器中的起始地址在系统存储器101内定位。NoDMA表103的大小根据存储在尺寸寄存器(size register)中的数据而定。当NoDMA表103被使能时,I/O设备的所有访问必须对照该表103来检验。
在一个实施例中,NoDMA表103被对齐以从页边界开始并且在页边界结束。这种对齐简化了对NoDMA表103的使用。在另一个实施例中,NoDMA表103可以从存储器101中能够为表103提供足够的连续空间的任何地址开始。从NoDMA表103的起始点到结束点的每一位指示对存储器101从地址0开始到覆盖全部需要保护的存储器地址空间每一页的非CPU访问的访问权限。当北桥117需要检验对特定地址的访问权限时,它可以方便地确定该页的访问权限,因为北桥117能够获得NoDMA表103的起始地址和要访问页的页地址。这样,对应的NoDMA表103条目可以方便地被计算和访问。
在一个实施例中,北桥117控制系统存储器101、CPU105以及I/O设备115之间的通信。北桥117包括中央数据缓冲器(CDB),其处理进入的来自CPU105、I/O设备和源115的存储器访问请求。中央控制块(CDB接口)113控制对进入的存储器访问请求的最初处理和对出去的请求的最后处理。等待被CDB107或者CDB接口113处理的存储器访问请求存储在队列中。CDB107和CDB接口113处理来自I/O设备115的存储器请求并从系统存储器101向I/O设备发送被请求的数据。
北桥117包括一组队列,所述队列存储了进入和出去的存储器请求(例如,读取和写入请求)。在一个实施例中,队列是先入先出队列(FIFO)或者采用类似的队列管理机制。北桥117还包括NoDMA高速缓存109,所述高速缓存存储最近被请求的NoDMA表条目。CDB接口113在访问存储器101之前来维护和使用高速缓存109。CDB接口113还管理各自队列中进入和出去的消息。在一个实施例中,北桥117还包括一组与NoDMA表103和NoDMA高速缓存109功能相关的寄存器。这些寄存器包括状态寄存器、基址寄存器和尺寸寄存器,所述基址寄存器指示存储器101中NoDMA表103起始的地址,尺寸寄存器指示系统存储器101中NoDMA表103的大小。
在一个实施例中,北桥117保护存储器101免受非CPU设备的访问。包含受保护数据的存储器区段不能被非CPU设备所读取或写入。受保护的页不是静态的,并且页可以被移入或者脱离受保护状态。在一个实施例中,北桥117使用NoDMA表103和NoDMA高速缓存109来实施例该系统。NoDMA高速缓存109有利于I/O性能。在一个实施例中,对存储器101的NoDMA表103区域的I/O访问总是被拒绝,即使当该NoDMA表103被禁用时。任何访问系统存储器101的这一区域的尝试都会引起错误,被北桥117芯片组记录并且系统重启。
I/O源115可以是通信控制设备(“南桥”),其控制外设(例如,存储驱动器、调制解调器、网卡以及类似设备)和其它外设或者北桥117之间的通信。南桥115或者北桥117可以具有多个能够被配置成不同宽度的端口的I/O单元。I/O单元能够支持包括PCI-Express、Hublink(HL)、外围部件互连(Peripheral Component Interconnect,PCI)以及类似系统的通信协议。独立的NoDMA高速缓存109可以为每个I/O单元或者所有单元的一个子集所专用以提高NoDMA校验的性能。在另一个实施例中,I/O源115可以是直接连接到北桥117的一组外设。
图2是北桥117的框图。该图所图示的结构支持从外设217到系统存储器101的存储器访问请求以及返回被请求的或者出去的数据。网络或者外围设备217通过物理层215和链路层213与I/O单元250的入站处理器或逻辑209以及出站处理器或逻辑211通信。入站处理器209从链路层213接收存储器访问请求和消息,并将这些消息放置在入站队列201中。在一个实施例中,入站队列201和出站队列203各由若干队列构成,所述若干队列的每一个控制特定类型的消息或请求或者定义的一组请求或消息类型。入站队列控制207管理通过队列201的数据的移动,队列201被CDB接口113所读取。CDB接口113处理存储器访问请求,并可以生成被发送到出站队列203的响应消息(例如,当处理读取操作时)。通过出站队列203的数据流由出站队列控制器205所控制。
在一个实施例中,根据PCI-Express、HL、PCI或者其它类似系统所使用的消息或者存储器访问的类型,存在多个入站和出站队列201和203。出站处理器211通过链路层213和物理层215发送响应数据给外设217。在一个实施例中,出站逻辑211和入站处理器209控制来自以不同于北桥117的速度运行的I/O通信总线的数据传输。
在一个实施例中,CDB接口113和CDB107通过在入站队列201中先行而来执行对被请求的存储器的推测式预取。CDB接口113负责向CDB做出请求并为这些请求服务。CDB接口113实施对系统存储器101的访问权利,跟踪到CDB107的未完成的请求,为未完成的DMA读取请求服务,执行DMA写入,跟踪入站完成情况,中断以及类似功能。
CDB接口113对来自I/O设备的存储器访问的访问权利进行检验以确保系统的安全。如果I/O设备试图访问存储器中它没有访问权利的区域,则CDB接口113拒绝该请求的访问。对于存储器读取以及任何需要完成的访问,它发送一个主异常终止(master-abort)响应,向请求者表明该访问无效。对于存储器写入和其它不需要响应的事务,该写入被CDB接口113的控制逻辑所丢弃。任何一种情况中,此次安全侵犯都会被北桥117所记录。
CDB107与CDB接口113、存储器总线接口231、CPU总线接口227以及其它接口229相互作用以在输入—输出单元250、处理器总线119和存储器总线121之间路由和转发数据。在一个实施例中,CDB107还控制到系统管理总线(SMbus)、联合测试行动组(JTAG)225或类似接口的输入和输出。
在一个实施例中,当接收到SMBus、JTAG以及类似接口访问时,北桥117检验NoDMA高速缓存109和NoDMA表103。这些接口允许系统管理者或服务人员对系统进行监视和诊断。对来自SMBus、JTAG或类似接口的存储器访问的处理类似于外设的存储器访问。来自SMBus、JTAG或类似接口的存储器访问被对照NoDMA表103和NoDMA高速缓存109来检验。这甚至防止了系统管理者或服务人员避开OS的页保护机制而访问具有保密信息的页。在另一个实施例中,北桥117可以被配置成使得SMBus、JTAG以及类似接口访问不被对照NoDMA表检验,或者使得可以调节安全级别设置以使能或者禁用对这些接口的NoDAM检验。
图3是NoDMA表高速缓存109结构的示图。在一个实施例中,高速缓存109减小由于访问系统存储器101中的NoDMA表103而引起的带宽损失。NoDMA表103和高速缓存109使得不再需要存储器映射块来跟踪保密页。在一个实施例中,计算机系统100中的存储器访问根据系统高速缓存线大小而被优化。该系统高速缓存是用于对系统存储器的存储器访问的通用高速缓存(general cache)。在一个实施例中,高速缓存线大小为512位。
在一个实施例中,NoDMA高速缓存109包括内容可寻址存储器(CAM)结构301和保密存储信息结构302。CAM结构301按“行”存储信息。每一行对应于存储于系统存储器101中的NoDMA表103中的一个条目。在一个实施例中,CAM结构301存储或者固有包括索引303。该索引通过与高速缓存替代机制结合而被用来识别和替代高速缓存线。在一个实施例中,CAM结构301并不显式地存储索引303,因为硬件中的逻辑电路知道哪个条目对应于索引。
CAM结构301通过存储在地址标识存储字段305中的地址来寻址。“有效”存储位字段307指示该行的条目是否是有效的。如果对应于高速缓存行的页被写入或者被改变,则该有效位将被清除,因为该页的内容已经不再已知并且因此不知道该页中是否存储受保护的信息。
在一个实施例中,CAM结构301还存储高速缓存管理信息,例如最近最少使用位309(LRU)。CAM301的这个字段309用来跟踪条目的相对时间,使得更早或者不经常使用的条目能够被新近的或者更经常使用的条目所替代。任何高速缓存管理和替代机制可以被用于NoDMA高速缓存109。保密信息存储设备302为NoDMA表103中的每个条目存储两个单独的保密指示符。页保密字段311指示存储器101的页是否包含受保护信息。页的保密指示符可以是将对应于高速缓存109的同一行中NoDMA表地址的页的状态(例如,包含受保护的信息)编码的一位或者一组位。
超级页(superpage)保密字段313指示被该条目寻址的页所属的一组页是否包括受保护的信息。在一个实施例中,超级页是一组连续的页。超级页的大小可以由操作系统、BIOS或者类似软件来设置。在一个实施例中,在每个超级页中有512页。在一个实施例中,NoDMA表103的位被分组到对应于系统高速缓存线的大小和存储器访问大小的超级页中。超级页保密指示符313可以是单个位或者一组位。在一个实施例中,当在NoDMA高速缓存109中加入新的条目时计算超级页。与对应于进入高速缓存109的新条目的特定页的位一起,检索所有对应于该超级页的位。对这些位进行逻辑“或”以确定单个超级页位的值。在一个实施例中,超级页用多个位来表示。因此可以通过使用逻辑“或”来计算该超级页以确定对应于各位的超级页的每一个子部。例如512连续的页可以由NoDMA高速缓存109中的四个超级页位来表示,每一个对应一个128页的组。可以调节超级页的大小以对应访问的大小。单个超级页或者多个超级页可以对应于高速缓存线访问的大小。在一个实施例中,一组页的大小等于存储器控制器的内在访问大小。
在一个实施例中,CAM的地址标识305由两部分构成:超级页和超级页中的页偏移量。当I/O单元250接收到一个访问时,进入的地址要经过CAM结构。如果有效位被设置了,则每一行都将该进入的地址与地址标识305比较。对于每一行有三种可能的结果。第一种,超级页和页的偏移量都匹配(并且设置了有效),第二种,只有超级页偏移量匹配进入的地址(并且设置了有效),以及第三种,都不匹配或者有效位没有被设置。最多一行会有第一种结果。在这种情况下,对应的页保密指示符311被用来指示存储器访问请求的进入的地址的访问权利。如果进入的地址不能与地址标识305的超级页以及页偏移量匹配,则使用超级页偏移量匹配的高速缓存行。如果超级页保密指示符313指示属于该超级页的任何页中都没有秘密,则赋予访问权利。就不需要进一步查询NoDMA表103。但是,如果超级页保密指示符313指示超级页中至少一页具有秘密,则北桥117访问NoDMA表103以确定被请求的存储器访问页是否包含秘密。有可能高速缓存109中的多个条目会具有匹配的超级页地址标识305。在这种情况下,任何超级页匹配的行都能被使用。如果高速缓存109中没有行具有匹配的超级页地址,则需要访问NoDMA表103。
在一个实施例中,对NoDMA表103的使用允许计算机系统100扩展而用于大的系统存储器101(例如大于4GB)以及动态调整存储器大小(例如,如果存储器是带电插入系统的)。对动态调整存储器大小的支持和使用超级页以及页,允许改变校验存储器访问中的粒度水平,而不需要系统重启。超级页可以由多个位组成以控制超级页所表示的区段大小的粒度水平。附加的位允许超级页表示存储器的更小的区段,而用于更精确地指示受保护信息的位置。用较少的位来表示的超级页降低了NoDMA高速缓存系统的复杂性,特别是超级页指示符的产生。当使用较少的位时逻辑“或”的实现被简化了。这种通过改变表示超级页的位来改变粒度水平允许更大程度的设计定制以满足依赖于系统需要对速度和减少空间的需求。
在一个实施例中,NoDMA高速缓存109和北桥117处理一组与NoDMA高速缓存109功能相关的指令。高速缓存109可以被不同的指令所使能或者禁用。使能指令使能对NoDMA高速缓存的使用,清除高速缓存109中存储条目的所有有效位,并设置北桥117和高速缓存寄存器中指示对NoDMA高速缓存109的使能的状态位。禁用指令将NoDMA高速缓存109禁用,并清除北桥117和高速缓存109的寄存器中指示对高速缓存109的使能的状态位。当NoDMA表103被使能时,NoDMA高速缓存109可以被禁用。使无效指令清除高速缓存中所有条目的有效位。
在一个实施例中,一个位或者存储值,例如,超级页位、页位、LRU位或者类似的存储值通过在合适的字段中存储一个逻辑“1”或者一组逻辑“1”而被“设置”。一个位或者存储值可以通过存储包括逻辑“0”的任何值而在逻辑上被“设置”。所赋的值是结合“设置”操作来定义的。类似地,对一个位或者存储值的“清除”操作可以使用除了“设置”指示符值以外的任何所赋的值。
在一个实施例中,NoDMA高速缓存109由软件来维护,例如操作系统。当允许写操作时,操作系统负责正确地使对NoDMA高速缓存109中被写入区域的引用无效。在一个实施例中,OS更新NoDMA表103以标识保密页。该OS还确定当NoDMA表103或者NoDMA高速缓存109正在被检验时是否有其它存储器访问正在进行。
图4是NoDMA高速缓存109操作的流程图。在一个实施例中,存储器访问请求由CDB107和CDB接口113处理(框401)。CDB接口113检验NoDMA高速缓存109以确定被请求访问的地址是否存储在高速缓存109中。通过使用CAM结构301,被请求的地址与存储在高速缓存109中的地址标识305比较(框403)。如果在高速缓存109中找到了匹配该被请求的页地址的标识305,则对应的有效位被检验以确定高速缓存条目是否仍然有效(框405)。如果有效位被设置,则检验页保密指示符311(框409)。如果保密指示符被设置,则拒绝该访问并可记录一次错误(框417)。如果保密指示符没有被设置,则允许该访问(框419)。
在一个实施例中,当在高速缓存109中没有找到用于被请求页的条目时,则高速缓存109被检验以确定受保护的信息是否存储在该超级页中。首先,地址标识305被检验以查找对应的超级页条目(框411)。如果找到条目,则检验其有效性(框413)。如果找到超级页条目并且在该超级页中没有存储受保护的数据(框415),则该存储器访问请求被允许继续(框419)。如果超级页保密指示符313被设置,则拒绝该访问并可记录一次错误(框417)。
在一个实施例中,如果在高速缓存109中没有找到被请求的超级页地址或者条目无效,则从存储在系统存储器101中的NoDMA表103检索页保密信息(框407)。地址标识被存储在一个可用的高速缓存行中,并且清除该行的有效位。从NoDMA表103被访问的数据然后被存储在NoDMA高速缓存109中(框421)。
在高速缓存109中创建的条目包括页保密指示符31和超级页保密指示符313。基于对该超级页中的页的逻辑“或”来计算并存储超级页保密指示符313(框423)。在一个实施例中,特定的页保密信息将被作为一个条目来检索和存储。在另一个实施例中,条目将对应于超级页中的第一页。在另一个实施例中,条目可以对应于超级页中的任何一页。当条目被创建时,该条目的有效位被设置(框425)。
当在页中有受保护信息时,存储器访问不被允许(框417)。根据存储器访问的类型(例如读取或者写入),可以返回错误响应消息(例如,如果读取操作被拒绝,则正常响应消息会被错误响应消息所替代)。错误和被拒绝的访问被记录以被后续分析来确定错误的起因或者确定是否作出了恶意请求或者攻击。在一个实施例中,可以定义产生错误或安全记录的请求的类型(例如,由操作系统设置)。在一个实施例中,北桥117通过记录严重错误并重启来响应来自NoDMA高速缓存109的访问侵犯。错误包括在不被允许的时候访问具有秘密的页,或者访问NoDMA表103。错误被记录在错误寄存器中。错误寄存器可以为检测到的给定错误映射合适的信号通知方法。错误寄存器不可以被可能请求存储器访问的I/O设备所访问。
在一个实施例中NoDMA高速缓存109以软件来实现(例如,微代码或者更高层次的计算机语言)。软件实现还可以被用来进行对NoDMA高速缓存109的模拟(simulation)或者仿真(emulation)。软件实现可以被存储在机器可读介质中。“机器可读”介质可以包括能够存储或者传送信息的任何介质。机器可读介质的实例包括ROM、软盘、CD-ROM、光盘、硬盘、射频(RF)链路或者类似介质。
在以上说明书中,已经参考本发明的具体实施例对其进行了描述。但是,显然可以对其作出各种修改和改变,而不背离所附权利要求中所陈述的本发明的更广泛的精神和范围。因此说明书和附图被视为是说明性的,而不是限制性的。
Claims (22)
1.一种装置,包括:
内容可寻址存储器;
第一存储设备,用来存储与第一存储器区段相关的保密指示符;和
第二存储设备,用来存储存储器超集的第二保密指示符,所述存储器超集包括所述第一存储器区段。
2.如权利要求1所述的装置,还包括:
高速缓存管理存储设备。
3.如权利要求1所述的装置,还包括:
用来确定所述第二保密指示符的值的电路。
4.如权利要求1所述的装置,其中所述第一存储器区段为一页。
5.如权利要求1所述的装置,其中所述存储器超集是超级页。
6.如权利要求1所述的装置,还包括:
用来改变存储在内容可寻址存储器中的数据的电路。
7.一种方法,包括:
存储表条目的地址;
存储第一存储器区段的第一保密指示符;以及
存储超集的第二保密指示符,所述超集包括所述第一存储器区段。
8.如权利要求7所述的方法,还包括:
接收存储器访问请求;
将被请求的地址与所存储的地址比较;以及
确定用于所述所存储地址的第二保密位是否被设置。
9.如权利要求8所述的方法,还包括:
确定所述第一保密指示符是否被设置。
10.如权利要求8所述的方法,还包括:
如果所述第二保密指示符被设置,产生侵犯指示符。
11.如权利要求10所述的方法,还包括:
记录所述侵犯指示符。
12.如权利要求8所述的方法,其中所述超集为超级页。
13.一种装置,包括:
总线;
耦合到所述总线的存储器设备;
耦合到所述总线的处理器;
耦合到所述存储器设备的高速缓存,用来存储与所述存储设备的第一区段相联系的第一保密指示符,并存储与所述存储设备的第二区段相联系的第二保密指示符,其中所述第二区段是所述第一区段的超集;和
耦合到所述高速缓存的网络接口设备。
14.如权利要求13所述的装置,其中所述高速缓存包括高速缓存管理电路。
15.如权利要求13所述的装置,还包括:
用来确定所述第二保密指示符的值的电路。
16.如权利要求13所述的装置,还包括:
耦合到第二总线的外设;
其中所述第二总线被耦合到所述高速缓存。
17.一种装置,包括:
用于内容可寻址存储的装置;
用于存储与存储设备的第一区段相关的第一保密指示符的装置;和
用于存储与所述存储设备的第二区段相关的第二保密指示符的第二装置,所述第二区段是所述第一区段的超集。
18.如权利要求17所述的装置,还包括:
用于高速缓存管理的装置。
19.如权利要求17所述的装置,该包括:
用于确定所述第二保密指示符值的装置。
20.一种机器可读介质,其提供指令,当指令被机器执行时使得所述机器完成以下操作:
存储表条目的地址;
存储第一存储器区段的第一保密指示符;以及
存储超集的第二保密指示符,所述超集包括所述第一存储器区段。
21.如权利要求20所述的机器可读介质,其中所述操作还包括:
确定所述第二保密指示符的值。
22.如权利要求20所述的机器可读介质,其中所述操作还包括:
如果所述第二保密指示符被设置,则产生侵犯指示符。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/404,881 | 2003-03-31 | ||
US10/404,881 US7296127B2 (en) | 2003-03-31 | 2003-03-31 | NoDMA cache |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1534492A true CN1534492A (zh) | 2004-10-06 |
CN1291329C CN1291329C (zh) | 2006-12-20 |
Family
ID=32990210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100316462A Expired - Fee Related CN1291329C (zh) | 2003-03-31 | 2004-03-31 | 用于访问存储器的装置和方法 |
Country Status (8)
Country | Link |
---|---|
US (3) | US7296127B2 (zh) |
EP (2) | EP2287744A1 (zh) |
JP (1) | JP4430624B2 (zh) |
KR (1) | KR100831468B1 (zh) |
CN (1) | CN1291329C (zh) |
HK (1) | HK1069450A1 (zh) |
TW (1) | TWI297831B (zh) |
WO (1) | WO2004095205A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399084B (zh) * | 2007-09-28 | 2011-03-16 | 旺宏电子股份有限公司 | 存储器装置 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7296127B2 (en) | 2003-03-31 | 2007-11-13 | Intel Corporation | NoDMA cache |
US20050182862A1 (en) * | 2004-02-12 | 2005-08-18 | Ritz Andrew J. | System and method for detecting DMA-generated memory corruption in a PCI express bus system |
CN100418074C (zh) * | 2004-03-05 | 2008-09-10 | 菲尼萨公司 | 光学收发机中的分级和字节可配置存储器 |
US20070078879A1 (en) * | 2005-09-30 | 2007-04-05 | Safranek Robert J | Active address table |
US7594042B2 (en) * | 2006-06-30 | 2009-09-22 | Intel Corporation | Effective caching mechanism with comparator coupled to programmable registers to store plurality of thresholds in order to determine when to throttle memory requests |
US8782367B2 (en) * | 2006-12-20 | 2014-07-15 | Stmicroelectronics S.A. | Memory area protection circuit |
US7907432B2 (en) * | 2009-06-30 | 2011-03-15 | Netlogic Microsystems, Inc. | Content addressable memory device for simultaneously searching multiple flows |
US8898417B1 (en) * | 2009-10-20 | 2014-11-25 | Micron Technology, Inc. | Block-based storage device with a memory-mapped interface |
US8572440B1 (en) * | 2010-11-15 | 2013-10-29 | E.Digital Corporation | System and method for managing information stored in semiconductors |
CN102467417B (zh) | 2010-11-19 | 2014-04-23 | 英业达股份有限公司 | 计算机系统 |
TWI421701B (zh) * | 2010-12-06 | 2014-01-01 | Inventec Corp | 計算機系統 |
JP5790043B2 (ja) * | 2011-03-14 | 2015-10-07 | 株式会社リコー | データ転送システム及びデータ転送方法 |
US9471514B1 (en) * | 2012-08-23 | 2016-10-18 | Palo Alto Networks, Inc. | Mitigation of cyber attacks by pointer obfuscation |
US20160034404A1 (en) * | 2014-07-31 | 2016-02-04 | International Business Machines Corporation | Managing access to storage |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5134700A (en) * | 1987-09-18 | 1992-07-28 | General Instrument Corporation | Microcomputer with internal ram security during external program mode |
US5079737A (en) * | 1988-10-25 | 1992-01-07 | United Technologies Corporation | Memory management unit for the MIL-STD 1750 bus |
US5251304A (en) * | 1990-09-28 | 1993-10-05 | Motorola, Inc. | Integrated circuit microcontroller with on-chip memory and external bus interface and programmable mechanism for securing the contents of on-chip memory |
US5628023A (en) * | 1993-04-19 | 1997-05-06 | International Business Machines Corporation | Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view |
FR2725537B1 (fr) * | 1994-10-11 | 1996-11-22 | Bull Cp8 | Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe |
US5646890A (en) * | 1996-03-29 | 1997-07-08 | Aplus Integrated Circuits, Inc. | Flexible byte-erase flash memory and decoder |
US5809546A (en) * | 1996-05-23 | 1998-09-15 | International Business Machines Corporation | Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers |
JP2916421B2 (ja) | 1996-09-09 | 1999-07-05 | 株式会社東芝 | キャッシュフラッシュ装置およびデータ処理方法 |
US5930826A (en) * | 1997-04-07 | 1999-07-27 | Aplus Integrated Circuits, Inc. | Flash memory protection attribute status bits held in a flash memory array |
US6473861B1 (en) * | 1998-12-03 | 2002-10-29 | Joseph Forte | Magnetic optical encryption/decryption disk drive arrangement |
US6412043B1 (en) | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
JP4719957B2 (ja) * | 2000-05-24 | 2011-07-06 | 株式会社日立製作所 | 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法 |
JP4678084B2 (ja) | 2000-09-29 | 2011-04-27 | ソニー株式会社 | メモリ装置およびメモリアクセス制限方法 |
JP3644494B2 (ja) | 2001-04-13 | 2005-04-27 | 日本電気株式会社 | 情報検索装置 |
US7130951B1 (en) * | 2002-04-18 | 2006-10-31 | Advanced Micro Devices, Inc. | Method for selectively disabling interrupts on a secure execution mode-capable processor |
US6785790B1 (en) * | 2002-05-29 | 2004-08-31 | Advanced Micro Devices, Inc. | Method and apparatus for storing and retrieving security attributes |
US7296127B2 (en) | 2003-03-31 | 2007-11-13 | Intel Corporation | NoDMA cache |
US7146477B1 (en) * | 2003-04-18 | 2006-12-05 | Advanced Micro Devices, Inc. | Mechanism for selectively blocking peripheral device accesses to system memory |
US7665143B2 (en) * | 2005-05-16 | 2010-02-16 | Microsoft Corporation | Creating secure process objects |
-
2003
- 2003-03-31 US US10/404,881 patent/US7296127B2/en not_active Expired - Fee Related
-
2004
- 2004-02-06 WO PCT/US2004/003387 patent/WO2004095205A2/en active Application Filing
- 2004-02-06 EP EP10012451A patent/EP2287744A1/en not_active Ceased
- 2004-02-06 KR KR1020057018689A patent/KR100831468B1/ko not_active IP Right Cessation
- 2004-02-06 EP EP04708978.4A patent/EP1609069B1/en not_active Expired - Lifetime
- 2004-02-06 JP JP2005518870A patent/JP4430624B2/ja not_active Expired - Fee Related
- 2004-02-11 TW TW093103219A patent/TWI297831B/zh not_active IP Right Cessation
- 2004-03-31 CN CNB2004100316462A patent/CN1291329C/zh not_active Expired - Fee Related
-
2005
- 2005-03-01 HK HK05101793A patent/HK1069450A1/xx not_active IP Right Cessation
-
2007
- 2007-10-05 US US11/973,209 patent/US7571294B2/en not_active Expired - Fee Related
-
2009
- 2009-08-03 US US12/462,466 patent/US20090292879A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399084B (zh) * | 2007-09-28 | 2011-03-16 | 旺宏电子股份有限公司 | 存储器装置 |
US8041912B2 (en) | 2007-09-28 | 2011-10-18 | Macronix International Co., Ltd. | Memory devices with data protection |
US8190840B2 (en) | 2007-09-28 | 2012-05-29 | Macronix International Co., Ltd. | Memory devices with data protection |
Also Published As
Publication number | Publication date |
---|---|
WO2004095205A3 (en) | 2004-12-29 |
US7571294B2 (en) | 2009-08-04 |
KR20060006791A (ko) | 2006-01-19 |
US7296127B2 (en) | 2007-11-13 |
JP4430624B2 (ja) | 2010-03-10 |
HK1069450A1 (en) | 2005-05-20 |
US20080040566A1 (en) | 2008-02-14 |
CN1291329C (zh) | 2006-12-20 |
TWI297831B (en) | 2008-06-11 |
US20040193755A1 (en) | 2004-09-30 |
US20090292879A1 (en) | 2009-11-26 |
WO2004095205A2 (en) | 2004-11-04 |
JP2006514770A (ja) | 2006-05-11 |
EP1609069A2 (en) | 2005-12-28 |
TW200426588A (en) | 2004-12-01 |
EP1609069B1 (en) | 2017-08-16 |
EP2287744A1 (en) | 2011-02-23 |
KR100831468B1 (ko) | 2008-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7571294B2 (en) | NoDMA cache | |
US9064330B2 (en) | Shared virtual memory between a host and discrete graphics device in a computing system | |
JP4941148B2 (ja) | Gpuにおけるページマッピングのための専用機構 | |
US20030204693A1 (en) | Methods and arrangements to interface memory | |
JP5068108B2 (ja) | メモリ・アドレスの変換およびピン止めのための方法およびシステム | |
US7287124B2 (en) | Lazy flushing of translation lookaside buffers | |
US11921646B2 (en) | Secure address translation services using a permission table | |
US7861095B2 (en) | Data processing apparatus security | |
CN116583840A (zh) | 快速外围部件互连保护控制器 | |
CN109901909B (zh) | 用于虚拟化系统的方法及虚拟化系统 | |
US7454787B2 (en) | Secure direct memory access through system controllers and similar hardware devices | |
US7246213B2 (en) | Data address security device and method | |
CN116340203A (zh) | 数据预读取方法、装置、处理器及预取器 | |
EP3970046A1 (en) | Devices and methods for supporting input/output channel protection | |
EP3268866B1 (en) | Transmitting contents of an operation field to a media controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1069450 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20061220 Termination date: 20210331 |
|
CF01 | Termination of patent right due to non-payment of annual fee |