电子设备和用于电子设备实现非易失性存储介质写保护的方法

xiaoxiao2020-10-23  12

电子设备和用于电子设备实现非易失性存储介质写保护的方法
【技术领域】
[0001]本发明涉及一种电子设备、以及一种用于电子设备实现非易失性存储介质写保护的方法。
【背景技术】
[0002]电子设备通常配备有非易失性存储介质,用于存放与电子设备功能相关的出厂设置信息。为了避免出厂设置信息被用户修改,非易失性存储介质需要被实施写保护。
[0003]一种常见的写保护方式为:通过硬件配置对非易失性存储介质实施芯片级写保护。但该方式所实现的写保护的保护粒度被限制在芯片级,而不能对非易失性存储介质的局部空间实施独立的写保护。
[0004]另一种常见的写保护为:通过运行在CPU的软件对非易失性存储介质实施任意存储空间的写保护。该方式可以实现粒度小于芯片级的写保护,但该方式实现的写保护完全依赖于软件,因而其实现的写保护的可靠性不高。
[0005]可见,现有技术中对非易失性存储介质实施的写保护方式不能同时满足较小的保护粒度和较高的可靠性。

【发明内容】

[0006]有鉴于此,本发明的实施例提供了一种电子设备、以及一种用于电子设备实现非易失性存储介质写保护的方法。
[0007]在一个实施例中,一种电子设备,包括非易失性存储介质和CPU、以及通过存储介质访问总线连接在非易失性存储介质和CPU之间的逻辑单元;
[0008]非易失性存储介质中存放有电子设备的出厂设置信息,其中,出厂设置信息包括与电子设备功能相关的第一类信息、以及表示该出厂设置信息在非易失性存储介质中的存储空间的第二类信息;
[0009]逻辑单元在电子设备上电启动时从非易失性存储介质读取出厂设置信息中的第二类信息,并屏蔽CPU对非易失性存储介质中由第二类信息所表示的存储空间的写访问。
[0010]可选地,第二类信息存放在以非易失性存储介质的首地址为起始、且具有预定长度偏移的预留区域内,第一类信息存放在除预留区域之外的其他区域;第二类信息中包括预留区域的长度、以及第一类信息在其他区域占用的存储空间的起始地址和空间容量;逻辑单元在电子设备上电启动时从非易失性存储介质的首地址开始读取息第二类信息。
[0011]可选地,第一类信息在除预留区域之外的其他区域中占用的存储空间为地址连续的空间;或者,第一类信息在除预留区域之外的其他区域中占用的存储空间包括地址不连续的多段空间,第二类信息中包括的第一类信息占用的存储空间的起始地址和空间容量包括每段存储空间的起始地址和空间容量,并且,第二类信息中进一步包括第一类信息占用的多段空间的数量。
[0012]可选地,逻辑单元进一步针对屏蔽的写访问向CPU返回写失败。
[0013]可选地,逻辑单元进一步在读取第二类信息之后使能CPU对非易失性存储介质的写访问。
[0014]在一个实施例中,一种用于电子设备实现非易失性存储介质写保护的方法,该方法应用于包括非易失性存储介质和CPU的电子设备中,并且,非易失性存储介质中存放有电子设备的出厂设置信息,其中,出厂设置信息包括与电子设备功能相关的第一类信息、以及表示出厂设置信息在非易失性存储介质中的存储空间的第二类信息;该方法包括在非易失性存储介质与CPU之间执行的如下步骤:
[0015]在电子设备上电启动时从非易失性存储介质读取出厂设置信息中的第二类信息;
[0016]以及,屏蔽CPU对非易失性存储介质中由第二类信息所表示的存储空间的写访问。
[0017]可选地,第二类信息存放在以非易失性存储介质的首地址为起始、且具有预定长度偏移的预留区域内,第一类信息存放在除预留区域之外的其他区域;第二类信息中包括预留区域的长度、以及第一类信息在其他区域占用的存储空间的起始地址和空间容量;该方法在电子设备上电启动时从非易失性存储介质的首地址开始读取第二类信息。
[0018]可选地,第一类信息在除预留区域之外的其他区域中占用的存储空间为地址连续的空间;或者,第一类信息在除预留区域之外的其他区域中占用的存储空间包括地址不连续的多段空间,第二类信息中包括的第一类信息占用的存储空间的起始地址和空间容量包括每段存储空间的起始地址和空间容量,并且,第二类信息中进一步包括第一类信息占用的多段空间的数量。
[0019]可选地,该方法进一步针对屏蔽的写访问向CPU返回写失败。
[0020]可选地,该方法进一步在读取第二类信息之后使能CPU对非易失性存储介质的写访问。
[0021]由此可见,在上述的实施例中,出厂设置信息中不但包括与电子设备功能相关的第一类信息,还包括表示出厂设置信息在非易失性存储介质中的存储空间的第二类信息,并且,利用电子设备上电启动时从非易失性存储介质中读取第二类信息,可以屏蔽CPU对非易失性存储介质中由第二类信息所表示的存储空间的写访问,从而可以对非易失性存储介质中存放的出厂设置信息实施以局部存储空间为粒度、且不依赖于CPU中运行的软件的写保护。
【附图说明】
[0022]图1为一个实施例中的电子设备的内部架构示意图;
[0023]图2a至图2c为如图1所示的电子设备的工作原理示意图;
[0024]图3a和图3b为图1中示出的第二类信息的格式示意图;
[0025]图4为图1中示出的逻辑单元的结构示意图;
[0026]图5a和图5b为如图1所示的电子设备的实例示意图;
[0027]图6为一个实施例中用于电子设备实现非易失性存储介质写保护的方法的示例性流程示意图;
[0028]图7a和图7b为如图6所示方法的实例流程示意图。
【具体实施方式】
[0029]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
[0030]请参见图1,在一个实施例中,一种电子设备10包括非易失性存储介质11和CPU13、以及通过存储介质访问总线BI和B2连接在非易失性存储介质11和CPU 13之间的逻辑单元12。
[0031]非易失性存储介质11中存放有电子设备10的出厂设置信息20,其中,出厂设置信息20包括与电子设备功能相关的第一类信息21、以及表示出厂设置信息20在非易失性存储介质20中的存储空间的第二类信息22。
[0032]其中,上述的出厂设置信息20中包括的第一类信息21与电子设备功能相关,因而第一类信息21可以理解为与传统出厂设置信息具有相同或类似作用,而上述的出厂信息20中包括的第二类信息21的作用在于表示第一类信息21在非易失性存储介质20中的存储空间、并且不是必须与电子设备功能相关,因而第二类信息22区别于传统出厂设置信息。
[0033]S卩,该实施例中的出厂设置信息20可以理解为在包含传统出厂设置信息或其类似信息的基础上,进一步包含表示传统出厂设置信息或其类似信息在非易失性存储介质11中的存储空间占用信息。
[0034]逻辑单元12在电子设备10上电启动时从非易失性存储介质11读取出厂设置信息20中的第二类信息22,并屏蔽CPU 13对非易失性存储介质11中由第二类信息22所表示的存储空间的写访问,即,依据第二类信息22屏蔽CPU 13对非易失性存储介质11中存放出厂设置信息20的存储空间的写访问。
[0035]从而,上述的实施例可以对非易失性存 储介质11中存放的出厂设置信息20实施以局部存储空间为粒度、且不依赖于CPU 13中运行的软件的写保护。而且,上述的写保护可以不影响CPU 13对非易失性存储介质11的读访问。
[0036]请参见图2a,当逻辑单元12从非易失性存储介质11读取出厂设置信息20中的第二类信息22之后,若CPU 13向逻辑单元12发起对非易失性存储介质11的读访问Rd,则逻辑单元12可以不需要识别读访问Rd对应的存储空间。相应地,逻辑单元12代理CPU13读取非易失性存储介质11、并向CPU 13推送对应的读数据,以辅助CPU 13完成当前的读访问Rd。
[0037]请参见图2b,当逻辑单元12从非易失性存储介质11读取出厂设置信息20中的第二类信息22之后,若CPU 13向逻辑单元12发起对非易失性存储介质11的写访问WrJjJ逻辑单元12需要识别写访问Wr是否落入(本文所述的“落入”包括全部落入或部分落入)第二类信息22所表示的存储空间。当逻辑单元12识别出写访问Wr未落入第二类信息22所表示的存储空间时,逻辑单元12依据CPU 13的写访问Wr将对应的写数据写入至对非易失性存储介质11。另外,逻辑单元12在写入完成后可以向CPU 13反馈写成功响应。
[0038]请参见图2c,当逻辑单元12从非易失性存储介质11读取出厂设置信息20中的第二类信息22之后,若CPU 13向逻辑单元12发起对非易失性存储介质11的写访问Wr’,并且逻辑单元12识别出写访问Wr’落入在第二类信息22所表示的存储空间时,逻辑单元12放弃向非易失性存储介质11写入对应的写数据、以屏蔽对非易失性存储介质11的当前写访问Wr’,8卩,图2c中标识符号“ X ”的虚线箭头曲线表示写访问Wr’被逻辑单元12取消的部分。另外,逻辑单元12可以向CPU 13反馈写失败响应,或者,不对CPU 13进行任何响应、使CPU13由于写访问的超时而判定写访问失败。
[0039]在电子设备10上电启动后,CPU 13会进行初始化,经过测试,CPU 13初始化所需要的时间会长于逻辑单元12从非易失性存储介质11读取第二类信息22的时长,因此,逻辑单元12可以在完成初始化的CPU 13发起写访问之前成功读取到第二类信息22,所以能确保对出厂设置信息20的写保护不会失效。另外,为了进一步提高写保护的可靠性,CPU13对非易失性存储介质的写访问功能受控于逻辑单元12,例如,逻辑单元12可以在读取第二类信息22之后使能CPU 13对非易失性存储介质11的写访问,若未被逻辑单元12使能,CPU 13在完成初始化后被禁止针对非易失性存储介质11发起写访问。
[0040]为了使逻辑单元12能够在电子设备10上电启动时快速准确地从非易失性存储介质11读取到第二类信息22,第二类信息22可以存放在以非易失性存储介质11的首地址为起始、且具有预定长度偏移的预留区域内,相应地,逻辑单元12在电子设备10上电启动时从非易失性存储介质11的首地址开始读取第二类信息22,并且,第一类信息21可以存放在非易失性存储介质11中除预留区域之外的其他区域。
[0041 ] 例如,以非易失性存储介质11选用支持线性访问的E2PROM (ElectricallyErasable Programmable Read-Only Memory,电可擦可编程只读存储器),则以其首地址0为起始偏移32或64字节的区域可以作为上述的预留区域,用于存放第二类信息22,而32或64字节之后的其他区域则可以存放第一类信息21。相应地,,第二类信息22所表示的存储空间除了包括其自身所在的存储空间之外,还包括第一类信息21所在的存储空间。
[0042]第一类信息21在上述其他区域占用的存储空间可以是地址连续的空间,或者,也可以包含地址不连续的多段空间。
[0043]对于第一类信息21存放在地址连续的空间、以及第一类信息21存放在地址非连续的空间的这两种情况,第二类信息22中都可以包括预留区域的长度,以表示第二类信息22的存储空间,并且,第二类信息22中还可以包括第一类信息21在其他区域占用的存储空间的起始地址和空间容量。另外,根据第一类信息21的分布方式的不同,第二类信息22的表现形态可以略有不同,并且,对于第一类信息21存放在地址非连续的空间的种情况,第二类信息22还可以进一步包括用于表示地址非连续的分段空间的相关信息。
[0044]请参见图3a,若第一类信息21占用的存储空间为地址连续的空间,则第二类信息22中包括其所在预留区域的长度22a、以及第一类信息21占用的存储空间的起始地址22b和空间容量22c。
[0045]请参见图3b,若第一类信息21占用的存储空间包括地址不连续的N段空间,N为大于I的正整数,则第二类信息22中包括其所在预留区域的长度22a、第一类信息21占用的地址不连续空间的数量N、以及第一类信息21占用的每段空间的起始地址22b_i和空间容量22c_i,i为小于等于N的正整数。
[0046]请参见图4,对于逻辑单元12,一实施例还提供了如下的具体实现结构:
[0047]第一接口控制器41,通过存储介质访问总线BI连接非易失性存储介质11 ;
[0048]第二接口控制器42,通过存储介质访问总线B2连接CPU 13 ;
[0049]预读电路43,在电子设备10上电启动时,调用第一接口控制器41从非易失性存储介质11读取出厂设置信息中的第二类信息22,并且,在一种实施例中,当预读电路43完成读取后可以将CPU 13的写访问使能管脚(图中未示出)置为有效;
[0050]缓存介质44,存放读取的第二类信息22 ;
[0051]中控电路45,辨识CPU 13对非易失性存储介质11的访问类型,若为读访问,则调用第一接口控制器41读取非易失性存储介质11以及调用第二接口控制器42向CPU 13推送读数据;若为写访问,则从缓存介质44获得第二类信息22,判断写访问是否落入在第二类信息22所表示的存储空间,并且,对于未落入第二类信息22所表示的存储空间的写访问,调用第二接口控制器42从CPU 13接收写数据以及调用第一接口控制器41将写数据写入非易失性存储介质11,对于落入在第二类信息22所表示的存储空间的写访问,则放弃对第二接口控制器42的调用;
[0052]响应电路46,当未落入第二类信息22所表示的存储空间的写访问完成后,调用第二接口控制器42向CPU 13返回写成功相应;当CPU 13对非易失性存储介质11的写访问落入在第二类信息22所表示的存储空间时,调用第二接口控制器42向CPU 13返回写失败响应。
[0053]其中,当CPU 13对非易失性存储介质11的写访问落入在第二类信息22所表示的存储空间时,响应电路46可以不返回写失败响应,例如,不对CPU 13进行任何响应、使CPU13由于写访问的超时而判定写访问失败。
[0054]请参见图5a,上述实施例中的逻辑单元12可以形成在独立于CPU 13和非易失性存储介质11的物理芯片中,该物理芯片可以是电子设备10中用于辅助CPU 13实现指定逻辑功能的逻辑芯片51,并且,逻辑芯片51与CPU 13之间连接有用于CPU 13对逻辑芯片51实施管理和控制的逻辑总线B3。
[0055]或者,请参见图5b,上述实施例中的逻辑单元12也可以与C PU 13集成在同一块物理芯片中,该物理芯片可以是集成有CPU和硬件逻辑的处理器芯片52,并且,该处理芯片52支持逻辑单元12与非易失性存储介质11之间连接存储介质访问总线B1、以及CPU 13与逻辑芯片51之间连接逻辑总线B3,并且,逻辑单元12与CPU 13之间的存储介质访问总线B2可以为处理芯片52的内部总线。
[0056]除了上述实施例中提供的电子设备之外,下述的实施例还提供了一种用于电子设备实现非易失性存储介质写保护的方法。
[0057]该方法可以应用于包括非易失性存储介质和CPU的电子设备中,并且,非易失性存储介质中存放有电子设备的出厂设置信息,其中,出厂设置信息包括与电子设备功能相关的第一类信息、以及表示出场设置信息在非易失性存储介质中的存储空间的第二类信息。
[0058]并且,请参见图6,该方法包括在非易失性存储介质与CPU之间执行的如下步骤:
[0059]S601,在电子设备上电启动时从非易失性存储介质读取出厂设置信息中的第二类信息。
[0060]S602,屏蔽CPU对非易失性存储介质中由第二类信息所表示的存储空间的写访问。
[0061]对于前文如图3a所示的情况,上述S601通过顺序地址连续的读取方式即可获得第二类信息,对于前文如图3b所示的情况,上述S601可以是一个遍历读取的过程。
[0062]并且,S601可以在完成读取后进一步使能CPU对非易失性存储介质的访问,S602可以进一步针对被屏蔽访问的存储空间向CPU返回写失败响应。
[0063]请参见图7a,以对应如图3b所示的情况为例,假设CPU对非易失性存储介质的写访问功能需要被使能,则上述的S601可以包括:
[0064]S711,读取第二类信息中的预留区域的长度;
[0065]S712,在预留区域内读取地址不连续空间的数量;
[0066]S713,在预留区域内读取各空间对应的起始地址和空间容量;
[0067]S714,判断对所有空间对应的起始地址和空间容量的遍历是否完成,若是,则执行S715,否则返回S713 ;
[0068]S715,使能CPU对非易失性存储介质的写访问。
[0069]请参见图7b,假设以写失败响应的方式取消CPU对非易失性存储介质的写访问,则上述的S602可以包括:
[0070]S721,截获CPU当前对非易失性存储介质发起的写访问;
[0071]S722,识别当前的写访问对应的地址空间;
[0072]S723,判断当前的写访问对应的地址空间是否与第二类信息所表示的存储空间存在重叠,若是,则执行S724,否则执行S725 ;
[0073]S724,向CPU返回写失败响应,然后结束对当前的写访问的处理。
[0074]S725,代理CPU对非易失性存储介质执行当前的写访问。
[0075]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1.一种电子设备,其特征在于,包括非易失性存储介质和CPU、以及通过存储介质访问总线连接在非易失性存储介质和CPU之间的逻辑单元; 非易失性存储介质中存放有电子设备的出厂设置信息,其中,出厂设置信息包括与电子设备功能相关的第一类信息、以及表示该出厂设置信息在非易失性存储介质中的存储空间的第二类信息; 逻辑单元在电子设备上电启动时从非易失性存储介质读取出厂设置信息中的第二类信息,并屏蔽CPU对非易失性存储介质中由第二类信息所表示的存储空间的写访问。2.根据权利要求1所述的电子设备,其特征在于, 第二类信息存放在以非易失性存储介质的首地址为起始、且具有预定长度偏移的预留区域内,第一类信息存放在除预留区域之外的其他区域;第二类信息中包括预留区域的长度、以及第一类信息在其他区域占用的存储空间的起始地址和空间容量; 逻辑单元在电子设备上电启动时从非易失性存储介质的首地址开始读取息第二类信息。3.根据权利要求2所述的电子设备,其特征在于, 第一类信息在除预留区域之外的其他区域中占用的存储空间为地址连续的空间; 或者,第一类信息在除预留区域之外的其他区域中占用的存储空间包括地址不连续的多段空间,第二类信息中包括的第一类信息占用的存储空间的起始地址和空间容量包括每段存储空间的起始地址和空间容量,并且,第二类信息中进一步包括第一类信息占用的多段空间的数量。4.根据权利要求1所述的电子设备,其特征在于,逻辑单元进一步针对屏蔽的写访问向CPU返回写失败。5.根据权利要求1所述的电子设备,其特征在于,逻辑单元进一步在读取第二类信息之后使能CPU对非易失性存储介质的写访问。6.—种用于电子设备实现非易失性存储介质写保护的方法,其特征在于,该方法应用于包括非易失性存储介质和CPU的电子设备中,并且,非易失性存储介质中存放有电子设备的出厂设置信息,其中,出厂设置信息包括与电子设备功能相关的第一类信息、以及表示出厂设置信息在非易失性存储介质中的存储空间的第二类信息;该方法包括在非易失性存储介质与CPU之间执行的如下步骤: 在电子设备上电启动时从非易失性存储介质读取出厂设置信息中的第二类信息; 以及,屏蔽CPU对非易失性存储介质中由第二类信息所表示的存储空间的写访问。7.根据权利要求6所述的方法,其特征在于, 第二类信息存放在以非易失性存储介质的首地址为起始、且具有预定长度偏移的预留区域内,第一类信息存放在除预留区域之外的其他区域; 第二类信息中包括预留区域的长度、以及第一类信息在其他区域占用的存储空间的起始地址和空间容量; 该方法在电子设备上电启动时从非易失性存储介质的首地址开始读取第二类信息。8.根据权利要求7所述的方法,其特征在于, 第一类信息在除预留区域之外的其他区域中占用的存储空间为地址连续的空间; 或者,第一类信息在除预留区域之外的其他区域中占用的存储空间包括地址不连续的多段空间,第二类信息中包括的第一类信息占用的存储空间的起始地址和空间容量包括每段存储空间的起始地址和空间容量,并且,第二类信息中进一步包括第一类信息占用的多段空间的数量。9.根据权利要求6所述的方法,其特征在于,该方法进一步针对屏蔽的写访问向CPU返回写失败。10.根据权利要求6所述的方法,其特征在于,该方法进一步在读取第二类信息之后使能CPU对非易失性存储介质的写访问。
【专利摘要】本发明公开了一种电子设备和用于电子设备实现非易失性存储介质写保护的方法。在本发明中,出厂设置信息中不但包括与电子设备功能相关的第一类信息,还包括表示出厂设置信息在非易失性存储介质中的存储空间的第二类信息,并且,利用电子设备上电启动时从非易失性存储介质中读取第二类信息,可以屏蔽CPU对非易失性存储介质中由第二类信息所表示的存储空间的写访问,从而可以对非易失性存储介质中存放的出厂设置信息实施以局部存储空间为粒度、且不依赖于CPU中运行的软件的写保护。
【IPC分类】G06F21/79
【公开号】CN104881619
【申请号】CN201510362234
【发明人】赵志宇
【申请人】杭州华三通信技术有限公司
【公开日】2015年9月2日
【申请日】2015年6月24日
转载请注明原文地址:https://www.famiwei.com/read-8138457.html

最新回复(0)