CN114527934A - 闪存的控制方法、装置、存储介质和电子设备 - Google Patents
闪存的控制方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN114527934A CN114527934A CN202210033332.4A CN202210033332A CN114527934A CN 114527934 A CN114527934 A CN 114527934A CN 202210033332 A CN202210033332 A CN 202210033332A CN 114527934 A CN114527934 A CN 114527934A
- Authority
- CN
- China
- Prior art keywords
- storage space
- flash memory
- data
- bytes
- target data
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 123
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
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/0638—Organizing or formatting or addressing of data
-
- 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
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)
- Read Only Memory (AREA)
Abstract
本申请实施例公开了一种闪存的控制方法、装置、存储介质、电子设备,涉及存储控制领域。本申请在接收到待写入的目标数据时,根据预设的遍历粒度在第一存储空间中遍历数值等于0的比特位的数量,在数量小于闪存的最大写入次数时,根据数量确定存储单元的起始地址,然后将目标数据写入到确定的存储单元中,以及修改第一存储空间中当前写入次数对应的比特位的数值修改为0,相对比现有技术本申请在写入目标数据之前可以减少遍历未写数据单元的次数,减少遍历的时间和提高写入的效率。
Description
技术领域
本申请存储控制领域,尤其涉及一种闪存的控制方法、装置、存储介质和电子设备。
背景技术
闪存(flash memory,快闪存储器)是一种非易失性存储器,在上电后,会根据一定的遍历粒度在闪存中遍历未写数据的存储单元,然后将数据写入到遍历到的存储单元,最大遍历次数和闪存的容量和遍历粒度有关。例如:闪存的容量为256K个字节,遍历粒度为4个字节,那么最大遍历次数为(256*1024-8)/4=65534次,即最坏的情况下需要遍历65534次能到查找到未写数据的存储空间,因此遍历的效率较低。
发明内容
本申请实施例提供了闪存的控制方法、装置、存储介质及电子设备,可以解决现有技术在闪存中遍历未写数据的存储单元存在效率较低的问题。所述技术方案如下:
第一方面,本申请实施例提供了一种闪存的控制方法,应用于容量为y个字节的闪存,所述闪存的读写粒度为x个字节,所述闪存包括第一存储空间和第二存储空间,所述第一存储空间的大小为n个比特,满足n=floor[(y-1)/(x+1/x)];
所述控制方法包括:
接收待写入的目标数据;其中,所述目标数据的大小为x个字节;
以k个字节为遍历粒度在所述第一存储空间中进行遍历;其中,1≤k≤x,k为整数;
根据遍历结果统计所述第一存储空间中数值等于0比特位的数量;
若所述数量小于n时,根据所述数量在所述第二存储空间中确定未写数据的存储单元的起始地址;其中,所述存储单元的大小为x个字节;
根据所述起始地址,将所述目标数据写入第二存储空间中;
成功写入所述目标数据后,根据所述遍历结果确定所述第一存储空间位于最高位的数值为0的比特位的序号i,以及将序号为i+1的比特位的数值修改为0。
第二方面,本申请实施例提供了一种闪存的控制装置,应用于容量为y个字节的闪存,所述闪存的读写粒度为x个字节,所述闪存包括第一存储空间和第二存储空间,所述第一存储空间的大小为n个比特,满足n=floor[(y-1)/(x+1/x)];
所述闪存的控制装置包括:
收发单元,用于接收待写入的目标数据;其中,所述目标数据的大小为x个字节;
遍历单元,用于以k个字节为遍历粒度在所述第一存储空间中进行遍历;其中,1≤k≤x,k为整数;
统计单元,用于根据遍历结果统计所述第一存储空间中数值等于0比特位的数量;
确定单元,用于若所述数量小于n时,根据所述数量在所述第二存储空间中确定未写数据的存储单元的起始地址;其中,所述存储单元的大小为x个字节;
写入单元,用于根据所述起始地址,将所述目标数据写入第二存储空间中;
修改单元,用于成功写入所述目标数据后,根据所述遍历结果确定所述第一存储空间位于最高位的数值为0的比特位的序号i,以及将序号为i+1的比特位的数值修改为0。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在闪存中设置第一存储空间,第一存储空间的大小与闪存的容量和读写粒度有关,第一存储空间中的每个比特位对应一个写入次数,在接收到待写入的目标数据时,根据预设的遍历粒度在第一存储空间中遍历数值等于0的比特位的数量,在数量小于闪存的最大写入次数时,根据数量确定存储单元的起始地址,然后将目标数据写入到确定的存储单元中,以及修改第一存储空间中当前写入次数对应的比特位的数值修改为0,本申请在写入目标数据之前可以减少遍历未写数据单元的次数,减少遍历的时间和提高写入的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的电子设备的示意图;
图2是本申请实施例提供的闪存的控制方法的流程示意图;
图3是本申请提供的一种闪存的控制装置的结构示意图;
图4是本申请提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
需要说明的是,本申请提供的内存的控制一般由闪存的控制装置101执行,相应的,闪存的控制装置101一般设置于电子设备10中。
图1示出了可以应用于本申请的电子设备的结构图。
电子设备10除包括壳体之外,还包括闪存的控制装置101和闪存102,闪存的数量可以为一个或多个,控制装置101和闪存102之间相连。电子设备是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携式计算机和台式计算机等等。例如:显示设备可以是阴极射线管显示器(cathode ray tube display,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquid crystaldisplay,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用电子设备上的显示设备,来查看显示的文字、图片、视频等信息。
电子设备其上还可以安装摄像头,摄像头用于采集视频流。
下面将结合附图2,对本申请实施例提供的闪存的控制方法进行详细介绍。
请参见图2,为本申请实施例提供了一种闪存的控制方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤:
S201、接收待写入的目标数据。
其中,目标数据为写入到闪存中的数据,目标数据的大小等于闪存的读写粒度,例如:闪存的读写粒度为8个字节,那么每次在闪存中读写的数据的大小也为8个字节。闪存的类型可以为NOR闪存或NAND闪存,目标数据包含真实数据和校验数据,校验数据用于校验真实数据是否发生错误,例如:真实数据的大小为4个字节,校验数据的大小也为4个字节,校验数据为CRC校验码或其他类型的校验码。目标数据来自外部的读写设备,例如:处理器、内存控制器或其他类型的设备等。进一步的,在待写入数据的大小大于读写粒度时,将待写入数据分割为多个大小相等的目标数据,当待写入数据的大小不为读写粒度的整数倍时,可以将最后一个分割的数据进行填充操作使其大小等于目标数据。
其中,本申请的闪存的容量为y个字节,闪存的读写粒度为x个字节,即读写设备每次可以从闪存中读取或写入所述x个字节的数据,闪存由第一存储空间和第二存储空间组成,第一存储空间位于第二存储空间的前面且相邻。第一存储空间的大小为n个比特,n表示闪存中以所述x个字节为读写粒度执行写操作的最大次数,n为整数,满足n=floor[(y-1)/(x+1/x)],floor[]表示向下取整,即将计算结果中的小数部分舍去。
举例来说,假设y=256*1024,即闪存的容量为256K字节,x=8,那么n=floor[(256*1024-1)/(8+1/8)]=floor[32263.7538]=32263。即第一存储空间的大小为62263个比特,第二存储空间的大小为出第一存储空间之外的部分。
S202、以k个字节为遍历粒度在第一存储空间中进行遍历。
其中,遍历粒度表示每次遍历查询的数据的大小,本申请的遍历粒度为k个字节,满足1≤k≤x的整数,那么在第一存储空间的字节数除以k得到的结果,相应的本申请的最大遍历次数为floor[n/(8*k)],即最坏的情况下遍历floor[n/(8*k)]次才能查找到未写数据的存储单元。例如:根据上面的例子,k=4,第一存储空间的大小为n=32263比特,换算成字节为floor(32263/8)=4032字节,那么最大遍历次数等于floor(4032/4)=1008次,在现有技术中,最大遍历次数=(256*1024-8)/4≈63998,可以看出本申请的最大遍历次数远小于现有技术的最大遍历次数。
本申请可以在32263个比特位的低位向高位进行遍历,每次遍历时记录遍历到的比特位的位置,若遍历到的k个字节的比特位的数值全部为0,则继续遍历,若遍历到的k个字节的比特位置的数全部为1,则停止遍历。
S203、根据遍历结果统计第一存储空间中数值等于0的比特位的数量。
其中,在遍历到的k个字节的比特位的数值全部为1时,停止遍历,统计遍历到的数值为0的比特位的数量,由于第一存储空间中数值为0的比特位是连续分布的,因此统计的数量也是第一存储空间中数值为0的比特位的数量。
S204、若数量小于n,根据数量在第二存储空间中确定未写数据的存储单元的起始地址。
其中,第二存储空间用于写入目标数据,第二存储空间由多个大小相等的存储单元组成,每次存储单元对应一个地址,存储单元的大小为x个字节。未写数据的存储单元即存储单元包含的各个比特位的数值全部为1,已写数据的存储单元即包含的各个比特位的数值至少有一个为0。本申请的未写数据的存储单元的起始地址,即第二存储空间中首个未写数据的存储单元的地址。
进一步的,本申请的存储单元的大小为1个字节,地址使用16进制来表示,根据如下公式来确定未写数据的存储单元的起始地址:
addr_b+floor(n/8)+addr_offset*8+8;其中,addr_b表示基地址,addr_offset表示所述第一存储空间中数值为0的比特位的数量。
例如:基地址为0x0000,n=32263,floor(32263/8)=1008,第一存储空间中数值为0的比特位的数量为20,即addr_offset=20,那么确定的未写数据的存储单元的起始地址为0x100B,该存储单元即为即将写入目标数据的单元。
可选的,若数量等于n时,表示闪存的第二存储空间中不存在未写数据的存储单元,对闪存执行擦除操作,将第一存储单元和第二存储单元包含的所有比特位的值修改为1。
S205、根据起始地址,将目标数据写入到第二存储空间中。
其中,根据起始地址指示的存储单元,将目标数据写入到该存储单元中,写入的方法是将对应的比特位的数值由1修改为0。
S206、成功写入目标数据后,根据遍历结果确定第一存储空间位于最高位的数值为0的比特位的序号i,以及i+1位的比特位置的数值修改为0。
其中,第一存储空间中包含的比特位的序号从1开始编号,每次递增1,直到递增到n。在将比特位由1修改为0的时,从低位到高位依次修改。本申请在存储单元中写入目标数据后,可以再从该存储单元中读取数据,读取的数据包含真实数据和校验数据,当校验数据和真实数据匹配时,表明写入成功。根据上面的遍历结果确定最高位的数值为1的比特位的序号i,然后将序号为i+1的比特位的数值由1修改为0。例如:根据上面的例子,遍历到的数值为0的比特位的数量为20,即最高位的数值为0的比特位的序号为20,然后将序号为21的比特位的数值由1修改为0。
实施本申请的实施例,在闪存中设置第一存储空间,第一存储空间的大小与闪存的容量和读写粒度有关,第一存储空间中的每个比特位对应一个写入次数,在接收到待写入的目标数据时,根据预设的遍历粒度在第一存储空间中遍历数值等于0的比特位的数量,在数量小于闪存的最大写入次数时,根据数量确定存储单元的起始地址,然后将目标数据写入到确定的存储单元中,以及修改第一存储空间中当前写入次数对应的比特位的数值修改为0,本申请在写入目标数据之前可以减少遍历未写数据单元的次数,减少遍历的时间和提高写入的效率。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图3,其示出了本申请一个示例性实施例提供的闪存的控制装置的结构示意图,以下简称装置3。该装置3可以通过软件、硬件或者两者的结合实现成为电子设备的全部或一部分。本申请,应用于容量为y个字节的闪存,所述闪存的读写粒度为x个字节,所述闪存包括第一存储空间和第二存储空间,所述第一存储空间的大小为n个比特,满足n=floor[(y-1)/(x+1/x)]。装置3包括:收发单元301、遍历单元302、统计单元303、确定单元304、写入单元305和修改单元306。
收发单元301,用于接收待写入的目标数据;其中,所述目标数据的大小为x个字节;
遍历单元302,用于以k个字节为遍历粒度在所述第一存储空间中进行遍历;其中,1≤k≤x,k为整数;
统计单元303,用于根据遍历结果统计所述第一存储空间中数值等于0比特位的数量;
确定单元304,用于若所述数量小于n时,根据所述数量在所述第二存储空间中确定未写数据的存储单元的起始地址;其中,所述存储单元的大小为x个字节;
写入单元305,用于根据所述起始地址,将所述目标数据写入第二存储空间中;
修改单元306,用于成功写入所述目标数据后,根据所述遍历结果确定所述第一存储空间位于最高位的数值为0的比特位的序号i,以及将序号为i+1的比特位的数值修改为0。
在一个或多个可能的实施例中,还包括:
擦除单元,用于若所述数量等于n,则将所述闪存进行全片擦除操作。
在一个或多个可能的实施例中,所述x=8,k=4。
在一个或多个可能的实施例中,所述目标数据包含真实数据和校验数据。
在一个或多个可能的实施例中,所述真实数据的大小为4个字节,所述校验数据的大小为4个字节。
在一个或多个可能的实施例中,所述根据所述数量在所述第二存储空间中确定未写数据的存储单元的起始地址,包括:
根据如下公式确定未写数据的存储单元的起始地址:
addr_b+floor(n/8)+addr_offset*8+8;其中,addr_b表示基地址,addr_offset表示所述第一存储空间中数值为0的比特位的数量。
在一个或多个可能的实施例中,在待写入数据的大小超过所述x个字节时,将所述待写入数据分割为多个目标数据。
需要说明的是,上述实施例提供的装置5在执行闪存的控制方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成上述的全部或者部分功能。另外,上述实施例提供的闪存的控制装置与闪存的控制方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2所示实施例的方法步骤,具体执行过程可以参见图2所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的闪存的控制方法。
请参见图4,为本申请实施例提供了一种电子设备的结构示意图。如图4所示,所述电子设备400可以包括:至少一个处理器401,至少一个通信接口404,用户接口403,存储器405,至少一个通信总线402。
其中,通信总线402用于实现这些组件之间的连接通信。
可选的,电子设备还包括用户接口403,用于执行人机交互操作。例如:用户接口403可以包括显示屏(Display)、摄像头(Camera)。
其中,电子设备设置有通信接口404,用于与外部设备进行通信。相应的,通信接口404可以为无线接口,例如:包括WI-FI接口、蓝牙接口等。
其中,处理器401可以包括一个或者多个处理核心。处理器401利用各种接口和线路连接整个电子设备400内的各个部分,通过运行或执行存储在存储器405内的指令、程序、代码集或指令集,以及调用存储在存储器405内的数据,执行电子设备400的各种功能和处理数据。可选的,处理器401可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable GateArray,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器401可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器401中,单独通过一块芯片进行实现。
其中,存储器405可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器405包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器405可用于存储指令、程序、代码、代码集或指令集。存储器405可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器405可选的还可以是至少一个位于远离前述处理器401的存储装置。如图4所示,作为一种计算机存储介质的存储器405中可以包括操作系统、网络通信模块、用户接口模块以及应用程序。
在图4所示的电子设备400中,用户接口403主要用于为用户提供输入的接口,获取用户输入的数据;而处理器401可以用于调用存储器405中存储的应用程序,并具体执行如图2所示的方法,具体过程可参照图2所示,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种闪存的控制方法,其特征在于,应用于容量为y个字节的闪存,所述闪存的读写粒度为x个字节,所述闪存包括第一存储空间和第二存储空间,所述第一存储空间的大小为n个比特,满足n=floor[(y-1)/(x+1/x)];
所述控制方法包括:
接收待写入的目标数据;其中,所述目标数据的大小为x个字节;
以k个字节为遍历粒度在所述第一存储空间中进行遍历;其中,1≤k≤x,k为整数;
根据遍历结果统计所述第一存储空间中数值等于0比特位的数量;
若所述数量小于n时,根据所述数量在所述第二存储空间中确定未写数据的存储单元的起始地址;其中,所述存储单元的大小为x个字节;
根据所述起始地址,将所述目标数据写入所述第二存储空间中;
成功写入所述目标数据后,根据所述遍历结果确定所述第一存储空间位于最高位的数值为0的比特位的序号i,以及将序号为i+1的比特位的数值修改为0。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述数量等于n,则将所述闪存进行全片擦除操作。
3.根据权利要求1或2所述的方法,其特征在于,所述x=8,k=4。
4.根据权利要求3所述的方法,其特征在于,所述目标数据包含真实数据和校验数据。
5.根据权利要求4所述的方法,其特征在于,所述真实数据的大小为4个字节,所述校验数据的大小为4个字节。
6.根据权利要求1或2或4或5所述的方法,其特征在于,所述根据所述数量在所述第二存储空间中确定未写数据的存储单元的起始地址,包括:
根据如下公式确定未写数据的存储单元的起始地址:
addr_b+floor(n/8)+addr_offset*8+8;其中,addr_b表示基地址,addr_offset表示所述第一存储空间中数值为0的比特位的数量。
7.根据权利要求6所述的方法,其特征在于,在待写入数据的大小超过所述x个字节时,将待写入数据分割为多个目标数据。
8.一种闪存的控制装置,其特征在于,应用于容量为y个字节的闪存,所述闪存的读写粒度为x个字节,所述闪存包括第一存储空间和第二存储空间,所述第一存储空间的大小为n个比特,满足n=floor[(y-1)/(x+1/x)];
所述闪存的控制装置包括:
收发单元,用于接收待写入的目标数据;其中,所述目标数据的大小为x个字节;
遍历单元,用于以k个字节为遍历粒度在所述第一存储空间中进行遍历;其中,1≤k≤x,k为整数;
统计单元,用于根据遍历结果统计所述第一存储空间中数值等于0比特位的数量;
确定单元,用于若所述数量小于n时,根据所述数量在所述第二存储空间中确定未写数据的存储单元的起始地址;其中,所述存储单元的大小为x个字节;
写入单元,用于根据所述起始地址,将所述目标数据写入所述第二存储空间中;
修改单元,用于成功写入所述目标数据后,根据所述遍历结果确定所述第一存储空间位于最高位的数值为0的比特位的序号i,以及将序号为i+1的比特位的数值修改为0。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~7任意一项的方法步骤。
10.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~7任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210033332.4A CN114527934A (zh) | 2022-01-12 | 2022-01-12 | 闪存的控制方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210033332.4A CN114527934A (zh) | 2022-01-12 | 2022-01-12 | 闪存的控制方法、装置、存储介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114527934A true CN114527934A (zh) | 2022-05-24 |
Family
ID=81620951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210033332.4A Pending CN114527934A (zh) | 2022-01-12 | 2022-01-12 | 闪存的控制方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114527934A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116559841A (zh) * | 2023-07-07 | 2023-08-08 | 苏州识光芯科技术有限公司 | 光子计数方法、装置、芯片及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162608A (zh) * | 2006-10-10 | 2008-04-16 | 北京华旗资讯数码科技有限公司 | 闪存的存储块的标识方法 |
CN101923516A (zh) * | 2009-05-15 | 2010-12-22 | 旺宏电子股份有限公司 | 以区块为基础的快闪存储装置及其操作方法 |
KR20130111057A (ko) * | 2012-03-30 | 2013-10-10 | 유비벨록스(주) | 플래시 기반 메모리를 관리하기 위한 방법 |
CN103399826A (zh) * | 2013-08-15 | 2013-11-20 | 南京新联电子股份有限公司 | 一种基于nor flash的数据存储方法 |
CN106445405A (zh) * | 2015-08-13 | 2017-02-22 | 北京忆恒创源科技有限公司 | 一种面向闪存存储的数据访问方法及其装置 |
CN107256197A (zh) * | 2017-05-18 | 2017-10-17 | 深圳市晟碟半导体有限公司 | 一种数据存储方法、存储装置及智能终端 |
CN109947369A (zh) * | 2019-03-22 | 2019-06-28 | 河南卓正电子科技有限公司 | 数据存储方法及装置 |
CN113568579A (zh) * | 2021-07-28 | 2021-10-29 | 深圳市高川自动化技术有限公司 | 一种存储器、数据存储方法以及数据读取方法 |
-
2022
- 2022-01-12 CN CN202210033332.4A patent/CN114527934A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162608A (zh) * | 2006-10-10 | 2008-04-16 | 北京华旗资讯数码科技有限公司 | 闪存的存储块的标识方法 |
CN101923516A (zh) * | 2009-05-15 | 2010-12-22 | 旺宏电子股份有限公司 | 以区块为基础的快闪存储装置及其操作方法 |
KR20130111057A (ko) * | 2012-03-30 | 2013-10-10 | 유비벨록스(주) | 플래시 기반 메모리를 관리하기 위한 방법 |
CN103399826A (zh) * | 2013-08-15 | 2013-11-20 | 南京新联电子股份有限公司 | 一种基于nor flash的数据存储方法 |
CN106445405A (zh) * | 2015-08-13 | 2017-02-22 | 北京忆恒创源科技有限公司 | 一种面向闪存存储的数据访问方法及其装置 |
CN107256197A (zh) * | 2017-05-18 | 2017-10-17 | 深圳市晟碟半导体有限公司 | 一种数据存储方法、存储装置及智能终端 |
CN109947369A (zh) * | 2019-03-22 | 2019-06-28 | 河南卓正电子科技有限公司 | 数据存储方法及装置 |
CN113568579A (zh) * | 2021-07-28 | 2021-10-29 | 深圳市高川自动化技术有限公司 | 一种存储器、数据存储方法以及数据读取方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116559841A (zh) * | 2023-07-07 | 2023-08-08 | 苏州识光芯科技术有限公司 | 光子计数方法、装置、芯片及设备 |
CN116559841B (zh) * | 2023-07-07 | 2023-10-27 | 苏州识光芯科技术有限公司 | 光子计数方法、装置、芯片及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7239547B2 (en) | Memory device | |
CN110781096A (zh) | 用于通过预测需求时间来执行垃圾收集的设备和方法 | |
CN103513937A (zh) | 能够增加其生命周期的存储设备及其操作方法 | |
KR20210089853A (ko) | 컨트롤러 및 컨트롤러의 동작방법 | |
CN114051145B (zh) | 一种视频压缩处理方法、装置及介质 | |
CN113625973B (zh) | 数据写入方法、装置、电子设备及计算机可读存储介质 | |
CN107045423B (zh) | 存储器装置及其数据存取方法 | |
CN114996173B (zh) | 一种管理存储设备写操作的方法和装置 | |
KR20170012675A (ko) | 컴퓨팅 시스템 및 그것의 데이터 전송 방법 | |
CN114527934A (zh) | 闪存的控制方法、装置、存储介质和电子设备 | |
KR20190109872A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US9971549B2 (en) | Method of operating a memory device | |
US20160364148A1 (en) | Buffer memory accessing method, memory controller and memory storage device | |
CN111444117B (zh) | 存储空间碎片化实现方法、装置、存储介质及电子设备 | |
KR20210061544A (ko) | 컨트롤러 및 컨트롤러의 동작방법 | |
CN114995770B (zh) | 一种数据处理方法、装置、设备、系统及可读存储介质 | |
US11922062B2 (en) | Controller and operating method thereof | |
US10146553B2 (en) | Electronic apparatus and booting method thereof | |
US20220342765A1 (en) | Data storing method, memory control circuit unit and memory storage device | |
CN114138176A (zh) | Nor Flash的擦除、升级方法及装置、计算机设备和存储介质 | |
CN111562983A (zh) | 内存优化方法、装置、电子设备及存储介质 | |
CN113360092A (zh) | 数据存储方法、数据存储装置和电子设备 | |
CN111158733A (zh) | 一种bmc升级方法、装置、设备及计算机可读存储介质 | |
CN106648751B (zh) | 一种嵌入式软件快速升级的方法及嵌入式设备 | |
CN109032859A (zh) | 一种nvme 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 |