【技术实现步骤摘要】
本专利技术涉及对嵌入式技术,尤其是,特别 是属于机顶盒领域技术。
技术介绍
NOR FLASH是一种非易失性的存储器,它是Intel于1988年首先开发出的NOR flash技术,彻底改变了原先由EPROM和EEPROM—统天下的局面,因具有存储数据容量大, 保存时间长,不易丢失数据等特点。其擦写次数长达10万次以上,数据更新速度也要比 EPROM, EEPROM快很多,更是在断电的情况下也能保存数据,所以常用来保存一些重要的配 置信息。它对于要求程序和数据存储在同一芯片中的主流应用是一种较理想的解决方案。随着数字电视逐步推广,作为数字电视终端的数字电视机顶盒越来越多的被使 用。机顶盒一般需要对一些信息(当前节目,音量,语言等各种系统设置)进行存储,传统机 顶盒上存储单元一般为nor flash (非易失性的存储器)等。传统的数字电视机顶盒对系统 信息都是使用nor flash来保存,由于对nor flash写操作需要进行擦除操作,nor flash 使用块来进行擦除,一般一次需要擦除64K字节的块空间,而且速度很慢,当大量数据读写 时需要大量的等待时间,同时由于写入的数据时需要进行块擦除,需要把同块的其他数据 先保存到其他地方,然后把修改的数据和其他数据一起写入flash存储空间的块中,如此 容易造成数据丢失。而nor flash的块擦除的次数有限制,大量的进行块擦除操作,容易造 成flash空间的损坏。同时flash存储空间的块擦除需要大量的时间,操作存储数据耗时 长的问题。
技术实现思路
本专利技术要解决的技术问题,在于提供,通 过采用在flash存储 ...
【技术保护点】
一种机顶盒nor型flash快速存储的方法,其特征在于,包括以下步骤:步骤10、设置nor flash部分的flash存储空间来存储数据;步骤20、当机顶盒程序初始化时,将flash存储空间中的所有块进行块擦除操作,此时,flash存储空间中所有数据为0xff;步骤30、在机顶盒内存中建立一个用于储存数据的内存存储空间,把flash存储空间中的数据读入内存存储空间中;步骤40、当应用程序进行写入存储数据时,先把修改的数据写入内存存储空间中,然后按照以下步骤进行存储:步骤401、定义flash存储空间以存储的数据加上具有有效标志头部的结构进行存储数据,先判断内存存储空间的数据是否是在擦除块后第一次操作,是则转入步骤402,否则转入步骤403;步骤402、把内存存储空间的数据写入flash存储空间的开始位置,此时的数据即为所述的存储的数据,紧接着把具有有效标志的头部数据写入,同时从flash存储空间中的块的最后4个字节写入一个标识符;步骤403、假设flash存储空间中的块大小为自然数n,则从块的最后位置即n-4位置开始每4个字节读取一次块中的数据;步骤404、判断块中的数据是否是要存储数 ...
【技术特征摘要】
一种机顶盒nor型flash快速存储的方法,其特征在于,包括以下步骤步骤10、设置nor flash部分的flash存储空间来存储数据;步骤20、当机顶盒程序初始化时,将flash存储空间中的所有块进行块擦除操作,此时,flash存储空间中所有数据为0xff;步骤30、在机顶盒内存中建立一个用于储存数据的内存存储空间,把flash存储空间中的数据读入内存存储空间中;步骤40、当应用程序进行写入存储数据时,先把修改的数据写入内存存储空间中,然后按照以下步骤进行存储步骤401、定义flash存储空间以存储的数据加上具有有效标志头部的结构进行存储数据,先判断内存存储空间的数据是否是在擦除块后第一次操作,是则转入步骤402,否则转入步骤403;步骤402、把内存存储空间的数据写入flash存储空间的开始位置,此时的数据即为所述的存储的数据,紧接着把具有有效标志的头部数据写入,同时从flash存储空间中的块的最后4个字节写入一个标识符;步骤403、假设flash存储空间中的块大小为自然数n,则从块的最后位置即n 4位置开始每4个字节读取一次块中的数据;步骤404、判断块中的数据是否是要存储数据对应的标识符,是则转入步骤406,否则转入步骤405;步骤405、判断块中的数据是不是0xffffffff,如果不是0xffffffff,则数据块损坏,并擦除此时读取到的块,再进行步骤402操作,如果是0xffffffff,则此时读取到的块是新块,直接进行步骤402操作;步骤406、假设y为读取块的第几次次数,则接着读取n 4y位置的4个字节,如果4个字节为0x00000000,则继续往前读取4个字节,直到读到的数据位非0数据为止,假设这时读取的位置为m,判断m的位置上的数据是否是0xffffffff,是则数据块损坏,并擦除此时读取到的块,进行步骤402操作,否则转入步骤407;步骤407、接着继续往前读4个字节,这时的位置是m 4,判断m 4的位置上数据是否是0xffffffff,是则转入步骤408,否则数据块损坏,并擦除此时读取到的块,进行步骤402操作;步骤408、此时读取到的块中的数据为有效数据,m位置上的数据就是本块从零地址开始存储有效数据的偏移地址,假设偏移地址值为k,要存储数据大小为s,所述具有有效标志的头部数据大小为t,判断k+s的位置上的数据,如果读取到的该位置的数据是否是要存储的具有有效标志的头部数据,是则此时数据有效,转入步骤409,不是则擦除此时读取到的块,进行步骤402操作;步骤409、接着判断k+s位置后用于存储数据为0xff的flash存储空间的大小是否大于s+t的数据大小,是则转入步骤410,否则剩余的数据为0xff的flash存储空间不足以用于存储数据,擦除此时读取到的块,进行步骤402操作;步骤410、接着在k+s+t的位置写入要存储的数据...
【专利技术属性】
技术研发人员:方立,
申请(专利权)人:福建新大陆通信科技股份有限公司,
类型:发明
国别省市:35[中国|福建]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。