主要服务项目
如何申请专利

技术交底书模板-数据存储

(一)技术交底书的要求:
□应清楚、完整地写明发明或实用新型的内容;
□使所属技术领域的普通技术人员能够根据此内容实施发明创造;
□使上述人员相信本发明确实可以解决现有技术不能解决的问题。
(二)技术交底书的具体样本如下:
 1)发明创造的名称:

存储器的数据写读方法、系统和FLASH存储器

 2)所属技术领域:
技术领域:
      本发明涉及数据存储领域,特别是涉及一种存储器的数据写读方法、系统和FLASH存储器。
 3)背景技术
      3.1)详细介绍技术背景,并描述申请人所知的与发明方案最接近的已有技术(应详细介绍,以不需再去看文献即可领会该技术内容为准,如果现有技术出自专利、期刊、书籍,则提供出处);
      3.2)对现有技术存在的缺点进行客观的评述(现有技术的缺点是针对于本发明的优点来说的;如果找不出对比技术方案及其缺点,可用反推法,根据本发明的优点来找对应的缺点;本发明不能解决的缺点,不需提供;缺点可以是成本高、处理时间慢等类似问题)。
背景技术:
      目前,为了提高存储器的使用寿命和性能,对存储器进行分页管理,例如中国发明专利公开说明书CN101174244就公开了一种“智能卡FLASH存储器动态管理方法”,该方法将FLASH平均分成若干个页进行管理,将应用中频繁操作的数据源滚动存储,以减少对同一页数据的频繁擦写,从而延长FLASH存储器的使用寿命。
       但该方法中每一个页的容量固定大小,而用户存储数据的大小可能会不断变化,如机顶盒的频道数据,随着运营商运营的节目数的变化,其频道列表数据也会不断变化。若每页的大小固定,则每页的存储空间设置得不能太小,否则,会导致用户数据不能完全保存同一页中;但如果每页存储空间太大,则可能造成存储器空间浪费,一次擦除后的可写入次数受到限制,因此会增大存储器的擦除次数,增大损耗。
 4)发明内容
      4.1)正面描述本发明所要解决的技术问题(对应现有技术的所有缺点;本发明解决不了的,不需提供);
      4.2)清楚完整的叙述发明创造的技术方案,应结合工艺流程图、原理框图、电路图、仿真图、布局图、设备结构图进行说明(越详细越好,可与第6部分合写;发明中每一功能的实现都要有相应的技术实现方案,不能只有原理,也不能只做功能介绍;需要详细提供与现有技术的区别技术和关联技术;每个附图都应有对应的文字描述,以他人不看附图即可明白技术方案为准;所有英文缩写都应中文注释):
      对于机械产品的发明创造应详细说明每一个结构零部件的形状、构造、部件之间的连接关系、空间位置关系、工作原理等;
      对于电器产品应描述电器元件的组成、连接关系;
      对于无固定形状和结构的产品,如粉状或流体产品、化学品、药品,应描述其组分及其含量、制造工艺条件和工艺流程等;
      对于方法发明,应描述操作步骤、工艺参数等;
      4.3)简单点明本发明的关键点和欲保护点(逐项列出1、2、3、、、),并简单介绍与最好的现有技术相比,本发明有何优点(一两个自然段即可;结合技术方案来描述,做到有理有据,即用推理或因果关系的方式推理说明;可以对应所要解决的技术问题或发明目的来描述)。
