一种安全快速存储机顶盒系统信息的方法

2019-09-10 15:18郑潇
河南科技 2019年17期
关键词:机顶盒

郑潇

摘 要:本文介绍了一种安全快速存储机顶盒系统信息的方法。通过在闪存(Flash Memory)中建立有效的块备份机制,保证数据存储的安全;通过控制数据在Flash块中不同位置上轮流存储,减少块擦除的频率,从而提高数据存储的速度,并延长Flash的使用寿命。

关键词:机顶盒;闪存;块;块擦除

中图分类号:TP333 文献标识码:A 文章编号:1003-5168(2019)17-0028-03

Abstract: This paper introduced a safe and fast way to store the information of STB system. To assure the security of data storage, an effective block backup mechanism is established in Flash Memory. By controlling the data to be stored in turn from the different positions in Flash block, reduced the frequency of block abrasion , so improve the speed of data storage and active the life of Flash .

Keywords: STB block;flash memory;block;block erase

1 研究背景

閃存是一种非易失性存储器,可以对块的存储器单元块进行擦写和再编程。任何Flash器件的写入操作只能在空或已擦除的单元内进行,所以,大多数情况下,在进行写入操作之前,必须先执行块擦除操作。NOR Flash和NAND Flash是现在市场上两种主要的非易失闪存器。由于介绍的机顶盒采用的是NOR Flash,因此,本文只对NOR Flash进行重点介绍。Intel于1988年首先开发出NOR Flash 技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。NOR Flash的优点是:①芯片内执行,这样应用程序可以直接在Flash内运行,不必再把代码读到系统RAM中;②传输效率很高;③存储数据保存时间长;④擦写次数高达10万次以上;⑤数据更新速度比EPROM和EEPROM快。但是,低写入和擦除速度大大影响其性能[1-3]。

近年来,随着数字电视产业的不断发展,作为数字电视终端的数字电视机顶盒被越来越多的用户所使用。机顶盒需要对系统信息(语言、音量、分辨率、节目数等)、节目库、CA信息等数据进行存储,所以NOR Flash广泛应用于传统数字电视机顶盒中。由于NOR Flash进行数据存储前必须进行块擦除操作,因此,在实际使用NOR Flash过程中存在以下几个问题:①存储大量数据时需要等待较长时间;②存储数据时断电会造成数据丢失;③频繁擦写数据块,易造成Flash损坏。综上所述,如何保证数据存储的安全及减少块擦除的次数是本文论述的重点。

2 实际项目中遇到的问题

在负责的实际项目中,曾经有印度用户反馈机顶盒在使用过程中存在概率性丢失系统信息的问题,给用户使用带来一定困扰。该款机顶盒由主芯片(MSD5017)、内存(H5PS5162GFR-S6C)、闪存(MX25L6455EXCI)和Tuner(TDA18250)四大模块组成。经技术支持确认,当机顶盒在保存系统信息过程中断电,很容易出现数据丢失的问题。经软件工程师的分析定位,由于闪存模块的固有特性(存储数据前必须进行块擦除),所以,机顶盒在存储系统信息的过程中断电,就会引起机顶盒系统信息的丢失。由于先前机顶盒存储系统信息的方法是直接将数据存储于Flash指定块中,当系统信息需要更新时,必须先将块中的数据保存到内存中,然后擦除该块,最后再将更新后的系统信息写入该块。因此,如果在存储数据过程中断电,就会出现系统信息丢失的问题。为了解决机顶盒系统信息丢失的问题,并延长Flash使用寿命,本文设计出一种安全快速存储机顶盒系统信息的方法,能保证数据读写的安全,并减少Flash块的擦写次数,延长Flash使用寿命。

3 具体实施方式

3.1 存储数据的结构及数据在块中位置

本文设计的安全快速存储机顶盒系统信息的方法中,存储数据的结构由系统信息和具有有效标志的头部(0x12345678)组成,其结构如图1所示。通过查找有效标志的头部,找到块中读写系统信息的偏移地址,从而达到快速读写数据的目的。数据在块中的位置如图2所示,块由带有有效标志头部的系统信息、未存储数据的空间、块有效标识符(TAG)组成。

3.2 块选择

一种安全快速存储机顶盒系统信息的方法中块选择流程如图3所示。

