CN114416147A - 固件载入方法、存储器及计算机可读存储介质 - Google Patents
固件载入方法、存储器及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114416147A CN114416147A CN202210083977.9A CN202210083977A CN114416147A CN 114416147 A CN114416147 A CN 114416147A CN 202210083977 A CN202210083977 A CN 202210083977A CN 114416147 A CN114416147 A CN 114416147A
- Authority
- CN
- China
- Prior art keywords
- memory
- algorithm
- firmware
- storage
- mapping table
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种固件载入方法、存储器及计算机可读存储介质,所述固件包括基础程序、映射表及多组扩展算法,所述映射表存储有所述多组扩展算法的存储地址,且每一组扩展算法对应一个或多个操作指令,所述方法包括:在所述存储器上电启动时,将所述基础程序和映射表载入缓冲存储器;在所述存储器运行过程中,根据所述映射表获取与当前操作指令的后续操作指令对应的扩展算法的存储地址,并将从所述存储地址获取的扩展算法载入所述缓冲存储器。本发明根据当前操作指令的后续操作指令动态调整载入到缓冲存储器的扩展算法,在保证存储装置性能的同时,使得具有小容量SRAM的存储装置也可以实现数据快速地读写。
Description
技术领域
本发明涉及存储装置领域,更具体地说,涉及一种固件载入方法、存储器及计算机可读存储介质。
背景技术
由于可复写式非易失性存储器模块(rewritable non-volatile memorymodule),例如快闪存储器,具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合应用于存储卡、固态硬盘和手机等设备中的存储装置中。在上述使用可复写式非易失性存储器模块的存储卡、固态硬盘和手机等设备的存储装置中,固件(Firmware)是用于实现存储控制的最基础、最底层工作的软件,通过固件,才能响应外部设备或控制装置的指令,实现数据读取、数据写入等操作。
现有技术中,固件是烧录进存储器的主控制器内EPROM(可擦写可编程只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序,因此一般是无法被修改的。在对存储器的储存装置(存储芯片)进行数据读写工作时,固件会被载入高速缓冲存储器内的静态随机存取存储器(Static Random Access Memory,SRAM)中来执行。为了加快数据读写速度,可以增大高速缓冲存储器控制器内的SRAM的容量,比如48K,但是对于成本相对较低的存储装置,SRAM太大会使得主控制器的成本显著增加。
发明内容
本发明要解决的技术问题在于,针对上述存储装置中因主控制器的SRAM增大而造成成本上升的问题,提供一种固件载入方法、存储器及计算机可读存储介质。
本发明解决上述技术问题的技术方案是,提供一种固件载入方法,用于将固件载入到存储器的缓冲存储器,所述固件包括基础程序、映射表及多组扩展算法,所述映射表存储有所述多组扩展算法的存储地址,且每一组扩展算法对应一个或多个操作指令,所述方法包括:
在所述存储器上电启动时,将所述基础程序和映射表载入缓冲存储器;
在所述存储器运行过程中,根据所述映射表获取与当前操作指令的后续操作指令对应的扩展算法的存储地址,并将从所述存储地址获取的扩展算法载入所述缓冲存储器。
作为本发明的进一步改进,所述方法还包括:在所述缓冲存储器的剩余存储空间小于预设值时,删除所述缓冲存储器中与当前操作指令及后续操作指令无关的扩展算法。
作为本发明的进一步改进,所述固件的基础程序存储于EPROM或EEPROM;
将所述基础程序和映射表载入缓冲存储器,包括:从EPROM或EEPROM读取基础程序,并将所述基础程序载入到所述缓冲存储器。
作为本发明的进一步改进,所述存储器包括多个存储芯片,且每一所述扩展算法包括分别存储于至少两个存储芯片的多个代码片段,所述映射表存储有每一所述代码片段的存储地址;
将从所述存储地址获取的扩展算法载入所述缓冲存储器,包括:
分别从所述至少两个存储芯片读取多个组成完整的扩展算法的代码片段,并以并行方式或交错方式将多个所述代码片段载入到所述缓冲存储器。
作为本发明的进一步改进,所述存储器包括存储芯片,每一所述存储芯片包括多个实体区块,每一所述实体区块包括多个实体页,且所述实体页的存储容量小于或等于预设容量;
每一数据量小于或等于一个实体页的存储容量的扩展算法存储于一个独立的实体页,每一数据量大于一个实体页的存储容量的扩展算法存储到多个实体页多组扩展算法分别存储到不同实体页。
作为本发明的进一步改进,所述存储器包括存储芯片,每一所述存储芯片包括多个实体区块,每一所述实体区块包括多个实体页,且所述实体页的存储容量大于预设容量;
多个数据量之和小于一个所述实体页的存储容量的扩展算法存储到同一个实体页;每一数据量大于一个实体页的存储容量的扩展算法存储到多个实体页。
作为本发明的进一步改进,所述操作指令包括读指令、写指令、擦除指令及维护指令,所述扩展算法包括以下一个或多个:耗损平衡写入算法、错误校正码算法、坏块管理算法、垃圾回收算法、数据加密算法,且所述耗损平衡写入算法、错误校正码算法均与写指令对应,所述坏块管理算法、垃圾回收算法均与维护指令对应;所述数据加密算法分别与读指令、写指令对应。
作为本发明的进一步改进,所述缓冲存储器包括第一存储区和第二存储区,所述基础程序和映射表载入所述第一存储区,所述扩展算法载入所述第二存储区。
作为本发明的进一步改进,所述方法还包括:
生成并存储所述扩展算法的副本,并将所述扩展算法的副本的存储地址写入到所述映射表。
本发明还提供一种存储器,包括存储单元以及控制芯片,所述存储单元集成于所述控制芯片或与所述控制芯片连接,所述存储单元中存储有可在所述控制芯片上执行的计算机程序,且所述控制芯片执行所述计算机程序时实现如上所述的固件载入方法的步骤。
本发明还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述固件载入方法的步骤。
本发明具有以下有益效果:根据当前操作指令的后续操作指令动态调整载入到缓冲存储器的扩展算法,在保证存储装置性能的同时,使得具有小容量SRAM的存储装置也可以实现数据快速地读写。
附图说明
图1是使用本发明的固件载入方法的存储器与主机系统连接的示意图;
图2是图1中的主控制器的示意图;
图3是本发明实施例提供的固件载入方法的流程示意图;
图4是使用本发明的固件载入方法的存储器中物理存储结构的示意图;
图5是使用本发明的固件载入方法的存储器中控制部分的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,是使用本发明的固件载入方法的存储器与主机系统连接的示意图。存储器存储系统10包括主机系统11与存储器12,其中存储器存储系统10可为任意型态的计算机系统,例如存储器存储系统10可为笔记本计算机、台式计算机、智能手机、平板计算机、工业计算机、游戏机、数码相机等各式电子系统;主机系统11为包括数据处理装置(例如中央处理单元、微处理器等)的系统,存储器12用以存储来自主机系统11的数据,例如存储器12可包括固态硬盘、U盘、存储卡或其他类型的非易失性存储装置。主机系统11可经由串行高级技术附件(Serial Advanced Technology Attachment,SATA)接口、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)、通用串行总线(Universal Serial Bus,USB)或其他类型的连接接口电性连接至存储器12。因此,主机系统11可将数据存储至存储器12和/或从存储器存储装置12读取数据。
存储器12可包括连接接口121、存储器模块122及存储器控制器123,其中连接接口121用以将存储器12连接至主机系统11,例如连接接口121可支持SATA、PCI Express或USB等连接接口标准,即存储器12经由连接接口121与主机系统11通信;存储模块122用以存储数据,例如存储模块122包括可复写式非易失性存储器模块。
存储器控制器123分别至连接接口121、存储模块122,且存储器12通过存储器控制器123实现存储控制,例如存储器控制器123可控制连接接口121与存储模块122以进行数据存取与数据管理。在一实施例中,存储器控制器123亦可称为快闪存储器控制器。具体地,存储器控制器123可包括可编程的一般用途或特殊用途的微处理器、数字信号处理器(Digital Signal Processor,DSP)、可编程控制器、专用集成电路(Application SpecificIntegrated Circuits,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)或其他类似装置或这些装置的组合。
存储模块122具体可由一个或多个存储芯片构成,存储器控制器123可根据从主机系统11接收的指令序列,将数据存入存储模块122或从存储模块122读取数据。在一实施例中,存储模块122亦可称为快闪存储器模块。具体地,存储模块122包括存储单元阵列,且存储模块122中的各个存储单元以电压的形式来存储数据,例如,存储模块122可包括单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块、多阶存储单元(Multi LevelCell,MLC)NAND型快闪存储器模块、三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块、四阶存储单元(Quad Level Cell,QLC)NAND型快闪存储器模块或其他具有相似特性的存储器模块。
结合图2所示,上述存储器控制器123具体可包括主机接口21、存储器接口22及存储器控制电路23。其中主机接口21用以经由连接接口121连接至主机系统11,以与主机系统11通信;存储器接口22用以连接至存储模块122,以便于访问存储模块122中的各个存储单元。
存储器控制电路23分别连接至主机接口21、存储器接口22。存储器控制电路23用以负责存储器12的整体或部分运作。存储器控制电路23可经由主机接口21、连接接口121与主机系统11通信,并经由存储器接口22访问存储器模块122。在一实施例中,存储器控制电路23也可视为存储器控制器123的控制核心。在以下实施例中,对于存储器控制电路23的说明等同于对于存储器控制器123的说明。
存储器控制器123还包括缓冲存储器24,该缓冲存储器24电连接至存储器控制电路23,并用于暂存来自于主机系统11的数据与指令或来自于存储模块122的数据。该缓冲存储器24具体可由静态随机存取存储器(SRAM)构成,其具体可由存储矩阵、地址译码器、读/写控制器、输入/输出、片选控制等几部分组成。缓冲存储器24的功能和结构属于本领域的习知技术,在此不再赘述。
结合图3所示,是本发明实施例提供的固件载入方法的流程示意图,该方法用于将固件载入到存储器12的缓冲存储器24,上述固件为用于实现存储控制的软件,其可以理解成控制指令(SWAP code)集合。在本实施例中,固件包括基础程序、映射表及多组扩展算法,即基础程序、映射表及多组扩展算法共同构成了存储器12的固件,并在存储器12开卡时写入到存储器12,且基础程序和每一组扩展算法分别由多条控制指令构成。
具体地,上述基础程序为用于实现存储器基础功能的程序,例如可包括自动信号处理算法、初始化算法、FTL算法(当存储器为固态硬盘时)、本发明的固件载入方法等;映射表存储有多组扩展算法的存储地址,且每一组扩展算法对应一个或多个操作指令;扩展算法则包括用于提高存储器的性能的算法。固件本身属于本领域的习知技术,在此不做赘述,本实施例仅仅将固件中实现不同功能的部分进行区分,而未对固件本身的功能进行调整。
本实施例的固件载入方法可集成到存储器控制器123,且该方法包括由存储器控制器123执行的以下步骤:
步骤S31:在存储器12上电启动时,将基础程序和映射表载入缓冲存储器24。上述存储器23上电启动是指,若存储器23为固态硬盘,则为使用该固态硬盘的设备(例如计算机、手机等)开机;若存储器23为存储卡,则为该存储卡插接到处于运行状态的设备的存储卡接口。由于在存储器23上电启动时仅载入部分固件,而非全部固件,因此可提高存储器23的启动速度。
具体地,基础程序可在存储器12开卡时烧录到存储器控制电路23的ROM(例如EPROM或EEPROM),在存储器12的使用过程中,该部分数据通常不会改变。映射表则通常存储于存储模块122。相应地,在该步骤中,存储器控制器123从EPROM或EEPROM读取基础程序,并将基础程序载入到缓冲存储器24。
当然,在实际应用中,基础程序也可在存储器12开卡时写入到存储模块122,而非ROM。相应地,在该步骤中,存储器控制器123从存储模块122读取基础程序,并将基础程序载入到缓冲存储器24。
步骤S32:在存储器12运行过程中,根据映射表获取与当前操作指令的后续操作指令(即当前操作指令的下一条操作指令或下n条操作指令,n的值具体可根据需要设置)对应的扩展算法的存储地址,并将从存储地址获取的扩展算法载入缓冲存储器24。当前操作指令的后续操作指令是指当前操作指令的后一条操作指令或后几条操作指令。当前操作指令及后续操作指令来自与存储器12相连的主机系统,并由存储器控制器执行,或者当前操作指令及后续操作指令也可由存储器控制器123在执行基础程序时生成。
具体地,扩展算法可在存储器12开卡时烧录到存储模块122,从而使得存储器控制电路23在较小的ROM下也能使用性能较为复杂的固件,提高存储器12的性能。并且,由于映射表存储有操作指令与扩展存储算法的存储地址的对应关系,因此可快速从对应的存储地址获取扩展算法。由于提前将相应的扩展算法载入到缓冲存储器24,因此不会影响存储器12的存取操作。
上述固件载入方法,由于根据当前操作指令的后续操作指令动态调整载入到缓冲存储器的扩展算法,而非将固件一次性地完整载入到缓冲存储器24,从而在保证存储器性能的同时,使得具有小容量SRAM的存储装置也可以实现数据快速地读写。即本实施例的固件载入方法根据存储器控制器123执行的操作指令的不同而对固件进行载入,简单来讲,存储器控制器123在工作时,不用将整个固件载入缓冲存储器24,而是读取特定的固件(基础程序、映射表及部分扩展算法)到缓冲存储器24中,以进行数据的写入、读取与擦除等运作,从而降低了对SRAM的容量要求。
在本发明的一个实施例中,操作指令包括读指令、写指令、擦除指令及维护指令等,相应地,扩展算法包括以下一个或多个:4K读算法、4K写算法、耗损平衡写入算法、错误校正码算法、坏块管理算法、垃圾回收算法、数据加密算法等,且4K写算法、耗损平衡写入算法、错误校正码算法均与写指令对应,坏块管理算法、垃圾回收算法均与维护指令对应;数据加密算法分别与读指令、写指令对应,4K读算法与读指令对应。
上述读指令、写指令、擦除指令可来自与存储器12相连的主机系统11,即主机系统11需要读取数据、存储数据或删除数据时,通过连接接口121向存储器控制器123发送相应的指令,存储器控制器123响应该指令从存储模块122读取数据、向存储模块122写入数据、或将存储模块122中的数据擦除。
维护指令则可由存储器控制器123在执行基础程序时生成,例如存储器控制器123可按照预设周期,或在空闲时段执行维护指令,对存储模块122进行坏块管理、垃圾回收等。
例如,储器控制器123执行监测存储模块122的各个存储单元的写入次数的维护指令,从而便于后续写入数据时进行自动分配,让写入次数较多(即较老)的存储单元承担不需要写数据的储存任务,同时让写入次数较少(即较新)的存储单元腾出空间,平日的数据读写就在比较新的存储单元中进行,如此一来,各个存储模块122的各个存储单元的寿命损耗就都差不多了,以延长整个存储器12的使用寿命。或者,储器控制器123执行以下维护指令:将多个实体区块(Block)中的有效数据集中搬到一个新的实体区块中,然后再把这几个实体区块擦除掉,这样就产生了新的可用实体区块了。
在本发明的一个实施例中,固件载入方法除了包括上述步骤S31和步骤S32外,还包括由存储器控制器123执行的以下步骤:在缓冲存储器24的剩余存储空间小于预设值时,删除缓冲存储器24中与当前操作指令及后续操作指令无关的扩展算法。
通过该方式,可使得缓冲存储器24始终保持充足的空闲存储空间,避免来自主机系统11或来自存储模块122的数据出现拥堵,提高缓冲存储器24的利用率,使得具有较小空间的缓冲存储器24也能满足存储器12的性能需求。
在本发明的一个实施例中,存储器12的存储模块122可包括存储芯片(此时存储器可以为固态硬盘),结合图4所示,存储芯片包括多个实体区块30,且每一实体区块30包括多个实体页31,同一个实体区块30中的多个实体页31可被同时程序化以存储数据。具体地,一个实体页31的大小可为4KB、8KB或16KB,且每一实体页31包括多个扇区(Sector)。此外,一个实体区块30中的所有实体页31的存储数据可被同时擦除。扩展算法可由至少一个控制指令(SWAP code)构成。
在本发明的一个实施例中,实体页31的存储容量小于或等于预设容量(例如4KB)。相应地,每一数据量小于或等于一个实体页31的存储容量(例如4KB)的扩展算法的所有控制指令存储于一个独立的实体页31,每一扩展算法对应一个不同的地址(即实体页的地址);每一数据量大于一个实体页31的存储容量的扩展算法的控制指令分别存储到多个实体页31,例如实体页31的存储容量为4KB时,若某一个扩展算法的所有控制指令的大小为10KB,则扩展算法中4KB的控制指令存储在第一实体页中,扩展算法中另外4KB的控制指令存储在第二实体页中,扩展算法中剩余2KB的控制指令存储在第三实体页中,上述第一实体页、第二实体页和第三实体页的地址均保存在映射表中的对应扩展算法项下。上述方式可提高扩展算法的载入速度。
当实体页的存储容量大于预设容量(例如16KB),若每一实体页仅存储一个扩展算法,则可能造成存储空间浪费较大。相应地,多个数据量之和小于一个实体页的存储容量的扩展算法可存储到同一个实体页,在映射表中,该多个扩展算法具有相同的地址,并可同时载入到缓冲存储器;每一数据量大于一个实体页的存储容量的扩展算法则可存储到多个实体页,该多个实体页的地址均保存在映射表中的对应扩展算法项下。通过该方式,可在保证扩展算法载入速度的同时,避免固件占用过多的存储空间。
在本发明的另一实施例中,存储模块122包括多个存储芯片(存储器晶粒),每一存储芯片包括多个实体区块30,每一实体块30包括多个实体页31。为提高固件载入到缓冲存储器24的速度,上述每一扩展算法包括分别存储于至少两个存储芯片的不同实体页31的多个代码片段,相应地,映射表存储有每一代码片段的存储地址。上述步骤S32中,将从存储地址获取的扩展算法载入缓冲存储器14,包括由存储器控制器123执行的以下步骤:分别从至少两个存储芯片读取多个组成完整的扩展算法的代码片段,并以并行方式或交错方式将多个代码片段载入到缓冲存储器24。即通过并行和交错方式,加快扩展算法的载入操作。并行和交错方式载入数据是本领域的习知技术,在此不再赘述。
如图5所示,在本发明的一个实施例中,存储器控制电路23具有微控制单元402(Microcontroller Unit;MCU)与静态随机存取存储器(即缓冲存储器)24,其中缓冲存储器24包括第一存储区242和第二存储区244。具体地,第一存储区242用于存储固件的基础程序及映射表;第二存储区244用于存储扩展算法。例如,第一存储区242中存储有开机码(bootcode),当存储器控制器123被致能时,微控制单元402会先执行开机码来将存储于存储模块122中的扩展算法的控制指令(SWAP code)载入至存储器控制器23的第二存储区244中。之后,微控制单元402会运转这些控制指令以进行数据的写入、读取与擦除等运作。
为防止固件损坏(比如固件升级不成功、存储模块122的实体区块失效等)而导致存储器12不能工作,在本发明的一个实施例中,上述固件载入方法还包括:生成并存储扩展算法的副本,并将扩展算法的副本的存储地址写入到映射表。具体地,对于扩展算法的数据量比较小的,可选择同一个存储区块来备份它;对于扩展算法的数据量比较大的,可选择多个实体区块来备份它。
本发明还提供一种存储器,包括存储单元以及控制芯片,所述存储单元集成于所述控制芯片或与所述控制芯片连接,所述存储单元中存储有可在所述控制芯片上执行的计算机程序,且所述控制芯片执行所述计算机程序时实现如上所述的固件载入方法的步骤。
本实施例中的存储器与上述图3对应实施例中的固件载入方法属于同一构思,其具体实现过程详细见对应的方法实施例,且方法实施例中的技术特征在本设备实施例中均对应适用,这里不再赘述。
本发明还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述固件载入方法的步骤。
本实施例中的计算机可读存储介质与上述图3对应实施例中的固件载入方法属于同一构思,其具体实现过程详细见对应的方法实施例,且方法实施例中的技术特征在本设备实施例中均对应适用,这里不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成。实施例中的各功能单元、模块可以集成在一个处理器中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的固件载入方法及设备,可以通过其它的方式实现。例如,以上所描述的存储器实施例仅仅是示意性的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或界面切换设备、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (11)
1.一种固件载入方法,用于将固件载入到存储器的缓冲存储器,其特征在于,所述固件包括基础程序、映射表及多组扩展算法,所述映射表存储有所述多组扩展算法的存储地址,且每一组扩展算法对应一个或多个操作指令,所述方法包括:
在所述存储器上电启动时,将所述基础程序和映射表载入缓冲存储器;
在所述存储器运行过程中,根据所述映射表获取与当前操作指令的后续操作指令对应的扩展算法的存储地址,并将从所述存储地址获取的扩展算法载入所述缓冲存储器。
2.根据权利要求1所述的固件载入方法,其特征在于,所述方法还包括:在所述缓冲存储器的剩余存储空间小于预设值时,删除所述缓冲存储器中与当前操作指令及后续操作指令无关的扩展算法。
3.根据权利要求1所述的固件载入方法,其特征在于,所述固件的基础程序存储于EPROM或EEPROM;
将所述基础程序和映射表载入缓冲存储器,包括:从EPROM或EEPROM读取基础程序,并将所述基础程序载入到所述缓冲存储器。
4.根据权利要求1所述的固件载入方法,其特征在于,所述存储器包括多个存储芯片,且每一所述扩展算法包括分别存储于至少两个存储芯片的多个代码片段,所述映射表存储有每一所述代码片段的存储地址;
将从所述存储地址获取的扩展算法载入所述缓冲存储器,包括:
分别从所述至少两个存储芯片读取多个组成完整的扩展算法的代码片段,并以并行方式或交错方式将多个所述代码片段载入到所述缓冲存储器。
5.根据权利要求1所述的固件载入方法,其特征在于,所述存储器包括存储芯片,每一所述存储芯片包括多个实体区块,每一所述实体区块包括多个实体页,且所述实体页的存储容量小于或等于预设容量;
每一数据量小于或等于一个实体页的存储容量的扩展算法存储于一个独立的实体页,每一数据量大于一个实体页的存储容量的扩展算法存储到多个实体页。
6.根据权利要求1所述的固件载入方法,其特征在于,所述存储器包括存储芯片,每一所述存储芯片包括多个实体区块,每一所述实体区块包括多个实体页,且所述实体页的存储容量大于预设容量;
多个数据量之和小于一个所述实体页的存储容量的扩展算法存储到同一个实体页;每一数据量大于一个实体页的存储容量的扩展算法存储到多个实体页。
7.根据权利要求1所述的固件载入方法,其特征在于,所述操作指令包括读指令、写指令、擦除指令及维护指令,所述扩展算法包括以下一个或多个:耗损平衡写入算法、错误校正码算法、坏块管理算法、垃圾回收算法、数据加密算法,且所述耗损平衡写入算法、错误校正码算法均与写指令对应,所述坏块管理算法、垃圾回收算法均与维护指令对应;所述数据加密算法分别与读指令、写指令对应。
8.根据权利要求1所述的固件载入方法,其特征在于,所述缓冲存储器包括第一存储区和第二存储区,所述基础程序和映射表载入所述第一存储区,所述扩展算法载入所述第二存储区。
9.根据权利要求1所述的固件载入方法,其特征在于,所述方法还包括:
生成并存储所述扩展算法的副本,并将所述扩展算法的副本的存储地址写入到所述映射表。
10.一种存储器,其特征在于,包括存储单元以及控制芯片,所述存储单元集成于所述控制芯片或与所述控制芯片连接,所述存储单元中存储有可在所述控制芯片上执行的计算机程序,且所述控制芯片执行所述计算机程序时实现如权利要求1-9中任一项所述的固件载入方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至9中任一项所述固件载入方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210083977.9A CN114416147B (zh) | 2022-01-21 | 2022-01-21 | 固件载入方法、存储器及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210083977.9A CN114416147B (zh) | 2022-01-21 | 2022-01-21 | 固件载入方法、存储器及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114416147A true CN114416147A (zh) | 2022-04-29 |
CN114416147B CN114416147B (zh) | 2023-06-09 |
Family
ID=81277475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210083977.9A Active CN114416147B (zh) | 2022-01-21 | 2022-01-21 | 固件载入方法、存储器及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416147B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115599407A (zh) * | 2022-11-29 | 2023-01-13 | 深圳宏芯宇电子股份有限公司(Cn) | 固件烧录方法、固件烧录系统及存储器存储装置 |
CN117453318A (zh) * | 2023-12-25 | 2024-01-26 | 上海励驰半导体有限公司 | 基于iommu的dsp固件使用方法、系统芯片及车机 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662634A (zh) * | 2012-03-21 | 2012-09-12 | 杭州中天微系统有限公司 | 非阻塞发射和执行的存储器访问执行装置 |
CN104166558A (zh) * | 2013-05-16 | 2014-11-26 | 群联电子股份有限公司 | 固件码载入方法、存储器控制器与存储器存储装置 |
CN106681654A (zh) * | 2016-09-29 | 2017-05-17 | 合肥兆芯电子有限公司 | 映射表载入方法与存储器存储装置 |
-
2022
- 2022-01-21 CN CN202210083977.9A patent/CN114416147B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662634A (zh) * | 2012-03-21 | 2012-09-12 | 杭州中天微系统有限公司 | 非阻塞发射和执行的存储器访问执行装置 |
CN104166558A (zh) * | 2013-05-16 | 2014-11-26 | 群联电子股份有限公司 | 固件码载入方法、存储器控制器与存储器存储装置 |
CN106681654A (zh) * | 2016-09-29 | 2017-05-17 | 合肥兆芯电子有限公司 | 映射表载入方法与存储器存储装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115599407A (zh) * | 2022-11-29 | 2023-01-13 | 深圳宏芯宇电子股份有限公司(Cn) | 固件烧录方法、固件烧录系统及存储器存储装置 |
CN115599407B (zh) * | 2022-11-29 | 2023-08-15 | 深圳宏芯宇电子股份有限公司 | 固件烧录方法、固件烧录系统及存储器存储装置 |
CN117453318A (zh) * | 2023-12-25 | 2024-01-26 | 上海励驰半导体有限公司 | 基于iommu的dsp固件使用方法、系统芯片及车机 |
CN117453318B (zh) * | 2023-12-25 | 2024-03-15 | 上海励驰半导体有限公司 | 基于iommu的dsp固件使用方法、系统芯片及车机 |
Also Published As
Publication number | Publication date |
---|---|
CN114416147B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9772797B2 (en) | Buffer memory management method, memory control circuit unit and memory storage device | |
US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US9639475B2 (en) | Buffer memory management method, memory control circuit unit and memory storage device | |
US20150268879A1 (en) | Memory management method, memory storage device and memory control circuit unit | |
US9880742B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
US9141530B2 (en) | Data writing method, memory controller and memory storage device | |
CN111651371B (zh) | 非对称型平面管理方法以及数据存储装置及其控制器 | |
US20210326042A1 (en) | Method and apparatus for performing block management regarding non-volatile memory | |
CN114416147B (zh) | 固件载入方法、存储器及计算机可读存储介质 | |
US11488671B2 (en) | Method, associated memory device and controller thereof for performing programming management | |
CN111625197A (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
CN112230849B (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
US9710374B2 (en) | Data writing method, memory controller and memory storage device | |
CN111767007A (zh) | 用于闪存的写入管理机制 | |
CN112988069B (zh) | 存储器管理方法、存储器存储装置及存储器控制器 | |
CN111583976B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN114237514A (zh) | 区块管理方法、存储器控制器和存储器存储装置 | |
CN113094306A (zh) | 有效数据管理方法、存储器存储装置及存储器控制器 | |
JP4334331B2 (ja) | フラッシュメモリのアクセス制御方法 | |
CN112988068B (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
CN107229413B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
US11809314B2 (en) | Method and apparatus for performing access control of memory device with aid of multi-stage garbage collection management | |
US20240232067A1 (en) | Method and apparatus for performing access management of memory device in predetermined communications architecture with aid of automatic parameter setting | |
US20240143208A1 (en) | Data storage device and method for determining buffer size of the data storage device | |
US20240126463A1 (en) | Data storage device and method for determining buffer size of the data storage device |
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 |