存储设备的初始化方法、访问方法及相关装置转让专利

申请号 : CN202310611802.5

文献号 : CN116991484B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴永锋王大志

申请人 : 广东匠芯创科技有限公司

摘要 :

本申请公开了一种存储设备的初始化方法、访问方法及相关装置,应用于存储器访问技术领域,包括:获取来自于扩展串行外设接口的访问命令对应的初始化命令;判断是否存在与初始化命令对应的预存命令格式,得到判断结果;当判断结果指示存在与初始化命令对应的预存命令格式时,将预存命令格式和初始化命令传输至存储设备,以根据预存命令格式和初始化命令对存储设备进行初始化操作。本申请通过预存命令格式的设置,仅需一条操作指令即可触发预存命令格式和初始化命令进行传输,实现了操作指令的精简,减少了命令格式的配置时间,在保证存储设备的兼容性的基础上,降低了存储设备操作受阻的问题,提高了存储设备的操作效率。

权利要求 :

1.一种存储设备的初始化方法,其特征在于,包括:获取来自于扩展串行外设接口的访问命令对应的初始化命令;

判断是否存在与所述初始化命令对应的预存命令格式,得到判断结果;

当所述判断结果指示存在与所述初始化命令对应的预存命令格式时,将所述预存命令格式和所述初始化命令传输至所述存储设备,以根据所述预存命令格式和所述初始化命令对所述存储设备进行初始化操作;

其中,所述预存命令格式通过以下方式设置:获取多个历史命令;

根据所述历史命令和多种预设的接口协议,确定多种命令格式;

计算每一所述命令格式的出现频率;

根据所述出现频率对多种所述命令格式进行排序;

选取排序后的前预设比例的多种所述命令格式作为预存命令格式进行存储;

所述初始化操作通过以下方式进行:

根据所述预存命令格式,确定对应的接口协议和所述存储设备的身份标识;

根据所述接口协议对所述初始化命令进行解析,得到配置信息;

根据所述配置信息和所述身份标识对所述存储设备进行配置,以完成对所述存储设备的初始化操作。

2.根据权利要求1所述的初始化方法,其特征在于,所述获取多个历史命令,包括:获取所述存储设备的访问频率;

根据所述访问频率,确定预设周期;

每隔预设周期获取多个历史命令。

3.根据权利要求1所述的初始化方法,其特征在于,所述初始化方法还包括:当所述判断结果指示不存在与所述初始化命令对应的预存命令格式时,根据所述初始化命令,确定对应的接口协议;

根据所述接口协议,对所述初始化命令的命令格式进行配置,所述命令格式与所述存储设备相对应;

将所述初始化命令和对应的所述命令格式传输至所述存储设备,以根据所述预存命令格式和所述初始化命令对所述存储设备进行初始化操作。

4.一种存储设备的访问方法,其特征在于,包括:获取来自于扩展串行外设接口的访问命令;

根据所述访问命令,生成初始化命令;

当存在与所述初始化命令对应的预存命令格式时,根据预存命令格式将所述初始化命令传输至所述存储设备,以根据所述预存命令格式和所述初始化命令对所述存储设备进行初始化操作;

根据所述访问命令,对初始化后的所述存储设备进行访问;

其中,所述预存命令格式通过以下方式设置:获取多个历史命令;

根据所述历史命令和多种预设的接口协议,确定多种命令格式;

计算每一所述命令格式的出现频率;

根据所述出现频率对多种所述命令格式进行排序;

选取排序后的前预设比例的多种所述命令格式作为预存命令格式进行存储;

所述初始化操作通过以下方式进行:

根据所述预存命令格式,确定对应的接口协议和所述存储设备的身份标识;

根据所述接口协议对所述初始化命令进行解析,得到配置信息;

根据所述配置信息和所述身份标识对所述存储设备进行配置,以完成对所述存储设备的初始化操作。