发明内容:
      本发明所要解决的技术问题是提供一种存储器的数据写读方法、系统以及一种FLASH存储器,以实现根据每次存储的数据的大小对存储器进行动态分页。
      本发明的技术问题之一通过以下技术方案予以解决:
      一种存储器的数据写读方法,包括数据的写入和数据的读取,其特征在于,所述数据的写入包括以下步骤:
      A、添加数据结构头:在写入数据中加入数据结构头组成数据包,所述数据结构头包括数据标识和数据长度,所述数据长度的取值为所述数据包的总长度; B、查找写入地址:b1、从存储器的数据读写首地址读取与所述数据标识相同字节数的数据;b2、判断该数据的取值是否与数据标识相同,若判断结果为否,则输出此处的数据读写地址为数据写入地址;若判断结果为是,则偏移此处所存数据包的数据结构头中所包括的数据长度的取值,并从偏移后的地址读取与数据标识相同字节数的数据,重复步骤b2; C、写入数据包:将所述数据包写入所述数据写入地址。
      在一些数字电视接收终端设备中,例如机顶盒,在每次数字电视节目更新时需要将新的节目信息存入内部存储器中,而在机顶盒运行时设备只需要读取最后一次存入内部存储器中的节目信息表,即最后一次存入的数据包,因此在实践当中,所述数据读取可以包括以下步骤:D、查找读取地址:d1、从存储器的数据读写首地址读取与所述数据标识相同字节数的数据;d2、判断该数据的取值是否与数据标识相同,若判断结果为是,则偏移此处所存数据包的数据结构头中所包括的数据长度的取值,并从偏移后的地址读取与数据标识相同字节数的数据,重复步骤d2;若判断结果为否,则输出最后一次偏移前的地址为数据读取地址。E、读取数据:从所述数据读取地址读取数据。上述方案应用于数字电视终端设备中,能够根据数字电视终端设备的数据读写特点,通过对传统存储器读写数据寻址步骤的改变,能够提高对设备中存储器的空间利用率。
      优选地,为了节省存储空间,采用压缩算法对欲写入数据进行压缩;所述步骤E包括:采用对应的解压缩算法对读取的数据进行解压缩。在数据读取的时候,采用对应的解压算法对数据包进行解压缩。
      优选地,所述步骤B还包括:b3、若查找写入地址失败,则擦除所述存储器,将所述存储器的数据读写首地址作为数据写入地址,所述查找写入地址失败是指所述步骤b2中所有判断结果均为是。
      结合存储器的特点,所述数据标识的字节数(即取值的长度)为8字节或16字节或更长,容量较小的存储器可以采用8字节以节省空间,容量较大的存储器可适当采用16字节或更长以保证标识数据的作用。
      本发明的技术问题还通过以下技术方案予以实现:
一种存储器的数据写读系统,包括:数据处理模块,用于在欲写入数据中加入数据结构头组成数据包,所述数据结构头包括数据标识和数据长度,所述数据长度的取值为所述数据包的总长度;写读执行模块:用于将所述数据包写入存储器和从FLASH存储其中读取数据包;写读控制模块,用于通过所述数据结构头控制所述写读执行模块的写读地址。
      优选地,所述写读控制模块包括:写入地址控制模块:用于在数据写入时执行下述步骤:g1:从存储器的数据读写首地址读取与所述数据标识相同字节数的数据;g2、判断该数据的取值是否与数据标识相同,若判断结果为否,则控制所述写读执行模块以此处的数据读写地址为数据写入地址;若判断结果为是,则偏移此处所存数据包的数据结构头中所包括的数据长度的取值,并从偏移后的地址读取与数据标识相同长度的数据,重复步骤g2。
      优选地,所述写读控制模块还包括:读取地址控制模块:用于在数据读取时执行下述步骤:查找读取地址:h1、从存储器的数据读写首地址读取与所述数据标识相同长度的数据;h2、判断所读取的数据的取值是否与数据标识相同,若判断结果为是,则偏移此处所存数据包的数据结构头中所包括的数据长度的取值,并从偏移后的地址读取与数据标识相同长度的数据,重复步骤h2;若判断结果为否,则控制所述写读执行模块以最后一次偏移前的地址为数据读取地址。
      优选地,所述数据处理模块还包括压缩模块:用于在数据写入时对欲写入数据进行压缩,在数据读取时进行对应的解压缩。
本发明的技术问题还通过以下技术方案予以实现:一种存储器,其特征在于,包括前述的任意一种数据写读系统。
      与现有技术相比,本发明的存储器的数据写读方法、系统通过在欲写入数据中加入一个数据结构头,根据所述数据结构头中的数据标识和数据长度进行写入的寻址,从一个数据包的写入起点偏移该数据的数据长度后便是下一个数据的存储起点地址,从而相邻的数据包之间不存在存储空间的浪费,相当于根据每次写入数据包的大小对存储器进行动态分页,从而解决了固定大小分页时,小数据写入时浪费存储空间,从而导致存储器擦除后的可写入次数减少,进而导致擦除次数增加,损耗严重的问题,本发明的F存储器的数据写读方法具有提高存储器使用效率,降低存储器擦除次数的有益效果。本发明的FLASH存储器采用了前述的数据读写管理系统,因此也具有空间利用率高、损耗低的特点。
 5)附图:实用新型专利必须提供附图,附图中构成件可以有标记,尺寸和参数不必标注。
附图说明:
      图1是本发明具体实施方式数据写入流程示意图;
      图2是本发明具体实施方式数据读取流程示意图。
 6)优选具体实施方式(可与第4部分合写;尽量写明所有同样能完成发明目的的替代方案,所述替代可以是部分结构、器件、方法步骤的替代,也可以是完整的技术方案):
      对于产品发明应描述产品构成、电路构成或者化学成分、各部分之间的相互关系、工作过程或操作步骤;对于方法发明应写明步骤、参数、工艺条件等,可提供多个具体实施方式。
