CN105739926A - 提高机顶盒启动速度并延长Flash使用寿命的方法 - Google Patents

提高机顶盒启动速度并延长Flash使用寿命的方法 Download PDF

Info

Publication number
CN105739926A
CN105739926A CN201610064152.7A CN201610064152A CN105739926A CN 105739926 A CN105739926 A CN 105739926A CN 201610064152 A CN201610064152 A CN 201610064152A CN 105739926 A CN105739926 A CN 105739926A
Authority
CN
China
Prior art keywords
data
flash
top box
set top
application program
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
Application number
CN201610064152.7A
Other languages
English (en)
Inventor
饶拥军
付伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201610064152.7A priority Critical patent/CN105739926A/zh
Publication of CN105739926A publication Critical patent/CN105739926A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明涉及计算机软件和存储技术。本发明针对现有技术中由于Flash具有写入前必须擦除的特性,频繁写入Flash会导致更新时间较长,从而导致启动时间增加,影响用户体验的问题,提供一种提高机顶盒启动速度并延长Flash使用寿命的方法,首先,机顶盒系统初始化;其次,系统建立Flash数据区与内存地址的映射关系,建立状态表;创建后台处理进程,用于对数据进行相应操作;然后系统检测应用程序是否要从Flash读取数据,是则应用程序从Flash数据区读取数据至内存地址,否则不动作;最后,后台处理进程对读取数据进行相应数据处理;将处理后的数据写入Flash数据区并更新状态表。适用于Flash。

Description

