CN102508784B - 视频监控设备中闪存卡的数据存储方法及其*** - Google Patents
视频监控设备中闪存卡的数据存储方法及其*** Download PDFInfo
- Publication number
- CN102508784B CN102508784B CN201110341083.7A CN201110341083A CN102508784B CN 102508784 B CN102508784 B CN 102508784B CN 201110341083 A CN201110341083 A CN 201110341083A CN 102508784 B CN102508784 B CN 102508784B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- storage block
- file
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明涉及视频监控,公开了一种视频监控设备中闪存卡的数据存储方法及其***。使得闪存卡空间利用率较高、视频数据存取效率高和在文件频繁读写时稳定性强。本发明中,预先在闪存卡中设置文件大小保持不变的多个包含整数个存储块的存储文件和一个包含索引头和索引项的索引文件,各存储块分别与各索引项一一对应;索引头中包括写指针和读指针,方法包括以下步骤:根据索引项,将数据循环写入或者覆盖当前数据块;根据当前存储块信息,更新索引头和一一对应的索引项信息。
Description
技术领域
本发明涉及视频监控领域,特别涉及数据存储技术。
背景技术
闪存卡是利用闪存技术达到存储电子信息的存储器,一般作为存储介质应用在数码相机、掌上电脑、MP3等小型数码产品中,根据不同的生产厂商和不同的应用,闪存卡包括SM卡、CF卡、MMC卡、SD卡、记忆棒、XD卡和微硬盘等。
当前,视频监控设备进行数据存储时,对视频监控设备每一次有存储请求的数据,闪存卡均单独新建一个数据文件和一个索引文件进行保存,中国专利申请号为CN200810184014.8公开了一种数据存储设备长时间预录的方法,包括:按照预录时长和预录数据的速率,运算出存储预录数据的空间;在非易失存储设备上获取所述运算出的空间,在所述空间内建立各个数据块,并在内存空间建立管理所述数据块的索引链表;按照索引链表的指示,将所述预录数据写入到相应的数据块内,当接收到触发信息后,将所述预录数据转换为录像文件并存储在所述存储设备上。
本发明的发明人发现,上述数据存储方法由于频繁创建文件需要不断修改***文件数据,如文件分配表(File Allocation Table,简称“FAT”)表,或者在内存中频繁更新数据索引链表,因***关键数据区损坏会造成整个闪存卡存储瘫痪,以致格式化后整个数据丢失,大大降低了其稳定性、存储空间利用率低且管理繁琐。
所以,亟待提出一种稳定性高、存储空间利用率高、管理简单的闪存卡数据存储方法及其***。
发明内容
本发明的目的在于提供一种视频监控设备中闪存卡的数据存储方法及其***,使得闪存卡的内存空间利用率较高,同时由于存储文件静态划分,使得视频数据查找和存储效率高,保护闪存卡在频繁存储文件读写时不易受损,其稳定性更强。
为解决上述技术问题,本发明的实施方式公开了一种视频监控设备中闪存卡的数据存储方法,预先在闪存卡中设置文件大小保持不变的多个存储文件和一个索引文件,索引文件中包括一个索引头和多个索引项;每个存储文件中包含整数个存储块,各存储块分别与索引文件中各索引项一一对应;索引头中包括写指针,指向下一个可写的存储块的索引项;
方法包括以下步骤:
从写指针指向的位置开始,根据索引文件中各索引项的顺序,依次向各索引项所对应的存储块写入数据;如果写完索引文件最后一个索引项所对应的存储块,则写指针回到索引文件的第一个索引项;
根据写入的数据的属性信息更新相应索引项的信息。
本发明的实施方式还公开了一种视频监控设备中闪存卡的数据存储***,预先在闪存卡中设置文件大小保持不变的多个存储文件和一个索引文件,索引文件中包括一个索引头和多个索引项;每个存储文件中包含整数个存储块,各存储块分别与索引文件中各索引项一一对应;索引头中包括写指针,指向下一个可写的存储块的索引项;
***包括以下模块:
循环写入模块,用于从写指针指向的位置开始,根据索引文件中各索引项的顺序,依次向各索引项所对应的存储块写入数据;如果写完索引文件最后一个索引项所对应的存储块,则写指针回到索引文件的第一个索引项;
索引更新模块,用于根据循环写入模块写入的数据的属性信息更新相应索引项的信息。
本发明实施方式与现有技术相比,主要区别及其效果在于:
预先创建文件大小保持不变的一个索引文件和多个存储文件,存储文件存储块统一在索引中管理,后续视频数据按照存储块循环写入或者覆盖,只修改存储文件中的数据部分,使得闪存卡的内存空间利用率较高,同时由于存储文件静态划分,使得视频数据查找和存储效率高,保护闪存卡在频繁存储文件读写时不易受损,其稳定性更强。
进一步地,如果一个已写入数据的存储文件连续占用多个索引项,则只有第一个索引项含有该文件数据的索引内容,之后各个索引项都是空白的,这样可以简化索引项的写入操作,减少数据冗余。
进一步地,闪存卡所有空间被存储文件和索引文件占满,方便闪存卡存储空间的管理。
进一步地,相邻索引项所对应的存储块物理上相邻,使得闪存卡的存储具有更大的灵活性,循环写入时不需要一次写满整个存储文件,空间覆盖利用率高,有利于视频监控领域中对关键数据的存储。
附图说明
图1是本发明第一实施方式中一种视频监控设备中闪存卡的数据存储方法的流程示意图;
图2是本发明第一实施方式中一种视频监控设备中闪存卡的数据存储结构示意图;
图3是本发明第二实施方式中一种视频监控设备中闪存卡的数据存储方法的流程示意图;
图4是本发明第二实施方式中一种视频监控设备中闪存卡的数据存储方法的数据循环写入示意图;
图5是本发明第二实施方式中一种视频监控设备中闪存卡的数据存储方法的数据覆盖写入示意图;
图6是本发明第三实施方式中一种视频监控设备中闪存卡的数据存储***的结构示意图;
图7是本发明第四实施方式中一种视频监控设备中闪存卡的数据存储***的结构示意图。
具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
本发明第一实施方式涉及一种视频监控设备中闪存卡的数据存储方法。图1是该视频监控设备中闪存卡的数据存储方法的流程示意图。如图1所示,具体地说,该视频监控设备中闪存卡的数据存储方法包括以下步骤:
在步骤101中,预先在闪存卡中设置文件大小保持不变的多个存储文件和一个索引文件,索引文件中包括一个索引头和多个索引项。每个存储文件中包含整数个存储块,各存储块分别与索引文件中各索引项一一对应。索引头中包括写指针,指向下一个可写的存储块的索引项。
在本实施方式中,索引文件为在存储文件之外建立的一种用于指明逻辑记录和物理记录之间一一对应关系的链表数据结构的文件。
存储块为一组按顺序连续排列在一起的几组记录,是主存储器与输入、输出设备或外存储器之间进行传输的一个数据单位。也可以表示为存储主文件里的最小单位。
存储块和索引项的一一对应关系,即当查找某一存储文件时,该索引项包含了该存储块的信息,例如存储该数据的该存储块在闪存卡上的初始物理地址和偏移地址、数据文件大小、数据类型等。
预先创建文件大小保持不变的一个索引文件和多个存储文件,存储文件存储块统一在索引中管理,后续视频数据按照存储块循环写入或者覆盖,只修改存储文件中的数据部分,使得闪存卡的内存空间利用率较高,同时由于存储文件静态划分,使得视频数据查找和存储效率高,保护闪存卡在频繁存储文件读写时不易受损,其稳定性更强。
在本发明的其他某些实施方式中,要存入的数据可以是各种类型的,例如视频数据,抓拍的图像数据等等。闪存卡指使用闪存(Flash)作为存储介质的存储卡,例如SD卡,MMC卡,CF卡等等。
此后进入步骤102,从写指针指向的位置开始,根据索引文件中各索引项的顺序,依次向各索引项所对应的存储块写入数据。如果写完索引文件最后一个索引项所对应的存储块,则写指针回到索引文件的第一个索引项。本发明中对于各索引项构成的索引文件采用了循环写入的方法。
此后进入步骤103,根据写入的数据的属性信息更新相应索引项的信息,此后结束本流程。
作为本发明的一个优选实施例,图2是本发明第一实施方式中一种视频监控设备中闪存卡的数据存储结构示意图;
如图2所示,该闪存卡存储空间由索引文件和若干存储文件组成。索引文件存放了全局索引头信息和索引项信息两部分内容。索引头保存整张闪存卡全局信息,包括闪存卡存储文件总容量、已用数据区大小、预分配存储文件数、当前读或写指针等全局关键信息;每个索引项保存存储数据大小、数据类型以及在存储文件中的位置等数据查找信息。如该图2所示,索引文件含有一个索引头结点和n个索引项结点。
每个存储文件被分成若干存储块,可以定义存储块为闪存卡中最小的存储单位,即视频监控中的主控设备每次申请存储的数据空间都占用整数个存储块。如果一张闪存卡有m个同样大小的存储文件,每个存储文件中均有x个数据块。假设每个数据大小为αkB.则该张存储卡可存储的总容量为x*α*m/1024兆字节。而索引文件中索引项结点数为n=m*x。
本发明第二实施方式涉及一种视频监控设备中闪存卡的数据存储方法。图3是该视频监控设备中闪存卡的数据存储方法的流程示意图。
第二实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:索引头中还包括读指针,指向下一个数据可读的存储块的索引项。若一个已写入数据的存储文件连续占用多个索引项,则只有第一个索引项含有该文件数据的索引内容,之后各个索引项都是空白的,这样可以简化索引项的写入操作,减少数据冗余。同时相邻索引项所对应的存储块物理上相邻,使得闪存卡的存储具有更大的灵活性。闪存卡所有存储空间被存储文件和索引文件占满。相邻索引项所对应的存储块物理上也为相邻。索引头中的读指针总是指向整个闪存卡中第一个(或者说最早写入的)数据的起始位置。而写指针总是指向当前可以写入的位置。换句话说,所有的有效数据都存储在读指针之后和写指针之前,读指针之前或写指针之后是空白区域。各索引项形成了一个循环列表,这里所说的之前或之后是相对于循环列表来说的,写指针一般在读指针之后,仅当闪存卡中没有数据时,写指针才与读指针处于同一位置。
如图3所示,该视频监控设备中闪存卡的数据存储方法包括以下步骤:
在前述102写入数据的步骤,还包括以下301至307的子步骤:
计算待写入的数据所占存储块数N。
判断当前闪存卡剩余空存储块数L是否小于N。
若L不小于N,则从写指针所指向的存储块开始,将待写入的数据顺序写入N个存储块。
若L小于N,则首先预置欲覆盖数据的存储块总数M为L,其次以读指针指向的数据为初始地址,将其后续整数个数据所占用的存储块数累加至M,直到M大于或者等于N,同时更新读指针指向欲覆盖数据之后的地址及对应索引偏移,再从写指针所指向的存储块开始,将待写入的数据顺序写入N个存储块。
在前述103更新索引项信息的步骤中,还包括以下309的子步骤:
更新索引头中的写指针指向N个存储块之后的地址及对应索引偏移。
具体地说:
在步骤301中,计算待写入的数据所占存储块数N。
此后进入步骤302,判断当前闪存卡剩余空存储块数L是否小于N。
若L不小于N,则进入步骤307;否则,进入步骤303。
在步骤303中,若判定当前闪存卡剩余空存储块数L小于N,则预置欲覆盖数据的存储块总数M为L。
此后进入步骤304,以读指针指向数据为起始地址读取下一数据所占存储块大小并累加至M。
此后进入步骤305,判断欲覆盖数据的存储块总数M是否大于或等于N。
若M大于或等于N,则进入步骤306;否则,返回步骤304,以读指针指向数据为起始地址读取下一数据所占存储块大小并累加至M。
在步骤306中,更新读指针指向欲覆盖数据之后的地址及对应索引偏移。
此后进入步骤307,从写指针所指向的存储块开始,将待写入的数据顺序写入N个存储块。
若写入的数据连续占用多个存储块,则只在第一个被占用的存储块所对应的索引项中记录查找该数据的信息。
如果一个已写入数据的存储文件连续占用多个索引项,则只有第一个索引项含有该文件数据的索引内容,之后各个索引项都是空白的,这样可以简化索引项的写入操作,减少数据冗余。闪存卡所有空间被存储文件和索引文件占满,方便闪存卡存储空间的管理。相邻索引项所对应的存储块物理上相邻,使得闪存卡的存储具有更大的灵活性,循环写入时不需要一次写满整个存储文件,空间覆盖利用率高,有利于视频监控领域中对关键数据帧的存储。
在本发明的其他某些实施方式中,若写入的数据连续占用多个存储块,则可以只在第一个被占用的存储块所对应的索引项中记录查找该数据的信息,也可以在全部或者部分被占用的存储块对应的索引项中记录查找该数据的信息。
此后进入步骤308,更新该N个存储块对应索引项信息。
索引项可以包含视频数据文件的大小、类型、偏移地址等信息,用于索引查找存储文件的存储块,索引头可以包含存储在闪存卡上的所有存储数据大小、已占用存储空间大小、预分配视频数据数、当前读指针、当前写指针等信息,方便闪存卡存取,且空间覆盖率更高。
此后进入步骤309,更新索引头中的写指针指向N个存储块之后的地址及对应索引偏移,此后结束本流程。
作为本发明的一个优选实施例,图4是本发明第二实施方式中一种视频监控设备中闪存卡的数据存储方法的数据循环写入示意图;为了避免频繁创建或者删除文件带来的***关键数据被破坏的风险,闪存卡在文件***格式化时采取预先分配好索引文件以及所有数据文件的方式。这样在后续写入及覆盖数据时只需要修改文件中的数据而不需要重新创建及删除文件同时也不改动文件的大小,因而不对***关键数据的重新写入更新。闪存卡存储的数据地址从索引头信息中的读写指针中读取。首先从索引头信息的写指针中找到待存储数据的要写入的起始存储块地址以及对应索引文件中索引项的偏移地址,如图4所示的连续两次数据存储的示意图,假设待存储数据X通过计算得到其空间大小需要使用2个存储块,则从存储文件起始存储块开始将数据存储到连续的2个存储块中,同时,对应的索引项节点存入该数据所占空间大小,数据位置等关键信息。最后更新索引头信息,将写指针移至下一次数据存储的起始地址,并更新其他全局数据信息,如剩余空间大小,剩余Block数量等。每次存储占用若干个存储块和相应的索引项节点。
作为本发明的一个优选实施例,图5是本发明第二实施方式中一种视频监控设备中闪存卡的数据存储方法的数据覆盖写入示意图;
当在索引头信息中得知闪存卡已经被写满,例如当读写指针重合时,或者剩余空间大小不足以存放新的数据时,需要进行覆盖存储。在判断需要覆盖存储时,可以按顺序搜索当前写指针所指索引项节点信息,累加欲覆盖的存储块,当预备被覆盖的存储块个数大于等于待写入的数据所需存储块数时,就停止搜索,并更新读指针指向最后一个存储块被覆盖的数据对应索引项节点之后的节点,同时更新索引头信息中剩余空间等关键信息。这时闪存卡剩余空间就可满足新数据的存储,新数据如前述方式存储进闪存卡。如图5所示,待写入的数据存储需要4个存储块,而闪存卡已经没有剩余空间,这时就要进行搜索并覆盖两个索引项节点及其对应数据,闪存卡空闲5个存储块。待写入的数据使用了4个存储块,还剩一个空闲存储块。经覆盖之后,写指针指向索引项27,读指针指向索引项28。索引头信息中空闲存储块数由0变为1。
在本发明的其他某些实施方式中,闪存卡所有空间可以都被存储文件和索引文件占满,也可以不被占满,从而预留一定的存储空间,用于存储在闪存卡上的文件属性信息等。
在本发明的其他某些实施方式中,相邻索引项所对应的存储块物理上可以相邻也可不相邻,当不相邻时,可以进行多级索引进行搜索查找或者存储数据。
本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(Programmable Array Logic,简称“PAL”)、随机存取存储器(Random Access Memory,简称“RAM”)、可编程只读存储器(Programmable Read Only Memory,简称“PROM”)、只读存储器(Read-Only Memory,简称“ROM”)、电可擦除可编程只读存储器(Electrically Erasable Programmable ROM,简称“EEPROM”)、磁盘、光盘、数字通用光盘(Digital Versatile Disc,简称“DVD”)等等。
本发明第三实施方式涉及一种视频监控设备中闪存卡的数据存储***。图6是该视频监控设备中闪存卡的数据存储***的结构示意图。该视频监控设备中闪存卡的数据存储***预先在闪存卡中设置文件大小保持不变的多个存储文件和一个索引文件,索引文件中包括一个索引头和多个索引项。每个存储文件中包含整数个存储块,各存储块分别与索引文件中各索引项一一对应。索引头中包括写指针,指向下一个可写的存储块的索引项。
***包括以下模块:
循环写入模块,用于从写指针指向的位置开始,根据索引文件中各索引项的顺序,依次向各索引项所对应的存储块写入数据。如果写完索引文件最后一个索引项所对应的存储块,则写指针回到索引文件的第一个索引项。
索引更新模块,用于根据循环写入模块写入的数据的属性信息更新相应索引项的信息。
第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本发明第四实施方式涉及一种视频监控设备中闪存卡的数据存储***。图7是该视频监控设备中闪存卡的数据存储***的结构示意图。
第四实施方式在第三实施方式的基础上进行了改进,主要改进之处在于:具体地说:
若写入的数据连续占用多个存储块,则只在第一个被占用的存储块所对应的索引项中记录查找该数据的信息。
索引头中还包括读指针,指向下一个数据可读的存储块的索引项。
循环写入模块还包括以下子模块:
计算子模块,用于计算待写入的数据所占存储块数N。
判断子模块,用于判断当前闪存卡剩余空存储块数L是否小于计算子模块计算得到的存储块数N。
第一写入子模块,用于若判断子模块判定L不小于N,则从写指针所指向的存储块开始,将待写入的数据顺序写入N个存储块。
第二写入子模块,用于若判断子模块判定L小于N,则首先预置欲覆盖数据的存储块总数M为L,其次以读指针指向的数据为初始地址,将其后续整数个数据所占用的存储块数累加至M,直到M大于或者等于N,同时更新读指针指向欲覆盖数据之后的地址及对应索引偏移,再从写指针所指向的存储块开始,将待写入的数据顺序写入N个存储块。
索引更新模块还包括以下子模块:
更新子模块,用于在第一写入子模块或者第二写入子模块将待写入的数据顺序写入N个存储块之后,更新索引头中的写指针指向N个存储块之后的地址及对应索引偏移。
闪存卡所有存储空间被存储文件和索引文件占满。
相邻索引项所对应的存储块物理上也为相邻。
第二实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
需要说明的是,本发明各设备实施方式中提到的各模块都是逻辑模块,在物理上,一个逻辑模块可以是一个物理模块,也可以是一个物理模块的一部分,还可以以多个物理模块的组合实现,这些逻辑模块本身的物理实现方式并不是最重要的,这些逻辑模块所实现的功能的组合是才解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各设备实施方式并没有将与解决本发明所提出的技术问题关系不太密切的模块引入,这并不表明上述设备实施方式并不存在其它的模块。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种视频监控设备中闪存卡的数据存储方法,其特征在于,预先在闪存卡中设置文件大小保持不变的多个存储文件和一个索引文件,索引文件中包括一个索引头和多个索引项;每个存储文件中包含整数个存储块,各存储块分别与所述索引文件中各索引项一一对应;索引头中包括写指针,指向下一个可写的存储块的索引项;所述索引文件为在存储文件之外建立的一种用于指明逻辑记录和物理记录之间一一对应关系的链表数据结构的文件;
所述方法包括以下步骤:
从所述写指针指向的位置开始,根据所述索引文件中各索引项的顺序,依次向各索引项所对应的存储块写入数据;如果写完所述索引文件最后一个索引项所对应的存储块,则所述写指针回到所述索引文件的第一个索引项;
根据写入每个存储块的数据的属性信息更新相应索引项的信息,所述索引项的信息包括存储数据大小,数据类型,以及数据在存储文件中的位置。
2.根据权利要求1所述的视频监控设备中闪存卡的数据存储方法,其特征在于,若所述写入的数据连续占用多个存储块,则只在第一个被占用的存储块所对应的索引项中记录该数据的信息。
3.根据权利要求1所述的视频监控设备中闪存卡的数据存储方法,其特征在于,索引头中还包括读指针,指向下一个数据可读的存储块的索引项;
在所述写入数据的步骤中,还包括以下子步骤:
计算待写入的数据所占存储块数N;
判断当前闪存卡剩余空存储块数L是否小于所述N;
若L不小于N,则从所述写指针所指向的存储块开始,将所述待写入的数据顺序写入N个存储块;
若L小于N,则首先预置欲覆盖数据的存储块总数M为L,其次以所述读指针指向的数据为初始地址,将其后续整数个数据所占用的存储块数累加至M,直到M大于或者等于所述N,同时更新所述读指针指向所述欲覆盖数据之后的地址及对应索引偏移,再从所述写指针所指向的存储块开始,将所述待写入的数据顺序写入N个存储块;
在所述更新索引项信息的步骤中,还包括以下子步骤:
更新所述索引头中的写指针指向所述N个存储块之后的地址及对应索引偏移。
4.根据权利要求3所述的视频监控设备中闪存卡的数据存储方法,其特征在于,所述闪存卡所有存储空间被所述存储文件和索引文件占满。
5.根据权利要求1至4中任一项所述的视频监控设备中闪存卡的数据存储方法,其特征在于,相邻索引项所对应的存储块物理上也为相邻。
6.一种视频监控设备中闪存卡的数据存储***,其特征在于,预先在闪存卡中设置文件大小保持不变的多个存储文件和一个索引文件,索引文件中包括一个索引头和多个索引项;每个存储文件中包含整数个存储块,各存储块分别与所述索引文件中各索引项一一对应;索引头中包括写指针,指向下一个可写的存储块的索引项;所述索引文件为在存储文件之外建立的一种用于指明逻辑记录和物理记录之间一一对应关系的链表数据结构的文件;
所述***包括以下模块:
循环写入模块,用于从所述写指针指向的位置开始,根据所述索引文件中各索引项的顺序,依次向各索引项所对应的存储块写入数据;如果写完所述索引文件最后一个索引项所对应的存储块,则所述写指针回到所述索引文件的第一个索引项;
索引更新模块,用于根据所述循环写入模块写入每个存储块的数据的属性信息更新相应索引项的信息,所述索引项的信息包括存储数据大小,数据类型,以及数据在存储文件中的位置。
7.根据权利要求6所述的视频监控设备中闪存卡的数据存储***,其特征在于,若所述写入的数据连续占用多个存储块,则只在第一个被占用的存储块所对应的索引项中记录该数据的信息。
8.根据权利要求6所述的视频监控设备中闪存卡的数据存储***,其特征在于,索引头中还包括读指针,指向下一个数据可读的存储块的索引项;
所述循环写入模块还包括以下子模块:
计算子模块,用于计算待写入的数据所占存储块数N;
判断子模块,用于判断当前闪存卡剩余空存储块数L是否小于所述计算子模块计算得到的存储块数N;
第一写入子模块,用于若所述判断子模块判定L不小于N,则从所述写指针所指向的存储块开始,将所述待写入的数据顺序写入N个存储块;
第二写入子模块,用于若所述判断子模块判定L小于N,则首先预置欲覆盖数据的存储块总数M为L,其次以所述读指针指向的数据为初始地址,将其后续整数个数据所占用的存储块数累加至M,直到M大于或者等于所述N,同时更新所述读指针指向所述欲覆盖数据之后的地址及对应索引偏移,再从所述写指针所指向的存储块开始,将所述待写入的数据顺序写入N个存储块;
所述索引更新模块还包括以下子模块:
更新子模块,用于在所述第一写入子模块或者第二写入子模块将所述待写入的数据顺序写入N个存储块之后,更新所述索引头中的写指针指向所述N个存储块之后的地址及对应索引偏移。
9.根据权利要求8所述的视频监控设备中闪存卡的数据存储***,其特征在于,所述闪存卡所有存储空间被所述存储文件和索引文件占满。
10.根据权利要求6至9中任一项所述的视频监控设备中闪存卡的数据存储***,其特征在于,相邻索引项所对应的存储块物理上也为相邻。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110341083.7A CN102508784B (zh) | 2011-11-02 | 2011-11-02 | 视频监控设备中闪存卡的数据存储方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110341083.7A CN102508784B (zh) | 2011-11-02 | 2011-11-02 | 视频监控设备中闪存卡的数据存储方法及其*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102508784A CN102508784A (zh) | 2012-06-20 |
CN102508784B true CN102508784B (zh) | 2015-01-07 |
Family
ID=46220875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110341083.7A Active CN102508784B (zh) | 2011-11-02 | 2011-11-02 | 视频监控设备中闪存卡的数据存储方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102508784B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544124B (zh) * | 2012-07-16 | 2018-01-19 | 上海塞尚通信技术有限公司 | Nand Flash存储器的访问方法 |
CN103268266A (zh) * | 2013-01-04 | 2013-08-28 | 苏州懿源宏达知识产权代理有限公司 | 闪存校验存储方法 |
CN103051977A (zh) * | 2013-01-11 | 2013-04-17 | 乐视网信息技术(北京)股份有限公司 | 一种处理p2p缓存数据的方法 |
CN104699727B (zh) * | 2014-01-15 | 2017-12-22 | 杭州海康威视数字技术股份有限公司 | 一种数据存储方法和装置 |
CN105208596A (zh) * | 2014-06-17 | 2015-12-30 | 中兴通讯股份有限公司 | 一种表头压缩方法、解压方法及装置 |
CN105468642A (zh) * | 2014-09-09 | 2016-04-06 | 杭州海康威视数字技术股份有限公司 | 数据的存储方法及装置 |
CN104461917A (zh) * | 2014-12-05 | 2015-03-25 | 宁波新尚智能电气有限公司 | 基于Nor Flash的区域循环存储方法 |
CN105389376B (zh) * | 2015-11-18 | 2020-01-03 | 武汉微创光电股份有限公司 | 基于连续块的无碎片化多媒体数据存储方法及*** |
CN107391388B (zh) * | 2016-05-17 | 2021-06-11 | 阿里巴巴集团控股有限公司 | 一种基于即时通信进行数据存储的方法和设备 |
CN107562766B (zh) * | 2016-07-01 | 2020-11-27 | 杭州海康威视数字技术股份有限公司 | 一种数据文件写入方法、装置及*** |
CN106294213B (zh) * | 2016-08-02 | 2019-07-16 | 芯启源电子科技有限公司 | 存储装置、电子设备及存储装置管理方法 |
CN106293532A (zh) * | 2016-08-10 | 2017-01-04 | 广东佳禾声学科技有限公司 | 一种Flash数据储存方法 |
CN107506308A (zh) * | 2017-06-30 | 2017-12-22 | 杭州旗捷科技有限公司 | 一种芯片改写设备的数据存储方法、电子设备及存储介质 |
CN107861891A (zh) * | 2017-11-14 | 2018-03-30 | 郑州天迈科技股份有限公司 | 用于公交车载硬盘的音视频数据存取方法 |
CN108228095B (zh) * | 2017-12-15 | 2021-02-09 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种基于Flash进行实时信息记录的方法 |
CN109002399B (zh) * | 2018-07-09 | 2021-05-18 | 北京智芯微电子科技有限公司 | 嵌入式设备事件记录的方法 |
CN109634919A (zh) * | 2018-10-16 | 2019-04-16 | 西北铁道电子股份有限公司 | 一种文件管理*** |
WO2020102955A1 (zh) * | 2018-11-20 | 2020-05-28 | 浙江宇视科技有限公司 | 监控视频存储方法、装置及视频存储设备 |
CN109783321B (zh) * | 2019-01-24 | 2022-09-23 | 深圳市景阳信息技术有限公司 | 监控数据管理方法、装置、终端设备 |
CN110008179B (zh) * | 2019-04-02 | 2023-06-16 | 深圳创维汽车智能有限公司 | 文件存储方法、行车记录仪及可读存储介质 |
CN110767304A (zh) * | 2019-09-25 | 2020-02-07 | 广东宝莱特医用科技股份有限公司 | 一种用于血液透析装置的循环存储数据的方法及装置 |
CN111125427A (zh) * | 2019-12-26 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种视频文件的读取方法、装置、电子设备及介质 |
CN113127415B (zh) * | 2019-12-31 | 2024-02-27 | 浙江宇视科技有限公司 | 实时流文件的处理方法、装置、介质及电子设备 |
CN111382122B (zh) * | 2020-03-11 | 2024-01-30 | 杭州涂鸦信息技术有限公司 | 一种多路网络摄像机子设备的文件管理***和方法 |
CN114153399B (zh) * | 2021-12-07 | 2023-10-20 | 四川云从天府人工智能科技有限公司 | 存储***的数据存储方法、装置、控制装置和介质 |
CN117453632B (zh) * | 2023-12-25 | 2024-04-12 | 杭州计算机外部设备研究所(中国电子科技集团公司第五十二研究所) | 一种数据存储方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034346A (zh) * | 2006-03-10 | 2007-09-12 | 北京佳讯飞鸿电气有限责任公司 | 一种循环队列的数据存储方法 |
CN101266573A (zh) * | 2008-04-29 | 2008-09-17 | 中国船舶重工集团公司第七〇九研究所 | 允许覆盖的闪存均匀磨损循环队列技术 |
CN101727398A (zh) * | 2008-10-31 | 2010-06-09 | 西安奇维测控科技有限公司 | 经信息序列化实现闪存控制器管理数据存储与还原的方法 |
CN102063379A (zh) * | 2010-12-28 | 2011-05-18 | 天津市亚安科技电子有限公司 | 一种flash存储器的数据存储方法 |
CN102117297A (zh) * | 2009-12-31 | 2011-07-06 | 华为技术有限公司 | 流媒体文件处理方法、装置和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
-
2011
- 2011-11-02 CN CN201110341083.7A patent/CN102508784B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034346A (zh) * | 2006-03-10 | 2007-09-12 | 北京佳讯飞鸿电气有限责任公司 | 一种循环队列的数据存储方法 |
CN101266573A (zh) * | 2008-04-29 | 2008-09-17 | 中国船舶重工集团公司第七〇九研究所 | 允许覆盖的闪存均匀磨损循环队列技术 |
CN101727398A (zh) * | 2008-10-31 | 2010-06-09 | 西安奇维测控科技有限公司 | 经信息序列化实现闪存控制器管理数据存储与还原的方法 |
CN102117297A (zh) * | 2009-12-31 | 2011-07-06 | 华为技术有限公司 | 流媒体文件处理方法、装置和*** |
CN102063379A (zh) * | 2010-12-28 | 2011-05-18 | 天津市亚安科技电子有限公司 | 一种flash存储器的数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102508784A (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102508784B (zh) | 视频监控设备中闪存卡的数据存储方法及其*** | |
CN102158349B (zh) | 一种日志管理装置及方法 | |
CN104461391A (zh) | 一种存储设备元数据管理处理方法及*** | |
CN101645043B (zh) | 写数据的方法、读数据的方法及存储设备 | |
CN104750565A (zh) | Nand坏块处理方法及nand闪存设备 | |
CN103577574A (zh) | 一种基于nand flash的高可靠线性文件*** | |
CN105446664B (zh) | 一种对存储器进行文件存储方法和存储装置 | |
CN101419571A (zh) | 基于Hash算法的在NOR FLASH中存储配置参数的方法 | |
CN103049224A (zh) | 将数据导入物理磁带的方法、装置和*** | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
CN103996412A (zh) | 一种用于智能卡非易失性存储器的掉电保护方法 | |
CN102169460A (zh) | 变长数据管理方法及装置 | |
CN108664577B (zh) | 一种基于flash空闲区的文件管理方法及*** | |
CN104021089A (zh) | 快闪存储器控制芯片与存储装置以及快闪存储器控制方法 | |
US8239427B2 (en) | Disk layout method for object-based storage devices | |
CN104951482A (zh) | 一种操作Sparse格式的镜像文件的方法及装置 | |
CN103778067A (zh) | Java卡的对象处理方法、装置和Java卡 | |
CN101303667B (zh) | 建立磁盘空簇表及查找磁盘空簇的方法和装置 | |
CN103309619A (zh) | 一种闪存数据存储方法 | |
CN108647278B (zh) | 一种文件管理方法及*** | |
CN102306128A (zh) | 磁盘管理方法、装置及网络设备 | |
CN110286859B (zh) | 基于fat文件***的数据存储方法及装置 | |
CN112463055A (zh) | 一种优化并使用固态硬盘l2p表的方法、***、设备及介质 | |
CN115079957B (zh) | 请求处理方法、装置、控制器、设备及存储介质 | |
US20230409235A1 (en) | File system improvements for zoned storage device operations |
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 |