Flash中分配A和B两块(块大小为64KB),A和B两块交替存储,保证数据存储的安全。A和B两块的最后4个字节用于存储块有效标识符(TAG),标识符的值范围从0x00000001到0xFFFFFFFE,超出其范围时,从0x00000001开始重新循环。若哪个块的有效标识符的值大(特殊情况0x00000001大于0xFFFFFFFE),哪个块就是当前读写操作的有效块。如A和B两块有效标识符(TAG)都为0xFFFFFFFF,将A块擦除后选择A块为有效块。块选择步骤如下。

步骤1:读取TAGA和TAGB。

步骤2:判断TAGA和TAGB是否均有效,是进入步骤4,否进入步骤3。

步骤3:判断TAGA是否大于TAGB,是进入步骤4,否进入步骤5。

步骤4:选择A块为有效块。

步骤5:选择B块为有效块。

3.3 读操作

一种安全快速存储机顶盒系统信息的方法中读操作流程图如图4所示,具体包括以下步骤。

步骤1:通过比较TAGA和TAGB选择有效块。

步骤2:假设块的大小为BlockSize,从块的BlockSize-8开始向前读取,每4个字节读取一次数据,直到读取到的数据不为0xFFFFFFFF为止;判断读取数据是否为有效标志的头部,是则转入步骤3,否则说明无有效的系统信息数据,读取数据失败。

步骤3:假设读取x次后得到有效标志的头部(0x12345678),SysSize为系统信息数据的大小,则读取系统信息的偏移地址为BlockSize-4-4x-SysSize。完成数据读取操作。

3.4 写操作

一种安全快速存储机顶盒系统信息的方法中写操作流程如图5所示。具体包括以下步骤。

步骤1:通过比较TAGA和TAGB选择有效块。

步骤2:判断该块是否是擦除块后第一次操作,是则转入步骤3,否则转入步骤4。

步骤3:将图1所示的数据写入块开始的起始位置;同时,从该块的最后4个字节写入块有效标识符(TAG),标识符的值为另一块标识符值加1,完成数据存储。数据在块中的位置如图2所示。

步骤4:假设块的大小为BlockSize,从块的BlockSize-8开始向前读取,每4个字节读取一次数据,直到读取到的数据不为0xFFFFFFFF为止,转入步骤5。

步骤5:判断读取到的数据是否为有效标志的头部(0x12345678),如果不是有效标志的头部,则该数据块损坏,跳到另外一块将其擦除,再进入步骤3操作;如果是有效标志的头部,则此时数据块为正常块,转入步骤6。

步骤6:假设读取x次后得到有效标志的头部(0x12345678),则BlockSize-4x为存储数据的起始位置;现在判断剩余的空间(BlockSize-4-(BlockSize-4x)= 4x-4)是否大于图1数据的大小,如果小于,则该数据块已经存满,跳到另外一块将其擦除,再进入步骤3操作,如果大于,转入步骤7。

步骤7:从块偏移地址为BlockSize-4x开始写入图1所示的数据,完成数据存储。

4 结语

针对Flash的固有特性,本文介绍了一种安全快速存储机顶盒系统信息的方法。该方法能有效解决在数据存储过程中因断电造成的数据丢失,并通过减少块擦除的次数提高Flash的使用寿命。综上所述,通过使用本文介绍的安全快速存储机顶盒系统信息的方法,能有效解决印度市场反馈的机顶盒概率性丢失系统信息的问题,并能减少Flash块擦除次数,提高数据存储效率,从而提高机顶盒的整体性能。

参考文献:

[1]周建峰,张宏.数据存储、恢复与安全应用实践[M].北京:中国铁道出版社,2015.

[2]陈镇江,张寅,张志文,等.一种基于数据存储的流水SHA256硬件实现电路[J].电子技术应用,2019(7):44-49.

[3]牛艺霏,刘嵩岩,陈妍霖,等.固態存储技术研究概述[J].计算机产品与流通,2019(7):22.

猜你喜欢
机顶盒
机顶盒最会偷电
电视机顶盒
机顶盒上别盖布
数字电视传输故障案例及机顶盒故障案例
安全使用机顶盒注意五点
怎么看晶晨半导体
老人们注意了 机顶盒上别盖布
What is Apple Watch All About?
扔掉机顶盒
中国机顶盒产业稳步发展