CN101582107A - 存取系统中具有存储器保护的存储器 - Google Patents

存取系统中具有存储器保护的存储器 Download PDF

Info

Publication number
CN101582107A
CN101582107A CNA2009101372689A CN200910137268A CN101582107A CN 101582107 A CN101582107 A CN 101582107A CN A2009101372689 A CNA2009101372689 A CN A2009101372689A CN 200910137268 A CN200910137268 A CN 200910137268A CN 101582107 A CN101582107 A CN 101582107A
Authority
CN
China
Prior art keywords
memory
access
memory position
processor
asking
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.)
Pending
Application number
CNA2009101372689A
Other languages
English (en)
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.)
Atmel Corp
Original Assignee
Atmel 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 Atmel Corp filed Critical Atmel Corp
Publication of CN101582107A publication Critical patent/CN101582107A/zh
Pending legal-status Critical Current

Links

Images

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/1425Protection 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/1441Protection 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

Abstract

本发明涉及存取系统中具有存储器保护的存储器。本发明尤其包含用于提供对系统中的具有存储器保护的存储器的存取的方法、系统、程序产品及装置。从处理器接收对在第一存储器位置处的存储器存取的请求。确定第二存储器位置。所述第二存储器位置与所述第一存储器位置相关联且受保护而不被所述处理器存取。在所述第二存储器位置处执行所请求的存储器存取。

Description

