CN116795297A - 一种存储设备、存储方法及装置 - Google Patents
一种存储设备、存储方法及装置 Download PDFInfo
- Publication number
- CN116795297A CN116795297A CN202311040715.5A CN202311040715A CN116795297A CN 116795297 A CN116795297 A CN 116795297A CN 202311040715 A CN202311040715 A CN 202311040715A CN 116795297 A CN116795297 A CN 116795297A
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- data storage
- backup
- storage
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000013500 data storage Methods 0.000 claims abstract description 299
- 230000004044 response Effects 0.000 claims abstract description 25
- 230000001174 ascending effect Effects 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 239000004973 liquid crystal related substance Substances 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004321 preservation Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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
- G06F3/064—Management of blocks
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Abstract
本发明公开一种存储设备、存储方法及装置,涉及FLASH存储技术领域。方法包括:获取待存储数据,判断与待存储数据对应的第一数据块中是否存在可用第一数据存储单元;响应于第一数据块中不存在可用第一数据存储单元,则根据数据备份顺序,将待存储数据保存至数据备份区的首个可用备份单元中的对应数据备份位;擦除待存储数据所对应第一数据块中的全部数据;根据数据存储顺序,将保存于数据备份区的待存储数据,保存至相应第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。通过实施本发明实施例公开的存储设备、存储方法及装置,能够避免对FLASH数据块进行频繁擦写,以数据块为单位进行数据擦除,优化FLASH换页效率。
Description
技术领域
本发明涉及FLASH存储技术领域,特别涉及一种存储设备、存储方法及装置。
背景技术
EEPROM是指带电可擦可编程只读存储器,是一种掉电后数据不丢失的存储芯片,应用于计算机或专用设备,进行数据擦写。然而,在一些单片机系统中,未配置EEPROM功能,却需要在某些应用中使用EEPROM存储数据,便催生出了采用FLASH模拟EEPROM的替代方案。采用FLASH进行数据擦写,其数据存储、读取速度,抗干扰能力,存储空间设置的灵活性甚至优于EEPROM的数据存储方式。
但是,FLASH的擦除通常以扇区为单位,这个特性决定了不能简单的将旧数据擦除后写入新数据,这样会导致存储在该扇区内的其他数据也被擦除;并且频繁地擦写某一扇区,会导致该扇区的使用寿命降低。受上述FLASH特性的限制,当FLASH的某一存储区域数据写满,需要进行换页操作时,其换页性能将受到严重影响。换页时,若对整页数据进行备份、擦写,将消耗大量时间;擦写时间的延长,将大幅增加故障或意外发生的概率,进而导致数据丢失;对于需要频繁更新数据的应用场合,频繁擦写数据,将导致相应存储区域的使用耐久度大幅降低。
专利文献CN114756179A,公开了基于模拟EEPROM的数据写入、读取及管理方法。当存储区A满时,需要将A区中的最新有效数据全部备份至存储区B中,再将A区擦除,等到B区满时,在将B区中的最新有效数据备份至A区,实现乒乓操作,但是查找最新有效数据时间较长,备份大量数据需要消耗大量时间,如果备份过程中出现掉电等异常情况,需要重新备份。
专利文献CN111176579A,公开了使用norflash模拟eeprom的方法。需要将物理页的最新映射关系全部烧写至整理区,然后将替换区擦除,再将整理区的所有内容烧写至擦除过后的替换区,再将整理区擦除。
专利文献CN103914393A,公开了一种基于MCU的FLASH不丢失更新存储方法。每次写入RAM都需要擦除对应FLASH中的存储区,更新效率太慢,且在擦除存储区的过程中,一旦出现掉电,就会有备份数据丢失的风险。
因此,亟需一种存储设备、存储方法及装置,降低FLASH的擦除频率,提高FLASH耐久度,并且能够提高FLASH的换页性能。
发明内容
为了解决现有技术中,采用FLASH模拟EEPROM时,换页性能低的问题,本发明采用的技术方案如下:
第一方面,提供一种存储设备,包括FLASH存储器及RAM存储器,FLASH存储器与RAM存储器通信连接;
RAM存储器包括至少一个第二数据块,每个第二数据块包括至少一个第二数据存储位;
FLASH存储器包括至少一个第一数据块以及数据备份区;
至少一个第一数据块与至少一个第二数据块一一对应,每个第一数据块包括至少一个第一数据存储单元,每个第一数据存储单元包括至少一个第一数据存储位,至少一个第一数据存储位与至少一个第二数据存储位一一对应;
根据数据存储顺序,待存储数据被保存在首个可用第一数据存储单元中的对应第一数据存储位,其中,数据存储顺序表示第一数据存储单元的地址升序或地址降序;待存储数据表示第二数据块中的更新数据;可用第一数据存储单元表示其中的任一第一数据存储位均未保存数据,待存储数据为当前RAM存储器中更新的数据;
数据备份区包括至少一个备份单元,每个备份单元包括至少一个数据备份位;至少一个数据备份位与第一数据存储位一一对应;当任一第一数据块中不存在可用第一数据存储单元时,根据数据备份顺序,将待存储数据保存在首个可用备份单元中的对应数据备份位,其中,数据备份顺序表示备份单元的地址升序或地址降序;可用备份单元表示其中的任一数据备份位均未保存数据。
进一步地,每个第一数据块还包括第二数据存储单元,每个第二数据存储单元包括至少一个第三数据存储位,至少一个第三数据存储位与至少一个第一数据存储位一一对应;至少一个第三数据存储位存储的数据,用于指示其所对应的第一数据存储位所保存数据的有效性。
进一步地,每个第一数据块还包括第三数据存储单元,第三数据存储单元中存储的数据,用于指示第三数据存储单元所对应的第一数据块是否需要进行数据擦除。
进一步地,数据备份区还包括至少一个编号单元,至少一个编号单元与至少一个备份单元一一对应,用于保存待存储数据所对应的第一数据块编号。
第二方面,提供一种存储方法,该存储方法应用于上述第一方面记载的存储设备,包括:
获取待存储数据,判断与待存储数据对应的第一数据块中是否存在可用第一数据存储单元;
响应于第一数据块中不存在可用第一数据存储单元,则根据数据备份顺序,将待存储数据保存至数据备份区的首个可用备份单元中的对应数据备份位;
擦除待存储数据所对应第一数据块中的全部数据;
根据数据存储顺序,将保存于数据备份区的待存储数据,保存至相应第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。
进一步地,响应于第一数据块中存在可用第一数据存储单元,则根据数据存储顺序,将待存储数据写入第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。
进一步地,判断与待存储数据对应的第一数据块中是否存在可用第一数据存储单元,包括:
获取第一数据块的第三存储单元中保存的数据,判断第三存储单元中保存的数据是否为默认数据;
响应于第三存储单元中保存的数据是默认数据,则第一数据块存在可用的第一数据存储单元;
响应于第三存储单元中保存的数据不是默认数据;则第一数据块不存在可用的第一数据存储单元。
进一步地,在根据数据备份顺序,将待存储数据保存至数据备份区的首个可用备份单元中的对应数据备份位之前,还包括:
判断数据备份区中是否存在可用备份单元;
响应于数据备份区中不存在可用备份单元,则擦除数据备份区中的所有数据。
进一步地,在获取待存储数据,判断与待存储数据对应的第一数据块中是否存在可用第一数据存储单元之前,还包括:
在FLASH存储器中轮询至少一个第一数据块,执行:
获取相应第三数据存储单元中所存储的数据;
响应于第三数据存储单元中所存储的数据为初始值,则获取对应于各第二数据存储位的最新更新的第三数据存储位所对应的第一数据存储位中所保存的数据,作为相应第二数据块的初始化数据;
将初始化数据保存至第二数据块的对应第二数据存储位中。
第三方面,提供一种存储装置,包括:
单元筛选模块,用于获取待存储数据,判断与待存储数据对应的第一数据块中是否存在可用第一数据存储单元;
备份存储模块,用于响应于第一数据块中不存在可用第一数据存储单元,则根据数据备份顺序,将待存储数据保存至数据备份区的首个可用备份单元中的对应数据备份位;
数据擦除模块,用于擦除待存储数据所对应第一数据块中的全部数据;
单元写入模块,用于根据数据存储顺序,将保存于数据备份区的待存储数据,保存至相应第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。
本发明实施例提供的技术方案带来的有益效果是:
1. 通过实施本发明实施例公开的存储设备、存储方法及装置,能够避免对FLASH数据块进行频繁擦写,以数据块为单位进行数据擦除,优化FLASH换页效率;
2. 通过优化FLASH换页效率,提高FLASH换页过程中的数据保存成功率;
3. 避免频繁擦写同一块FLASH扇区,从而延缓FLASH耐久度的损耗。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种存储设备示意图;
图2是本发明实施例提供的第一数据块与第二数据块对应关系示意图;
图3是本发明实施例提供的第一数据块与数据备份区示意图;
图4是本发明实施例提供的一种存储方法示意图;
图5是本发明实施例提供的一种存储装置示意图;
图6是本发明实施例提供的第一数据块编号示意图;
图7是本发明实施例提供的数据备份区编号示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。说明书附图中的编号,仅表示对各个功能部件或模块的区分,不表示部件或模块之间的逻辑关系。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
下面,将参照附图详细描述根据本公开的各个实施例。需要注意的是,在附图中,将相同的附图标记赋予基本上具有相同或类似结构和功能的组成部分,并且将省略关于它们的重复描述。
针对采用FLASH模拟EEPROM时,换页性能低的问题,本发明提供如下实施方式:
在一些实施例中,提供一种存储设备,如图1所示,包括FLASH存储器及RAM存储器,FLASH存储器与RAM存储器通信连接;
RAM存储器包括至少一个第二数据块,每个第二数据块包括至少一个第二数据存储位;
FLASH存储器包括至少一个第一数据块以及数据备份区;
至少一个第一数据块与至少一个第二数据块一一对应,每个第一数据块包括至少一个第一数据存储单元,每个第一数据存储单元包括至少一个第一数据存储位,至少一个第一数据存储位与至少一个第二数据存储位一一对应,如图2所示。
根据数据存储顺序,待存储数据被保存在首个可用第一数据存储单元中的对应第一数据存储位,其中,数据存储顺序表示第一数据存储单元的地址升序或地址降序;待存储数据表示第二数据块中的更新数据;可用第一数据存储单元表示其中的任一第一数据存储位均未保存数据;
如图3所示,数据备份区包括至少一个备份单元,每个备份单元包括至少一个数据备份位;至少一个数据备份位与第一数据存储位一一对应;当任一第一数据块中不存在可用第一数据存储单元时,根据数据备份顺序,将待存储数据保存在首个可用备份单元中的对应数据备份位,其中,数据备份顺序表示备份单元的地址升序或地址降序;可用备份单元表示其中的任一数据备份位均未保存数据。
其中,每个第一数据块还包括第二数据存储单元,每个第二数据存储单元包括至少一个第三数据存储位,至少一个第三数据存储位与至少一个第一数据存储位一一对应;至少一个第三数据存储位存储的数据,用于指示其所对应的第一数据存储位所保存数据的有效性。
其中,每个第一数据块还包括第三数据存储单元,第三数据存储单元中存储的数据,用于指示第三数据存储单元所对应的第一数据块是否需要进行数据擦除。
其中,数据备份区还包括至少一个编号单元,至少一个编号单元与至少一个备份单元一一对应,用于保存待存储数据所对应的第一数据块编号。
FLASH存储器与RAM存储器配合形成的存储设备用于模拟EEPROM进行数据存储。
对于EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)的模拟,可以采用FLASH与RAM(Random Access Memory,随机存取存储器)相配合的方式进行。RAM在断电时将丢失其存储内容,其中的数据可以被及时更新,以满足外部系统的数据存储需求,因此,可用于模拟EEPROM与外界系统进行的数据交换。由于FLASH为非易失性存储器,掉电后仍可保存RAM掉电前最新更新的数据,FLASH用于备份RAM中的更新数据。通过FLASH对RAM中的数据进行备份,可以在存储装置初始化时,或在系统复位时对RAM进行数据恢复,以模拟EEPROM的非易失性。FLASH与RAM之间通过数据线进行通信连接,可进行双向数据传输。
至少一个第一数据块与至少一个第二数据块一一对应表示:第一数据块的数量与第二数据块的数量相等,并且每个第一数据块均对应一个第二数据块;同时,每个第二数据块均对应一个第一数据块。
至少一个第一数据存储位与至少一个第二数据存储位一一对应表示:第一数据存储位与第二数据存储位的数量相等,并且每个第一数据存储位均对应一个第二数据存储位;同时,每个第二数据存储位均对应一个第一数据存储位。
至少一个数据备份位与第一数据存储位一一对应表示:数据备份位与第一数据存储位的数量相等,并且每个数据备份位均对应一个第一数据存储位;同时,每个第二数据存储位均对应一个数据备份位。
至少一个第三数据存储位与至少一个第一数据存储位一一对应:第三数据存储位与第一数据存储位的数量相等,并且每个第三数据存储位均对应一个第一数据存储位;同时,每个第一数据存储位均对应一个第三数据存储位。
至少一个编号单元与至少一个备份单元一一对应表示:编号单元与备份单元的数量相等,并且每个编号单元均对应一个备份单元;同时,每个备份单元均对应一个编号单元。
FLASH存储器中包括至少一个第一数据块,第一数据块的数量可以表示为:
N FDB=2 n-1
其中,N FDB表示第一数据块的数量,n为自然数。
RAM存储器中包括至少一个第二数据块,第二数据块的数量与第一数据块的数量相等,表示为:
N RDB = N FDB = 2 n-1
其中,N RDB表示第二数据块的数量。
RAM存储器的每个第二数据块中设置有至少一个第二数据存储位,第二数据存储位表示,在RAM存储器中单次烧写的数据容量。优选地,第二数据存储位的数据容量为4字节(Bytes)。
根据需要,每个第二数据块中的第二数据存储位的数量可以设置为1个、2个、4个等。优选地,每个第二数据块中,设置1个第二数据存储位。
FLASH存储器的每个第一数据块中设置有至少一个第一数据存储单元,每个第一数据存储单元包括至少一个第一数据存储位,用于存储对应第二数据存储位中的最新数据。相应地,第一数据存储位的数量与第二数据存储位的数量相等。优选地,每个第一数据块中,设置31个第一数据存储单元。每个第一数据存储单元包括1个第一数据存储位。这1个第一数据存储位,与相应第二数据块中的1个第二数据存储位相对应,保存对应第二数据存储位中的更新数据。第一数据存储位的数据容量与第二数据存储位的数据容量相等。优选地,第一数据存储位的数据容量为4字节。
对于每个第二数据块中包括1个第二数据存储位的情况,第一数据存储单元中所包括的第一数据存储位的数量为:
N BU1 = ( C FDB / C BU1 – 2 ) / 2
C FDB = 2 m
其中,N BU1表示每个第一数据块中第一数据存储位的数量,C FDB表示第一数据块的数据容量,C BU1表示第一数据存储位的数据容量,m为自然数。优选地,m的取值对应于FLASH存储器的一个擦除扇区。
示意性地,m = 8,C BU1 = 4,第一数据存储位的数量为N BU1 = 31。
在另一些实施方式中,每个第二数据块中设置两个第二数据存储位,则在每个第一数据存储单元中需要设置2个第一数据存储位,与2个第二数据存储位相对应。
此时,对应于2个第二数据存储位,相应的第一数据存储位的数量为:
N BU1 = ( C FDB / C BU1 – 22 ) / 22
C FDB = 2 m
这样设置第一数据存储位的数量,能够使得每个第二数据存储位在第一数据存储单元的数量相等,便于数据对应。但是,这将浪费2个单次烧写的数据容量。为了充分利用存储空间,亦可将与任一第二数据存储位对应的第一数据存储位的数量相对于另一个第一数据存储位的数量增加1。
示意性地,m = 8,C BU1 = 4,每个第一数据存储位的数量N BU1 = 15;亦可以将其中一个第一数据存储位的数量设置为16,另一个第一数据存储位的数量设置为15。
在进行FLASH和RAM选型时,FLASH单次烧写的数据容量与RAM中第二数据块的数据容量相等时,方案的复杂程度最低。
数据备份区的数据容量,可以根据最新数据的更新频率、第一数据块的数据容量以及对数据备份区擦除频率的期望进行设置。通常,将数据备份区的数据容量设置为与第一数据块的数据容量一致,已能满足使用需求。每个备份单元中所包含数据备份位的数量,对应于第二数据块中第二数据存储位的数量,保存来自对应第二数据存储位的数据;编号单元与备份单元一一对应。记录相应备份单元中的数据所对应的第一数据块编号。
对于第二数据块包括2个及2个以上第二数据存储位的情况,通常,某个第二数据块中的所有第二数据存储位会同时更新数据。但也存在,部分第二数据存储位更新数据的情况。此时,将在对应的第一数据块中占用一个数据存储单元,其中的第一数据存储位保存对应的第二数据存储位的更新数据,未更新的第二数据存储位所对应的第一数据存储单元将不更新数据。相应地,在数据备份区中,亦将占用一个备份单元,其中的数据备份位将保存相应第二数据存储位的更新数据,未更新的第二数据存储位所对应的数据备份位将不更新数据。
第三数据存储位用于保存对应第一数据存储位的数据有效性标识。若第三数据存储位对应的第一数据存储位中未保存有效数据,则第三数据存储位中的数据为该第三数据存储位的初值。通常为FLASH擦除后的初值为:0xFF。若第三数据存储位对应的第一数据存储位保存了有效数据,则第三数据存储位中的数据为自定义的有效标识数据。
通常第三数据存储单元的容量仅为一个单次烧写的数据容量。用于保存过期标识,该过期标识用于指示是否对第三数据存储单元所在的第一数据块进行擦除。当在第一数据块中未查询到可用的第一数据存储单元时,则向第三数据存储单元写入过期标识,表示可以对相应的第一数据块执行擦除操作。
即,该第一数据块的擦除是在该数据块写满数据后进行,在该第一数据块尚存在可用第一数据存储单元时,不写入过期标识,不对该第一数据块进行擦除。保障擦除该第一数据块的前提是:相应的第一数据存储单元已充分写入数据。以此,降低擦除动作的发生频率,延缓相应FLASH扇区耐久度的损耗。
在另一些实施例中,如图4所示,提供一种存储方法,该存储方法应用于上述第一方面记载的存储设备,包括:
S100:获取待存储数据,判断与待存储数据对应的第一数据块中是否存在可用第一数据存储单元;
S200:响应于第一数据块中不存在可用第一数据存储单元,则根据数据备份顺序,将待存储数据保存至数据备份区的首个可用备份单元中的对应数据备份位;
S300:擦除待存储数据所对应第一数据块中的全部数据;
S400:根据数据存储顺序,将保存于数据备份区的待存储数据,保存至相应第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。
其中,待存储数据为RAM存储器中更新的数据。
可选地,S200':响应于第一数据块中存在可用第一数据存储单元,则根据数据存储顺序,将待存储数据写入第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。并在与所述第一数据存储位对应的第三数据存储位写入有效标识。
具体地,判断与待存储数据对应的第一数据块中是否存在可用第一数据存储单元,包括:
S110:获取第一数据块的第三存储单元中保存的数据,判断第三存储单元中保存的数据是否为默认数据;
S120:响应于第三存储单元中保存的数据是默认数据,则第一数据块存在可用的第一数据存储单元;
S120':响应于第三存储单元中保存的数据不是默认数据;则第一数据块不存在可用的第一数据存储单元。
优选地,在根据数据备份顺序,将待存储数据保存至数据备份区的首个可用备份单元中的对应数据备份位之前,还包括:
S190:判断数据备份区中是否存在可用备份单元;
S191:响应于数据备份区中不存在可用备份单元,则擦除数据备份区中的所有数据。
优选地,在获取待存储数据,判断与待存储数据对应的第一数据块中是否存在可用第一数据存储单元之前,还包括:
S010:在FLASH存储器中轮询至少一个第一数据块,执行:
S011:获取相应第三数据存储单元中所存储的数据;
S012:响应于第三数据存储单元中所存储的数据为初始值,则获取对应于各第二数据存储位的最新更新的第三数据存储位所对应的第一数据存储位中所保存的数据,作为相应第二数据块的初始化数据;
S013:将初始化数据保存至第二数据块的对应第二数据存储位中。
初始化存储设备的触发条件是,存储设备的重新启动,或控制存储设备的软件发出复位指令。例如:在设备上电之后,通过初始化命令RECALL,将FLASH中备份的各个最新数据写入RAM。以便使用RAM中的数据替代EEPROM进行数据处理。
S012':响应于第三数据存储单元中所存储的数据不为初值,则擦除该第一数据块,并扫描数据备份区,判断数据备份区中是否存储有对应于该第一数据块的备份数据。
S0121':若数据备份区中未存储有对应于该第一数据块的备份数据,则将FLASH初值写入RAM;
S0121'':若数据备份区中存储有对应于该第一数据块的备份数据,则根据预设存储顺序将该数据写入对应第一数据块的第一数据存储单元,并在对应的第二数据存储单元写入对应于第一数据存储单元的有效标识符。
S0122'':返回执行S011。
还包括:
S013':若该第一数据块中不存在有效标识所对应的最新数据,则将FLASH初值写入RAM。
应该理解的是,虽然图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在另一些实施例中,如图5所示,一种存储装置,包括:
单元筛选模块,用于获取待存储数据,判断与待存储数据对应的第一数据块中是否存在可用第一数据存储单元;
备份存储模块,用于响应于第一数据块中不存在可用第一数据存储单元,则根据数据备份顺序,将待存储数据保存至数据备份区的首个可用备份单元中的对应数据备份位;
数据擦除模块,用于擦除待存储数据所对应第一数据块中的全部数据;
单元写入模块,用于根据数据存储顺序,将保存于数据备份区的待存储数据,保存至相应第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。
关于存储装置的具体限定可以参见上文中对于存储方法的限定,在此不再赘述。上述存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在另一些实施例中,一种计算机可读存储介质,其上存储有存储方法程序,存储方法程序被处理器执行时,实现上述第二方面记载的存储方法。具体的存储方法已在前文具体阐述,在此不再赘述。
通过实施本发明实施例公开的存储设备、存储方法及装置,能够避免对FLASH数据块进行频繁擦写,以数据块为单位进行数据擦除,优化FLASH换页效率;通过优化FLASH换页效率,提高FLASH换页过程中的数据保存成功率;避免频繁擦写同一块FLASH扇区,从而延缓FLASH耐久度的损耗。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
实施例一
采用256KB的FLASH和4KB的RAM配合,模拟4KB的EEPROM。将FLASH划分为1024个第一数据块,每个第一数据块具有256字节数据。FLASH单次烧写的字节数为4字节,则每个第一数据块中含有64个第一数据存储单元,每个第一数据存储单元包括1个第一数据存储位。
相应地,4KB的RAM划分为1024个第二数据块,每第二数据块内包括1个第二数据存储位,其大小为4字节。FLASH单次烧写的数据容量与RAM中第二数据块的数据容量相等。
如图6所示,在任一第一数据块中,对第一数据存储单元依次进行编号为0-30;对第二数据存储单元进行编号为32-62;对第三数据存储单元进行编号为63。其中,0-30保存RAM中相应的更新数据;编号31为空;32-62保存的数据用于指示对应的第一数据存储单元是否有效。当第30号第一数据存储单元写入有效数据,该第一数据块存储数据已满,便在63号写入过期标识。标识该第一数据块可以被擦除。
如图7所示,数据备份区包括32个备份单元,每个备份单元包括1个数据备份位。备份单元编号为0-31;还包括32个编号单元,编号为32-63。其中32号编号单元与0号备份单元对应,33号编号单元与1号备份单元对应,以此类推。
备份区用于在FLASH的任一数据块进行换页时,RAM存储器中的更新数据。
实施例二
采用256KB的FLASH和8KB的RAM配合,模拟8KB的EEPROM。将FLASH划分为1024个第一数据块,每个第一数据块具有256字节数据。FLASH单次烧写的字节数为4字节,则每个第一数据块中含有64个第一数据存储单元,每个第一数据存储单元包括2个第一数据存储位。
相应地,4KB的RAM划分为1024个第二数据块,每第二数据块内包括2个第二数据存储位,其大小分别为4字节。
对第一数据存储单元、第二数据存储单元、第三数据存储单元进行编号的方式如图2所示。其中第一数据存储位对应于第二数据存储位,第一数据存储单元中包括2个第一数据存储位。相应的数据备份区如图3所示。1个备份单元2个数据备份位,并对应1个编号单元。
实施例三
一种存储方法,应用于实施例一或实施例二所记载的存储设备,如图4所示,包括:
S100:获取待存储数据,判断与待存储数据对应的第一数据块中是否存在可用第一数据存储单元;
S200:响应于第一数据块中不存在可用第一数据存储单元,则根据数据备份顺序,将待存储数据保存至数据备份区的首个可用备份单元中的对应数据备份位;
S300:擦除待存储数据所对应第一数据块中的全部数据;
S400:根据数据存储顺序,将保存于数据备份区的待存储数据,保存至相应第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。
实施例四
在实施例三的基础上,一种存储方法具体包括:
S010:在FLASH存储器中轮询至少一个第一数据块,执行:
S011:获取相应第三数据存储单元中所存储的数据;
S012:响应于第三数据存储单元中所存储的数据为初始值,则获取对应于各第二数据存储位的最新更新的第三数据存储位所对应的第一数据存储位中所保存的数据,作为相应第二数据块的初始化数据;
S013:将初始化数据保存至第二数据块的对应第二数据存储位中。
S100:获取待存储数据,判断与待存储数据对应的第一数据块中是否存在可用第一数据存储单元;
S110:获取第一数据块的第三存储单元中保存的数据,判断第三存储单元中保存的数据是否为默认数据;
S120:响应于第三存储单元中保存的数据是默认数据,则第一数据块存在可用的第一数据存储单元;
S120':响应于第三存储单元中保存的数据不是默认数据;则第一数据块不存在可用的第一数据存储单元。
S190:判断数据备份区中是否存在可用备份单元;
S191:响应于数据备份区中不存在可用备份单元,则擦除数据备份区中的所有数据。
S200:响应于第一数据块中不存在可用第一数据存储单元,则根据数据备份顺序,将待存储数据保存至数据备份区的首个可用备份单元中的对应数据备份位;
S200':响应于第一数据块中存在可用第一数据存储单元,则根据数据存储顺序,将待存储数据写入第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。并在与所述第一数据存储位对应的第三数据存储位写入有效标识。
S300:擦除待存储数据所对应第一数据块中的全部数据;
S400:根据数据存储顺序,将保存于数据备份区的待存储数据,保存至相应第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。
实施例五
一种存储装置,如图5所示,包括:
单元筛选模块,用于获取待存储数据,判断与待存储数据对应的第一数据块中是否存在可用第一数据存储单元;
备份存储模块,用于响应于第一数据块中不存在可用第一数据存储单元,则根据数据备份顺序,将待存储数据保存至数据备份区的首个可用备份单元中的对应数据备份位;
数据擦除模块,用于擦除待存储数据所对应第一数据块中的全部数据;
单元写入模块,用于根据数据存储顺序,将保存于数据备份区的待存储数据,保存至相应第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。
实施例六
一种计算机可读存储介质,其上存储有存储方法程序,存储方法程序被处理器执行时,实现上述第二方面记载的存储方法。具体的存储方法已在前文具体阐述,在此不再赘述。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括装载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储器被安装,或者从ROM被安装。在该计算机程序被外部处理器执行时,执行本申请的实施例的方法中限定的上述功能。
需要说明的是,本申请的实施例的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(Radio Frequency,射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述服务器中所包含的;也可以是单独存在,而未装配入该服务器中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该服务器执行时,使得该服务器:响应于检测到终端的外设模式未激活时,获取终端上应用的帧率;在帧率满足息屏条件时,判断用户是否正在获取终端的屏幕信息;响应于判断结果为用户未获取终端的屏幕信息,控制屏幕进入立即暗淡模式。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java,Smalltalk, C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种存储设备,其特征在于,所述存储设备包括FLASH存储器及RAM存储器,所述FLASH存储器与所述RAM存储器通信连接;
所述RAM存储器包括至少一个第二数据块,每个第二数据块包括至少一个第二数据存储位;
所述FLASH存储器包括至少一个第一数据块以及数据备份区;
所述至少一个第一数据块与所述至少一个第二数据块一一对应,每个第一数据块包括至少一个第一数据存储单元,每个第一数据存储单元包括至少一个第一数据存储位,所述至少一个第一数据存储位与所述至少一个第二数据存储位一一对应;
根据数据存储顺序,待存储数据被保存在首个可用第一数据存储单元中的对应第一数据存储位,其中,所述数据存储顺序表示第一数据存储单元的地址升序或地址降序;所述待存储数据表示第二数据块中的更新数据;所述可用第一数据存储单元表示其中的任一第一数据存储位均未保存数据,所述待存储数据为当前RAM存储器中更新的数据;
所述数据备份区包括至少一个备份单元,每个备份单元包括至少一个数据备份位;所述至少一个数据备份位与所述第一数据存储位一一对应;当任一第一数据块中不存在所述可用第一数据存储单元时,根据数据备份顺序,将所述待存储数据保存在首个可用备份单元中的对应数据备份位,其中,所述数据备份顺序表示备份单元的地址升序或地址降序;所述可用备份单元表示其中的任一数据备份位均未保存数据。
2.根据权利要求1所述的存储设备,其特征在于,每个第一数据块还包括第二数据存储单元,每个第二数据存储单元包括至少一个第三数据存储位,所述至少一个第三数据存储位与所述至少一个第一数据存储位一一对应;所述至少一个第三数据存储位存储的数据,用于指示其所对应的第一数据存储位所保存数据的有效性。
3.根据权利要求1所述的存储设备,其特征在于,每个第一数据块还包括第三数据存储单元,所述第三数据存储单元中存储的数据,用于指示所述第三数据存储单元所对应的第一数据块是否需要进行数据擦除。
4.根据权利要求1所述的存储设备,其特征在于,所述数据备份区还包括至少一个编号单元,所述至少一个编号单元与所述至少一个备份单元一一对应,用于保存所述待存储数据所对应的第一数据块编号。
5.一种存储方法,其特征在于,所述存储方法应用于权利要求1-4任一项所述的存储设备,包括:
获取待存储数据,判断与所述待存储数据对应的第一数据块中是否存在可用第一数据存储单元;
响应于所述第一数据块中不存在可用第一数据存储单元,则根据数据备份顺序,将所述待存储数据保存至数据备份区的首个可用备份单元中的对应数据备份位;
擦除所述待存储数据所对应第一数据块中的全部数据;
根据数据存储顺序,将保存于所述数据备份区的所述待存储数据,保存至相应第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。
6.根据权利要求5所述的存储方法,其特征在于,响应于所述第一数据块中存在可用第一数据存储单元,则根据所述数据存储顺序,将所述待存储数据写入所述第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。
7.根据权利要求5所述的存储方法,其特征在于,所述判断与所述待存储数据对应的第一数据块中是否存在可用第一数据存储单元,包括:
获取所述第一数据块的第三存储单元中保存的数据,判断所述第三存储单元中保存的数据是否为默认数据;
响应于所述第三存储单元中保存的数据是默认数据,则所述第一数据块存在可用的第一数据存储单元;
响应于所述第三存储单元中保存的数据不是默认数据;则所述第一数据块不存在可用的第一数据存储单元。
8.根据权利要求5所述的存储方法,其特征在于,在所述根据数据备份顺序,将所述待存储数据保存至数据备份区的首个可用备份单元中的对应数据备份位之前,还包括:
判断所述数据备份区中是否存在所述可用备份单元;
响应于所述数据备份区中不存在所述可用备份单元,则擦除所述数据备份区中的所有数据。
9.根据权利要求5所述的存储方法,其特征在于,在所述获取待存储数据,判断与所述待存储数据对应的第一数据块中是否存在可用第一数据存储单元之前,还包括:
在FLASH存储器中轮询所述至少一个第一数据块,执行:
获取相应第三数据存储单元中所存储的数据;
响应于所述第三数据存储单元中所存储的数据为初始值,则获取对应于各第二数据存储位的最新更新的第三数据存储位所对应的第一数据存储位中所保存的数据,作为相应第二数据块的初始化数据;
将所述初始化数据保存至第二数据块的对应第二数据存储位中。
10.一种存储装置,其特征在于,包括:
单元筛选模块,用于获取待存储数据,判断与所述待存储数据对应的第一数据块中是否存在可用第一数据存储单元;
备份存储模块,用于响应于所述第一数据块中不存在可用第一数据存储单元,则根据数据备份顺序,将所述待存储数据保存至数据备份区的首个可用备份单元中的对应数据备份位;
数据擦除模块,用于擦除所述待存储数据所对应第一数据块中的全部数据;
单元写入模块,用于根据数据存储顺序,将保存于所述数据备份区的所述待存储数据,保存至相应第一数据块的首个可用第一数据存储单元中的对应第一数据存储位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311040715.5A CN116795297B (zh) | 2023-08-18 | 2023-08-18 | 一种存储设备、存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311040715.5A CN116795297B (zh) | 2023-08-18 | 2023-08-18 | 一种存储设备、存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116795297A true CN116795297A (zh) | 2023-09-22 |
CN116795297B CN116795297B (zh) | 2023-11-17 |
Family
ID=88039903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311040715.5A Active CN116795297B (zh) | 2023-08-18 | 2023-08-18 | 一种存储设备、存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795297B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6967869B1 (en) * | 2004-07-22 | 2005-11-22 | Cypress Semiconductor Corp. | Method and device to improve USB flash write performance |
CN102981977A (zh) * | 2011-09-05 | 2013-03-20 | 上海华魏光纤传感技术有限公司 | 一种可延长flash使用寿命的数据存储方法 |
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
US20140164687A1 (en) * | 2011-08-12 | 2014-06-12 | Ajou University Industry-Academic Cooperation Foundation | Memory controller and data management method thereof |
CN103914393A (zh) * | 2014-04-11 | 2014-07-09 | 四川华拓光通信股份有限公司 | 一种基于mcu的flash不丢失更新存储方法 |
CN104820641A (zh) * | 2015-04-16 | 2015-08-05 | 上海冉能自动化科技有限公司 | 减少flash擦除次数的方法 |
WO2016141817A1 (zh) * | 2015-03-06 | 2016-09-15 | 华为技术有限公司 | 数据备份装置及方法 |
US20170046081A1 (en) * | 2015-08-10 | 2017-02-16 | International Business Machines Corporation | Back-up and restoration of data between volatile and flash memory |
US20180113614A1 (en) * | 2013-11-07 | 2018-04-26 | Netlist, Inc. | Direct data move between dram and storage on a memory module |
CN113010105A (zh) * | 2021-02-25 | 2021-06-22 | 深圳市广和通无线股份有限公司 | 一种数据备份的方法、装置、设备和计算机可读存储介质 |
CN114385421A (zh) * | 2022-01-10 | 2022-04-22 | 中国第一汽车股份有限公司 | 数据存储方法、装置、电子设备及存储介质 |
US20220155974A1 (en) * | 2020-11-18 | 2022-05-19 | Electronics And Telecommunications Research Institute | Device with flash memory and method for writing/erasing/updating data in flash memory thereof |
WO2022126470A1 (zh) * | 2020-12-17 | 2022-06-23 | 深圳杰睿联科技有限公司 | Flash数据掉电保护方法及设备 |
CN115145468A (zh) * | 2021-03-30 | 2022-10-04 | 成都忆芯科技有限公司 | 获取地址空间属性的方法、数据备份方法及存储设备 |
CN115185459A (zh) * | 2022-07-07 | 2022-10-14 | 内蒙古机电职业技术学院 | 应用云计算的分布式存储集群迁移系统及方法、存储介质 |
CN115220758A (zh) * | 2022-06-24 | 2022-10-21 | 武汉联特科技股份有限公司 | 一种单片机固件在线升级的方法 |
CN116521062A (zh) * | 2023-03-21 | 2023-08-01 | 福思(杭州)智能科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
-
2023
- 2023-08-18 CN CN202311040715.5A patent/CN116795297B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6967869B1 (en) * | 2004-07-22 | 2005-11-22 | Cypress Semiconductor Corp. | Method and device to improve USB flash write performance |
US20140164687A1 (en) * | 2011-08-12 | 2014-06-12 | Ajou University Industry-Academic Cooperation Foundation | Memory controller and data management method thereof |
CN102981977A (zh) * | 2011-09-05 | 2013-03-20 | 上海华魏光纤传感技术有限公司 | 一种可延长flash使用寿命的数据存储方法 |
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
US20180113614A1 (en) * | 2013-11-07 | 2018-04-26 | Netlist, Inc. | Direct data move between dram and storage on a memory module |
CN103914393A (zh) * | 2014-04-11 | 2014-07-09 | 四川华拓光通信股份有限公司 | 一种基于mcu的flash不丢失更新存储方法 |
WO2016141817A1 (zh) * | 2015-03-06 | 2016-09-15 | 华为技术有限公司 | 数据备份装置及方法 |
CN104820641A (zh) * | 2015-04-16 | 2015-08-05 | 上海冉能自动化科技有限公司 | 减少flash擦除次数的方法 |
US20170046081A1 (en) * | 2015-08-10 | 2017-02-16 | International Business Machines Corporation | Back-up and restoration of data between volatile and flash memory |
US20220155974A1 (en) * | 2020-11-18 | 2022-05-19 | Electronics And Telecommunications Research Institute | Device with flash memory and method for writing/erasing/updating data in flash memory thereof |
WO2022126470A1 (zh) * | 2020-12-17 | 2022-06-23 | 深圳杰睿联科技有限公司 | Flash数据掉电保护方法及设备 |
CN113010105A (zh) * | 2021-02-25 | 2021-06-22 | 深圳市广和通无线股份有限公司 | 一种数据备份的方法、装置、设备和计算机可读存储介质 |
CN115145468A (zh) * | 2021-03-30 | 2022-10-04 | 成都忆芯科技有限公司 | 获取地址空间属性的方法、数据备份方法及存储设备 |
CN114385421A (zh) * | 2022-01-10 | 2022-04-22 | 中国第一汽车股份有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN115220758A (zh) * | 2022-06-24 | 2022-10-21 | 武汉联特科技股份有限公司 | 一种单片机固件在线升级的方法 |
CN115185459A (zh) * | 2022-07-07 | 2022-10-14 | 内蒙古机电职业技术学院 | 应用云计算的分布式存储集群迁移系统及方法、存储介质 |
CN116521062A (zh) * | 2023-03-21 | 2023-08-01 | 福思(杭州)智能科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116795297B (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1036364B1 (en) | Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory | |
US6009497A (en) | Method and apparatus for updating flash memory resident firmware through a standard disk drive interface | |
US20170249219A1 (en) | Data storage device and flash memory control method | |
CN100380529C (zh) | 非易失性存储器 | |
US8037232B2 (en) | Data protection method for power failure and controller using the same | |
CN1658171B (zh) | 通过控制频繁受访问扇区对非易失性存储器的更快写操作 | |
JP4822440B2 (ja) | 不揮発性メモリシステムのための内部メンテナンススケジュール要求 | |
US7725646B2 (en) | Method of using a flash memory for a circular buffer | |
US8051268B2 (en) | Memory controller, nonvolatile storage device, nonvolatile storage system, and nonvolatile memory address management method | |
US20120030411A1 (en) | Data protecting method, memory controller and portable memory storage apparatus | |
TWI423026B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
JPH09185551A (ja) | 半導体記憶装置 | |
JP2006048893A (ja) | 不良ブロック管理機能を有するフラッシュメモリ装置及びフラッシュメモリ装置の不良ブロック管理方法 | |
JP2007280428A (ja) | メモリ管理 | |
US8667242B2 (en) | Data access method and system, storage medium controller and storage system | |
WO2005059966A2 (en) | Rotational use of memory to minimize write cycles | |
CN104978148A (zh) | 数据写入方法及装置、数据读取方法及装置 | |
US8156278B2 (en) | Non-volatile data storage system and method thereof | |
CN115220758B (zh) | 一种单片机固件在线升级的方法 | |
US20130013885A1 (en) | Memory storage device, memory controller, and method for identifying valid data | |
CN116795297B (zh) | 一种存储设备、存储方法及装置 | |
US8762685B2 (en) | Data writing method, memory controller and memory storage apparatus | |
WO2001095338A2 (en) | Method and apparatus for predective flash memory erase and write times | |
JPH0695955A (ja) | フラッシュ・ファイル・システム | |
US7743277B2 (en) | System and method for detecting and reducing data corruption in a 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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 808, 8th Floor, Building A10, No. 777 Jianshe West Road, Binhu District, Wuxi City, Jiangsu Province, 214000 Applicant after: Jiangsu Yuntu Semiconductor Co.,Ltd. Address before: 215500 room 805, No. 1, Southeast Avenue, Changshu high tech Industrial Development Zone, Suzhou City, Jiangsu Province Applicant before: Suzhou yuntu Semiconductor Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |