CN101894077B - 一种数据存储方法及系统 - Google Patents
一种数据存储方法及系统 Download PDFInfo
- Publication number
- CN101894077B CN101894077B CN201010209440XA CN201010209440A CN101894077B CN 101894077 B CN101894077 B CN 101894077B CN 201010209440X A CN201010209440X A CN 201010209440XA CN 201010209440 A CN201010209440 A CN 201010209440A CN 101894077 B CN101894077 B CN 101894077B
- Authority
- CN
- China
- Prior art keywords
- block
- data
- address
- written
- vacant
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于存储技术领域,提供了一种数据存储方法及系统,所述方法包括下述步骤:对主机写入的存储数据进行解析,判断写入的存储数据类型;当所述存储数据为文件内容数据时,控制将所述文件内容数据写入到空置的第一Block;当所述存储数据为文件系统信息时,控制将文件系统信息写入到空置的第二Block。在本发明实施例中,对主机写入的存储数据进行解析,判断写入的存储数据类型;当所述存储数据为文件内容数据时,控制将所述文件内容数据写入到空置的第一Block;当所述存储数据为文件系统信息时,控制将文件系统信息写入到空置的第二Block,减少了已有有效数据的拷贝次数,提升了数据存储的速度和效率。
Description
技术领域
本发明属于存储技术领域,尤其涉及一种数据存储方法及系统。
背景技术
Nand Flash已经广泛应用于移动存储设备中,例如U盘、SD卡、SSD固态硬盘等。Nand Flash是非易失性存储器,其物理构成是:每个封装片内包含一个或多个晶粒(Dice);每个Dice中包含多个块(Block);每个Block中包含多个页(Page);每个Page中一般被用户划分成一个或多个扇区(Sector)。受Nand Flash自身特性所限,对Nand Flash的写入(Program)必须以Page为单位,对Nand Flash的擦除(Erase)必须以Block为单位。任何Nand Flash器件的写入操作只能在空或已擦除成空的Block内进行,所以为了保证写入数据的正确性,在进行写入操作之前必须先执行擦除Block的操作。
目前基于Nand Flash的文件系统,要写入一段文件内容数据时,首先要频繁的修改它的文件系统信息。例如普遍使用的微软Windows操作系统中的FAT文件系统,要写入一个文件,必须修改文件系统信息如FAT表、FDT表,而且在写入文件内容数据时,这部分信息会反复修改多次。事实上FAT表修改只是1个扇区,而FDT表也只是修改8个扇区。由于Nand Flash的特性,不能对同一Page进行重复编程,必须整个Block先擦除后再编程(编程即数据写入)。但是在擦除一个Block时,必须先把Block上的有效的数据保存到新的并且已经擦除为空的Block上。
图1给出了现有技术的数据写入操作过程示意图,假如Block 1和Block 2都为Nand Flash中的一个标准大小的Block,其中,Block 1为已有数据存放区域,Block 2为一个空置的区域,现要将数据块A(大小小于等于一个Block)写入到Block 1中的逻辑A地址区域(就是数据块A的大小),在现有技术的Nand Flash芯片中,在A区域的起始逻辑地址写入数据时,其操作过程包括:
步骤1:找到一个新的空置的Block 2,将Block 1的B区域数据拷贝到Block2中相应位置;
步骤2:将要写入的数据块A直接写到Block 2中的A区域;
步骤3:将Block 1的C区域数据拷贝到Block 2中相应位置;
步骤4:擦除Block 1。
采用这种方法写文件,假设文件内容数据和文件系统信息都用数据块A表示,则写完整一个文件,需要做以上操作过程10次左右;如果写多个文件内容数据,虽然文件内容数据在逻辑区域是连续的,但也会反复拷贝B区域和C区域已有的有效数据,明显会造成频繁的擦写,所带来的问题就是效率低下,且速度过慢。
发明内容
本发明实施例的目的在于提供一种数据存储方法,旨在解决现有技术中存储文件时速度慢、效率低的问题。
本发明实施例是这样实现的,一种数据存储方法,所述方法包括下述步骤:
对主机写入的存储数据进行解析,判断写入的存储数据类型;
当所述存储数据为文件内容数据时,控制将所述文件内容数据写入到空置的第一Block;
当所述存储数据为文件系统信息时,控制将文件系统信息写入到空置的第二Block;
所述对主机写入的存储数据进行解析,判断写入的存储数据类型的步骤具体包括:
分析主机写入的存储数据的扇区长度;
判断分析的存储数据的扇区长度是否小于等于预设的扇区长度阈值;
当存储数据的扇区长度小于等于预设的扇区长度阈值时,判断主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址是否一致;
当主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址一致时,判断主机发送的逻辑扇区地址是否大于等于上次写文件内容数据结束时的逻辑扇区地址;
当主机发送的逻辑扇区地址小于上次写文件内容数据结束时的逻辑扇区地址,或,主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址不一致时,则所述存储数据为文件系统信息,执行控制将文件系统信息写入到空置的第二Block的步骤;
当主机发送的逻辑扇区地址大于等于上次写文件内容数据结束时的逻辑扇区地址,或,判断所述存储数据的扇区长度大于预设的扇区长度阈值时,则所述存储数据为文件内容数据,执行控制将所述文件内容数据写入到空置的第一Block的步骤。
本发明实施例的另一目的在于提供一种数据存储系统,所述系统包括:
解析判断模块,用于对主机写入的存储数据进行解析,判断写入的存储数据类型;
第一控制写入模块,用于当所述解析判断模块判断存储数据为文件内容数据时,控制将所述文件内容数据写入到空置的第一Block;以及
第二控制写入模块,用于当所述解析判断模块判断当所述存储数据为文件系统信息时,控制将文件系统信息写入到空置的第二Block;
所述解析判断模块具体包括:
扇区长度分析模块,用于分析主机写入的存储数据的扇区长度;
第一判断模块,用于判断分析的存储数据的扇区长度是否小于等于预设的扇区长度阈值;
第二判断模块,用于当所述第一判断模块判断所述存储数据的扇区长度小于等于预设的扇区长度阈值时,判断主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址是否一致;
第三判断模块,用于当所述第二判断模块判断主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址一致时,判断主机发送的逻辑扇区地址是否大于等于上次写文件内容数据结束时的逻辑扇区地址;
当所述第三判断模块判断主机发送的逻辑扇区地址小于上次写文件内容数据结束时的逻辑扇区地址,或,当第二判断模块判断主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址不一致时,则所述存储数据为文件系统信息,执行所述第二控制写入模块控制将文件系统信息写入到空置的第二Block的步骤;
当所述第三判断模块判断主机发送的逻辑扇区地址大于等于上次写文件内容数据结束时的逻辑扇区地址,或,所述第一判断模块判断所述存储数据的扇区长度大于预设的扇区长度阈值时,则所述存储数据为文件内容数据,执行所述第一控制写入模块控制将所述文件内容数据写入到空置的第一Block的步骤。
在本发明实施例中,对主机写入的存储数据进行解析,判断写入的存储数据类型;当所述存储数据为文件内容数据时,控制将所述文件内容数据写入到空置的第一Block;当所述存储数据为文件系统信息时,控制将文件系统信息写入到空置的第二Block,减少已有有效数据的拷贝次数,提升数据存储的速度和效率。
附图说明
图1是本发明现有技术提供的数据存储方法的实现示意图;
图2是本发明第一实施例提供的数据存储方法的实现流程图;
图3是本发明第二实施例提供的数据存储方法的实现流程图;
图4是本发明实施例提供的控制将所述文件内容数据写入到空置的第一Block的实现流程图;
图5是本发明实施例提供的控制将文件系统信息写入到空置的第二Block的实现流程图;
图6是本发明实施例提供的数据存储方法的实现示意图;
图7是本发明实施例提供的数据存储系统的结构框图;
图8是本发明实施例提供的解析判断模块的结构框图;
图9是本发明实施例提供的第一控制写入模块的结构框图;
图10是本发明实施例提供的第二控制写入模块的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,将文件内容数据和文件系统信息分开存储,使文件内容数据连续进行存储,减少已有有效数据的拷贝次数,提升数据存储的速度和效率。
本发明实施例的目的在于提供一种数据存储方法,所述方法包括下述步骤:
对主机写入的存储数据进行解析,判断写入的存储数据类型;
当所述存储数据为文件内容数据时,控制将所述文件内容数据写入到空置的第一Block;
当所述存储数据为文件系统信息时,控制将文件系统信息写入到空置的第二Block。
本发明实施例的另一目的在于提供一种数据存储系统,所述系统包括:
解析判断模块,用于对主机写入的存储数据进行解析,判断写入的存储数据类型;
第一控制写入模块,用于当所述解析判断模块判断存储数据为文件内容数据时,控制将所述文件内容数据写入到空置的第一Block;以及
第二控制写入模块,用于当所述解析判断模块判断当所述存储数据为文件系统信息时,控制将文件系统信息写入到空置的第二Block。
在本发明实施例中,对主机写入的存储数据进行解析,判断写入的存储数据类型;当所述存储数据为文件内容数据时,控制将所述文件内容数据写入到空置的第一Block;当所述存储数据为文件系统信息时,控制将文件系统信息写入到空置的第二Block。
实施例一:
图2示出了本发明第一实施例提供的数据存储方法的实现流程,其具体的步骤如下所述:
在步骤S101中,对主机写入的存储数据进行解析,判断写入的存储数据类型。
在本发明实施例中,对存储数据的解析过程可以包含对存储数据的扇区长度以及Block地址的分析以及判断,下述有具体的实施例进行描述,在此不再赘述。
其中,存储数据类型包括文件内容数据和文件系统信息。
在步骤S102中,当所述存储数据为文件内容数据时,控制将所述文件内容数据写入到空置的第一Block。
在步骤S103中,当所述存储数据为文件系统信息时,控制将文件系统信息写入到空置的第二Block。
在本发明实施例中,上述将文件内容数据和文件系统信息写入到Block的过程,下述有具体的实施例进行描述,在此不再赘述。
在本发明实施例中,将文件内容数据和文件系统信息分开存储,使文件内容数据连续进行存储,减少已有有效数据的拷贝次数。
实施例二:
图3示出了本发明第二实施例提供的数据存储方法的实现流程,其具体的步骤如下所述:
在步骤S201中,分析主机写入的存储数据的扇区长度。
在本发明实施例中,该扇区长度用以判断存储数据的类型,其中,存储数据的类型包括文件内容数据和文件系统信息。
在步骤S202中,判断分析的存储数据的扇区长度是否小于等于预设的扇区长度阈值,是则执行步骤S203,否则执行步骤S206。
在本发明实施例中,该预设的扇区长度阈值可以根据运行系统的类别进行设置或调整,例如以windows操作系统的FAT文件系统为例,该预设的扇区长度阈值为8个扇区,在实际操作中,该预设的扇区长度阈值可以在0至65535之间取值,在此不用以限制本发明。
其中,扇区长度阈值的设置动作可以预先来操作,在此不再赘述,但不用以限制本发明。
在步骤S203中,当存储数据的扇区长度小于等于预设的扇区长度阈值时,判断主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址是否一致,若是则执行步骤S204,否则执行步骤S205。
在步骤S204中,判断主机发送的逻辑扇区地址是否大于等于上次写文件内容数据结束时的逻辑扇区地址,若是则执行步骤S206,否则执行步骤S205。
在步骤S205中,判定所述存储数据为文件系统信息,控制将所述文件系统信息写入到空置的第二Block。
在步骤S206中,判定所述存储数据为文件内容数据,控制将文件内容数据写入到空置的第一Block。
上述仅为本发明的一个具体实施例,在此不用以限制本发明。
实施例三:
作为本发明的一个具体实施例,图4示出了本发明实施例提供的控制将所述文件内容数据写入到空置的第一Block的实现流程,其具体的步骤如下所述:
在步骤S301中,从逻辑物理Block对照表中查找真实逻辑地址对应的物理Block。
在步骤S302中,查找一空置的第一Block。
在步骤S303中,将所述查找到的真实逻辑地址对应的物理Block中的有效数据拷贝到查找到的空置的第一Block。
在本发明实施例中,该拷贝的过程是按照地址的连续顺序,依次拷贝到的空置的第一Block的对应地址的过程。
在步骤S304中,将文件内容数据写入到空置的第一Block的对应位置。
在步骤S305中,当将文件内容数据写入到空置的第一Block后,记录所述第一Block的物理Block地址以及最后一次操作的逻辑扇区地址。
在步骤S306中,当文件内容数据写完整个Block后,将该物理Block地址记录到逻辑物理Block对照表中,更新逻辑物理Block对照表。
实施例四:
作为本发明的另一个具体实施例,图5示出了本发明实施例提供的控制将文件系统信息写入到空置的第二Block的实现流程,其具体的步骤如下所述:
在步骤S401中,查找一空置的第二Block。
在步骤S402中,将文件系统信息顺序写入查找到的空置的第二Block,每次写一个page。
在步骤S403中,每写完一个page,记录该page对应的逻辑Block地址、逻辑page地址以及最后一次写的物理page地址。
在步骤S404中,当该第二Block的所有物理page都写完时,将该第二Block最新的有效数据写到逻辑Block地址所对应的物理Block中,并更新逻辑物理Block对照表。
实施例五:
作为本发明的一个具体实施例,图6示出了本发明实施例提供的数据存储方法的实现示意图,其具体如下:
图6中,主机按次序写入数据段B0、F1、B1,其中,Block10中A0、A1、E0、E1分别是已有的真实逻辑地址上的数据,Block11中B0、B1分别是文件内容数据,Block12中F0、F1分别是文件系统信息(例如FAT表或者FDT表)。如图所示,A0、B0、A1、B1组成了新的真实数据,其在地址上是连续的,完全可以顺序写入这些数据。
从逻辑物理Block对照表中找到真实逻辑地址对应的物理Block,即图中的Block10;然后,找出一个已经空置的Block,即图中的Block11。
首先将Block10的数据段A0拷贝到Block11中的A0位置,接着将主机发送的数据段B0写入到Block11中B0位置,之后并不立即将Block10的A1、E1数据段拷贝到Block11相应的位置上,需要记录Block11的写入状态如已经写的长度等。
将F1数据段写入到Block12中对应的Page位置,并且记录好Block12的状态,如果Block12没有剩余的Page可以写,则将Block12中最新的有效数据写入到逻辑地址对应的物理Block中,再找出一个空置的Block。继续进行写入操作。
将Block10的A1数据段拷贝到Block11中对应的A1位置,再拷贝主机发送的B1数据段写入到Block11中的B1位置,若Block11已经没有剩余的Page可以写了,则将Block11地址记录到逻辑物理Block对照表中,更新逻辑物理对照表。
在大部分情况下,B0和B1数据段的地址是连续的,也就是说不需要拷贝Block10的E0和E1到Block11中,减少了数据段E0和E1的拷贝搬移过程。
写入F1数据段将不会打断B0、B1数据的连续写入,因此文件内容数据是顺序写入物理Block的,速度达到了极大的优化;而且文件系统信息也是顺序写入Block中,当所述Block写满后才作拷贝搬移,不仅可以提高文件的写入速度,又因为减少了冗余数据的搬移,也减少了频繁擦除Block对Nand Flash造成的磨损,从而提高Nand Flash的使用寿命。
实施例六:
图7示出了本发明实施例提供的数据存储系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
解析判断模块11对主机写入的存储数据进行解析,判断写入的存储数据类型;当所述解析判断模块11判断存储数据为文件内容数据时,第一控制写入模块12控制将所述文件内容数据写入到空置的第一Block;当所述解析判断模块11判断当所述存储数据为文件系统信息时,第二控制写入模块13控制将文件系统信息写入到空置的第二Block。
在本发明实施例中,存储数据类型包括文件内容数据和文件系统信息,根据存储数据的类型执行不同的技术方案,下述给出具体的实施例进行描述。
实施例七:
图8示出了本发明实施例提供的解析判断模块的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
扇区长度分析模块111分析主机写入的存储数据的扇区长度;第一判断模块112判断分析的存储数据的扇区长度是否小于等于预设的扇区长度阈值;当所述第一判断模块112判断所述存储数据的扇区长度小于等于预设的扇区长度阈值时,第二判断模块113判断主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址是否一致;当所述第二判断模块113判断主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址一致时,第三判断模块114判断主机发送的逻辑扇区地址是否大于等于上次写文件内容数据结束时的逻辑扇区地址;当所述第三判断模块114判断主机发送的逻辑扇区地址小于上次写文件内容数据结束时的逻辑扇区地址,或,当第二判断模块113判断主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址不一致时,则所述存储数据为文件系统信息,执行所述第二控制写入模块13控制将文件系统信息写入到空置的第二Block的步骤;当所述第三判断模块114判断主机发送的逻辑扇区地址大于等于上次写文件内容数据结束时的逻辑扇区地址,或,所述第一判断模块112判断所述存储数据的扇区长度大于预设的扇区长度阈值时,则所述存储数据为文件内容数据,执行所述第一控制写入模块12控制将所述文件内容数据写入到空置的第一Block的步骤。
上述仅为本发明的一个具体实施例,在此不用以限制本发明。
实施例八:
图9示出了本发明实施例提供的第一控制写入模块的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
物理Block查找模块121从逻辑物理Block对照表中查找真实逻辑地址对应的物理Block;第一Block查找模块122查找一空置的第一Block;拷贝模块123将所述查找到的真实逻辑地址对应的物理Block中的有效数据拷贝到查找到的空置的第一Block;文件内容数据写入模块124将文件内容数据按照写入到空置的第一Block的对应位置;当所述文件内容数据写入模块124将文件内容数据写入到空置的第一Block后,第一记录模块125记录所述第一Block的物理Block地址以及最后一次操作的逻辑扇区地址;文件内容数据写入模块124将文件内容数据写完整个Block后,第一更新模块126当将该物理Block地址记录到逻辑物理Block对照表中,更新逻辑物理Block对照表。
上述仅为本发明的一个具体实施例,在此不用以限制本发明。
实施例九:
图10示出了本发明实施例提供的第二控制写入模块的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
第二Block查找模块131查找一空置的第二Block;文件系统信息写入模块132将文件系统信息顺序写入查找到的空置的第二Block,每次写一个page;当所述文件系统信息写入模块132写完一个page,第二记录模块133记录该page对应的逻辑Block地址、逻辑page地址以及最后一次写的物理page地址;第二更新模块134当所述第二Block的所有物理page都写完时,将该第二Block最新的有效数据写到逻辑Block地址所对应的物理Block中,并更新逻辑物理Block对照表。
上述仅为本发明的一个具体实施例,在此不用以限制本发明。
实施例十:
作为本发明的一个较佳实施例,可以将上述实施例六至实施例九的技术特征进行组合,得到一个具体的数据存储系统事例,在此不再赘述,但不用以限制本发明。
在本发明实施例中,对主机写入的存储数据进行解析,判断写入的存储数据类型;当所述存储数据为文件内容数据时,控制将所述文件内容数据写入到空置的第一Block;当所述存储数据为文件系统信息时,控制将文件系统信息写入到空置的第二B1ock,从而减少已有有效数据的拷贝次数,提升数据存储的速度和效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种数据存储方法,其特征在于,所述方法包括下述步骤:
对主机写入的存储数据进行解析,判断写入的存储数据类型;
当所述存储数据为文件内容数据时,控制将所述文件内容数据写入到空置的第一Block;
当所述存储数据为文件系统信息时,控制将文件系统信息写入到空置的第二Block;
所述对主机写入的存储数据进行解析,判断写入的存储数据类型的步骤具体包括:
分析主机写入的存储数据的扇区长度;
判断分析的存储数据的扇区长度是否小于等于预设的扇区长度阈值;
当存储数据的扇区长度小于等于预设的扇区长度阈值时,判断主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址是否一致;
当主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址一致时,判断主机发送的逻辑扇区地址是否大于等于上次写文件内容数据结束时的逻辑扇区地址;
当主机发送的逻辑扇区地址小于上次写文件内容数据结束时的逻辑扇区地址,或,主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址不一致时,则所述存储数据为文件系统信息,执行控制将文件系统信息写入到空置的第二Block的步骤;
当主机发送的逻辑扇区地址大于等于上次写文件内容数据结束时的逻辑扇区地址,或,判断所述存储数据的扇区长度大于预设的扇区长度阈值时,则所述存储数据为文件内容数据,执行控制将所述文件内容数据写入到空置的第一Block的步骤。
2.如权利要求1所述的方法,其特征在于,所述当所述存储数据为文件内容数据时,控制将所述文件内容数据写入到空置的第一Block的步骤具体包括:
从逻辑物理Block对照表中查找真实逻辑地址对应的物理Block;
查找一空置的第一Block;
将所述查找到的真实逻辑地址对应的物理Block中的有效数据拷贝到查找到的空置的第一Block;
将文件内容数据写入到空置的第一Block的对应位置;
当将文件内容数据写入到空置的第一Block后,记录所述第一Block的物理Block地址以及最后一次操作的逻辑扇区地址;
当文件内容数据写完整个Block后,将该物理Block地址记录到逻辑物理Block对照表中,更新逻辑物理Block对照表。
3.如权利要求1所述的方法,其特征在于,所述当所述存储数据为文件系统信息时,控制将文件系统信息写入到空置的第二Block的步骤具体包括:
查找一空置的第二Block;
将文件系统信息顺序写入查找到的空置的第二Block,每次写一个page;
当写完一个page,记录该page对应的逻辑Block地址、逻辑page地址以及最后一次写的物理page地址;
当该第二Block的所有物理page都写完时,将该第二Block最新的有效数据写到逻辑Block地址所对应的物理Block中,并更新逻辑物理Block对照表。
4.一种数据存储系统,其特征在于,所述系统包括:
解析判断模块,用于对主机写入的存储数据进行解析,判断写入的存储数据类型;
第一控制写入模块,用于当所述解析判断模块判断存储数据为文件内容数据时,控制将所述文件内容数据写入到空置的第一Block;以及
第二控制写入模块,用于当所述解析判断模块判断当所述存储数据为文件系统信息时,控制将文件系统信息写入到空置的第二Block;
所述解析判断模块具体包括:
扇区长度分析模块,用于分析主机写入的存储数据的扇区长度;
第一判断模块,用于判断分析的存储数据的扇区长度是否小于等于预设的扇区长度阈值;
第二判断模块,用于当所述第一判断模块判断所述存储数据的扇区长度小于等于预设的扇区长度阈值时,判断主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址是否一致;
第三判断模块,用于当所述第二判断模块判断主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址一致时,判断主机发送的逻辑扇区地址是否大于等于上次写文件内容数据结束时的逻辑扇区地址;
当所述第三判断模块判断主机发送的逻辑扇区地址小于上次写文件内容数据结束时的逻辑扇区地址,或,当第二判断模块判断主机发送的逻辑扇区地址与上次写文件内容数据结束时的逻辑Block地址不一致时,则所述存储数据为文件系统信息,执行所述第二控制写入模块控制将文件系统信息写入到空置的第二Block的步骤;
当所述第三判断模块判断主机发送的逻辑扇区地址大于等于上次写文件内容数据结束时的逻辑扇区地址,或,所述第一判断模块判断所述存储数据的扇区长度大于预设的扇区长度阈值时,则所述存储数据为文件内容数据,执行所述第一控制写入模块控制将所述文件内容数据写入到空置的第一Block的步骤。
5.如权利要求4所述的系统,其特征在于,所述第一控制写入模块具体包括:
物理Block查找模块,用于从逻辑物理Block对照表中查找真实逻辑地址对应的物理Block;
第一Block查找模块,用于查找一空置的第一Block;
拷贝模块,用于将所述查找到的真实逻辑地址对应的物理Block中的有效数据拷贝到查找到的空置的第一Block;
文件内容数据写入模块,用于将文件内容数据写入到空置的第一B1ock的对应位置;
第一记录模块,用于当所述文件内容数据写入模块将文件内容数据写入到空置的第一Block后,记录所述第一Block的物理Block地址以及最后一次操作的逻辑扇区地址;以及
第一更新模块,用于当文件内容数据写入模块将文件内容数据写完整个Block后,将该物理Block地址记录到逻辑物理Block对照表中,更新逻辑物理Block对照表。
6.如权利要求4所述的系统,其特征在于,所述第二控制写入模块具体包括:
第二Block查找模块,用于查找一空置的第二Block;
文件系统信息写入模块,用于将文件系统信息顺序写入查找到的空置的第二Block,每次写一个page;
第二记录模块,用于当所述文件系统信息写入模块写完一个page,记录该page对应的逻辑Block地址、逻辑page地址以及最后一次写的物理page地址;以及
第二更新模块,用于当所述第二Block的所有物理page都写完时,将该第二Block最新的有效数据写到逻辑Block地址所对应的物理Block中,并更新逻辑物理Block对照表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010209440XA CN101894077B (zh) | 2010-06-24 | 2010-06-24 | 一种数据存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010209440XA CN101894077B (zh) | 2010-06-24 | 2010-06-24 | 一种数据存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101894077A CN101894077A (zh) | 2010-11-24 |
CN101894077B true CN101894077B (zh) | 2012-06-27 |
Family
ID=43103271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010209440XA Expired - Fee Related CN101894077B (zh) | 2010-06-24 | 2010-06-24 | 一种数据存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101894077B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268201B (zh) * | 2013-04-19 | 2016-02-17 | 北京经纬恒润科技有限公司 | 一种数据存储方法、存储装置及读取方法 |
CN108629927A (zh) * | 2017-03-23 | 2018-10-09 | 惠尔丰(中国)信息系统有限公司 | 一种低内存打印机的内存的优化方法 |
CN109769005A (zh) * | 2017-11-09 | 2019-05-17 | 宁波方太厨具有限公司 | 一种网络请求的数据缓存方法及数据缓存系统 |
CN108958657B (zh) * | 2018-06-27 | 2022-03-04 | 深圳市德明利技术股份有限公司 | 一种数据存储方法、存储设备及存储系统 |
CN113505402B (zh) * | 2021-09-09 | 2022-01-18 | 深圳市博盛盈科供应链有限公司 | 一种基于智能芯片的安全管控方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324862A (zh) * | 2008-05-05 | 2008-12-17 | 青岛海信电器股份有限公司 | 闪存存储管理方法 |
CN101676886A (zh) * | 2008-09-17 | 2010-03-24 | 慧国(上海)软件科技有限公司 | 闪存装置及其运作方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101274181B1 (ko) * | 2006-02-13 | 2013-06-14 | 삼성전자주식회사 | 플래시 메모리를 관리하는 장치 및 방법 |
-
2010
- 2010-06-24 CN CN201010209440XA patent/CN101894077B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324862A (zh) * | 2008-05-05 | 2008-12-17 | 青岛海信电器股份有限公司 | 闪存存储管理方法 |
CN101676886A (zh) * | 2008-09-17 | 2010-03-24 | 慧国(上海)软件科技有限公司 | 闪存装置及其运作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101894077A (zh) | 2010-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190251024A1 (en) | Memory controller, non-volatile memory system, and method operating same | |
US20180260317A1 (en) | Method for managing the copying and storing of data in garbage collection, memory storage device and memory control circuit unit using the same | |
CN102576293B (zh) | 固态存储设备和分层存储系统中的数据管理 | |
CN110908925B (zh) | 高效能垃圾收集方法以及数据存储装置及其控制器 | |
CN101382918B (zh) | 一种基于数据交换区的NAND Flash闪存优化管理方法 | |
CN102508788B (zh) | Ssd及ssd垃圾回收方法和装置 | |
EP2034414A1 (en) | Semiconductor storage device and method of controlling semiconductor storage device | |
CN104484283B (zh) | 一种降低固态硬盘写放大的方法 | |
CN100449549C (zh) | 嵌入式系统中NAND Flash存储器上建立文件系统的方法 | |
US10866751B2 (en) | Method for managing flash memory module and associated flash memory controller | |
US20120290769A1 (en) | Flash memory device, memory control device, memory control method, and storage system | |
KR20120060236A (ko) | 파워 인터럽트 관리 | |
KR101374065B1 (ko) | 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치 | |
CN111880723B (zh) | 数据储存装置与数据处理方法 | |
CN101894077B (zh) | 一种数据存储方法及系统 | |
CN103970669A (zh) | 用于加速在固态设备中的回收操作的物理到逻辑地址映射 | |
CN102053796A (zh) | 闪存储存系统、闪存控制器与数据处理方法 | |
CN102890655A (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
US20170017405A1 (en) | Systems and methods for improving flash-oriented file system garbage collection | |
TWI450271B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
CN103514101A (zh) | 存取闪存的方法以及相关的记忆装置 | |
CN102033811A (zh) | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 | |
CN112306898A (zh) | 存储设备、其操作方法及包括其的电子设备 | |
US20150339069A1 (en) | Memory system and method | |
CN103389941B (zh) | 存储器格式化方法、存储器控制器及存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120627 Termination date: 20160624 |
|
CF01 | Termination of patent right due to non-payment of annual fee |