CN109885509A - 非易失性存储器的访问方法及装置 - Google Patents

非易失性存储器的访问方法及装置 Download PDF

Info

Publication number
CN109885509A
CN109885509A CN201910143326.2A CN201910143326A CN109885509A CN 109885509 A CN109885509 A CN 109885509A CN 201910143326 A CN201910143326 A CN 201910143326A CN 109885509 A CN109885509 A CN 109885509A
Authority
CN
China
Prior art keywords
address
sub
memory space
space
access
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
Application number
CN201910143326.2A
Other languages
English (en)
Other versions
CN109885509B (zh
Inventor
边庆宏
王茂斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Comba Network Systems Co Ltd
Original Assignee
Comba Telecom Technology Guangzhou Ltd
Comba Telecom Systems China Ltd
Comba Telecom Systems Guangzhou Co Ltd
Tianjin Comba Telecom Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Comba Telecom Technology Guangzhou Ltd, Comba Telecom Systems China Ltd, Comba Telecom Systems Guangzhou Co Ltd, Tianjin Comba Telecom Systems Co Ltd filed Critical Comba Telecom Technology Guangzhou Ltd
Priority to CN201910143326.2A priority Critical patent/CN109885509B/zh
Publication of CN109885509A publication Critical patent/CN109885509A/zh
Application granted granted Critical
Publication of CN109885509B publication Critical patent/CN109885509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请公开了一种非易失性存储器的访问方法及装置。在接收访问地址后对非易失性存储器的存储空间进行检测;若该存储空间大于处理器的最大寻址空间,且访问地址对应的访问空间超出最大寻址空间,则采用预设规划算法,对存储空间进行规划,得到连续的至少一个子存储空间及相应地址信息,每个子存储空间的容量为最大寻址空间的容量;根据访问地址和至少一个子存储空间的地址信息,确定访问地址所属的目标子存储空间,并在目标子存储空间中,访问访问地址对应的目标地址。可见,该方法可以实现最大寻址空间小于存储空间的处理器访问大于最大寻址空间的存储器,提高了存储空间的利用率,并通过划分存储空间进行寻址,提高了处理器寻址的准确性。

Description

非易失性存储器的访问方法及装置
技术领域
本申请涉及通信技术领域,尤其涉及一种非易失性存储器的访问方法及装置。
背景技术
目前,通过串行外设接口(Serial Peripheral Interface,SPI)总线通信的非易失性存储器NOR Flash称为SPI Flash。
传统的,对于功能复杂程度较低的嵌入式设备,该设备一般会采用小容量Flash(一般不会超过16MB)。例如,市面上流行的SOHO家庭路由器,其Flash通常为8MB,有的甚至只有4MB。故,该设备的微处理器的NOR FLASH接口一般只支持24bit的地址模式。当地址长度为24位二进制数(3Byte)时,此时地址总线可以有224种状态,这意味着微控制器或微处理器最多的寻址范围是224Byte,即16MB。
对于功能复杂程度较高的嵌入式设备,该设备一般会采用大容量Flash(一般超过16MB)。该设备的微处理器想要完全寻址整个存储空间,需要支持32bit的地址模式。当地址长度为32位二进制数(4Byte)时,此时地址总线可以有232种状态,这意味着微处理器最多的寻址范围是232Byte,即4GB。其中,该设备会在支持24bit的地址模式微处理器的基础上提供一个异常地址寄存器(Exception Address Register,EAR)寄存器用作地址模式的第4个字节,以使地址长度为32位二进制数。
然而,发明人发现上述方案并没有考虑仅支持24bit地址模式的微处理器访问大容量Flash的情况。若仅支持24bit地址模式的微处理器访问大容量(大于16MB)的Flash,则可能出现16MB的寻址范围不能寻找到目标存储空间,导致寻址异常;或者在16MB的寻址范围内寻找到目标存储空间,但由于Flash中大于16MB容量的存储空间未被使用,造成Flash存储空间的浪费。
发明内容
本申请实施例提供一种非易失性存储器的访问方法及装置,解决了现有技术存在的上述问题,以实现仅支持24bit地址模式的微处理器对大容量Flash的兼容,提高了寻址的准确性以及Flash存储空间的利用率。
第一方面,提供了一种非易失性存储器的访问方法,该方法可以包括:
处理器接收访问地址;
对非易失性存储器Flash的存储空间进行检测;
若所述Flash的存储空间大于所述处理器的最大寻址空间,且所述访问地址对应的访问空间超出所述最大寻址空间,则采用预设规划算法,对所述存储空间进行规划,得到连续的至少一个子存储空间、所述至少一个子存储空间的地址信息,其中,每个子存储空间的容量为所述最大寻址空间的容量;
根据所述访问地址和所述至少一个子存储空间的地址信息,确定所述访问地址所属的目标子存储空间;
在所述目标子存储空间中,按照所述访问地址访问对应的目标存储位置。
在一种可选的实现中,所述至少一个子存储空间的地址信息至少包括初始地址和终止地址,根据所述访问地址和所述至少一个子存储空间的地址信息,确定所述访问地址所属的目标子存储空间,包括:
针对每个子存储空间,执行以下操作:
判断所述访问地址是否大于一个子存储空间的初始地址,且小于所述子存储空间的终止地址;
若是,则确定所述一个子存储空间为所述访问地址所属的目标子存储空间;
否则,则确定所述一个子存储空间不为所述访问地址所属的目标子存储空间。
在一种可选的实现中,所述至少一个子存储空间的地址信息至少包括初始地址和终止地址;
根据所述访问地址和所述至少一个子存储空间的地址信息,确定所述访问地址所属的目标子存储空间,包括:
按照所述至少一个子存储空间的地址信息从小到大的顺序,对所述至少一个子存储空间中的各个子存储空间进行编号;
将所述访问地址对应的地址参数值与所述最大寻址空间的比值进行取整运算,获得目标子存储空间的目标编号,并将编号符合所述目标编号的子存储空间确定为访问地址所属的目标子存储空间。
在一种可选的实现中,按照所述访问地址访问对应的目标存储位置之前,所述方法还包括:
将所述最大寻址空间对应的原初始寻址地址和原终止寻址地址分别更新为所述目标子存储空间的初始地址和所述目标子存储空间的终止地址;
在所述目标子存储空间中,按照所述访问地址访问对应的目标存储位置,包括:
在所述目标子存储空间中,采用所述处理器的寻址模式对更新后的最大寻址空间进行查寻,访问所述访问地址对应的目标存储位置。
在一种可选的实现中,所述方法还包括:
若所述Flash的存储空间大于所述处理器的最大寻址空间,且所述访问地址对应的访问空间未超出所述最大寻址空间,则采用所述处理器的寻址模式对所述最大寻址空间进行寻址,访问所述访问地址对应的目标存储位置;
若所述Flash的存储空间不大于所述处理器的最大寻址空间,则采用所述处理器的寻址模式对所述最大寻址空间进行寻址,访问所述访问地址对应的目标存储位置。
在一种可选的实现中,按照所述访问地址访问对应的目标存储位置之后,所述方法还包括:
将更新后的所述最大寻址空间的初始地址和终止地址分别重置为原初始寻址地址和原终止寻址地址。
第二方面,提供了一种非易失性存储器的访问装置,该装置可以包括:接收单元、检测单元、规划单元、确定单元和访问单元;
所述接收单元,用于接收访问地址;
所述检测单元,用于对非易失性存储器Flash的存储空间进行检测;
所述规划单元,用于若所述存储空间大于所述处理器的最大寻址空间,且所述访问地址对应的访问空间超出所述最大寻址空间,则采用预设规划算法,对所述存储空间进行规划,得到连续的至少一个子存储空间、所述至少一个子存储空间的地址信息,其中,每个子存储空间的容量为所述最大寻址空间的容量;
所述确定单元,用于根据所述访问地址和所述至少一个子存储空间的地址信息,确定所述访问地址所属的目标子存储空间;
所述访问单元,用于在所述目标子存储空间中,按照所述访问地址访问对应的目标存储位置。
在一种可选的实现中,所述至少一个子存储空间的地址信息至少包括初始地址和终止地址;
所述确定单元,具体用于针对每个子存储空间,执行以下操作:
判断所述访问地址是否大于一个子存储空间的初始地址,且小于所述子存储空间的终止地址;
若是,则确定所述一个子存储空间为所述访问地址所属的目标子存储空间;
否则,则确定所述一个子存储空间不为所述访问地址所属的目标子存储空间。
在一种可选的实现中,所述至少一个子存储空间的地址信息至少包括初始地址和终止地址;
所述确定单元,还具体用于按照所述至少一个子存储空间的地址信息从小到大的顺序,对所述至少一个子存储空间中的各个子存储空间进行编号;
将所述访问地址对应的地址参数值与所述子存储空间的最大寻址空间的比值取整运算,获取目标子存储空间的目标编号,并将编号符合所述目标编号的编号对应的子存储空间确定为访问地址所属的目标子存储空间。
在一种可选的实现中,所述装置还包括更新单元;
所述更新单元,用于将所述最大寻址空间对应的原初始寻址地址和原终止寻址地址分别更新为所述目标子存储空间的初始地址和所述目标子存储空间的终止地址;
所述访问单元,具体用于在所述目标子存储空间中,采用所述处理器的寻址模式对更新后的最大寻址空间进行查寻,访问所述访问地址对应的目标存储位置。
在一种可选的实现中,所述访问单元,还用于若所述Flash的存储空间大于所述处理器的最大寻址空间,且所述访问地址对应的访问空间未超出所述最大寻址空间,则采用所述处理器的寻址模式对所述最大寻址空间进行寻址,访问所述访问地址对应的目标存储位置;
若所述Flash的存储空间不大于所述处理器的最大寻址空间,则采用所述处理器的寻址模式对所述最大寻址空间进行寻址,访问所述访问地址对应的目标存储位置。
在一种可选的实现中,所述装置还包括重置单元;
所述重置单元,用于将更新后的所述最大寻址空间的初始地址和终止地址分别重置为原初始寻址地址和原终止寻址地址。
第三方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的方法步骤。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤。
本发明实施例的上述访问方法在接收访问地址后对非易失性存储器Flash的存储空间进行检测;若Flash的存储空间大于处理器的最大寻址空间,且访问地址对应的访问空间超出最大寻址空间,则采用预设规划算法,对存储空间进行规划,得到连续的至少一个子存储空间以及相应的地址信息,每个子存储空间的容量为最大寻址空间的容量;根据访问地址和至少一个子存储空间的地址信息,确定访问地址所属的目标子存储空间;在目标子存储空间中,访问访问地址对应的目标地址。可见,该方法可以实现最大寻址空间小于Flash存储空间的处理器访问大于最大寻址空间的Flash存储器,提高了存储空间的利用率,以及通过划分存储空间进行寻址,提高了处理器寻址的准确性。
附图说明
图1为本发明实施例提供的一种非易失性存储器的访问方法的流程示意图;
图2为本发明实施例提供的一种大容量Flash的存储空间结构示意图;
图3为本发明实施例提供的另一种大容量Flash的存储空间结构示意图;
图4为本发明实施例提供的再一种大容量Flash的存储空间结构示意图;
图5为本发明实施例提供的另一种非易失性存储器的访问方法的流程示意图;
图6为本发明实施例提供的一种非易失性存储器的访问装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明实施例提供的非易失性存储器的访问方法适用的应用设备可以是服务器,也可以是终端。该终端可以是移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)等用户设备(User Equipment,UE)、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备、移动台(Mobile station,MS)、移动终端(Mobile Terminal)等。服务器可以是应用服务器或云服务器。
该应用设备包括仅支持24bit寻址模式的处理器或控制器(下面以“处理器”进行描述),即该处理器的最大寻址空间为16MB,程序计数器(Program Counter,PC),目标存储空间寄存器,如异常地址寄存器(Exception Address Register,EAR),设备信息寄存器,如Device ID寄存器和具有SPI接口的存储器,如SPI Flash芯片(下面称“Flash”)。
其中,程序计数器PC,用于在结束一次寻址后,对服务器或终端的访问程序进行复位,程序计数器PC的取值范围为0—0xFFFFFF。
EAR寄存器,用于确定Flash芯片中的目标存储空间。
Device ID寄存器,用于存储服务器或终端的设备信息,如Flash的存储空间大小,设备标识等。
需要说明的是,预使处理器基于Flash正常启动,需要处理器在启动时能够自动从Flash中读取到启动信息,如加载信息等,才可保证设备可以正常启动,故为了保证处理器能够正常启动设备,处理器要求启动设备时EAR寄存器必须指向Flash中存储启动信息的存储空间。
与现有技术相比,本申请的访问方法可以使仅支持24bit寻址模式的处理器访问大于16MB的存储器,如4GB的存储器,提高了处理器寻址的准确性以及存储器存储空间的利用率。
图1为本发明实施例提供的一种非易失性存储器的访问方法的流程示意图。如图1所示,该方法可以包括:
步骤110、接收访问地址。
处理器接收访问地址,该访问地址可以包括3个字节的地址参数,如00,00,01或4个字节的地址参数,如00,00,00,01。
步骤120、对非易失性存储器Flash的存储空间进行检测。
在执行该步骤之前,处理器在加载Flash驱动时通过调用到probe函数,使处理器通过Flash的通信接口如SIP、EMIF等,访问Flash芯片的Device ID寄存器,获取Flash的存储空间。
由于在应用设备中FLASH的标准操作接口有5个:启动操作,如open()、关闭操作,如close()、写操作,如write()、读操作,如read()和清除操作,如erase()等接口。其中,由于open()和close()不涉及到寻址操作,故不需要做适配处理,当处理器接收到的操作为写操作、读操作或清除操作时,处理器需要对Flash的存储空间进行检测。
若Flash的存储空间不大于处理器的最大寻址空间(如16M),即处理器的寻址范围可覆盖该存储空间,则将该Flash标记为小容量Flash;
若Flash的存储空间(如4GB)大于处理器的最大寻址空间(如16M),即处理器的寻址范围不可覆盖该存储空间,则将该Flash标记为大容量Flash;
进一步的,检测接收的访问地址对应的访问空间是否超出处理器的最大寻址空间,即访问地址对应的访问空间是否超出处理器的寻址能力;
在小容量Flash的情况下:
若访问地址对应的访问空间未超出处理器的最大寻址空间,则采用处理器的24bit寻址模式对该最大寻址空间进行寻址,访问该访问地址在小容量Flash上对应的目标存储位置;
若访问地址对应的访问空间超出处理器的最大寻址空间,则确定此时接收的访问地址异常,处理器将生成地址越界的指示信息,以指示发送新的访问地址。
在大容量Flash的情况下:
若访问地址对应的访问空间未超出处理器的最大寻址空间,则采用处理器的24bit寻址模式对16M的最大寻址空间进行寻址,访问该访问地址在大容量Flash上对应的目标存储位置;
若访问地址对应的访问空间超出处理器的最大寻址空间,且超出大容量Flash的存储空间(如4GB),则确定此时接收的访问地址异常,处理器将生成地址越界的指示信息,以指示发送新的访问地址。
若访问地址对应的访问空间超出处理器的16M的最大寻址空间,且未超出大容量Flash的存储空间,则采用预设规划算法,对存储空间进行规划,得到连续的至少一个子存储空间、至少一个子存储空间的地址信息,之后执行步骤130。其中,每个子存储空间的容量与处理器的最大寻址空间的容量相同。
可选地,处理器可以按照至少一个子存储空间的地址信息从小到大的顺序对至少一个子存储空间中的各个子存储空间进行编号,并存储每个子存储空间的地址信息与相应编号的映射关系。
为了保证处理器能够正常启动设备,可以将启动信息存储于至少一个子存储空间中的任一子存储空间,并将该子存储空间的编号存储在EAR寄存器中,即EAR寄存器指向该子存储空间,以使处理器启动时能够自动从Flash起始地址处读取到启动信息。也就是说,配置EAR寄存器时,根据配置的值不同,可以使EAR寄存器对应到不同的子存储空间。
如图2所示,大容量Flash的存储空间为64MB,由于64MB大于处理器的16M的最大寻址空间,故采用预设规划算法,对存储空间进行规划,得到连续的4个16M的子存储空间,以及子存储空间的编号分别为编号0、编号1、编号2和编号3。由于Flash的整体存储空间的初始地址和终止地址是已知的,且子存储空间为16M,可以得到每个子存储空间的初始地址和终止地址,编号为0的子存储空间的起始地址为A1,终止地址为A2;编号为1的子存储空间的起始地址为A2,终止地址为A3;编号为2的子存储空间的起始地址为A3,终止地址为A4;编号为3的子存储空间的起始地址为A4,终止地址为A5。其中,编号为0的子存储空间种存储启动信息,故将编号0作为原始编号存储在EAR寄存器,以使EAR寄存器指向该子存储空间。
步骤130、根据访问地址和至少一个子存储空间的地址信息,确定访问地址所属的目标子存储空间。
为了提高寻址的准确性,可以通过以下两种方式确定访问地址所属的目标子存储空间:
方式一,将访问地址与至少一个子存储空间的初始地址和相应终止地址进行比较,判断访问地址是否大于某一个子存储空间的初始地址,且小于该子存储空间的终止地址;
若是,则确定该子存储空间为访问地址所属的目标子存储空间;否则,则确定该子存储空间不为访问地址所属的目标子存储空间。
结合图2,将访问地址分别与上述地址A1、A2、A3、A4和A5进行比较,若访问地址在A3和A4之间,则确定编号为2的子存储空间为目标子存储空间。如图3所示,处理器在确定访问地址所属的目标子存储空间后,将EAR寄存器中的原始编号更新为目标子存储空间的编号2,从而使EAR寄存器指向目标子存储空间。
方式二,获取访问地址对应的地址参数值、与至少一个子存储空间的初始地址对应的地址参数值和相应终止地址对应的地址参数值,并将访问地址对应的地址参数值与子存储空间的最大寻址空间的比值进行取整运算,获得目标子存储空间的目标编号,并将编号符合目标编号的子存储空间确定为访问地址所属的目标子存储空间。
如图4所示,大容量Flash包括连续的4个16M的子存储空间,编号为0的子存储空间的起始地址对应的地址参数值为0M,终止地址对应的地址参数值为16M;编号为1的子存储空间的起始地址对应的地址参数值为16M,终止地址对应的地址参数值为32M;编号为2的子存储空间的起始地址对应的地址参数值为32M,终止地址对应的地址参数值为48M;编号为3的子存储空间的起始地址对应的地址参数值为48M,终止地址对应的地址参数值为64M。
设访问地址对应的地址参数值为49M,故访问地址对应的地址参数值与子存储空间的最大寻址空间16M的比值取整运算后,得到子存储空间的编号为3,故将编号3对应的子存储空间确定为访问地址所属的目标子存储空间。
处理器在获取到目标子存储空间的编号后,将EAR寄存器中的原始编号更新为目标子存储空间的编号3,从而使EAR寄存器指向目标子存储空间。
步骤140、在目标子存储空间中,按照访问地址访问对应的目标存储位置。
EAR寄存器指向目标子存储空间后,处理器将其最大寻址空间对应的原初始寻址地址和原终止寻址地址分别更新为目标子存储空间的初始地址和目标子存储空间的终止地址;
在目标子存储空间中,处理器采用24bit寻址模式对更新后的最大寻址空间进行查寻,得到访问地址对应的目标地址,访问目标地址,从而执行write()、read()和erase()中的至少一种操作。
进一步的,为了提高设备重启和切换时的可靠性和稳定性,在访问目标地址并执行相应操作之后,处理器将更新后的最大寻址空间的初始地址和终止地址分别重置为原初始寻址地址和原终止寻址地址,即将EAR寄存器中目标子存储空间的编号重置为原始编号,以确保处理器在下次执行命令时,PC寄存器可从正确的位置读到指令。
在一个例子中,如图5所示的另一种非易失性存储器的访问方法,可以包括:
步骤501、接收访问地址。
步骤502、获取Flash的存储空间。
步骤503、检测Flash的存储空间是否大于处理器的最大寻址空间;
若否,则执行步骤504;
若是,则执行步骤507。
步骤504、将该Flash标记为小容量Flash。
步骤505、检测访问地址对应的访问空间是否超出处理器的最大寻址空间。
若否,则执行步骤506;
若是,则执行步骤515。
步骤506、采用24bit寻址模式对该最大寻址空间进行寻址,访问该访问地址在小容量Flash上对应的目标存储位置。
步骤507、将该Flash标记为大容量Flash。
步骤508、检测访问地址对应的访问空间是否超出处理器的最大寻址空间;
若否,则返回执行步骤506;
若是,则执行步骤509。
步骤509、检测访问地址对应的访问空间是否超出大容量Flash的存储空间;
若是,则执行步骤515。
若否,则执行步骤510;
步骤510、采用预设规划算法,对存储空间进行规划,得到连续的至少一个子存储空间、至少一个子存储空间的地址信息。
步骤511、按照至少一个子存储空间的地址信息从小到大的顺序对至少一个子存储空间中各个子存储空间进行编号。
步骤512、根据访问地址和至少一个子存储空间的地址信息,确定访问地址所属的目标子存储空间。
步骤513、将EAR寄存器中的原始编号更新为目标子存储空间的编号;
步骤514、在目标子存储空间中,访问访问地址对应的目标地址。
步骤515、确定此时接收的访问地址异常,生成地址越界的指示信息。
本发明实施例的上述访问方法,在接收访问地址后对非易失性存储器Flash的存储空间进行检测;若Flash的存储空间大于处理器的最大寻址空间,且访问地址对应的访问空间超出最大寻址空间,则采用预设规划算法,对存储空间进行规划,得到连续的至少一个子存储空间以及相应的地址信息,每个子存储空间的容量为最大寻址空间的容量;根据访问地址和至少一个子存储空间的地址信息,确定访问地址所属的目标子存储空间;在目标子存储空间中,访问访问地址对应的目标地址。可见,该方法可以实现最大寻址空间小于Flash存储空间的处理器访问大于最大寻址空间的Flash存储器,提高了存储空间的利用率,以及通过划分存储空间进行寻址,提高了处理器寻址的准确性。
与上述方法对应的,本发明实施例还提供一种非易失性存储器的访问装置,如图6所示,该装置包括:接收单元610、检测单元620、规划单元630、确定单元640和访问单元650;
接收单元610,用于接收访问地址;
检测单元620,用于对非易失性存储器Flash的存储空间进行检测;
规划单元630,用于若所述存储空间大于所述处理器的最大寻址空间,且所述访问地址对应的访问空间超出所述最大寻址空间,则采用预设规划算法,对所述存储空间进行规划,得到连续的至少一个子存储空间、所述至少一个子存储空间的地址信息,其中,每个子存储空间的容量为所述最大寻址空间的容量;
确定单元640,用于根据所述访问地址和所述至少一个子存储空间的地址信息,确定所述访问地址所属的目标子存储空间;
访问单元650,用于在所述目标子存储空间中,按照所述访问地址访问对应的目标存储位置。
在一种可选的实现中,所述至少一个子存储空间的地址信息至少包括初始地址和终止地址;
确定单元640,具体用于针对每个子存储空间,执行以下操作:
判断所述访问地址是否大于一个子存储空间的初始地址,且小于所述子存储空间的终止地址;
若是,则确定所述一个子存储空间为所述访问地址所属的目标子存储空间;
否则,则确定所述一个子存储空间不为所述访问地址所属的目标子存储空间。
在一种可选的实现中,所述至少一个子存储空间的地址信息至少包括初始地址和终止地址;
确定单元640,还具体用于按照所述至少一个子存储空间的地址信息从小到大的顺序,对所述至少一个子存储空间中的各个子存储空间进行编号;
将所述访问地址对应的地址参数值与所述子存储空间的最大寻址空间的比值取整运算,获取目标子存储空间的目标编号,并将编号符合所述目标编号的编号对应的子存储空间确定为访问地址所属的目标子存储空间。
在一种可选的实现中,所述装置还包括更新单元660;
更新单元660,用于将所述最大寻址空间对应的原初始寻址地址和原终止寻址地址分别更新为所述目标子存储空间的初始地址和所述目标子存储空间的终止地址;
访问单元650,具体用于在所述目标子存储空间中,采用所述处理器的寻址模式对更新后的最大寻址空间进行查寻,访问所述访问地址对应的目标存储位置。
在一种可选的实现中,访问单元650,还用于若所述Flash的存储空间大于所述处理器的最大寻址空间,且所述访问地址对应的访问空间未超出所述最大寻址空间,则采用所述处理器的寻址模式对所述最大寻址空间进行寻址,访问所述访问地址对应的目标存储位置;
若所述Flash的存储空间不大于所述处理器的最大寻址空间,则采用所述处理器的寻址模式对所述最大寻址空间进行寻址,访问所述访问地址对应的目标存储位置。
在一种可选的实现中,所述装置还包括重置单元670;
重置单元670,用于将更新后的所述最大寻址空间的初始地址和终止地址分别重置为原初始寻址地址和原终止寻址地址。
本发明上述实施例提供的非易失性存储器的访问装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的非易失性存储器的访问装置中的各个单元的具体工作过程和有益效果,在此不复赘述。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器710、通信接口720、存储器730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。
存储器730,用于存放计算机程序;
处理器710,用于执行存储器730上所存放的程序时,实现如下步骤:
接收访问地址;
对非易失性存储器Flash的存储空间进行检测;
若所述Flash的存储空间大于所述处理器的最大寻址空间,且所述访问地址对应的访问空间超出所述最大寻址空间,则采用预设规划算法,对所述存储空间进行规划,得到连续的至少一个子存储空间、所述至少一个子存储空间的地址信息,其中,每个子存储空间的容量为所述最大寻址空间的容量;
根据所述访问地址和所述至少一个子存储空间的地址信息,确定所述访问地址所属的目标子存储空间;
在所述目标子存储空间中,按照所述访问地址访问对应的目标存储位置。
在一种可选的实现中,所述至少一个子存储空间的地址信息至少包括初始地址和终止地址,根据所述访问地址和所述至少一个子存储空间的地址信息,确定所述访问地址所属的目标子存储空间,包括:
针对每个子存储空间,执行以下操作:
判断所述访问地址是否大于一个子存储空间的初始地址,且小于所述子存储空间的终止地址;
若是,则确定所述一个子存储空间为所述访问地址所属的目标子存储空间;
否则,则确定所述一个子存储空间不为所述访问地址所属的目标子存储空间。
在一种可选的实现中,所述至少一个子存储空间的地址信息至少包括初始地址和终止地址;
根据所述访问地址和所述至少一个子存储空间的地址信息,确定所述访问地址所属的目标子存储空间,包括:
按照所述至少一个子存储空间的地址信息从小到大的顺序,对所述至少一个子存储空间中的各个子存储空间进行编号;
将所述访问地址对应的地址参数值与所述最大寻址空间的比值进行取整运算,获得目标子存储空间的目标编号,并将编号符合所述目标编号的子存储空间确定为访问地址所属的目标子存储空间。
在一种可选的实现中,按照所述访问地址访问对应的目标存储位置之前,所述方法还包括:
将所述最大寻址空间对应的原初始寻址地址和原终止寻址地址分别更新为所述目标子存储空间的初始地址和所述目标子存储空间的终止地址;
在所述目标子存储空间中,按照所述访问地址访问对应的目标存储位置,包括:
在所述目标子存储空间中,采用所述处理器的寻址模式对更新后的最大寻址空间进行查寻,访问所述访问地址对应的目标存储位置。
在一种可选的实现中,若所述Flash的存储空间大于所述处理器的最大寻址空间,且所述访问地址对应的访问空间未超出所述最大寻址空间,则采用所述处理器的寻址模式对所述最大寻址空间进行寻址,访问所述访问地址对应的目标存储位置;
若所述Flash的存储空间不大于所述处理器的最大寻址空间,则采用所述处理器的寻址模式对所述最大寻址空间进行寻址,访问所述访问地址对应的目标存储位置。
在一种可选的实现中,按照所述访问地址访问对应的目标存储位置之后,将更新后的所述最大寻址空间的初始地址和终止地址分别重置为原初始寻址地址和原终止寻址地址。
上述提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图1所示的实施例中的各步骤来实现,因此,本发明实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的访问方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的访问方法。
本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。

Claims (14)

1.一种非易失性存储器的访问方法,其特征在于,所述方法包括:
接收访问地址;
对非易失性存储器Flash的存储空间进行检测;
若所述Flash的存储空间大于所述处理器的最大寻址空间,且所述访问地址对应的访问空间超出所述最大寻址空间,则采用预设规划算法,对所述存储空间进行规划,得到连续的至少一个子存储空间及相应的地址信息,其中,每个子存储空间的容量为所述最大寻址空间的容量;
根据所述访问地址和所述至少一个子存储空间的地址信息,确定所述访问地址所属的目标子存储空间;
在所述目标子存储空间中,按照所述访问地址访问对应的目标存储位置。
2.如权利要求1所述的方法,其特征在于,所述至少一个子存储空间的地址信息至少包括初始地址和终止地址,根据所述访问地址和所述至少一个子存储空间的地址信息,确定所述访问地址所属的目标子存储空间,包括:
分别针对每个子存储空间,执行以下操作:
判断所述访问地址是否大于一个子存储空间的初始地址,且小于所述子存储空间的终止地址;
若是,则确定所述一个子存储空间为所述访问地址所属的目标子存储空间;
否则,则确定所述一个子存储空间不为所述访问地址所属的目标子存储空间。
3.如权利要求1所述的方法,其特征在于,所述至少一个子存储空间的地址信息至少包括初始地址和终止地址;根据所述访问地址和所述至少一个子存储空间的地址信息,确定所述访问地址所属的目标子存储空间,包括:
按照所述至少一个子存储空间的地址信息从小到大的顺序,对所述至少一个子存储空间中的各个子存储空间进行编号;
将所述访问地址对应的地址参数值与所述最大寻址空间的比值进行取整运算,获得目标子存储空间的目标编号,并将编号符合所述目标编号的子存储空间确定为访问地址所属的目标子存储空间。
4.如权利要求1-3任一项所述的方法,其特征在于,按照所述访问地址访问对应的目标存储位置之前,所述方法还包括:
将所述最大寻址空间对应的原初始寻址地址和原终止寻址地址分别更新为所述目标子存储空间的初始地址和所述目标子存储空间的终止地址;
在所述目标子存储空间中,按照所述访问地址访问对应的目标存储位置,包括:
在所述目标子存储空间中,采用所述处理器的寻址模式对更新后的最大寻址空间进行查寻,访问所述访问地址对应的目标存储位置。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述Flash的存储空间大于所述处理器的最大寻址空间,且所述访问地址对应的访问空间未超出所述最大寻址空间,则采用所述处理器的寻址模式对所述最大寻址空间进行寻址,访问所述访问地址对应的目标存储位置;
若所述Flash的存储空间不大于所述处理器的最大寻址空间,则采用所述处理器的寻址模式对所述最大寻址空间进行寻址,访问所述访问地址对应的目标存储位置。
6.如权利要求4所述的方法,其特征在于,按照所述访问地址访问对应的目标存储位置之后,所述方法还包括:
将更新后的所述最大寻址空间的初始地址和终止地址分别重置为原初始寻址地址和原终止寻址地址。
7.一种非易失性存储器的访问装置,其特征在于,所述装置包括:接收单元、检测单元、规划单元、确定单元和访问单元;
所述接收单元,用于接收访问地址;
所述检测单元,用于对非易失性存储器Flash的存储空间进行检测;
所述规划单元,用于若所述Flash的存储空间大于所述处理器的最大寻址空间,且所述访问地址对应的访问空间超出所述最大寻址空间,则采用预设规划算法,对所述存储空间进行规划,得到连续的至少一个子存储空间、所述至少一个子存储空间的地址信息,其中,每个子存储空间的容量为所述最大寻址空间的容量;
所述确定单元,用于根据所述访问地址和所述至少一个子存储空间的地址信息,确定所述访问地址所属的目标子存储空间;
所述访问单元,用于在所述目标子存储空间中,按照所述访问地址访问对应的目标存储位置。
8.如权利要求7所述的装置,其特征在于,所述至少一个子存储空间的地址信息至少包括初始地址和终止地址;
所述确定单元,具体用于针对每个子存储空间,执行以下操作:
判断所述访问地址是否大于一个子存储空间的初始地址,且小于所述子存储空间的终止地址;
若是,则确定所述一个子存储空间为所述访问地址所属的目标子存储空间;
否则,则确定所述一个子存储空间不为所述访问地址所属的目标子存储空间。
9.如权利要求7所述的装置,其特征在于,所述至少一个子存储空间的地址信息至少包括初始地址和终止地址;
所述确定单元,还具体用于按照所述至少一个子存储空间的地址信息从小到大的顺序,对所述至少一个子存储空间中的各个子存储空间进行编号;
将所述访问地址对应的地址参数值与所述子存储空间的最大寻址空间的比值取整运算,获取目标子存储空间的目标编号,并将编号符合所述目标编号的编号对应的子存储空间确定为访问地址所属的目标子存储空间。
10.如权利要求7-9任一项所述的装置,其特征在于,所述装置还包括更新单元;
所述更新单元,用于将所述最大寻址空间对应的原初始寻址地址和原终止寻址地址分别更新为所述目标子存储空间的初始地址和所述目标子存储空间的终止地址;
所述访问单元,具体用于在所述目标子存储空间中,采用所述处理器的寻址模式对更新后的最大寻址空间进行查寻,访问所述访问地址对应的目标存储位置。
11.如权利要求7所述的装置,其特征在于,所述访问单元,还用于若所述Flash的存储空间大于所述处理器的最大寻址空间,且所述访问地址对应的访问空间未超出所述最大寻址空间,则采用所述处理器的寻址模式对所述最大寻址空间进行寻址,访问所述访问地址对应的目标存储位置;
若所述Flash的存储空间不大于所述处理器的最大寻址空间,则采用所述处理器的寻址模式对所述最大寻址空间进行寻址,访问所述访问地址对应的目标存储位置。
12.如权利要求10所述的装置,其特征在于,所述装置还包括重置单元;
所述重置单元,用于将更新后的所述最大寻址空间的初始地址和终止地址分别重置为原初始寻址地址和原终止寻址地址。
13.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
CN201910143326.2A 2019-02-26 2019-02-26 非易失性存储器的访问方法及装置 Active CN109885509B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910143326.2A CN109885509B (zh) 2019-02-26 2019-02-26 非易失性存储器的访问方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910143326.2A CN109885509B (zh) 2019-02-26 2019-02-26 非易失性存储器的访问方法及装置

Publications (2)

Publication Number Publication Date
CN109885509A true CN109885509A (zh) 2019-06-14
CN109885509B CN109885509B (zh) 2021-10-26

Family

ID=66929487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910143326.2A Active CN109885509B (zh) 2019-02-26 2019-02-26 非易失性存储器的访问方法及装置

Country Status (1)

Country Link
CN (1) CN109885509B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477519A (zh) * 2002-08-20 2004-02-25 深圳市中兴通讯股份有限公司上海第二 一种处理器的地址空间优化方法
US20100161690A1 (en) * 2008-12-24 2010-06-24 Hon Hai Precision Industry Co., Ltd. File retrieval system and electronic device using the same
CN101901273A (zh) * 2010-08-13 2010-12-01 优视科技有限公司 一种基于内存磁盘的高性能存储方法及其装置
CN102231103A (zh) * 2011-06-10 2011-11-02 清华大学 一种交替访问寄存器的装置及其方法
CN103544269A (zh) * 2013-10-17 2014-01-29 华为技术有限公司 目录的存储方法、查询方法及节点控制器
CN103744694A (zh) * 2013-12-24 2014-04-23 武汉烽火众智数字技术有限责任公司 基于Nand闪存的动态分区搜索装置及其方法
CN104077235A (zh) * 2013-03-26 2014-10-01 擎泰科技股份有限公司 分割物理块的方法及存储器系统
CN105260332A (zh) * 2015-09-09 2016-01-20 北京三未信安科技发展有限公司 一种对cpld数据包进行有序存储的方法及系统
US20160365156A1 (en) * 2015-06-09 2016-12-15 International Business Machines Corporation Built-in self-test (bist) circuit and associated bist method for embedded memories
CN108804346A (zh) * 2018-05-30 2018-11-13 广东思诺伟智能技术有限公司 一种电池soc数据在flash存储器存储的方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477519A (zh) * 2002-08-20 2004-02-25 深圳市中兴通讯股份有限公司上海第二 一种处理器的地址空间优化方法
US20100161690A1 (en) * 2008-12-24 2010-06-24 Hon Hai Precision Industry Co., Ltd. File retrieval system and electronic device using the same
CN101901273A (zh) * 2010-08-13 2010-12-01 优视科技有限公司 一种基于内存磁盘的高性能存储方法及其装置
CN102231103A (zh) * 2011-06-10 2011-11-02 清华大学 一种交替访问寄存器的装置及其方法
CN104077235A (zh) * 2013-03-26 2014-10-01 擎泰科技股份有限公司 分割物理块的方法及存储器系统
CN103544269A (zh) * 2013-10-17 2014-01-29 华为技术有限公司 目录的存储方法、查询方法及节点控制器
CN103744694A (zh) * 2013-12-24 2014-04-23 武汉烽火众智数字技术有限责任公司 基于Nand闪存的动态分区搜索装置及其方法
US20160365156A1 (en) * 2015-06-09 2016-12-15 International Business Machines Corporation Built-in self-test (bist) circuit and associated bist method for embedded memories
CN105260332A (zh) * 2015-09-09 2016-01-20 北京三未信安科技发展有限公司 一种对cpld数据包进行有序存储的方法及系统
CN108804346A (zh) * 2018-05-30 2018-11-13 广东思诺伟智能技术有限公司 一种电池soc数据在flash存储器存储的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
龙魁: "基于DSP技术的钨矿初选系统的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Also Published As

