CN107479834A - 一种基于cos的文件存储方法及装置 - Google Patents
一种基于cos的文件存储方法及装置 Download PDFInfo
- Publication number
- CN107479834A CN107479834A CN201710749269.3A CN201710749269A CN107479834A CN 107479834 A CN107479834 A CN 107479834A CN 201710749269 A CN201710749269 A CN 201710749269A CN 107479834 A CN107479834 A CN 107479834A
- Authority
- CN
- China
- Prior art keywords
- data storage
- file
- sector
- filename
- read
- 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
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/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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
- G06F3/0643—Management of files
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于COS的文件存储方法及装置,方法包括:接收文件的存储请求,其中,所述存储请求中包括待存储的数据以及待存储文件的文件名;根据所述待存储文件的文件名在索引表中查找对应的数据存储扇区,其中,索引表中存储有文件名与数据存储扇区间的对应关系,一个文件名对应至少两个数据存储扇区;将所述待存储的数据存储至第一数据存储扇区,其中,所述第一数据存储扇区为上一次执行文件的存储请求时,未进行数据存储的一个数据存储扇区。本发明提供的基于COS的文件存储方法及装置,以扇区划分存储空间,可以避免现有技术中的存储方法造成***的浪费,提高安全芯片的存储性能;并且在不增加写入次数的情况下实现了芯片掉电保护的需求。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于COS的文件存储方法及装置。
背景技术
目前,安全芯片在人们的生活中变得越来越普遍。手机卡、银行卡、水卡、电卡、社保卡、门禁卡甚至是身份证都是安全芯片在不同行业的应用。随着安全芯片使用的增多,其用户数据各有不同,如何分配安全芯片的存储空间也变的越来越重要。
安全芯片是一个软硬结合的嵌入式应用***,与智能卡操作***(ChipOperating System,缩写:COS)配合使用,COS负责管理芯片硬件资源、为芯片使用者提供用户手册规定的各项功能。芯片操作***通常采用分层设计的方法来实现***模块化设计,根据其功能可以划分为四个层次:底层固件、存储管理***、文件***、应用***。底层固件负责实现芯片的物理介质操作,包括存储区读写、中断管理、通信控制、算法实现等功能;文件***负责实现文件的创建、选择、读写、删除等操作;存储管理负责存储区的空间分配和空间回收;应用***包括专有指令***和通用指令***,通用指令是安全芯片在不同应用领域都会使用的指令包括文件创建、选择、读写等,专有指令指不同行业特有的指令例如金融的圈存、圈提命令。
现有的COS,通常采用以C语言编写的小型链式文件***。文件存储方式为按字节划分的数据连续存储。
基于此,本发明的发明人发现,现有技术中的存储方法在删除文件后存储空间会形成空洞,例如,当接收到存储请求后,按字节将存储空间分配给应用后,当应用使用完成后会释放部分空间,如果释放的空间太小,不够别的应用使用,最后会形成无法利用的存储空洞。当大小不同的文件反复创建、删除后整个存储空间会出现许多大大小小无法利用的存储空洞造成***的浪费,严重影响安全芯片的存储性能。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
有鉴于此,本发明要解决的技术问题是,如何提供安全芯片的数据处理方法,以解决现有的现有技术中的数据处理方法,当大小不同的文件反复创建、删除后整个存储空间会出现许多无法利用的存储空洞造成***的浪费的问题。
为解决以上技术问题,本发明在第一方面提供一种基于COS的文件存储方法,包括:接收文件的存储请求,其中,所述存储请求中包括待存储的数据以及待存储文件的文件名;根据所述待存储文件的文件名在索引表中查找对应的数据存储扇区,其中,索引表中存储有文件名与数据存储扇区间的对应关系,一个文件名对应至少两个数据存储扇区;将所述待存储的数据存储至第一数据存储扇区,其中,所述第一数据存储扇区为上一次执行文件的存储请求时,未进行数据存储的一个数据存储扇区。
在一种可能的实现方式中,将所述待存储的数据存储至第一数据存储扇区包括:分别获取与所述待存储文件的文件名对应的多个数据存储扇区的计数值,其中,所述计数值用于指示所述数据存储扇区的存储次数;将计数值最低的数据存储扇区作为第一数据存储扇区,将所述待存储的数据存储至所述第一数据存储扇区;将指示计数值加1,所述指示计数值作为所述第一数据存储扇区的计数值。
在一种可能的实现方式中,所述文件存储方法还包括:接收文件的读取请求,其中,所述读取请求中包括待读取文件的文件名;在所述索引表中查找与所述待读取文件的文件名对应的数据存储扇区;对与所述读取文件的文件名对应的所述数据存储扇区进行CRC校验,将所述CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区作为第二数据存储扇区;读取第二数据存储扇区中的数据。
在一种可能的实现方式中,所述将所述CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区作为第二数据存储扇区包括:当存在多个CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区时,获取与待读取文件的文件名对应的数据存储扇区的计数值;将所述CRC校验正确且计数值最高的与待读取文件的文件名对应的数据存储扇区作为所述第二数据存储扇区。
为解决以上技术问题,本发明在第二方面提供一种基于COS的文件存储装置,包括:接收模块,用于接收文件的存储请求,其中,所述存储请求中包括待存储的数据以及待存储文件的文件名;第一处理模块,用于根据所述待存储文件的文件名在索引表中查找对应的数据存储扇区,其中,索引表中存储有文件名与数据存储扇区间的对应关系,一个文件名对应至少两个数据存储扇区;第二处理模块,用于将所述待存储的数据存储至第一数据存储扇区,其中,所述第一数据存储扇区为上一次执行文件的存储请求时,未进行数据存储的一个数据存储扇区。
在一种可能的实现方式中,所述第二处理模块用于:分别获取与所述待存储文件的文件名对应的多个数据存储扇区的计数值,其中,所述计数值用于指示所述数据存储扇区的存储次数;将计数值最低的数据存储扇区作为第一数据存储扇区,将所述待存储的数据存储至所述第一数据存储扇区;将指示计数值加1,所述指示计数值作为所述第一数据存储扇区的计数值。
在一种可能的实现方式中,所述文件存储装置还包括:接收模块,用于接收文件的读取请求,其中,所述读取请求中包括待读取文件的文件名;第三处理模块,用于在所述索引表中查找与所述待读取文件的文件名对应的数据存储扇区;第四处理模块,用于对与所述读取文件的文件名对应的所述数据存储扇区进行CRC校验,将所述CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区作为第二数据存储扇区;读取模块,用于读取第二数据存储扇区中的数据。
在一种可能的实现方式中,所述第四处理模块用于:当存在多个CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区时,获取与待读取文件的文件名对应的数据存储扇区的计数值;将所述CRC校验正确且计数值最高的与待读取文件的文件名对应的数据存储扇区作为所述第二数据存储扇区。
本发明提供的基于COS的文件存储方法及装置,通过接收文件的存储请求,其中,所述存储请求中包括待存储的数据以及待存储文件的文件名,根据所述待存储文件的文件名在索引表中查找对应的数据存储扇区,其中,索引表中存储有文件名与数据存储扇区间的对应关系,一个文件名对应至少两个数据存储扇区,将所述待存储的数据存储至第一数据存储扇区,以扇区划分存储空间,可以避免现有技术中的存储方法产生无法利用的空洞造成***的浪费,提高安全芯片的存储性能。
进一步地,相比于现有的多次写入的掉电保护写入方法,本发明提供的基于COS的文件存储方法及装置执行一次写操作只写一次数据区,不用备份写数据加快了芯片的写入速度,同时由于采用分散写入,使得存储器寿命延长一倍,在不增加写入次数的情况下实现了芯片掉电保护的需求。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1示出本发明一实施例提供的基于COS的文件存储方法的流程图;
图2示出本发明另一实施例提供的基于COS的文件存储方法的流程图;
图3示出本发明又一实施例提供的基于COS的文件存储方法的流程图;
图4示出本发明一实施例提供的基于COS的文件存储装置的结构示意图;
图5示出本发明另一实施例提供的基于COS的文件存储装置的结构示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件未作详细描述,以便于凸显本发明的主旨。
实施例1
本实施例中通过在卡片操作***中设置空间管理表,记录扇区的使用状态。以逻辑扇区作为文件空间管理的基本单位,当文件大小小于一个山区的存储空间时,也占用一个扇区的存储空间。避免了现有技术中,当大小不同的文件反复创建、删除后整个存储空间会出现许多大大小小无法利用的存储空洞的问题。
具体的,以FLASH芯片为例,如果扇区大小为256字节。空间管理表占用1个扇区,前两个字节表示全部可用扇区的总数。最后两个字节表示下一个空间管理表的扇区号。这样一个空间管理表可以管理252个扇区,共计64k空间。空间管理表中每个字节对于一个物理扇区,如果字节为0x55表示该扇区已经使用,如果扇区没有被使用则值为0xFF。文件结束标志则融合到文件数据扇区中作为扇区数据的一部分而存在。
***新建文件进行空间分配时只需要在上表中检索内容为0xFF的字节,将扇区号填入目录索引表的起始扇区将空间分配表对应字节写为0x55。同样释放空间时需要将对应扇区内容初始化为0xFF。
卡片初始化时会将某个扇区保留为空间管理表,填入总的扇区数量并将其他字节填充为0xFF,视***需要建立后继数据的链表关系。当安全芯片建立文件时***会在空间管理表中检索有效记录,同时改写扇区记录的有效标志。
应用流程中对文件的操作将不会再影响空间管理表,当然如果有应用需要文件大小动态增长时,存储管理***还会在空间管理表中为该文件寻找新的空闲记录以适应应用需求。
具体地,智能卡文件一般由文件头和文件体两部分组成。其中文件头包含文件的概要信息,文件体保存文件的数据。文件头一般包含文件名、文件ID、安全属性、大小、文件类型等信息,文件头的作用是提供必要信息使应用可以快速遍历查询文件、验证文件相关安全属性,同时文件头还要提供文件体地址,父目录地址等信息供应用读取文件数据或者文件目录回退。
图1示出本发明一实施例提供的基于COS的文件存储方法的流程图,如图1所示,该方法包括:
步骤S1,接收文件的存储请求,其中,所述存储请求中包括待存储的数据以及待存储文件的文件名。
具体地,卡片操作***接收读写设备发送的文件的存储请求。
步骤S2,根据所述待存储文件的文件名在索引表中查找对应的数据存储扇区,其中,索引表中存储有文件名与数据存储扇区间的对应关系,一个文件名对应至少两个数据存储扇区。
卡片操作***中存储有索引表,该索引表在卡片出厂时创建。索引表中具体存储有标识文件名的文件头,以及与每一个文件对应的多个起始的数据存储扇区号。
创建过程包括:当***要新建一个文件时,首先需要在当前索引表中检索是否文件已经存在,如果不存在则在空间管理表中查找空闲扇区。找到后在索引表中找到空闲节点,将待建文件的关键信息组织成文件头记录填入空闲节点。在空间管理表中找到的空闲扇区号填入索引表中的起始的数据存储扇区。
步骤S3,将所述待存储的数据存储至第一数据存储扇区,其中,所述第一数据存储扇区为上一次执行文件的存储请求时,未进行数据存储的一个数据存储扇区。
具体地,当当前的存储请求为该文件的第一次执行的存储请求时,可以根据预设规则或者随机对索引表中存与文件名对应的数据存储扇区进行选择。当当前的存储请求为该文件的非第一次执行的存储请求时,选择上一次执行文件的存储请求时,未进行数据存储的一个扇区进行数据存储。
由此,本实施例提供的基于COS的文件存储方法,通过接收文件的存储请求,其中,所述存储请求中包括待存储的数据以及待存储文件的文件名,根据所述待存储文件的文件名在索引表中查找对应的数据存储扇区,其中,索引表中存储有文件名与数据存储扇区间的对应关系,一个文件名对应至少两个数据存储扇区,将所述待存储的数据存储至第一数据存储扇区,以扇区划分存储空间,可以避免现有技术中的存储方法产生无法利用的空洞造成***的浪费,提高安全芯片的存储性能。
进一步地,相比于现有的掉电保护写入方法,本实施例提供的基于COS的文件存储方法执行一次写操作只写一次数据区,不用备份写数据加快了芯片的写入速度,同时由于采用分散写入,使得存储器寿命延长一倍,在不增加写入次数的情况下实现了芯片掉电保护的需求。
实施例2
本实施例在实施例一的基础上,对步骤S3进行进一步限定,通过设置计数器方式,实现上一次执行文件的存储请求时,未进行数据存储的一个扇区的选择。具体地,可以在每一个数据存储扇区中设置计数位,存储有指示存储次数的计数值来实现。
图2示出本发明另一实施例提供的基于COS的文件存储方法的流程图,如图2所示,本实施例提供的方法包括:
步骤S1,接收文件的存储请求,其中,所述存储请求中包括待存储的数据以及待存储文件的文件名。
具体地,卡片操作***接收读写设备发送的文件的存储请求。
步骤S2,根据所述待存储文件的文件名在索引表中查找对应的数据存储扇区,其中,索引表中存储有文件名与数据存储扇区间的对应关系,一个文件名对应至少两个数据存储扇区。
卡片操作***中存储有索引表,该索引表在卡片出厂时创建。索引表中具体存储有标识文件名的文件头,以及与每一个文件对应的多个起始的数据存储扇区。
步骤S31,分别获取与所述待存储文件的文件名对应的多个数据存储扇区的计数值,其中,所述计数值用于指示所述数据存储扇区的存储次数。
步骤S32,将计数值最低的数据存储扇区作为第一数据存储扇区,将所述待存储的数据存储至所述第一数据存储扇区。
步骤S33,将指示计数值加1,所述指示计数值作为所述第一数据存储扇区的计数值。
其中,指示计数值可以设置为与每个文件名对应的计数值,也可以设置为存储区中公用的计数值。当指示计数值为与每个文件名对应时,当该文件发生数据存储后指示计数值加1,并对进行该文件存储的数据存储扇区的计数值赋值。当指示计数值为存储区中公用的计数值时,当该存储区发生数据存储后指示计数值加1,并对进行存储的数据存储扇区的计数值赋值。具体地,每一个数据存储扇区中存储有指示存储次数的计数值。计数值最低的数据存储扇区说明存储数据的次数最少,也就是最旧的数据。因此在执行数据存储的时候,优先选择存储最旧的数据的数据存储扇区。
由此,通过分别获取与所述待存储文件的文件名对应的多个数据存储扇区的计数值,将计数值最低的数据存储扇区作为第一数据存储扇区,将所述待存储的数据存储至所述第一数据存储扇区,将指示计数值加1,所述指示计数值作为所述第一数据存储扇区的计数值,来实现上一次执行文件的存储请求时,未进行数据存储的一个扇区的选择,可以避免现有技术中的存储方法产生无法利用的空洞造成***的浪费,提高安全芯片的存储性能。
实施例3
本实施例在上述实施例的基础上,在数据存储扇区中存储有指示存储次数的计数值。图3示出本发明又一实施例提供的基于COS的文件存储方法的流程图,如图3所示,本实施例提供的方法包括:
步骤S4,接收文件的读取请求,其中,所述读取请求中包括待读取文件的文件名。
步骤S5,在所述索引表中查找与所述待读取文件的文件名对应的数据存储扇区。
其中,索引表中存储有文件名与数据存储扇区间的对应关系,一个文件名对应至少两个数据存储扇区。
步骤S6,对与所述读取文件的文件名对应的所述数据存储扇区进行CRC校验,将所述CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区作为第二数据存储扇区。
具体地,在步骤S3中,还可以包括:计算第一数据存储扇区的CRC值,并将CRC值存储在第一数据存储扇区中。CRC校验方法包括:当接收到读取请求时,计算该读取请求的CRC,并与第一数据存储扇区的CRC进行对比,若相同则CRC校验正确。
其中,CRC校验是数据是否完整写入的标记,CRC校验不正确说明数据存储扇区没有写入完成,可能在数据的存储过程中发生了掉电。
步骤S7,读取第二数据存储扇区中的数据。
由此,通过接收文件的读取请求,在所述索引表中查找与所述待读取文件的文件名对应的数据存储扇区,对与所述读取文件的文件名对应的所述数据存储扇区进行CRC校验,将所述CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区作为第二数据存储扇区,读取第二数据存储扇区中的数据,可以实现读取完整写入的数据,避免在掉电情况下数据未完整写入时,不完整数据的读取,提高了安全芯片的可靠性。
进一步地,步骤S6可以包括:
当存在多个CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区时,获取与待读取文件的文件名对应的数据存储扇区的计数值;
将所述CRC校验正确且计数值最高的与待读取文件的文件名对应的数据存储扇区作为所述第二数据存储扇区。
具体地,当存在多个CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区时,读取计数值最高的也就是最新存储数据的数据存储扇区中的数据。
由此,通过当存在多个CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区时,获取与待读取文件的文件名对应的数据存储扇区的计数值;将所述CRC校验正确且计数值最高的与待读取文件的文件名对应的数据存储扇区作为所述第二数据存储扇区,可以实现读取最新的且完整写入的数据,进一步提高了安全芯片的可靠性。
实施例4
图4示出本发明一实施例提供的基于COS的文件存储装置的结构示意图,如图4所示,本实施例提供的装置10包括:
接收模块1,用于接收文件的存储请求,其中,所述存储请求中包括待存储的数据以及待存储文件的文件名;
第一处理模块2,用于根据所述待存储文件的文件名在索引表中查找对应的数据存储扇区,其中,索引表中存储有文件名与数据存储扇区间的对应关系,一个文件名对应至少两个数据存储扇区;
第二处理模块3,用于将所述待存储的数据存储至第一数据存储扇区,其中,所述第一数据存储扇区为上一次执行文件的存储请求时,未进行数据存储的一个数据存储扇区。
由此,本实施例提供的基于COS的文件存储方法,通过接收文件的存储请求,其中,所述存储请求中包括待存储的数据以及待存储文件的文件名,根据所述待存储文件的文件名在索引表中查找对应的数据存储扇区,其中,索引表中存储有文件名与数据存储扇区间的对应关系,一个文件名对应至少两个数据存储扇区,将所述待存储的数据存储至第一数据存储扇区,以扇区划分存储空间,可以避免现有技术中的存储方法产生无法利用的空洞造成***的浪费,提高安全芯片的存储性能。
进一步地,相比于现有的掉电保护写入方法,本实施例提供的基于COS的文件存储方法执行一次写操作只写一次数据区,不用备份写数据加快了芯片的写入速度,同时由于采用分散写入,使得存储器寿命延长一倍。
进一步地,所述第二处理模块3用于:分别获取与所述待存储文件的文件名对应的多个数据存储扇区的计数值,其中,所述计数值用于指示所述数据存储扇区的存储次数;将计数值最低的数据存储扇区作为第一数据存储扇区,将所述待存储的数据存储至所述第一数据存储扇区;将指示计数值加1,所述指示计数值作为所述第一数据存储扇区的计数值。
由此,通过在数据存储扇区中存储有指示存储次数的计数值,分别获取与所述待存储文件的文件名对应的多个数据存储扇区的计数值,将计数值最低的数据存储扇区作为第一数据存储扇区,将所述待存储的数据存储至所述第一数据存储扇区,将所述第一数据存储扇区中的计数值加1,来实现上一次执行文件的存储请求时,未进行数据存储的一个扇区的选择,可以避免现有技术中的存储方法产生无法利用的空洞造成***的浪费,提高安全芯片的存储性能。
进一步地,相比于现有的掉电保护写入装置,本实施例提供的基于COS的文件存储方法及装置执行一次写操作只写一次数据区,不用备份写数据加快了芯片的写入速度,同时由于采用分散写入,使得存储器寿命延长一倍,在不增加写入次数的情况下实现了芯片掉电保护的需求。
实施例5
本实施例在实施例4的基础上,进行进一步限定。图5示出本发明另一实施例提供的基于COS的文件存储装置的结构示意图,如图5所示,本实施例提供的装置还包括:
接收模块4,用于接收文件的读取请求,其中,所述读取请求中包括待读取文件的文件名;
第三处理模块5,用于在所述索引表中查找与所述待读取文件的文件名对应的数据存储扇区;
第四处理模块6,用于对与所述读取文件的文件名对应的所述数据存储扇区进行CRC校验,将所述CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区作为第二数据存储扇区;
读取模块7,用于读取第二数据存储扇区中的数据。
具体地,在步骤S3中,还可以包括:计算第一数据存储扇区的CRC值,并将CRC值存储在第一数据存储扇区中。CRC校验方法包括:当接收到读取请求时,计算该读取请求的CRC,并与第一数据存储扇区的CRC进行对比,若相同则CRC校验正确。
其中,CRC校验是数据是否完整写入的标记,CRC校验不正确说明数据存储扇区没有写入完成,可能在数据的存储过程中发生了掉电。
由此,通过接收文件的读取请求,在所述索引表中查找与所述待读取文件的文件名对应的数据存储扇区,对与所述读取文件的文件名对应的所述数据存储扇区进行CRC校验,将所述CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区作为第二数据存储扇区,读取第二数据存储扇区中的数据,可以实现读取完整写入的数据,避免在掉电情况下数据未完整写入时,不完整数据的读取,提高了安全芯片的可靠性。
进一步地,所述第四处理模块6用于:当存在多个CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区时,获取与待读取文件的文件名对应的数据存储扇区的计数值;将所述CRC校验正确且计数值最高的与待读取文件的文件名对应的数据存储扇区作为所述第二数据存储扇区。
由此,通过当存在多个CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区时,获取与待读取文件的文件名对应的数据存储扇区的计数值;将所述CRC校验正确且计数值最高的与待读取文件的文件名对应的数据存储扇区作为所述第二数据存储扇区,可以实现读取最新的且完整写入的数据,进一步提高了安全芯片的可靠性。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
Claims (8)
1.一种基于COS的文件存储方法,其特征在于,包括:
接收文件的存储请求,其中,所述存储请求中包括待存储的数据以及待存储文件的文件名;
根据所述待存储文件的文件名在索引表中查找对应的数据存储扇区,其中,索引表中存储有文件名与数据存储扇区间的对应关系,一个文件名对应至少两个数据存储扇区;
将所述待存储的数据存储至第一数据存储扇区,其中,所述第一数据存储扇区为上一次执行文件的存储请求时,未进行数据存储的一个数据存储扇区。
2.根据权利要求1所述的文件存储方法,其特征在于,将所述待存储的数据存储至第一数据存储扇区包括:
分别获取与所述待存储文件的文件名对应的多个数据存储扇区的计数值,其中,所述计数值用于指示所述数据存储扇区的存储次数;
将计数值最低的数据存储扇区作为第一数据存储扇区,将所述待存储的数据存储至所述第一数据存储扇区;
将指示计数值加1,所述指示计数值作为所述第一数据存储扇区的计数值。
3.根据权利要求2所述的文件存储方法,其特征在于,文件存储方法还包括:
接收文件的读取请求,其中,所述读取请求中包括待读取文件的文件名;
在所述索引表中查找与所述待读取文件的文件名对应的数据存储扇区;
对与所述读取文件的文件名对应的所述数据存储扇区进行CRC校验,将所述CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区作为第二数据存储扇区;
读取第二数据存储扇区中的数据。
4.根据权利要求3所述的文件存储方法,其特征在于,所述将所述CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区作为第二数据存储扇区包括:
当存在多个CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区时,获取与待读取文件的文件名对应的数据存储扇区的计数值;
将所述CRC校验正确且计数值最高的与待读取文件的文件名对应的数据存储扇区作为所述第二数据存储扇区。
5.一种基于COS的文件存储装置,其特征在于,包括:
接收模块,用于接收文件的存储请求,其中,所述存储请求中包括待存储的数据以及待存储文件的文件名;
第一处理模块,用于根据所述待存储文件的文件名在索引表中查找对应的数据存储扇区,其中,索引表中存储有文件名与数据存储扇区间的对应关系,一个文件名对应至少两个数据存储扇区;
第二处理模块,用于将所述待存储的数据存储至第一数据存储扇区,其中,所述第一数据存储扇区为上一次执行文件的存储请求时,未进行数据存储的一个数据存储扇区。
6.根据权利要求5所述的文件存储装置,其特征在于,所述第二处理模块用于:
分别获取与所述待存储文件的文件名对应的多个数据存储扇区的计数值,其中,所述计数值用于指示所述数据存储扇区的存储次数;
将计数值最低的数据存储扇区作为第一数据存储扇区,将所述待存储的数据存储至所述第一数据存储扇区;
将指示计数值加1,所述指示计数值作为所述第一数据存储扇区的计数值。
7.根据权利要求6所述的文件存储装置,其特征在于,所述文件存储装置还包括:
接收模块,用于接收文件的读取请求,其中,所述读取请求中包括待读取文件的文件名;
第三处理模块,用于在所述索引表中查找与所述待读取文件的文件名对应的数据存储扇区;
第四处理模块,用于对与所述读取文件的文件名对应的所述数据存储扇区进行CRC校验,将所述CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区作为第二数据存储扇区;
读取模块,用于读取第二数据存储扇区中的数据。
8.根据权利要求7所述的文件存储装置,其特征在于,所述第四处理模块用于:当存在多个CRC校验正确的且与所述待读取文件的文件名对应的数据存储扇区时,获取与待读取文件的文件名对应的数据存储扇区的计数值;
将所述CRC校验正确且计数值最高的与待读取文件的文件名对应的数据存储扇区作为所述第二数据存储扇区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710749269.3A CN107479834A (zh) | 2017-08-28 | 2017-08-28 | 一种基于cos的文件存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710749269.3A CN107479834A (zh) | 2017-08-28 | 2017-08-28 | 一种基于cos的文件存储方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107479834A true CN107479834A (zh) | 2017-12-15 |
Family
ID=60603780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710749269.3A Pending CN107479834A (zh) | 2017-08-28 | 2017-08-28 | 一种基于cos的文件存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107479834A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109215171A (zh) * | 2018-08-20 | 2019-01-15 | 深圳市长龙铁路电子工程有限公司 | 一种机车信号设备数据记录的存储方法 |
CN109542912A (zh) * | 2018-12-04 | 2019-03-29 | 北京锐安科技有限公司 | 区间数据存储方法、装置、服务器及存储介质 |
CN110262980A (zh) * | 2019-06-17 | 2019-09-20 | 吉林大学 | 基于有限寿命存储介质的高速存储*** |
CN112817527A (zh) * | 2021-01-21 | 2021-05-18 | 深圳市显控科技股份有限公司 | 掉电数据存储方法、单片机及计算机可读存储介质 |
CN114153400A (zh) * | 2021-12-08 | 2022-03-08 | 国仪石油技术(无锡)有限公司 | 一种用于测井仪器中的数据存储方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042696A (zh) * | 2006-03-23 | 2007-09-26 | 北京握奇数据***有限公司 | 智能卡存储***及该***中文件创建管理的方法 |
CN101997918A (zh) * | 2010-11-11 | 2011-03-30 | 清华大学 | 异构san环境中的海量存储资源按需分配的实现方法 |
CN104572681A (zh) * | 2013-10-17 | 2015-04-29 | 北京同方微电子有限公司 | 一种基于注册表的智能卡文件管理***及其管理方法 |
CN105446894A (zh) * | 2014-08-20 | 2016-03-30 | 华为技术有限公司 | 一种写均衡的处理方法和装置 |
CN105677383A (zh) * | 2015-12-28 | 2016-06-15 | 北京华大智宝电子***有限公司 | 一种智能卡数据更新方法 |
US20160313926A1 (en) * | 2014-12-03 | 2016-10-27 | Commvault Systems, Inc. | Defensible pruning |
-
2017
- 2017-08-28 CN CN201710749269.3A patent/CN107479834A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042696A (zh) * | 2006-03-23 | 2007-09-26 | 北京握奇数据***有限公司 | 智能卡存储***及该***中文件创建管理的方法 |
CN101997918A (zh) * | 2010-11-11 | 2011-03-30 | 清华大学 | 异构san环境中的海量存储资源按需分配的实现方法 |
CN104572681A (zh) * | 2013-10-17 | 2015-04-29 | 北京同方微电子有限公司 | 一种基于注册表的智能卡文件管理***及其管理方法 |
CN105446894A (zh) * | 2014-08-20 | 2016-03-30 | 华为技术有限公司 | 一种写均衡的处理方法和装置 |
US20160313926A1 (en) * | 2014-12-03 | 2016-10-27 | Commvault Systems, Inc. | Defensible pruning |
CN105677383A (zh) * | 2015-12-28 | 2016-06-15 | 北京华大智宝电子***有限公司 | 一种智能卡数据更新方法 |
Non-Patent Citations (1)
Title |
---|
赵敬等: "《操作***》", 31 August 2007, 北京:中国铁道出版社 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109215171A (zh) * | 2018-08-20 | 2019-01-15 | 深圳市长龙铁路电子工程有限公司 | 一种机车信号设备数据记录的存储方法 |
CN109542912A (zh) * | 2018-12-04 | 2019-03-29 | 北京锐安科技有限公司 | 区间数据存储方法、装置、服务器及存储介质 |
CN109542912B (zh) * | 2018-12-04 | 2020-10-30 | 北京锐安科技有限公司 | 区间数据存储方法、装置、服务器及存储介质 |
CN110262980A (zh) * | 2019-06-17 | 2019-09-20 | 吉林大学 | 基于有限寿命存储介质的高速存储*** |
CN112817527A (zh) * | 2021-01-21 | 2021-05-18 | 深圳市显控科技股份有限公司 | 掉电数据存储方法、单片机及计算机可读存储介质 |
CN112817527B (zh) * | 2021-01-21 | 2024-06-04 | 深圳市显控科技股份有限公司 | 掉电数据存储方法、单片机及计算机可读存储介质 |
CN114153400A (zh) * | 2021-12-08 | 2022-03-08 | 国仪石油技术(无锡)有限公司 | 一种用于测井仪器中的数据存储方法 |
CN114153400B (zh) * | 2021-12-08 | 2024-01-30 | 国仪石油技术(无锡)有限公司 | 一种用于测井仪器中的数据存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107479834A (zh) | 一种基于cos的文件存储方法及装置 | |
CN100419713C (zh) | 对大容量存储器储存装置进行分割的方法 | |
US7146455B2 (en) | System and method for optimized access to memory devices requiring block writing | |
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
JP2008041108A (ja) | ファイルシステムにおけるオブジェクトの効率的な記憶 | |
CN108733309B (zh) | 存储管理方法、设备和计算机可读介质 | |
CN109669622B (zh) | 一种文件管理方法、文件管理装置、电子设备及存储介质 | |
CN101344861B (zh) | 一种智能卡内存管理方法 | |
CN103092687B (zh) | 一种应用程序管理装置和方法 | |
US6505213B1 (en) | File management apparatus and method | |
CN102541969B (zh) | 基于fat文件***的文件保护方法、***及存储器 | |
US6967869B1 (en) | Method and device to improve USB flash write performance | |
US20180196598A1 (en) | Memory control scheme for flash memory devices | |
CN106354718B (zh) | 用户识别模块的文件管理方法及装置 | |
CN107148612A (zh) | 一种扩展用户分区的方法和装置 | |
CN111435286A (zh) | 一种数据存储方法、装置和*** | |
CN101777077B (zh) | 嵌入式设备文件***实现方法 | |
CN110795031A (zh) | 一种基于全闪存储的数据重删方法、装置和*** | |
CN109582235A (zh) | 管理元数据存储方法及装置 | |
CN112597102B (zh) | 一种高效的镜像文件***实现方法 | |
CN109669623A (zh) | 一种文件管理方法、文件管理装置、电子设备及存储介质 | |
KR101669762B1 (ko) | 비휘발성 메모리의 메모리 누수 복구 방법 및 장치 | |
CN107526814A (zh) | 移动终端文件存储方法及装置 | |
CN110008183B (zh) | 一种智能卡文件***的文件搜索方法 | |
CN112015672A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171215 |