CN112347524A - 闪存编程方法、装置及电子设备 - Google Patents
闪存编程方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112347524A CN112347524A CN202011089301.8A CN202011089301A CN112347524A CN 112347524 A CN112347524 A CN 112347524A CN 202011089301 A CN202011089301 A CN 202011089301A CN 112347524 A CN112347524 A CN 112347524A
- Authority
- CN
- China
- Prior art keywords
- write protection
- written
- flash memory
- logical address
- programming
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 159
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000004590 computer program Methods 0.000 claims description 22
- 238000007689 inspection Methods 0.000 abstract description 13
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请提供一种闪存编程方法、装置及电子设备,涉及闪存编程技术领域,其中,该方法包括:目标闪存可以获取编程指令,并对所有待写入区域进行写保护检查得到检查结果,然后根据检查结果,向未设置写保护的待写入区域写入数据。本申请提供的技术方案可以先对待写入区域进行写保护检查得到检查结果,再根据检查结果对待写入区域进行编程,这样无需频繁的进行写保护检查,因而可以提高目标闪存在进行编程时的工作效率。
Description
技术领域
本申请涉及闪存技术,尤其涉及一种闪存编程方法、装置及电子设备,属于闪存编程技术领域。
背景技术
闪存的全称为快闪存储器(Flash Memory,Flash),是一种电子式可清除程序化只读存储器,例如储存卡、记忆棒、微硬盘和U盘等存储器都采用了闪存技术。
由于可靠性高、稳定性好、灵活方便等特性,闪存自面世以来就迅速发展,出现在各种电子产品中。闪存可以支持读、写和擦除的操作,在进行读操作时不会改变闪存中存储的数据,在写和擦除操作时可以改变闪存中存储的数据,若在写和擦除操作时出现复位、掉电等异常情况,可能会造成数据的丢失。因此,为了保护闪存中的重要数据,需要对闪存进行写保护,写保护是指对写保护区域的数据只允许读,不允许写和擦除。由于写保护的存在,在闪存的编程过程中,系统每次向闪存中写数据时都需要先检查待写区域是否被写保护。同时,基于闪存写操作的特征,目前系统只能以4KB为单位对待写区域进行检查,也即是在确定当前的4KB大小的区域没有写保护后,再将数据写入该区域,然后再检查4KB大小的区域,若没有写保护再将数据写入该数据,直到写完所有数据或遇到写保护的区域停止写入。
但是,当向闪存写入大量数据时,每4KB检查一次的编程方式会导致系统进行频繁的检查工作,使得现有的编程方式效率低下。
发明内容
有鉴于此,本申请提供了一种闪存编程方法、装置及电子设备,用于提高闪存在进行编程时的工作效率。
为了实现上述目的,第一方面,本申请实施例提供了一种闪存编程方法,包括:
获取目标闪存的编程指令;
对目标闪存的所有待写入区域进行写保护检查,得到检查结果;
根据检查结果,向未设置写保护的待写入区域写入数据。
可选的,对目标闪存的所有待写入区域进行写保护检查,得到检查结果,包括:
检查目标闪存是否设置了整卡写保护;
若目标闪存未设置整卡写保护,则根据编程指令对目标闪存的所有待写入区域进行写保护检查,得到检查结果。
可选的,编程指令包括待写入区域的起始逻辑地址,待写入区域包括多个写保护组,根据编程指令对目标闪存的所有待写入区域进行写保护检查,得到检查结果,包括:
根据起始逻辑地址,确定起始逻辑地址所在的写保护组;
从起始逻辑地址所在的写保护组开始,按照逻辑地址从小到大的顺序依次对每个写保护组进行写保护检查;
若起始逻辑地址所在的写保护组设置了写保护,则停止检查并在检查结果中记录第一标记信息,第一标记信息用于指示结束编程;
在起始逻辑地址所在的写保护组未设置写保护的情况下,若检查到设置了写保护的写保护组,则停止检查并在检查结果中记录终止地址,终止地址是根据设置了写保护的写保护组的最小逻辑地址确定的;
若每个写保护组均未设置写保护,则在检查结果中记录第二标记信息,第二标记信息用于指示向起始逻辑地址与最大逻辑地址之间的待写入区域写入数据,最大逻辑地址为最后一个写保护组的最大逻辑地址。
可选的,根据检查结果,向未设置写保护的待写入区域写入数据,包括:
若检查结果中包括终止地址,则在起始逻辑地址与终止地址之间的待写入区域中写入数据;
若检查结果中包括第二标记信息,则在起始逻辑地址与最大逻辑地址之间的待写入区域写入数据。
可选的,方法还包括:
若检查结果中包括第一标记信息,则结束本次编程。
可选的,在起始逻辑地址与终止地址之间的待写入区域中写入数据,包括:
从起始逻辑地址开始,以预设大小的数据为单位写入数据;
根据已写入数据的逻辑地址和终止地址确定待写入区域的剩余空间;
在剩余空间小于预设大小的情况下,停止写入数据。
第二方面,本申请实施例提供一种闪存编程装置,其特征在于,包括:
检查模块,用于获取目标闪存的编程指令,并对目标闪存的所有待写入区域进行写保护检查,得到检查结果;
写入模块,用于根据检查结果,向未设置写保护的待写入区域写入数据。
可选的,检查模块具体用于:
检查目标闪存是否设置了整卡写保护;
若目标闪存未设置整卡写保护,则根据编程指令对目标闪存的所有待写入区域进行写保护检查,得到检查结果。
可选的,编程指令包括待写入区域的起始逻辑地址,待写入区域包括多个写保护组,检查模块具体用于:
根据起始逻辑地址,确定起始逻辑地址所在的写保护组;
从起始逻辑地址所在的写保护组开始,按照逻辑地址从小到大的顺序依次对每个写保护组进行写保护检查;
若起始逻辑地址所在的写保护组设置了写保护,则停止检查并在检查结果中记录第一标记信息,第一标记信息用于指示结束编程;
在起始逻辑地址所在的写保护组未设置写保护的情况下,若检查到设置了写保护的写保护组,则停止检查并在检查结果中记录终止地址,终止地址是根据设置了写保护的写保护组的最小逻辑地址确定的;
若每个写保护组均未设置写保护,则在检查结果中记录第二标记信息,第二标记信息用于指示向起始逻辑地址与最大逻辑地址之间的待写入区域写入数据,最大逻辑地址为最后一个写保护组的最大逻辑地址。
可选的,写入模块具体用于:
若检查结果中包括终止地址,则在起始逻辑地址与终止地址之间的待写入区域中写入数据;
若检查结果中包括第二标记信息,则在起始逻辑地址与最大逻辑地址之间的待写入区域写入数据。
可选的,写入模块,还用于:
若检查结果中包括第一标记信息,则结束本次编程。
可选的,写入模块具体用于:
从起始逻辑地址开始,以预设大小的数据为单位写入数据;
根据已写入数据的逻辑地址和终止地址确定待写入区域的剩余空间;
在剩余空间小于预设大小的情况下,停止写入数据。
第三方面,本申请实施例提供一种电子设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面的任一实施方式所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式所述的方法。
第五方面,本申请实施例提供一种芯片系统,包括:存储器和处理器,处理器与存储器耦合,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面的任一实施方式所述的方法。
本申请实施例提供的一种闪存编程方法、装置及电子设备,可以获取目标闪存的编程指令,并对目标闪存的所有待写入区域进行写保护检查,得到检查结果,然后根据检查结果,向未设置写保护的待写入区域写入数据。本申请中目标闪存可以先对待写入区域进行写保护检查得到检查结果,再根据检查结果对待写入区域进行编程,这样无需频繁的进行写保护检查,因而可以提高目标闪存在进行编程时的工作效率。。
附图说明
图1为本申请实施例提供的一种闪存编程方法的流程示意图;
图2为本申请实施例提供的另一种闪存编程方法的流程示意图;
图3为本申请实施例提供的写保护检查的流程示意图;
图4为本申请实施例提供的闪存编程装置的结构示意图;
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
本申请实施例提供的闪存编程方法可以应用于储存卡、记忆棒、微硬盘和U盘等电子设备,本申请实施例对电子设备的具体类型不作任何限制。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本申请实施例提供的一种闪存编程方法的流程示意图,如图1所示,该方法包括如下步骤:
S110、获取目标闪存的编程指令。
闪存的全称为快闪存储器,是一种电子式可清除程序化只读存储器,闪存主要包括两部分,闪存控制器和闪存存储器,闪存控制器主要的作用是接收主机(即电脑、手机等计算设备)发送的数据和指令,并根据接收的命令对闪存存储器进行相应的操作;闪存存储器主要的作用是存储主机发送的数据,由于闪存的主要作用是存储数据,所以“闪存”一词通常指代的是闪存存储器。从物理结构的角度讲,闪存存储器是由多个块(Block)组成的,每个块由多个页(Page)组成,每个页由多个存储单元(Cell)组成。存储单元是闪存存储器的最小工作单位,根据每个存储单元内可存储的数据量不同,存储单元又可以分为单层单元(Single Level Cell,SLC),一个单层单元可存储1比特的数据;双层单元(MultiLevelCell,MLC),一个双层单元可存储2比特的数据;三层单元(TripleLevel Cell,TLC),一个三层单元可存储3比特的数据;四层单元(QuadLevel Cell,QLC),一个四层单元可存储4比特的数据。
主机需要向目标闪存中存储数据时,可以向目标闪存发送编程指令,然后由目标闪存中的闪存控制器根据该编程指令进行编程。在本申请实施例中,编程意为对目标闪存进行擦除和写的过程。
S120、对目标闪存的所有待写入区域进行写保护检查,得到检查结果。
在本申请实施例中,待写入区域为可以写入新数据的块,由于闪存写保护机制的存在,在每次对待写入区域进行编程时都需要检查待写入区域是否设置有写保护。在本申请中,目标闪存可以先对待写入区域进行写保护检查得到检查结果,再根据检查结果对待写入区域进行编程。这样目标闪存无需对待写入区域进行频繁的写保护检查,从而可以提高编程效率。
具体的,在对待写入区域进行写保护检查时,可以分两步进行:
第一步,检查目标闪存是否设置了整卡写保护。
整卡写保护是指目标闪存的所有块均设置了写保护,在设置了整卡写保护的情况下,目标闪存的每个块均无法写入新数据,因此,若检查到目标闪存设置了整卡写保护,则停止该目标闪存的编程操作,并向主机反馈无法向该目标闪存存储数据的信息;若检查到目标闪存未设置整卡写保护,则执行第二步。
例如,在本申请实施例具体实施时,目标闪存可以使用一个变量表示检查结果,图2为本申请实施例提供的另一种闪存编程方法的流程示意图,如图2所示,目标闪存采用“gulWPL4K”变量表示检查结果。具体流程为,当目标闪存获取到编程指令后,根据编程指令中的编程命令开启编程进程,并将gulWPL4K初始化为无效值。目标闪存先检查是否设置了整卡写保护,若设置了整卡写保护则先将gulWPL4K设置为0,再根据检查结果,确定是否向未设置写保护的待写入区域写入数据。
第二步,根据编程指令对目标闪存的所有待写入区域进行写保护检查,得到检查结果。
在现有的写保护机制中,可以设置写保护的最小单位是组,一个写保护组可以包括多个块,例如,一个写保护组中可以包括五个块,则在对该写保护组设置写保护后,该写保护组中的五个块均处于写保护的状态。同时,写保护组具有最少数量的限制,即一个写保护组中的块数量不得低于最小数量,若最小数量为三,则一个写保护组中的块数量不得低于三块。在相关技术中,采用的编程方式是每次检查4KB大小的区域,再写入4KB大小的数据,也即是,闪存会先确定当前4KB大小的区域属于哪个写保护组,再确定该写保护组是否设置了写保护,进而确定当前4KB大小的区域是否可以进行编程操作,在进行编程操作后再检查下一个4KB大小的区域,由于一个写保护组的大小远大于4KB,所以同一个写保护组会被重复检查多次。
为了提高闪存的编程效率,本申请可以在先检查后编程的基础上,以写保护组为最小检查单位连续检查待写入区域的写保护状态。图3为本申请实施例提供的写保护检查的流程示意图,如图3所示,该方法包括如下步骤:
S121、根据起始逻辑地址,确定起始逻辑地址所在的写保护组。
主机发送的编程指令可以包括待写入区域的起始逻辑地址和编程命令,编程命令的作用是通知目标闪存启动编程进程,起始逻辑地址为新数据写入的第一个逻辑地址。目标闪存可以根据起始逻辑地址,先确定该起始逻辑地址所在的块,再确定该块所在的写保护组。
S122、从起始逻辑地址所在的写保护组开始,按照逻辑地址从小到大的顺序依次对每个写保护组进行写保护检查。
具体的,目标闪存可以以写保护组的大小为单位,从起始逻辑地址所在的写保护组开始,按照逻辑地址从小到大的顺序依次对每个写保护组进行写保护检查。例如,若单个写保护组的大小是1MB,则目标闪存可以以1MB为单位,每次检查时先确定当前1MB大小的区域属于哪个写保护组,再确定该写保护组是否设置了写保护,然后按照逻辑地址从小到大的顺序依次完成每个写保护组的写保护检查,得到检查结果。
进一步的,在目标闪存进行检查时,可以根据不同的检查结果执行不同的步骤。
S123、若起始逻辑地址所在的写保护组设置了写保护,则停止检查并在检查结果中记录第一标记信息。
对于闪存而言,编程是按照逻辑地址从小到大的顺序进行的,在遇到设置了写保护的写保护组时会停止编程,因此,在目标闪存进行检查时,若起始逻辑地址所在的写保护组设置了写保护,则表示无需进行后续的编程了,此时,目标闪存可以停止检查并在检查结果中记录第一标记信息,第一标记信息的作用是指示结束编程。
例如,参考图2,在未设置整卡写保护的情况下,目标闪存可以确定编程指令中起始逻辑地址所在的写保护组。然后,目标闪存可以检查起始逻辑地址所在的写保护组是否设置了写保护,若设置了写保护则先将gulWPL4K设置为0(即第一标记信息),再根据检查结果,确定是否向未设置写保护的待写入区域写入数据。
S124、在起始逻辑地址所在的写保护组未设置写保护的情况下,若检查到设置了写保护的写保护组,则停止检查并在检查结果中记录终止地址。
若起始逻辑地址所在的写保护组未设置写保护,则表示目标闪存可以写入部分新数据。在后续的检查过程中,若目标闪存检查到设置了写保护的写保护组,则可以停止检查并在检查结果中记录终止地址,终止地址是根据设置了写保护的写保护组的最小逻辑地址确定的,也可以根据是设置了写保护的写保护组的前一逻辑地址确定的。
例如,参考图2,在起始逻辑地址所在的写保护组未设置写保护的情况下,按照逻辑地址从小到大的顺序依次对每个写保护组进行写保护检查,若目标闪存检查到设置了写保护的写保护组,则停止检查并在gulWPL4K中记录终止地址,再根据检查结果,确定是否向未设置写保护的待写入区域写入数据。
S125、若每个写保护组均未设置写保护,则在检查结果中记录第二标记信息。
在没有遇见设置有写保护的写保护组时,目标闪存可以一直进行检查,直到待写入区域的最大逻辑地址,即检查完所有待写入区域。若每个写保护组均未设置写保护,则表示目标闪存的待写入区域中没有设置写保护,此时,目标闪存可以在检查结果中记录第二标记信息,第二标记信息作用是指示向起始逻辑地址与最大逻辑地址之间的待写入区域写入数据,最大逻辑地址为最后一个写保护组的最大逻辑地址。
例如,参考图2,在检查完所有待写入区域的情况下,若目标闪存没有检查到设置了写保护的写保护组,则在检查完所有待写入区域后停止检查(此时,gulWPL4K为无效值,即第二标记信息),并根据检查结果,确定是否向未设置写保护的待写入区域写入数据。
S130、根据检查结果,向未设置写保护的待写入区域写入数据。
在经过上述步骤后,待写入区域的写保护状态已经被记录在检查结果中,目标闪存可以根据检查结果,直接向未设置写保护的待写入区域写入数据,而无需在写入数据的过程中再频繁的进行写保护检查。
具体的,若检查结果中包括终止地址,则目标闪存可以在起始逻辑地址与终止地址之间的待写入区域中写入数据。目标闪存可以从起始逻辑地址开始,以预设大小的数据为单位写入新数据(在实际写入时需要先执行擦除操作,具体的步骤不再详细叙述),并根据已写入数据的逻辑地址和终止地址确定待写入区域的剩余空间,直到在剩余空间小于预设大小的情况下,停止写入数据。例如,目标闪存可以在每写入4KB大小的新数据后,将当前的待写入逻辑地址与终止地址进行对比,若当前的待写入逻辑地址与终止地址之间小于4KB大小,则停止写入数据。
若检查结果中包括第二标记信息,则目标闪存可以直接在起始逻辑地址与最大逻辑地址之间的待写入区域写入新数据,并且无需执行检查剩余空间大小的步骤,从而可以进一步提高目标闪存的编程效率。
若检查结果中包括第一标记信息,则目标闪存可以结束本次编程。
例如,参考图2,在获得检查结果后,目标闪存可以根据检查结果,确定是否向未设置写保护的待写入区域写入数据,若gulWPL4K为0则结束本次编程进程;若gulWPL4K为无效值,则直接在起始逻辑地址与最大逻辑地址之间的待写入区域写入新数据;若gulWPL4K大于0,则根据gulWPL4K中的终止地址写入新数据。
在本申请实施例中,目标闪存先对目标闪存的所有待写入区域进行写保护检查,得到检查结果,然后再根据检查结果,向未设置写保护的待写入区域写入数据,这样无需频繁的进行写保护检查,因而可以提高目标闪存在进行编程时的工作效率。
基于同一发明构思,作为对上述方法的实现,本申请实施例提供了一种闪存编程装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
图4为本申请实施例提供的闪存编程装置的结构示意图,如图4所示,本实施例提供的装置包括:
检查模块110,用于获取目标闪存的编程指令,并对目标闪存的所有待写入区域进行写保护检查,得到检查结果;
写入模块120,用于根据检查结果,向未设置写保护的待写入区域写入数据。
可选的,检查模块110具体用于:
检查目标闪存是否设置了整卡写保护;
若目标闪存未设置整卡写保护,则根据编程指令对目标闪存的所有待写入区域进行写保护检查,得到检查结果。
可选的,编程指令包括待写入区域的起始逻辑地址,待写入区域包括多个写保护组,检查模块110具体用于:
根据起始逻辑地址,确定起始逻辑地址所在的写保护组;
从起始逻辑地址所在的写保护组开始,按照逻辑地址从小到大的顺序依次对每个写保护组进行写保护检查;
若起始逻辑地址所在的写保护组设置了写保护,则停止检查并在检查结果中记录第一标记信息,第一标记信息用于指示结束编程;
在起始逻辑地址所在的写保护组未设置写保护的情况下,若检查到设置了写保护的写保护组,则停止检查并在检查结果中记录终止地址,终止地址是根据设置了写保护的写保护组的最小逻辑地址确定的;
若每个写保护组均未设置写保护,则在检查结果中记录第二标记信息,第二标记信息用于指示向起始逻辑地址与最大逻辑地址之间的待写入区域写入数据,最大逻辑地址为最后一个写保护组的最大逻辑地址。
可选的,写入模块120具体用于:
若检查结果中包括终止地址,则在起始逻辑地址与终止地址之间的待写入区域中写入数据;
若检查结果中包括第二标记信息,则在起始逻辑地址与最大逻辑地址之间的待写入区域写入数据。
可选的,写入模块120,还用于:
若检查结果中包括第一标记信息,则结束本次编程。
可选的,写入模块120具体用于:
从起始逻辑地址开始,以预设大小的数据为单位写入数据;
根据已写入数据的逻辑地址和终止地址确定待写入区域的剩余空间;
在剩余空间小于预设大小的情况下,停止写入数据。
本实施例提供的闪存编程装置可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
基于同一发明构思,本申请实施例还提供了一种电子设备。图5为本申请实施例提供的电子设备的结构示意图,如图5所示,本实施例提供的5包括:存储器21和处理器20,存储器21用于存储计算机程序;处理器20用于在调用计算机程序22时执行上述方法实施例所述的方法。
本实施例提供的电子设备可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的方法。
本申请实施例还提供一种芯片系统,包括:存储器和处理器,处理器与存储器耦合,存储器用于存储计算机程序,当计算机程序产品在处理器上运行时,使得芯片系统执行时实现上述方法实施例所述的方法。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种闪存编程方法,其特征在于,包括:
获取目标闪存的编程指令;
对所述目标闪存的所有待写入区域进行写保护检查,得到检查结果;
根据所述检查结果,向未设置写保护的待写入区域写入数据。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标闪存的所有待写入区域进行写保护检查,得到检查结果,包括:
检查所述目标闪存是否设置了整卡写保护;
若所述目标闪存未设置整卡写保护,则根据所述编程指令对所述目标闪存的所有待写入区域进行写保护检查,得到检查结果。
3.根据权利要求2所述的方法,其特征在于,所述编程指令包括所述待写入区域的起始逻辑地址,所述待写入区域包括多个写保护组,所述根据所述编程指令对所述目标闪存的所有待写入区域进行写保护检查,得到检查结果,包括:
根据所述起始逻辑地址,确定所述起始逻辑地址所在的写保护组;
从所述起始逻辑地址所在的写保护组开始,按照逻辑地址从小到大的顺序依次对每个写保护组进行写保护检查;
若所述起始逻辑地址所在的写保护组设置了写保护,则停止检查并在所述检查结果中记录第一标记信息,所述第一标记信息用于指示结束编程;
在所述起始逻辑地址所在的写保护组未设置写保护的情况下,若检查到设置了写保护的写保护组,则停止检查并在所述检查结果中记录终止地址,所述终止地址是根据所述设置了写保护的写保护组的最小逻辑地址确定的;
若每个写保护组均未设置写保护,则在所述检查结果中记录第二标记信息,所述第二标记信息用于指示向所述起始逻辑地址与最大逻辑地址之间的待写入区域写入数据,所述最大逻辑地址为最后一个写保护组的最大逻辑地址。
4.根据权利要求3所述的方法,其特征在于,所述根据所述检查结果,向未设置写保护的待写入区域写入数据,包括:
若所述检查结果中包括所述终止地址,则在所述起始逻辑地址与所述终止地址之间的待写入区域中写入数据;
若所述检查结果中包括所述第二标记信息,则在所述起始逻辑地址与所述最大逻辑地址之间的待写入区域写入数据。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述检查结果中包括第一标记信息,则结束本次编程。
6.根据权利要求4所述的方法,其特征在于,所述在所述起始逻辑地址与所述终止地址之间的待写入区域中写入数据,包括:
从所述起始逻辑地址开始,以预设大小的数据为单位写入数据;
根据已写入数据的逻辑地址和所述终止地址确定所述待写入区域的剩余空间;
在所述剩余空间小于预设大小的情况下,停止写入数据。
7.一种闪存编程装置,其特征在于,包括:
检查模块,用于获取目标闪存的编程指令,并对所述目标闪存的所有待写入区域进行写保护检查,得到检查结果;
写入模块,用于根据所述检查结果,向未设置写保护的待写入区域写入数据。
8.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述的方法。
10.一种芯片系统,其特征在于,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011089301.8A CN112347524B (zh) | 2020-10-13 | 2020-10-13 | 闪存编程方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011089301.8A CN112347524B (zh) | 2020-10-13 | 2020-10-13 | 闪存编程方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112347524A true CN112347524A (zh) | 2021-02-09 |
CN112347524B CN112347524B (zh) | 2024-07-02 |
Family
ID=74361919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011089301.8A Active CN112347524B (zh) | 2020-10-13 | 2020-10-13 | 闪存编程方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112347524B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116204450A (zh) * | 2023-04-28 | 2023-06-02 | 新华三技术有限公司 | 数据写入方法、处理器、器件、业务板及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1554069A (zh) * | 2001-09-13 | 2004-12-08 | ��ʽ���������Ƽ� | 存储卡及其初始化设置方法 |
CN1635580A (zh) * | 2003-12-31 | 2005-07-06 | 深圳市朗科科技有限公司 | 闪存介质数据写入方法 |
US20100205352A1 (en) * | 2009-02-10 | 2010-08-12 | Phison Electronics Corp. | Multilevel cell nand flash memory storage system, and controller and access method thereof |
US9047214B1 (en) * | 2012-05-22 | 2015-06-02 | Pmc-Sierra, Inc. | System and method for tolerating a failed page in a flash device |
CN107391038A (zh) * | 2017-07-26 | 2017-11-24 | 深圳市硅格半导体股份有限公司 | 资料存储型闪存的数据写入方法、闪存及存储介质 |
CN108694052A (zh) * | 2018-06-29 | 2018-10-23 | 郑州云海信息技术有限公司 | 一种固件升级方法、固件升级装置及固件升级系统 |
CN110097492A (zh) * | 2013-09-26 | 2019-08-06 | 想象技术有限公司 | 原子存储器更新单元和方法 |
US20220129189A1 (en) * | 2019-07-10 | 2022-04-28 | Huawei Technologies Co., Ltd. | Data Storage Method in Flash Device and Flash Device |
-
2020
- 2020-10-13 CN CN202011089301.8A patent/CN112347524B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1554069A (zh) * | 2001-09-13 | 2004-12-08 | ��ʽ���������Ƽ� | 存储卡及其初始化设置方法 |
CN1635580A (zh) * | 2003-12-31 | 2005-07-06 | 深圳市朗科科技有限公司 | 闪存介质数据写入方法 |
US20100205352A1 (en) * | 2009-02-10 | 2010-08-12 | Phison Electronics Corp. | Multilevel cell nand flash memory storage system, and controller and access method thereof |
US9047214B1 (en) * | 2012-05-22 | 2015-06-02 | Pmc-Sierra, Inc. | System and method for tolerating a failed page in a flash device |
CN110097492A (zh) * | 2013-09-26 | 2019-08-06 | 想象技术有限公司 | 原子存储器更新单元和方法 |
CN107391038A (zh) * | 2017-07-26 | 2017-11-24 | 深圳市硅格半导体股份有限公司 | 资料存储型闪存的数据写入方法、闪存及存储介质 |
CN108694052A (zh) * | 2018-06-29 | 2018-10-23 | 郑州云海信息技术有限公司 | 一种固件升级方法、固件升级装置及固件升级系统 |
US20220129189A1 (en) * | 2019-07-10 | 2022-04-28 | Huawei Technologies Co., Ltd. | Data Storage Method in Flash Device and Flash Device |
Non-Patent Citations (2)
Title |
---|
KACZMAREK J: "Operating system security by integrity checking and recovery using write‐protected storage", 《IET INFORMATION SECURITY》, 31 December 2014 (2014-12-31), pages 122 - 131 * |
马方: "《监察调查程序与方法》", 29 February 2020, 中国方正出版社, pages: 191 - 192 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116204450A (zh) * | 2023-04-28 | 2023-06-02 | 新华三技术有限公司 | 数据写入方法、处理器、器件、业务板及存储介质 |
CN116204450B (zh) * | 2023-04-28 | 2023-08-18 | 新华三技术有限公司 | 数据写入方法、处理器、器件、业务板及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112347524B (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112416242B (zh) | 数据存储设备及其操作方法 | |
KR101868708B1 (ko) | 비정렬 데이터 통합 | |
KR20200022118A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
US10997039B2 (en) | Data storage device and operating method thereof | |
US11249897B2 (en) | Data storage device and operating method thereof | |
KR20170053278A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR101561546B1 (ko) | 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기 | |
US9772937B2 (en) | Data processing method, memory controller and memory storage apparatus | |
US9552287B2 (en) | Data management method, memory controller and embedded memory storage apparatus using the same | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
US20220138096A1 (en) | Memory system | |
CN112347001B (zh) | 闪存垃圾回收的校验方法、装置及电子设备 | |
CN111444030A (zh) | 数据储存装置及避免固件失效的方法 | |
CN113741798A (zh) | 数据存储装置及其操作方法 | |
CN112347524B (zh) | 闪存编程方法、装置及电子设备 | |
KR20190091035A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
KR20190090634A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US11720276B2 (en) | Memory system and controller for managing write status | |
US20200394134A1 (en) | Data storage device and operating method thereof | |
CN111897489A (zh) | 数据写入方法、装置、设备及计算机可读存储介质 | |
CN112015672A (zh) | 一种存储系统中数据处理方法、装置、设备及存储介质 | |
KR20210048349A (ko) | 메모리 시스템 | |
US11954347B2 (en) | Memory system and operating method thereof | |
US20240160385A1 (en) | Memory controller and operation method thereof, memory system and electronic device | |
CN117435120A (zh) | 一种ssd、ssd的主控芯片及ssd资源管理方法 |
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 |