CN102156731A - 闪存的数据存储方法和装置 - Google Patents

闪存的数据存储方法和装置 Download PDF

Info

Publication number
CN102156731A
CN102156731A CN2011100871719A CN201110087171A CN102156731A CN 102156731 A CN102156731 A CN 102156731A CN 2011100871719 A CN2011100871719 A CN 2011100871719A CN 201110087171 A CN201110087171 A CN 201110087171A CN 102156731 A CN102156731 A CN 102156731A
Authority
CN
China
Prior art keywords
file
data
page file
flash memory
deblocking
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
Application number
CN2011100871719A
Other languages
English (en)
Other versions
CN102156731B (zh
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.)
Shanghai Zhongyuan Network Co Ltd
Original Assignee
TRANSFER INTERACTION TOGETHER (BEIJING) TECHNOLOGY 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 TRANSFER INTERACTION TOGETHER (BEIJING) TECHNOLOGY Co Ltd filed Critical TRANSFER INTERACTION TOGETHER (BEIJING) TECHNOLOGY Co Ltd
Priority to CN 201110087171 priority Critical patent/CN102156731B/zh
Publication of CN102156731A publication Critical patent/CN102156731A/zh
Application granted granted Critical
Publication of CN102156731B publication Critical patent/CN102156731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了闪存的数据存储方法和装置,在极大的减少对闪存设备的“擦写”次数同时,可以为用户提供可靠的P2P点播服务。其技术方案为:数据存储方法包括:检查页文件是否存在,如果不存在则创建页文件,如果存在则打开页文件;读取页文件的文件信息区的数据并缓存到客户端的内存;在客户端点播文件后,从服务器下载数据分块;将下载到的数据分块存储在客户端,并更新内存中缓存的文件信息区的数据;在存储的数据分块的数目大于一门限值时将缓存的文件信息区的数据转存到页文件;关闭页文件。

Description