提高机顶盒启动速度并延长Flash使用寿命的方法
技术领域
本发明涉及计算机软件和存储技术领域,特别涉及Flash存储。
背景技术
目前各省级广电都在进行数字电视平移,包含了大量的数字电视机顶盒,Flash是机顶盒重要的器件,承担着程序和数据的存储,保存着系统配置信息和用户数据信息。一般小容量的SPINORFlash器件是传统机顶盒的首选,具有结构简单,读取速度较快,性价比高等优点,但是其擦除慢较慢。在实际使用过程中,如果有较多的用户数据或配置在启动过程中需要更新并回写入Flash,由于Flash具有写入前必须擦除的特性,频繁写入Flash会导致更新时间较长,从而导致启动时间增加,影响用户体验。
Flash也是有使用寿命的,理论擦除次数多达万次以上,但长期对某些固定区域进行频繁写操作,将降低使用寿命,Flash坏掉必须返厂更换,对新Flash重新写程,增加后期维护成本。基于此,提出减少Flash写操作的优化方案。
发明内容
本发明所要解决的技术问题,就是提供一种提高机顶盒启动速度并延长Flash使用寿命的方法以实现减少Flash擦除写入次数,延迟关键器件Flash的使用寿命,从而降低整体维护成本的效果。
本发明解决所述技术问题,采用的技术方案是,提高机顶盒启动速度并延长Flash使用寿命的方法,其特征在于,包括以下步骤:
步骤1、机顶盒系统初始化;
步骤2、系统建立Flash数据区与内存地址的映射关系,建立状态表;创建后台处理进程,用于对数据进行相应操作;
步骤3、系统检测应用程序是否要从Flash读取数据,是则进入步骤4,否则不动作;
步骤4、应用程序从Flash数据区读取数据至内存地址;
步骤5、后台处理进程对读取数据进行相应数据处理;将处理后的数据写入Flash数据区并更新状态表。
具体的,所述步骤1中,机顶盒系统初始化包括以下步骤:
步骤11、机顶盒上电后对系统进行初始化;
步骤12、系统执行bootloader后,跳转进入主程,并重新对系统进行初始化。
进一步的,所述步骤12中,重新对系统进行初始化包括:初始化CPU、内存、总线、OS及主程驱动程序。
具体的,所述步骤2中,系统按照映射的空间大小和实际数据块大小建立状态表,所述状态表至少包括擦除标识及数据更新标识;
所述后台处理进程至少包括擦除进程及数据更新进程。
具体的,所述步骤4中,还包括以下步骤:
步骤41、应用程序从Flash数据区读取数据至内存地址;
步骤42、系统检测应用程序需对读取数据是否需要进行擦除处理,是则进行步骤43,否则不动作;系统检测应用程序需对读取数据是否需要进行数据更新处理,是则进行步骤44,否则不动作;
步骤43、驱动程序设定该block为擦除标识并将内存地址中数据初始化为0xFF;
步骤44、应用程序将读取数据拷贝到预设位置,并由驱动程序设定该block为数据更新标识。
进一步的,所述步骤5中,还包括以下步骤:
后台处理进程根据预设更新周期及周期内更新数据块数量信息对读取数据进行相应数据处理;将处理后的数据写入Flash数据区并更新状态表。
本发明的有益效果是:本发明在普通机顶盒的基础上,不另外增加硬件,仅使用部分内存,通过优化软件逻辑实现优化Flash写操作;软件新增加Flash映射模块,来优化Flash读写模块;
在机顶盒初始化中,先将Flash中的用户数据区数据块读取到内存中并常驻,对Flash的所有操作先在内存中进行,后依据一定的触发条件,再将数据回写入Flash中,因与内存交换数据需要的时间很短,这样就节约了时间,再通过后台进程回写,降低对依赖Flash的应用进程的影响,并减少对Flash的实际擦除和写入操作,且通过调整算法参数,可以适应不同的应用需求。
附图说明
图1为本发明提高机顶盒启动速度并延长Flash使用寿命的方法实施例的机顶盒系统组成框图;
图2为本发明提高机顶盒启动速度并延长Flash使用寿命的方法实施例的Flash数据区映射到内存的映射图
图3为本发明提高机顶盒启动速度并延长Flash使用寿命的方法实施例的方法流程图。
以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。
具体实施方式
下面结合附图及实施例详细描述本发明的技术方案:
本发明针对现有技术中由于Flash具有写入前必须擦除的特性,频繁写入Flash会导致更新时间较长,从而导致启动时间增加,影响用户体验的问题,提供一种提高机顶盒启动速度并延长Flash使用寿命的方法,首先,机顶盒系统初始化;其次,系统建立Flash数据区与内存地址的映射关系,建立状态表;创建后台处理进程,用于对数据进行相应操作;然后系统检测应用程序是否要从Flash读取数据,是则应用程序从Flash数据区读取数据至内存地址,否则不动作;最后,后台处理进程对读取数据进行相应数据处理;将处理后的数据写入Flash数据区并更新状态表。本发明在普通机顶盒的基础上,不另外增加硬件,仅使用部分内存,通过优化软件逻辑实现优化Flash写操作;软件新增加Flash映射模块,来优化Flash读写模块;在机顶盒初始化中,先将Flash中的用户数据区数据块读取到内存中并常驻,对Flash的所有操作先在内存中进行,后依据一定的触发条件,再将数据回写入Flash中,因与内存交换数据需要的时间很短,这样就节约了时间,再通过后台进程回写,降低对依赖Flash的应用进程的影响,并减少对Flash的实际擦除和写入操作,且通过调整算法参数,可以适应不同的应用需求。
实施例
本例所涉及的机顶盒,为普通的传统机顶盒。机顶盒的系统组成,如图1所示,包括中央处理(CPU)、内存(RAM)、FLASH;RF信号接收模块;前面板和红外遥控接收处理模块;通讯模块(UART通讯和SC智能卡通讯);音视频信号输出模块。
本例在普通机顶盒的基础上,不另外增加硬件,仅使用部分内存,通过优化软件逻辑实现优化Flash写操作。软件新增加Flash映射模块,来优化Flash读写模块。即在机顶盒初始化中,先将Flash中的用户数据区数据块读取到内存中并常驻,对Flash的所有操作先在内存中进行,后依据一定的触发条件,再将数据回写入Flash中,因与内存交换数据需要的时间很短,这样就节约了时间,再通过后台进程回写,降低对依赖Flash的应用进程的影响,并减少对Flash的实际擦除和写入操作,且通过调整算法参数,可以适应不同的应用需求。具体方法如下:
首先,在机顶盒上电后对系统进行初始化,在执行完bootloader后,跳转进入主程,并重新对系统进行初始化,主要初始化CPU、内存、总线和OS和主程驱动程序。
然后,按照映射的空间大小和实际块大小建立状态表,包括是否进行擦除、是否有数据更新等标识。然后将Flash中指定地址空间数据读取到固定内存地址空间,并常驻内存。并创建后台处理进程,用于处理数据更新和擦除操作;具体映射关系如图2所示。
再然后,应用程序原本需要从Flash读数据变更为从内存直接读取;如果要进行写数据则只需将数据拷贝到内存指定位置,并由驱动程序把该block标记为需要更新;如果是要求擦除操作,则设定该block需要擦除标记并将对应内存数据初始化为0xFF。
最后,后台进程负责处理数据更新和擦除操作,可以采用定时更新(N秒)和需要更新的数据块数量(M块)想结合的方式,将内存数据写入到Flash中。后台进程中时间长短和需更新的数据块数量这2个参数,可以根据不同的性能要求进行设置。通过上述步骤,读数据的时间大大缩短,仅从Flash读一次,后续读从内存中拷贝,写Flash的次数取决于参数配置,例如配置为共计10块数据有更新或3秒到期才进行写入,如果需要更新的数据集中在1个block块,特别是小字节数据较多的情形,则会大大降低写入次数,减少擦除次数,从而节约整体时间。因此该发明的应用范围较广,不另增加额外硬件成本,效益很明显。该流程图见附图3所示。
综上所述,本发明在普通机顶盒的基础上,不另外增加硬件,仅使用部分内存,通过优化软件逻辑实现优化Flash写操作;软件新增加Flash映射模块,来优化Flash读写模块;在机顶盒初始化中,先将Flash中的用户数据区数据块读取到内存中并常驻,对Flash的所有操作先在内存中进行,后依据一定的触发条件,再将数据回写入Flash中,因与内存交换数据需要的时间很短,这样就节约了时间,再通过后台进程回写,降低对依赖Flash的应用进程的影响,并减少对Flash的实际擦除和写入操作,且通过调整算法参数,可以适应不同的应用需求。

