一种对存储设备进行访问权限限制的方法及存储设备的制作方法

文档序号:6464322阅读:150来源:国知局
专利名称:一种对存储设备进行访问权限限制的方法及存储设备的制作方法
技术领域
本发明涉及数据存储设备,尤其涉及一种对存储设备进行访问权限限制 的方法及存储设备。
背景技术
以下为几种常用的存储器
RAM (Random Access Memory ,随机访问存储器),用户可以对其进行
随时读写操作;
ROM (Read Only Memory,只读存储器),其中的数据写入后不能进行 修改;
PROM (Programmable ROM,可编程ROM),用户可以用专用的编程 器将数据资料写入PROM,但是只能写一次, 一旦写入后也无法修改;
EPROM (Erasable Programmable ROM,可擦除可编程ROM)芯片可重 复擦除和写入,解决了 PROM只能写入一次的弊端,但向EPROM内写入数 据要用专用的编程器,完成芯片中数据擦除也要用到EPROM擦除器;
EEPROM (Electrically Erasable Programmable ROM,电可擦除可编禾呈 ROM),可用电信号写入数据,也可用电信号擦除数据;而且写入和擦除的 数据以字节(Byte)为最小单位,不必将其中数据全部擦除完再写入,彻底 摆脱了 EPROM擦除器和编程器的束缚;EPROM在写入数据时,仍要利用 一定的编程电压;其中,EEPROM只有一个写保护引脚,且此引脚一旦^f皮置 高电平,EEPROM内所有地址中的数据都是只读的,无法对特定地址的访问 权限进行控制。
如果能够实现对存储器中特定地址空间的访问权限限制,这样就能更加 合理的对存储器的信息进行保护。

