本发明专利技术涉及一种实现一次性可编程存储的方法和存储设备。所述实现一次性可编程存储的方法包括以下步骤:当存储设备接收到的写命令中包含的逻辑地址位于所述存储设备中预设存储区域的逻辑地址范围内时,判断所述写命令中包含的逻辑地址上是否写入过数据,若是,则虚拟执行所述写命令,若否,则执行所述写命令,写入数据,并记录所述逻辑地址的写入状态。上述实现一次性可编程存储的方法和存储设备,实现了在同一存储设备上既可实现对引导程序的一次编程存储,又可存储其他数据,不需采用两种存储器件分别存储数据,节省了硬件及硬件设计成本,且结构简单。
【技术实现步骤摘要】
本专利技术涉及存储领域,特别是涉及ー种实现一次性可编程存储的方法和存储设备。
技术介绍
传统的系统引导过程大部分都不是全部由硬件直接完成的,而是需要在硬件的基础上,通过引导程序(也称软件程序或称固件程序)的协作来完成引导的。如果引导程序及 相应的引导环境自身不安全,则该引导程序所引导的系统也有可能不安全。例如Windows、Android等系统,如果其引导程序及相关环境被恶意改动,则引导后的系统有可能会运行恶意程序。为了避免出现这种情况,需要有ー种方法及设备来保证引导程序及相应的引导环境是经过认证的、可信任的。通过这种方法实现的引导就称为可信任引导。可信任引导系统中,为了保证引导代码不被无意或者恶意的破坏,往往需要用到OTP (One Time Programmable,一次性可编程)存储器件来存储引导代码。OTP存储器件意味着只要写入一次,就再也无法更改。这可以保证引导程序不被修改。在引导程序中,有一项功能是校验其所要加载的环境或要引导的系统。由于前面所述的引导程序自身由OTP器件保证了其可靠性,而引导程序中的校验功能又保证了引导环境及系统的可靠性,从而保证了所引导的系统一定是可信任的。然而,如果系统中仅仅存在OTP存储器件,则不能满足用户对普通数据的存储需求,因此传统的系统中往往同时设置OTP存储器件用于存储引导代码等一些不需修改的数据,并设置普通存储器件用于存储用户的普通数据。但是,这将带来以下问题一、同时设置两类存储器件,増加系统的硬件成本。ニ、一般来说,OTP存储器和普通存储器的接ロ不同,要求设备主控同时支持这两种接ロ,软件上也会増加工作量。且由于所需的接ロ较多,有可能无法使用便宜的主控,而要用贵的、接ロ多的主控,又増加了隐性的选择成本。三、由于一次性可编程存储器件以及普通存储器件都需要占用一定的空间,这将给采用可信任系统的电子产品的硬件设计带来一定困难,体积较大,而且由于多出了ー个器件及相关外围电路,也增加了在电路板上布线的复杂度。
技术实现思路
基于此,有必要针对传统的硬件成本较高且结构复杂的问题,提供一种实现一次性可编程存储的方法。一种实现一次性可编程存储的方法,包括以下步骤当存储设备接收到的写命令中包含的逻辑地址位于所述存储设备中预设存储区域的逻辑地址范围内时,判断所述写命令中包含的逻辑地址上是否写入过数据,若是,则虚拟执行所述写命令,若否,则执行所述写命令,写入数据,并记录所述逻辑地址的写入状态。在其中一个实施例中,在当存储设备接收到的写命令中包含的逻辑地址位于所述存储设备中预设存储区域的逻辑地址范围内时,判断所述写命令中包含的逻辑地址上是否写入过数据的步骤之前,还包括步骤在存储设备中划分一部分存储空间作为预设存储区域;记录所述预设存储区域的逻辑地址范围。在其中一个实施例中,在所述记录所述预设存储区域的逻辑地址范围的步骤之后,还包括步骤将位于所述预设存储区域逻辑地址范围内的指定逻辑地址作为触发逻辑地址;判断所述触发逻辑地址是否满足触发条件,若是,则进入所述当存储设备接收到的写命令中包含的逻辑地址位于所述存储设备中预设存储区域的逻辑地址范围内时,判断所述写命令中包含的逻辑地址上是否写入过数据的步骤; 其中,所述触发条件为所述指定逻辑地址的状态为已写过,且对所述指定逻辑地址的写命令中仅包含所述指定逻辑地址ー个逻辑地址。在其中一个实施例中,将位于所述预设存储区域逻辑地址范围内的指定逻辑地址作为触发逻辑地址的步骤具体为将所述预设存储区域的结束逻辑地址作为触发逻辑地址。在其中一个实施例中,在存储设备中划分一部分存储空间作为预设存储区域的步骤包括以逻辑地址O作为所述预设存储区域的起始逻辑地址,在存储设备中划分一部分存储空间作为预设存储区域。此外,还有必要针对传统的硬件成本较高且结构复杂的问题,提供一种存储设备。一种存储设备,包括控制模块以及和所述控制模块电连接的存储模块,所述存储模块用于提供存储设备的存储空间,所述控制模块包括地址判断単元,用于判断存储设备接收到的写命令中包含的逻辑地址是否位于所述存储设备中预设存储区域的逻辑地址范围内;写入状态判断単元,用于当所述存储设备接收到的写命令中包含的逻辑地址位于所述预设存储区域的逻辑地址范围内时,判断所述预设存储区域的逻辑地址上是否写入过数据;虚拟写単元,用于当所述存储设备接收到的写命令中包含的逻辑地址位于所述预设存储区域的逻辑地址范围内,且所述写命令中的逻辑地址上写入过数据吋,虚拟执行所述写命令;命令执行单元,用于当所述存储设备接收到的写命令中包含的逻辑地址位于所述预设存储区域的逻辑地址范围内,且所述写命令中的逻辑地址上没有写入过数据时,执行所述写命令,写入数据,并记录所述逻辑地址的写入状态。在其中一个实施例中,所述控制模块还包括区域划分单元,用于在存储设备中划分一部分存储空间作为预设存储区域;逻辑地址范围记录模块,用于记录所述预设存储区域的逻辑地址范围。在其中一个实施例中,所述控制模块还包括设置单元,用于将位于所述预设存储区域逻辑地址范围内的指定逻辑地址作为触发逻辑地址;触发单元,用于在判断所述触发逻辑地址满足触发条件时触发所述地址判断单元、写入状态判断単元、虚拟写命令和命令执行单元工作;其中, 所述触发条件为所述指定逻辑地址的状态为已写过,且对所述指定逻辑地址的写命令中仅包含所述指定逻辑地址ー个逻辑地址。在其中一个实施例中,所述设置单元还用于将所述预设存储区域的结束逻辑地址作为触发逻辑地址。在其中一个实施例中,所述区域划分单元用于以逻辑地址O作为所述预设存储区域的起始逻辑地址,在存储设备中划分一部分存储空间作为预设存储区域。上述实现一次性可编程存储的方法和存储设备,接收到对存储设备中的预设存储区域的写命令吋,判断该逻辑地址是否写入过数据,若写入过,则虚拟执行写命令,如果没有写入过,则执行写命令,写入数据,实现了在预设存储区域一次性可编程存储功能,在除了预设存储区域外的其余存储区域可存储数据,从而实现了在同一存储设备上既可实现对引导程序的一次编程存储,又可存储其他数据,不需采用两种存储器件分别存储数据,节省了硬件及硬件设计成本,且结构简单。附图说明图I为ー个实施例中实现一次性可编程存储的方法的流程示意图;图2为另ー个实施例中实现一次性可编程存储的方法的流程示意图;图3为存储设备的区域划分示意图;图4为预设存储区域的起始逻辑地址为逻辑地址O的示意图;图5为触发逻辑地址为预设存储区域的结束逻辑地址的示意图;图6为ー个实施例中存储设备的内部结构示意图;图7为ー个实施例中控制模块的内部结构示意图。具体实施例方式下面结合具体的实施例及附图对实现一次性可编程存储的方法和存储设备的技术方案进行详细的描述,以使其更加清楚。如图I所示,在一个实施例中,一种实现一次性可编程存储的方法,包括以下步骤步骤S110,当存储设备接收到的写命令中包含的逻辑地址位于存储设备中预设存储区域的逻辑地址范围内时,判断写命令中包含的逻辑地址上是否写入过数据,若是,执行步骤S120,若否,执行步骤S130。具体的,预先在存储设备上划分预设存储区域,并记录该预设存储区域的逻辑地址范围。当接收到写命令中包含的逻辑地址位于预设存储区域的逻辑地址范围内,首先判断写命令中的包含的逻辑地址上本文档来自技高网...
【技术保护点】
一种实现一次性可编程存储的方法,包括以下步骤:当存储设备接收到的写命令中包含的逻辑地址位于所述存储设备中预设存储区域的逻辑地址范围内时,判断所述写命令中包含的逻辑地址上是否写入过数据,若是,则虚拟执行所述写命令,若否,则执行所述写命令,写入数据,并记录所述逻辑地址的写入状态。
【技术特征摘要】
【专利技术属性】
技术研发人员:李中政,李志雄,梁小庆,
申请(专利权)人:深圳市江波龙电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。