Claims (6)

1.提高机顶盒启动速度并延长Flash使用寿命的方法,其特征在于,包括以下步骤:
步骤1、机顶盒系统初始化;
步骤2、系统建立Flash数据区与内存地址的映射关系,建立状态表;创建后台处理进程,用于对数据进行相应操作;
步骤3、系统检测应用程序是否要从Flash读取数据,是则进入步骤4,否则不动作;
步骤4、应用程序从Flash数据区读取数据至内存地址;
步骤5、后台处理进程对读取数据进行相应数据处理;将处理后的数据写入Flash数据区并更新状态表。
2.根据权利要求1所述的提高机顶盒启动速度并延长Flash使用寿命的方法,其特征在于,所述步骤1中,机顶盒系统初始化包括以下步骤:
步骤11、机顶盒上电后对系统进行初始化;
步骤12、系统执行bootloader后,跳转进入主程,并重新对系统进行初始化。
3.根据权利要求2所述的提高机顶盒启动速度并延长Flash使用寿命的方法,其特征在于,所述步骤12中,重新对系统进行初始化包括:初始化CPU、内存、总线、OS及主程驱动程序。
4.根据权利要求1所述的提高机顶盒启动速度并延长Flash使用寿命的方法,其特征在于,所述步骤2中,系统按照映射的空间大小和实际数据块大小建立状态表,所述状态表至少包括擦除标识及数据更新标识;
所述后台处理进程至少包括擦除进程及数据更新进程。
5.根据权利要求1所述的提高机顶盒启动速度并延长Flash使用寿命的方法,其特征在于,所述步骤4中,还包括以下步骤:
步骤41、应用程序从Flash数据区读取数据至内存地址;
步骤42、系统检测应用程序需对读取数据是否需要进行擦除处理,是则进行步骤43,否则不动作;系统检测应用程序需对读取数据是否需要进行数据更新处理,是则进行步骤44,否则不动作;
步骤43、驱动程序设定该block为擦除标识并将内存地址中数据初始化为0xFF;
步骤44、应用程序将读取数据拷贝到预设位置,并由驱动程序设定该block为数据更新标识。
6.根据权利要求5所述的提高机顶盒启动速度并延长Flash使用寿命的方法,其特征在于,所述步骤5中,还包括以下步骤:
后台处理进程根据预设更新周期及周期内更新数据块数量信息对读取数据进行相应数据处理;将处理后的数据写入Flash数据区并更新状态表。
CN201610064152.7A 2016-01-29 2016-01-29 提高机顶盒启动速度并延长Flash使用寿命的方法 Pending CN105739926A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610064152.7A CN105739926A (zh) 2016-01-29 2016-01-29 提高机顶盒启动速度并延长Flash使用寿命的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610064152.7A CN105739926A (zh) 2016-01-29 2016-01-29 提高机顶盒启动速度并延长Flash使用寿命的方法