闪存的数据存储方法和装置
技术领域
本发明涉及一种存储器的数据存储技术,尤其涉及一种应用在闪存(Flash)存储器中的数据存储方法和装置。
背景技术
基于P2P网络协议的多媒体点播系统(以下简称P2P点播系统)要求连接到系统中的每个终端,将下载播放的多媒体数据存储在本地的存储设备中,同时把数据共享上传给网络中的其它终端使用;每个终端下载媒体数据时,可以向其它终端请求并获取它们已经下载存储的数据,这样各个终端之间可以进行数据的共享,在极大地降低服务器访问压力的同时,也可以为终端提供高效的流媒体服务。
在以往P2P点播系统的应用中,本地数据通常存储在非易损的硬盘中,然而随着半导体工艺的发展,随着大容量的(存储容量>=1GB)闪存(Flash Memory)(包括U盘、记忆棒、SD卡、SSD固态硬盘等)的出现,它相对于硬盘的便携性为用户在手机、PDA等电子设备上使用存储的多媒体数据提供了便利,因此使用闪存来存储P2P点播系统的本地数据文件的应用也日渐普及。
闪存由于IC制造工艺上的特性,与硬盘可随机读写以及非易损性相比,在使用上有很大的局限性:闪存内部的物理存储单元不支持随机的写操作,而需要按照“写入-擦除-再写入”的逻辑进行,当对某一个存储单元执行一次“写入”操作后,要修改其中的数据,必须做一次“擦除”操作后,才能“再写入”同一个存储单元中;[2].每个物理存储单元在保障稳定的存储数据的前提下,只能够被“擦除”有限的次数(一般,SLC:<100000次,MLC:<10000次),如果一个存储单元的擦写次数超过了这个限定值,该存储单元就不再保证存储数据的正确性,一般称这样情况称为“写坏了”。
通常在使用闪存存储数据前时,会将其格式化为特定的文件系统,这些文件系统除了在存储设备上存储用户可见的媒体数据外,还需要存储被文件系统用来标示文件的系统信息,包括文件名称,存储路径、文件大小、修改时间等信息,每次下载的媒体数据存入到文件中时,除了媒体数据的更新外,相应的文件系统信息也会被更新,就会涉及到对闪存的物理存储单元执行“写入-擦除-再写入”的操作,单个文件的影响比较小,但随着用户点播的媒体文件的增多,这种操作累积所导致对闪存内部的物理存储单元的“擦除”次数变得就不容忽视了,而且用户每点播一部文件,都在存储设备上相应保留一个文件,特别是当用户频繁的切换点播文件时,每个文件下载的数据量很小,但文件数目会变得很大,这样使得管理这些文件变得异常复杂。
如何尽量降低对闪存设备内部的物理存储单元的“擦写”次数,而同时能够高效的管理P2P点播系统中下载的数据,是本技术需要解决的问题。
发明内容
本发明的目的在于解决上述问题,提供了一种闪存的数据存储方法,在极大的减少对闪存设备的“擦写”次数同时,可以为用户提供可靠的P2P点播服务。
本发明的另一目的在于提供了一种闪存的数据存储装置。
本发明的技术方案为:本发明揭示了一种闪存的数据存储方法,包括:
检查页文件是否存在,如果不存在则创建页文件,如果存在则打开页文件;
读取页文件的文件信息区的数据并缓存到客户端的内存;
在客户端点播文件后,从服务器下载数据分块;
将下载到的数据分块存储在客户端,并更新内存中缓存的文件信息区的数据;
在存储的数据分块的数目大于一门限值时将缓存的文件信息区的数据转存到页文件;
关闭页文件。
根据本发明的闪存的数据存储方法的一实施例,客户端点播的文件是视频文件。
根据本发明的闪存的数据存储方法的一实施例,页文件包括文件信息区和数据存储区。
根据本发明的闪存的数据存储方法的一实施例,文件信息区记录页文件中的文件数目、每个文件的文件名称以及文件分块位图。
根据本发明的闪存的数据存储方法的一实施例,数据存储区存储点播下载的各个文件的数据,每个被下载的文件的数据被分配为若干个固定大小的数据分块,按照数据流在文件中的文件偏移依次进行编号。
本发明还揭示了一种闪存的数据存储装置,包括:
页文件打开创建模块,检查页文件是否存在,若存在则创建页文件,若不存在则打开页文件;
文件信息区数据读取模块,读取页文件的文件信息区的数据并缓存到客户端的内存;
数据分块下载模块,在客户端点播文件后从服务器下载数据分块;
文件信息区数据更新模块,在数据分块下载模块将数据存储到客户端时更新内存中缓存的文件信息区的数据;
文件信息区数据转存模块,在存储在客户端的数据分块的数目大于一门限值时将缓存的文件信息区的数据转存到页文件;
页文件关闭模块,关闭页文件。
根据本发明的闪存的数据存储装置的一实施例,该装置设置在视频点播系统中。
根据本发明的闪存的数据存储装置的一实施例,页文件包括文件信息区和数据存储区。
根据本发明的闪存的数据存储装置的一实施例,文件信息区记录页文件中的文件数目、每个文件的文件名称以及文件分块位图。
根据本发明的闪存的数据存储装置的一实施例,数据存储区存储点播下载的各个文件的数据,每个被下载的文件的数据被分配为若干个固定大小的数据分块,按照数据流在文件中的文件偏移依次进行编号。
本发明对比现有技术有如下的有益效果:本发明通过设计了一种页文件(Page File)的数据存储系统来存储管理P2P点播系统的本地数据,并针对闪存设备自身存在有限的“擦写”寿命的缺陷,做了专门的优化。本发明可以为基于闪存的P2P点播系统提供可靠的本地数据存储,为用户提供高效稳定流畅的P2P点播服务。
附图说明
图1示出了本发明的闪存的数据存储方法的实施例的流程图。
图2示出了页文件的一个示例的结构图。
图3示出了页文件存储管理的示意图。
图4示出了本发明的闪存的数据存储装置的实施例的原理图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
闪存的数据存储方法的实施例
图1示出了本发明的闪存的数据存储方法的实施例的流程。请参见图1,下面是对本实施例的闪存的数据存储方法的各个步骤的详细描述。
步骤S100:检查页文件是否存在。如果存在则进入步骤S101,如果不存在则进入步骤S102。
步骤S101:打开页文件,进入步骤S103。
步骤S102:创建页文件,进入步骤S103。
页文件是一种特殊的数据存储方式,用来存储管理所有点播的文件的媒体数据,页文件的文件结构上分为文件信息区和数据存储区,页文件的结构图如图2所示。
页文件的文件信息区用于记录存储在页文件中的文件数目、每个文件的文件名称、以及文件分块位图;数据存储区存储点播下载的各个文件的数据,每个被下载的文件的数据被分配为若干个固定大小的数据分块,按照数据流在文件中的文件偏移依次编号为分块0,1,2,3...N,图3所示为页文件存储管理示例图。
使用这种数据存储管理方式,可以便捷而又高效的管理P2P点播系统中所有下载的媒体文件,同时,通过一个页文件可以操作所有点播的文件,这样降低了文件系统因大量存储文件而频繁的更新文件信息导致的对闪存过多的“擦除”操作。
步骤S103:读取页文件的文件信息区的数据并缓存到内存中。
步骤S104:判断客户端是否点播文件,若在点播文件则进入步骤S105,若不在点播文件则进入步骤S111。
步骤S105:客户端从服务器下载数据分块。
步骤S106:客户端将从服务器上下载而来的数据分块存储在客户端上。
步骤S107:每下载一个数据分块就将连续存储数据分块数增加1。
步骤S108:更新内存中缓存的文件信息数据。
步骤S109:判断记录的连续存储数据分块数是否大于设定的门限值,若大于门限值则进入步骤S110,若不大于门限值则返回步骤S104。
当每一个被点播的文件的数据块存入到页文件的数据存储区中去时,需要更新文件信息的相关信息,以点播100MB的媒体文件为例,数据分块为1MB,需要存储100个分块,那么页文件的文件信息区需要更新100次,而一般媒体文件都在100MB以上,这样随着点播文件数量的增多,文件信息区的更新次数就会增加到很大。如果每次对页文件的文件信息区的更新都直接写入到闪存中,这样就会大量增加对闪存内部的物理存储单元的“擦写”次数,会导致很多存储单元被“写坏了”,为了尽量避免出现这种情况,对页文件的文件信息区更新一般只更新缓存在内存中的信息,只有当连续存储的数据分块数(blknum)超过一个设定的最大门限值(MaxBlocknum)时,才将更新的内容写入到闪存中存储的页文件中去,这样就可极大的减少了对闪存物理单元的“擦写”次数。
步骤S110:将Flash内存中缓存的文件信息区的数据转存到页文件。
步骤S111:关闭页文件。
闪存的数据存储装置的实施例
图4示出了本发明的闪存的数据存储装置的实施例。请参见4,本实施例的闪存的数据存储装置包括页文件打开创建模块10、文件信息区数据读取模块11、数据分块下载模块12、文件信息区数据更新模块13、文件信息区数据转存模块14以及页文件关闭模块15。闪存的数据存储装置在本实施例中是设置在视频点播系统中。
这些模块之间的连接关系是:页文件打开创建模块10的输出端连接文件信息区数据读取模块11,文件信息区数据读取模块11的输出端连接数据分块下载模块12,数据分块下载模块12的输出端连接文件信息区数据更新模块13,文件信息区数据更新模块13的输出端连接文件信息区数据转存模块14,文件信息区数据转存模块14的输出端连接页文件关闭模块15。
本实施例的闪存的数据存储装置的实施原理如下。
页文件打开创建模块10检查页文件是否存在,若存在则创建页文件,若不存在则打开页文件。
页文件是一种特殊的数据存储方式,用来存储管理所有点播的文件的媒体数据,页文件的文件结构上分为文件信息区和数据存储区,页文件的结构图如图2所示。
页文件的文件信息区用于记录存储在页文件中的文件数目、每个文件的文件名称、以及文件分块位图;数据存储区存储点播下载的各个文件的数据,每个被下载的文件的数据被分配为若干个固定大小的数据分块,按照数据流在文件中的文件偏移依次编号为分块0,1,2,3...N,图3所示为页文件存储管理示例图。
使用这种数据存储管理方式,可以便捷而又高效的管理P2P点播系统中所有下载的媒体文件,同时,通过一个页文件可以操作所有点播的文件,这样降低了文件系统因大量存储文件而频繁的更新文件信息导致的对闪存过多的“擦除”操作。
文件信息区数据读取模块11读取页文件的文件信息区的数据并缓存到客户端的内存.
数据分块下载模块12在客户端点播文件后从服务器下载数据分块。
文件信息区数据更新模块13在数据分块下载模块12将数据存储到客户端时更新内存中缓存的文件信息区的数据。
文件信息区数据转存模块14在存储在客户端的数据分块的数目大于一门限值时将缓存的文件信息区的数据转存到页文件。
当每一个被点播的文件的数据块存入到页文件的数据存储区中去时,需要更新文件信息的相关信息,以点播100MB的媒体文件为例,数据分块为1MB,需要存储100个分块,那么页文件的文件信息区需要更新100次,而一般媒体文件都在100MB以上,这样随着点播文件数量的增多,文件信息区的更新次数就会增加到很大。如果每次对页文件的文件信息区的更新都直接写入到闪存中,这样就会大量增加对闪存内部的物理存储单元的“擦写”次数,会导致很多存储单元被“写坏了”,为了尽量避免出现这种情况,对页文件的文件信息区更新一般只更新缓存在内存中的信息,只有当连续存储的数据分块数(blknum)超过一个设定的最大门限值(MaxBlocknum)时,才将更新的内容写入到闪存中存储的页文件中去,这样就可极大的减少了对闪存物理单元的“擦写”次数。
页文件关闭模块15关闭页文件。
上述实施例的提供给本领域普通技术人员来实现和使用本发明的,本领域技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改和变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的全新性特征的最大范围。