发明内容
本发明要解决的技术问题是提供一种对存储设备进行访问权限限制的方 法及存储设备,能够实现对存储设备中特定地址的保护。
为了解决上述问题,本发明提供了 一种对存储设备进行访问权限限制的
方法,包括在信息存储器中保存存储设备的只读地址空间信息和/或只写地 址空间信息;根据所述只读地址空间信息和/或只写地址空间信息,对所述 存储设备中只读地址空间只进行读操作,对所述存储设备中只写地址空间只 进行写操作。
进一步地,所述信息存储器为所述存储设备或外部设备。
进一步地,所述信息存储器为所述存储设备时,将只读地址空间信息和 只写地址空间信息所占用的地址空间设置为只读。
进一步地,将所述信息存储器中保存的只读地址空间信息和/或只写地址 空间信息读入随机访问存储器中,在对存储设备进行读写操作时,查询所述 随机访问存储器获取所述只读地址空间信息和/或只写地址空间信息。
进一步地,在对所述存储设备进行读或写操作时,直接查询所述信息存 储器,获取只读地址空间信息或只写地址空间信息。
进一步地,微处理器对所述存储设备以通用方式进行读操作时,将当前 操作地址写入地址寄存器中,将读操作标志写入读写标志寄存器中,根据所 述读写标志寄存器中的读操作标识和地址寄存器中当前操作地址,判断当前 操作地址是否处于所述只写地址空间信息指示的只写地址空间中,如果是, 不对当前操作地址进行读操作,否则,对当前才喿作地址进行读操作;
微处理器对所述存储设备以通用方式进行写操作时,将当前操作地址写 入地址寄存器中,将写操作标志写入读写标志寄存器中,根据所述读写标志 寄存器中的写操作标识和地址寄存器中当前操作地址,判断当前操作地址是 否处于所述只读地址空间信息指示的只读地址空间中,如果是,不对当前操 作地址进行写操作,否则,对当前操作地址进行写操作。进一步地,微处理器对所述存储设备以直接内存存取方式进行读操作时, 根据读操作起始地址和长度,确定读操作的地址范围,根据所述只写地址空 间信息判断是否有只写空间处于所述读操作的地址范围内,如果是,以当前 读操作地址开始处到其下一个只写地址空间开始处为界,进行直接内存存取 方式的读操作,并以此只写地址空间结束处作为下一次读操作的起始地址, 否则,进行正常的直接内存存取方式的读操作;
微处理器对所述存储设备以直接内存存取方式进行写操作时,根据写操 作起始地址和长度,确定写操作的地址范围,根据所述只读地址空间信息判 断是否有只读空间处于所述写操作的地址范围内,如果是,以当前写操作地 址开始处到其下一个只读地址空间开始处为界,进行直接内存存取方式的写 操作,并以此只读地址空间结束处作为下一次写操作的起始地址,否则,进 行正常的直接内存存取方式的写操作。
进一步地,以一个或多个只读表的方式将所述只读地址空间信息保存在
存储设备中,所述只读表包括只读表的长度,只读表的类型,该只读表的
序号, 一对或多对只读地址和只读长度,其中一对只读地址和只读长度表示
一个只读地址空间,所述只读表的类型用于表示此表为只读表;
以 一个或多个只写表的方式将所述只写地址空间信息保存在存储设备 中,所述只写表包括只写表的长度,只写表的类型,该只写表的序号,一 对或多对只写地址和只写长度,其中一对只写地址和只写长度表示一个只写 地址空间,所述只写表的类型用于表示此表为只写表。
进一步地,所述只读表和只写表包括在属性表中,所述属性表中依次包 括信息表,只读表和/或只写表,所述信息表包括信息表的长度;表的类型, 用于表明此表为信息表;保护地址的类型,即此存储设备中的只读地址或只 写地址所占用的比特数;只读表的个数;只写表的个数;当前有效的只读表 序号;当前有效的只写表序号。
进一步地,所述存储设备为电可擦除可编程只读存储器。 本发明还提供了一种可进行访问权限限制的存储设备,所述存储设备中包含只读地址空间信息和/或只写地址空间信息,对所述存储设备中只读地址 空间只进行读操作,对所述存储设备中只写地址空间只进行写操作。
进一步地,对所述存储设备进行读或写操作时,根据待读或待写地址, 查询所述只读地址空间信息或只写地址空间信息,如果所述待读地址包含在
所述只写地址空间信息中,阻塞所述读操作;如果所述待写地址包含在所述
只读地址空间信息中,阻塞所述写操作。
进一步地,所述只读地址空间信息以一个或多个只读表的方式保存在所
述存储设备中,所述只读表包括只读表的长度,只读表的类型,该只读表 的序号, 一对或多对只读地址和只读长度,其中一对只读地址和只读长度表 示一个只读地址空间,所述只读表的类型用于表示此表为只读表;
所述只写地址空间信息以 一个或多个只写表的方式保存在所述存储设备 中,所述只写表包括只写表的长度,只写表的类型,该只写表的序号,一 对或多对只写地址和只写长度,其中一对只写地址和只写长度表示一个只写 地址空间,所述只写表的类型用于表示此表为只写表;
所述只读表和只写表包括在属性表中,所述属性表中依次包括信息表, 只读表和/或只写表,所述信息表包括信息表的长度;表的类型,用于表明 此表为信息表;保护地址的类型,即此存储设备中的只读地址或只写地址所 占用的比特数;只读表的个数;只写表的个数;当前有效的只读表序号;当 前有效的只写表序号。
该方法典型应用于EEPROM,能够实现对存储介质中特定地址的保护, 从而能有效的防止重要信息在用户操作中被破坏,并能兼容MCU ( Micro Controller Unit,微控制器)在I2C总线上的两种读写操作才莫式。


