CN116501654B - 数据的存储方法及激光器 - Google Patents
数据的存储方法及激光器 Download PDFInfo
- Publication number
- CN116501654B CN116501654B CN202210057026.4A CN202210057026A CN116501654B CN 116501654 B CN116501654 B CN 116501654B CN 202210057026 A CN202210057026 A CN 202210057026A CN 116501654 B CN116501654 B CN 116501654B
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- stored
- determining
- storage area
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013500 data storage Methods 0.000 title abstract description 13
- 230000002035 prolonged effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/16—General purpose computing application
- G06F2212/163—Server or database system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请实施例提供一种数据的存储方法及激光器。在本申请实施例中,确定待存储数据对应的有效数据所占用的第一存储空间以及对应的索引数据所占用的第二存储空间;根据所述第一存储空间确定占用预置存储设备对应的第一存储页数,根据第二存储空间确定占用预置存储设备对应的第二存储页数;根据所述第一存储页数以及第二存储页数,确定预置存储设备可重复存储待存储数据的次数;根据可重复存储待存储数据的次数,从预置存储设备中的最高地址开始确定对应次数的存储页数作为索引数据的第一存储区域以及确定有效数据的第二存储区域,以进行待存储数据的存储。从而能够有效提高闪存的存储率,以及延长闪存的使用期限。
Description
技术领域
本发明涉及激光器的电源校准领域,具体一种数据的存储方法及激光器。
背景技术
在激光器电源系统中,需要定期对激光器电源系统进行校准。校准数据通过对激光器进行低频放电测试获得。每台激光器电源系统的校准数据需要长期存储且掉电不丢失。在实际应用中选择使用闪存保存校准数据。每擦写一次,闪存的寿命就减少一次。
发明内容
本发明要解决的技术问题在于,克服现有的技术的不足,提供一种数据的存储方法及激光器,能够有效提高闪存的存储率,以及延长闪存的使用期限。
为达到上述技术目的,一方面,本发明提供的一种数据的存储方法,包括:确定待存储数据对应的有效数据所占用的第一存储空间以及对应的索引数据所占用的第二存储空间;根据所述第一存储空间确定占用预置存储设备对应的第一存储页数,根据第二存储空间确定占用预置存储设备对应的第二存储页数;根据所述第一存储页数以及第二存储页数,确定预置存储设备可重复存储待存储数据的次数;根据可重复存储待存储数据的次数,从预置存储设备中的最高地址开始确定对应次数的存储页数作为索引数据的第一存储区域以及确定有效数据的第二存储区域,以进行待存储数据的存储。
其中,多个待存储数据所占用的第一存储空间相同;多个待存储数据所占用的第二存储空间相同。
此外,该方法还包括:接收待存储数据,遍历第一存储区域中的索引数据,根据最新的索引数据,识别出第二存储区域中的可用存储区域;将待存储数据对应的有效数据存储至所述第二存储区域中的可用存储区域中,并确定对应的索引数据;将确定的索引数据存储至第一存储区域中的可用存储区域。
具体的,所述根据最新的索引数据,识别出第二存储区域中的可用存储区域,包括;根据最新索引数据,确定对应有效数据在第二存储区域中的存储地址,所述存储地址属于第二存储区域中的已占用的最高存储地址;根据最高存储地址,识别出第二存储区域中的可用存储区域。
具体的,所述确定对应的索引数据,包括:根据有效数据存储至第二存储区域中的可用存储区域中的存储地址,确定索引数据。
具体的,所述根据可重复存储待存储数据的次数,从预置存储设备中的最高地址开始确定对应次数的存储页数作为索引数据的第一存储区域以及有效数据的第二存储区域,包括:根据次数确定索引数据对应的存储页数,并从预置存储设备中最高存储地址开始由高向低确定对应存储页数,将确定的对应存储页数作为第一存储区域;将预置存储设备中的其它存储区域作为第二存储区域。
此外,该方法还包括:当遍历第一存储区域中的所有索引数据后,且第一存储区域中不存在可用存储页,则清除预置存储设备中的索引数据以及有效数据,以使重新存储待存储数据。
具体的,所述将待存储数据对应的有效数据存储至所述第二存储区域中的可用存储区域中,包括:根据可用存储区域中的最小存储地址,存储有效数据。
具体的,所述根据可用存储区域中的最小存储地址,存储有效数据,包括:根据最小存储地址以及对应的第一存储页数,存储有效数据。
另一方面,本发明提供的一种激光器,包括:处理器、存储器;所述存储器,用于存储单片机中的程序;所述处理器,执行存储器中的程序,以用于:确定待存储数据对应的有效数据所占用的第一存储空间以及对应的索引数据所占用的第二存储空间;根据所述第一存储空间确定占用预置存储设备对应的第一存储页数,根据第二存储空间确定占用预置存储设备对应的第二存储页数;根据所述第一存储页数以及第二存储页数,确定预置存储设备可重复存储待存储数据的次数;根据可重复存储待存储数据的次数,从预置存储设备中的最高地址开始确定对应次数的存储页数作为索引数据的第一存储区域以及确定有效数据的第二存储区域,以进行待存储数据的存储。
在本申请实施例中,确定待存储数据对应的有效数据所占用的第一存储空间以及对应的索引数据所占用的第二存储空间;根据所述第一存储空间确定占用预置存储设备对应的第一存储页数,根据第二存储空间确定占用预置存储设备对应的第二存储页数;根据所述第一存储页数以及第二存储页数,确定预置存储设备可重复存储待存储数据的次数;根据可重复存储待存储数据的次数,从预置存储设备中的最高地址开始确定对应次数的存储页数作为索引数据的第一存储区域以及确定有效数据的第二存储区域,以进行待存储数据的存储。从而能够有效提高闪存的存储率,以及延长闪存的使用期限。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例的数据的存储方法的流程示意图;
图2为本申请实施例的存储空间分配的示意图;
图3为本申请实施例的存储空间分配的示意图;
图4为本申请实施例的数据的存储过程的示意图;
图5为本申请实施例的数据的存储装置的框架示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本申请提供了一种数据的存储方法,该方法100包括:
101:确定待存储数据对应的有效数据所占用的第一存储空间以及对应的索引数据所占用的第二存储空间。
102:根据第一存储空间确定占用预置存储设备对应的第一存储页数,根据第二存储空间确定占用预置存储设备对应的第二存储页数。
103:根据第一存储页数以及第二存储页数,确定预置存储设备可重复存储待存储数据的次数。
104:根据可重复存储待存储数据的次数,从预置存储设备中的最高地址开始确定对应次数的存储页数作为索引数据的第一存储区域以及确定有效数据的第二存储区域,以进行待存储数据的存储。
需要说明的是,该方法100的执行主体可以为激光器,更具体的可以为激光器电源校准模块。其中预置存储设备是指闪存,更具体是指SPI FLASH闪存。
通过本申请实施例可以针对激光器电源系统每次校准需要存储大量校准测试数据,且校准测试数据需要长期存储且掉电不丢失,可以能够同时满足提高SPI FLASH的使用寿命和空间有效利用率的问题,满足激光器电源系统长期可靠运行的需求。
此外,还可以通过以下方式实现数据存储:
如:每次都把校准数据存储在SPI FLASH固定的地址空间,每次都对相同地址范围做擦除和写入编程,这种方式的优点是节省SPI FLASH空间,但降低了SPI FLASH的寿命。
还可以为:在SPI FLASH每页的开始写入使用索引数据,使用索引数据连同校准数据(即有效数据)一起写入,没有使用的地址空间,每页的前四个字节存储内容为0xFFFFFFFF,已使用的地址空间每页的前四个字节是有效的页数累加计数,每次写入前从0地址开始遍历,直至找到未使用的地址空间,向空闲地址空间写入新数据,若在写入数据前发现剩余空间不满足本次写入需求,则擦除整片SPI FLASH,从地址0开始写入新数据,这种方式的优点是提高了SPI FLASH的使用寿命,但是当需要存储大量数据时,索引数据占据空间较大,降低了SPI FLASH的空间有效利用率。
当存储数据量较小时,此种方式比较合适。当存储数据量很大时,这种方式会大幅降低SPI FLASH的空间有效利用率。如:激光器电源每次的校准数据都需要存储约5000页,每页256字节,使用这种方法每次存储校准数据都需要牺牲约20000个字节,索引数据与有效数据的比例约为1.5%,大幅降低了SPI FLASH的空间有效利用率。
本申请实施例在每次写入新数据时,都是向空闲地址空间写入,当SPI FLASH剩余空间不能满足使用要求时,才执行擦除操作,与上述第一种方式相比,本申请实施例提出的方法明显减少了擦写SPI FLASH的次数,有效提高了SPI FLASH的使用寿命。
且在每次写入新数据,只需要在指定的索引数据区域写入当前有效数据的最高存储地址即可,与上述第二种方式相比,单次需要写入大量存储数据时,本申请实施例提出的方法大幅减小了索引数据占据的空间,有效提高了SPI FLASH的空间利用率。
以下针对上述步骤进行详细地阐述:
101:确定待存储数据对应的有效数据所占用的第一存储空间以及对应的索引数据所占用的第二存储空间。
其中,待存储数据可以是指激光器电源系统的校准数据。也可以是其它需要存储的数据。
这些多个待存储数据中的每个待存储数据所占用的第一存储空间和第二存储空间可以分别相同;也可以不同,当不同的情况下,可以按照最大的占用存储空间(即如第一存储空间和第二存储空间)来为准来确定对应的第一存储空间和第二存储空间。
有效数据是指待存储数据的本身,而索引数据是指能够用于查找该有效数据的数据。其并不属于待存储数据的本身,是额外产生的数据。
例如,首先根据实际存储需求计算每次待存储数据需要的存储空间,存储空间包括有效数据的存储空间,即第一存储空间和索引数据需要的存储空间,即第二存储空间。此处待存储数据的存储空间相同,所以可以预先知晓待存储数据的存储空间,由此获取到该存储空间。如每次存储有效数据需要占据M字节空间,用于存储有效数据的索引数据需要占据X字节空间(X一般为2字节或4字节)。
102:根据第一存储空间确定占用预置存储设备对应的第一存储页数,根据第二存储空间确定占用预置存储设备对应的第二存储页数。
例如,继上文,然后根据选择的存储器分配存储空间,如选择的SPI FLASH,SPIFLASH大小不超过512Mbit兆字节,按页编程,每页256字节,为了提高SPI FLASH的使用寿命,每次存储数据需要分配N+1页空间(其中N=M/256,进1取整数,如N的计算结果为100.1,则N取101),其中有效数据占据N页,索引数据占据1页,索引数据与有效数据的比例约为1/N。那么第一存储页数为101页,第二存储页数为1页。
103:根据第一存储页数以及第二存储页数,确定预置存储设备可重复存储待存储数据的次数。
例如,继上文,按SPI FLASH最大空间512Mbit兆字节以及上述确定的有效数据所占N页以及索引数据所占1页,计算可以同时存储待存储数据最多的写入次数为Y次。
104:根据可重复存储待存储数据的次数,从预置存储设备中的最高地址开始确定对应次数的存储页数作为索引数据的第一存储区域以及确定有效数据的第二存储区域,以进行待存储数据的存储。
例如,继上文,根据写入次数为Y次,则是索引数据预留Y页的存储空间就能满足使用要求。如图2所示,从SPI FLASH的最高地址空间向下预留Y页,作为索引数据205的存储区域,即SPI FLASH的整体存储空间设为W页,即第W-(Y-1)页2022至第W页2011被分配为索引数据205的第一存储区域201,其中,每页存储一组有效数据204对应的索引数据205。而SPIFLASH的其它存储空间分配为存储有效数据204的第二存储区域203。
具体的,根据可重复存储待存储数据的次数,从预置存储设备中的最高地址开始确定对应次数的存储页数作为索引数据的第一存储区域以及有效数据的第二存储区域,包括:根据次数确定索引数据对应的存储页数,并从预置存储设备中最高存储地址开始由高向低确定对应存储页数,将确定的对应存储页数作为第一存储区域;将预置存储设备中的其它存储区域作为第二存储区域。
由于前文已经阐述过了,此处就不再赘述了。如图2所示,在SPI FLASH中还存在空闲区域202,空闲区域202是不能满足单次完整存储空间要求的区域。而SPI FLASH的W页的大小由SPI FALSH的存储空间大小决定。此外,在第二存储区域203中每个有效数据204占用了第一存储页数2031,其中,第一存储页数2031可以是从第(Y-1)*N+1页至第(Y-1)*N+N页,其中,N为有效数据204占用的页数。而有效数据204从SPI FLASH第1页开始存储。
举例,激光器电源单次校准需要存储159990个放电脉冲的数据,每个放电脉冲的数据占据8字节,单次校准有效数据占据159990*8=1279920字节,存储有效数据的最高存储地址占据4字节,即索引数据占据4字节。
分配单次写入需要的存储空间:本实施例所选的SPI FLASH,按页编程,每页256字节,有效数据占据空间为1279920/256=4999.69页,索引数据占据空间为4/256=0.016页,为了提高SPI FLASH的使用寿命,给单次写入的有效数据分配5000页空间,给单次写入的索引数据分配1页空间,单次写入需要分配存储空间5001页。索引数据与有效数据的比例为0.02%。
计算可同时存储的最多写入次数:本实施例所选的SPI FLASH,大小为512Mbit,包含262144页,可同时存储的最多写入次数为262144/5001=52.42次,为了保证每次写入数据的完整性,向下取整,可同时存储的最多写入次数为52次。
分配全部存储空间:如图3所示,从SPI FLASH的最高地址空间,向下预留52页作为索引数据205的存储区域,即第一存储区域201,其它区域作为有效数据204的存储区域,即第二存储区域203。其中,还具有空闲区域202。
在第一存储区域201中,先从第(262144)页302开始存储索引数据205,直至存储至第(262144-52+1)页303为止。
在第二存储区域203中,一个有效数据204占用了总页数301,可以是从第(52-1)*5000+1页开始,直至第(52-1)*5000+5000页。有效数据204可以是从第1页开始存储的。
如图4所示,在进行数据写入的时候,执行步骤401:开始写入。执行步骤402:设置待遍历索引数据起始页为第1页。即从索引数据的存储区域中的最高存储地址开始为第1页,开始进行遍历。执行步骤403:索引页的第z页是否已存储有效的索引数据?。即从第1页开始遍历确定遍历的过程中后续页是否存储了索引数据。如果是,执行步骤404:遍历下一页。遍历下一页的时候,执行步骤405:已遍历完全部索引数据存储区域?,即是否遍历完了该区域,如果否的话,执行步骤403,来持续进行遍历,直至在执行步骤403:索引页的第z页是否已存储有效的索引数据?。在步骤403处,如果否,则执行步骤412:读取z-1页存储的有效索引数据。即获取到最新的索引数据。然后执行步骤413:计算对应有效数据在闪存(SPIFLASH)中的位置第q页。即根据索引数据确定有效数据所在位置,即第q页。然后执行步骤414:设置第q+1页起始地址为写入新数据的起始地址。即确定了新的有效数据的起始地址。执行步骤415:向对应地址按字节写入数据。即可以写入新的有效数据。通过步骤417:数据已全部写入?,来进行判断新的有效数据是否全部写入。如果是,执行步骤418:向索引数据的第z页写入当前有效数据的索引数据。如果否,则执行步骤416:地址+1,继续通过步骤415来实现有效数据的写入。直至完成步骤418,执行步骤419写入结束。
此外,该方法100还包括:接收待存储数据,遍历第一存储区域中的索引数据,根据最新的索引数据,识别出第二存储区域中的可用存储区域;将待存储数据对应的有效数据存储至第二存储区域中的可用存储区域中,并确定对应的索引数据;将确定的索引数据存储至第一存储区域中的可用存储区域。
例如,接上文,每次写入校准数据前,从SPI FLASH的最高地址空间向下遍历Y页索引数据区域,直至找到最后一次写入的有效数据的索引数据,即上次存储有效数据对应的最高存储单元的地址,索引数据不是0xFFFFFFFF。然后先向有效数据的区域空闲地址写入新的有效数据,再向索引数据的区域空闲地址写入当前有效数据的索引数据。
具体的,根据最新的索引数据,识别出第二存储区域中的可用存储区域,包括;根据最新索引数据,确定对应有效数据在第二存储区域中的存储地址,存储地址属于第二存储区域中的已占用的最高存储地址;根据最高存储地址,识别出第二存储区域中的可用存储区域。
例如,根据前文可知,每次写入校准数据前,可以通过索引数据查找到上次存储有效数据对应的最高存储单元的地址,根据该地址在有效数据的存储区域内查找到对应的地址,由于有效数据的存储区域是以地址从小到大的顺序存储的,所以可以根据该最高存储单元的地址查找到该存储区域中的可用存储区域。
其中,确定对应的索引数据,包括:根据有效数据存储至第二存储区域中的可用存储区域中的存储地址,确定索引数据。
例如,接上文,将有效数据以地址从小到大的顺序存储至可用存储区域中,确定该数据对应的最高存储地址,并作为索引数据存储至索引数据的区域中的对应位置上。
此外,该方法100还包括:当遍历第一存储区域中的所有索引数据后,且第一存储区域中不存在可用存储页,则清除预置存储设备中的索引数据以及有效数据,以使重新存储待存储数据。
例如,接上文,若在写入校准数据前,遍历索引数据的区域时发现索引数据的区域已写满,则擦除整片SPI FLASH,从地址0开始写入新的有效数据。
如图4所示,接上文,当步骤405的情况为是的状态,已遍历完全部索引数据存储区域,则执行步骤406:擦除正片闪存(SPI FLASH)。然后执行步骤407:设置0为写入新数据的起始地址,即重新设置起始地址。设置完后执行步骤408:向起始地址按字节写入数据408,通过执行步骤409:数据已全部写入?,来确定有效数据是否全部写入,如果是,则执行步骤410:向索引区域的第1页写入当前有效数据的索引数据。如果否的话,执行步骤411:地址加1,使得重复执行步骤408。当执行完步骤410后,执行步骤419:写入结束。
具体的,将待存储数据对应的有效数据存储至第二存储区域中的可用存储区域中,包括:根据可用存储区域中的最小存储地址,存储有效数据。
根据前文可知,由于有效数据的区域是以地址从小到大的顺序的,所以根据可用存储区域中的最小存储地址开始存储有效数据,就不再赘述了。
具体的,根据可用存储区域中的最小存储地址,存储有效数据,包括:根据最小存储地址以及对应的第一存储页数,存储有效数据。
根据前文可知,由于有效数据可以占据多页存储空间,所以从最小存储地址开始存储对应的页数,完成有效数据的存储。就不再赘述了。
本申请实施例还提供了一种数据的存储装置,可应用于激光器中。如图5所示,该装置500包括:
第一确定模块501,用于确定待存储数据对应的有效数据所占用的第一存储空间以及对应的索引数据所占用的第二存储空间。
第二确定模块502,用于根据第一存储空间确定占用预置存储设备对应的第一存储页数,根据第二存储空间确定占用预置存储设备对应的第二存储页数。
第二确定模块503,用于根据第一存储页数以及第二存储页数,确定预置存储设备可重复存储待存储数据的次数。
第四确定模块504,用于根据可重复存储待存储数据的次数,从预置存储设备中的最高地址开始确定对应次数的存储页数作为索引数据的第一存储区域以及确定有效数据的第二存储区域,以进行待存储数据的存储。
其中,多个待存储数据所占用的第一存储空间相同;多个待存储数据所占用的第二存储空间相同。
此外,该装置500还包括:遍历模块,用于接收待存储数据,遍历第一存储区域中的索引数据,根据最新的索引数据,识别出第二存储区域中的可用存储区域;存储模块,用于将待存储数据对应的有效数据存储至第二存储区域中的可用存储区域中,并确定对应的索引数据;存储模块,用于将确定的索引数据存储至第一存储区域中的可用存储区域。
具体的,遍历模块,包括;确定单元,用于根据最新索引数据,确定对应有效数据在第二存储区域中的存储地址,存储地址属于第二存储区域中的已占用的最高存储地址;识别单元,用于根据最高存储地址,识别出第二存储区域中的可用存储区域。
具体的,存储模块,用于根据有效数据存储至第二存储区域中的可用存储区域中的存储地址,确定索引数据。
具体的,第四确定模块504,用于根据次数确定索引数据对应的存储页数,并从预置存储设备中最高存储地址开始由高向低确定对应存储页数,将确定的对应存储页数作为第一存储区域;将预置存储设备中的其它存储区域作为第二存储区域。
此外,该装置500还包括:清除模块,用于当遍历第一存储区域中的所有索引数据后,且第一存储区域中不存在可用存储页,则清除预置存储设备中的索引数据以及有效数据,以使重新存储待存储数据。
具体的,存储模块,用于根据可用存储区域中的最小存储地址,存储有效数据。
具体的,存储模块,用于根据最小存储地址以及对应的第一存储页数,存储有效数据。
由于该装置500的具体实现方式请参考前文所述的方式,此处就不再赘述。
本申请实施例还提供了激光器,包括处理器、存储器;存储器,用于存储激光器中的程序;处理器,执行存储器中的程序,以用于:确定待存储数据对应的有效数据所占用的第一存储空间以及对应的索引数据所占用的第二存储空间;根据第一存储空间确定占用预置存储设备对应的第一存储页数,根据第二存储空间确定占用预置存储设备对应的第二存储页数;根据第一存储页数以及第二存储页数,确定预置存储设备可重复存储待存储数据的次数;根据可重复存储待存储数据的次数,从预置存储设备中的最高地址开始确定对应次数的存储页数作为索引数据的第一存储区域以及确定有效数据的第二存储区域,以进行待存储数据的存储。
此处就不再赘述了,未能详尽的内容请参考前文所述的内容。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
为了使本揭示内容的叙述更加详尽与完备,上文针对本发明的实施方式与具体实施例提出了说明性的描述;但这并非实施或运用本发明具体实施例的唯一形式。实施方式中涵盖了多个具体实施例的特征以及用以建构与操作这些具体实施例的方法步骤与其顺序。然而,亦可利用其它具体实施例来达成相同或均等的功能与步骤顺序。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比较清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种数据的存储方法,其特征在于,包括:
确定待存储数据对应的有效数据所占用的第一存储空间以及对应的索引数据所占用的第二存储空间;
根据所述第一存储空间确定占用预置存储设备对应的第一存储页数,根据第二存储空间确定占用预置存储设备对应的第二存储页数;
根据所述第一存储页数以及第二存储页数,确定预置存储设备可重复存储待存储数据的次数;
根据可重复存储待存储数据的次数,从预置存储设备中的最高地址开始确定对应次数的存储页数作为索引数据的第一存储区域以及确定有效数据的第二存储区域,以进行待存储数据的存储;
多个待存储数据所占用的第一存储空间相同;多个待存储数据所占用的第二存储空间相同。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收待存储数据,遍历第一存储区域中的索引数据,根据最新的索引数据,识别出第二存储区域中的可用存储区域;
将待存储数据对应的有效数据存储至所述第二存储区域中的可用存储区域中,并确定对应的索引数据;
将确定的索引数据存储至第一存储区域中的可用存储区域。
3.根据权利要求2所述的方法,其特征在于,所述根据最新的索引数据,识别出第二存储区域中的可用存储区域,包括;
根据最新索引数据,确定对应有效数据在第二存储区域中的存储地址,所述存储地址属于第二存储区域中的已占用的最高存储地址;
根据最高存储地址,识别出第二存储区域中的可用存储区域。
4.根据权利要求2所述的方法,其特征在于,所述确定对应的索引数据,包括:
根据有效数据存储至第二存储区域中的可用存储区域中的存储地址,确定索引数据。
5.根据权利要求1所述的方法,其特征在于,所述根据可重复存储待存储数据的次数,从预置存储设备中的最高地址开始确定对应次数的存储页数作为索引数据的第一存储区域以及有效数据的第二存储区域,包括:
根据次数确定索引数据对应的存储页数,并从预置存储设备中最高存储地址开始由高向低确定对应存储页数,将确定的对应存储页数作为第一存储区域;
将预置存储设备中的其它存储区域作为第二存储区域。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当遍历第一存储区域中的所有索引数据后,且第一存储区域中不存在可用存储页,则清除预置存储设备中的索引数据以及有效数据,以使重新存储待存储数据。
7.根据权利要求2所述的方法,其特征在于,所述将待存储数据对应的有效数据存储至所述第二存储区域中的可用存储区域中,包括:
根据可用存储区域中的最小存储地址,存储有效数据。
8.根据权利要求7所述的方法,其特征在于,所述根据可用存储区域中的最小存储地址,存储有效数据,包括:
根据最小存储地址以及对应的第一存储页数,存储有效数据。
9.一种激光器,其特征在于,包括:处理器、存储器;
所述存储器,用于存储激光器中的程序;
所述处理器,执行存储器中的程序,以用于:
确定待存储数据对应的有效数据所占用的第一存储空间以及对应的索引数据所占用的第二存储空间;
根据所述第一存储空间确定占用预置存储设备对应的第一存储页数,根据第二存储空间确定占用预置存储设备对应的第二存储页数;
根据所述第一存储页数以及第二存储页数,确定预置存储设备可重复存储待存储数据的次数;
根据可重复存储待存储数据的次数,从预置存储设备中的最高地址开始确定对应次数的存储页数作为索引数据的第一存储区域以及确定有效数据的第二存储区域,以进行待存储数据的存储;
多个待存储数据所占用的第一存储空间相同;多个待存储数据所占用的第二存储空间相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210057026.4A CN116501654B (zh) | 2022-01-18 | 2022-01-18 | 数据的存储方法及激光器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210057026.4A CN116501654B (zh) | 2022-01-18 | 2022-01-18 | 数据的存储方法及激光器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116501654A CN116501654A (zh) | 2023-07-28 |
CN116501654B true CN116501654B (zh) | 2024-06-04 |
Family
ID=87329036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210057026.4A Active CN116501654B (zh) | 2022-01-18 | 2022-01-18 | 数据的存储方法及激光器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501654B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794065A (zh) * | 2015-05-04 | 2015-07-22 | 常州工学院 | 一种多分组定长数据循环存取方法 |
CN109508143A (zh) * | 2018-08-17 | 2019-03-22 | 郑州云海信息技术有限公司 | 一种数据存储方法及装置 |
CN112965661A (zh) * | 2021-03-01 | 2021-06-15 | 歌尔科技有限公司 | 数据存储方法、装置、设备及存储介质 |
CN113157212A (zh) * | 2021-04-23 | 2021-07-23 | 歌尔股份有限公司 | Flash存储方法、装置、智能穿戴设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150095578A1 (en) * | 2013-09-27 | 2015-04-02 | Kshitij Doshi | Instructions and logic to provide memory fence and store functionality |
-
2022
- 2022-01-18 CN CN202210057026.4A patent/CN116501654B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794065A (zh) * | 2015-05-04 | 2015-07-22 | 常州工学院 | 一种多分组定长数据循环存取方法 |
CN109508143A (zh) * | 2018-08-17 | 2019-03-22 | 郑州云海信息技术有限公司 | 一种数据存储方法及装置 |
CN112965661A (zh) * | 2021-03-01 | 2021-06-15 | 歌尔科技有限公司 | 数据存储方法、装置、设备及存储介质 |
CN113157212A (zh) * | 2021-04-23 | 2021-07-23 | 歌尔股份有限公司 | Flash存储方法、装置、智能穿戴设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
高速高精度多线激光雷达信息处理设计及应用;冯振中等;《红外与激光工程》;20211130;209-216 * |
Also Published As
Publication number | Publication date |
---|---|
CN116501654A (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4688584B2 (ja) | ストレージ装置 | |
CN108874298B (zh) | 一种数据存储的方法及装置 | |
US7725646B2 (en) | Method of using a flash memory for a circular buffer | |
US20090259796A1 (en) | Data writing method for non-volatile memory and storage system and controller using the same | |
US9971682B2 (en) | Wear-leveling system and method for reducing stress on memory device using erase counters | |
JP2009230414A (ja) | 複数の不揮発性メモリデバイスを有する記憶装置 | |
US9870826B2 (en) | Memory apparatus and data access method thereof by using multiple memories for lifetime extension | |
CN101295281A (zh) | 一种对存储设备进行访问权限限制的方法及存储设备 | |
CN113568579A (zh) | 一种存储器、数据存储方法以及数据读取方法 | |
US10055356B2 (en) | Memory device and method for controlling memory device | |
CN116501654B (zh) | 数据的存储方法及激光器 | |
CN116185563B (zh) | 一种基于车规级微控制器数据闪存的软件模拟算法 | |
US9594525B2 (en) | Data storage device and operating method thereof | |
CN107015764B (zh) | Nand flash的数据处理方法、装置和一种Nand flash | |
JP2014041468A (ja) | フラッシュメモリコントローラ、フラッシュメモリシステム、及びフラッシュメモリ制御方法 | |
CN114968841A (zh) | 信息的闪存存储方法、装置、计算机设备及存储介质 | |
US20090055574A1 (en) | NAND Flash Memory Device And Related Method Thereof | |
CN109299018B (zh) | 一种Flash存储器中历史数据的读取方法及装置 | |
CN113345510A (zh) | 一种flash的容量识别方法及容量识别系统 | |
CN117539381A (zh) | 数据的写入方法及激光器 | |
CN112148203A (zh) | 存储器管理方法、装置、电子设备及存储介质 | |
CN112988038A (zh) | 非易失性存储器的数据写入方法、终端和可读存储介质 | |
US20180189185A1 (en) | Media cache band cleaning | |
US8200937B2 (en) | Method of managing flash memory allocation in an electronic token | |
CN118034610B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |