CN110209352B - 一种存储器的控制方法、存储器控制器、电子设备及存储介质 - Google Patents
一种存储器的控制方法、存储器控制器、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110209352B CN110209352B CN201910399956.6A CN201910399956A CN110209352B CN 110209352 B CN110209352 B CN 110209352B CN 201910399956 A CN201910399956 A CN 201910399956A CN 110209352 B CN110209352 B CN 110209352B
- Authority
- CN
- China
- Prior art keywords
- memory
- sequence code
- target
- instruction
- instruction information
- 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
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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种存储器的控制方法、存储器控制器、电子设备及存储介质,所述控制方法包括:获取指令信息;根据所述指令信息确定目标存储器;根据所述指令信息和指令序列码集获取目标序列码,所述指令序列码集包括若干指令序列码;根据所述目标存储器和所述目标序列码完成操作。本发明实施例通过预先建立好的指令序列码集直接根据指令信息获取目标序列码,可以实现根据指令信息直接调取目标序列码,进而避免了Flash控制器频繁生成指令序列码的程序,从而提高了Flash控制器的利用效率,减少了访问NAND Flash存储器的时间和提高了访问NAND Flash存储器的速度。
Description
技术领域
本发明属于数据传输技术领域,具体涉及一种存储器的控制方法、存储器控制器、电子设备及存储介质。
背景技术
在电子产品的开发过程中,需要使用掉电仍能保存数据的存储器来保存一些参数或重要数据,比如故障码、自学习值等。Flash存储器就是一种可快速地擦除和写入的存储器,具有掉电保护功能、存储量大、并且可多次擦写等特点。现在一般的单片机内部都有Flash区域,用于存储特定数据。
NAND Flash存储器作为常见的Flash存储器,存储设备具有容量大,改写速度快、数据不易丢失等优点,适用于大规模数据的存储,在业界得到了越来越广泛的应用。在一个系统中,对NAND Flash存储器进行读写时,需要一个Flash控制器,把系统的读写转换为NAND颗粒定义的接口下的读写。
但是,由于目前Flash控制器的利用效率较低,因此影响了NAND Flash存储器的读写操作速率。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种存储器的控制方法、存储器控制器、电子设备及存储介质。本发明要解决的技术问题通过以下技术方案实现:
一种存储器的控制方法,包括:
获取指令信息;
根据所述指令信息确定目标存储器;
根据所述指令信息和指令序列码集获取目标序列码,所述指令序列码集包括若干指令序列码;
根据所述目标存储器和所述目标序列码完成操作。
在本发明的一个实施例中,根据所述指令信息确定目标存储器,包括:
根据所述指令信息确定所述指令信息的类型,所述指令信息的类型包括读操作和写操作;
根据所述指令信息的类型确定所述目标存储器。
在本发明的一个实施例中,根据所述指令信息的类型确定所述目标存储器,包括:
当所述指令信息的类型为读操作信息时,则根据所述读操作信息获取所述目标存储器,若为写操作信息,则根据所述写操作信息获取所述目标存储器。
在本发明的一个实施例中,根据所述读操作信息获取所述目标存储器,包括:
根据所述读操作信息从存储器管理库中获取所述目标存储器。
在本发明的一个实施例中,根据所述写操作信息获取所述目标存储器,包括:
根据写操作信息按照设定顺序得到存储器管理库中所记录的存储器状态;
根据所述存储器状态获取所述目标存储器。
在本发明的一个实施例中,根据指令信息和指令序列码集获取目标序列码,包括:
建立指令序列码集,所述指令序列码集包括若干指令序列码;
根据所述指令信息从所述若干指令序列码获取目标序列码。
在本发明的一个实施例中,根据所述目标存储器和所述目标序列码完成操作,包括:
根据所述目标序列码从所述目标存储器中读取数据或命令,或者根据所述目标序列码向所述目标存储器中写入数据或命令。
本发明一个实施例还提供一种存储器控制器,包括:
获取模块,用于获取指令信息;
确定模块,用于根据所述指令信息确定目标存储器;
目标序列码产生模块,用于根据所述指令信息和指令序列码集获取目标序列码;
执行模块,用于根据所述目标存储器和所述目标序列码完成操作。
本发明一个实施例还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时,实现上述任一所述的方法步骤。
本发明一个实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求上述任一所述的方法步骤。
本发明的有益效果:
本发明实施例通过预先建立好的指令序列码集直接根据指令信息获取目标序列码,可以实现根据指令信息直接调取目标序列码,进而避免了Flash控制器频繁生成指令序列码的程序,从而提高了Flash控制器的利用效率,减少了访问NAND Flash存储器的时间和提高了访问NAND Flash存储器的速度。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1为本发明实施例提供的一种存储器的控制方法的流程示意图;
图2为本发明实施例提供的一种复位操作的时序图;
图3为本发明实施例提供的一种擦除操作的时序图;
图4为本发明实施例提供的一种写命令和地址操作的时序图;
图5为本发明实施例提供的一种写数据操作的时序图;
图6为本发明实施例提供的一种读命令和地址操作的时序图;
图7为本发明实施例提供的一种读数据操作的时序图;
图8为本发明实施例提供的一种确定目标存储器的方法的流程示意图;
图9为本发明实施例提供的一种获取目标序列码的方法的流程示意图;
图10为本发明实施例提供的一种存储器控制器的结构示意图;
图11为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
请参见图1,图1为本发明实施例提供的一种存储器的控制方法的流程示意图。本发明实施例提供一种存储器的控制方法,该控制方法包括:
步骤1、获取指令信息;
步骤2、根据指令信息确定目标存储器;
步骤3、根据指令信息和指令序列码集获取目标序列码;
步骤4、根据所述目标存储器和所述目标序列码完成操作。
目前,Flash控制器与NAND Flash存储器相互通信,Flash控制器可以读取NANDFlash存储器中的信息,也可以将数据写入到NAND Flash存储器中,并结合其他硬件完成数据处理过程。本实施例所处理的数据例如可以包括文本数据、视频数据、图像数据及音频数据等,这些数据可以是二进制数据,本实施例对此不作限制。
Flash控制器在接收到指令时,例如该指令为写数据指令,之后便需要根据所需要写入的NAND Flash存储器实时的生成对应的指令序列码,Flash控制器根据所生成的指令序列码完成对NAND Flash存储器写数据操作,而这个过程,NAND Flash控制器由于需要根据所接收到的指令实时生成对应的指令序列码,因此当所接收的指令较多时,Flash控制器需要频繁的进行上述操作,这将会大大增加访问NAND Flash存储器的时间,降低Flash控制器的利用效率,进而降低了NAND Flash存储器的访问速度。
针对上述问题,本实施例提供了一种NAND Flash存储器的控制方法。在实际访问NAND Flash存储器时,访问NAND Flash存储器的操作类型很多,比如复位、读、写和擦除等,而每种操作对应的指令序列码均不同,因此对于同一个NAND Flash存储器的不同操作对应不同的指令序列码,用于完成对应的操作,而对于市场上通用的NAND Flash存储器,其时序接口基本相同,因此,对于相同的操作而言,不同的NAND Flash存储器对应的指令序列码相同,因此本实施例通过同一Flash控制器同时连接若干NAND Flash存储器,这些NAND Flash存储器的每种操作所对应的指令序列码均相同,本实施例首先在Flash控制器中建立指令序列码集,该指令序列码集包括若干指令序列码,而每种操作可以对应多条指令序列码,当Flash控制器接收到指令信息时,首先根据指令信息确定其对应的NAND Flash存储器(即目标存储器),之后根据该指令信息所对应的操作直接从指令序列码集选取执行该操作所对应的多条指令序列码(即目标序列码),Flash控制器会根据其所进行的操作按照顺序将多条指令序列码取出,以完成对目标存储器的操作。
本实施例利用一个Flash控制器与多个NAND Flash存储器建立通信关系,并通过预先建立好的指令序列码集直接根据指令信息获取目标序列码,实现了直接根据指令信息直接调取目标序列码的方式,进而避免了Flash控制器频繁生成指令序列码的过程,从而提高了Flash控制器的利用效率,减少了访问NAND Flash存储器的时间和提高了访问NANDFlash存储器的速度。
为了更好的说明本实施例的指令序列码,本实施例具体列举了复位操作、擦除操作、写命令和地址操作、写数据操作、读命令和地址操作、读数据操作。请参见表1,表1提供了一种指令序列码的所对应的定义及作用。
表1指令序列码定义
请参见表2和图2,根据图2所提供的复位操作的时序图,可以得出进行复位操作需要三条指令序列码完成,其中表2中的指令数0对应第一条指令序列码,指令数1对应第二条指令序列码,指令数2对应第三条指令序列码,根据这三条指令序列码所要完成的内容包括:第一步、使能命令锁存信号,禁止地址锁存信号,选中片选,IO线上设置复位指令0xFF;第二步、第一步中的其它信号保持不变,将写使能(We)设置成上升沿,这样就可将复位命令(0xFF)发送给NAND Flash存储器的接口,从而实现复位操作;第三步:禁止掉片选和命令锁存信号,将LSI设置为有效,其表示该指令是该任务包的最后一条指令,将NAND Flash存储器的总线复位至IDLE状态。
表2复位操作的指令序列码
指令数 | DQO | DSD | RPC | ODT | NCE | DSO | DOE | DHL | RHL | CLE | ALE | WEB | LSI |
0 | FFh | 00 | 010 | 0 | 0 | 1 | 1 | 11 | 11 | 1 | 0 | 0 | 0 |
1 | FFh | 00 | 001 | 0 | 0 | 1 | 1 | 11 | 11 | 1 | 0 | 1 | 0 |
2 | FFh | 00 | 110 | 0 | 1 | 1 | 1 | 11 | 11 | 0 | 0 | 1 | 1 |
请参见表3和图3,根据图3所提供的擦除操作的时序图,可以得出进行擦除操作需要十五条指令序列码完成,其中表3中的指令数0对应第一条指令序列码,指令数1对应第二条指令序列码,指令数2对应第三条指令序列码,依次类推,根据表3中的十五条指令序列码所要完成的内容包括:第一步、使能命令锁存信号,禁止地址锁存信号,选中片选,IO线上设置60H命令;第二步、触发We上升沿,将60H命令发送给NAND Flash存储器;第三步、使能地址锁存信号,禁止命令锁存信号,选中片选,IO线上设置操作的地址;第四步、触发We上升沿,将第一个地址发送给NAND Flash存储器,重复第三步和第四步,直至三次地址发送完成;第五步、使能命令锁存信号,禁止地址锁存信号,选中片选,IO线上设置D1H命令;第六步、触发We上升沿,将D1H命令发送给NAND Flash存储器;第七步、设置总线至空闲状态;第八步、使能命令锁存信号,禁止地址锁存信号,选中片选,IO线上设置60H命令;第九步、触发We上升沿,将60H命令发送给NAND Flash存储器;第十步、使能地址锁存信号,禁止命令锁存信号,选中片选,IO线上设置操作的地址;第十一步、触发We上升沿,将第一个列地址发送给NANDFlash存储器,重复第十步和第十一步,直至三次地址发送完成;第十二步、使能命令锁存信号,禁止地址锁存信号,选中片选,IO线上设置D0H命令;第十三步:触发We上升沿,将D1H命令发送给NAND Flash存储器;第十四步、设置总线至空闲状态;第十五步、结束这次任务。
表3复位操作的指令序列码
请参见表4和图4,根据图4所提供的写命令和地址操作的时序图,可以得出进行写命令和地址操作需要六条指令序列码完成,其中表4中的指令数0对应第一条指令序列码,指令数1对应第二条指令序列码,指令数2对应第三条指令序列码,依次类推,根据表4中的六条指令序列码所要完成的内容包括:第一步、使能命令锁存信号,禁止地址锁存信号,选中片选,IO线上设置80H命令;第二步、触发We上升沿,将80H命令发送给NAND Flash存储器;第三步、使能地址锁存信号,禁止命令锁存信号,选中片选,IO线上设置操作的地址;第四步、触发We上升沿,将第一个地址发送给NAND Flash存储器,重复第三步和第四步,直至5次地址发送完成;第五步、设置总线至空闲状态;第六步、结束这次任务。
表4写命令和地址操作的指令序列码
指令数 | DQO | DSD | RPC | ODT | NCE | DSO | DOE | DHL | RHL | CLE | ALE | WEB | LSI |
0 | 80h | 00 | 101 | 0 | 0 | 1 | 1 | 11 | 11 | 1 | 0 | 0 | 0 |
1 | 80h | 00 | 010 | 0 | 0 | 1 | 1 | 11 | 11 | 1 | 0 | 1 | 0 |
2 | FFh | 01 | 010 | 0 | 0 | 1 | 1 | 11 | 11 | 0 | 1 | 0 | 0 |
3 | FFh | 01 | 010 | 0 | 0 | 1 | 1 | 11 | 11 | 0 | 1 | 1 | 0 |
4 | FFh | 01 | 010 | 0 | 0 | 1 | 1 | 11 | 11 | 0 | 1 | 0 | 0 |
5 | FFh | 01 | 010 | 0 | 0 | 1 | 1 | 11 | 11 | 0 | 1 | 1 | 0 |
请参见表5和图5,根据图5所提供的写数据操作的时序图,可以得出进行写数据操作需要九条指令序列码完成,其中表5中的指令数0对应第一条指令序列码,指令数1对应第二条指令序列码,指令数2对应第三条指令序列码,依次类推,根据表5中的九条指令序列码所要完成的内容包括:第一步、选中片选;第二步:打一拍时钟;第三步、发送所需的数据给NAND Flash存储器,直至数据传输完成;第四步、打一拍时钟;第五步、使能命令所存信号,禁止DQS;第六步、使能命令锁存信号,禁止地址锁存信号,选中片选,IO线上设置10H命令;第七步、触发We上升沿,将10H命令发送给NAND Flash存储器;第八步、设置总线至空闲状态;第九步、结束这次任务。
表5写数据操作的指令序列码
指令数 | DQO | DSD | RPC | ODT | NCE | DSO | DOE | DHL | RHL | CLE | ALE | WEB | LSI |
0 | FFh | 00 | 101 | 0 | 0 | 1 | 1 | 11 | 11 | 0 | 0 | 1 | 0 |
1 | FFh | 00 | 100 | 0 | 0 | 1 | 1 | 00 | 11 | 0 | 0 | 1 | 0 |
2 | FFh | 11 | 000 | 0 | 0 | 1 | 1 | 10 | 11 | 0 | 0 | 1 | 0 |
3 | FFh | 00 | 010 | 0 | 0 | 1 | 1 | 00 | 11 | 0 | 0 | 1 | 0 |
4 | FFh | 00 | 000 | 0 | 0 | 1 | 1 | 00 | 11 | 1 | 0 | 1 | 0 |
5 | 10h | 00 | 010 | 0 | 0 | 1 | 1 | 11 | 11 | 1 | 0 | 0 | 0 |
6 | 10h | 00 | 010 | 0 | 0 | 1 | 1 | 11 | 11 | 1 | 0 | 1 | 0 |
7 | FFh | 00 | 001 | 0 | 0 | 1 | 1 | 11 | 11 | 0 | 0 | 1 | 0 |
8 | FFh | 00 | 110 | 0 | 1 | 1 | 1 | 11 | 11 | 0 | 0 | 1 | 1 |
请参见表6和图6,根据图6所提供的读命令和地址操作的时序图,可以得出进行读命令和地址操作需要八条指令序列码完成,其中表6中的指令数0对应第一条指令序列码,指令数1对应第二条指令序列码,指令数2对应第三条指令序列码,依次类推,根据表6中的八条指令序列码所要完成的内容包括:第一步:使能命令锁存信号,禁止地址锁存信号,选中片选,IO线上设置00H命令;第二步、触发We上升沿,将00H命令发送给NAND Flash存储器;第三步、使能地址锁存信号,禁止命令锁存信号,选中片选,IO线上设置操作的地址;第四步、触发We上升沿,将第一个地址发送给NAND Flash存储器,重复第三步和第四步,直至5次地址发送完成;第五步、使能命令锁存信号,禁止地址锁存信号,选中片选,IO线上设置30H命令;第六步、触发We上升沿,将30H命令发送给NAND Flash存储器;第七步、设置总线至空闲状态;第八步:结束这次任务。
表6读命令和地址操作的指令序列码
指令数 | DQO | DSD | RPC | ODT | NCE | DSO | DOE | DHL | RHL | CLE | ALE | WEB | LSI |
0 | 00h | 00 | 101 | 0 | 0 | 1 | 1 | 11 | 11 | 1 | 0 | 0 | 0 |
1 | 00h | 00 | 010 | 0 | 0 | 1 | 1 | 11 | 11 | 1 | 0 | 1 | 0 |
2 | FFh | 01 | 010 | 0 | 0 | 1 | 1 | 11 | 11 | 0 | 1 | 0 | 0 |
3 | FFh | 01 | 010 | 0 | 0 | 1 | 1 | 11 | 11 | 0 | 1 | 1 | 0 |
4 | 30h | 00 | 010 | 0 | 0 | 1 | 1 | 11 | 11 | 1 | 0 | 0 | 0 |
5 | 30h | 00 | 010 | 0 | 0 | 1 | 1 | 11 | 11 | 1 | 0 | 1 | 0 |
6 | FFh | 00 | 001 | 0 | 0 | 1 | 1 | 11 | 11 | 0 | 0 | 1 | 0 |
7 | FFh | 00 | 110 | 0 | 1 | 1 | 1 | 11 | 11 | 0 | 0 | 1 | 1 |
请参见表7和图7,根据图7所提供的读数据操作的时序图,可以得出进行读数据操作需要九条指令序列码完成,其中表7中的指令数0对应第一条指令序列码,指令数1对应第二条指令序列码,指令数2对应第三条指令序列码,依次类推,根据表7中的九条指令序列码所要完成的内容包括:第一步、使能命令锁存信号,禁止地址锁存信号,选中片选,IO线上设置00H命令;第二步、触发We上升沿,将00H命令发送给NAND Flash存储器;第三步、打一拍时钟;第四步、使能读使能和DQS信号;第五步、启动数据传世直至数据传输完成;第六步、禁止读使能和DQS信号;第七步、多打一拍时钟;第八步、禁止片选信号,第九步、设置总线至空闲状态;第十步、结束这次任务。
表7读数据操作的指令序列码
实施例二
请参见图8,图8为本发明实施例提供的一种确定目标存储器的方法的流程示意图。在上述实施例的基础上,实施例一所述的步骤2,具体可以包括:
步骤201、根据指令信息确定指令信息的类型,指令信息的类型包括读操作和写操作;
步骤202、根据指令信息的类型确定目标存储器。
在本实施例中,指令信息例如可以包括读操作和写操作,其中读操作主要包括读命令、读地址和读数据,写操作主要包括写命令、写地址和写数据,首先本实施例的Flash控制器中设置有存储器管理库,该存储器管理库记录了每个NAND Flash存储器所存储的数据信息及每个NAND Flash存储器的存储状态,因此Flash控制器所接收的指令信息的类型确定后,便可以根据指令信息的类型从存储器管理库中获取实施该指令信息所对应的存储器(即目标存储器)。
具体地,当Flash控制器解析出指令信息为需要进行读操作时,便从存储器管理库中选取执行该读操作的NAND Flash存储器,进一步地,当Flash控制器解析出指令信息需要读取某个NAND Flash存储器的数据时,因该存储器管理库中已记录每个NAND Flash存储器所存储的数据信息及其对应的存储位置,因此Flash控制器可以实时的从该存储器管理库中确定执行该读数据操作的NAND Flash存储器,当完成相应的读数据操作时,Flash控制器需对该NAND Flash存储器所存储的数据即状态进行更新,以便于后续使用;当Flash控制器解析出指令信息为需要进行写操作时,便从存储器管理库中选取执行该写操作的NANDFlash存储器,进一步地,当Flash控制器解析出指令信息需要将数据写入NAND Flash存储器时,Flash控制器需要首先根据设定顺序判断存储器管理库中所记录的存储器状态,直至判断到某个NAND Flash存储器满足存储该数据的要求时,则将该NAND Flash存储器作为目标存储器,将该数据直接写入该NAND Flash存储器中,其中,设定顺序例如可以按照从第一个存储器至最后一个存储器的顺序执行。当完成相应的读操作或写操作后,Flash控制器还需对该存储器所存储的数据即状态进行更新,以便于后续使用。
本实施例通过预先记录每个NAND Flash存储器的存储信息和存储状态,因此Flash控制器可以实时、准确的从该存储器管理库中确定执行读操作或写操作所对应的NAND Flash存储器,进一步地提高了Flash控制器的利用效率,提高了访问NAND Flash存储器的速度。
请参见图9,图9为本发明实施例提供的一种获取目标序列码的方法的流程示意图。在上述实施例的基础上,实施例一所述的步骤3,具体可以包括:
步骤301、建立指令序列码集,指令序列码集包括若干指令序列码;
步骤302、根据指令信息从若干指令序列码获取目标序列码。
Flash控制器根据所接收的指令信息从预先建立的指令序列码集中获取执行该指令信息所对应的多条指令序列码,这些指令序列码即为执行该指令信息所对应的目标序列码,将这些指令序列码按照执行该指令信息所对应的顺序从指令序列码集中取出,从而利用这些目标序列码完成对目标存储器的操作。
进一步地,本实施例的指令序列码由32位数据组成,指令序列码例如可以包括复位操作所对应的指令序列码、读数据操作所对应的指令序列码、写数据操作所对应的指令序列码、擦除操作所对应的指令序列码等,每种操作对应一个任务包,一个任务包对应由多个指令序列码组成,例如实施例一中所列举的写数据操作共需九条指令序列码完成,则该任务包中则需要包括表5中的指令数0至指令数8所对应的指令序列码,例如可以通过为每种操作所对应的任务包配置一个起始地址,一个起始地址对应一种操作,其起始地址确定,每个任务包中的指令序列码的执行顺序便可以根据起始地址确定,当NAND Flash存储器所需进行的操作确定时,其对应的任务包便已确定,则当Flash控制器接收到指令信息时,Flash控制器根据该指令信息确定任务包,Flash控制器会根据起始地址顺序地取出该任务包中的指令序列码执行对NAND Flash存储器的操作。
在上述实施例的基础上,实施例一所述的步骤4,具体可以为根据目标序列码从目标存储器中读取数据或命令,或者根据目标序列码向目标存储器中写入数据或命令。
在确定目标存储器将要进行的操作后,则进行相应的不同操作。在操作指令为读取的操作指令时,则根据执行该操作指令所得到的多条目标序列码读取目标存储器中的数据或命令,供使用者使用;当操作指令为写入的操作指令时,则根据执行该操作指令所得到的多条目标序列码将待写入的数据或命令写入至目标存储器中。
实施例三
请参见图10,图10为本发明实施例提供的一种存储器控制器的结构示意图。如图10所示,该存储器控制器,包括:
获取模块,用于获取指令信息;
确定模块,用于根据所述指令信息确定目标存储器;
目标序列码产生模块,用于根据所述指令信息和指令序列码集获取目标序列码;
执行模块,用于根据所述目标存储器和所述目标序列码完成操作。
在本发明的一个实施例中,确定模块具体用于根据所述指令信息确定所述指令信息的类型,所述指令信息的类型包括读操作和写操作;根据所述指令信息的类型确定所述目标存储器。
在本发明的一个实施例中,确定模块还具体用于当所述指令信息的类型为读操作信息时,则根据所述读操作信息获取所述目标存储器,若为写操作信息,则根据所述写操作信息获取所述目标存储器。
在本发明的一个实施例中,确定模块还具体用于根据所述读操作信息从存储器管理库中获取所述目标存储器。根据写操作信息按照设定顺序得到存储器管理库中所记录的存储器状态;根据所述存储器状态获取所述目标存储器。
在本发明的一个实施例中,目标序列码产生模块具体用于建立指令序列码集,所述指令序列码集包括若干指令序列码;根据所述指令信息从所述若干指令序列码获取目标序列码。
在本发明的一个实施例中,执行模块具体用于根据所述目标序列码从所述目标存储器中读取数据或命令,或者根据所述目标序列码向所述目标存储器中写入数据或命令。
本发明实施例提供的存储器控制器,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
实施例四
请参见图11,图11为本发明实施例提供的一种电子设备的结构示意图。如图11所示,该电子设备1100,包括:处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信;
存储器1103,用于存储计算机程序;
处理器1101,用于执行所述计算机程序时,实现上述方法步骤。
处理器1101执行所述计算机程序时实现如下步骤:获取指令信息;根据所述指令信息确定目标存储器;根据所述指令信息和指令序列码集获取目标序列码,所述指令序列码集包括若干指令序列码;根据所述目标存储器和所述目标序列码完成操作。
本发明实施例提供的电子设备,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
实施例五
本发明的又一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现以下步骤:
获取指令信息;
根据所述指令信息确定目标存储器;
根据所述指令信息和指令序列码集获取目标序列码,所述指令序列码集包括若干指令序列码;
根据所述目标存储器和所述目标序列码完成操作。
本发明实施例提供的计算机可读存储介质,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
本领域技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式,这里将它们都统称为“模块”或“系统”。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (8)
1.一种存储器的控制方法,其特征在于,一个Flash控制器与多个NAND Flash存储器建立通信关系,所述Flash控制器中设置有存储器管理库,所述存储器管理库记录了每个所述NAND Flash存储器所存储的数据信息及其对应的存储状态和存储位置,所述控制方法包括:
所述Flash控制器获取指令信息;
所述Flash控制器根据所述指令信息从存储器管理库中确定执行该指令信息的目标存储器;所述目标存储器为所述NAND Flash存储器;
所述Flash控制器根据所述指令信息和指令序列码集获取目标序列码,所述指令序列码集包括若干指令序列码;
根据所述目标存储器和所述目标序列码完成操作;
所述方法还包括:预先在所述Flash控制器中建立指令序列码集;
其中,所述Flash控制器根据所述指令信息和指令序列码集获取目标序列码包括:所述Flash控制器根据该指令信息所对应的操作按照顺序直接从所述指令序列码集中取出多条指令序列码,以完成对所述目标存储器的操作;
根据所述目标存储器和所述目标序列码完成操作,包括:
根据所述目标序列码从所述目标存储器中读取数据或命令,或者根据所述目标序列码向所述目标存储器中写入数据或命令。
2.根据权利要求1所述的控制方法,其特征在于,根据所述指令信息确定目标存储器,包括:
根据所述指令信息确定所述指令信息的类型,所述指令信息的类型包括读操作和写操作;
根据所述指令信息的类型确定所述目标存储器。
3.根据权利要求2所述的控制方法,其特征在于,根据所述指令信息的类型确定所述目标存储器,包括:
当所述指令信息的类型为读操作信息时,则根据所述读操作信息获取所述目标存储器,若为写操作信息,则根据所述写操作信息获取所述目标存储器。
4.根据权利要求3所述的控制方法,其特征在于,根据所述读操作信息获取所述目标存储器,包括:
根据所述读操作信息从存储器管理库中获取所述目标存储器。
5.根据权利要求3所述的控制方法,其特征在于,根据所述写操作信息获取所述目标存储器,包括:
根据写操作信息按照设定顺序得到存储器管理库中所记录的存储器状态;
根据所述存储器状态获取所述目标存储器。
6.一种存储器控制器,其特征在于,所述存储器控制器为Flash控制器,一个Flash控制器与多个NAND Flash存储器建立通信关系,所述Flash控制器中设置有存储器管理库,所述存储器管理库记录了每个所述NAND Flash存储器所存储的数据信息及其对应的存储状态和存储位置,所述存储器控制器包括:
获取模块,用于获取指令信息;
确定模块,用于根据所述指令信息从存储器管理库中确定执行该指令信息的目标存储器;所述目标存储器为所述NAND Flash存储器;
目标序列码产生模块,用于根据所述指令信息和指令序列码集获取目标序列码;还用于预先建立指令序列码集;执行模块,用于根据所述目标存储器和所述目标序列码完成操作;
其中,所述目标序列码产生模块,用于根据所述指令信息和指令序列码集获取目标序列码包括:根据该指令信息所对应的操作按照顺序直接从所述指令序列码集中取出多条指令序列码,以完成对所述目标存储器的操作;
所述执行模块,用于根据所述目标存储器和所述目标序列码完成操作,包括:根据所述目标序列码从所述目标存储器中读取数据或命令,或者根据所述目标序列码向所述目标存储器中写入数据或命令。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时,实现权利要求1-6任一所述的方法步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910399956.6A CN110209352B (zh) | 2019-05-14 | 2019-05-14 | 一种存储器的控制方法、存储器控制器、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910399956.6A CN110209352B (zh) | 2019-05-14 | 2019-05-14 | 一种存储器的控制方法、存储器控制器、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110209352A CN110209352A (zh) | 2019-09-06 |
CN110209352B true CN110209352B (zh) | 2023-03-14 |
Family
ID=67785901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910399956.6A Active CN110209352B (zh) | 2019-05-14 | 2019-05-14 | 一种存储器的控制方法、存储器控制器、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110209352B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113157205B (zh) * | 2021-02-26 | 2023-03-14 | 西安微电子技术研究所 | 一种nand阵列的控制方法、控制器、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096647A (zh) * | 2009-11-25 | 2011-06-15 | 三星电子株式会社 | 多芯片存储器系统和相关的数据传送方法 |
CN103136136A (zh) * | 2012-11-23 | 2013-06-05 | 香港应用科技研究院有限公司 | 用于闪存存储介质执行数据传输的方法和系统 |
CN105389134A (zh) * | 2015-12-11 | 2016-03-09 | 华中科技大学 | 一种闪存接口控制方法及装置 |
CN108172249A (zh) * | 2017-12-22 | 2018-06-15 | 湖南国科微电子股份有限公司 | 一种NAND Flash访问操作方法、装置及系统 |
CN109558336A (zh) * | 2018-12-09 | 2019-04-02 | 江苏华存电子科技有限公司 | 用于闪存主控硬件自动快速产生闪存接口讯号序列的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4661369B2 (ja) * | 2005-05-31 | 2011-03-30 | Tdk株式会社 | メモリコントローラ |
JP2010224806A (ja) * | 2009-03-23 | 2010-10-07 | Toshiba Corp | コントローラ及び半導体記憶装置 |
JP5925549B2 (ja) * | 2012-03-23 | 2016-05-25 | 株式会社東芝 | メモリシステムおよびバンクインターリーブ方法 |
JP5863855B2 (ja) * | 2014-02-26 | 2016-02-17 | ファナック株式会社 | 分岐命令を高速に処理するためのインストラクションキャッシュを有するプログラマブルコントローラ |
CN108536623A (zh) * | 2018-04-19 | 2018-09-14 | 深圳市得微电子有限责任公司 | 多通道NAND Flash控制器及移动存储设备 |
-
2019
- 2019-05-14 CN CN201910399956.6A patent/CN110209352B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096647A (zh) * | 2009-11-25 | 2011-06-15 | 三星电子株式会社 | 多芯片存储器系统和相关的数据传送方法 |
CN103136136A (zh) * | 2012-11-23 | 2013-06-05 | 香港应用科技研究院有限公司 | 用于闪存存储介质执行数据传输的方法和系统 |
CN105389134A (zh) * | 2015-12-11 | 2016-03-09 | 华中科技大学 | 一种闪存接口控制方法及装置 |
CN108172249A (zh) * | 2017-12-22 | 2018-06-15 | 湖南国科微电子股份有限公司 | 一种NAND Flash访问操作方法、装置及系统 |
CN109558336A (zh) * | 2018-12-09 | 2019-04-02 | 江苏华存电子科技有限公司 | 用于闪存主控硬件自动快速产生闪存接口讯号序列的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110209352A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8966163B2 (en) | Non-volatile memory device and method for programming the same | |
US10296231B2 (en) | Data-storage device and data maintenance method thereof | |
JP2008009942A (ja) | メモリシステム | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
US8015370B2 (en) | Memory control method and memory system | |
US8732385B2 (en) | Non-volatile memory, controller controlling next access | |
US20160062908A1 (en) | Methods for Maintaining a Storage Mapping Table and Apparatuses using the Same | |
EP1909184A2 (en) | Mapping information managing apparatus and method for non-volatile memory supporting different cell types | |
US10725902B2 (en) | Methods for scheduling read commands and apparatuses using the same | |
CN107622020B (zh) | 一种数据存储方法、访问方法及装置 | |
US10168951B2 (en) | Methods for accessing data in a circular block mode and apparatuses using the same | |
CN103778964B (zh) | 一种NAND Flash烧写数据的处理、使用方法及装置、系统 | |
JP2011515786A (ja) | ダイナミックデータラッチ要求を備えたキャッシュ操作における適合アルゴリズム | |
TWI707268B (zh) | 資料儲存裝置及其操作方法 | |
US9971546B2 (en) | Methods for scheduling read and write commands and apparatuses using the same | |
CN111933199B (zh) | 基于存储器的数据读写方法、装置及存储介质 | |
US20080288743A1 (en) | Apparatus and method of managing mapping table of non-volatile memory | |
CN114063893A (zh) | 数据储存装置与数据处理方法 | |
US8154925B2 (en) | Semiconductor memory device and system capable of executing an interleave programming for a plurality of memory chips and a 2-plane programming at the respective memory chips | |
CN106649137B (zh) | 一种Nand Flash坏块管理方法、装置及存储器 | |
CN110209352B (zh) | 一种存储器的控制方法、存储器控制器、电子设备及存储介质 | |
JP2003067244A (ja) | 不揮発性記憶装置及びその制御方法 | |
US8046529B2 (en) | Updating control information in non-volatile memory to control selection of content | |
CN113190241A (zh) | 数据分区的容量扩充方法、装置、电子设备、存储介质 | |
KR101354490B1 (ko) | 확장된 커맨드 세트를 갖는 멀티 비트 셀 플래시 메모리 디바이스 |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A control method, memory controller, electronic device, and storage medium for memory Effective date of registration: 20230615 Granted publication date: 20230314 Pledgee: Pudong Development Bank of Shanghai Limited by Share Ltd. Xi'an branch Pledgor: Xi'an Aikesa Technology Co.,Ltd. Registration number: Y2023610000450 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |