CN109753248B - 存储访问控制器和访问存储器的方法 - Google Patents
存储访问控制器和访问存储器的方法 Download PDFInfo
- Publication number
- CN109753248B CN109753248B CN201910057167.4A CN201910057167A CN109753248B CN 109753248 B CN109753248 B CN 109753248B CN 201910057167 A CN201910057167 A CN 201910057167A CN 109753248 B CN109753248 B CN 109753248B
- Authority
- CN
- China
- Prior art keywords
- data block
- reader
- accessed data
- access
- access request
- 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.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种存储访问控制器和一种访问存储器的方法。本发明通过地址表为程序和数据地址解耦合、通过权限表来避免错误的数据访问、通过状态表来避免访问冲突、通过校验来避免读入错误数据和通过备份提高数据的可靠性,并综合运用各种技术手段完善了存储访问控制器和存储控制方法。存储访问控制器包括地址表、权限表、状态表和读写器,地址表记录数据块地址,权限表记录线程对数据块的访问权限,状态表记录数据块状态;读写器接收访问请求,所述读写器按照所述地址表、权限表和状态表的配置信息执行接收到的访问请求。
Description
技术领域
本发明涉及卫星领域,尤其是卫星存储访问控制器和访问存储器的方法。
背景技术
非易失性存储器(NVM,Non-Volatile Memory)是一种即使关闭其电源时,其上存储的数据也不会消失的存储器。常用的NVM包括只读内存(ROM)、可编程只读内存(PROM)、可电擦除的可编程只读内存(EEPROM)、或非型闪存(NOR FLASH),与非型闪存(NAND FLASH)。
卫星计算机常用非易失性存储器来存储应用程序和重要数据。为了避免在NVM访问过程中产生冲突,在现有技术中,卫星计算机系统中对NVM的管理方法通常如下:
一、在系统设计阶段,由系统工程师为各种数据指定存储地址和读写时间窗口,并将分配值写入卫星应用程序。
二、在程序运行阶段,程序在指定存储地址上,在指定读写时间窗口中访问存储器。
三、在有些数据超出地址范围时,或在存储器部分损坏时,系统工程师重新分配存储地址和读写时间窗口。
在现有技术中,所述的管理方法有如下的缺点:
一、不可靠:对程序缺乏权限控制。程序直接访问存储器,从而存储器中的内容可能被错误修改。
二、维护困难;程序和数据地址强耦合。当数据地址变更时,程序也必须修改。当存储器故障时,对程序和地址分配都要重新修改。此外,还要保持程序中的地址、实际的数据地址和接口文件中数据的地址等多个地方地址信息一致,导致维护复杂。
三、设计复杂:在程序运行时,对同一个数据块,多个线程可能存在同时读写的访问冲突,为避免访问冲突,在程序设计时就要为线程分配读写时间窗口。在复杂任务下,难以全面的进行时间窗口规划。
发明内容
本发明要解决的技术问题是改进存储器的管理,将程序和数据地址解耦合,加强对程序的权限控制以避免错误的数据访问,并简化避免访问冲突的方案。
为解决上述技术问题,本发明提供一种存储访问控制器,包括:地址表,被配置为记录数据块地址;读写器,被配置为接收访问请求,所述读写器在所述地址表中找到所述访问请求对应的被访问数据块地址,然后执行所述访问请求。
进一步的,所述地址表包括数据块编号,所述访问请求包含被访问数据块编号,所述读写器按照所述被访问数据块编号在所述地址表中找到所述被访问数据块的地址。
进一步的,还包括权限表,其被配置为记录线程对数据块的访问权限,所述读写器在所述权限表中找到发出所述访问请求的访问线程对所述被访问数据块的权限,然后接纳或拒绝所述访问请求。
进一步的,所述权限表包括数据块编号、线程编号,权限记录,所述访问请求包含被访问数据块编号和访问线程的编号,所述读写器按照所述被访问数据块编号和所述访问线程的编号,在所述权限表中找到所述访问线程对所述被访问数据块的权限记录。
进一步的,还包括状态表,其被配置为记录数据块状态,所述读写器按照所述数据块状态避免对所述数据块的访问冲突。
进一步的,所述读写器被配置为设置所述数据块状态,包括:设置所述数据块状态缺省为空闲态;如果所述被访问数据块已经处于空闲态,并且所述访问请求为读请求,则所述读写器将所述被访问数据块置入读状态,并开始读所述被访问数据块;如果所述被访问数据块已经处于空闲态,并且所述访问请求为写请求,则所述读写器将所述被访问数据块置入写状态,并开始写所述被访问数据块;如果所述被访问数据块已经处于读状态,并且所述访问请求是写请求,则所述读写器拒绝所述访问请求;如果所述被访问数据块已经处于写状态,并且所述访问请求是读请求,则所述读写器拒绝所述访问请求;如果所述被访问数据块已经处于写状态,并且所述访问请求是写请求,则所述读写器重新开始写所述被访问数据块;如果所述读写器已经完成所述访问请求,则所述读写器将所述被访问数据块状态置入空闲态。
进一步的,所述读写器被配置为按照预设的校验方式来校验所述被访问数据块,如果校验成功则读取所述被访问数据块,如果校验失败则放弃读取所述被访问数据块。
进一步的,所述预设的校验方式存储在所述地址表中。
进一步的,所述地址表包括所述数据块的备份方式和备份数据块的地址,所述读写器被配置为按照所述地址表读取所述被访问数据块或其备份数据块;按照所述地址表写入所述被访问数据块和其备份数据块。
本发明还提供了一种访问存储器的方法,包括:记录数据块的地址到地址表;接收访问请求;在所述地址表中找到所述访问请求对应的被访问数据块地址;按照被访问数据块的地址执行所述访问请求。
综上所述,本发明通过地址表为程序和数据地址解耦合、通过权限表来避免错误的数据访问、通过状态表来避免访问冲突、通过校验来避免读入错误数据和通过备份提高数据的可靠性,并综合运用各种技术手段完善了存储访问控制器和存储控制方法。
附图说明
下面结合附图对本发明的具体实施方式做进一步详细说明,其中:
图1是本发明的存储控制器的一种实施方式系统图;
图2是本发明的存储控制器的地址表的一种实施方式;
图3是本发明的存储控制器的权限表的一种实施方式;
图4是本发明的存储控制器的状态表的一种实施方式;
图5是本发明的存储控制器的数据块状态迁移的一种实施方式。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变型和改进。这些都属于本发明的保护范围。
后续通过应用场景具体说明本发明的具体实施方式。
一、通过地址表为程序和数据地址解耦合
在现有技术中,程序和数据存在强耦合关系,在应用程序中固定写入了数据块地址信息。在数据块有变化时,应用程序则必须重新修改。在引入了地址表以后,程序和数据地址分离,程序从地址表中获取数据地址,这样在数据块有变化时,只需要相应修改地址表中的地址信息,应用程序不需要修改。
在一个实施例中,如图1所示,本发明的一种存储访问控制器,包括:地址表,被配置为记录数据块地址;读写器,被配置为接收访问请求,所述读写器在所述地址表中找到所述访问请求对应的被访问数据块地址,然后执行所述访问请求。
在一个实施例,如图2所示,所述地址表包括数据块编号,所述访问请求包含被访问数据块编号,所述读写器按照所述被访问数据块编号在所述地址表中找到所述被访问数据块的地址。
应当说明此处数据块编号也可以用数据块名称、数据块标志或其它方式代替。
例如,线程A在其访问请求中包含数据块编号1和读指令,所述读写器按照所述数据块编号1在所述地址表中找到所述数据块地址02000000H,如图2所示,所述读写器在所述数据块地址读取所述数据块。
二、通过权限表来避免错误的数据访问
在现有技术中,线程读写数据块只受到程序设计的限制。但是,线程由于设计和开发的缺陷从而线程会错误的访问不相关的数据块,例如在无权访问的数据中写入数据,这样会导致系统故障。在引入了权限表以后,程序设计和权限控制分离。在程序所对应的线程发出访问请求时,所述读写器只接受在权限范围内的访问请求,并拒绝超出权限的访问请求,从而保障数据的安全。此外,更改权限时,不用修改程序,只要修改权限表。
在一个实施例中,如图1所示,所述的存储访问控制器,还包括权限表,其被配置为记录线程对数据块的访问权限,所述读写器在所述权限表中找到发出所述访问请求的访问线程对所述被访问数据块的权限,然后接纳或拒绝所述访问请求。
在一个实施例中,如图3所示,所述权限表包括数据块编号、线程编号,权限记录,所述访问请求包含被访问数据块编号和访问线程的编号,所述读写器按照所述被访问数据块编号和所述访问线程的编号,在所述权限表中找到所述访问线程对所述被访问数据块的权限记录。
例如,线程A在其访问请求中包含数据块编号1和写指令,所述读写器在所述权限表中找到线程A对数据块1的只有读权限,如图3所示,则所述读写器拒绝所述线程的访问请求。
三、通过状态表来避免访问冲突
在现有技术中,多个线程有可能对同一个数据块都有访问请求。例如线程A请求写入,而线程B请求读出,那么同时写入和读出,必然导致读出的数据块错误,这种情况称之为访问冲突。引入状态表可以避免读写冲突导致的错误。
在一个实施例中,如图1所示,所述的存储访问控制器,还包括状态表,其被配置为记录数据块状态,所述读写器按照所述数据块状态避免对所述数据块的访问冲突。例如,对同一数据块同时一边读数据和一边写数据,这种访问冲突必然导致读出的数据块错误。
在一个实施例中,如图4所示,所述状态表包括数据块编号和数据块状态。
在一个实施例中,如图5所示,所述读写器被配置为设置所述数据块状态,包括:设置所述数据块状态缺省为空闲态;如果所述被访问数据块已经处于空闲态,并且所述访问请求为读请求,则所述读写器将所述被访问数据块置入读状态,并开始读所述被访问数据块;如果所述被访问数据块已经处于空闲态,并且所述访问请求为写请求,则所述读写器将所述被访问数据块置入写状态,并开始写所述被访问数据块;如果所述被访问数据块已经处于读状态,并且所述访问请求是写请求,则所述读写器拒绝所述访问请求;如果所述被访问数据块已经处于写状态,并且所述访问请求是读请求,则所述读写器拒绝所述访问请求;如果所述被访问数据块已经处于写状态,并且所述访问请求是写请求,则所述读写器重新开始写所述被访问数据块;如果所述读写器已经完成所述访问请求,则所述读写器将所述被访问数据块状态置入空闲态。
例如,线程A在其访问请求中包含数据块编号1和写指令,所述读写器在所述状态表中找到所述数据块1的状态是空闲状态,如图4所示,则所述读写器设置数据块1的状态为读状态,并执行所述线程A的写指令,在完成写指令后,将数据块1的状态设置为空闲。
例如,线程B在其访问请求中包含数据块编号2和写指令,所述读写器在所述状态表中找到所述数据块2的状态是读状态,如图4所示,则所述读写器拒绝所述线程B的写指令。
例如,线程C在其访问请求中包含数据块编号3和读指令,所述读写器在所述状态表中找到所述数据块3的状态是写状态,如图4所示,则所述读写器拒绝所述线程C的读指令。
四、通过校验来避免读入错误数据
存储器中存储的数据可能由于各种原因导致数据出错,例如单粒子打翻效应,或者存储器存在部分存储单元故障,都可能导致数据出错。通过校验,可以避免读入错误数据,避免系统因错误数据导致的故障。
在一个实施例中,所述读写器被配置为按照预设的校验方式来校验所述被访问数据块,如果校验成功则读取所述被访问数据块,如果校验失败则放弃读取所述被访问数据块。
在一个实施例中,所述预设的校验方式存储在所述地址表中。如图2所示,所述地址表中为每一个数据块指定了一个校验方式。例如,数据块1为和校验,数据块3为无校验。
应当指出,如果数据块有备份,则所述校验方式也适用于其备份。也可以为其备份单独设置校验方式。
五、通过备份提高数据的可靠性
如果原始数据损坏,则系统可以选用其备份数据,从而提高数据的可靠性。
在一个实施例中,如图2所示,所述地址表包括所述数据块的备份方式和备份数据块的地址,所述读写器被配置为:按照所述地址表读取所述被访问数据块或其备份数据块;按照所述地址表写入所述被访问数据块和其备份数据块。
在一个实施例中,所述读写器被配置为:在所述地址表中查询所述被访问数据块的校验方式和备份方式,当所述被访问数据块的校验方式为无校验时,则无需校验所述被访问数据块;当所述被访问数据块的校验方式为和校验并且其备份方式为无备份时,则校验所述被访问数据块;当所述被访问数据块的校验方式为和校验并且其备份方式为有备份时,则校验被访问数据块和/或其备份数据块;读取校验通过的所述被访问数据块或其校验通过的备份数据块,或读取无需校验的所述被访问数据块。如果没有校验通过的数据块,则放弃读取。
在一个实施例中,所述读写器被配置为:在所述地址表中查询所述被访问数据块的备份方式,当所述备份方式为无备份时,所述读写器写所述被访问数据块;当所述备份方式为有备份时,所述读写器先写所述被访问数据块,然后写其备份数据块。
六、一种访问存储器的控制方法
在一个实施例中,本发明提供了一种访问存储器的控制方法,包括:记录数据块的地址到地址表;接收访问请求;在所述地址表中找到所述访问请求对应的被访问数据块地址;按照被访问数据块的地址执行所述访问请求。
在一个实施例中,所述访问存储器的控制方法包括:记录数据块的地址到地址表;记录线程对数据块的权限到权限表;记录数据块的状态到状态表;接收访问请求,访问请求指示被访问数据块和访问线程;在所述地址表中找到被访问数据块的地址;在所述权限表中找到所述访问线程对所述被访问数据块的权限;在所述状态表中找到所述被访问数据块的状态;按照被访问数据块的地址、所述访问线程对所述被访问数据块的权限和所述被访问数据块的状态执行所述访问请求。
Claims (9)
1.一种存储访问控制器,其特征在于,包括:
地址表,被配置为记录数据块地址;
读写器,被配置为接收访问请求,所述读写器在所述地址表中找到所述访问请求对应的被访问数据块地址,然后执行所述访问请求,
其中所述地址表包括数据块编号、校验方式、数据块的备份方式和备份数据块的地址,所述访问请求包含被访问数据块编号,所述读写器按照所述被访问数据块编号在所述地址表中找到所述被访问数据块的地址。
2.根据权利要求1所述的存储访问控制器,其特征在于,还包括权限表,其被配置为记录线程对数据块的访问权限,所述读写器在所述权限表中找到发出所述访问请求的访问线程对所述被访问数据块的权限,然后接纳或拒绝所述访问请求。
3.根据权利要求2所述的存储访问控制器,其特征在于,所述权限表包括数据块编号、线程编号,权限记录,所述访问请求包含被访问数据块编号和访问线程的编号,所述读写器按照所述被访问数据块编号和所述访问线程的编号,在所述权限表中找到所述访问线程对所述被访问数据块的权限记录。
4.根据权利要求1所述的存储访问控制器,其特征在于,还包括状态表,其被配置为记录数据块状态,所述读写器按照所述数据块状态避免对所述数据块的访问冲突。
5.根据权利要求4所述的存储访问控制器,其特征在于,所述读写器被配置为设置所述数据块状态,包括:
设置所述数据块状态缺省为空闲态;
如果所述被访问数据块已经处于空闲态,并且所述访问请求为读请求,则所述读写器将所述被访问数据块置入读状态,并开始读所述被访问数据块;
如果所述被访问数据块已经处于空闲态,并且所述访问请求为写请求,则所述读写器将所述被访问数据块置入写状态,并开始写所述被访问数据块;
如果所述被访问数据块已经处于读状态,并且所述访问请求是写请求,则所述读写器拒绝所述访问请求;
如果所述被访问数据块已经处于写状态,并且所述访问请求是读请求,则所述读写器拒绝所述访问请求;
如果所述被访问数据块已经处于写状态,并且所述访问请求是写请求,则所述读写器重新开始写所述被访问数据块;
如果所述读写器已经完成所述访问请求,则所述读写器将所述被访问数据块状态置入空闲态。
6.根据权利要求1所述的存储访问控制器,其特征在于,所述读写器被配置为按照预设的校验方式来校验所述被访问数据块,如果校验成功则读取所述被访问数据块,如果校验失败则放弃读取所述被访问数据块。
7.根据权利要求6所述的存储访问控制器,其特征在于,所述预设的校验方式存储在所述地址表中。
8.根据权利要求 1至7任一所述的存储访问控制器,其特征在于,所述读写器被配置为:
按照所述地址表读取所述被访问数据块或其备份数据块;
按照所述地址表写入所述被访问数据块和其备份数据块。
9.一种访问存储器的方法,其特征在于,包括:
记录数据块的地址到地址表,其中所述地址表包括数据块编号、校验方式、数据块的备份方式和备份数据块的地址;
接收访问请求;
在所述地址表中找到所述访问请求对应的被访问数据块地址;
按照被访问数据块的地址执行所述访问请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910057167.4A CN109753248B (zh) | 2019-01-22 | 2019-01-22 | 存储访问控制器和访问存储器的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910057167.4A CN109753248B (zh) | 2019-01-22 | 2019-01-22 | 存储访问控制器和访问存储器的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753248A CN109753248A (zh) | 2019-05-14 |
CN109753248B true CN109753248B (zh) | 2022-05-13 |
Family
ID=66405989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910057167.4A Active CN109753248B (zh) | 2019-01-22 | 2019-01-22 | 存储访问控制器和访问存储器的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753248B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176576A (zh) * | 2019-12-28 | 2020-05-19 | 北京浪潮数据技术有限公司 | 一种存储卷的元数据修改方法、装置、设备及存储介质 |
CN112527759B (zh) * | 2021-02-09 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 日志执行方法、装置、计算机设备及存储介质 |
CN116737086B (zh) * | 2023-08-14 | 2023-11-17 | 江苏云途半导体有限公司 | 一种嵌入式非易失性存储器读写方法 |
CN116881880B (zh) * | 2023-09-06 | 2023-11-14 | 智成时空(西安)创新科技有限公司 | 时空数据管理系统及时空数据服务化资源协同调度方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622056A (zh) * | 2004-12-24 | 2005-06-01 | 北京中星微电子有限公司 | 一种访问文件的方法 |
CN105786400A (zh) * | 2014-12-25 | 2016-07-20 | 研祥智能科技股份有限公司 | 一种异构混合内存组件、系统及存储方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7725663B2 (en) * | 2007-10-31 | 2010-05-25 | Agere Systems Inc. | Memory protection system and method |
CN102609378B (zh) * | 2012-01-18 | 2016-03-30 | 中国科学院计算技术研究所 | 一种消息式内存访问装置及其访问方法 |
US10372382B2 (en) * | 2016-12-29 | 2019-08-06 | Western Digital Technologies, Inc. | Methods and apparatus for read disturb detection based on logical domain |
JP2018156289A (ja) * | 2017-03-16 | 2018-10-04 | 東芝メモリ株式会社 | 共有メモリコントローラ、共有メモリモジュールおよびメモリ共有システム |
CN108958649B (zh) * | 2018-05-17 | 2021-03-23 | 天津飞腾信息技术有限公司 | 一种用于存储系统的安全隔离方法及装置 |
-
2019
- 2019-01-22 CN CN201910057167.4A patent/CN109753248B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622056A (zh) * | 2004-12-24 | 2005-06-01 | 北京中星微电子有限公司 | 一种访问文件的方法 |
CN105786400A (zh) * | 2014-12-25 | 2016-07-20 | 研祥智能科技股份有限公司 | 一种异构混合内存组件、系统及存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109753248A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753248B (zh) | 存储访问控制器和访问存储器的方法 | |
US8527730B2 (en) | Data updating method, memory system and memory device | |
US9021178B2 (en) | High performance path for command processing | |
US7801930B2 (en) | Recording medium, host device, and data processing method | |
US8041879B2 (en) | Flash memory backup system and method | |
US7890726B1 (en) | Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller | |
US7388782B2 (en) | Semiconductor integrated circuit device | |
KR100316981B1 (ko) | 플래시 메모리를 구비한 마이크로컴퓨터 및 플래시 메모리에 프로그램을 저장하는 방법 | |
US5828831A (en) | System for preventing unauthorized use of a personal computer and a method therefore security function, and methods of installing and detaching a security device to/from a computer | |
JP5576557B2 (ja) | プロセッサシステム及びその制御方法 | |
US20100106897A1 (en) | Storage device, disk device, write determining method, and control device | |
CN115762625A (zh) | 验证eMMC功能的方法、系统、电子设备及存储介质 | |
CN110262836A (zh) | 嵌入式多媒体装置和用于车载远程通信处理器的通信设备 | |
WO2020158377A1 (ja) | 電子制御装置、電子制御装置のセキュリティ検証方法 | |
US10942669B2 (en) | Information processing apparatus and computer-readable recording medium | |
KR20180066601A (ko) | 메모리 시스템의 구동 방법 | |
US20070208929A1 (en) | Device information managements systems and methods | |
US20070033648A1 (en) | Method for Executing Commands to Control a Portable Storage Device | |
CN112947861A (zh) | 存储设备的数据读取方法及电子设备系统 | |
CN108958819B (zh) | 多分区系统的启动方法及多分区系统 | |
JP4972410B2 (ja) | フラッシュメモリ内でのアクセスを制御するための方法、およびこのような方法の実施のためのシステム | |
US20140281226A1 (en) | Memory card and host device | |
TWI704574B (zh) | 用於資料存儲裝置的安全控制方法 | |
CN109344089B (zh) | 一种操作norflash的方法及装置 | |
US20100082909A1 (en) | Memory system and control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |