一种存储访问方法及其系统、存储设备与流程

文档序号:12718555阅读:193来源:国知局
一种存储访问方法及其系统、存储设备与流程
本发明涉及存储器
技术领域
,特别是涉及一种存储访问方法及其系统、存储设备。
背景技术
:目前,在存储系统中,主控搭载多种存储器件做存储设备时,需要考虑主控集成多种存储接口的驱动引导代码,一旦集成的引导代码具有兼容性上的缺陷,那么降低主控对存储器支持的应用健壮性。现有相关技术中,主控的内存存储有用于驱动存储器的驱动引导代码,主控访问存储器时,通过调用并且执行该驱动引导代码以访问存储器。然而,发明人在实现本发明的过程中,发现现有相关技术至少存在以下问题:当主控需要访问新类型的存储器时,由于主控的内存尚未存储有与该新类型的存储器相对应的驱动引导代码,因此主控未能访问该存储器,主控的兼容性比较差。并且,当主控需要对存储器完成一个特定的访问时,例如,上升沿读取数据。现有相关技术的主控需要执行多条驱动引导代码方可完成该访问。因此,主控需要耗费大内存容量以存储这些驱动引导代码。技术实现要素:本发明实施例的一个目的旨在提供一种存储访问方法及其系统、存储设备,其解决了现有技术的访问存储器方式的兼容性差及用于存储驱动引导代码的内存容量大的技术问题。为解决上述技术问题,本发明实施例提供以下技术方案:在第一方面,本发明实施例公开一种存储设备,所述存储设备包括第一存储模块、第二存储模块及处理模块;所述第一存储模块用于存储虚拟指令,所述虚拟指令包括逻辑操作指令及I/O操作指令,所述I/O操作指令对应于所述第二存储模块的I/O接口的电平控制信号;所述处理模块用于读取虚拟指令,将所述虚拟指令解析成执行指令,根据所述执行指令访问所述第二存储模块。可选地,在读取虚拟指令之前,所述处理模块还用于:根据访问所述第二存储模块的读时序,构建若干I/O操作指令。可选地,所述逻辑操作指令至少包括以下一种或两种以上的操作指令:循环指令、跳转指令、判断指令及结束指令。可选地,所述I/O操作指令至少包括以下一种或两种以上的操作指令:高电平指令、低电平指令、上升沿指令、下降沿指令、高跳转指令、低跳转指令、输出数据指令及读取数据指令。可选地,所述第一存储模块为电可擦可编程只读存储器。在第二方面,本发明实施例提供一种存储访问方法,所述方法包括:读取虚拟指令,所述虚拟指令包括逻辑操作指令及I/O操作指令,所述I/O操作指令对应于所述第二存储模块的I/O接口的电平控制信号;将所述虚拟指令解析成执行指令;根据所述执行指令访问所述第二存储模块。可选地,在读取虚拟指令之前,所述方法还包括:根据访问所述第二存储模块的读时序,构建若干I/O操作指令;存储所述I/O操作指令。可选地,所述逻辑操作指令至少包括以下一种或两种以上的操作指令:循环指令、跳转指令、判断指令及结束指令。可选地,所述I/O操作指令至少包括以下一种或两种以上的操作指令:高电平指令、低电平指令、上升沿指令、下降沿指令、高跳转指令、低跳转指令、输出数据指令及读取数据指令。在第三方面,本发明实施例提供一种存储访问系统,所述存储访问系统包括上述的存储设备。在本发明各个实施例中,一方面,通过对第一存储模块配置多种用于驱动第二存储模块的虚拟指令,并且当出现新类型的第二存储模块时,还可以另外对第一存储模块配置与该新类型的第二存储模块对应的虚拟指令,从而提高处理模块访问第二存储模块的兼容性;另一方面,由于虚拟指令包括逻辑操作指令及I/O操作指令,处理模块可以根据逻辑操作指令及I/O操作指令,访问第二存储模块的I/O接口。与现有技术相比较,其能够构建精简的虚拟指令,在执行同一访问第二存储模块的操作(上升沿读取1字节数据),现有技术需要花费大量指令方可达到目的,然而,处理模块通过简短的虚拟指令便可达到目的,从而节约用于存储指令的内存容量,降低生产成本。附图说明一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。图1是本发明实施例提供一种存储设备的结构示意图;图2是本发明实施例提供一种存储访问方法的流程示意图;图3为本发明另一实施例提供一种存储访问方法的流程示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。在存储系统中,存储系统上电运行时,存储系统中的控制器需要从存储有系统代码的存储器读取系统代码以进行初始化。此时,控制器需要加载用于驱动该存储器的引导代码,方可访问该存储器并且读取该存储器中的系统代码。在一些实施例中,该引导代码可以预存于控制器的只读存储器(Read-OnlyMemory,ROM)或MASKROM存储器。在一些实施例中,该引导代码还可以预存外设的存储模块中。每个存储器的引导代码均不相同。当控制器需要访问存储有系统代码的存储器,并且该存储器是新型存储器,其驱动的引导代码尚未预存于控制器的只读存储器时,控制器无法访问该存储器,因此,该存储系统的兼容性比较差。然而,在本发明各个实施例中,为了提高存储系统的兼容性,可以将与各类存储器对应的引导代码存储于外设的存储模块中,并且当存储系统出现具有新引导代码的新存储器时,可以预先在该存储模块中烧录该新引导代码。当控制器需要访问该新存储器时,可以预先从该存储模块中调取该新引导代码,并根据该新引导代码访问该新存储器。因此,采用该方式的存储系统能够兼容各种类型的存储器。在一些实施例中,应用上述及下述各个实施例所述的存储系统包括但是不限定于以下电子产品:USB闪存盘(USBflashdisk,U盘)、安全数码卡(SecureDigitalMemoryCard,SD卡)、读卡器(CardReader)、SSD固态硬盘(SolidStateDisk,SSD)以及等等。当采用“从存储模块中调取引导代码以访问存储有系统代码的存储器”的方式时,在一些实施例中,引导代码的代码量大,因此,需要使用存储容量大的存储模块以存储引导代码,然而,使用存储容量大的存储模块的成本也随之增加。尤其在存储系统的引导过程中,为了提高存储系统的兼容性及能够存储大容量的引导代码,存储模块较多使用SPIFLASH(SPI,serialperipheralinterface串行外围设备接口),例如,一片2Mbyte的SPIFLASH能够存储2048byte的引导代码,价格一般为0.80人民币。然而,对于一个生产成本比较低的存储系统来言,使用SPIFLASH的成本占整体成本的10%左右,这使得使用SPIFLASH作为存储模块的方式在实际生产过程中受到制约。进一步的,为了降低成本,图1是本发明实施例提供一种存储设备的结构示意图。如图1所示,该存储设备100包括第一存储模块11、第二存储模块12及处理模块13,处理模块13分别与第一存储模块11和第二存储模块12连接。第一存储模块11存储着虚拟指令,存储设备100上电时,处理模块13通过IIC接口访问第一存储模块11并且从第一存储模块11读取虚拟指令,将虚拟指令解析成执行指令,根据执行指令通过主存储接口访问第二存储模块12。处于访问第二存储模块12的目的,虚拟指令用于指示处理模块13完成对应的逻辑操作及基于该逻辑操作的配合下访问第二存储模块12的I/O接口的I/O操作。其中,虚拟指令包括逻辑操作指令及I/O操作指令,I/O操作指令对应于第二存储模块12的I/O接口的电平控制信号。例如,处理模块13对第二存储模块12循环三次输出上升沿读取1byte的数据时,逻辑操作指令对应“循环三次”的逻辑操作,I/O操作指令对应“输出上升沿”。在一些实施例中,虚拟指令可以由自构建形成的,其能够代替处理模块13所能识别的标准指令,其特点是构造短并且精简,具有一定码长。因此,在一些实施例中,在读取虚拟指令之前,处理模块13可以根据访问第二存储模块12的读时序,构建若干I/O操作指令,并且将I/O操作指令压缩并存储于第一存储模块11。其中,不同类型的第二存储模块12具有不同的读时序,因此,处理模块13可以构建不同类型I/O操作指令。由于处理模块13是根据第二存储模块12的读时序构建I/O操作指令的,因此,处理模块13访问第二存储模块12时,无需考虑第二存储模块12的接口类型,便可以实现访问第二存储模块12。第二存储模块12的读时序包括多种类型的电平控制信号,例如,电平控制信号可以为高电平信号、低电平信号、上升沿信号、下降沿信号、高跳转信号、低跳转信号、输出数据信号、读取数据信号以及等等。与此同时,I/O操作指令是与电平控制信号相对应的指令,因此,I/O操作指令至少包括以下一种或两种以上的操作指令:高电平指令、低电平指令、上升沿指令、下降沿指令、高跳转指令、低跳转指令、输出数据指令及读取数据指令。每条I/O操作指令均具有一定码长,其中,该码长由开发者根据业务需求自定义。当然,在读取虚拟指令之前,处理模块13还可以根据预先规则构建逻辑操作指令。逻辑操作指令至少包括以下一种或两种以上的操作指令:循环指令、跳转指令、判断指令及结束指令。下面,为了详细阐述虚拟指令,本实施例提供一种虚拟指令表,如表1所示,其能够给出每条虚拟指令的类型、含义及码长,但是,本领域技术人员应当明白,表1所提供的内容并不能对本发明实施例所揭示的技术方案构成限定,其仅仅用于解释之用。表1请再参阅表1,通过构造短而精简的虚拟指令代替处理模块13的标准指令,一方面,通过对第一存储模块11配置多种用于驱动第二存储模块12的虚拟指令,并且当出现新类型的第二存储模块12时,还可以另外对第一存储模块11配置与该新类型的第二存储模块12对应的虚拟指令,从而提高处理模块13访问第二存储模块12的兼容性;另一方面,由于虚拟指令包括逻辑操作指令及I/O操作指令,处理模块13可以根据逻辑操作指令及I/O操作指令,访问第二存储模块12的I/O接口。与现有技术相比较,其能够构建精简的虚拟指令,在执行同一访问第二存储模块12的操作(上升沿读取1字节数据),现有技术需要花费大量指令方可达到目的,然而,处理模块13通过简短的虚拟指令便可达到目的,从而节约用于存储指令的内存容量,降低生产成本。在一些实施例中,由于该虚拟指令是自构建的,处理模块13未能够识别并且执行该虚拟指令以访问第二存储模块12。因此,处理模块12需要加载虚拟指令解析固件,该虚拟指令解析固件能够按照如表1所示的指定规则将虚拟指令解析成能够被处理模块12识别和执行的执行指令。进一步的,处理模块12根据该执行指令访问第二存储模块12的存储接口,可以从第二存储模块12读取系统代码进行初始化。在一些实施例中,第一存储模块11为电可擦可编程只读存储器(ElectricallyErasableProgrammableRead-Only,EEPROM)。虚拟指令经压缩而存储于第一存储模块11。相对于使用第一存储模块11为SPIFLASH(其存储处理模块13能够执行的标准指令)时,EEPROM存储器虽然容量小,但是其能够满足精简后的虚拟指令的存储。然而,下面,为了详细阐述使用SPIFLASH与EEPROM存储器在成本及压缩容量上的区别,本发明实施例提供表2,表2是本发明实施例提供一种SPIFLASH与EEPROM存储器在成本及压缩容量上的对比示意图。此处的对比是基于处理模块13完成对第二存储模块12的同样功能的访问。表2存储类型型号(举例)容量(举例)价格引导代码EEPROMAT24C02256byte0.09人民币120bye左右(压缩)SPIFLASH2Mbyte0.80人民币2048byte左右(未压缩)如表2所示,采用虚拟指令的方式的引导代码的容量比采用处理模块13的标准指令的引导代码小,因此,采用虚拟指令的方式可以选择低成本的EEPROM存储器。在一些实施例中,第二存储模块12可以为Nand-flash内存。并且,第二存储模块12还可以是外部电子设备的存储模块。在一些实施例中,处理模块13可以为中央处理器(CentralProcessingUnit,CPU)、SSD控制器、SD控制器、U盘控制器。在一些实施例中,处理模块13还可以由通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,此处的处理模块13可以是任何传统处理器、控制器、微控制器或状态机。处理模块13也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、或任何其它这种配置。下面,本发明实施例提供相关例子,以进一步阐述本发明实施例提供的存储设备的工作原理。请再参阅表1及图1,例如:使用OR100K微处理器(处理模块13)对Nand-flash内存(第二存储模块12)的I/O接口输出时钟上升沿读取1byte的数据:若采用微处理器所支持的标准指令读取数据时,其需要的指令条数为18条,18条指令的容量为72byte。如下所示:20118d8:008060a81.orir3,r0,0x800020118dc:fc17e1d71.sw-4(r1),r220118e0:f80fe1d71.sw-8(r1),r120118e4:f4ff219c1.addir1,r1,-1220118e8:000083b41.mfsprr4,r3,0x020118ec:fdff409c1.addir2,r0,-320118f0:020084a81.orir4,r4,0x220118f4:002003c01.mtsprr3,r4,0x020118f8:048080a81.orir4,r0,0x800420118fc:000084b41.mfsprr4,r4,0x02011900:ff0084a41.andir4,r4,0xff2011904:032001d81.sb3(r1),r42011908:000083b41.mfsprr4,r3,0x0201190c:031084e01.andr4,r4,r22011910:002003c01.mfsprr3,r4,0x02011914:0c00219c1.addir1,r1,122011918:f8ff21841.lwzr1,-8(r1)201191c:fcff41841.lwzr2,-4(r1)然而,若采用虚拟指令的方式读取数据时,其需要的指令条数为2条,2条指令的容量为2byte。如下所示:IOx1bit输出上升沿IOx8bit读取数据因此,其能够构建精简的虚拟指令,在执行同一访问第二存储模块的操作(上升沿读取1字节数据),现有技术需要花费大量指令方可达到目的,然而,处理模块通过简短的虚拟指令便可达到目的,从而节约用于存储指令的内存容量,降低生产成本。作为本发明实施例又一方面,本发明实施例提供一种存储访问方法的流程示意图。该存储访问方法用于上述各个实施例所示的存储设备中,如图2所示,该存储访问方法包括:步骤20、读取虚拟指令,虚拟指令包括逻辑操作指令及I/O操作指令,I/O操作指令对应于第二存储模块的I/O接口的电平控制信号;步骤21、将虚拟指令解析成执行指令;步骤22、根据执行指令访问第二存储模块。在本实施例中,一方面,通过配置多种用于驱动第二存储模块的虚拟指令,并且当出现新类型的第二存储模块时,还可以另外配置与该新类型的第二存储模块对应的虚拟指令,从而提高访问第二存储模块的兼容性;另一方面,由于虚拟指令包括逻辑操作指令及I/O操作指令,可以根据逻辑操作指令及I/O操作指令,访问第二存储模块的I/O接口。与现有技术相比较,其能够构建精简的虚拟指令,在执行同一访问第二存储模块的操作(上升沿读取1字节数据),现有技术需要花费大量指令方可达到目的,然而,通过简短的虚拟指令便可达到目的,从而节约用于存储指令的内存容量,降低生产成本。在一些实施例中,如图3所示,在读取虚拟指令之前,该存储访问方法还包括:步骤23、根据访问存储模块的读时序,构建若干I/O操作指令;步骤24、存储I/O操作指令。可选地,逻辑操作指令至少包括以下一种或两种以上的操作指令:循环指令、跳转指令、判断指令及结束指令。可选地,I/O操作指令至少包括以下一种或两种以上的操作指令:高电平指令、低电平指令、上升沿指令、下降沿指令、高跳转指令、低跳转指令、输出数据指令及读取数据指令。由于存储设备的实施例和存储访问方法实施例是基于同一构思,在内容不互相冲突的前提下,存储设备实施例的内容可以引用方法实施例的,在此不赘述。作为本发明实施例又一方面,本发明实施例提供一种存储访问系统,该存储访问系统包括上述各个实施例的存储设备。在本实施例中,一方面,通过对第一存储模块配置多种用于驱动第二存储模块的虚拟指令,并且当出现新类型的第二存储模块时,还可以另外对第一存储模块配置与该新类型的第二存储模块对应的虚拟指令,从而提高处理模块访问第二存储模块的兼容性;另一方面,由于虚拟指令包括逻辑操作指令及I/O操作指令,处理模块可以根据逻辑操作指令及I/O操作指令,访问第二存储模块的I/O接口。与现有技术相比较,其能够构建精简的虚拟指令,在执行同一访问第二存储模块的操作(上升沿读取1字节数据),现有技术需要花费大量指令方可达到目的,然而,处理模块通过简短的虚拟指令便可达到目的,从而节约用于存储指令的内存容量,降低生产成本。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1