存取系统中具有存储器保护的存储器
技术领域
本发明通常涉及数字存储器。
背景技术
现代计算机系统可将外围控制寄存器映射到单个统一存储器空间中。存储器空间因此可包含外围控制寄存器及传统存储器两者,如动态随机存取存储器(DRAM)及硬盘驱动器。外围设备可通过使用处理器所发布的加载及存储指令编程外围控制寄存器来进行控制。
图1显示实例存储器映射100的图。存储器映射的区域(例如,102、104、106及108)对应于物理存储器。存储器可以是(例如)DRAM、外围控制寄存器、快闪存储器、硬盘存储器等。
在图1中,区域102及104表示外围控制寄存器。区域102对应于通用异步接收器/传输器(UART)且区域104对应于脉冲宽度调制器(PWM)。区域106对应于快闪存储器,且区域108对应于随机存取存储器(RAM),例如,DRAM。
存储器区域可含有子区域。例如,区域102含有UART控制寄存器110、112、114及116。可通过将值写入UART控制寄存器来配置UART。将供UART进行传输的数据写入到传输保持寄存器112,且从接收保持寄存器110读取URAT已接收的数据。可通过将值写入波特率寄存器114来配置波特率。可将其它控制信息(例如,奇偶校验)写入控制寄存器116。
在各种系统中,防止对关键外围设备的错误存取是有利的。此类外围设备的一个实例是用来控制电动机的PWM。所述PWM输出控制电动机的脉冲串。如果疏忽地用错误值更新了PWM模块的控制寄存器,那么所述电动机可开始失去控制地操作,从而可能致使对应用及围绕其的环境的破坏。例如,软件代码中的错误、电噪声等可致使疏忽的存取。
发明内容
本发明尤其包含用于提供对系统中的具有存储器保护的存储器的存取的方法、系统、程序产品及装置。从处理器接收对在第一存储器位置处的存储器存取的请求。确定第二存储器位置。所述第二存储器位置与所述第一存储器位置相关联且受保护而不被所述处理器存取。在所述第二存储器位置处执行所述所请求的存储器存取。
在本发明说明书中所述的标的物的特定实施方案可实现如下优点中的一者或一者以上。处理器可安全地存取系统中的具有粗粒存储器保护的细粒存储器区域。解锁硬件可保持在单个可配置装置中,以使得不同应用可取决于应用需要向不同寄存器添加解锁。相同的解锁算法可用于多个受保护的存储器区域。
附图说明
图1是实例存储器映射的图。
图2是用于存取系统中的具有存储器保护的存储器的实例方法的流程图。
图3是具有安全存取单元的实例存储器映射的图。
图4是具有处理器及受保护的存储器的实例系统的图。
图5A是经配置以存取系统中的具有存储器保护的存储器的实例装置的方框图。
图5B显示实例控制寄存器的表。
在各种图式中,相同的参考符号指示相同的元件。
具体实施方式
用于存取存储器的实例方法
图2是用于存取系统中的具有存储器保护的存储器的实例方法的流程图。出于图解说明的目的,将关于执行所述方法的系统(例如,处理器、安全存取单元(SAU)等)来描述所述方法。
所述系统接收配置信息(步骤202)。在某些实施方案中,配置信息规定第一多个存储器位置与第二多个存储器位置之间的映射。在其它实施方案中,所述映射是固定的,例如在硬件或只读存储器(ROM)中。在某些实施方案中,所述配置信息规定其它值。例如,所述配置信息可规定有效的解锁密钥或用以确定解锁密钥是否有效的方法。
在某些实施方案中,系统接收解锁密钥(步骤204)。解锁密钥可以是(例如)单个数字、一系列数字、一系列字符等。
如果系统接收解锁密钥,那么系统确定所述解锁密钥是否有效(步骤206)。在某些实施方案中,系统将所接收的解锁密钥与配置信息中所接收的解锁密钥进行比较。在其它实施方案中,系统执行用以确定解锁密钥是否有效的另一方法。例如,系统可基于时刻或当前时钟循环来确定有效的解锁密钥并将所确定的解锁密钥与所接收的解锁密钥进行比较。
在各种实施方案中,解锁密钥是基于所请求的存储器位置。例如,解锁密钥可仅解锁某一寄存器或某一存储器区域。在某些实施方案中,解锁密钥仅针对规定数目的时钟循环有效。在其它实施方案中,在与所请求的存储器存取相同的时间接收解锁密钥且其仅针对所述所请求的存储器存取为有效。
如果解锁密钥无效,那么系统忽略对存储器存取的请求(步骤208)。在某些实施方案中,系统发送指示其接收到无效解锁密钥的消息。例如,系统可产生异常。
系统从处理器接收对在第一存储器位置处的存储器存取的请求(步骤210)。处理器是执行指令的装置、系统等,例如中央处理单元(CPU)。处理器可以呈嵌入式架构。嵌入式处理器的实例是可从圣何塞(San Jose)的爱特梅尔公司(Atmel,Inc.)购得的AVR32处理器。
存储器存取可以是例如读取、写入、执行等的操作。所述请求规定存储器存取。当存储器存取是写入操作时,所述请求可规定待写入的数据。当存储器存取是读取操作时,所述请求可规定待读取的数据量。当存储器存取是执行操作时,所述请求可规定待读取并执行的数据量。
存储器位置与存储器映射或存储器空间的区域相关联。存储器位置可以是(例如)存储器地址、指向存储器地址的指针等。处理器可使用存储器位置存取(例如,从其中读取或写入其中)存储器区域。
系统确定与所述第一存储器位置相关联的第二存储器位置(步骤212)。第二存储器位置受保护而不被处理器存取。第二存储器位置可对应于(例如)关键外围装置。
通常,系统使用配置信息来确定第二存储器位置。例如,系统可在相关联的存储器位置表中查找第二存储器位置。在某些实施方案中,系统包括通道寄存器。第一存储器位置是通道寄存器的位置,且系统通过读取所述通道寄存器的内容来确定第二存储器位置。
另一选择为,存储器位置之间的映射是固定的,例如在硬件中或ROM中。系统通过遵循固定的指令或固定的映射来确定第二存储器位置。
在某些实施方案中,第二存储器位置受存储器保护装置的保护。存储器保护装置的实例包含存储器管理单元(MMU)及存储器保护单元(MPU)。在某些实施方案中,存储器保护装置保护大致比待在第二存储器位置处存取的区域大的存储器区域。在所述情况下,认为存储器保护装置是“粗粒的”。
在各种实施方案中,存储器保护装置在某些条件下防止处理器存取第二存储器位置。在某些实施方案中,防止是基于处理器的执行状态。例如,当处理器以非特权模式运行时,存储器保护装置可防止处理器存取第二存储器位置,且当处理器以特权模式(例如,管理模式)运行时其可允许处理器存取第二存储器位置。
在某些实施方案中,防止进一步基于所请求的存储器存取。例如,当所请求的存储器存取是写入操作时存储器保护装置可防止存取而当所请求的存储器存取是读取操作时则允许存取。
系统在第二存储器位置处执行所请求的存储器存取(步骤214)。例如,如果所请求的存储器存取是写入操作,那么系统将数据写入到第二存储器位置。如果所请求的存储器存取是读取操作(步骤216),那么系统将其读取的数据发送到(例如)处理器(步骤218)。
存储器映射实例
图3是具有安全存取单元(SAU)的存储器映射实例300的图。SAU是可操作以(例如)使用图2中所示的实例方法提供对系统中的具有存储器保护的存储器的存取的装置或单元。在此实例中,SAU向规定的存储器位置提供存取通道。
SAU具有显示在存储器映射中的两个区域302及304中的存储器。实例存储器映射还具有用于UART 306、PWM 308、快闪存储器310及RAM 312的区域。
SAU具有控制寄存器304及通道寄存器302。SAU的控制寄存器304同其它存储器区域一样(在此实例中,为UART存储器306及PWM存储器308)(例如)受存储器保护单元(MPU)等保护。在图3中,以灰色显示受保护的地址304、306及308。UART寄存器314、316、318及320在UART存储器区域306内且因此受保护并也以灰色显示。
MPU(或其它存储器保护硬件,例如MMU等)将存储器空间分割成若干大块,且在每一大块上指派一组存取约束。针对处于管理模式的处理器,存取约束可以是(例如)读取/写入,而针对处于应用模式的处理器可以是只读取。所述大块可具有不同大小。在某些实施方案中,每一大块相对于寄存器大小为大,例如1千字节的地址空间或更大。此外,对每一大块的存取可受处理器的执行状态控制,例如管理或应用模式。
SAU控制寄存器304用于SAU的配置。将值写入这些寄存器选择如何将SAU通道寄存器302中的地址映射到其它存储器。SAU控制寄存器304可还用于(例如)控制存取约束、解锁密钥等。通常,在这些寄存器304已经配置之后,MPU保护其不被进一步修改。
SAU通道寄存器302规定处理器可存取的通道(例如,虚拟地址或存储器位置)。通道寄存器不受保护(例如,其在图3中不以灰色显示)。映射方案(固定的或者可配置的)使这些通道(通道寄存器所规定的通道)与(例如)外围设备或其它存储器内的真实存储器位置相关联。
通道可将来自SAU(例如,通道寄存器)中的地址空间的单个地址或地址范围映射到其它存储器(例如,外围设备)中的地址。当处理器存取SAU通道寄存器(例如,322)时,SAU的作用将像是网关或代理服务器且代表请求处理器执行对所映射的存储器的存取。所映射的存储器受(例如MPU)保护而不被处理器存取。
可将解锁通道所需的机制放置在SAU控制寄存器304中。例如,在某些实施方案中,必须将解锁密钥(例如,0x55)写入SAU控制寄存器304中的解锁寄存器。写入解锁密钥可打开规定数目的时钟循环的窗口,在所述窗口期间,SAU将允许对SAU通道寄存器(例如,322)的存取。SAU可阻挡不供应有效解锁密钥的存取。
SAU还可通过发布中断或异常来通知处理器(或尝试(例如)使用处理器执行存储器存取的应用程序)已尝试非法存取。此将允许应用程序执行降级关闭或尝试解决致使无效存取的问题。
SAU可具有受保护以仅允许有效存取的多个通道,例如通道寄存器322、324、326及328所规定的通道。在某些实施方案中,每一通道均具有唯一解锁机制。在其它实施方案中,针对每一通道使用相同的解锁机制。
在图3中,显示UART控制寄存器320具有地址X。显示SAU中的通道0(例如,通道寄存器328)具有地址Z。通过将适合值写入SAU控制寄存器304中的相关联寄存器,通道0可与地址X相关联。由于UART控制寄存器320(在地址X处)受保护,因此处理器不能对其进行存取。
然而,SAU通道寄存器328(例如,在地址Z处的通道0)不受保护。如果处理器从地址Z读取,那么SAU将停止所述读取,且其自身起始从相关联地址(例如,地址X)的读取。此存取不受保护。SAU存取不受保护,是因为(例如)SAU可使用不同于处理器的不通过MPU的通信路径。另一选择为,MPU可经配置以接受从SAU的存取且防止从其它处理器的存取。
当SAU已执行从地址X的读取时,将读取数据返回到处理器。在某些实施方案中,处理器不知晓实际上已从地址X执行了从地址Z的读取。处理器将经历稍微长的读取等待时间,因为SAU必须在返回读取数据之间执行存取。如果CPU对地址Z进行写入,那么执行类似操作;SAU将对地址X执行写入。
具有受保护的存储器的实例系统
图4是具有处理器(CPU 402)及受保护的存储器的实例系统的图。所述实例系统包含存储器保护硬件(MPU 404)。MPU 404保护UART 406及PWM 408的存储器。SAU 410及412向CPU 402提供对受MPU 404保护的存储器中的某些存储器的存取。
总线主控(例如,414及416)是可起始系统总线418上的传送的模块,而受控(例如,420、422、424及426)可仅响应于来自主控的传送。传送可以是读取或者写入操作。实例系统具有分级总线系统,其具有高带宽系统总线418及低带宽外围总线428。低带宽外围设备(例如,在此实例中为UART 406及PWM 408)连接到外围总线428,同时高带宽模块(例如,快闪存储器432及RAM 434)连接到系统总线418。外围总线428比系统总线418面积小且消耗少的功率。总线桥接器430连接外围及系统总线。总线桥接器将定时及信号从一个总线域转变到另一总线域。
MPU 404位于CPU 402与其总线主控414之间。MPU收听CPU 402尝试执行的存取。如果存取不具有充分特权,那么所述存取异常中止且MPU 404通知CPU 402。如果存取具有充分特权,那么将所述存取放置在系统总线418上并如CPU 402所打算的那样执行所述存取。
CPU 402可通过SAU存取受MPU 404保护的某些区域。例如,如果SAU经配置以提供对UART 406中的控制寄存器的存取,那么CPU 402可通过SAU存取所述寄存器。SAU不通过MPU 404与UART 406通信,且因此不经受与CPU 402相同的存取防止。
用于存取存储器的实例装置
图5A是经配置以存取系统中的具有存储器保护的存储器的实例装置500的方框图,例如,SAU。SAU 500具有控制区段502及通道区段504。
可使用硬件描述语言(HDL)语言(例如,Verilog或超高速集成电路HDL(VHDL))实施SAU 500。在某些实施方案中,以数字电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)实施SAU。在其它实施方案中,使用通用处理器实施SAU。
在某些实施方案中,SAU具有用于对SAU控制寄存器508进行存取的控制接口506。通常,控制接口506是低带宽外围总线接口。在某些实施方案中,通道接口510用来接受从CPU到SAU通道寄存器512中的传送。通常,通道接口510通过总线受控连接到高带宽系统总线。在各种实施方案中,主接口514用来执行到SAU所映射的外围设备(或其它存储器)中的存取。通常,主接口514通过总线主控连接高带宽系统总线。在所述实施方案中,当要执行读取操作时,接口可停止所述总线。其它配置可实现相同任务。
通常,可基于每通道配置规定映射(例如,到相关联存储器位置)的SAU控制寄存器。所述控制寄存器可受MPU保护。另一选择为,可通过具有从每一通道到其相关联存储器位置的固定映射来节省硅面积。取决于装置上的外围设备的数目及复杂性及所打算的应用,各种实施方案可实施不同数目的通道。
在某些实施方案中,SAU的通道区段504中的有限状态机(FSM)516在接口510上接受请求、检查请求是否有效且是否针对已解锁通道,且如果如此,那么起始主接口514上的传送。FSM可具有包含(例如)等待、检查请求、起始传送、发送读取数据等的状态。在某些实施方案中,FSM 516还经配置以处理总线上的错误条件及通道锁定错误。
控制寄存器实例
图5B显示控制寄存器实例的表。在某些实施方案中,SAU控制寄存器包括至少图5B中所示的实例控制寄存器。在其它实施方案中,使用其它控制寄存器或实例控制寄存器的其它配置。
在某些实施方案中,SAU控制寄存器包含重映射目标寄存器(RTR),例如550。每一RTR对应于一通道或一通道寄存器。在某些实施方案中,SAU将高达63个地址与RTR重映射。在某些实施方案中,RTR填充对应于存储器保护装置中的1千字节保护区域的1024字节地址。
在各种实施方案中,嵌入式架构使用32位存储器空间。可将外围设备映射到此存储器空间的小的区段中。在某些实施方案中,可将外围设备映射到地址范围0xFFFE0000到0xFFFFFFFF中。在其它实施方案中,由于外围寄存器是字可寻址的,因此地址中的位1:0为0。可使用15个触发器来物理上实施RTR,从而以如下方式扩展到32位重映射地址:
重映射_地址[1:0]=0
重映射_地址[15:2]=RTR[13:0]
重映射_地址[31:16]=(如果(RTR[14]==1)那么为0xffff,否则为0xfffe)
当将32-位值写入RTR时,可以如下方式将所写入的值映射到所述15个触发器:
RTR[13:0]=写入_数据[15:2]
RTR[14]=(如果(写入_数据[31:16]==0xffff),那么为1,否则为0)
因此,在某些实施方案中,可将RTR的较高16位压缩为1位,这是因为仅使用这些16个较高位中的2个不同值。
在各种实施方案中,RTR还用作通道寄存器。在替代实施方案中,通道寄存器是单独的。例如,通道寄存器可与RTR相关联。
在某些实施方案中,SAU控制寄存器包含解锁寄存器(UR)例如,552。在可执行对通道的存取之前,必须用密钥及要解锁的通道写入解锁寄存器。在另一寄存器(例如,密钥寄存器554)中的位字段中规定所述密钥。
在各种实施方案中,将针对在另一控制寄存器(例如,密钥寄存器554)中的另一位字段中所规定的循环数目解锁通道。在某些实施方案中,一次可仅解锁一个通道。在所述实施方案中,如果一个通道当前处于已解锁的状态中,且通过写入到UR解锁另一通道,那么可自动重锁定所述第一通道。在某些实施方案中,将UR放置在与RTR相同的1千字节地址范围中。
在某些实施方案中,UR具有如下位字段:
UR[7:0]-解锁密钥
UR[5:0]-待解锁的通道编号
在某些实施方案中,SAU控制寄存器包含密钥寄存器(KR)554。KR可具有如下位字段:
KR[0]-SAU启用
KR[15:8]-解锁密钥必须将在此位字段中所规定的值写入到UR以解锁通道。
KR[23:16]-时钟循环的解锁数目。在解锁通道之后,其针对此时钟循环量或直到对通道进行一次存取为止保持为解锁。
在某些实施方案中,SAU控制寄存器包含状态寄存器(SR)556。处理器可从SR读取信息以确定SAU的操作状态。所述状态寄存器可具有如下位字段:
SR[0]-解锁期满。执行解锁操作,但在对通道进行任何存取之前其超时。
SR[1]-通道存取成功。对通道的前一存取成功。写入可在任何时间自动重设UR。
SR[2]-通道存取不成功。尝试对锁定的或停用的通道进行存取。
在某些实施方案中,SAU控制寄存器包含通道启用寄存器,例如558及560。通道启用寄存器可包含每通道一个位,其中设定所述位启用对应的重映射通道。
在某些实施方案中,SAU控制寄存器包含状态清除寄存器(SCR)562。SCR中的位对应于SR 556中的位。写入SCR中的位清除SR中的对应位。
在某些实施方案中,SAU控制寄存器包含中断屏蔽寄存器(IMR)564。IMR中的位对应于SR 556中的位。在设定IMR中的位的情况下,如果设定SR中的对应位则产生中断请求。例如,SAU_IRQ(SAU中断请求)=|(SR & IMR)其中|是按位“或”且&是按位“与”。
在某些实施方案中,SAU控制寄存器包含中断启用寄存器(IER)566。IER中的位对应于IMR 564中的位。将一写入到IER中的位设定IMR中的对应位。
在某些实施方案中,SAU控制寄存器包含中断停用寄存器(IDR)568。IDR中的位对应于IMR 564中的位。将一写入到IER中的位清除IMR中的对应位。
所述实例控制寄存器中的每一者均可具有存取约束,例如只读取、只写入或读取及写入。列570显示所述实例控制寄存器中的每一者的存取约束的实例。
此处所描述的系统及技术的各种实施方案可在数字电子电路、集成电路、特别设计的ASIC(专用集成电路)、计算机硬件、固件、软件及/或其组合中实现。这些各种实施方案可包含呈一个或一个以上计算机程序形式的实施方案,所述计算机程序可在可编程系统上执行及/或翻译,所述可编程系统包含至少一个可编程处理器、至少一个输入装置及至少一个输出装置,所述可编程处理器可以是专用或通用处理器,其经耦合以从存储系统接收数据和指令及将数据和指令传输到存储系统。
这些计算机程序(也称作程序、软件、软件应用程序或代码)包含用于可编程处理器的机器指令,且可以高级程序及/或面向对象的编程语言及/或以汇编/机器语言来实施。如本文中所使用,术语“机器可读媒体”及“计算机可读媒体”是指用于向可编程处理器提供机器指令及/或数据的任何计算机程序产品、设备及/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包含接收作为机器可读信号的机器指令的机器可读媒体。术语“机器可读信号”是指用来向可编程处理器提供机器指令及/或数据的任何信号。
为提供与用户之间的互动,可在以下计算机上实施此处所描述的系统及技术:其具有用于向用户显示信息的显示器装置(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)及用户可通过其向计算机提供输入的键盘及指向装置(例如,鼠标或轨迹球)。其它类型的装置也可用来提供与用户之间的互动;例如提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈或触觉反馈);且可以任何形式接收来自用户的输入,包含声音、语音或触觉输入。
可在计算系统中实施此处所描述的系统及技术,所述系统包含后端组件(例如,作为数据服务器)或其包含中间件组件(例如,应用服务器),或其包含前端组件(例如,具有图形用户界面的客户计算机或通过其用户可与此处所描述的系统及技术的实施方案互动的Web浏览器)或此类后端、中间件或前端组件的任何组合。系统的组件可通过数字数据通信的任何形式或媒体(例如,通信网络)互连。通信网络的实例包含局域网络(“LAN”)、广域网络(“WAN”)及因特网。
尽管本说明书含有许多实施方案细节,但不应将其视为对本发明或可主张的范围的限制,而是应将其视为对本发明特定实施方案的具体特征的说明。在本说明书中在单独实施方案的背景中描述的某些特征还可以组合形式实施于单个实施方案中。相反地,在单个实施方案的背景中描述的各种特征也可分开地或以任何适合子组合形式实施于多个实施方案中。而且,尽管上文可将特征描述为以某些组合形式起作用且甚至最初主张如此,但来自一所主张组合的一个或一个以上特征在一些情况下可从所述组合去除,且所述所主张组合可针对一子组合或一子组合的变化形式。
类似地,尽管在图式中以特定次序描绘操作,但不应将此理解为需要以所示特定次序或按顺序次序执行此类操作,或执行所有所图解说明的操作以实现期望结果。在某些情况下,多任务及并行处理可是有利的。而且,不应将在上文所述的实施方案中的各种系统组件的分离理解为在所有实施方案中均需要此分离,且应理解,通常可将所述程序组件及系统一起集成于单个软件产品中或封装成多个软件产品。
因此,已描述了本发明的特定实施方案。其它实施方案也在所附权利要求书的范围内。例如,可以不同的次序执行权利要求书中所述的动作且仍实现期望的结果。

Claims (27)

1、一种方法,其包括:
从处理器接收对在第一存储器位置处的存储器存取的请求;
确定与所述第一存储器位置相关联的第二存储器位置,其中保护所述第二存储器位置不被所述处理器存取;及
在所述第二存储器位置处执行所述所请求的存储器存取。
2、如权利要求1所述的方法,其进一步包括:
接收解锁密钥;
确定所述解锁密钥是否有效;及
如果所述解锁密钥有效,那么在所述第二存储器位置处执行所述所请求的存储器存取。
3、如权利要求2所述的方法,其中仅在接收所述请求之前在规定的时钟循环范围内接收到所述解锁密钥的情况下执行所述所请求的存储器存取。
4、如权利要求1所述的方法,其中所述第二存储器位置受存储器保护装置的保护,所述存储器保护装置防止所述处理器存取所述第二存储器位置,其中所述防止是基于所述处理器的执行状态。
5、如权利要求4所述的方法,其中所述存储器保护装置保护大致比在所述第二存储器位置处存取的区域大的存储器区域。
6、如权利要求4所述的方法,其中所述防止进一步基于所述所请求的存储器存取。
7、如权利要求1所述的方法,其中所述第二存储器位置与外围装置相关联。
8、如权利要求7所述的方法,其中:
接收所述请求包含使用系统总线;及
在所述第二存储器位置处执行所述所请求的存储器存取包含使用外围总线。
9、如权利要求1所述的方法,其进一步包括:
接收规定第一多个存储器位置与第二多个存储器位置之间的映射的配置信息。
10、如权利要求1所述的方法,其中执行所述所请求的存储器存取包括:
从所述第二存储器位置读取规定量的数据且将所述数据发送到所述处理器;或
将数据写入到所述第二存储器位置。
11、一种编码在计算机可读媒体上的计算机程序产品,其可操作以致使数据处理设备执行包括以下的操作:
从处理器接收对在第一存储器位置处的存储器存取的请求;
确定与所述第一存储器位置相关联的第二存储器位置,其中所述第二存储器位置受保护而不被所述处理器存取;及
在所述第二存储器位置处执行所述所请求的存储器存取。
12、如权利要求11所述的程序产品,其中所述操作进一步包括:
接收解锁密钥;
确定所述解锁密钥是否有效;及
如果所述解锁密钥有效,那么在所述第二存储器位置处执行所述所请求的存储器存取。
13、如权利要求12所述的程序产品,其中仅在接收所述请求之前在规定的时钟循环范围内接收到所述解锁密钥的情况下执行所述所请求的存储器存取。
14、如权利要求11所述的程序产品,其中所述第二存储器位置受存储器保护装置的保护,所述存储器保护装置防止所述处理器存取所述第二存储器位置,其中所述防止是基于所述处理器的执行状态。
15、如权利要求14所述的程序产品,其中所述存储器保护装置保护大致比在所述第二存储器位置处存取的区域大的存储器区域。
16、如权利要求14所述的程序产品,其中所述防止进一步基于所述所请求的存储器存取。
17、如权利要求11所述的程序产品,其中所述第二存储器位置与外围装置相关联。
18、一种包括处理器、存储器保护装置及安全存取单元的系统,其中所述安全存取单元可操作以执行包括以下的操作:
从所述处理器接收对在第一存储器位置处的存储器存取的请求;
确定与所述第一存储器位置相关联的第二存储器位置,其中所述第二存储器位置受所述存储器保护装置保护而不被所述处理器存取;及
在所述第二存储器位置处执行所述所请求的存储器存取。
19、如权利要求18所述的系统,其中所述操作进一步包括:
接收解锁密钥;
确定所述解锁密钥是否有效;及
如果所述解锁密钥有效,那么在所述第二存储器位置处执行所述所请求的存储器存取。
20、如权利要求19所述的系统,其中所述安全存取单元仅在所述安全存取单元接收所述请求之前在规定的时钟循环范围内接收到所述解锁密钥的情况下执行所述所请求的存储器存取。
21、如权利要求18所述的系统,其中所述存储器保护装置基于所述处理器的执行状态及所述所请求的存储器存取而防止所述处理器存取所述第二存储器位置。
22、如权利要求18所述的系统,其中所述存储器保护装置保护大致比在所述第二存储器位置处存取的区域大的存储器区域。
23、如权利要求18所述的系统,其进一步包括系统总线及外围总线,其中:
接收所述请求进一步包括使用所述系统总线;
所述第二存储器位置与外围装置相关联;及
执行所述所请求的存储器存取进一步包括使用所述外围总线。
24、一种装置,其包括:
第一接口,其经配置以从处理器接收对在第一存储器位置处的存储器存取的请求;
存储器,其经配置以规定与所述第一存储器位置相关联的第二存储器位置,其中所述第二存储器位置受保护而不被所述处理器存取;及
第二接口,其经配置以在所述第二位置处执行所述所请求的存储器存取。
25、如权利要求24所述的装置,其中:
所述第一接口经配置以接收解锁密钥;且
所述装置可操作以确定所述解锁密钥是否有效且如果所述解锁密钥有效,那么在所述第二存储器位置处执行所述所请求的存储器存取。
26、如权利要求24所述的装置,其中所述存储器包括一个或一个以上控制寄存器及一个或一个以上通道寄存器。
27、如权利要求26所述的装置,其中所述第一存储器位置对应于所述通道寄存器中的一者。
CNA2009101372689A 2008-05-13 2009-04-29 存取系统中具有存储器保护的存储器 Pending CN101582107A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/120,165 US8209509B2 (en) 2008-05-13 2008-05-13 Accessing memory in a system with memory protection
US12/120,165 2008-05-13

Publications (1)

Publication Number Publication Date
CN101582107A true CN101582107A (zh) 2009-11-18

Family

ID=41180619

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2009101372689A Pending CN101582107A (zh) 2008-05-13 2009-04-29 存取系统中具有存储器保护的存储器

Country Status (4)

Country Link
US (1) US8209509B2 (zh)
CN (1) CN101582107A (zh)
DE (1) DE102009017496B4 (zh)
TW (1) TW200949557A (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009386B2 (en) 2010-12-13 2015-04-14 International Business Machines Corporation Systems and methods for managing read-only memory
CN108959110B (zh) * 2011-12-29 2023-05-30 太浩研究有限公司 一种用于防止用户模式指令的管理员模式执行的处理器及其方法
US9858207B2 (en) 2013-02-06 2018-01-02 International Business Machines Corporation Page level key-based memory protection
US9348608B2 (en) * 2013-04-24 2016-05-24 QRC, Inc. System and method for registering application and application transforms on a radiofrequency digitization and collection device
US11605166B2 (en) 2019-10-16 2023-03-14 Parsons Corporation GPU accelerated image segmentation
WO2021150594A1 (en) 2020-01-20 2021-07-29 Parsons Corporation Narrowband iq extraction and storage
US11619700B2 (en) 2020-04-07 2023-04-04 Parsons Corporation Retrospective interferometry direction finding
US11569848B2 (en) 2020-04-17 2023-01-31 Parsons Corporation Software-defined radio linking systems
US11575407B2 (en) 2020-04-27 2023-02-07 Parsons Corporation Narrowband IQ signal obfuscation
US11849347B2 (en) 2021-01-05 2023-12-19 Parsons Corporation Time axis correlation of pulsed electromagnetic transmissions
JP2022129555A (ja) * 2021-02-25 2022-09-06 セイコーエプソン株式会社 回路装置及び電子機器

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864692A (en) * 1996-12-16 1999-01-26 Hewlett-Packard Company Method and apparatus for protecting memory-mapped devices from side effects of speculative instructions
CN1439129A (zh) * 2000-06-27 2003-08-27 英特尔公司 在非易失存储器设备内的嵌入安全设备
US6820177B2 (en) * 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US20050015559A1 (en) * 1999-10-19 2005-01-20 Shen Andrew W. Operating system and data protection
CN1215676C (zh) * 1996-11-21 2005-08-17 摩托罗拉有限公司 用于数据加密/解密的装置和包括该数据加密/解密装置的数据载体设备
CN1816786A (zh) * 2003-06-30 2006-08-09 英特尔公司 可信外围机制
WO2006093716A1 (en) * 2005-03-02 2006-09-08 The Boeing Company Systems, methods and architecture for facilitating software access to acceleration technology
US20060259431A1 (en) * 2005-05-13 2006-11-16 Poisner David I Apparatus and method for content protection using one-way buffers
US7337360B2 (en) * 1999-10-19 2008-02-26 Idocrase Investments Llc Stored memory recovery system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943507A (en) 1994-12-22 1999-08-24 Texas Instruments Incorporated Interrupt routing circuits, systems and methods
US5825878A (en) 1996-09-20 1998-10-20 Vlsi Technology, Inc. Secure memory management unit for microprocessor
US6532533B1 (en) 1999-11-29 2003-03-11 Texas Instruments Incorporated Input/output system with mask register bit control of memory mapped access to individual input/output pins
US7043640B2 (en) * 2001-02-14 2006-05-09 Pritchard James B Apparatus and method for protecting a computer system
US7159120B2 (en) * 2001-11-19 2007-01-02 Good Technology, Inc. Method and system for protecting data within portable electronic devices
US6854039B1 (en) 2001-12-05 2005-02-08 Advanced Micro Devices, Inc. Memory management system and method providing increased memory access security
US7107459B2 (en) 2002-01-16 2006-09-12 Sun Microsystems, Inc. Secure CPU and memory management unit with cryptographic extensions
US7185178B1 (en) 2004-06-30 2007-02-27 Sun Microsystems, Inc. Fetch speculation in a multithreaded processor
US7216216B1 (en) 2004-06-30 2007-05-08 Sun Microsystems, Inc. Register window management using first pipeline to change current window and second pipeline to read operand from old window and write operand to new window
US7178005B1 (en) 2004-06-30 2007-02-13 Sun Microsystems, Inc. Efficient implementation of timers in a multithreaded processor
US7240160B1 (en) 2004-06-30 2007-07-03 Sun Microsystems, Inc. Multiple-core processor with flexible cache directory scheme
US7424584B2 (en) * 2004-08-12 2008-09-09 International Business Machines Corporation Key-controlled object-based memory protection
US8572329B2 (en) 2005-10-04 2013-10-29 Arm Limited Multi-region default memory map
GB0718817D0 (en) * 2007-09-26 2007-11-07 British Telecomm Password management
US20090113155A1 (en) * 2007-10-31 2009-04-30 Echostar Technologies Corporation Hardware anti-piracy via nonvolatile memory devices

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1215676C (zh) * 1996-11-21 2005-08-17 摩托罗拉有限公司 用于数据加密/解密的装置和包括该数据加密/解密装置的数据载体设备
US5864692A (en) * 1996-12-16 1999-01-26 Hewlett-Packard Company Method and apparatus for protecting memory-mapped devices from side effects of speculative instructions
US20050015559A1 (en) * 1999-10-19 2005-01-20 Shen Andrew W. Operating system and data protection
US7337360B2 (en) * 1999-10-19 2008-02-26 Idocrase Investments Llc Stored memory recovery system
CN1439129A (zh) * 2000-06-27 2003-08-27 英特尔公司 在非易失存储器设备内的嵌入安全设备
US6820177B2 (en) * 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
CN1816786A (zh) * 2003-06-30 2006-08-09 英特尔公司 可信外围机制
WO2006093716A1 (en) * 2005-03-02 2006-09-08 The Boeing Company Systems, methods and architecture for facilitating software access to acceleration technology
US20060259431A1 (en) * 2005-05-13 2006-11-16 Poisner David I Apparatus and method for content protection using one-way buffers

Also Published As

Publication number Publication date
US8209509B2 (en) 2012-06-26
DE102009017496B4 (de) 2020-09-10
DE102009017496A1 (de) 2009-11-19
US20090287894A1 (en) 2009-11-19
TW200949557A (en) 2009-12-01

Similar Documents

Publication Publication Date Title
CN101582107A (zh) 存取系统中具有存储器保护的存储器
US6922740B2 (en) Apparatus and method of memory access control for bus masters
EP1556770B1 (en) Event delivery for processors
EP0306702A2 (en) Virtual input/output commands
US9805221B2 (en) Incorporating access control functionality into a system on a chip (SoC)
US10303621B1 (en) Data protection through address modification
US20070180269A1 (en) I/O address translation blocking in a secure system during power-on-reset
US8601229B2 (en) Secure memory access system and method
US10678710B2 (en) Protection scheme for embedded code
JP2005509946A (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
US9104472B2 (en) Write transaction interpretation for interrupt assertion
JP2005512228A (ja) 強化されたメモリアクセスセキュリティを提供する、メモリに対するデバイスのアクセスを制御するシステムおよび方法
WO2008030727A2 (en) Access control of memory space in microprocessor systems
KR100972635B1 (ko) 컴퓨터 시스템내에서의 장치간 액세스를 제어하는 시스템및 방법
EP1843250B1 (en) System and method for checking the integrity of computer program code
US7246213B2 (en) Data address security device and method
CN115878266A (zh) ARM Cortex-A7处理器仿真方法、系统、介质及设备
US9535850B1 (en) System and method for efficient DMA transfers
JP2002536718A (ja) アドレスリマッピング保証装置および方法
CN111061591A (zh) 基于存储器完整性检查控制器实现数据完整性检查的系统和方法
US20020166065A1 (en) Method and system for providing security to processors
US20230185904A1 (en) Method and system for freedom from interference (ffi)
WO2022227641A1 (zh) 一种安全保护方法、装置及系统
EP1862908B9 (en) Integrated circuit arrangement, a method for monitoring access requests to an integrated circuit arrangement component of an integrated circuit arrangement and a computer program product
Correa et al. Hardware-based approach to guarantee trusted system boot in embedded systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20091118

C20 Patent right or utility model deemed to be abandoned or is abandoned