Publications (1)

Publication Number Publication Date
CN105739926A true CN105739926A (zh) 2016-07-06

Family

ID=56247065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610064152.7A Pending CN105739926A (zh) 2016-01-29 2016-01-29 提高机顶盒启动速度并延长Flash使用寿命的方法

Country Status (1)

Country Link
CN (1) CN105739926A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206162A (zh) * 2007-12-14 2008-06-25 哈尔滨工程大学 平轮检测数据采集与信号处理系统
CN101458662A (zh) * 2007-12-14 2009-06-17 创惟科技股份有限公司 改进闪存存取效率的存储系统与方法
US20110296085A1 (en) * 2010-05-28 2011-12-01 International Business Machines Corporation Cache memory management in a flash cache architecture
CN103136121A (zh) * 2013-03-25 2013-06-05 中国人民解放军国防科学技术大学 一种固态盘的缓存管理方法
CN104636285A (zh) * 2015-02-03 2015-05-20 北京麓柏科技有限公司 一种闪存存储系统及其读写、删除方法
CN104717557A (zh) * 2014-11-25 2015-06-17 四川长虹电器股份有限公司 一种基于机顶盒读取Flash数据的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206162A (zh) * 2007-12-14 2008-06-25 哈尔滨工程大学 平轮检测数据采集与信号处理系统
CN101458662A (zh) * 2007-12-14 2009-06-17 创惟科技股份有限公司 改进闪存存取效率的存储系统与方法
US20110296085A1 (en) * 2010-05-28 2011-12-01 International Business Machines Corporation Cache memory management in a flash cache architecture
CN103136121A (zh) * 2013-03-25 2013-06-05 中国人民解放军国防科学技术大学 一种固态盘的缓存管理方法
CN104717557A (zh) * 2014-11-25 2015-06-17 四川长虹电器股份有限公司 一种基于机顶盒读取Flash数据的方法
CN104636285A (zh) * 2015-02-03 2015-05-20 北京麓柏科技有限公司 一种闪存存储系统及其读写、删除方法

Similar Documents

Publication Publication Date Title
JP4597153B2 (ja) 非揮発性メモリがキャッシュとして使用される保存装置、及びそのためのマッピング情報復旧方法
RU2592415C2 (ru) Устройство формирования изображения и способ управления им
US7480904B2 (en) Firmware update for optical disc drive
US20130007430A1 (en) Server and firmware updating method
US20120072658A1 (en) Program, control method, and control device
JP2009134692A (ja) 単一キー制御を使用するシステム構成の自動修復方法
CN103092662A (zh) 一种基于嵌入式操作系统的终端设备的软件模块升级方法
CN103907095A (zh) 移动存储器高速缓存读取优化
WO2019109477A1 (zh) 显示面板的Mura补偿数据的更新方法
EP1019809B1 (en) Apparatus and method for upgrading a computer system operating system
CN105095099A (zh) 一种基于内存页位图变更的大内存页整合方法
CN104050088A (zh) 差异逻辑至实体的方法与系统
CN103197934A (zh) 多媒体装置的启动方法及多媒体装置
CN100430894C (zh) 具有断电保护的电视系统软件更新方法
CN100549959C (zh) 引导程序在线升级方法
CN102880494A (zh) 一种用于微小卫星系统的局部代码更新方法及其系统
CN103412829A (zh) 扩大mcu程序地址空间的方法及装置
US20120254499A1 (en) Program, control method, and control device
CN104239101A (zh) 基于安卓系统的设备的网络图片的缓存方法
CN101408864A (zh) 用于断电时的数据保护方法及使用此方法的控制器
CN103150288B (zh) 一种快速开机的soc芯片及其实现方法
CN105739926A (zh) 提高机顶盒启动速度并延长Flash使用寿命的方法
CN101833519B (zh) 一种减少存储技术设备中地址映射表常驻内存的方法
WO2011086710A1 (ja) プログラム、制御方法、並びに制御装置
CN100424651C (zh) 电视机重要数据备份及恢复方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160706

RJ01 Rejection of invention patent application after publication