5.根据权利要求4所述的访问方法,其特征在于,所述根据所述访问命令,生成初始化命令,包括:根据所述访问命令,确定总线地址、接口协议和访问数据;

根据预设的查找表对所述总线地址进行查找,确定所述存储设备的存储地址;

根据所述接口协议和所述存储地址,生成初始化命令;

所述根据所述访问命令,对初始化后的所述存储设备进行访问,包括:根据所述访问命令控制所述访问数据对所述存储地址进行访问。

6.一种存储设备的初始化装置,其特征在于,包括:获取单元,用于获取来自于扩展串行外设接口的初始化命令;

判断单元,用于判断是否存在与所述初始化命令对应的预存命令格式,得到判断结果;

传输单元,用于当所述判断结果指示存在与所述初始化命令对应的预存命令格式时,将所述预存命令格式和所述初始化命令传输至所述存储设备,以使所述存储设备根据所述预存命令格式和所述初始化命令进行初始化;

其中,所述预存命令格式通过以下方式设置:获取多个历史命令;

根据所述历史命令和多种预设的接口协议,确定多种命令格式;

计算每一所述命令格式的出现频率;

根据所述出现频率对多种所述命令格式进行排序;

选取排序后的前预设比例的多种所述命令格式作为预存命令格式进行存储;

所述初始化操作通过以下方式进行:

根据所述预存命令格式,确定对应的接口协议和所述存储设备的身份标识;

根据所述接口协议对所述初始化命令进行解析,得到配置信息;

根据所述配置信息和所述身份标识对所述存储设备进行配置,以完成对所述存储设备的初始化操作。

7.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行权利要求1至3中任一项所述的存储设备的初始化方法和/或如权利要求4至5中任一项所述的存储设备的访问方法。

8.一种计算机存储介质,其特征在于,包括存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至3中任一项所述的存储设备的初始化方法和/或如权利要求4至5中任一项所述的存储设备的访问方法。

说明书 :

存储设备的初始化方法、访问方法及相关装置

技术领域

[0001] 本发明涉及存储器访问技术领域,具体涉及一种存储设备的初始化方法、访问方法及相关装置。

背景技术

[0002] 扩展串行外设接口(ExpandedSerialPeripheralInterface,XSPI)是固态技术协会(JEDEC,Joint Electron Device Engineering Council)为非易失性存储器设备开发的扩展串行外设串行同步通信协议,其是一种类串行外设接口(SerialPeripheralInterface,SPI),XSPI接口能够兼容多种协议,允许多个与XSPI接口相容的装置通过XSPI接口进行存取,因此,一个具有XSPI接口的设备要做到最大的兼容性,需要兼顾多种类接口协议行为的排列组合,然而,兼容性较高的存储设备往往需要根据不同的协议配置初始化命令的命令格式,在与存储设备的访问过程中命令格式的配置往往需要执行多条CPU操作指令,以将初始化命令以及其对应的命令格式发送至存储设备,使得存储设备的操作效率受阻。

发明内容

[0003] 本申请提供一种存储设备的初始化方法、访问方法及相关装置,能够提高存储设备的操作效率。
[0004] 第一方面,本申请提供一种存储设备的初始化方法,包括:
[0005] 获取来自于扩展串行外设接口的访问命令对应的初始化命令;
[0006] 判断是否存在与所述初始化命令对应的预存命令格式,得到判断结果;
[0007] 当所述判断结果指示存在与所述初始化命令对应的预存命令格式时,将所述预存命令格式和所述初始化命令传输至所述存储设备,以根据所述预存命令格式和所述初始化命令对所述存储设备进行初始化操作。
[0008] 根据本申请第一方面所述的存储设备的初始化方法,至少具有如下有益效果:在对存储设备进行初始化的过程中,首先判断是否存在与初始化命令对应的预存命令格式,如果存在与初始化命令对应的预存命令格式,仅需一条操作指令即可触发预存命令格式和初始化命令的传输,即将初始化命令和预存命令格式传输至存储设备,无需花费大量时间并执行多条操作指令对命令格式进行配置。本申请通过预存命令格式的设置,仅需一条操作指令即可触发预存命令格式和初始化命令进行传输,实现了操作指令的精简,减少了命令格式的配置时间,在保证存储设备的兼容性的基础上,降低了存储设备操作受阻的问题,提高了存储设备的操作效率。
[0009] 根据本申请第一方面的一些实施例,所述预存命令格式通过以下方式设置:
[0010] 获取多个历史命令;
[0011] 根据所述历史命令和多种预设的接口协议,确定多种命令格式;
[0012] 计算每一所述命令格式的出现频率;
[0013] 根据所述出现频率对多种所述命令格式进行排序;
[0014] 选取排序后的前预设比例的多种所述命令格式作为预存命令格式进行存储。
[0015] 根据本申请第一方面的一些实施例,所述获取多个历史命令,包括:
[0016] 获取所述存储设备的访问频率;
[0017] 根据所述访问频率,确定预设周期;
[0018] 每隔预设周期获取多个历史命令。
[0019] 根据本申请第一方面的一些实施例,所所述初始化操作通过以下方式进行:
[0020] 根据所述预存命令格式,确定对应的接口协议和所述存储设备的身份标识;
[0021] 根据所述接口协议对所述初始化命令进行解析,得到配置信息;
[0022] 根据所述配置信息和所述身份标识对所述存储设备进行配置,以完成对所述存储设备的初始化操作。
[0023] 根据本申请第一方面的一些实施例,所述初始化方法还包括:
[0024] 当所述判断结果指示不存在与所述初始化命令对应的预存命令格式时,根据所述初始化命令,确定对应的接口协议;
[0025] 根据所述接口协议,对所述初始化命令的命令格式进行配置,所述命令格式与所述存储设备相对应;
[0026] 将所述初始化命令和对应的所述命令格式传输至所述存储设备,以根据所述预存命令格式和所述初始化命令对所述存储设备进行初始化操作。
[0027] 第二方面,本申请提供一种存储设备的访问方法,包括:
[0028] 获取来自于扩展串行外设接口的访问命令;
[0029] 根据所述访问命令,生成初始化命令;
[0030] 当存在与所述初始化命令对应的预存命令格式时,根据预存命令格式将所述初始化命令传输至所述存储设备,以根据所述预存命令格式和所述初始化命令对所述存储设备进行初始化操作;
[0031] 根据所述访问命令,对初始化后的所述存储设备进行访问。
[0032] 由于第二方面的存储设备的访问方法应用第一方面任一项的存储设备的初始化方法,因此具有本申请第一方面的所有有益效果。
[0033] 根据本申请第二方面的一些实施例,所述根据所述访问命令,生成初始化命令,包括:
[0034] 根据所述访问命令,确定总线地址、接口协议和访问数据;
[0035] 根据预设的查找表对所述总线地址进行查找,确定所述存储设备的存储地址;
[0036] 根据所述接口协议和所述存储地址,生成初始化命令;
[0037] 所述根据所述访问命令,对初始化后的所述存储设备进行访问,包括:
[0038] 根据所述访问命令控制所述访问数据对所述存储地址进行访问。
[0039] 第三方面,本申请提供一种存储设备的初始化装置,包括:
[0040] 获取单元,用于获取来自于扩展串行外设接口的初始化命令;
[0041] 判断单元,用于判断是否存在与所述初始化命令对应的预存命令格式,得到判断结果;
[0042] 传输单元,用于当所述判断结果指示存在与所述初始化命令对应的预存命令格式时,将所述预存命令格式和所述初始化命令传输至所述存储设备,以使所述存储设备根据所述预存命令格式和所述初始化命令进行初始化。
[0043] 第四方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时如第一方面任一项的存储设备的初始化方法和/或如第二方面任一项的存储设备的访问方法。
[0044] 由于第四方面的处理器执行所述计算机程序时如第一方面任一项的存储设备的初始化方法和/或如第二方面任一项的存储设备的访问方法,因此具有本申请实施例第一方面的所有有益效果。
[0045] 第五方面,本申请实施例提供一种计算机存储介质,包括存储有计算机可执行指令,所述计算机可执行指令用于如第一方面任一项的存储设备的初始化方法和/或如第二方面任一项的存储设备的访问方法。
[0046] 由于第五方面的计算机存储介质可执行如第一方面任一项的存储设备的初始化方法和/或如第二方面任一项的存储设备的访问方法,因此具有本申请实施例第一方面的所有有益效果。
[0047] 本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

[0048] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0049] 图1是本申请实施例提供的存储设备的初始化方法的主要步骤图;
[0050] 图2是本申请实施例提供的存储设备的初始化方法的预存命令格式设置的步骤图;
[0051] 图3是本申请实施例提供的存储设备的初始化方法的历史命令获取的步骤图;
[0052] 图4是本申请实施例提供的存储设备的初始化方法的初始化操作的步骤图;
[0053] 图5是本申请实施例提供的存储设备的初始化方法的另一步骤图;
[0054] 图6是本申请实施例提供的存储设备的访问方法的主要步骤图;
[0055] 图7是本申请实施例提供的存储设备的访问方法的访问的步骤图;
[0056] 图8是本申请实施例提供的存储设备的初始化装置的结构框图;
[0057] 图9是本申请实施例提供的对存储设备进行初始化的示意图;
[0058] 图10是本申请实施例提供的用于存储器的初始化的系统架构平台的示意图。

具体实施方式

[0059] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请实施例。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请实施例的描述。
[0060] 需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0061] 还应当理解,在本申请实施例说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请实施例的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0062] 扩展串行外设接口(ExpandedSerialPeripheralInterface,XSPI)是固态技术协会(JEDEC,Joint Electron Device Engineering Council)为非易失性存储器设备开发的扩展串行外设串行同步通信协议,其是一种类串行外设接口(SerialPeripheralInterface,SPI),XSPI接口能够兼容多种协议,允许多个与XSPI接口相容的装置通过XSPI接口进行存取,XSPI接口设备协议基本行为构成为指令、地址和数据,且XSPI接口需要兼容时钟单边沿采样(SDR)和时钟双沿采样(DDR),再加上1/2/4/8/16数据线的相关协议。因此,一个具有XSPI接口的设备要做到最大的兼容性,需要兼顾多种类接口协议行为的排列组合,然而,兼容性较高的存储设备往往需要根据不同的协议配置初始化命令的命令格式,需要执行多种操作指令,例如,对于快闪存储器,在与存储设备的访问过程中命令格式的配置往往需要执行多条CPU操作指令,以将初始化命令以及其对应的命令格式发送至存储设备,使得存储设备的操作效率受阻。
[0063] 基于此,本申请提供一种存储设备的初始化方法、访问方法及相关装置,该存储设备的初始化方法通过预存命令格式的设置,仅需一条操作指令即可触发预存命令格式和初始化命令进行传输,实现了操作指令的精简,减少了命令格式的配置时间,在保证存储设备的兼容性的基础上,降低了存储设备操作受阻的问题,提高了存储设备的操作效率。
[0064] 下面结合附图,对本申请做进一步阐述。
[0065] 参照图1,图1是本申请实施例提供的存储设备的初始化方法的主要步骤图。该初始化方法包括但不限于以下步骤:
[0066] 步骤S100、获取来自于扩展串行外设接口的访问命令对应的初始化命令。
[0067] 步骤S200、判断是否存在与初始化命令对应的预存命令格式,得到判断结果。
[0068] 步骤S300、当判断结果指示存在与初始化命令对应的预存命令格式时,将预存命令格式和初始化命令传输至存储设备,以根据预存命令格式和初始化命令对存储设备进行初始化操作。
[0069] 需要说明的是,在对存储设备进行初始化的过程中,首先判断是否存在与初始化命令对应的预存命令格式,如果存在与初始化命令对应的预存命令格式,仅需一条操作指令即可触发预存命令格式和初始化命令的传输,即将初始化命令和预存命令格式传输至存储设备,无需花费大量时间并执行多条操作指令对命令格式进行配置。本申请通过预存命令格式的设置,仅需一条操作指令即可触发预存命令格式和初始化命令进行传输,实现了操作指令的精简,减少了命令格式的配置时间,在保证存储设备的兼容性的基础上,降低了存储设备操作受阻的问题,提高了存储设备的操作效率。
[0070] 需要说明的是,初始化命令与访问命令相对应,访问命令来自于用户输入的命令或者其他通信设备传输的命令,访问命令可以为写入、读取、编辑等命令。
[0071] 需要说明的是,初始化命令中不同的存储设备以及接口协议对应不同的命令格式。因此,为解决存储设备初始化过程中对初始化命令配置命令格式从而导致效率降低的问题,本申请基于精简指令的思想,设置预存命令格式,使得针对存储设备的大部分初始化命令都能够通过中央处理器的一条操作指令触发传输至存储设备。
[0072] 可以理解的是,参照图2,预存命令格式的设置方法包括但不限于以下步骤:
[0073] 步骤S410、获取多个历史命令。
[0074] 步骤S420、根据历史命令和多种预设的接口协议,确定多种命令格式。
[0075] 步骤S430、计算每一命令格式的出现频率。
[0076] 步骤S440、根据出现频率对多种命令格式进行排序。
[0077] 步骤S450、选取排序后的前预设比例的多种命令格式作为预存命令格式进行存储。
[0078] 需要说明的是,设置有扩展串行外设接口的存储设备具有多种接口协议,预存命令格式的设置首先需要获取多个历史命令,历史命令为过往对存储设备设置的初始化命令的集合,根据初始化命令和多种接口协议,能够确定存储设备的初始化指令对应的多种命令格式,计算每一命令格式的出现频率,根据出现频率对多种命令格式进行排序,出现的频率越高,排序越靠前,对排序后的结果选取前预设比例的多种命令格式作为预存命令格式进行存储,使得当执行命令格式对应的初始化命令时,仅需触发该命令格式,即可将初始化命令以及其对应的命令格式传输至存储设备,以对存储设备执行相应的操作。
[0079] 需要说明的是,本申请基于精简指令的思想,根据历史命令,即已出现的初始化命令,对应的命令格式的出现频率进行设置,使得针对存储设备的大部分初始化命令都能够通过中央处理器的一条操作指令触发传输至存储设备。
[0080] 需要说明的是,预设比例的比例值可根据需要进行具体设置,本申请设置预设比例为百分之八十,使得精简指令遵循八二原则,即预存命令格式对应的初始化命令只需原来操作指令数量的百分之二十即可完成,降低了存储设备操作受阻的问题,提高了存储设备的操作效率,节省了中央处理器的工作时间。
[0081] 需要说明的是,初始化命令要用于对存储设备的配置进行初始化,使存储设备与处理器相匹配,便于之后对于存储设备的访问。初始化的具体操作需要率先读取存储设备ID,之后对存储设备配置时钟频率、配置相应协议行为、时序、驱动能力等。
[0082] 可以理解的是,参照图3,历史指令的获取方法包括但不限于以下步骤:
[0083] 步骤S411、获取存储设备的访问频率。
[0084] 步骤S412、根据访问频率,确定预设周期。
[0085] 步骤S413、每隔预设周期获取多个历史命令。
[0086] 需要说明的是,历史命令的更新周期根据存储设备的访问频率进行确定,能够提高预存命令格式与初始化命令的匹配程度,即在当前阶段出现频率较高的初始化命令设置有对应的预存命令格式,进一步降低了存储设备操作受阻的问题,提高了存储设备的操作效率
[0087] 需要说明的是,访问频率为单位时间内存储设备所接收到的初始化命令的数目。访问频率与预设周期的对应关系可根据需要进行选择,通常情况下,访问频率越高,预设周期越短。
[0088] 需要说明的是,对于高速存储设备而言,其访问频率较高,单位时间内收到的初始化命令较多,因此,其对应的预设周期比普通存储设备的预设周期短。
[0089] 可以理解的是,参照图6,对存储设备的初始化操作包括但不限于以下步骤:
[0090] 步骤S510、根据预存命令格式,确定对应的接口协议和存储设备的身份标识。
[0091] 步骤S520、根据接口协议对初始化命令进行解析,得到配置信息。
[0092] 步骤S530、根据配置信息和身份标识对存储设备进行配置,以完成对存储设备的初始化操作。
[0093] 需要说明的是,根据预存命令格式能够确定访问命令传输所使用的接口协议,另外,命令格式和存储设备相对应,根据预存命令格式,能够确认存储设备的身份标识,根据接口协议对初始化命令进行解析,得到配置信息,配置信息包括时钟频率、时序、驱动能力等,之后率先读取存储设备的身份标识,根据身份标识对存储设备的时钟频率、时序等进行配置,完成存储设备的初始化。
[0094] 需要说明的是,不同访问命令对应的初始化命令的配置信息不同,例如当访问命令为读取命令时,无需对存储设备中存储的内容进行清空,而写入命令对应的初始化命令需要清空存储设备中存储的内容。
[0095] 可以理解的是,参照图5,存储设备的初始化方法还包括但不限于以下步骤:
[0096] 步骤S610、当判断结果指示不存在与初始化命令对应的预存命令格式时,根据初始化命令,确定对应的接口协议。
[0097] 步骤S620、根据接口协议,对初始化命令的命令格式进行配置,命令格式与存储设备相对应。
[0098] 步骤S630、根将初始化命令和对应的命令格式传输至存储设备,以根据预存命令格式和初始化命令对存储设备进行初始化操作。
[0099] 需要说明的是,当不存在与初始化命令对应的预存命令格式时,根据初始化命令,确定初始化命令所对应的接口协议,根据接口协议对初始化命令的命令格式进行配置,命令格式与存储设备相对应,使得通过触发命令格式,能够将初始化命令和对应的命令格式传输至存储设备,初始化命令和命令格式传输至存储设备后,对存储设备进行初始化。
[0100] 需要说明的是,预存命令格式可根据初始化命令进行更新,即使当前时刻不存在与初始化命令对应的预存命令格式,如果在之后的某个预设周期该初始化命令对应的命令格式的出现频率较高,那么之后可以对该命令格式进行存储,作为新的预存命令格式。
[0101] 另外,参照图6,本申请提供一种存储设备的访问方法,该访问方法包括但不限于以下步骤:
[0102] 步骤S710、获取来自于扩展串行外设接口的访问命令。
[0103] 步骤S720、根据访问命令,生成初始化命令。
[0104] 步骤S730、当存在与初始化命令对应的预存命令格式时,根据预存命令格式将初始化命令传输至存储设备,以根据预存命令格式和初始化命令对存储设备进行初始化操作。
[0105] 步骤S740、根据访问命令,对初始化后的存储设备进行访问。
[0106] 需要说明的是,对存储设备进行访问,即将数据写入存储设备或者读取存储设备中的数据,根据访问命令,生成初始化命令,初始化命令主要用于对存储设备的配置进行初始化,使存储设备与处理器相匹配,在对存储设备进行初始化的过程中,首先判断是否存在与初始化命令对应的预存命令格式,如果存在与初始化命令对应的预存命令格式,仅需一条操作指令即可触发预存命令格式和初始化命令的传输,即将初始化命令和预存命令格式传输至存储设备,无需花费大量时间并执行多条操作指令对命令格式进行配置,之后根据预存命令格式和初始化命令对存储设备进行初始化操作,初始化完成后,根据访问命令,对存储设备进行访问。本申请通过预存命令格式的设置,仅需一条操作指令即可触发预存命令格式和初始化命令进行传输,实现了操作指令的精简,减少了命令格式的配置时间,在保证存储设备的兼容性的基础上,降低了存储设备操作访问的问题,提高了存储设备的访问效率。
[0107] 需要说明的是,访问命令来自于用户输入的命令或者其他通信设备传输的命令,访问命令可以为写入、读取、编辑等命令。
[0108] 需要说明的是,初始化命令中不同的存储设备以及接口协议对应不同的命令格式。因此,为解决存储设备初始化过程中对初始化命令配置命令格式从而导致效率降低的问题,本申请基于精简指令的思想,设置预存命令格式,使得针对存储设备的大部分初始化命令都能够通过中央处理器的一条操作指令触发传输至存储设备。
[0109] 需要说明的是,初始化命令要用于对存储设备的配置进行初始化,使存储设备与处理器相匹配,便于之后对于存储设备的访问。初始化的具体操作包括读取存储设备的身份标识,即存储器ID,根据存储设备的身份标识配置时钟频率、配置相应协议行为、时序、驱动能力等。
[0110] 可以理解的是,参照图7,步骤S720包括但不限于以下步骤:
[0111] 步骤S721、根据访问命令,确定总线地址、接口协议和访问数据。
[0112] 步骤S722、根据预设的查找表对总线地址进行查找,确定存储设备的存储地址。
[0113] 步骤S723、根据接口协议和存储地址,生成初始化命令。
[0114] 对应的,步骤S740包括但不限于以下步骤:
[0115] 步骤S741、根据访问命令控制访问数据对存储地址进行访问。
[0116] 需要说明的是,访问命令中包括总线地址,总线地址是存储设备出现在总线上的地址,但该地址只是处理器所看到的地址,总线地址由实际的存储地址,即存储设备中存储单元对应的地址可能经过多次得到的地址,因此需要根据预设的查找表对总线地址进行查找,从而确定存储设备的存储地址,根据存储地址和访问命令对应的接口协议,生成初始化命令,之后通过初始化命令对存储设备的存储地址进行初始化,并根据访问命令控制数据对初始化后的存储设备,即存储地址进行访问。本申请通过查找表将总线地址和存储地址一一对应,提高了初始化效率和存储设备的访问效率。
[0117] 需要说明的是,对于快闪存储器,在将写入数据写入快闪存储器时往往需要先执行擦除命令,因此在存储器的访问过程中擦除命令出现的频率是比较高的,擦除命令是初始化命令的一种,在之前的具有XSPI接口的快闪存储器中,每执行一次擦除命令,则需要配置擦除命令的地址以及相关命令格式,再配置启动命令触发命令传输,而在本申请中,在执行擦除命令且存在与擦除命令对应的预存命令格式时,将擦除命令和对应的预存命令格式传输至快闪存储器,以根据擦除命令和预存命令格式对快闪存储器的存储地址进行擦除,在擦除命令的执行过程中只需要配置一次擦除命令中的存储地址,之后可直接触发完成擦除命令和预存命令格式至快闪存储器之间的传输,在对快闪存储器存储地址的擦除完成后,将写入数据写入擦除后的存储地址。
[0118] 需要说明的是,参照图9,本申请中的存储设备具有扩展串行外设接口,根据历史命令对应的命令格式的出现频率设置有预存命令格式,当后续执行这些历史命令对应的初始化命令,即存在与初始化命令对应的预存命令格式时,可以直接通过高级高性能总线(Advanced High Performance Bus,AHB)或外围总线(Advanced Peripheral Bus,APB)触发完成初始化命令和对应的预存命令格式至存储设备之间的传输,实现了操作指令的精简减少了命令格式的配置时间,在保证存储设备的兼容性的基础上,降低了存储设备操作受阻的问题,提高了存储设备的操作效率。另外,本申请的处理器还通过AHB总线或APB总线配置有查找表,通过高级可扩展接口(Advanced eXtensible Interface,AXI)直接访问立即执行映射空间,并根据查找表对访问命令中的总线地址进行查找,确定存储设备的存储地址,实现总线地址与存储地址的转换,之后可访问存储设备,实现了直接访问((eXecute In Place,XIP)机制,提高了初始化效率和存储设备的访问效率。
[0119] 另外,参照图8,本申请实施例还提供一种存储设备的初始化装置,包括:
[0120] 获取单元100,用于获取来自于扩展串行外设接口的访问命令对应的初始化命令。
[0121] 判断单元200,用于判断是否存在与初始化命令对应的预存命令格式,得到判断结果。
[0122] 传输单元300,用于当判断结果指示存在与初始化命令对应的预存命令格式时,将预存命令格式和初始化命令传输至存储设备,以根据预存命令格式和初始化命令对存储设备进行初始化操作。
[0123] 需要说明的是,获取单元100获取来自于扩展串行外设接口的访问命令对应的初始化命令,之后在对存储设备进行初始化的过程中,判断单元200判断是否存在与初始化命令对应的预存命令格式,如果存在与所述初始化命令对应的预存命令格式,传输单元300仅需将预存命令格式和初始化命令传输至存储设备,以根据预存命令格式和初始化命令对存储设备进行初始化操作。本申请通过预存命令格式的设置,仅需一条操作指令即可触发预存命令格式和初始化命令进行传输,实现了操作指令的精简,减少了命令格式的配置时间,在保证存储设备的兼容性的基础上,降低了存储设备操作受阻的问题,提高了存储设备的操作效率。
[0124] 可以理解的是,初始化装置通过高级高性能总线或外围总线与存储设备连接。
[0125] 另外,参照图10,本申请实施例提供的用于存储器的初始化的系统架构平台的示意图。
[0126] 本申请实施例的系统架构平台包括一个或多个处理器和存储器,图10中以一个处理器及一个存储器为例。
[0127] 处理器和存储器可以通过总线或者其他方式连接,图10中以通过总线连接为例。
[0128] 存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该系统架构平台。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0129] 本领域技术人员可以理解的是,该系统架构平台可以应用于现有的通信网络系统以及后续演进的移动通信网络系统等,本实施例对此并不作具体限定。
[0130] 本领域技术人员可以理解,图10中示出的装置结构并不构成对系统架构平台的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0131] 系统架构平台可以是独立的系统架构平台,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络、以及大数据和人工智能平台等基础云计算服务的云系统架构平台。
[0132] 另外,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时如步骤S100至步骤S300的存储器的初始化方法和/或如步骤S710至步骤S740的存储器的访问方法。
[0133] 处理器和存储器可以通过总线或者其他方式连接。
[0134] 存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0135] 实现上述实施例的目标跟踪方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的存储器的初始化方法,例如,执行以上描述的图1中的方法步骤S100至S300,或者,执行上述实施例中的存储器的访问方法,例如,执行以上描述的图6中的方法步骤S710至S740。
[0136] 以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0137] 此外,本申请实施例的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,可使得上述处理器执行上述实施例中的存储器的初始化方法,例如,执行以上描述的图1中的方法步骤S100至S300、图2中的方法步骤S410至S450、图3中的方法步骤S411至S4130、图4中的方法步骤S510至S530、图5中的方法步骤S610和S630,或者,执行上述实施例中的存储器的访问方法,例如,执行以上描述的图6中的方法步骤S710至S740、图7中的方法步骤S710至S741。
[0138] 本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD‑ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0139] 以上是对本申请实施例的较佳实施进行了具体说明,但本申请实施例并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请实施例精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请实施例权利要求所限定的范围内。