CN115878016A - 数据存储方法、智能终端及计算机可读存储介质 - Google Patents

数据存储方法、智能终端及计算机可读存储介质 Download PDF

Info

Publication number
CN115878016A
CN115878016A CN202111143703.6A CN202111143703A CN115878016A CN 115878016 A CN115878016 A CN 115878016A CN 202111143703 A CN202111143703 A CN 202111143703A CN 115878016 A CN115878016 A CN 115878016A
Authority
CN
China
Prior art keywords
data
storage
written
memory
paths
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.)
Pending
Application number
CN202111143703.6A
Other languages
English (en)
Inventor
林杰华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Longsys Electronics Co Ltd
Original Assignee
Shenzhen Longsys Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Longsys Electronics Co Ltd filed Critical Shenzhen Longsys Electronics Co Ltd
Priority to CN202111143703.6A priority Critical patent/CN115878016A/zh
Publication of CN115878016A publication Critical patent/CN115878016A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据存储方法、智能终端及计算机可读存储介质,其中,该数据存储方法包括:获取待写入数据的数据来源路数;其中,数据来源路数为至少两路;基于数据来源路数在存储器的存储空间中划分出设定数量的存储区间;其中,存储区间包括至少一个分组存储单元,分组存储单元的大小为一个闪存块容量的正整数倍,设定数量不大于数据来源路数;将至少两路待写入数据分别写入不同的存储区间。上述方案,本申请通过在存储器中写入数据时,对各路数据进行分组存储,以保证各路数据均对应存储于不同的专用分组存储单元,从而有效地提升了后续回收存储器的存储空间的效率,并提升了存储器的写入速度,且对存储器的闪存块来说损耗也较小。

Description

数据存储方法、智能终端及计算机可读存储介质
技术领域
本申请涉及数据存储技术领域,特别是涉及一种数据存储方法、智能终端及计算机可读存储介质。
背景技术
现今,在存储领域,闪存(flash)由于是一种长寿命的非易失性存储器,在断电情况下仍能保持所存储的数据信息,逐渐成为主流存储器,而得到了极为广阔的应用。其中,在数据存储中,通常不可避免的会存在有多路数据来源的情况,比如,对多个场景同时进行监控,进而使不同路监控的视频文件通过同一接口存入存储器,且采用分时复用方式。
而闪存通常由多个闪存块组成,每个闪存块包含多个页。每个闪存块按规则分配页供各路视频文件存储,即同一闪存块中存储的不止一路视频文件。由于闪存存储空间有限,分配给各路视频文件的存储空间有限,并且各路视频数据码流不一样,码流大的某路监控视频耗用存储空间较快,将导致该路视频文件的可存储空间较其他路视频文件的可存储空间先使用完。此时,便需要删除闪存中该路视频的过期文件,以获取空闲空间供该路视频的最新文件存储。
然而,闪存擦除是以块为单位进行的,在删除某路监控的过期视频文件时,便需要擦除过期视频文件所在闪存块的全部存储数据。但是,闪存块中通常存储的不止一路视频文件,当闪存块中某路监控的视频文件存储所占用的页成为脏页时,该闪存块中其他路监控的视频文件所占用的页仍然可能是有效页。这便需要在擦除过期视频文件所在的块之前,先将这些块的脏页之外的有效页数据搬移到内存中,然后再对这些闪存块进行擦除操作,最后将搬移到内存中的有效页数据搬移回之前所在块的对应页位置上。其中,所谓脏页,是指存储的数据已经过期的页;所谓有效页,是指存储的数据未过期的页。可见,这样回收存储空间效率极低,严重影响存储器的写入速度,此外,擦除闪存块前后还需要拷贝有效页,对闪存块来说损耗也较大。
发明内容
本申请主要解决的技术问题是提供一种数据存储方法、智能终端及计算机可读存储介质,以解决现有技术中的数据存储方法回收存储空间效率极低,严重影响存储器的写入速度,且对闪存块来说损耗也较大的问题。
为了解决上述问题,本申请第一方面提供了一种数据存储方法,其中,该数据存储方法包括:获取待写入数据的数据来源路数;其中,数据来源路数为至少两路;基于数据来源路数在存储器的存储空间中划分出设定数量的存储区间;其中,存储区间包括至少一个分组存储单元,分组存储单元的大小为一个闪存块容量的正整数倍,设定数量不大于数据来源路数;将至少两路待写入数据分别写入不同的存储区间。
其中,获取待写入数据的数据来源路数之前,还包括:确定存储器中待存储待写入数据的分组存储单元的大小;基于分组存储单元的大小获取存储器的最大支持分组数;在存储器的存储空间中划分出最大支持分组数的分组存储单元。
其中,基于数据来源路数在存储器的存储空间中划分出设定数量的存储区间,包括:基于数据来源路数从最大支持分组数的分组存储单元中划分出设定数量的存储区间;其中,设定数量等于数据来源路数,且小于或等于最大支持分组数。
其中,基于数据来源路数在存储器的存储空间中划分出设定数量的存储区间之后,将至少两路待写入数据分别写入不同的存储区间之前,还包括:获取每一存储区间的起始逻辑地址;将至少两路待写入数据分别写入不同存储区间中的分组存储单元,包括:获取至少两路待写入数据及每一待写入数据的逻辑地址;基于每一逻辑地址与每一起始逻辑地址的对应关系,依次将每一待写入数据分别写入起始逻辑地址与其逻辑地址对应的存储区间。
其中,存储区间包括至少两个分组存储单元,基于每一逻辑地址和每一起始逻辑地址的对应关系,依次将每一待写入数据分别写入与其对应的存储区间之后,还包括:在其中一个或多个存储区间中终止写入待写入数据,并释放终止写入数据的存储区间中未写入相应待写入数据的分组存储单元,以提供给其他路的待写入数据写入使用。
其中,将至少两路待写入数据分别写入不同的存储区间之后,还包括:在其中一个或多个存储区间的存储空间已满时,在存储器的存储空间中再次划分出相应数量的存储区间。
其中,将至少两路待写入数据分别写入不同的存储区间之后,还包括:删除存储有过期数据的分组存储单元中的待写入数据。
其中,存储区间包括至少两个分组存储单元,且每相邻两个分组存储单元在存储区间中的存储空间不连续。
为了解决上述问题,本申请第三方面提供了一种智能终端,其中,该智能终端包括相互耦接的存储器和处理器,存储器存储有程序数据;处理器用于执行程序数据,以实现如上任一项所述的数据存储方法。
为了解决上述问题,本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现如上任一项数据存储方法。
本发明的有益效果是:区别于现有技术的情况,本申请的数据存储方法在获取到至少两路待写入数据时,能够基于数据的来源路数在存储器的存储空间中划分出设定数量的存储区间;其中,该存储区间包括至少一个分组存储单元,分组存储单元的大小为一个闪存块容量的正整数倍,设定数量不大于数据来源路数,以进而能够将至少两路待写入数据分别写入不同的存储区间,也便能够保证各路数据均对应存储于不同的专用分组存储单元,从而有效地避免了后续在存储器中存在有脏页时,还需首先将脏页所在闪存块中的有效页搬移到存储器的内存中,然后进行擦除操作,并将暂存在内存中的有效页搬移回其之前所在闪存的存储位置处,而能够直接擦除脏页所在存储块,因此,有效提升了回收该存储器的存储空间的效率,并提升了存储器的写入速度,且对存储器的闪存块来说损耗也较小。
附图说明
图1是现有技术中存储器对多路数据进行存储的示意图;
图2是本申请数据存储方法第一实施例的流程示意图;
图3是在存储器的存储空间中划分出存储区间的示意图;
图4是本申请中存储器对多路数据进行存储的示意图;
图5是本申请数据存储方法第二实施例的流程示意图;
图6是本申请数据存储方法第三实施例的流程示意图;
图7是本申请数据存储方法一具体实施例的流程示意图;
图8是本申请智能终端一实施例的框架示意图;
图9是本申请计算机可读存储介质一实施例的框架示意图。
具体实施方式
发明人经长期研究发现,在存储领域,闪存(flash)由于是一种长寿命的非易失性存储器,在断电情况下仍能保持所存储的数据信息,逐渐成为主流存储器,而得到了极为广阔的应用。
在数据存储领域中,通常不可避免的会存在有多路数据来源的情况,比如,在我们日常生活基本离不开的视频监控系统中,该监控系统根据监控路数可以分为一路或多路监控,即对一个或多个场景同时进行监控。而一路监控对应一个视频文件,不同路监控的视频文件通过同一接口存入存储器,且采用分时复用的方式。
其中,闪存便常被选作视频监控的存储器,而闪存通常由多个闪存块组成,每个闪存块包含有多个页。每个闪存块按规则分配页供各路视频文件存储,即同一闪存块中存储的不止一路视频文件。而由于闪存存储空间有限,分配给各路视频文件的存储空间有限,并且各路视频数据码流不一样,码流大的某路监控视频耗用存储空间较快,将导致该路视频文件的可存储空间较其他路视频文件的可存储空间先使用完。此时,需要删除闪存中该路视频的过期文件以获取空闲空间供该路视频的最新文件存储。
然而,闪存擦除是以块为单位进行的,在删除某路监控的过期视频文件时,便需要擦除过期视频文件所在的块的全部存储数据。但是,闪存块中通常存储的不止一路视频文件,当闪存块中某路监控的视频文件存储所占用的页成为脏页时,该闪存块中其他路监控的视频文件所占用的页仍然可能是有效页。这便需要在擦除过期视频文件所在的块之前,先将这些块的脏页之外的有效页数据搬移到内存中,然后再对这些闪存块进行擦除操作,最后将搬移到内存中的有效页数据搬移回之前所在闪存块的对应页的存储位置上。其中,所谓脏页,是指存储的数据已经过期的页;所谓有效页,是指存储的数据未过期的页。
具体地,如图1所示,图1是现有技术中存储器对多路数据进行存储的示意图。监控设备将按照图1中的写入顺序写入数据(A1-A3为第一路数据,B1-B3为第二路数据,C1-C3为第三路数据,D1-D3为第四路数据,其中,A1-A3的数据大小与C1-C3相等,且是B1-B3的两倍,而D1-D3的数据大小是B1-B3的三倍),通常情况下,多路视频监控设备若使用普通方式进行存储,某路视频文件存储空间在消耗完时,比如,第一路数据,通常需要删除闪存块中所有该路监控的视频文件,比如,闪存块1中的所有数据,以获取空闲空间存放该路视频的最新文件,也便会出现一个闪存块中部分页是脏页,而另一部分页是有效页的情况,因而需要把有效页的数据搬移到一个新的闪存块,即进行数据搬移整理,而数据搬移整理的方式回收存储空间的效率极低,将严重影响存储器的写入速度,对闪存块来说损耗也较大。
为了提升回收存储器的存储空间的效率,提升存储器的写入速度,减少存储器的闪存块的损耗,本申请提供了一种存储设备的数据存储方法。下面结合附图和实施例,对本申请作进一步的详细描述。特别指出的是,以下实施例仅用于说明本申请,但不对本申请的范围进行限定。同样的,以下实施例仅为本申请的部分实施例而非全部实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参阅图2-图4,其中,图2是本申请数据存储方法第一实施例的流程示意图,图3是在存储器的存储空间中划分出存储区间的示意图,图4是本申请中存储器对多路数据进行存储的示意图。具体而言,可以包括如下步骤:
S11:获取待写入数据的数据来源路数。
随着数据存储行业的快速发展,在数据存储领域中,通常不可避免的会存在有多路来源的数据存储至同一存储器的情况,比如,在我们日常生活基本离不开的视频监控系统中,该监控系统通常会根据监控路数分为一路或多路监控,即对一个或多个场景同时进行监控。其中,一路监控对应一个视频文件,而不同路监控的视频文件通常是通过同一接口存入存储器中,且采用分时复用方式。而在其他实施例中,存储器还可以同时接收由不同用户发送的数据信息,或其他任一合理的存在有多路数据来源的数据存储场景,本申请对此不做限定。
其中,不同数据来源的数据信息在写入到存储器的闪存中后,通常不可避免的会存在有其中一路数据的可存储空间较其他路是数据的可存储空间率先使用完,以致需要对应相应的闪存块进行擦除操作,以回收存储器的存储空间的需要。因此,对于不同路的待写入数据,在写入存储器中时,需加以区分。
具体地,包括有存储器的智能终端在向其存储器写入数据之前,首先需获取待写入数据的数据来源路数,即具体有几路待写入数据将发送,并写入至智能终端的存储器中。
其中,该数据来源路数为至少两路,而不同的数据来源具体指的是发送给存储器的待写入数据的发送源不同。比如,后台监控终端在与布置在不同监控场景中的摄像头建立通信连接后,即可确定本次待存储至后台监控终端的待写入数据的数据来源路数。
S12:基于数据来源路数在存储器的存储空间中划分出设定数量的存储区间。
可理解的,为区分不同数据来源的待写入数据,具体可采用分开存储的方式。需说明的是,对于实现不同功能的数据信息,比如,视频文件数据、程序数据以及文件管理数据,在写入至存储器中时,通常也需分开进行存储,而在本实施例中,至少两路的待写入数据具体指的是实现同样功能的,但对应不同存储路径的数据,比如,不同存储路径的视频文件数据,而不考虑实现不同功能的不同种类数据存储的情况,且被划分出的存储区间也对应为仅用于存储视频文件数据的存储空间。
具体地,为保证后续对存储器进行数据擦除操作,以回收其存储空间时,较高的效率,在获取到待写入数据的数据来源路数后,即可在该存储器的存储空间中划分出设定数量的存储区间。
其中,该设定数量具体是根据数据来源路数进行确定,而具体可以等于该数据来源路数,或稍小于该数据来源路数,本申请对此不做限定。
可理解的,由存储器的存储空间中划分出的每一存储区间,即对应于存储器的不同存储位置,而具体可由不同的起始逻辑地址及相应的扇区数确定。
其中,如图3所示,图3是在存储器的存储空间中划分出存储区间的示意图。具体地,如图3中的例2和例3所示,该存储区间包括至少一个分组存储单元,且具体包括正整数个分组存储单元,而分组存储单元的大小为一个闪存块容量的正整数倍,以在基于分组存储单元对不同路的待写入数据进行分组存储时,每一闪存块只对应存储有其中一路的待写入数据,相当于,每一路待写入数据均对应有专用的闪存块。其中,图3中的例1示出的是存储区间包括有不满足正整数个分组存储单元的情况,不符合规范。
可选地,如图3中的例2,存储区间包括至少两个分组存储单元,且每相邻两个分组存储单元在存储区间中的存储空间不连续。而在其他实施例中,如图3中的例3,每相邻两个分组存储单元在存储区间中的存储空间还可以连续,本申请对此不做限定。
由此可知,该分组存储单元即为待写入数据的单位存储空间,且不同的分组存储单元对应于不同数据来源的待写入数据。且因后续进行数据擦除操作所对应的最小存储单元是一个闪存块,该分组存储单元的大小具体为一个闪存块容量的正整数倍,比如,该分组存储单元为1个、2个或3个等任一合理数量的闪存块组成,以能够方便后续的擦除操作。
S13:将至少两路待写入数据分别写入不同的存储区间。
可理解的,在从存储器的存储空间中划分出设定数量为数据来源路数的存储区间时,即可对应每一存储区间分别唯一对应一路待写入数据进行写入操作,也即,每一路待写入数据分别对应存储于其中一个存储区间,且不同路的待写入数据对应不同的存储区间。而在从存储器的存储空间中划分出的存储区间的设定数量稍小于数据来源路数时,可将对应存储数据流较小的两个或多个分属同一存储区间,而将存储数据流较大的唯一对应一专用存储区间,以进行相应待写入数据的写入存储。
具体地,为方便说明,以待写入数据包括4路,且分别为A1-A3,B1-B3,C1-C3以及D1-D2为例,如图4所示,图4是本申请中存储器对多路数据进行存储的示意图。则可知,在基于数据来源路数在存储器的存储空间中划分出设定数量的存储区间时,具体可为每一路待写入数据分别划分出一个专用分组存储单元,比如,分组存储单元1、分组存储单元2、分组存储单元3以及分组存储单元4,以能够分别对应存储相应的待写入数据A1-A3,B1-B3,C1-C3以及D1-D2。
其中,每一专用分组存储单元也可理解为专用闪存块,因此,每一专用闪存块里存放的只有同一路的待写入数据,从而能够在后续某路待写入数据的存储空间消耗完,而需要删除过期文件,以获取其可用空间时,只需要直接将整个脏块擦除即可,以使其成为空闲块供最新的该路待写入数据进行存储,且不会导致有效数据的误删除。
上述方案,在获取到至少两路待写入数据时,能够基于数据的来源路数在存储器的存储空间中划分出设定数量的存储区间;其中,该存储区间包括至少一个分组存储单元,分组存储单元的大小为一个闪存块容量的正整数倍,设定数量不大于数据来源路数,以进而能够将至少两路待写入数据分别写入不同的存储区间,也便能够保证各路数据均对应存储于不同的专用分组存储单元,从而有效地避免了后续在存储器中存在有脏页时,还需首先将脏页所在闪存块中的有效页搬移到存储器的内存中,然后进行擦除操作,并将暂存在内存中的有效页搬移回其之前所在闪存的存储位置处,而能够直接擦除脏页所在存储块,因此,有效提升了回收该存储器的存储空间的效率,并提升了存储器的写入速度,且对存储器的闪存块来说损耗也较小。
此外,相较于需要通过一系列的识别动作来确定待写入数据具体为哪一路数据,而对应识别过程易受到写入行为的干扰,导致识别成功率下降,分组成功率偏低,本申请通过在写入数据时,即将不同路的待写入数据分组进行存储,有效地提升了相应的分组效率,且后续只需确定相应存储区间,便可确定出其对应的是哪一路待写入数据,而无需进行一系列的识别动作。
进一步地,在一实施例中,在上述S13之后,具体还可以包括:在其中一个或多个存储区间的存储空间已满时,在存储器的存储空间中再次划分出相应数量的存储区间。
可理解的,一路或多路待写入数据具体是依照时间顺序依次写入到相应的存储区间,因而在从存储器的存储空间中划分出相应的存储区间时,具体是首先给每一路待写入数据分配一个等大小的专用存储区间,而当其中存在有一路或多路待写入数据对应数据写入码流较大,以致对应分配的存储区间的存储空间已满时,即可在存储器的存储空间中再次划分出相应数量的存储区间,以继续存储相应的待写入数据。
而在其他实施例中,在其中一个或多个存储区间的存储空间已满时,还可以在存储器的存储空间中再次划分出相应数量的分组存储单元,以并入相应的专用存储区间,以继续存储相应的待写入数据。
可选地,不同路的待写入数据,根据其数据写入码流的不同,对应在存储器的存储空间中划分出的专用存储区间的数量也不同,但其中每一存储区间的存储空间大小相等。而在其他实施中,根据不同待写入数据的不同数据写入码流,对应在存储器的存储空间中划分出的专用存储区间的存储空间大小不相等,且具体是数据写入码流大的待写入数据对应的专用存储区间包括的分组存储单元数量多,或相应的分组存储单元包括的闪存块的数量多,以能够适应于具有不同数据写入码流的多路待写入数据的应用场景。
进一步地,在一实施例中,在上述S13之后,具体还可以包括:删除存储有过期数据的分组存储单元中的待写入数据。
可理解的,在其中一路或多路的待写入数据对应分配的存储空间消耗完时,则需要删除过期文件,以获取其可用空间。也即,相应的存储区间将存在有脏闪存块的产生,而因上述对不同路的待写入数据采用的是分组存储策略,故而同一分组存储单元对应存储的待写入数据必然是同一路数据,也便能够直接删除存储有过期数据的分组存储单元中的所有待写入数据,也即可直接将相应的整个脏块擦除即可,以使其成为空闲块供最新的该路待写入数据进行存储,而无需考虑误删其他路有效数据的情况。其中,所谓脏块,是指存放的数据已经过期的闪存块。
请参阅图5,图5是本申请数据存储方法第二实施例的流程示意图。本实施例的数据存储方法是图2中的数据存储方法的一细化实施例的流程示意图,包括如下步骤:
S21:确定存储器中待存储待写入数据的分组存储单元的大小。
可理解的,在从存储器的存储空间中划分出每路待写入数据对应的专用存储区间之前,需首先确定存储器中待存储待写入数据的分组存储单元的大小,且具体是基于存储器的固件及相应的固件算法进行的设定。
其中,该分组存储单元的大小具体为一个闪存块容量的正整数倍。
S22:基于分组存储单元的大小获取存储器的最大支持分组数。
进一步地,在确定了每一分组存储单元的大小后,即可根据存储器对应分配给待写入数据的存储空间的总容量,计算得到该存储器的最大支持分组数,也即能够从存储器的存储空间中划分出的分组存储单元的最大数量。
可选地,其中每一分组存储单元的大小均相等。而在其他实施例中,还可以根据不同待写入数据的不同数据写入码流,对应在存储器的存储空间中划分出的分组存储单元大小不相等,且具体是数据写入码流大的待写入数据对应的分组存储单元包括的专用闪存块数量多,以能够适应于具有不同数据写入码流的多路待写入数据的应用场景,本申请对此不做限定。
S23:在存储器的存储空间中划分出最大支持分组数的分组存储单元。
又进一步地,在确定出了分组存储单元的大小及存储器的最大支持分组数后,即可在存储器的存储空间中划分出最大支持分组数的分组存储单元。
可理解的,该最大支持分组数大于或等于待写入数据的数据来源路数,以能够支持每一路的待写入数据将写入到其专用的分组存储单元中。
S24:获取待写入数据的数据来源路数。
S25:基于数据来源路数在存储器的存储空间中划分出设定数量的存储区间。
S26:将至少两路待写入数据分别写入不同的存储区间。
其中,S24、S25以及S26与图2中的S11、S12以及S13相同,具体请参阅S11、S12以及S13及其相关的文字描述,在此不再赘述。
进一步地,在一实施例中,上述S25具体还可以包括:基于数据来源路数从最大支持分组数的分组存储单元中划分出设定数量的存储区间。
可理解的,为保证每一路的待写入数据能够写入到其专用的分组存储单元中,实际在存储器的存储空间中划分出的存储区间的设定数量应等于数据来源路数,且小于或等于最大支持分组数。且具体是在存储器的存储空间中划分出最大支持分组数的分组存储单元,以进而根据数据来源路数,确定实际需要的存储区间的数量。
为方便说明,以最大支持分组数为8,而数据来源路数为4,且每一存储区间均包括1个分组存储单元为例,其中,具体是在存储器的存储空间中划分出8个分组存储单元,并将其中4个分组存储单元分别确定为4路待写入数据的专用存储区间,而将另4个分组存储单元闲置,或等待重新分配给某一专用存储区间已满的相应待写入数据继续写入数据。
请参阅图6,图6是本申请数据存储方法第三实施例的流程示意图。本实施例的数据存储方法是图2中的数据存储方法的一细化实施例的流程示意图,包括如下步骤:
S31:获取待写入数据的数据来源路数。
S32:基于数据来源路数在存储器的存储空间中划分出设定数量的存储区间。
其中,S31和S32与图2中的S11和S12相同,具体请参阅S11和S12及其相关的文字描述,在此不再赘述。
S33:获取每一存储区间的起始逻辑地址。
可理解的,在对应从存储器的存储空间中划分出设定数量的存储区间后,通过获取每一存储区间的起始逻辑地址,即可分辨出不同的存储区间。
S34:获取至少两路待写入数据及每一待写入数据的逻辑地址。
进一步地,获取至少两路待写入数据及每一待写入数据的逻辑地址,以能够基于每一待写入数据的逻辑地址确定其对应的存储区间。
S35:基于每一逻辑地址与每一起始逻辑地址的对应关系,依次将每一待写入数据分别写入起始逻辑地址与其逻辑地址对应的存储区间。
可理解的,每一存储区间均对应包括有多个存储扇区,而每一存储扇区对应有一个逻辑地址,其中,存储器的文件管理系统具体存储有每一存储扇区的逻辑地址与其对应的待写入数据的逻辑地址的映射关系数据,而存储区间的起始逻辑地址又对应于其包括的存储扇区的逻辑地址。因此,在获取到至少两路待写入数据及每一待写入数据的逻辑地址后,即可依据相应的每一逻辑地址与每一起始逻辑地址的对应关系,确定每一待写入数据对应的存储区间,以依次将每一待写入数据分别写入相应的存储区间。
由此可知,存储器具体能够根据相应存储区间的起始逻辑地址和分组数,实现根据待写入数据的逻辑地址,自动进行分组存储,以将每路的待写入数据分配到每路对应的专用存储区间。于是,同一存储区间,且同一闪存块里存放的只有同一路待写入数据,以在后续某路待写入数据的存储空间消耗完,而需要删除过期文件,以获取其可用空间时,只需要将整个脏块擦除即可,以使其成为空闲块供最新的待写入数据存储。
进一步地,在一实施例中,存储区间包括至少两个分组存储单元,上述S35之后,具体还可以包括:在其中一个或多个存储区间中终止写入待写入数据,并释放终止写入数据的存储区间中未写入相应待写入数据的分组存储单元,以提供给其他路的待写入数据写入使用。
可理解的,在存储区间具体包括有至少两个分组存储单元,但相应写入该存储区间的待写入数据只占用了其中部分的分组存储单元,比如,一个分组存储单元后,便接收到了终止写入数据的命令时,对于该存储区间中尚未写入数据的分组存储单元,即可释放给其他路的待写入数据写入使用,而避免闲置过多的分组存储单元。
请参阅图7,图7是本申请数据存储方法一具体实施例的流程示意图。
在本实施例中,该数据存储方法具体对应的是监控设备将从多路不同摄像场景中获取的视频文件存储到相应存储器的方法,其中,该存储器和监控设备按照规定的协议接口进行通讯交互,而存储器能够根据交互的结果对待写入的数据进行分组,以做到最佳的分组效果。
且本实施例中的所有接口均通过Vendor Command(协议命令)实现存储,如SD(Secure Digital Memory Card/SD card,安全数码卡)、eMMC(Embedded Multi MediaCard,嵌入式多媒体卡)均是使用CMD(Command,命令提示符),不限定格式,不同的接口可通过命令参数或数据来做具体定义。
具体地,该监控设备包括接口1、接口2、接口3以及接口4,且该监控设备具体是通过接口1-接口4与内置于监控设备中的存储器,或其他智能终端中的存储器实现通信连接。
其中,接口1具体的作用在于:监控设备获取存储器的分组单元大小和最大支持分组数,且分组单元大小和最大支持分组数均取决于存储器的固件设定,分组单元大小可以是存储器闪存块的容量大小,也可以是存储器多个闪存块的容量大小。
对于监控设备,分组单元大小影响着监控设备的文件管理方式,分组单元大小是视频文件进行存储的最小单位,每路视频文件具体是依据分组单元大小的整数倍进行分组存储,而监控设备为每路视频文件分配存储扇区的逻辑地址时,需确保每个分组单元内都是连续的逻辑地址,且允许每个视频文件是由多个存储空间单独不连续的分组存储单元进行存储的,也可以是存储空间连续的多个分组单元进行存储的。最大支持分组数是存储器最大可以支持的分组数,这个决定于存储器的固件设定。
接口2:监控设备在存储器的存储空间中划分出实际会使用的分组存储单元的数量。监控设备根据存储器支持的最大分组数和实际监控路数设定实际分组数,且该实际分组数少于或等于存储器支持的最大分组数,尽可能等于实际的监控路数,而不能大于实际监控路数。
接口3:设定1个或多个分组存储单元的起始逻辑地址和扇区数,以确定出相应数量的存储区间,且该存储区间为分组存储单元大小的整数倍。
接口4:在结束向1个或多个分组存储单元写入数据时,需同时把结束写入数据所对应的存储区间的起始逻辑地址发送到存储器,以使存储器在接收到结束命令后,解析起始逻辑地址所对应的存储区间,并释放该存储区间中尚未使用的专用闪存块,以提供给其他路的视频文件的写入。
可理解的,视频监控设备在向存储器写入视频文件时,存储器能够根据视频文件的逻辑地址,即可判断该视频文件具体是属于哪路视频文件,且对应于哪一存储区间,以能够直接写入到分配给该路视频文件的专用闪存块,且当该专用闪存块写满后,能够申请新的空闲闪存块作为该路视频文件的专用闪存块。
具体地,在本实施例中,通过上述监控设备对应在存储器中写入数据的数据存储方法具体包括如下步骤:
S41:给存储器上电。
S42:获取分组存储单元大小和存储器最大支持分组数。
具体地,根据存储器的固件及相应的固件算法确定对应在存储器的存储空间进行分组划分的分组存储单元大小,及存储器的最大支持分组数。
S43:设定实际分组数。
进一步地,根据待写入数据,也即视频文件的来源路数确定本次分组的实际分组数,且该实际分组数少于或等于存储器支持的最大分组数,且尽可能等于视频文件的来源路数,而不能大于视频文件的来源路数。
S44:设定分组存储单元起始逻辑地址和扇区数。
具体地,设定1个或多个分组存储单元的起始逻辑地址和扇区数,以确定出相应数量的存储区间,且该存储区间为分组存储单元大小的整数倍。
S45:根据分组存储单元写入对应的视频数据。
进一步地,将不同路的视频数据分组存储于不同的分组存储单元。
S46:分组存储单元内的逻辑地址是否已经用完。
可理解的,每一分组存储单元均包括有多个存储扇区,而每一存储扇区均对应有一逻辑地址,而相应的每路视频文件具体是依时序依分组次写入到相应的专用分组存储单元中的每一存储扇区中。而当存在有分组存储单元中的所有存储扇区的存储空间均已满时,则需再分配一分组存储单元给该路视频文件数据的写入、存储。
具体地,如果当前分组存储单元中的逻辑地址所对应的存储空间未用完时,则执行S45,以继续在该分组存储单元中写入相应的视频文件数据,直到该存储空间用完时,则执行S44,以再分配一分组存储单元进行相应视频文件的写入、存储。依次类推,即可分别将每一路的视频文件分别写入到不同的存储区间中,且在其中一路视频文件对应分配的存储区间已满,而需回收相应存储空间时,则可直接删除相应存储区间中的脏块即可。
请参阅图8,图8是本申请智能终端一实施例的框架示意图。该智能终端51包括相互耦接的存储器511和处理器512,处理器512用于执行存储器511中存储的程序指令,以实现上述任一数据存储方法实施例的步骤。
在一个具体的实施场景中,智能终端51可以包括但不限于:监控设备、无人机、手机、平板电脑等任一合理的包括有闪存,且存在有多路数据来源的数据存储场景的终端设备中的一种,本申请对此不做限定。
具体而言,处理器512用于控制其自身以及存储器511以实现上述任一视频显示方法实施例的步骤。处理器512还可以称为CPU(Central Processing Unit,中央处理单元)。处理器512可能是一种集成电路芯片,具有信号的处理能力。处理器512还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器512也可以是任何常规的处理器等。另外,处理器512可以由集成电路芯片共同实现。
请参阅图9,图9是本申请计算机可读存储介质一实施例的框架示意图。计算机可读存储介质61存储有能够被处理器运行的程序指令611,程序指令611用于实现上述任一数据存储方法实施例的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (10)

