CN110321073A - 一种闪存的数据存储方法和装置以及设备 - Google Patents
一种闪存的数据存储方法和装置以及设备 Download PDFInfo
- Publication number
- CN110321073A CN110321073A CN201910290439.5A CN201910290439A CN110321073A CN 110321073 A CN110321073 A CN 110321073A CN 201910290439 A CN201910290439 A CN 201910290439A CN 110321073 A CN110321073 A CN 110321073A
- Authority
- CN
- China
- Prior art keywords
- data
- write order
- system logic
- data information
- logic write
- 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
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/0614—Improving the reliability of storage systems
-
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种闪存的数据存储方法和装置以及设备。其中,所述方法包括:接收系统逻辑写命令,和根据该接收的系统逻辑写命令,检测该接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果,和根据该得到的检测结果,在该得到的检测结果是该接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的该数据信息所对应的数据并写入热数据区,以及更新映射表,同时记录该页中该数据信息所对应的数据的数量。通过上述方式,能够实现通过写入多份数据备份存储,在有数据出错时,能够通过备份存储的数据进行数据还原,提高了系统数据的稳定性。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种闪存的数据存储方法和装置以及设备。
背景技术
非易失性存储器(Nand Flash),简称闪存,具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、音频随身听记忆卡、体积小巧的移动存储盘等。
由于闪存速度快,同时比机械硬盘稳定,导致现在大量使用闪存作为系统的存储设备,但是各类系统对于存储设备的操作还是保留了原来机械硬盘的特性,例如windows(微软视窗操作系统)系统中FAT(FAT,文件配置表)文件系统,写入数据时需要更新三部分内容,包括:1为FAT表,512B(Byte,字节)为单位,2为FDT(File Directory Table,文件目录表)表,4096B为单位,3才是用户数据,其中1与2会被反复更新。
对于机械硬盘而言,可以以512B作为单位在原地址进行数据更新,更新极为方便,但是闪存则不行,一旦有数据更新,需要先将旧数据读出,再从接口接收新数据后再写到一个新地址,同时更新映射表记录,操作极为复杂。
闪存编程的最小单位通常为16K(Kilobyte,千字节),但是系统操作的最小单位通常为512B或者4096B即4K,闪存映射表管理通常以4096B或者页作为逻辑页单位,假如以4K做为逻辑页单位,那么一个闪存物理页则可以保存16K/4096B=4个逻辑页的数据。系统更新512B时需要将原来的4K数据读出,再将512B数据更新到相应的位置后,暂存在控制器的RAM(Random Access Memory,随机存取存储器)中,一旦存满够4个逻辑页数据后再写入闪存中,假如不够4个逻辑页的数据,则在一定时间后填充无效数据后写入闪存中。
但是,发明人发现现有技术中至少存在如下问题:
现有的闪存的数据存储方案,一般系统操作的最小单位通常为512B或者4096B即4K,闪存映射表管理通常以4096B即4K或者页作为逻辑页单位,对于这些最小单位例如512B或者4K的系统数据
通常都为系统关键性数据,一旦出错,会导致系统数据直接出错,系统数据稳定性降低。
发明内容
有鉴于此,本发明的目的在于提出一种闪存的数据存储方法和装置以及设备,能够实现通过写入多份数据备份存储,在有数据出错时,能够通过备份存储的数据进行数据还原,提高了系统数据的稳定性。
根据本发明的一个方面,提供一种闪存的数据存储方法,包括:
接收系统逻辑写命令;其中,所述系统逻辑写命令中携带有数据信息包括数据长度和数据地址;
根据所述接收的系统逻辑写命令,检测所述接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果;
根据所述得到的检测结果,在所述得到的检测结果是所述接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的所述数据信息所对应的数据并写入热数据区;
更新映射表,同时记录所述页中所述数据信息所对应的数据的数量。
其中,所述根据所述接收的系统逻辑写命令,检测所述接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果,包括:
根据所述接收的系统逻辑写命令,检测所述接收的系统逻辑写命令中携带的数据信息中的数据地址是否是热数据地址和数据长度是否不大于预设的数据长度值,在检测出所述接收的系统逻辑写命令中携带的数据信息中的数据地址是热数据地址且数据长度是不大于预设的数据长度值时,得到所述接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中的检测结果;
在检测出所述接收的系统逻辑写命令中携带的数据信息中的数据地址不是热数据地址和/或数据长度是小于于预设的数据长度值时,得到所述接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中的检测结果。
其中,所述根据所述得到的检测结果,在所述得到的检测结果是所述接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的所述数据信息所对应的数据并写入热数据区,还包括:
根据所述得到的检测结果,在所述得到的检测结果是所述接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中时,更新映射表,同时记录所述页中所述数据信息所对应的数据的数量。
其中,在所述更新映射表,同时记录所述页中所述数据信息所对应的数据的数量之后,还包括:
根据所述更新的映射表,对所述更新后的映射表中所记录的所述页中所述数据信息所对应的数据进行错误检查和纠正,并将所述经错误检查和纠正后的数据信息更新到映射表。
其中,所述根据所述更新映射表,对所述更新后的映射表中所记录的所述页中所述数据信息所对应的数据进行错误检查和纠正,并将所述经错误检查和纠正后的数据信息更新到映射表,包括:
根据所述更新映射表,采用比特整合方式,对所述更新后的映射表中所记录的所述页中所述数据信息所对应的数据进行错误检查和纠正,并将所述经错误检查和纠正后的数据信息更新到映射表。
根据本发明的另一个方面,提供一种闪存的数据存储装置,包括:
接收模块、检测模块、存储模块和更新模块;
所述接收模块,用于接收系统逻辑写命令;其中,所述系统逻辑写命令中携带有数据信息包括数据长度和数据地址;
所述检测模块,用于根据所述接收的系统逻辑写命令,检测所述接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果;
所述存储模块,用于根据所述得到的检测结果,在所述得到的检测结果是所述接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的所述数据信息所对应的数据并写入热数据区;
所述更新模块,用于更新映射表,同时记录所述页中所述数据信息所对应的数据的数量。
其中,所述检测模块,具体用于:
根据所述接收的系统逻辑写命令,检测所述接收的系统逻辑写命令中携带的数据信息中的数据地址是否是热数据地址和数据长度是否不大于预设的数据长度值,在检测出所述接收的系统逻辑写命令中携带的数据信息中的数据地址是热数据地址且数据长度是不大于预设的数据长度值时,得到所述接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中的检测结果;
在检测出所述接收的系统逻辑写命令中携带的数据信息中的数据地址不是热数据地址和/或数据长度是小于于预设的数据长度值时,得到所述接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中的检测结果。
其中,所述闪存的数据存储装置,还包括:
纠正模块,用于根据所述更新的映射表,对所述更新后的映射表中所记录的所述页中所述数据信息所对应的数据进行错误检查和纠正,并将所述经错误检查和纠正后的数据信息更新到映射表。
其中,所述纠正模块,具体用于:
根据所述更新映射表,采用比特整合方式,对所述更新后的映射表中所记录的所述页中所述数据信息所对应的数据进行错误检查和纠正,并将所述经错误检查和纠正后的数据信息更新到映射表。
根据本发明的又一个方面,提供一种闪存的数据存储设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一项所述的闪存的数据存储。
根据本发明的再一个方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的闪存的数据存储。
可以发现,以上方案,可以接收系统逻辑写命令,其中,该系统逻辑写命令中携带有数据信息包括数据长度和数据地址等,和根据该接收的系统逻辑写命令,检测该接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果,和根据该得到的检测结果,在该得到的检测结果是该接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的该数据信息所对应的数据并写入热数据区,以及更新映射表,同时记录该页中该数据信息所对应的数据的数量,能够实现通过写入多份数据备份存储,在有数据出错时,能够通过备份存储的数据进行数据还原,提高了系统数据的稳定性。
进一步的,以上方案,可以根据接收的系统逻辑写命令,检测该接收的系统逻辑写命令中携带的数据信息中的数据地址是否是热数据地址和数据长度是否不大于预设的数据长度值,在检测出该接收的系统逻辑写命令中携带的数据信息中的数据地址是热数据地址且数据长度是不大于预设的数据长度值时,得到该接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中的检测结果;在检测出该接收的系统逻辑写命令中携带的数据信息中的数据地址不是热数据地址和/或数据长度是小于等于预设的数据长度值时,得到该接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中的检测结果,这样的好处是可以通过检测系统逻辑写命令中的数据地址信息和数据长度信息来判断系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中,数据地址信息和数据长度信息的数据量不大,不会影响数据处理性能,同时又方便检测判断数据是否重复写入存储中。
进一步的,以上方案,可以根据得到的检测结果,在该得到的检测结果是接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中时,更新映射表,同时记录该页中该数据信息所对应的数据的数量,这样的好处是在有数据出错时,能够通过重复写入到存储中的数据进行数据还原,提高了系统数据的稳定性。
进一步的,以上方案,可以根据更新的映射表,对该更新后的映射表中所记录的该页中该数据信息所对应的数据进行错误检查和纠正,并将该经错误检查和纠正后的数据信息更新到映射表,这样的好处是能够保障备份存储的数据的准确性,进一步提高系统数据的稳定性。
进一步的,以上方案,可以根据更新的映射表,采用比特整合方式,对该更新后的映射表中所记录的该页中该数据信息所对应的数据进行错误检查和纠正,并将该经错误检查和纠正后的数据信息更新到映射表,这样的好处是能够提高数据错误的检查效率和提高数据纠正的准确率,保障备份存储的数据的准确性,进一步提高系统数据的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明闪存的数据存储方法一实施例的流程示意图;
图2是本发明闪存的数据存储方法另一实施例的流程示意图;
图3是本发明闪存的数据存储装置一实施例的结构示意图;
图4是本发明闪存的数据存储装置另一实施例的结构示意图;
图5是本发明闪存的数据存储设备一实施例的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明作进一步的详细描述。特别指出的是,以下实施例仅用于说明本发明,但不对本发明的范围进行限定。同样的,以下实施例仅为本发明的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提供一种闪存的数据存储方法,能够实现通过写入多份数据备份存储,在有数据出错时,能够通过备份存储的数据进行数据还原,提高了系统数据的稳定性。
请参见图1,图1是本发明闪存的数据存储方法一实施例的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括如下步骤:
S101:接收系统逻辑写命令;其中,该系统逻辑写命令中携带有数据信息包括数据长度和数据地址等。
S102:根据该接收的系统逻辑写命令,检测该接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果。
其中,该根据该接收的系统逻辑写命令,检测该接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果,可以包括:
根据该接收的系统逻辑写命令,检测该接收的系统逻辑写命令中携带的数据信息中的数据地址是否是热数据地址和数据长度是否不大于预设的数据长度值,在检测出该接收的系统逻辑写命令中携带的数据信息中的数据地址是热数据地址且数据长度是不大于预设的数据长度值时,得到该接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中的检测结果;在检测出该接收的系统逻辑写命令中携带的数据信息中的数据地址不是热数据地址和/或数据长度是小于等于预设的数据长度值时,得到该接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中的检测结果,这样的好处是可以通过检测系统逻辑写命令中的数据地址信息和数据长度信息来判断系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中,数据地址信息和数据长度信息的数据量不大,不会影响数据处理性能,同时又方便检测判断数据是否重复写入存储中。
在本实施例中,该接收的系统逻辑写命令中携带的数据信息所对应的数据可以是闪存系统的关键性数据,也可以是闪存系统的关键性数据和用户数据,还可以是至少包括闪存系统的关键性数据的数据,本发明不加以限定。
在本实施例中,该预设的数据长度值可以是4096字节,也可以是其它字节数值,本发明不加以限定。
在本实施例中,闪存系统的关键性数据,一旦出错,会导致闪存系统直接出错,闪存系统的稳定性会降低。
S103:根据该得到的检测结果,在该得到的检测结果是该接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的该数据信息所对应的数据并写入热数据区。
其中,该根据该得到的检测结果,在该得到的检测结果是该接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的该数据信息所对应的数据并写入热数据区,还可以包括:
根据该得到的检测结果,在该得到的检测结果是该接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中时,更新映射表,同时记录该页中该数据信息所对应的数据的数量,这样的好处是在有数据出错时,能够通过重复写入到存储中的数据进行数据还原,提高了系统数据的稳定性。
S104:更新映射表,同时记录该页中该数据信息所对应的数据的数量。
其中,在该更新映射表,同时记录该页中该数据信息所对应的数据的数量之后,还可以包括:
根据该更新的映射表,对该更新后的映射表中所记录的该页中该数据信息所对应的数据进行ECC(Error Correcting Code,错误检查和纠正),并将该经ECC后的数据信息更新到映射表,这样的好处是能够保障备份存储的数据的准确性,进一步提高系统数据的稳定性。
可以发现,在本实施例中,可以接收系统逻辑写命令,其中,该系统逻辑写命令中携带有数据信息包括数据长度和数据地址等,和根据该接收的系统逻辑写命令,检测该接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果,和根据该得到的检测结果,在该得到的检测结果是该接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的该数据信息所对应的数据并写入热数据区,以及更新映射表,同时记录该页中该数据信息所对应的数据的数量,能够实现通过写入多份数据备份存储,在有数据出错时,能够通过备份存储的数据进行数据还原,提高了系统数据的稳定性。
进一步的,在本实施例中,可以根据接收的系统逻辑写命令,检测该接收的系统逻辑写命令中携带的数据信息中的数据地址是否是热数据地址和数据长度是否不大于预设的数据长度值,在检测出该接收的系统逻辑写命令中携带的数据信息中的数据地址是热数据地址且数据长度是不大于预设的数据长度值时,得到该接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中的检测结果;在检测出该接收的系统逻辑写命令中携带的数据信息中的数据地址不是热数据地址和/或数据长度是小于等于预设的数据长度值时,得到该接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中的检测结果,这样的好处是可以通过检测系统逻辑写命令中的数据地址信息和数据长度信息来判断系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中,数据地址信息和数据长度信息的数据量不大,不会影响数据处理性能,同时又方便检测判断数据是否重复写入存储中。
进一步的,在本实施例中,可以根据得到的检测结果,在该得到的检测结果是接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中时,更新映射表,同时记录该页中该数据信息所对应的数据的数量,这样的好处是在有数据出错时,能够通过重复写入到存储中的数据进行数据还原,提高了系统数据的稳定性。
请参见图2,图2是本发明闪存的数据存储方法另一实施例的流程示意图。本实施例中,该方法包括以下步骤:
S201:接收系统逻辑写命令;其中,该系统逻辑写命令中携带有数据信息包括数据长度和数据地址等。
S202:根据该接收的系统逻辑写命令,检测该接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果。
可如上S102所述,在此不作赘述。
S203:根据该得到的检测结果,在该得到的检测结果是该接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的该数据信息所对应的数据并写入热数据区。
可如上S103所述,在此不作赘述。
S204:更新映射表,同时记录该页中该数据信息所对应的数据的数量。
S205:根据该更新的映射表,对该更新后的映射表中所记录的该页中该数据信息所对应的数据进行错误检查和纠正,并将该经错误检查和纠正后的数据信息更新到映射表。
其中,该根据该更新映射表,对该更新后的映射表中所记录的该页中该数据信息所对应的数据进行错误检查和纠正,并将该经错误检查和纠正后的数据信息更新到映射表,可以包括:
根据该更新映射表,采用Bit(Binary digit,比特)整合方式,对该更新后的映射表中所记录的该页中该数据信息所对应的数据进行错误检查和纠正,并将该经错误检查和纠正后的数据信息更新到映射表,这样的好处是能够提高数据错误的检查效率和提高数据纠正的准确率,保障备份存储的数据的准确性,进一步提高系统数据的稳定性。
在本实施例中,该采用的Bit整合方式,可以包括:
在有多份相同数据的情况下,每一份都无法通过ECC纠错,那就检查相同偏移的Bit值,值出现概率越大,越为有效值,例如在某一个Bit,有3份都为0,有一份为1,则该Bit值为判断为0,这样可以将4份都有错的数据,湊出一份正常的数据。
可以发现,在本实施例中,可以根据更新的映射表,对该更新后的映射表中所记录的该页中该数据信息所对应的数据进行错误检查和纠正,并将该经错误检查和纠正后的数据信息更新到映射表,这样的好处是能够保障备份存储的数据的准确性,进一步提高系统数据的稳定性。
进一步的,在本实施例中,可以根据更新的映射表,采用比特整合方式,对该更新后的映射表中所记录的该页中该数据信息所对应的数据进行错误检查和纠正,并将该经错误检查和纠正后的数据信息更新到映射表,这样的好处是能够提高数据错误的检查效率和提高数据纠正的准确率,保障备份存储的数据的准确性,进一步提高系统数据的稳定性。
本发明还提供一种闪存的数据存储装置,能够实现通过写入多份数据备份存储,在有数据出错时,能够通过备份存储的数据进行数据还原,提高了系统数据的稳定性。
请参见图3,图3是本发明闪存的数据存储装置一实施例的结构示意图。本实施例中,该闪存的数据存储装置30包括接收模块31、检测模块32、存储模块33和更新模块34。
该接收模块31,用于接收系统逻辑写命令;其中,该系统逻辑写命令中携带有数据信息包括数据长度和数据地址等。
该检测模块32,用于根据该接收的系统逻辑写命令,检测该接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果。
该存储模块33,用于根据该得到的检测结果,在该得到的检测结果是该接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的该数据信息所对应的数据并写入热数据区。
该更新模块34,用于更新映射表,同时记录该页中该数据信息所对应的数据的数量。
可选地,该检测模块32,可以具体用于:
根据该接收的系统逻辑写命令,检测该接收的系统逻辑写命令中携带的数据信息中的数据地址是否是热数据地址和数据长度是否不大于预设的数据长度值,在检测出该接收的系统逻辑写命令中携带的数据信息中的数据地址是热数据地址且数据长度是不大于预设的数据长度值时,得到该接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中的检测结果;在检测出该接收的系统逻辑写命令中携带的数据信息中的数据地址不是热数据地址和/或数据长度是小于等于预设的数据长度值时,得到该接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中的检测结果。
请参见图4,图4是本发明闪存的数据存储装置另一实施例的结构示意图。区别于上一实施例,本实施例所述闪存的数据存储装置40还包括:纠正模块41。
该纠正模块41,用于根据该更新的映射表,对该更新后的映射表中所记录的该页中该数据信息所对应的数据进行错误检查和纠正,并将该经错误检查和纠正后的数据信息更新到映射表。
可选地,该纠正模块41,可以具体用于:
根据该更新映射表,采用比特整合方式,对该更新后的映射表中所记录的该页中该数据信息所对应的数据进行错误检查和纠正,并将该经错误检查和纠正后的数据信息更新到映射表。
该闪存的数据存储装置30/40的各个单元模块可分别执行上述方法实施例中对应步骤,故在此不对各单元模块进行赘述,详细请参见以上对应步骤的说明。
本发明又提供一种闪存的数据存储设备,如图5所示,包括:至少一个处理器51;以及,与至少一个处理器51通信连接的存储器52;其中,存储器52存储有可被至少一个处理器51执行的指令,指令被至少一个处理器51执行,以使至少一个处理器51能够执行上述的闪存的数据存储方法。
其中,存储器52和处理器51采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器51和存储器52的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器51处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器51。
处理器51负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器52可以被用于存储处理器51在执行操作时所使用的数据。
本发明再提供一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
可以发现,以上方案,可以接收系统逻辑写命令,其中,该系统逻辑写命令中携带有数据信息包括数据长度和数据地址等,和根据该接收的系统逻辑写命令,检测该接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果,和根据该得到的检测结果,在该得到的检测结果是该接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的该数据信息所对应的数据并写入热数据区,以及更新映射表,同时记录该页中该数据信息所对应的数据的数量,能够实现通过写入多份数据备份存储,在有数据出错时,能够通过备份存储的数据进行数据还原,提高了系统数据的稳定性。
进一步的,以上方案,可以根据接收的系统逻辑写命令,检测该接收的系统逻辑写命令中携带的数据信息中的数据地址是否是热数据地址和数据长度是否不大于预设的数据长度值,在检测出该接收的系统逻辑写命令中携带的数据信息中的数据地址是热数据地址且数据长度是不大于预设的数据长度值时,得到该接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中的检测结果;在检测出该接收的系统逻辑写命令中携带的数据信息中的数据地址不是热数据地址和/或数据长度是小于等于预设的数据长度值时,得到该接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中的检测结果,这样的好处是可以通过检测系统逻辑写命令中的数据地址信息和数据长度信息来判断系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中,数据地址信息和数据长度信息的数据量不大,不会影响数据处理性能,同时又方便检测判断数据是否重复写入存储中。
进一步的,以上方案,可以根据得到的检测结果,在该得到的检测结果是接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中时,更新映射表,同时记录该页中该数据信息所对应的数据的数量,这样的好处是在有数据出错时,能够通过重复写入到存储中的数据进行数据还原,提高了系统数据的稳定性。
进一步的,以上方案,可以根据更新的映射表,对该更新后的映射表中所记录的该页中该数据信息所对应的数据进行错误检查和纠正,并将该经错误检查和纠正后的数据信息更新到映射表,这样的好处是能够保障备份存储的数据的准确性,进一步提高系统数据的稳定性。
进一步的,以上方案,可以根据更新的映射表,采用比特整合方式,对该更新后的映射表中所记录的该页中该数据信息所对应的数据进行错误检查和纠正,并将该经错误检查和纠正后的数据信息更新到映射表,这样的好处是能够提高数据错误的检查效率和提高数据纠正的准确率,保障备份存储的数据的准确性,进一步提高系统数据的稳定性。
在本发明所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的部分实施例,并非因此限制本发明的保护范围,凡是利用本发明说明书及附图内容所作的等效装置或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种闪存的数据存储方法,其特征在于,包括:
接收系统逻辑写命令;其中,所述系统逻辑写命令中携带有数据信息包括数据长度和数据地址;
根据所述接收的系统逻辑写命令,检测所述接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果;
根据所述得到的检测结果,在所述得到的检测结果是所述接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的所述数据信息所对应的数据并写入热数据区;
更新映射表,同时记录所述页中所述数据信息所对应的数据的数量。
2.如权利要求1所述的闪存的数据存储方法,其特征在于,所述根据所述接收的系统逻辑写命令,检测所述接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果,包括:
根据所述接收的系统逻辑写命令,检测所述接收的系统逻辑写命令中携带的数据信息中的数据地址是否是热数据地址和数据长度是否不大于预设的数据长度值,在检测出所述接收的系统逻辑写命令中携带的数据信息中的数据地址是热数据地址且数据长度是不大于预设的数据长度值时,得到所述接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中的检测结果;
在检测出所述接收的系统逻辑写命令中携带的数据信息中的数据地址不是热数据地址和/或数据长度是小于于预设的数据长度值时,得到所述接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中的检测结果。
3.如权利要求1所述的闪存的数据存储方法,其特征在于,所述根据所述得到的检测结果,在所述得到的检测结果是所述接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的所述数据信息所对应的数据并写入热数据区,还包括:
根据所述得到的检测结果,在所述得到的检测结果是所述接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中时,更新映射表,同时记录所述页中所述数据信息所对应的数据的数量。
4.如权利要求1所述的闪存的数据存储方法,其特征在于,在所述更新映射表,同时记录所述页中所述数据信息所对应的数据的数量之后,还包括:
根据所述更新的映射表,对所述更新后的映射表中所记录的所述页中所述数据信息所对应的数据进行错误检查和纠正,并将所述经错误检查和纠正后的数据信息更新到映射表。
5.如权利要求4所述的闪存的数据存储方法,其特征在于,所述根据所述更新映射表,对所述更新后的映射表中所记录的所述页中所述数据信息所对应的数据进行错误检查和纠正,并将所述经错误检查和纠正后的数据信息更新到映射表,包括:
根据所述更新映射表,采用比特整合方式,对所述更新后的映射表中所记录的所述页中所述数据信息所对应的数据进行错误检查和纠正,并将所述经错误检查和纠正后的数据信息更新到映射表。
6.一种闪存的数据存储装置,其特征在于,包括:
接收模块、检测模块、存储模块和更新模块;
所述接收模块,用于接收系统逻辑写命令;其中,所述系统逻辑写命令中携带有数据信息包括数据长度和数据地址;
所述检测模块,用于根据所述接收的系统逻辑写命令,检测所述接收的系统逻辑写命令中携带的数据信息所对应的数据是否重复写入存储中得到检测结果;
所述存储模块,用于根据所述得到的检测结果,在所述得到的检测结果是所述接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中时,存储预设数量的所述数据信息所对应的数据并写入热数据区;
所述更新模块,用于更新映射表,同时记录所述页中所述数据信息所对应的数据的数量。
7.如权利要求6所述的闪存的数据存储装置,其特征在于,所述检测模块,具体用于:
根据所述接收的系统逻辑写命令,检测所述接收的系统逻辑写命令中携带的数据信息中的数据地址是否是热数据地址和数据长度是否不大于预设的数据长度值,在检测出所述接收的系统逻辑写命令中携带的数据信息中的数据地址是热数据地址且数据长度是不大于预设的数据长度值时,得到所述接收的系统逻辑写命令中携带的数据信息所对应的数据是没有重复写入存储中的检测结果;
在检测出所述接收的系统逻辑写命令中携带的数据信息中的数据地址不是热数据地址和/或数据长度是小于于预设的数据长度值时,得到所述接收的系统逻辑写命令中携带的数据信息所对应的数据是有重复写入存储中的检测结果。
8.如权利要求6所述的闪存的数据存储装置,其特征在于,所述闪存的数据存储装置,还包括:
纠正模块,用于根据所述更新的映射表,对所述更新后的映射表中所记录的所述页中所述数据信息所对应的数据进行错误检查和纠正,并将所述经错误检查和纠正后的数据信息更新到映射表。
9.如权利要求8所述的闪存的数据存储装置,其特征在于,所述纠正模块,具体用于:
根据所述更新映射表,采用比特整合方式,对所述更新后的映射表中所记录的所述页中所述数据信息所对应的数据进行错误检查和纠正,并将所述经错误检查和纠正后的数据信息更新到映射表。
10.一种闪存的数据存储设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5中任一项所述的闪存的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290439.5A CN110321073B (zh) | 2019-04-11 | 2019-04-11 | 一种闪存的数据存储方法和装置以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290439.5A CN110321073B (zh) | 2019-04-11 | 2019-04-11 | 一种闪存的数据存储方法和装置以及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321073A true CN110321073A (zh) | 2019-10-11 |
CN110321073B CN110321073B (zh) | 2023-05-02 |
Family
ID=68113233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910290439.5A Active CN110321073B (zh) | 2019-04-11 | 2019-04-11 | 一种闪存的数据存储方法和装置以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321073B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005135292A (ja) * | 2003-10-31 | 2005-05-26 | Kyocera Mita Corp | カウンタ装置及びこれを備えた画像形成装置 |
CN101794253A (zh) * | 2009-02-04 | 2010-08-04 | 威刚科技股份有限公司 | 内存储存装置及其控制方法、热门数据控管模块 |
US20100257312A1 (en) * | 2009-04-01 | 2010-10-07 | Acunu Limited | Data Storage Methods and Apparatus |
CN102902628A (zh) * | 2012-09-18 | 2013-01-30 | 记忆科技(深圳)有限公司 | 一种基于闪存实现的冷热数据自动分离方法、系统及闪存 |
CN103984506A (zh) * | 2014-04-30 | 2014-08-13 | 深圳市江波龙电子有限公司 | 闪存存储设备数据写的方法和系统 |
US20160179678A1 (en) * | 2014-12-19 | 2016-06-23 | International Business Machines Corporation | Non-volatile memory controller cache architecture with support for separation of data streams |
CN106406753A (zh) * | 2016-08-30 | 2017-02-15 | 深圳芯邦科技股份有限公司 | 一种数据存储方法及数据存储装置 |
CN108829613A (zh) * | 2018-05-24 | 2018-11-16 | 中山市江波龙电子有限公司 | 数据存储方法及存储设备 |
CN109582640A (zh) * | 2018-11-15 | 2019-04-05 | 深圳市酷开网络科技有限公司 | 一种基于滑动窗口的数据去重存储方法、装置及存储介质 |
CN109597574A (zh) * | 2018-11-27 | 2019-04-09 | 深圳市酷开网络科技有限公司 | 分布式数据存储方法、服务器及可读存储介质 |
-
2019
- 2019-04-11 CN CN201910290439.5A patent/CN110321073B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005135292A (ja) * | 2003-10-31 | 2005-05-26 | Kyocera Mita Corp | カウンタ装置及びこれを備えた画像形成装置 |
CN101794253A (zh) * | 2009-02-04 | 2010-08-04 | 威刚科技股份有限公司 | 内存储存装置及其控制方法、热门数据控管模块 |
US20100257312A1 (en) * | 2009-04-01 | 2010-10-07 | Acunu Limited | Data Storage Methods and Apparatus |
CN102902628A (zh) * | 2012-09-18 | 2013-01-30 | 记忆科技(深圳)有限公司 | 一种基于闪存实现的冷热数据自动分离方法、系统及闪存 |
CN103984506A (zh) * | 2014-04-30 | 2014-08-13 | 深圳市江波龙电子有限公司 | 闪存存储设备数据写的方法和系统 |
US20160179678A1 (en) * | 2014-12-19 | 2016-06-23 | International Business Machines Corporation | Non-volatile memory controller cache architecture with support for separation of data streams |
CN106406753A (zh) * | 2016-08-30 | 2017-02-15 | 深圳芯邦科技股份有限公司 | 一种数据存储方法及数据存储装置 |
CN108829613A (zh) * | 2018-05-24 | 2018-11-16 | 中山市江波龙电子有限公司 | 数据存储方法及存储设备 |
CN109582640A (zh) * | 2018-11-15 | 2019-04-05 | 深圳市酷开网络科技有限公司 | 一种基于滑动窗口的数据去重存储方法、装置及存储介质 |
CN109597574A (zh) * | 2018-11-27 | 2019-04-09 | 深圳市酷开网络科技有限公司 | 分布式数据存储方法、服务器及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110321073B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7036066B2 (en) | Error detection using data block mapping | |
CN102414666B (zh) | 用于受管理的非易失性存储器的低等待时间读取操作 | |
CN102422271B (zh) | 用于非易失性存储器系统的多页准备命令 | |
CN101124639B (zh) | 访问非易失性计算机存储器的系统和方法 | |
CN102163133B (zh) | 针对具有可擦除/可重写存储器使用带有主机装置的一次或数次可编程存储器的方法及装置 | |
CN106158038B (zh) | 从非易失性存储器读取数据的方法 | |
CN106463179B (zh) | 利用存储器控制器处理数据错误事件的方法、装置和系统 | |
US6460145B1 (en) | Storage device data processing system and data writing and readout method | |
KR101451482B1 (ko) | 데이터 이용가능성의 마운트타임 조정 | |
US9146854B2 (en) | Restoring storage devices based on flash memories and related circuit, system, and method | |
US8271719B2 (en) | Non-volatile memory controller device and method therefor | |
US20140181395A1 (en) | Virtual tape library system | |
CN108563532A (zh) | 数据处理方法及相关装置 | |
CN105159800B (zh) | 数据恢复方法、数据备份方法及相关设备、系统 | |
US20030023933A1 (en) | End-to-end disk data checksumming | |
US20120272114A1 (en) | Memory controller, memory system, and operating method | |
US20110264857A1 (en) | Memory efficient check of raid information | |
CN103984506B (zh) | 闪存存储设备数据写的方法和系统 | |
CN101320592A (zh) | 一种大容量flash固存控制器 | |
US8301981B2 (en) | Data access method for flash memory and storage system and controller thereof | |
WO2014120205A1 (en) | Replacement of a corrupt driver variable record | |
CN103544995B (zh) | 一种坏道修复方法及装置 | |
KR20210028264A (ko) | 호스트 상주 변환 레이어 유효성 검사 | |
CN110275800A (zh) | Ssd数据物理备份方法、装置、计算机设备及存储介质 | |
CN112596808A (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 | ||
CB02 | Change of applicant information |
Address after: Room 2501, 2401, block a, building 1, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen City, Guangdong Province Applicant after: Shenzhen deminli Technology Co.,Ltd. Address before: 518000 Intelligence Valley Innovation Park 701, 707, No. 1010 Bulong Road, Xinniu Community, Minzhi Street, Longhua District, Shenzhen City, Guangdong Province Applicant before: SHENZHEN DEMINGLI ELECTRONICS Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |