CN101438254A - 用于提供闪存设备关联的读访问控制***的方法和装置 - Google Patents
用于提供闪存设备关联的读访问控制***的方法和装置 Download PDFInfo
- Publication number
- CN101438254A CN101438254A CNA2007800158884A CN200780015888A CN101438254A CN 101438254 A CN101438254 A CN 101438254A CN A2007800158884 A CNA2007800158884 A CN A2007800158884A CN 200780015888 A CN200780015888 A CN 200780015888A CN 101438254 A CN101438254 A CN 101438254A
- Authority
- CN
- China
- Prior art keywords
- read access
- memory range
- response
- access command
- memory
- 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
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本文主要描述用于提供闪存设备关联的读访问控制***的方法和装置的实施例。其它实施例可被描述且要求其权益。
Description
技术领域
[0001]本公开一般涉及闪速存储器***,更具体地说,涉及用于提供与闪存设备关联的读访问控制***的方法和装置。
背景技术
[0002]随着越来越多人携带和/或使用电子设备在各种位置(如办公室、学校、机场、咖啡店等)工作、教育和/或娱乐,技术开发被进行以便在降低成本和/或能源消耗的同时提供更强的移动性和/或访问。更具体地说,闪速存储器是非易失性存储器,它除了可电编程和擦除电子信息外,还可无需能源保持信息。无需移动部件诸如硬盘、闪速存储器,也可适于便携式或移动电子设备,诸如存储卡、通用串行总线(USB)闪存设备、数字音频播放器(如MPEG音频层3(MP3)播放器)、数字相机、手持计算机、手持游戏设备、移动电话和/或医疗设备。
附图说明
[0003]图1是根据本文公开的方法和装置的实施例基于闪速存储器的示例处理***的示意图。
[0004]图2描述存储器阵列配置的一个示例。
[0005]图3描述存储器阵列配置的另一示例。
[0006]图4描述存储器阵列配置的又一示例。
[0007]图5是用以提供读访问控制***的一种方式的示意流程图。
[0008]图6是用以提供读访问控制***的另一方式的示意流程图。
[0009]图7是可用于实现图1中的示例闪速存储器***的示例处理器***的示意框图。
具体实施方式
[0010]一般来说,用于提供读访问控制***的方法和装置与闪存设备关联。本文描述的方法和装置并不限于此点。
[0011]参考图1,基于闪速存储器的示例处理***100可包括中央处理单元(CPU)110和闪存设备120。一般来说,基于闪速存储器的处理***100可在电子设备(未示出)中实现。例如,基于闪速存储器的处理***100可在桌面计算机、网络服务器、膝上计算机、手持计算机、平板计算机、移动电话(如智能电话)、寻呼机、音频和/或视频播放器(如MP3播放器或DVD播放器)、游戏设备、数字相机、导航设备(如全球定位***(GPS)设备)、医疗设备(如心率监视器、血压监视器等)、存储卡、USB闪存设备,和/或其它合适的相对静止的、移动的和/或便携式电子设备中实现。
[0012]CPU 110可通过闪存接口130可操作地耦合到闪存设备120。例如,闪存接口130可包括CPU 110和闪存设备120之间的总线和/或直接链路。CPU 110可包括引导只读存储器(ROM)140和主控制器145。在一个示例中,引导ROM 140可将引导代码提供给闪存设备120用于初始化。备选地,闪存设备120可从它自身直接引导。主控制器145(如应用处理器)可执行CPU 110的各种操作。例如,主控制器145可处理范围包括运行操作***(OS)、如上所述调用引导ROM 140的应用和/或其它合适的应用的操作。
[0013]闪存设备120可包括集成控制器150、存储器阵列155、随机数字发生器(RNG)160、安全散列发生器(secure hash generator)(SHG)165、签名验证器(SV)170和寄存器175。一般来说,闪存设备120可内部验证操作以保护它自己免于恶意的和/或不当的修改。在执行请求的操作(诸如读、写、补丁、检索和/或其它合适的操作)之前,闪存设备120可内部验证所请求的操作。如果所请求的操作是可信的,则闪存设备120可执行操作。否则如果所请求的操作是不可信的,则闪存设备120可忽视该请求。
[0014]在一个示例中,集成控制器150可控制如下详细描述的存储器阵列155的读访问。更具体地说,存储器阵列155可包括一个或多个浮栅晶体管(floating gate transistor)或单元(未示出)以便存储数据、代码和/或其它合适的信息。为了检索存储在存储器阵列155中的数据、代码或信息,CPU 110可发送读访问命令给集成控制器150,从而请求存储器阵列155的一个或多个存储器范围(memory range)(如存储器范围180)的读访问。尽管图1只描述了一个存储器范围,但是存储器阵列155可包括另外的存储器范围。
[0015]闪存设备120可根据签名验证确定读访问命令是否可信。简单来说,CPU 110可从闪存设备120请求临时值(nonce value)。随机数字发生器160可产生临时值并将其存储在寄存器175中。相应地,集成控制器150可提供临时值给CPU 110。
[0016]CPU 110(如通过主控制器145)可计算第一散列值。第一散列值可关联于从CPU 110到闪存设备120的消息。例如,消息可包括到闪存设备120的命令、相应的数据和/或从闪存设备120请求的临时值。CPU 110可通过私有密钥(如验证签名)签署第一散列值。在一个示例中,CPU 110可根据非对称验证算法(如由Rivest、Shamir和Adleman(RSA)开发的公共密钥加密)进行操作。备选地,CPU 110可根据由国家标准技术研究所(NIST)开发的加密标准(诸如高级加密标准(AES)(2001年11月26日发布)、数据加密标准(DES)(1977年1月15日发布)、这些标准的变型和/或演变,和/或其它合适的加密标准、算法或技术进行操作。CPU 110可将消息和验证签名(如RSA签名)转发给闪存设备120。
[0017]根据与来自CPU 110的消息关联的命令和对应数据以及存储在寄存器175中的临时值,安全散列发生器165可产生第二散列值。签名验证器170可验证与来自CPU 110的消息关联的验证签名。相应地,集成控制器150可比较第一散列值与第二散列值。如果第一散列值匹配第二散列值,则来自CPU 110的消息可被验证。否则,来自CPU 110的消息不可被验证。
[0018]此外,如下详细地描述,寄存器175可存储对应于存储器范围180的一个或多个预定值。更具体地说,如果存储器范围180被禁止读访问,则集成控制器150可提供预定值给CPU 110。
[0019]尽管图1中给出的组件被描述为闪存设备120中分开的模块(block),但是这些模块中的一些执行的功能可被集成在单个半导体电路内或者可利用两个或多个分开的集成电路实现。例如,尽管随机数字发生器160和安全散列发生器165被描述为闪存设备120中分开的块,但是随机数字发生器160和安全散列发生器165可被集成到单个组件中。本文描述的方法和装置并不限于此点。
[0020]然而为了进一步保护敏感信息,集成控制器150可直接控制存储器阵列155的分区的读访问。一般来说,存储器范围180可根据读访问模式(诸如下面进一步详细描述的静态读访问模式或动态读访问模式进行操作。在静态读访问模式中,例如,集成控制器150可在准许CPU 110访问存储器范围180之后禁止存储器范围180的读访问。闪存设备120重置之后,存储器范围180可再次被启动读访问。备选地,闪存设备120重置之后存储器范围180可被禁止读访问。
[0021]在动态读访问模式中,集成控制器150可开启或关闭(toggle on or off)存储器范围180的读访问。与在静态读访问模式中的操作相似地,在动态读访问模式中集成控制器150也可在闪存设备120重置之后启动存储器范围180的读访问。然而集成控制器150也可启动存储器范围180的读访问以响应于来自CPU 110的验证的动态读访问命令的接收。通过控制存储器范围180的读访问,集成控制器150可确定存储在存储器范围180中的信息对运行在CPU 110上的各种应用是否可访问。因此,本文描述的方法和装置可将应用彼此隔离和/或将安全应用与非安全应用隔离。
[0022]如上所述,存储器阵列(如图1中的存储器阵列155)可存储各种信息(如代码、数据等)。转到图2,例如,存储器阵列配置200可包括一个或多个分区,一般示为210、220、230、240、250、260和270。尽管图2描述了特定数目的分区,但是存储器阵列配置200可包括更多或更少的分区。此外,尽管图2描述特定顺序的分区,但是本文描述的方法和装置显然可适用于其它合适的存储器阵列配置。
[0023]更具体地说,存储器阵列配置200可包括用于存储可执行代码的分区,诸如引导分区210、操作***(OS)分区220以及一个或多个***库分区230。存储器阵列配置200还可包括用于存储敏感信息(如用户名、密码、账号等)的一个或多个分区,一般示为存储器范围240(MR1)、250(MR2)、260(MRn-1)和270(MRn)。尽管图2描述了用于存储敏感信息的四个存储器范围,但是存储器阵列配置200可包括更多或更少的存储器范围。
[0024]为了访问存储器阵列配置200的每一个分区,CPU 110可要求验证。在一个示例中,第一存储器范围240可存储数据245而第二存储器范围250可存储数据255。CPU 110可使用一种验证密钥以便具有第一存储器范围240的读访问以及使用另一种验证密钥以便具有第二存储器范围250的读访问。相应地,CPU 110可通过适当的验证密钥访问存储在第一存储器范围240中的数据245以及存储在第二存储器范围255中的数据255。
[0025]集成控制器150可启动第一存储器范围240的读访问使得CPU 110可通过与第一存储器范围240关联的验证密钥获得数据245。在另一示例中,集成控制器150可启动第二存储器范围250的读,使得CPU 110可通过与第二存储器范围250关联的验证密钥查询数据255。如下详细地描述,如果集成控制器150禁止存储器范围180的读访问,则集成控制器150会将存储在寄存器175中的预定值提供给CPU 110,尽管CPU 110可具有与存储器范围180关联的验证密钥。
[0026]在图3的示例中,存储器阵列配置300可包括一个或多个分区,一般示为310、320、330、340、350、360和370。分区310、320、330、340、350、360和370可分别对应于如上结合图2所述的分区210、220、230、240、250、260和270。更具体地说,CPU 110可具有与第一和第二存储器范围340和350的每个均关联的验证密钥。在启动第一存储器范围340的读访问的条件下,集成控制器150可将存储在第一存储器范围340中的数据(如数据345)提供给CPU110。
[0027]与图2中存储器阵列配置200的第二存储器范围250相反,集成控制器150禁止第二存储器范围350的读访问。因此,即使CPU110具有与第二存储器范围350关联的验证密钥,存储在第二存储器范围350中的数据对CPU 110来说也可能是不可得到的(如对CPU110隐瞒)。相替代地,集成控制器150可将存储在寄存器175中的预定值355提供给CPU 110。本文描述的方法和装置并不限于此点。
[0028]转到图4,再例如,存储器阵列配置400可包括一个或多个分区,一般示为410、420、430、440、450、460和470。分区410、420、430、440、450、460和470可分别对应于如上结合图3所述的分区310、320、330、340、350、360和370。CPU 110可具有与第一和第二存储器范围440和450中每一个均关联的验证密钥。在启动第二存储器范围450的读访问的条件下,集成控制器150可将存储在第二存储器范围450中的数据(如数据455)提供给CPU 110。
[0029]与图3中存储器阵列配置300的第一存储器范围340相反,集成控制器150可禁止第一存储器范围440的读访问。因此,即使CPU110具有与第一存储器范围440关联的验证密钥,数据445对CPU 110来说也可能是不可得到的(如对CPU 110隐瞒)。相替代地,集成控制器150可将存储在寄存器175中的预定值445提供给CPU 110。本文描述的方法和装置并不限于此点。
[0030]如上所述,集成控制器150可具有存储器范围180的静态读访问控制或动态读访问控制。更具体地说,静态读访问控制可禁止存储器范围180的读访问直到闪存设备120被重置。在一个示例中,静态读访问控制可用于保护引导过程(如无线(over-the-air)广播应用代码,诸如更新补丁)中使用的信息。在被CPU 110访问之后,除非闪存设备120被重置,否则该信息可能无法访问。静态读访问控制的状态可通过集成控制器150的非易失性(NV)位指示。
[0031]与静态读访问控制相似,动态读访问控制也可禁止存储器阵列180的读访问,直到闪存设备120被重置。然而动态读访问控制可响应于验证的读访问命令来启动存储器范围180的读访问。相应地,动态读访问控制可开启或关闭存储器范围180的读访问。在一个示例中,动态读访问控制可用于在应用和对应的数据之间提供隔离。因此当应用没有运行时,动态读访问控制可保护应用的敏感数据。动态读访问控制的状态可通过集成控制器150的RAM位指示。
[0032]图5和图6描述了多种方式,其中图1中基于闪速存储器的示例处理***100可提供与闪存设备(如图1中的闪存设备120)关联的读访问控制***。图5和6中的示例过程500和600可利用存储在任意组合的机器可访问介质(诸如易失性或非易失性存储器或其它大容量存储设备(如软盘、CD和DVD))中的任意多种不同的程序代码分别被实现为机器可访问的指令。例如,机器可访问指令可被包括在机器可访问介质诸如可编程门阵列、专用集成电路(ASIC)、可擦除可编程只读存储器(EPROM)、ROM、RAM、磁性介质、光学介质和/或任意其它合适类型的介质中。
[0033]此外,尽管行为的特定顺序在图5和6中都被描述,但是这些行为可以其它时间顺序被执行。例如,图5和/或6中描述的行为可以重复、串行和/或并行的方式被执行。此外,结合图1中装置,示例过程500和600仅提供和描述为提供与闪存设备关联的读访问控制***的示例。
[0034]在静态读访问模式中,例如,图5中描述的过程500可开始于监视(如通过集成控制器150)来自CPU 110的读访问命令的闪存设备120(模块510)。更具体地说,CPU 110可请求访问存储器阵列155的特定存储器范围(如图1中的存储器范围180)。如果闪存设备120不从CPU 110接收读访问命令,则集成控制器150可继续监视读访问命令。
[0035]否则如果在模块510闪存设备120接收来自CPU的读访问命令,则集成控制器150可确定读访问命令是否是验证的读访问命令(模块520)。在一个示例中,读访问命令可根据RSA签名协议被验证。如果读访问命令不是验证的读访问命令,则控制可返回模块510。然而如果读访问命令是验证的读访问命令,则集成控制器150可确定闪存设备120是否被重置(模块530)。在一个示例中,闪存设备120可在引导过程之前和/或引导过程期间从集成控制器150接收重置命令。
[0036]如果闪存设备120被重置,则集成控制器150可将存储在存储器范围180中的数据提供给CPU 110(模块540)。相应地,集成控制器150可禁止存储器范围180的读访问(模块550)。否则如果在模块530闪存设备120没有被重置,则集成控制器150可拒绝存储器范围180的读访问并且将存储在寄存器185中的预定值提供给CPU 110(模块560)。本文描述的方法和装置并不限于此点。
[0037]在动态读访问模式中,例如,图6中描述的过程600可开始于监视(如通过集成控制器150)来自CPU 110的读访问命令的闪存设备120(模块610)。更具体地说,CPU 110可请求访问存储器阵列155的特定存储器范围(如图1中的存储器范围180)。如果闪存设备120不从CPU 110接收读访问命令,则集成控制器150可继续监视读访问命令。
[0038]否则,如果在模块610,闪存设备120从CPU接收读访问命令,则集成控制器150可确定读访问命令是否是验证的读访问命令(模块620)。如果读访问命令不是验证的读访问命令,则控制可返回模块510。然而如果读访问命令是验证的读访问命令,则集成控制器150可监视许可命令(grant command)以便验证存储器范围180的读访问(模块630)。
[0039]如果集成控制器150检测到许可命令,则集成控制器150可将存储在存储器范围180的数据提供给CPU 110(模块640)。更具体地说,许可命令可启动存储器范围180的读访问。相应地,集成控制器150可禁止存储器范围180的读访问(模块650)。否则如果在模块630,集成控制器150没有成功检测到许可命令,则集成控制器150可确定闪存设备120是否被重置(模块660)。
[0040]如果闪存设备120被重置,则集成控制器150可将存储在存储器范围180中的数据提供给CPU 110(模块640)。相应地,集成控制器150可禁止存储器范围180的读访问(模块650)。否则如果在模块660,闪存设备120没有被重置,则集成控制器150可拒绝存储器范围180的读访问并且将存储在寄存器175中的预定值提供给CPU 110(模块670)。本文描述的方法和装置并不限于此点。
[0041]尽管上述示例仅描述了两种读访问模式(如静态读访问模式和动态读访问模式),本文描述的方法和装置显然也适于根据其它合适的读访问模式进行操作。尽管本文公开的方法和装置在图5和6中被描述为以特定的方式进行操作,本文公开的方法和装置无需图5和6中描述的特定模块显然也可应用。此外,尽管图5和6描述了特定模块,这些模块中的一些执行的行为也可被集成在单个模块中或者可利用两个或多个分开的模块来实现。
[0042]图7是适于实现本文公开的方法和装置的示例处理器***2000的框图。处理器***2000可以是桌面计算机、膝上计算机、手持计算机、平板计算机、PDA、服务器、因特网应用和/或其它类型的计算设备。
[0043]图7中描述的处理器***2000可包括芯片组2010,它包括存储器控制器2012和输入/输出(I/O)控制器2014。芯片组2010可提供存储器和I/O管理功能,还有多个通用寄存器和/或专用寄存器、计时器等,它们可被处理器2020访问或使用。处理器2020可利用一个或多个处理器WPAN组件、WLAN组件、WMAN组件、WWAN组件和/或其它合适的处理组件来实现。例如,处理器2020可利用一个或多个酷睿TM技术、 技术、 技术、 技术、至强TM技术和/或 技术来实现。作为备选,其它处理技术可用于实现处理器2020。处理器2020可包括高速缓冲存储器2022,它可利用第一级统一缓冲存储器(L1)、第二级统一缓冲存储器(L2)、第三级统一缓冲存储器(L3)和/或任意其它合适的结构存储数据来实现。
[0044]存储器控制器2012可执行启动处理器2020通过总线2040访问并与包括易失性存储器2032和非易失性存储器2034的主存储器2030通信的功能。易失性存储器2032可通过同步动态随机访问存储器(SDRAM)、动态随机访问存储器(DRAM)、RAMBUS动态随机访问存储器(RDRAM)和/或任意其它类型的随机访问存储器设备来实现。非易失性存储器2034可利用闪速存储器、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)和/或任意其它期望类型的存储器设备来实现。
[0045]处理器***2000还可包括耦合到总线2040的接口电路2050。接口电路2050可利用任意类型的接口标准(诸如以太网接口、通用串行总线(USB)、第三代输入/输出(3GIO)接口和/或任意其它合适类型的接口)来实现。
[0046]一个或多个输入设备2060可被连接到接口电路2050。输入设备2060容许个体将数据和命令输入到处理器2020。例如,输入设备2060可由键盘、鼠标、触控式显示器(touch-sensitive display)、跟踪板、跟踪球、网格(isopoint)和/或语音识别***来实现。
[0047]一个或多个输出设备2070也可连接到接口电路2050。例如,输出设备2070可由显示设备(如发光二极管(LED)、液晶显示器(LCD)、阴极射线管(CRT)显示器、打印机和/或扬声器)来实现。接口电路2050可包括尤其是图形驱动卡。
[0048]处理器***2000还可包括一个或多个大容量存储设备2080以存储软件和数据。这种大容量存储设备2080的示例包括软盘及驱动、硬盘驱动、压缩磁盘及驱动,还有数字多功能磁盘(DVD)及驱动。
[0049]接口电路2050还可包括通信设备(诸如调制解调器或网络接口卡),从而促进通过网络与外部计算机的数据交换。处理器***2000和网络之间的通信链路可以是任意类型的网络连接,诸如以太网连接、数字用户线路(DSL)、电话线路、移动电话***、同轴电缆等。
[0050]输入设备2060、输出设备2070、大容量存储设备2080和/或网络的访问可由I/O控制器2014进行控制。更具体地说,I/O控制器2014可执行启动处理器2020通过总线2040和接口电路2050与输入设备2060、输出设备2070、大容量存储设备2080和/或网络进行通信的功能。
[0051]尽管图7中给出的组件被描述为处理器***2000内分开的模块,这些模块中的一些执行的功能也可集成在单个半导体电路内或者可利用两个或多个分开的集成电路来实现。例如,尽管存储器控制器2012和I/O控制器2014被描述为芯片组2010中分开的模块,存储器控制器2012和I/O控制器2014也可集成在单个半导体电路内。
[0052]尽管本文已经描述了某些示例性的方法、装置和制品,但是本公开的覆盖范围并不限于此。相反,本公开逐条地或教义等价地覆盖属于所附权利要求范围内的所有方法、装置和制品。例如,尽管上面公开的示例***包括尤其是在硬件上执行的软件或固件,但是应该注意这样的***仅仅是描述性的并且不应该被认为是限制性的。更具体地说,可以预期任意或全部公开的硬件、软件和/或固件组件可被专门包括在硬件中、专门在软件中、专门在固件中或者在硬件、软件和/或固件的某些组合中。
Claims (29)
1.一种方法,包括:
在可操作地耦合到处理器单元的闪存设备的集成控制器处验证读访问命令,所述处理器单元提供访问所述闪存设备的存储器阵列的存储器范围的所述读访问命令,以及
由所述集成控制器根据所述读访问命令控制所述存储器范围的读访问。
2.如权利要求1中所述的方法,还包括识别静态读访问命令或动态读访问命令中的一种。
3.如权利要求1中所述的方法,其中控制所述存储器范围的读访问包括响应于检测到指示所述闪存设备重置的条件来启动所述存储器范围的读访问。
4.如权利要求1中所述的方法,其中控制所述存储器范围的读访问包括响应于检测到验证的动态读访问命令来启动所述存储器范围的读访问。
5.如权利要求1中所述的方法,其中控制所述存储器范围的读访问包括响应于将存储在所述存储器范围中的数据的读访问提供给所述处理器单元来禁止所述存储器范围的读访问。
6.如权利要求1中所述的方法,其中控制所述存储器范围的读访问包括根据所述集成控制器的非易失性(NV)位或随机访问存储器(RAM)位中的一个来控制所述存储器范围,并且其中所述NV位与静态读访问模式关联而所述RAM位与动态读访问模式关联。
7.如权利要求1中所述的方法,还包括响应于检测到指示所述存储器范围被禁止读访问的条件来向所述处理单元提供预定值。
8.如权利要求1中所述的方法,还包括在与所述闪存设备关联的寄存器中存储预定值,其中所述预定值与所述存储器范围关联。
9.一种制品,所述制品包括的内容当被访问时可使机器:
在可操作地耦合到处理器单元的闪存设备的集成控制器处验证读访问命令,所述处理器单元提供访问所述闪存设备的存储器阵列的存储器范围的所述读访问命令,以及
由集成控制器根据所述读访问命令控制所述存储器范围的读访问。
10.如权利要求9中所述的制品,其中所述内容当被访问时,使所述机器识别静态读访问命令或动态读访问命令中的一种。
11.如权利要求9中所述的制品,其中所述内容当被访问时,使所述机器通过响应于检测到指示所述闪存设备的重置的条件启动所述处理器单元对所述存储器范围的读访问来控制所述存储器范围的读访问。
12.如权利要求9中所述的制品,其中所述内容当被访问时,使所述机器通过响应于检测到验证的动态读访问命令启动所述处理器单元对所述存储器范围的读访问来控制所述存储器范围的读访问。
13.如权利要求9中所述的制品,其中所述内容当被访问时,使所述机器通过响应于将存储在所述存储器范围中的数据的读访问提供给所述处理器单元禁止所述存储器范围的读访问来控制所述存储器范围的读访问。
14.如权利要求9中所述的制品,其中所述内容当被访问时,使所述机器通过根据所述集成控制器的非易失性(NV)位或随机访问存储器(RAM)位中的一个控制所述存储器范围来控制所述存储器范围的读访问,并且其中所述NV位与静态读访问模式关联而RAM位与动态读访问模式关联。
15.如权利要求9中所述的制品,其中所述内容当被访问时,使所述机器响应于检测到指示所述存储器范围被禁止读访问的条件来提供预定值给所述处理单元。
16.一种装置,包括:
具有存储器范围的存储器阵列;以及
可操作地耦合到所述存储器阵列的控制器,以验证来自处理器单元的读访问命令,从而根据所述读访问命令访问所述存储器范围并且控制所述存储器范围的读访问,
其中所述控制器通过闪存接口可操作地耦合到所述处理单元。
17.如权利要求16中所述的装置,其中所述读访问命令包括静态读访问命令或动态读访问命令中的一种。
18.如权利要求16中所述的装置,其中所述控制器配置为响应于检测到指示所述闪存设备重置的条件来启动所述处理器单元对所述存储器范围的读访问。
19.如权利要求16中所述的装置,其中所述控制器配置为响应于检测到验证的动态读访问命令来启动所述处理器单元对所述存储器范围的读访问。
20.如权利要求16中所述的装置,其中所述控制器配置为响应于将存储在所述存储器范围中的数据的读访问提供给所述处理器单元来禁止所述存储器范围的读访问。
21.如权利要求16中所述的装置,其中所述控制器配置为根据非易失性(NV)位或随机访问存储器(RAM)位中的一个控制所述存储器范围,并且所述NV位与静态读访问模式关联而RAM位与动态读访问模式关联。
22.如权利要求16中所述的装置,还包括寄存器,所述寄存器响应于检测到指示所述存储器范围被禁止读访问的条件来存储提供给所述处理单元的预定值。
23.一种***,包括:
处理单元;以及
闪存设备,所述闪存设备通过闪存接口可操作地耦合到所述处理单元,所述闪存设备具有存储器阵列和集成控制器以验证来自处理器单元的读访问命令,从而根据所述读访问命令访问所述存储器阵列的存储器范围以及控制所述存储器范围的读访问。
24.如权利要求23中所述的***,其中所述读访问命令包括静态读访问命令或动态读访问命令中的一种。
25.如权利要求23中所述的***,其中所述集成控制器配置为响应于检测到指示所述闪存设备的重置的条件来启动所述处理器单元对所述存储器范围的读访问。
26.如权利要求23中所述的***,其中所述集成控制器配置为响应于检测到验证的动态读访问命令来启动所述处理器单元对所述存储器范围的读访问。
27.如权利要求23中所述的***,其中所述集成控制器配置为响应于将存储在所述存储器范围中的数据的读访问提供给所述处理器单元来禁止所述存储器范围的读访问。
28.如权利要求23中所述的***,其中所述集成控制器配置为根据非易失性(NV)位或随机访问存储器(RAM)位中的一个控制所述存储器范围,并且其中所述NV位与静态读访问模式关联而所述RAM位与动态读访问模式关联。
29.如权利要求23中所述的***,其中所述集成控制器配置为响应于检测到指示禁止所述存储器范围的读访问的条件来将存储在所述存储器阵列的寄存器中的预定值提供给所述处理单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/429,025 | 2006-05-04 | ||
US11/429,025 US7613891B2 (en) | 2006-05-04 | 2006-05-04 | Methods and apparatus for providing a read access control system associated with a flash device |
PCT/US2007/068005 WO2007131024A1 (en) | 2006-05-04 | 2007-05-02 | Methods and apparatus for providing a read access control system associated with a flash device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101438254A true CN101438254A (zh) | 2009-05-20 |
CN101438254B CN101438254B (zh) | 2012-12-12 |
Family
ID=38662467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800158884A Active CN101438254B (zh) | 2006-05-04 | 2007-05-02 | 用于提供闪存设备关联的读访问控制***的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7613891B2 (zh) |
CN (1) | CN101438254B (zh) |
WO (1) | WO2007131024A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210240869A1 (en) * | 2017-04-21 | 2021-08-05 | Micron Technology, Inc. | Secure memory device with unique identifier for authentication |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1276033B1 (de) * | 2001-07-10 | 2012-03-14 | Trident Microsystems (Far East) Ltd. | Speichereinrichtung mit Datenschutz in einem Prozessor |
US7836269B2 (en) * | 2006-12-29 | 2010-11-16 | Spansion Llc | Systems and methods for access violation management of secured memory |
EP2120189B1 (en) * | 2007-01-30 | 2013-01-16 | Panasonic Corporation | Nonvolatile storage device, nonvolatile storage system, and access device |
US7917716B2 (en) * | 2007-08-31 | 2011-03-29 | Standard Microsystems Corporation | Memory protection for embedded controllers |
TW200917123A (en) * | 2007-10-03 | 2009-04-16 | Guo-Lang Zhang | USB flash disk for computer boot up and method of loading programs in the USB flash disk |
US8880483B2 (en) * | 2007-12-21 | 2014-11-04 | Sandisk Technologies Inc. | System and method for implementing extensions to intelligently manage resources of a mass storage system |
US8510542B2 (en) * | 2008-10-01 | 2013-08-13 | Oracle International Corporation | Flash memory device having memory partitions and including an embedded general purpose operating system for booting a computing device |
JP2011141709A (ja) * | 2010-01-07 | 2011-07-21 | Sanyo Electric Co Ltd | アクセス制御装置 |
TWI436372B (zh) * | 2010-01-28 | 2014-05-01 | Phison Electronics Corp | 快閃記憶體儲存系統及其控制器與防資料竄改方法 |
CN102844745A (zh) * | 2010-04-12 | 2012-12-26 | 惠普发展公司,有限责任合伙企业 | 非易失性缓存 |
US9208319B2 (en) | 2011-12-15 | 2015-12-08 | Microsoft Technology Licensing, Llc | Code base partitioning system |
WO2016033539A1 (en) * | 2014-08-29 | 2016-03-03 | Memory Technologies Llc | Control for authenticated accesses to a memory device |
US9946868B2 (en) * | 2015-10-12 | 2018-04-17 | Dresser, Inc. | Device functionality control |
US11256427B2 (en) * | 2018-12-28 | 2022-02-22 | Micron Technology, Inc. | Unauthorized memory access mitigation |
US11233650B2 (en) | 2019-03-25 | 2022-01-25 | Micron Technology, Inc. | Verifying identity of a vehicle entering a trust zone |
US11218330B2 (en) * | 2019-03-25 | 2022-01-04 | Micron Technology, Inc. | Generating an identity for a computing device using a physical unclonable function |
US11361660B2 (en) | 2019-03-25 | 2022-06-14 | Micron Technology, Inc. | Verifying identity of an emergency vehicle during operation |
US11323275B2 (en) | 2019-03-25 | 2022-05-03 | Micron Technology, Inc. | Verification of identity using a secret key |
US20230126605A1 (en) * | 2021-10-22 | 2023-04-27 | Micron Technology, Inc. | Authenticated reading of memory system data |
US20230127278A1 (en) * | 2021-10-22 | 2023-04-27 | Micron Technology, Inc. | Multi-factor authentication for a memory system based on internal asymmetric keys |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778070A (en) * | 1996-06-28 | 1998-07-07 | Intel Corporation | Method and apparatus for protecting flash memory |
US6684326B1 (en) * | 1999-03-31 | 2004-01-27 | International Business Machines Corporation | Method and system for authenticated boot operations in a computer system of a networked computing environment |
US6564317B1 (en) * | 1999-12-20 | 2003-05-13 | Intel Corporation | Method and apparatus for securing computer firmware wherein unlocking of nonvolatile memory is prohibited unless address line masking Is disabled during an initialization event |
US6681304B1 (en) * | 2000-06-30 | 2004-01-20 | Intel Corporation | Method and device for providing hidden storage in non-volatile memory |
EP1349031B1 (en) * | 2002-03-18 | 2003-11-05 | Ubs Ag | Secure user and data authentication over a communication network |
JP3979194B2 (ja) * | 2002-06-25 | 2007-09-19 | ソニー株式会社 | 情報記憶装置、およびメモリアクセス制御方法、並びにコンピュータ・プログラム |
US20040015709A1 (en) * | 2002-07-18 | 2004-01-22 | Bei-Chuan Chen | Software delivery device and method for providing software copy protection |
KR20050113659A (ko) * | 2003-03-19 | 2005-12-02 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 메모리 장치 |
US7565553B2 (en) * | 2005-01-14 | 2009-07-21 | Microsoft Corporation | Systems and methods for controlling access to data on a computer with a secure boot process |
US7467304B2 (en) * | 2005-06-22 | 2008-12-16 | Discretix Technologies Ltd. | System, device, and method of selectively allowing a host processor to access host-executable code |
US20070022243A1 (en) * | 2005-07-22 | 2007-01-25 | John Rudelic | Method and apparatus capable of disabling authenticated operations and guaranteed secure boot in a wireless platform |
-
2006
- 2006-05-04 US US11/429,025 patent/US7613891B2/en active Active
-
2007
- 2007-05-02 CN CN2007800158884A patent/CN101438254B/zh active Active
- 2007-05-02 WO PCT/US2007/068005 patent/WO2007131024A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210240869A1 (en) * | 2017-04-21 | 2021-08-05 | Micron Technology, Inc. | Secure memory device with unique identifier for authentication |
Also Published As
Publication number | Publication date |
---|---|
CN101438254B (zh) | 2012-12-12 |
US7613891B2 (en) | 2009-11-03 |
WO2007131024A1 (en) | 2007-11-15 |
US20070260836A1 (en) | 2007-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101438254B (zh) | 用于提供闪存设备关联的读访问控制***的方法和装置 | |
CN101578609B (zh) | 安全启动计算设备 | |
US8539610B2 (en) | Software security | |
KR102324336B1 (ko) | 사용자 장치 및 그것에 대한 무결성 검증 방법 | |
EP2210174B1 (en) | Progressive boot for a wireless device | |
US7945790B2 (en) | Low-cost pseudo-random nonce value generation system and method | |
US20130031631A1 (en) | Detection of unauthorized device access or modifications | |
KR20200085724A (ko) | 호스트 시스템과 데이터 처리 가속기 사이의 보안 통신을 제공하기 위한 방법 및 시스템 | |
CN110457894B (zh) | root权限的分配方法、装置、存储介质及终端设备 | |
US8369526B2 (en) | Device, system, and method of securely executing applications | |
CN102165457A (zh) | 票券授权的安全安装和引导 | |
CN109657448A (zh) | 一种获取Root权限的方法、装置、电子设备及存储介质 | |
US20090070885A1 (en) | Integrity Protection | |
US10146704B2 (en) | Volatile/non-volatile memory device access provisioning system | |
US20070136609A1 (en) | Methods and apparatus for providing a secure channel associated with a flash device | |
US10846399B2 (en) | Method and device for protecting information from side channel attack | |
US20050133582A1 (en) | Method and apparatus for providing a trusted time stamp in an open platform | |
US20160065375A1 (en) | Dynamic integrity validation of a high level operating system | |
KR20190033930A (ko) | 보안 정보를 암호화하는 전자 장치 및 그 작동 방법 | |
US20190042706A1 (en) | Display of protected content using trusted execution environment | |
EP2689367A1 (en) | Data protection using distributed security key | |
CN111125723A (zh) | 加密卡识别方法、装置、设备及存储介质 | |
KR20220062866A (ko) | 네트워크 카메라 및 그의 보안 서비스 제공 방법 | |
CN109167785B (zh) | 一种虚拟可信根的调用方法和业务服务器 | |
KR20210026233A (ko) | 디바이스 리소스에 대한 접근을 제어하기 위한 전자 장치 및 그의 동작 방법 |
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 |