CN111857605A - 一种flash存储装置控制方法、装置、电子设备 - Google Patents
一种flash存储装置控制方法、装置、电子设备 Download PDFInfo
- Publication number
- CN111857605A CN111857605A CN202010770936.8A CN202010770936A CN111857605A CN 111857605 A CN111857605 A CN 111857605A CN 202010770936 A CN202010770936 A CN 202010770936A CN 111857605 A CN111857605 A CN 111857605A
- Authority
- CN
- China
- Prior art keywords
- interface
- data
- mode
- storage device
- command
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明的目的是提供一种FLASH存储装置控制方法,所述方法基于现场可编程逻辑门阵列(FPGA),所述方法包括:根据接收的模式转换指令,将所述存储装置的接口模式转换成对应模式;其中,所述存储装置的接口模式至少包括四串行***接口模式;根据接收的操作接口的第一操作数据,将所述第一操作数据放入对应的操作集合中;根据所述存储装置的接口模式对应的多个预设操作规则,将所述操作集合中的数据识别分类,以用于输出对应的命令数据;其中,所述命令数据为所述存储装置可识别的数据,以减少代码移植困难度,提高存储装置通用性。
Description
技术领域
本发明涉及数据存储领域,尤其涉及一种FLASH存储装置控制方法、装置、电子设备。
背景技术
在现代的航天、军用设备、雷达探测、射频、物联网等领域中需对各类信息进行高速采集,此类场合需要速率高、大容量的存储装置予以配合存储更新。然而,随着市场上存储装置的数量与种类日益增多,代码的不开源性与实现方式的复杂性,导致新建或移植代码较复杂,通用性较差。例如,不同应用领域和业务需求对存储装置功能操作类型选择有所不同。不同版本迭代的情况下,增加存储装置控制指令困难,修改复杂并且易出错等。
发明内容
本说明书实施方式的目的是提供一种FLASH存储装置控制方法、装置、电子设备,基于现场可编程逻辑门阵列,增加所述存储装置的通用性。
为实现上述目的,本说明书实施方式提供一种FLASH存储装置控制方法,所述方法基于现场可编程逻辑门阵列,所述方法包括:根据接收的模式转换指令,将所述存储装置的接口模式转换成对应模式;其中,所述存储装置的接口模式至少包括四串行***接口模式;根据接收的操作接口的第一操作数据,将所述第一操作数据放入对应的操作集合中;根据所述存储装置的接口模式对应的多个预设操作规则,将所述操作集合中的数据识别分类,以用于输出对应的命令数据;其中,所述命令数据为所述存储装置可识别的数据。
在一个实施方式中,根据接收的模式转换指令,将所述存储装置的接口模式转换成对应模式的步骤中还包括:在接收到初始化指令的情况下,将控制参数或模式初始化为默认值;其中,接收到初始化指令的情况至少包括以下之一:上电复位、接收到初始化命令码。
在一个实施方式中,所述操作接口至少包括以下接口之一:对应于接收上位机数据的操作接口、对应于接收内部读取模块数据的操作接口。
在一个实施方式中,所述操作接口还对应有回读接口,所述回读接口用于接收回读数据。
在一个实施方式中,所述操作集合至少包括以下之一:对应于读取序列号操作的操作集合、对应于写使能的操作集合、对应于读寄存器值的操作集合、对应于快速写的操作集合、对应于快速读的操作集合、对应于片擦除的操作集合、对应于块擦除的操作集合。
在一个实施方式中,所述预设操作规则的个数为9个,所述预设操作规则用于操作所述存储装置的接口。
在一个实施方式中,所述存储装置的接口速率为大于等于20MHz且小于等于133MHz。
为实现上述目的,本说明书实施方式还提供一种存储装置控制装置,所述装置基于现场可编程逻辑门阵列,所述装置包括:第一处理单元,所述第一处理单元用于根据接收的模式转换指令,将所述存储装置的接口模式转换成对应模式;其中,所述存储装置的接口模式至少包括四串行***接口模式;第二处理单元,所述第二处理单元用于根据接收的操作接口的第一操作数据,将所述第一操作数据放入对应的操作集合中;第三处理单元,所述第三处理单元用于根据所述存储装置的接口模式对应的多个预设操作规则,将所述操作集合中的数据识别分类,以用于输出对应的命令数据;其中,所述命令数据为所述存储装置可识别的数据。
在一个实施方式中,所述第一处理单元在将所述存储装置的接口模式转换成对应模式时还包括:在接收到初始化指令的情况下,将控制参数或模式初始化为默认值;其中,接收到初始化指令的情况至少包括以下之一:上电复位、接收到初始化命令码。
为实现上述目的,本说明书实施方式还提供一种电子设备,所述电子设备用于基于现场可编程逻辑门阵列对存储装置控制,包括:第一输入设备,第二输入设备,处理器;所述第一输入设备,用于输入模式转换指令;所述第二输入设备,用于输入操作接口的第一操作数据;所述处理器用于根据接收的所述模式转换指令,将所述存储装置的接口模式转换成对应模式;其中,所述存储装置的接口模式至少包括四串行***接口模式;根据接收的操作接口的所述第一操作数据,将所述第一操作数据放入对应的操作集合中;根据所述存储装置的接口模式对应的多个预设操作规则,将所述操作集合中的数据识别分类,以用于输出对应的命令数据;其中,所述命令数据为所述存储装置可识别的数据。
由以上本说明书实施方式提供的技术方案可见,本说明书实施方式通过基于现场可编程逻辑门阵列根据接收的模式转换指令,将所述存储装置的接口模式转换成对应模式;其中,所述存储装置的接口模式至少包括四串行***接口模式;根据接收的操作接口的第一操作数据,将所述第一操作数据放入对应的操作集合中;根据所述存储装置的接口模式对应的多个预设操作规则,将所述操作集合中的数据识别分类,以用于输出对应的命令数据;其中,所述命令数据为所述存储装置可识别的数据。以提高所述存储装置的通用性和所述存储装置接口的高可拓展性。
附图说明
为了更清楚地说明本说明书实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书提供的一种FLASH存储装置控制方法的流程示意图;
图2是本说明书提供的ESPI接口简易时序图;
图3是本说明书提供的QSPI接口简易时序图;
图4是本说明书提供的一个FLASH_interface整体结构框图;
图5是本说明书提供的一个QSPI FLASH模型实测框图;
图6是本说明书提供的一个STR-ESPI模式133MHz初始化于vivado中debug寄存器抓取的接口时序;
图7是本说明书提供的一个STR-DSPI模式133MHz快写操作于vivado中debug寄存器抓取的接口时序;
图8是本说明书提供的一个STR-QSPI模式133MHz快读操作于vivado中debug寄存器抓取的接口时序;
图9是本说明书提供的一种电子设备。
具体实施方式
下面将结合本说明书实施方式中的附图,对本说明书实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本说明书一部分实施方式,而不是全部的实施方式。基于本说明书中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。
请参阅图1。本说明书提供的一种FLASH存储装置控制方法,所述方法基于现场可编程逻辑门阵列,所述方法可以包括以下步骤。
步骤S10:根据接收的模式转换指令,将所述存储装置的接口模式转换成对应模式;其中,所述存储装置的接口模式至少包括四串行***接口模式。
在本实施方式中,所述现场可编程逻辑门阵列FPGA(Field Programmable GateArray)可以是指是在PAL、GAL等可编程器件的基础上进一步发展的产物。本实施方式具体的,用的是基于FPGA的verilog语言
在本实施方式中,所述存储装置可以是FLASH,具体的,可以是QSPI FLASH。
在本实施方式中,所述存储装置可以是指串行***接口存储装置(SerialPeripheral Interface FLASH)。具体的,所述存储装置的接口模式可以分为在扩展接口模式(Extended SPI)简称ESPI模式、双串行***接口模式(Dual SPI)简称DSPI模式、四串行***接口模式(Quad SPI)简称QSPI模式,三种模式。在实际的FLASH控制中,其他模式如XIP、DTR等,也可用于该专利方案中,在此实施例里不做阐述。不同模式的引脚定义、数据线占用率、速率、寄存器配置等略有区别。在每种模式下,可以对所述存储器进行多种操作,如读ID、写使能、读寄存器值、快速写、快速读、片擦除、块擦除等功能操作。QSPI模式的存储装置具有非易失性存储、宽的温度范围、高的速率、低的功耗等诸多特点。请参阅图2为ESPI接口简易时序图。请参阅图3为QSPI接口简易时序图。ESPI、DSPI、QSPI三种模式下,对于接口数据线的利用率是不同的。以发送“command”命令码的过程为例,ESPI只用DQ0一根数据线发送,将DQ1~3三根数据线设为高阻态;DSPI用DQ0~1两根线发送,DQ2~3设为高阻态;QSPI用DQ0~3四根线发送。在总体时序上,在ESPI与QSPI部分时序图中可看出对比。每种模式下都存在各自的model1~model9,根据输入帧识别分类后,按相应的时序输出。
在本实施方式中,模式转换指令可以是接收到的对应模式的数值等。具体的,例如,ESPI、DSPI、QSPI三种模式的转换可以通过model_switch的值来控制。当model_switch为"01"时***进入ESPI模式,当其为"10"时***进入ESPI模式,当其为"11"时***进入QSPI模式,上电后默认为ESPI模式下操作FLASH。当然,在接收到初始化指令的情况下,将控制参数或模式初始化为默认值。具体的,例如,上电复位、接收到初始化命令码。当然,在转换模式后还可以通过发送命令码进一步验证,以确保转换模式成功。例如,想要ESPI模式进入QSPI模式,用户可以在默认的ESPI模式下发送“ENTER QSPI”命令码“0x35”,之后进入QSPI模式后再发送“ENTER QSPI”命令码“0x35”双重确保进入QSPI模式。
步骤S12:根据接收的操作接口的第一操作数据,将所述第一操作数据放入对应的操作集合中。
在本实施方式中,所述第一操作数据可以是接收到的顶层模块或上游模块设计的可独立操作接口的数据。具体的,例如,顶层模块设计了三路可独立操作FLASH的接口,分别用于上位机/信处对FLASH的操作,内部读取table_load模块对FLASH的操作,自校准(也来自上位机/信处,接口模块不同)对FLASH的操作。并且对应设计了三路回读接口,每一路只要下发有命令则会有相应的回读反馈。
在实施方式中,所述操作集合可以是指读ID、写使能、读寄存器值、快速写、快速读、片擦除、块擦除等功能操作对应的数据集合。将所述第一操作数据放入对应的操作集合中,可以是指将所述第一操作数据进行分类,以放入对应集合。具体的,例如,在FLASHhandle模块中,分别对应操作集合设置有对应的模块,其在检测到操作帧命令码后,会进行操作对应的帧发送。例如,向FLASH_interface模块发送相应的操作码与数据之后,还会发送一帧读状态寄存器命名给FLASH_interface模块以检测寄存器后两位的值,判断写入操作是否成功。
步骤S14:根据所述存储装置的接口模式对应的多个预设操作规则,将所述操作集合中的数据识别分类,以用于输出对应的命令数据;其中,所述命令数据为所述存储装置可识别的数据。
在本实施方式中,所述预设操作规则可以是指将所述操作集合中的数据识别分类,以用于输出对应的命令数据;其中,所述命令数据为所述存储装置可识别的数据。具体的,所述预设操作规则对应的操作可归为以下几类:
Model1:command(1B)
Model2:command(1B)+SendData(1B)
Model3:command(1B)+SendData(2B)
Model4:command(1B)+ReturnData(1B)
Model5:command(1B)+ReturnData(2B)
Model6:command(1B)+ReturnData(3B)
Model7:command(1B)+Address(3B)
Model8:command(1B)+Address(3B)+SendData(256B)
Model9:command(1B)+Address(3B)+ReturnData(256B)
请参阅外部输入帧命令逻辑表1和表2,在一个场景示例中,此处外部输入与输出,以8bit并行数据传输,地址位为24bit为例。根据QSPI FLASH对命令码发送数据与接收数据的定义,在外部输入时,每帧囊括了所有单次操作所需要的命令码+地址+数据。
表1无回读时序FLASH操作码输入示例
表2回读时序FLASH操作码输入示例
2-a发送帧格式
2-b返回帧格式
Byte 1 | Byte 2 | ….. | Byte n |
命令类型 | Data 0 | ….. | Data n |
0x6b/05… | 0x** | ….. | 0x** |
在本实施方式中,根据所述存储装置的接口模式对应的多个预设操作规则,将所述操作集合中的数据识别分类,以用于输出对应的命令数据的模块可以是FLASH_interface。请参阅图4,FLASH_interface整体结构框图。外部输入8bit并行数据命令码(有些操作携带地址与数据),经获取分类后,定位至某一模块(预设操作规则),进行后续操作。在一个具体实施例中,以QSPI FLASH接口时序要求把数据转换为单比特输送到QSPI FLASH接口引脚处。若有数据回读,模块相应的设置了等待时间,在指定时间内QSPI FLASH接口把数据回传给该模块,模块内接受后转换为8bit并行数据,最终以FLASH命名码和回传数据输出。
本实施方式提出的基于FPGA控制存储装置的通用性、高可拓展性接口设计模型,可有效减少代码移植困难度、增加存储装置控制码指令只需在对应的模式与其相应model中增加参数即可,无需进行代码修改。所有模型齐全的情况下,根据开发功能需求选取所需功能模块进行“堆积木”式开发,大大缩短开发周期,提高后期可维护性与可拓展性。在FLASH高频下可正常工作,且对代码进行综合与布局布线过后,与现阶段常用的“命令码状态机跳转”控制模型相比,资源利用率更优。
请参阅图5。在一个场景示例中,在Xilinx xc7a50tcpg236 FPGA上进行实测,控制的QSPI FLASH型号为MT25QL128AB,Dummy Clock Cycles默认值(快读ESPI模式为8,QSPI模式为10),STR(Singles transfer rate)下QSPI速率设置为20~133MHz。所述FLASH同时拥有ESPI、DSPI、QSPI三种模式,此次测试需求为在ESPI模式下对FLASH进行初始化,并进入QSPI模式进行接口操作。初始化需要在默认的ESPI模式下发送“ENTER QSPI”命令码“0x35”,之后进入QSPI模式后再发送“ENTER QSPI”命令码“0x35”双重确保进入QSPI模式。所以“搭积木”式的选取了整体模型里的ESPI模式下的model1,用于初始化时发送“ENTERQSPI”命令码。再选取整体模型里所有QSPI的model,用于QSPI模式下接口的操作。顶层模块设计了三路可独立操作FLASH的接口,分别用于上位机/信处对FLASH的操作,内部读取table_load模块对FLASH的操作,自校准(也来自上位机/信处,接口模块不同)对FLASH的操作。并且对应设计了三路回读接口,每一路只要下发有命令则会有相应的回读反馈。FLASH上电或复位之后,默认处于ESPI模式,initial模块对FLASH进行初始化,使得FLASH进入QSPI模式。在QSPI FLASH handle模块中,分别设置了片擦除、块擦除、快速写、快速读、读ID五类操作模块。这五类操作模块在检测到FLASH操作帧命令码后,会进行操作对应的帧发送。片擦除、块擦除、快写操作命令发送之前,会发送一帧写使能命令给FLASH_interface模块,发送相应的操作码与数据之后,还会发送一帧读状态寄存器命名给FLASH_interface模块以检测寄存器后两位的值,判断写入操作是否成功。当FLASH接口速率设置为133MHz时,对接口传输数据结果用vivado中debug寄存器抓取。快写入首地址位为“24’h080000”的256B数据,紧接着相同地址进行读取,接口传输数据抓取结果为见图5至图7。测试显示该模型实现方式可稳定工作在20~133MHz频率下,且综合后较“命令码状态机跳转”模型走线更规整,面积更小,资源利用率更优。
在一个实施方式中,根据接收的模式转换指令,将所述存储装置的接口模式转换成对应模式的步骤中还包括:在接收到初始化指令的情况下,将控制参数或模式初始化为默认值;其中,接收到初始化指令的情况至少包括以下之一:上电复位、接收到初始化命令码。
在本实施方式中,可以包括初始化模块,初始化模块用于接收初始化指令。具体的,例如,上电时,所述初始化模块将控制参数或模式初始化为默认值。或,手动复位时,所述初始化模块将控制参数或模式初始化为默认值。或,所述初始化模块在接收到初始化命令码,如“0”时,将控制参数或模式初始化为默认值。将控制参数或模式初始化为默认值可以提高***稳定性,提高通用性。
在一个实施方式中,所述操作接口至少可以包括以下接口之一:对应于接收上位机数据的操作接口、对应于接收内部读取模块数据的操作接口。
在本实施方式中,对应于接收上位机数据的操作接口可以用于上位机/信处对FLASH的操作。其中,还可以包括自校准接口,用于对FLASH的操作。对应于接收内部读取模块数据的操作接口可以是内部读取table_load模块,用于对FLASH内部读取的操作。
在本实施方式中,所述操作接口可以是顶层模块或上游模块设计的可独立操作接口。
在一个实施方式中,所述操作接口还对应有回读接口,所述回读接口用于接收回读数据。
在本实施方式中,所述回读接口用于接收回读数据,以接收反馈信息。具体的,例如,判断写入操作是否成功等。
在一个实施方式中,所述操作集合至少包括以下之一:对应于读取序列号操作的操作集合、对应于写使能的操作集合、对应于读寄存器值的操作集合、对应于快速写的操作集合、对应于快速读的操作集合、对应于片擦除的操作集合、对应于块擦除的操作集合。
在本实施方式中,对应于读取序列号操作的操作集合可以是读ID的操作集合。
在一个实施方式中,所述预设操作规则的个数为9个,所述预设操作规则用于操作所述存储装置的接口。
具体的,9个所述预设操作规则对应的操作如下所示:
Model1:command(1B)
Model2:command(1B)+SendData(1B)
Model3:command(1B)+SendData(2B)
Model4:command(1B)+ReturnData(1B)
Model5:command(1B)+ReturnData(2B)
Model6:command(1B)+ReturnData(3B)
Model7:command(1B)+Address(3B)
Model8:command(1B)+Address(3B)+SendData(256B)
Model9:command(1B)+Address(3B)+ReturnData(256B)
本实施方式中,将不同功能对应的所述操作集合中的数据识别分类,通过9个所述预设操作规则进一步处理数据,以用于输出对应的命令数据;所述命令数据为所述存储装置可识别的数据。无需进行代码修改,可有效减少代码移植困难度。在不同项目中,对开发功能需求,针对性的选取所需设计里面的功能模块进行“堆积木”式开发,大大缩短开发周期。
在一个实施方式中,所述存储装置的接口速率为大于等于20MHz且小于等于133MHz。
在本实施方式中,测试显示该模型实现方式可稳定工作在20~133MHz频率下,且综合后较“命令码状态机跳转”模型走线更规整,面积更小,资源利用率更优。在一个场景示例中,当FLASH接口速率设置为133MHz时,对接口传输数据结果用vivado中debug寄存器抓取。快写入首地址位为“24’h080000”的256B数据,紧接着相同地址进行读取,接口传输数据抓取结果为见图6至图8。
本说明书还提供了一种存储装置控制装置,所述装置基于现场可编程逻辑门阵列,所述装置包括:第一处理单元,所述第一处理单元用于根据接收的模式转换指令,将所述存储装置的接口模式转换成对应模式;其中,所述存储装置的接口模式至少包括四串行***接口模式;第二处理单元,所述第二处理单元用于根据接收的操作接口的第一操作数据,将所述第一操作数据放入对应的操作集合中;第三处理单元,所述第三处理单元用于根据所述存储装置的接口模式对应的多个预设操作规则,将所述操作集合中的数据识别分类,以用于输出对应的命令数据;其中,所述命令数据为所述存储装置可识别的数据。
本实施方式中的相关术语可以参见前述实施方式对照解释,在此不再赘述。
请参阅图9,本说明书还提供了一种电子设备,所述电子设备用于基于FPGA对存储装置控制,包括:第一输入设备,第二输入设备,处理器;所述第一输入设备,用于输入模式转换指令;所述第二输入设备,用于输入操作接口的第一操作数据;所述处理器用于根据接收的所述模式转换指令,将所述存储装置的接口模式转换成对应模式;其中,所述存储装置的接口模式至少包括四串行***接口模式;根据接收的操作接口的所述第一操作数据,将所述第一操作数据放入对应的操作集合中;根据所述存储装置的接口模式对应的多个预设操作规则,将所述操作集合中的数据识别分类,以用于输出对应的命令数据;其中,所述命令数据为所述存储装置可识别的数据。
所述输入设备设备是用户和计算机***之间进行信息交换的主要装置之一。所述输入设备包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把数据输入到计算机中。
所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。
在本实施方式中,该电子设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
尽管本申请内容中提到一种FLASH存储装置控制方法、装置、电子设备,但是,本申请并不局限于必须是行业标准或实施例所描述的情况等,某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、处理、输出、判断方式等的实施例,仍然可以属于本申请的可选实施方案范围之内。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
上述实施例阐明的装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储装置在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请。
Claims (10)
1.一种FLASH存储装置控制方法,所述方法基于现场可编程逻辑门阵列(FPGA),其特征在于,所述方法包括:
根据接收的模式转换指令,将所述存储装置的接口模式转换成对应模式;其中,所述存储装置的接口模式至少包括四串行***接口模式;
根据接收的操作接口的第一操作数据,将所述第一操作数据放入对应的操作集合中;
根据所述存储装置的接口模式对应的多个预设操作规则,将所述操作集合中的数据识别分类,以用于输出对应的命令数据;其中,所述命令数据为所述存储装置可识别的数据。
2.如权利要求1所述方法,其特征在于,根据接收的模式转换指令,将所述存储装置的接口模式转换成对应模式的步骤中还包括:
在接收到初始化指令的情况下,将控制参数或模式初始化为默认值;其中,接收到初始化指令的情况至少包括以下之一:上电复位、接收到初始化命令码。
3.如权利要求1所述方法,其特征在于,所述操作接口至少包括以下接口之一:对应于接收上位机数据的操作接口、对应于接收内部读取模块数据的操作接口。
4.如权利要求1所述方法,其特征在于,所述操作接口还对应有回读接口,所述回读接口用于接收回读数据。
5.如权利要求1所述方法,其特征在于,所述操作集合至少包括以下之一:
对应于读取序列号操作的操作集合、对应于写使能的操作集合、对应于读寄存器值的操作集合、对应于快速写的操作集合、对应于快速读的操作集合、对应于片擦除的操作集合、对应于块擦除的操作集合。
6.如权利要求1所述方法,其特征在于,所述预设操作规则的个数为9个,所述预设操作规则用于操作所述存储装置的接口。
7.如权利要求1所述方法,其特征在于,所述存储装置的接口速率为大于等于20MHz且小于等于133MHz。
8.一种存储装置控制装置,所述装置基于现场可编程逻辑门阵列,其特征在于,所述装置包括:
第一处理单元,所述第一处理单元用于根据接收的模式转换指令,将所述存储装置的接口模式转换成对应模式;其中,所述存储装置的接口模式至少包括四串行***接口模式;
第二处理单元,所述第二处理单元用于根据接收的操作接口的第一操作数据,将所述第一操作数据放入对应的操作集合中;
第三处理单元,所述第三处理单元用于根据所述存储装置的接口模式对应的多个预设操作规则,将所述操作集合中的数据识别分类,以用于输出对应的命令数据;其中,所述命令数据为所述存储装置可识别的数据。
9.如权利要求8所述装置,其特征在于,所述第一处理单元在将所述存储装置的接口模式转换成对应模式时还包括:
在接收到初始化指令的情况下,将控制参数或模式初始化为默认值;其中,接收到初始化指令的情况至少包括以下之一:上电复位、接收到初始化命令码。
10.一种电子设备,所述电子设备用于基于现场可编程逻辑门阵列对存储装置控制,其特征在于,包括:第一输入设备,第二输入设备,处理器;
所述第一输入设备,用于输入模式转换指令;
所述第二输入设备,用于输入操作接口的第一操作数据;
所述处理器用于根据接收的所述模式转换指令,将所述存储装置的接口模式转换成对应模式;其中,所述存储装置的接口模式至少包括四串行***接口模式;根据接收的操作接口的所述第一操作数据,将所述第一操作数据放入对应的操作集合中;根据所述存储装置的接口模式对应的多个预设操作规则,将所述操作集合中的数据识别分类,以用于输出对应的命令数据;其中,所述命令数据为所述存储装置可识别的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010770936.8A CN111857605A (zh) | 2020-08-04 | 2020-08-04 | 一种flash存储装置控制方法、装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010770936.8A CN111857605A (zh) | 2020-08-04 | 2020-08-04 | 一种flash存储装置控制方法、装置、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111857605A true CN111857605A (zh) | 2020-10-30 |
Family
ID=72953055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010770936.8A Pending CN111857605A (zh) | 2020-08-04 | 2020-08-04 | 一种flash存储装置控制方法、装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111857605A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080195641A1 (en) * | 1997-07-30 | 2008-08-14 | Steven Tischer | Apparatus and method for aggregating and accessing data according to user information |
CN102279820A (zh) * | 2011-08-24 | 2011-12-14 | 四川和芯微电子股份有限公司 | 基于spi接口的数据存储装置及控制方法 |
CN102567253A (zh) * | 2010-12-13 | 2012-07-11 | 深圳市硅格半导体有限公司 | 基于dma的spi数据传输方法及装置 |
CN105224239A (zh) * | 2014-05-30 | 2016-01-06 | 北京兆易创新科技股份有限公司 | 一种flash存储器和存储*** |
CN107077304A (zh) * | 2016-09-18 | 2017-08-18 | 深圳市大疆创新科技有限公司 | 数据转换设备、芯片、方法、装置及影像*** |
CN109165177A (zh) * | 2018-09-21 | 2019-01-08 | 郑州云海信息技术有限公司 | 一种pcie接口的通信方法及相关装置 |
CN109634620A (zh) * | 2018-11-30 | 2019-04-16 | 英业达科技有限公司 | 一种兼容型板上固件烧录装置 |
CN111143250A (zh) * | 2019-12-20 | 2020-05-12 | 苏州浪潮智能科技有限公司 | 一种基于axi-st接口访问fpga存储单元的方法、设备及介质 |
-
2020
- 2020-08-04 CN CN202010770936.8A patent/CN111857605A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080195641A1 (en) * | 1997-07-30 | 2008-08-14 | Steven Tischer | Apparatus and method for aggregating and accessing data according to user information |
CN102567253A (zh) * | 2010-12-13 | 2012-07-11 | 深圳市硅格半导体有限公司 | 基于dma的spi数据传输方法及装置 |
CN102279820A (zh) * | 2011-08-24 | 2011-12-14 | 四川和芯微电子股份有限公司 | 基于spi接口的数据存储装置及控制方法 |
CN105224239A (zh) * | 2014-05-30 | 2016-01-06 | 北京兆易创新科技股份有限公司 | 一种flash存储器和存储*** |
CN107077304A (zh) * | 2016-09-18 | 2017-08-18 | 深圳市大疆创新科技有限公司 | 数据转换设备、芯片、方法、装置及影像*** |
CN109165177A (zh) * | 2018-09-21 | 2019-01-08 | 郑州云海信息技术有限公司 | 一种pcie接口的通信方法及相关装置 |
CN109634620A (zh) * | 2018-11-30 | 2019-04-16 | 英业达科技有限公司 | 一种兼容型板上固件烧录装置 |
CN111143250A (zh) * | 2019-12-20 | 2020-05-12 | 苏州浪潮智能科技有限公司 | 一种基于axi-st接口访问fpga存储单元的方法、设备及介质 |
Non-Patent Citations (1)
Title |
---|
PQ113_6: "FT4222H学习笔记5 - SPI Master", 《HTTPS://BLOG.CSDN.NET/PQ113_6/ARTICLE/DETAILS/100081434》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100954B (zh) | 验证芯片的方法、装置和计算机存储介质 | |
US9886017B2 (en) | Counter operation in a state machine lattice | |
CN107907814B (zh) | 一种提高芯片量产测试效率的方法 | |
US6212625B1 (en) | General purpose dynamically programmable state engine for executing finite state machines | |
JP5065113B2 (ja) | 等価性検証方法、等価性検証プログラム及び等価性検証プログラムの生成方法 | |
CN112818621B (zh) | 用于预测软ip部件的性能、功率和面积表现的***和方法 | |
CN106093897A (zh) | 一种雷达***的测试***及测试方法 | |
GB2554942A (en) | Verifying firmware binary images using a hardware design and formal assertions | |
US20170277613A1 (en) | Multiple mode testing in a vector memory restricted test environment | |
US10929584B1 (en) | Environmental modification testing for design correctness with formal verification | |
CN111857605A (zh) | 一种flash存储装置控制方法、装置、电子设备 | |
US5774380A (en) | State capture/reuse for verilog simulation of high gate count ASIC | |
US10884772B1 (en) | Method and system for emulating an image processing system | |
CN115827568B (zh) | 获取逻辑***设计的数据的方法、电子设备和存储介质 | |
CN103440391A (zh) | 一种基于数值选择函数的半导体工艺角扫描仿真方法 | |
Khalifa | Extendable generic base verification architecture for flash memory controllers based on UVM | |
US7962796B2 (en) | State testing device and methods thereof | |
US7409620B2 (en) | Simplified high speed test system | |
US20080300845A1 (en) | Monitoring software simulations of hardware systems | |
US20060161422A1 (en) | Virtual emulation modules, virtual development systems and methods for system-on-chip development | |
CN113377593A (zh) | Cpu失效位置的定位分析方法及相关产品 | |
JP6473023B2 (ja) | 性能評価モジュール及びこれを組み込んだ半導体集積回路 | |
CN106405373B (zh) | 一种主动式测试向量匹配方法 | |
Gadde et al. | Effective Design Verification--Constrained Random with Python and Cocotb | |
TWI722627B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201030 |
|
RJ01 | Rejection of invention patent application after publication |