图1是本发明中对存储设备进行访问权限限制的方法流程图2是实施例中MCU以通用读写方式对已进行访问权限限制的存储器 进行读写的方法流程图;图3是实施例中MCU以直接内存存取方式对已进行访问权限限制的存 储器进行读l喿作的方法流程图。
具体实施例方式
本文中,受保护地址是指只读地址或只写地址。
受保护地址是在存储设备中要进行只读保护或只写保护的数据的地址。
本发明中,对存储设备进行访问权限限制的方法包括以下步骤
步骤101,在信息存储器中保存存储设备的只读地址空间信息和只写地 址空间信息;
其中,信息存储器和所述存储设备可以是同一个存储器,也可以是不同 的存储器,即信息存储器为上述存储设备或外部设备。
将只读地址空间信息和只写地址空间信息分别以列表的方式包含在一属 性表中,并将属性表存储在信息存储器中。将此属性表存放在信息存储器的 一个固定位置中,也可以由系统确定其存;^文的位置,并将其首地址存;^文于一 寄存器中。MCU通过读取该寄存器的值,得到属性表首地址,进一步根据该 首地址得到属性表。
属性表的信息组织方式可以有多种, 一种方式是,属性表中包括信息表、 一个或多个只读表、 一个或多个只写表;
信息表包括如下字段信息表长度、表的类型、保护地址类型、只读表 的个数、只写表的个数、当前有效的只读表序号和当前有效的只写表序号字 段,其中
表的类型,用于表明此表为信息表;
保护地址的类型,即此存储器中的保护地址所占用的比特数 (8bit/16bit/32bit);如果此地址需占用32bit,则信息存储器需要使用2个字 节存储此地址;
当前有效的只读表序号和只写表序号可以用bit位来表示。 上述有效的只读表序号和只写表序号主要是用于在一些应用场合下某些地址是只读的,而做另一些应用场合下,这些地址可能又要求是可读可写的。
这样通过信息表中的只读只写表是否有效(enable )功能可以比较方便的进行 切换。
只读表中可包括多个只读空间,每个只读表包括如下字段只读表的长 度、表的类型、该只读表序号、若干个只读空间字段,其中
表的类型表示此表为只读表;
只读空间字段进一 步包含只读地址和只读长度;
其中只读地址1和只读长度1对应的是一段只读的地址空间,如只读地 址l为0X00010,只读长度为200,则其指示的是0X00010-0X0210段地址空 间为只读。只写表的4各式和只读表的格式相同。
当然,本发明属性表的形式不限于上述实施例,其他方式的属性表,只 要能表示除只读地址信息和只写地址信息均包含在本发明中。例如,可以根 据具体应用需要,省略一些字段,在本发明一实施例中,属性表的信息表可 以只包含表的类型和保护地址类型字段,只包含一个只读表,该只读表包含 只读表的长度、表的类型、若干个只读空间字段;只包含一个只写表,该只 写表只包含表的长度、表的类型和若干个只写空间字段。在本发明另一实施 例中,属性表中可以只包含信息表和只读表,或只包含信息表和只写表。也 可以省略信息表,将只读表或只写表的首地址存入寄存器中,根据该首地址 直接得到只读/写表,只读/写表中包含表的长度、地址类型、若干个只读/写 空间,等等,此处不再举例。
上述信息存储器与上述存储设备是同一个存储器时,将属性表占用的地 址段设定为只读(即将属性表占用的地址空间信息写入属性表的只读表中), 由于只读只写保护只是针对用户操作而言,可以通过设定MCU流程在系统 初始化之前(即所有的用户进行读写操作之前),对属性表进行解析,从而 得知属性表所在的地址段是只读地址空间。
其中,只读表和只写表中不包含相同的地址。
步骤102, 在对存储设备进行读写操作时,根据待读写的地址查找只读地址空间信息和/或只写地址空间信息,根据只读地址空间信息对其指示的只 读地址空间进行只读操作,根据只写地址空间信息对其指示的只写地址空间 进行只写操作,对不能进行读或写的地址阻塞相应的读写操作,即如果待读 地址包含在只写地址空间信息中,则阻塞该读操作,如果待写地址包含在只 读地址空间信息中,则阻塞该写操作。
只读地址空间信息和只写地址空间信息以属性表方式存储,系统初始化 时,可通过读取寄存器中属性表的首地址,进一步根据所述首地址在信息存 储器中读取属性表中相应的值。
对存储设备进行读写操作时,可以先把只读地址空间信息和只写地址空
间信息读入RAM中,再通过RAM查询只读地址或只写地址,以加快查询速 度,其中,可以通过DMA (Direct Memory Access ,直接内存存取)读写方 式将只读或只写地址信息读入RAM中;
也可以在需要对存储设备进行读写操作时,直接在信息存储器中查询只 读地址信息和只写地址信息,保证数据的安全性。
实施例一中,MCU以通用读写General方式对已进行访问权限限制的存 储器进行读写操作时,在读写信号发送之前,配置需要进行操作的存储器地 址的寄存器,再配置读写标志位的寄存器,根据操作地址和读写标志来查询 只读或只写表,如该地址在只读表或只写表内则阻塞其相应操作,否则,进 行正常操作。
如图2所示,MCU以通用读写方式对已进行访问权限限制的存储器进行 读写的方法,具体包括以下步骤
步骤201,从存放属性表首地址的寄存器中读取属性表的首地址;
步骤202,从属性表的首地址中,读取信息表,确定表长和保护地址类
型;
步骤203, MCU将属性表以DMA读写方式读入内部RAM中;
步骤204,根据属性表中信息表的信息解析属性表;
步骤205,配置操作存储器的地址寄存器和读写标志寄存器;即把当前要进行读写操作的地址写入地址寄存器,把当前要进行的操作 类型即读操作或写操作写入读写标志寄存器;
步骤206,判断读写标志寄存器中的读写标志类型,如果是读操作,执 行下一步,如果是写操作,转到步骤211;
步骤207,根据当前地址查询属性表中只写列表;
步骤208,判断当前地址是否处于只写列表指示的只写地址空间;如果 是,执行下一步,否则,转到步骤210;
步骤209, MCU不发送读信号,不对当前地址进行读操作,流程结束。
步骤210, MCU发送读信号,对当前地址进行读操作,流程结束。
步骤211,根据当前地址查询属性表中只读列表;
步骤212,判断当前地址是否处于只读列表指示的只读地址空间;如果 是,执行下一步,否则,转到步骤214;
步骤213, MCU不发送写信号,不对当前地址进行写操作,流程结束。
步骤214, MCU发送写信号,对当前地址进行写操作,流程结束。
其中,步骤206-214可防止用户在操作存储设备时把重要的信息误操作。
实施例二中,MCU以直接内存存取方式对已进行访问权限限制的存储器 进行读写操作时,在MCU进行读写操作之前,就根据起始地址和长度确定 进行访问的地址范围,然后再查询读写属性表,做分段DMA读写,跳过受 保护地址,从而实现DMA模式下的只读只写限制。
如图3所示,MCU以直接内存存取方式对已进行访问权限限制的存储器 进行读操作的方法具体包括以下步骤
步骤301,读取存储介质中设定地址中的值,确定属性表首地址;
步骤302,在属性表的首地址中,读取表信息,确定表长和定义地址类
型;
步骤303,根据DMA起始地址和长度,确定DMA读操作地址范围; 步骤304,在存储器中查询属性表中只写列表;步骤305,查表判断是否有只写地址在此范围中;如果是,进行下一步, 否则转到步骤308;
步骤306,以当前操作地址开始到其下一个只写地址空间开始处为界, 进行DMA读操作;
步骤307,以此只写地址空间结束处作为DMA读操作的起始地址;转到 步骤303;
步骤308,进行正常DMA读操作,流程结束。
在其它实施例中,MCU以直接内存存取方式对已进行访问权限限制的存 储器进行写操作的方法与上述读操作的步骤同理。
上述方法是一种以软件方式针对MCU以I2C (Inter - Integrated Circuit, 内部集成电路)总线读写存储介质的一种方法,能够实现对存储器中特定地 址的保护,从而能有效的防止重要信息在用户操作中被破坏,并能兼容MCU 在I2C总线上的两种读写操作模式即General模式读写方式和DMA读写方式。 如果存储器中需保护的地址较多,使用上述方法会占据存储器一定量的存储 空间。
本发明中还提供了 一种存储设备,此存储设备中包含只读地址空间信息 和/或只写地址空间信息,对上述存储设备中只读地址空间只进行读操作,对 上述存储设备中只写地址空间只进行写操作。且对此存储设备进行读或写才喿 作时,根据待读或待写地址,查询只读地址空间信息或只写地址空间信息, 如果待读地址包含在只写地址空间信息中,阻塞读操作;如果待写地址包含 在只读地址空间信息中,阻塞写操作。其中,只读地址空间信息和/或只写地 址空间信息以上述方法中提到的属性表的方式表示,此处不在赘述。
本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下, 熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,这些相 应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种对存储设备进行访问权限限制的方法,其特征在于,在信息存储器中保存存储设备的只读地址空间信息和/或只写地址空间信息;根据所述只读地址空间信息和/或只写地址空间信息,对所述存储设备中只读地址空间只进行读操作,对所述存储设备中只写地址空间只进行写操作。
2、 如权利要求l所述的方法,其特征在于, 所述信息存储器为所述存储设备或外部设备。
3、 如权利要求2所述的方法,其特征在于,所述信息存储器为所述存储设备时,将只读地址空间信息和只写地址空 间信息所占用的地址空间设置为只读。
4、 如权利要求l所述的方法,其特征在于,将所述信息存储器中保存的只读地址空间信息和/或只写地址空间信息 读入随机访问存储器中,在对存储设备进行读写操作时,查询所述随机访问 存储器获取所述只读地址空间信息和/或只写地址空间信息。
5、 如权利要求l所述的方法,其特征在于,在对所述存储设备进行读或写操作时,直接查询所述信息存储器,获取 只读地址空间信息或只写地址空间信息。
6、 如权利要求1所述的方法,其特征在于,微处理器对所述存储设备以通用方式进行读操作时,将当前操作地址写 入地址寄存器中,将读操作标志写入读写标志寄存器中,根据所述读写标志 寄存器中的读操作标识和地址寄存器中当前操作地址,判断当前操作地址是 否处于所述只写地址空间信息指示的只写地址空间中,如果是,不对当前操 作地址进行读操作,否则,对当前操作地址进行读操作;微处理器对所述存储设备以通用方式进行写操作时,将当前操作地址写 入地址寄存器中,将写操作标志写入读写标志寄存器中,根据所述读写标志寄存器中的写操作标识和地址寄存器中当前操作地址,判断当前操作地址是 否处于所述只读地址空间信息指示的只读地址空间中,如果是,不对当前操 作地址进行写操作,否则,对当前操作地址进行写操作。
7、 如权利要求]所述的方法,其特征在于,微处理器对所述存储设备以直接内存存取方式进行读操作时,根据读操 作起始地址和长度,确定读操作的地址范围,根据所述只写地址空间信息判 断是否有只写空间处于所述读操作的地址范围内,如果是,以当前读操作地 址开始处到其下一个只写地址空间开始处为界,进行直接内存存取方式的读 操作,并以此只写地址空间结束处作为下一次读操作的起始地址,否则,进行正常的直接内存存取方式的读操作;微处理器对所述存储设备以直接内存存取方式进行写操作时,根据写操 作起始地址和长度,确定写操作的地址范围,根据所述只读地址空间信息判 断是否有只读空间处于所述写操作的地址范围内,如果是,以当前写操作地 址开始处到其下一个只读地址空间开始处为界,进行直接内存存取方式的写 操作,并以此只读地址空间结束处作为下一次写操作的起始地址,否则,进 行正常的直接内存存取方式的写操作。
8、 如权利要求l所述的方法,其特征在于,以一个或多个只读表的方式将所述只读地址空间信息保存在存储设备 中,所述只读表包括只读表的长度,只读表的类型,该只读表的序号,一 对或多对只读地址和只读长度,其中 一对只读地址和只读长度表示一个只读 地址空间,所述只读表的类型用于表示此表为只读表;以 一个或多个只写表的方式将所述只写地址空间信息保存在存储设备 中,所述只写表包括只写表的长度,只写表的类型,该只写表的序号,一 对或多对只写地址和只写长度,其中 一对只写地址和只写长度表示一个只写 地址空间,所述只写表的类型用于表示此表为只写表。
9、 如权利要求8所述的方法,其特征在于,所述只读表和只写表包括在属性表中,所述属性表中依次包括信息表, 只读表和/或只写表,所述信息表包括信息表的长度;表的类型,用于表明此表为信息表;保护地址的类型,即此存储设备中的只读地址或只写地址所占用的比特数;只读表的个数;只写表的个数;当前有效的只读表序号;当 前有效的只写表序号。
10、 如权利要求l所述的方法,其特征在于, 所述存储设备为电可擦除可编程只读存储器。
11、 一种可进行访问权限限制的存储设备,其特征在于,所述存储设备中包含只读地址空间信息和/或只写地址空间信息,对所述 存储设备中只读地址空间只进行读操作,对所述存储设备中只写地址空间只 进行写操作。
12、 如权利要求11所述的存储设备,其特征在于,对所述存储设备进行读或写操作时,根据待读或待写地址,查询所述只 读地址空间信息或只写地址空间信息,如果所述待读地址包含在所述只写地 址空间信息中,阻塞所述读操作;如果所述待写地址包含在所述只读地址空 间信息中,阻塞所述写操作。
13、 如权利要求11所述的存储设备,其特征在于,所述只读地址空间信息以 一个或多个只读表的方式保存在所述存储设备 中,所述只读表包括只读表的长度,只读表的类型,该只读表的序号,一 对或多对只读地址和只读长度,其中 一对只读地址和只读长度表示一个只读 地址空间,所述只读表的类型用于表示此表为只读表;所述只写地址空间信息以 一个或多个只写表的方式保存在所述存储设备 中,所述只写表包括只写表的长度,只写表的类型,该只写表的序号,一 对或多对只写地址和只写长度,其中一对只写地址和只写长度表示一个只写 地址空间,所述只写表的类型用于表示此表为只写表;所述只读表和只写表包括在属性表中,所述属性表中依次包括信息表, 只读表和/或只写表,所述信息表包括信息表的长度;表的类型,用于表明 此表为信息表;保护地址的类型,即此存储设备中的只读地址或只写地址所 占用的比特数;只读表的个数;只写表的个数;当前有效的只读表序号;当 前有效的只写表序号。
全文摘要
本发明公开了一种对存储设备进行访问权限限制的方法及存储设备,所述方法包括在信息存储器中保存存储设备的只读地址空间信息和/或只写地址空间信息;根据所述只读地址空间信息和/或只写地址空间信息,对所述存储设备中只读地址空间只进行读操作,对所述存储设备中只写地址空间只进行写操作。所述存储设备中包含只读地址空间信息和/或只写地址空间信息,对所述存储设备中只读地址空间只进行读操作,对所述存储设备中只写地址空间只进行写操作。采用本发明的方法能够实现对存储介质中特定地址的保护,从而能有效的防止重要信息在用户操作中被破坏,并能兼容MCU在I2C总线上的两种读写操作模式。
文档编号G06F12/14GK101295281SQ20081011443
公开日2008年10月29日 申请日期2008年6月5日 优先权日2008年6月5日
发明者冯备战, 蒋亚诚, 韬 谢 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1