具体实施方式:
      为更加充分的公开本发明的技术方案,下面结合具体实施方式对本发明的技术方案进行阐述。
      本具体实施方式为一种FLASH存储器(但本发明的数据写读方法和系统的应用领域并不限定于FLASH存储器,同样可以应用于其他类似的非易失性存储器),包括数据写读系统,所述数据写读系统包括数据处理模块、写读执行模块和写读控制模块,所述写读控制模块包括写入地址控制模块和读取地址控制模块。
      为了实现根据存入数据的长度来动态的分配FLASH页的容量大小,当有数据Data欲写入存储器时,首先通过所述数据处理模块在欲写入数据Data中加上数据结构头strcuct TagFlashHead{
      int TYPE;     /* 数据起点标识 */
      int LENGTH;  /* 数据长度 */
      };所述数据结构头和所述数据Data组成写数据包Data1,其中TYPE 域为标识数据的起始标志,LENGTH域用来标识当前写数据包Datal的总长度。本实施方式的FLASH存储器的数据写入包括以下步骤:(如图1所示,为本实施方式的数据写入流程示意图)
      第一步:按照上述格式组成数据包,其中TYPE取值为0xA0B1C3,每一个写入数据包的TYPE取值都是相同的,本实施方式的取值设为0xA0B1C3,长度为8字节(即字节数为8字节,实践中还可以取其他长度和类型的数值,只要能够起到标识数据包的作用,都不影响本发明的实施;LENGTH的取值为该写数据包Datal的长度,由于每次写入数据包的长度不同,因此LENGTH的取值也随之变化;
      第二步:查找写入地址:所述写入地址控制模块从FLASH配置区的首地址fAddress读取与TYPE字节数相同(8字节)的数据,判断该数据是否为TYPE值0xA0B1C3,如果是0xA0B1C3,则表明该地址已经存储了数据包,不可再次写入;则读取此处所存数据包的数据结构头中所包含的数据长度LENGTH,并偏移该LENGTH所示的长度后,从偏移后的地址再次读取与TYPE字节数相同的数据,比较该数据是否为TYPE值0xA0B1C3;如果否,则表明该地址尚未存入数据,则输出该数据区的数据写读地址给所述写读执行模块,作为数据写入地址;如果没有找到可擦写地址则说明此块Flash剩余空间不足,无法写入新数据,则重新擦除flash配置区,此时写入flash地址就是此块flash的配置区首地址fAddress,将所述首地址发送给写读执行模块。本具体实施方式中FLASH的配置区为可读写数据的区域。
      第三步:所述写读执行模块接收到所述数据写入地址后,将写数据包Datal写入到指定的Flash数据写入地址。
      本实施方式的FLASH存储器的数据读取包括以下步骤:(如图2所示,为本发明具体实施方式的数据读取流程示意图)
      第一步:查找读取地址:读取地址控制模块首先从存储器的配置区首地址fAddress读取与TYPE字节数相同的数据,比较该数据是否为TYPE值0xA0B1C3,如果是0xA0B1C3,则说明此处已存数据,读取此处所存数据包的LENGTH,并偏移该LENGTH所示长度,再次从偏移后的地址读取与TYPE字节数相同的数据,比较TYPE值是否为0xA0B1C3;如果否,则说明前一个数据(即最后一次偏移前的FLASH地址中所存的数据)为最后存入的数据,则输出前一个Flash地址(即最后一次偏移前的FLASH地址)给写读执行模块作为读取地址。
      第二步:写读执行模块接收到读取地址后,根据该读取地址读取数据。
      采用以上写入及读取步骤,数据的读取、写入均通过写数据包的数据头进行寻址(而非像固定分页以固定不变的页地址作为读取、写入地址),除擦除后的首次数据写入地址固定为首地址外,数据写入起点位置与前一次写入的数据的长度相关,任意一个读写起点与下一个读写起点间的长度恰好为所存数据包的长度,即相当于每一次数据写入均形成一个FLASH动态页,该分页的大小为动态大小,而非固定大小。
      为了进一步节省存储空间,本实施方式还可包括压缩模块,在写入数据时对Data使用压缩算法进行压缩,在读取时进行对应的解压缩算法进行解压缩,减小写入和读取数据时间。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

专利申请说明书附图
图1
专利申请说明书附图
图2