1.一种数据存储方法,其特征在于,所述数据存储方法包括:
获取待写入数据的数据来源路数;其中,所述数据来源路数为至少两路;
基于所述数据来源路数在存储器的存储空间中划分出设定数量的存储区间;其中,所述存储区间包括至少一个分组存储单元,所述分组存储单元的大小为一个闪存块容量的正整数倍,所述设定数量不大于所述数据来源路数;
将至少两路所述待写入数据分别写入不同的所述存储区间。
2.根据权利要求1所述的数据存储方法,其特征在于,所述获取待写入数据的数据来源路数之前,还包括:
确定所述存储器中待存储所述待写入数据的所述分组存储单元的大小;
基于所述分组存储单元的大小获取所述存储器的最大支持分组数;
在所述存储器的存储空间中划分出所述最大支持分组数的所述分组存储单元。
3.根据权利要求2所述的数据存储方法,其特征在于,所述基于所述数据来源路数在存储器的存储空间中划分出设定数量的存储区间,包括:
基于所述数据来源路数从所述最大支持分组数的所述分组存储单元中划分出所述设定数量的所述存储区间;其中,所述设定数量等于所述数据来源路数,且小于或等于所述最大支持分组数。
4.根据权利要求1所述的数据存储方法,其特征在于,所述基于所述数据来源路数在存储器的存储空间中划分出设定数量的存储区间之后,所述将至少两路所述待写入数据分别写入不同的所述存储区间之前,还包括:
获取每一所述存储区间的起始逻辑地址;
所述将至少两路所述待写入数据分别写入不同所述存储区间中的所述分组存储单元,包括:
获取至少两路所述待写入数据及每一所述待写入数据的逻辑地址;
基于每一所述逻辑地址与每一所述起始逻辑地址的对应关系,依次将每一所述待写入数据分别写入所述起始逻辑地址与其所述逻辑地址对应的所述存储区间。
5.根据权利要求4所述的数据存储方法,其特征在于,所述存储区间包括至少两个所述分组存储单元,所述基于每一所述逻辑地址和每一所述起始逻辑地址的对应关系,依次将每一所述待写入数据分别写入与其对应的所述存储区间之后,还包括:
在其中一个或多个所述存储区间中终止写入所述待写入数据,并释放终止写入数据的所述存储区间中未写入相应所述待写入数据的所述分组存储单元,以提供给其他路的所述待写入数据写入使用。
6.根据权利要求1所述的数据存储方法,其特征在于,所述将至少两路所述待写入数据分别写入不同的所述存储区间之后,还包括:
在其中一个或多个所述存储区间的存储空间已满时,在所述存储器的存储空间中再次划分出相应数量的所述存储区间。
7.根据权利要求1所述的数据存储方法,其特征在于,所述将至少两路所述待写入数据分别写入不同的所述存储区间之后,还包括:
删除存储有过期数据的所述分组存储单元中的所述待写入数据。
8.根据权利要求1所述的数据存储方法,其特征在于,
所述存储区间包括至少两个所述分组存储单元,且每相邻两个所述分组存储单元在所述存储区间中的存储空间不连续。
9.一种智能终端,其特征在于,所述智能终端包括相互耦接的存储器和处理器;
所述存储器存储有程序数据;
所述处理器用于执行所述程序数据,以实现如权利要求1-8中任一项所述的数据存储方法。
10.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1-8任一项所述的数据存储方法。
CN202111143703.6A 2021-09-28 2021-09-28 数据存储方法、智能终端及计算机可读存储介质 Pending CN115878016A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111143703.6A CN115878016A (zh) 2021-09-28 2021-09-28 数据存储方法、智能终端及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111143703.6A CN115878016A (zh) 2021-09-28 2021-09-28 数据存储方法、智能终端及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN115878016A true CN115878016A (zh) 2023-03-31

Family

ID=85763513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111143703.6A Pending CN115878016A (zh) 2021-09-28 2021-09-28 数据存储方法、智能终端及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115878016A (zh)

Similar Documents

Publication Publication Date Title
CN109656486B (zh) 固态硬盘的配置方法、数据存储方法、固态硬盘和存储控制器
US9343153B2 (en) De-duplication in flash memory module
US7363420B2 (en) Method and file structures for managing data on a flash disk
US7984231B2 (en) Information recording medium access device, and data recording method
US8127103B2 (en) Storage apparatus, memory area managing method thereof, and flash memory package
WO2018033036A1 (zh) 固态硬盘和应用于固态硬盘的数据存取方法
AU2003286967B2 (en) Dual journaling store method and storage medium thereof
JP2002123421A (ja) フラッシュメモリのための再写像制御方法及びこれによるフラッシュメモリの構造
CN109558335B (zh) 一种基于Nor Flash存储器的嵌入式系统的文件存储格式
EP1619583A1 (en) Data recording apparatus
CN109753224B (zh) 存储结构及存储结构配置方法
WO2018171266A1 (zh) 视频监控数据存储方法和装置
US10949340B2 (en) Block mapping systems and methods for storage device
CN110286848B (zh) 数据处理方法及装置
CN115878016A (zh) 数据存储方法、智能终端及计算机可读存储介质
CN110806840A (zh) 一种基于多数据流的闪存卡数据存储方法、闪存卡及设备
JP2006252137A (ja) 不揮発性記憶装置の最適化方法
US8429338B2 (en) Method and apparatus for emulating byte wise programmable functionality into sector wise erasable memory
CN114296644A (zh) 一种固态硬盘的数据管理方法和装置
JP2010049303A (ja) メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
JP2006244017A (ja) データコピー方法
CN112506430B (zh) 一种保持ssd固定条带大小的方法和设备
JP7435470B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2007310533A (ja) 不揮発性記憶システム、不揮発性記憶装置、及びファイルデータ書き込み方法
CN115328701A (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