本发明专利技术公开了一种存储机顶盒用户信息的方法,将FLASH的若干个block进行分区,并将分得区域划分为多个存储单元,每个存储单元的容量不小于预先设定的用户信息量,保证写入数据可以连续的进行,直到写满一个完整的存储区域,在写入下一个存储区域成功后,再对前一个存储区域进行一次擦除操作,这样就减少了对FLASH的擦除次数,并保证数据写入成功以后,在对其进行擦除,避免了先擦除,后写入的传统操作方式,这样就降低了存储过程的数据丢失的问题,提高了整个数据存储过程的可靠性;另外,利用FLASH模拟E2PROM对数据进行存储,节省了E2PROM设备的使用,降低了硬件的成本。
【技术实现步骤摘要】
一种存储机顶盒用户信息的方法
本专利技术涉及数字电视
,更具体的说,是涉及一种存储机顶盒用户信息的方法。
技术介绍
随着数字电视的大力发展,数字电视机顶盒承载了对数字信号的解码、对前端下发的音视频信息、股票、广告、双向信息解析、存储及展示等工作。数字电视的功能及增值业务的不断扩展,也要求有越来越多的信息需要存储到本地的机顶盒上。比如本地的音量、浏览节目的记录,对来自前端的邮件、滚动消息、下发广告图片的接收和存储,以及运营商对本区域实现机卡控制的控制信息等。这些信息会随着用户的使用习惯、运营商对用户的管理、增值应用的多样化及升级而变化,信息的变化频率有高有低,而每一次变化都需要将相应信息更新到本地的存储设备上。目前,机顶盒设备用来存储数据的存储器通常包括:NOR型FLASH和E2PROM两部分,主流的机顶盒存储信息的方法都是采用FLASH加E2PROM的组合,FLASH对用户信息进行存储时,需要先判断与用户信息对应的待存储数据的类型,例如:声道设置、视频输出比例、OSD菜单显示时间及节目的父母控制等信息,这些数据中有些是经常变化的数据,例如:声道设置、OSD菜单显示时间等,有些是不经常变化的数据,例如:视频输出比例、节目的父母控制等,对于不经常变化的数据直接写入FLASH即可,而对于经常变化的数据,需要先将FLASH中存储的与待存储数据对应的原始数据进行擦除,然后再将待存储数据进行存储。由于擦除动作本身不支持字节操作,其使用块来进行擦除,一般一次需要擦除64KB字节的块空间,因此,写入数据时需要首先将同块的其他不与待存储数据对应的原始数据先保存到E2PROM中,然后将该块中存储的数据全部擦除,最后,将待存储的数据和其他原始数据一起写入FLASH存储空间中。由于上述过程中采用的是先擦除,再写入的方式,很容易造成数据丢失的问题,使得整个数据存储过程的可靠性降低。
技术实现思路
有鉴于此,本专利技术提供了一种存储机顶盒用户信息的方法,以克服现有技术中由于机顶盒存储信息在存储于FLASH时,采用先擦除,再写入的方式,很容易造成数据丢失,使得整个数据存储过程的可靠性降低的问题。为实现上述目的,本专利技术提供如下技术方案:一种存储机顶盒用户信息的方法,包括:预处理过程和存储过程,所述预处理过程,包括:将FLASH划分为至少两个连续的存储区域,将所述存储区域划分为多个存储单元,每个存储单元的容量不小于预先设定的用户信息量;所述存储过程,包括:当有待写入用户信息时,判断所述FLASH是否为初始存储状态,如果否,则确定上次用户信息的存储位置及所述存储位置所在的存储区域;当所述存储区域未写满时,将所述待写入用户信息写入所述存储区域内;当所述存储区域写满时,判断所述存储区域是否为最后一个存储区域,如果否,则将下一存储区域确定为当前存储区域,如果是,则将第一个存储区域确定为当前存储区域;将用户信息写入所述当前存储区域的第一个存储单元,并判断写入过程是否完成,如果写入过程完成,则将所述当前存储区域的上一个存储区域内的数据进行擦除。优选的,当所述FLASH为初始存储状态时,直接将所述待写入用户信息从第一个存储区域的第一个存储单元开始存储。优选的,所述判断所述FLASH是否为初始存储状态具体为:分别判断所述FLASH的所有存储区域的第一个存储单元是否全部为被占用,如果是,则认为所述FLASH的状态为初始状态,如果否,则所述FLASH的状态不为初始状态。优选的,还包括:预先设定一个暂存缓冲区,所述暂存缓冲区用于存储所述待写入用户信息。优选的,所述写入过程完成后还包括:利用预先设置的全局变量来记录用户信息的存储位置。优选的,所述将待写入用户信息写入所述当前存储区域的第一个存储单元步骤之前,还包括:对所述上次用户信息的存储位置上的数据进行数据校验,如果校验成功,则直接将所述待写入用户信息写入所述当前存储区域的第一个存储单元,如果校验失败,则对所述当前存储区域进行异常处理,当所述异常处理结束后,再将所述待写入用户信息写入所述当前存储区域的第一个存储单元。优选的,所述异常处理包括:擦异常、写异常和读异常。优选的,所述异常处理还包括:从第一个存储区域的第一个存储单元开始,遍历所有存储区域的所有存储单元,当每个存储单元均为已被占用时,则对整个FLASH进行擦除操作。优选的,上述所述存储单元的数据格式为:标志位、用户信息和校验位,其中:所述标志位,用于利用预先设定的值代表所述存储单元是否被占用;所述用户信息,用于存储用户信息对应的数据;所述校验位,用于记录所述存储单元除所述标志位和所述校验位以外的全部数据的校验和。经由上述的技术方案可知,与现有技术相比,本专利技术公开了一种存储机顶盒用户信息的方法,将FLASH的若干个存储区域进行分区,并将分得区域划分为多个存储单元,每个存储单元的容量不小于预先设定的用户信息量,保证写入数据可以连续的进行,直到写满一个完整的存储区域,在写入下一个存储成功后,再对前一个存储进行一次擦除操作,这样就减少了对FLASH的擦除次数,并保证数据写入成功以后,再对其进行擦除,避免了先擦除,后写入的传统操作方式造成存储过程的数据丢失的问题,提高了整个数据存储过程的可靠性;同时,利用FLASH模拟E2PROM对数据进行存储,节省了E2PROM设备的使用,降低了硬件的成本;另外,对于FLASH在存储过程中对用户信息进行写入前,先要对FLASH进行擦除,对FLASH设备的擦除操作比较频繁,本专利技术通过对FLASH的存储区域进行存储单元的划分,将用户信息按照存储单元进行存储,当一个存储区域写满后并写入下一个存储区域完成后,再将上一个存储区域内的数据擦除,有效地减少了对硬件设备的操作次数,因此,提高了设备使用寿命。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例公开的一种存储机顶盒用户信息的方法的流程图;图2为本专利技术实施例公开的用户信息写入方式的流程图;图3为本专利技术实施例进一步公开的一种存储机顶盒用户信息的方法的流程图;图4为本专利技术实施例公开的一种考虑异常情况下的查找有效数据单元的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。机顶盒厂商选择FLASH存储运行程序时,考虑应用程序的扩展性,都会选择比实际运行程序容量大的FLASH型号。比如实际占用量为6Mbytes,一般选择8Mbytes或16Mbytes的FLASH。而通常机顶盒的用户信息量在几Kbytes到几十Kbytes之间,所以我们利用FLASH写入速度较快的特点,将FLASH的若干个block进行分区,保证写入数据可以连续进行,直到写满一个完整的block再对其进行一次擦除操作。这样就实现了使用FLASH模拟E2PROM对信息本文档来自技高网...
【技术保护点】
一种存储机顶盒用户信息的方法,其特征在于,包括:预处理过程和存储过程,所述预处理过程,包括:将FLASH划分为至少两个连续的存储区域,将所述存储区域划分为多个存储单元,每个存储单元的容量不小于预先设定的用户信息量;所述存储过程,包括:当有待写入用户信息时,判断所述FLASH是否为初始存储状态,如果否,则确定上次用户信息的存储位置及所述存储位置所在的存储区域;当所述存储区域未写满时,将所述待写入用户信息写入所述存储区域内;当所述存储区域写满时,判断所述存储区域是否为最后一个存储区域,如果否,则将下一存储区域确定为当前存储区域,如果是,则将第一个存储区域确定为当前存储区域;将用户信息写入所述当前存储区域的第一个存储单元,并判断写入过程是否完成,如果写入过程完成,则将所述当前存储区域的上一个存储区域内的数据进行擦除。
【技术特征摘要】
1.一种存储机顶盒用户信息的方法,其特征在于,包括:预处理过程和存储过程,所述预处理过程,包括:将FLASH划分为至少两个连续的存储区域,将所述存储区域划分为多个存储单元,每个存储单元的容量不小于预先设定的用户信息量;所述存储过程,包括:当有待写入用户信息时,判断所述FLASH是否为初始存储状态,如果否,则确定上次用户信息的存储位置及所述存储位置所在的存储区域;当所述存储区域未写满时,将所述待写入用户信息写入所述存储区域内;当所述存储区域写满时,判断所述存储区域是否为最后一个存储区域,如果否,则将下一存储区域确定为当前存储区域,如果是,则将第一个存储区域确定为当前存储区域;对所述上次用户信息的存储位置上的数据进行数据校验,如果校验成功,则直接将用户信息写入所述当前存储区域的第一个存储单元,如果校验失败,则对所述当前存储区域进行异常处理,所述异常处理包括:擦异常、写异常和读异常;当所述异常处理结束后,再将所述待写入用户信息写入所述当前存储区域的第一个存储单元;判断写入过程是否完成,如果写入过程完成,则将所述当前存储区域的上一个存储区域内的数据进行擦除。2.根据权利要求1所述的方法,其特征在于,当所述FLASH为初始存储状态时...
【专利技术属性】
技术研发人员:张超,
申请(专利权)人:北京四达时代软件技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。