Publication number Publication date
CN109885509B (zh) 2021-10-26

Similar Documents

Publication Publication Date Title
US9110786B2 (en) Read operation prior to retrieval of scatter gather list
US20180074751A1 (en) Data transmission method, memory storage device and memory control circuit unit
US10884665B2 (en) Data reading method, storage controller and storage device for optimizing read voltages
CN107665091B (zh) 数据读取方法、数据写入方法及其存储控制器
US20140019741A1 (en) Method and system for booting electronic device from nand flash memory
CN108592313A (zh) 空调的无线组网方法、空调内机和空调外机
CN106372011A (zh) 用于pcie ssd控制器的高性能主机队列监控器
CN112596668A (zh) 一种存储器的坏块处理方法及系统
CN103678187A (zh) 一种微控制单元及其控制方法
CN107817943A (zh) 数据传输方法、存储器存储装置及存储器控制电路单元
CN104346234B (zh) 一种内存访问的方法、设备及系统
CN111737161B (zh) Flash存储器的文件传输方法、终端及存储介质
CN109885509A (zh) 非易失性存储器的访问方法及装置
CN110192178B (zh) 程序打补丁的方法、装置、微控制单元和终端设备
US8209475B2 (en) Write timeout control methods for flash memory and memory devices using the same
CN113253939B (zh) 数据处理方法、装置、电子设备及存储介质
US11221946B2 (en) Data arrangement method, memory storage device and memory control circuit unit
CN112948291A (zh) 数据传输方法、电子设备和可读存储介质
CN109669628B (zh) 基于flash设备的数据存储管理方法及装置
CN110364207A (zh) 解码方法以及储存控制器
CN109101436A (zh) 数据动态寻址存储方法、装置及存储介质、终端设备
CN113050877B (zh) 一种映射表存储的方法、装置、电子设备及存储介质
CN113805917A (zh) 固件更新方法、装置、电子设备和存储介质
CN113571106B (zh) 带电可擦可编程只读存储器的数据读取方法及装置
CN102819514B (zh) 存储介质的数据读取方法和设备

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200106

Address after: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant after: Jingxin Communication System (China) Co., Ltd.

Address before: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant before: Jingxin Communication System (China) Co., Ltd.

Applicant before: Jingxin Communication System (Guangzhou) Co., Ltd.

Applicant before: Jingxin Communication Technology (Guangzhou) Co., Ltd.

Applicant before: TIANJIN COMBA TELECOM SYSTEMS CO., LTD.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant after: Jingxin Network System Co.,Ltd.

Address before: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant before: Comba Telecom System (China) Ltd.

GR01 Patent grant
GR01 Patent grant