Claims (10)

1.一种闪存的数据存储方法,包括:
检查页文件是否存在,如果不存在则创建页文件,如果存在则打开页文件;
读取页文件的文件信息区的数据并缓存到客户端的内存;
在客户端点播文件后,从服务器下载数据分块;
将下载到的数据分块存储在客户端,并更新内存中缓存的文件信息区的数据;
在存储的数据分块的数目大于一门限值时将缓存的文件信息区的数据转存到页文件;
关闭页文件。
2.根据权利要求1所述的闪存的数据存储方法,其特征在于,客户端点播的文件是视频文件。
3.根据权利要求1所述的闪存的数据存储方法,其特征在于,页文件包括文件信息区和数据存储区。
4.根据权利要求3所述的闪存的数据存储方法,其特征在于,文件信息区记录页文件中的文件数目、每个文件的文件名称以及文件分块位图。
5.根据权利要求3所述的闪存的数据存储方法,其特征在于,数据存储区存储点播下载的各个文件的数据,每个被下载的文件的数据被分配为若干个固定大小的数据分块,按照数据流在文件中的文件偏移依次进行编号。
6.一种闪存的数据存储装置,包括:
页文件打开创建模块,检查页文件是否存在,若存在则创建页文件,若不存在则打开页文件;
文件信息区数据读取模块,读取页文件的文件信息区的数据并缓存到客户端的内存;
数据分块下载模块,在客户端点播文件后从服务器下载数据分块;
文件信息区数据更新模块,在数据分块下载模块将数据存储到客户端时更新内存中缓存的文件信息区的数据;
文件信息区数据转存模块,在存储在客户端的数据分块的数目大于一门限值时将缓存的文件信息区的数据转存到页文件;
页文件关闭模块,关闭页文件。
7.根据权利要求6所述的闪存的数据存储装置,其特征在于,该装置设置在视频点播系统中。
8.根据权利要求6所述的闪存的数据存储装置,其特征在于,页文件包括文件信息区和数据存储区。
9.根据权利要求8所述的闪存的数据存储装置,其特征在于,文件信息区记录页文件中的文件数目、每个文件的文件名称以及文件分块位图。
10.根据权利要求8所述的闪存的数据存储装置,其特征在于,数据存储区存储点播下载的各个文件的数据,每个被下载的文件的数据被分配为若干个固定大小的数据分块,按照数据流在文件中的文件偏移依次进行编号。
CN 201110087171 2011-04-08 2011-04-08 闪存的数据存储方法和装置 Active CN102156731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110087171 CN102156731B (zh) 2011-04-08 2011-04-08 闪存的数据存储方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110087171 CN102156731B (zh) 2011-04-08 2011-04-08 闪存的数据存储方法和装置

Publications (2)

Publication Number Publication Date
CN102156731A true CN102156731A (zh) 2011-08-17
CN102156731B CN102156731B (zh) 2013-06-05

Family

ID=44438230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110087171 Active CN102156731B (zh) 2011-04-08 2011-04-08 闪存的数据存储方法和装置

Country Status (1)

Country Link
CN (1) CN102156731B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102870100A (zh) * 2012-06-30 2013-01-09 华为技术有限公司 数据缓存装置、数据存储系统及方法
CN103577453A (zh) * 2012-08-01 2014-02-12 腾讯科技(深圳)有限公司 基于android系统的跟踪导入文件的方法及装置
CN104581421A (zh) * 2014-12-30 2015-04-29 新浪网技术(中国)有限公司 一种点对点流媒体下载方法及节点终端装置
CN110888596A (zh) * 2019-06-25 2020-03-17 北京华虹集成电路设计有限责任公司 一种Flash存储区域的文件擦写方法及装置
CN111061683A (zh) * 2019-12-30 2020-04-24 成都定为电子技术有限公司 一种高速存储和操作数据流的方法与装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007057886A2 (en) * 2005-11-15 2007-05-24 Sandisk Il Ltd. Flash memory device and method
CN101122842A (zh) * 2006-08-08 2008-02-13 群联电子股份有限公司 广义闪存及其方法
CN101458659A (zh) * 2007-12-14 2009-06-17 环达电脑(上海)有限公司 闪存储存系统及其方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007057886A2 (en) * 2005-11-15 2007-05-24 Sandisk Il Ltd. Flash memory device and method
CN101122842A (zh) * 2006-08-08 2008-02-13 群联电子股份有限公司 广义闪存及其方法
CN101458659A (zh) * 2007-12-14 2009-06-17 环达电脑(上海)有限公司 闪存储存系统及其方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102870100A (zh) * 2012-06-30 2013-01-09 华为技术有限公司 数据缓存装置、数据存储系统及方法
CN103577453A (zh) * 2012-08-01 2014-02-12 腾讯科技(深圳)有限公司 基于android系统的跟踪导入文件的方法及装置
CN103577453B (zh) * 2012-08-01 2018-09-07 腾讯科技(深圳)有限公司 基于android系统的跟踪导入文件的方法及装置
CN104581421A (zh) * 2014-12-30 2015-04-29 新浪网技术(中国)有限公司 一种点对点流媒体下载方法及节点终端装置
CN104581421B (zh) * 2014-12-30 2018-05-22 新浪网技术(中国)有限公司 一种点对点流媒体下载方法及节点终端装置
CN110888596A (zh) * 2019-06-25 2020-03-17 北京华虹集成电路设计有限责任公司 一种Flash存储区域的文件擦写方法及装置
CN110888596B (zh) * 2019-06-25 2021-07-09 北京华弘集成电路设计有限责任公司 一种Flash存储区域的文件擦写方法及装置
CN111061683A (zh) * 2019-12-30 2020-04-24 成都定为电子技术有限公司 一种高速存储和操作数据流的方法与装置
CN111061683B (zh) * 2019-12-30 2023-03-21 成都定为电子技术有限公司 一种高速存储和操作数据流的方法与装置

Also Published As

Publication number Publication date
CN102156731B (zh) 2013-06-05

Similar Documents

Publication Publication Date Title
US7610445B1 (en) System and method for improving data integrity and memory performance using non-volatile media
CN102782683B (zh) 用于数据库服务器的缓冲池扩展
EP1782176B1 (en) Systems, methods, computer readable medium and apparatus for memory management using nvram
US9927985B2 (en) Method of dynamic table journaling
CN102156731B (zh) 闪存的数据存储方法和装置
CN102171663A (zh) 管理缓存内容的存储
CN106406753B (zh) 一种数据存储方法及数据存储装置
CN101981551B (zh) 用于高速缓存利用的设备和方法
US11599304B2 (en) Data aggregation in ZNS drive
US20140047164A1 (en) Physically Addressed Solid State Disk Employing Magnetic Random Access Memory (MRAM)
CN101742263A (zh) 一种存储视频监控录像数据的方法
CN101702139B (zh) 一种访问Nand闪存数据的方法和装置
CN101207799A (zh) 一种节目存储方法、系统及节目点播系统
US20090132757A1 (en) Storage system for improving efficiency in accessing flash memory and method for the same
CN102169460A (zh) 变长数据管理方法及装置
CN101561950B (zh) 智能卡的数据处理方法及装置
CN102006506A (zh) 一种视频服务器的分级存储管理方法及装置、视频服务器
CN103823634A (zh) 一种支持无随机写模式的数据处理方法及系统
CN101923513B (zh) 存储器的数据写读方法、系统和flash存储器
CN1963810A (zh) 在Flash存储介质上的关于文件分配表的缓存实现方法
CN110312986A (zh) 用于在固态设备上存储数据的流的机会性使用
CN103488772A (zh) 一种通过外存对文件进行缓存的方法、系统及设备
US11687263B2 (en) Full die recovery in ZNS SSD
CN100555243C (zh) 信息处理装置、图像摄取装置以及信息处理方法
CN101794257B (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
ASS Succession or assignment of patent right

Owner name: BEIJING QIYI CENTURY TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: CHUANJU INTERACTIVE (BEIJING) TECHNOLOGY CO., LTD.

Effective date: 20130830

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100026 CHAOYANG, BEIJING TO: 100080 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20130830

Address after: A city of Beijing Haidian District Haidian North Street 100080 No. 2 building 11 layer Goldtron expansion

Patentee after: Beijing Qiyi Century Technology Co., Ltd.

Address before: 100026 Beijing city Chaoyang District West Road No. 3 Building No. 3 hospital 3002

Patentee before: Transfer Interaction Together (Beijing) Technology Co., Ltd.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160808

Address after: 201103 room 3, building 33, No. 701, Leshan Road, Shanghai

Patentee after: Shanghai Zhongyuan Network Co., Ltd.

Address before: A city of Beijing Haidian District Haidian North Street 100080 No. 2 building 11 layer Goldtron expansion

Patentee before: Beijing Qiyi Century Technology Co., Ltd.