CN104484290B - Flash的操作方法及Flash的操作装置 - Google Patents
Flash的操作方法及Flash的操作装置 Download PDFInfo
- Publication number
- CN104484290B CN104484290B CN201410810237.6A CN201410810237A CN104484290B CN 104484290 B CN104484290 B CN 104484290B CN 201410810237 A CN201410810237 A CN 201410810237A CN 104484290 B CN104484290 B CN 104484290B
- Authority
- CN
- China
- Prior art keywords
- flash
- switch
- operating
- operation switch
- trigger condition
- 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.)
- Active
Links
- 238000011017 operating method Methods 0.000 title abstract description 4
- 238000000034 method Methods 0.000 claims description 57
- 230000008569 process Effects 0.000 claims description 37
- 238000004886 process control Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 10
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种Flash的操作方法及Flash的操作装置。所述Flash的操作方法包括:在接收到Flash的操作指令时,判断该操作指令是否满足触发条件;当满足触发条件时,打开Flash的操作开关,并对Flash进行相应操作;当不满足触发条件时,禁止操作Flash。本发明技术方案中,在接收到Flash的操作指令时,需要先判断是否满足触发条件,若不满足触发条件,则禁止操作Flash,通过这样的方式有效的避免了对Flash的频繁操作,降低了对Flash的操作次数,从而解决了现有技术中由于Flash的操作次数过于频繁而导致系统无法正常运行的问题。
Description
技术领域
本发明涉及一种存储器的操作方法,特别是涉及一种Flash的操作方法及Flash的操作装置。
背景技术
Flash,是内存(Memory)的一种,但兼有RAM和ROM的优点,是一种可在系统(In-System)进行电擦写,掉电后信息不丢失的存储器,同时它的高集成度和低成本使它成为市场主流。
Flash芯片是由内部成千上万个存储单元组成的,每个单元存储一个bit。具有低功耗、大容量、擦写速度快、可整片或分扇区在系统编程(烧写)、擦除等特点,并且可由内部嵌入的算法完成对芯片的操作,因而在各种嵌入式系统中得到了广泛的应用。作为一种非易失性存储器,Flash在系统中通常用于存放程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。
常用的Flash为8位或16位的数据宽度,编程电压为单3.3V。主要的生产厂商为INTEL、ATMEL、AMD、HYUNDAI等。Flash技术根据不同的应用场合也分为不同的发展方向,有擅长存储代码的NOR Flash和擅长存储数据的NAND Flash。
Flash的读写次数是有限制的,且在读写过程中如果掉电会导致数据丢失,系统无法正常运行,但是往往在实际情况下,嵌入式网关设备通常都会有大量或者较为频繁的读写Flash动作,从而导致系统出错,无法正常运行。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种Flash的操作方法及Flash的操作装置,用于解决现有技术中由于Flash的操作次数太多而导致的系统无法正常运行的问题。
为实现上述目的及其他相关目的,本发明提供一种Flash的操作方法,所述Flash的操作方法包括:
在接收到Flash的操作指令时,判断该操作指令是否满足触发条件;
当满足触发条件时,打开Flash的操作开关,并对Flash进行相应操作;
当不满足触发条件时,禁止操作Flash。
优选的,所述Flash的操作方法还包括:在对Flash进行相应操作完成之后,关闭所述Flash的操作开关。
优选的,所述Flash的操作方法还包括:在系统运行过程中,关闭预设进程中对Flash的操作。
优选的,在nvram_commit函数接口中设置Flash的操作开关。
优选的,通过全局变量needCommit作为所述Flash的操作开关。
本发明还提供一种Flash的操作装置,所述Flash的操作装置包括:
指令接收模块,用于接收Flash的操作指令;
判断模块,用于判断该操作指令是否满足触发条件;
控制模块,用于当满足触发条件时,打开Flash的操作开关,并对Flash进行相应操作;还用于当不满足触发条件时,禁止操作Flash。
优选的,所述控制模块还用于在对Flash进行相应操作完成之后,关闭所述Flash的操作开关。
优选的,所述Flash的操作装置还包括:进程控制模块;所述进程控制模块用于在系统运行过程中,关闭预设进程中对Flash的操作。
优选的,在nvram_commit函数接口中设置Flash的操作开关。
优选的,通过全局变量needCommit作为所述Flash的操作开关。
如上所述,本发明的Flash的操作方法及Flash的操作装置,具有以下有益效果:
本发明技术方案中,在接收到Flash的操作指令时,需要先判断是否满足触发条件,若不满足触发条件,则禁止操作Flash,通过这样的方式有效的避免了对Flash的频繁操作,降低了对Flash的操作次数,从而解决了现有技术中由于Flash的操作次数过于频繁而导致系统无法正常运行的问题。
另外,本发明技术方案中,通过设置Flash的操作开关来确定能否对Flash进行操作,这种方式简便可靠,无须增加成本。
附图说明
图1显示为本发明Flash的操作方法的流程示意图。
图2显示为本发明Flash的操作装置的结构示意图。
元件标号说明
10 指令接收模块
20 判断模块
30 控制模块
S1~S5 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
请参阅图1,本发明提供一种Flash的操作方法,所述Flash的操作方法包括:
步骤S1,接收到Flash的操作指令;
步骤S2,判断该操作指令是否满足触发条件;
当满足触发条件时,执行步骤S3,打开Flash的操作开关,并对Flash进行相应操作;
当不满足触发条件时,执行步骤S4,禁止操作Flash。
在本实施例中,在nvram_commit函数接口中设置Flash的操作开关;例如,可以通过全局变量needCommit作为所述Flash的操作开关。
在本实施例中,当Flash的操作开关处于关闭的状态时,任何进程在调用或者操作Flash的动作都会被禁止,即关闭的情况下,无法对Flash进行读写操作,这样可以有效的避免读写Flash导致的系统错误。
将Flash操作的开关设置在nvram_commit函数接口中,通过全局变量needCommit来实现,该变量决定了是否开启或关闭读写Flash操作,取值范围为0、1,例如,“1”表示Flash操作开关处于开启状态,这时允许进行读写操作;“0”表示Flash操作开关处于关闭状态,这时禁止读写操作。
也就是说,在进行commit动作时,会判断该全局变量的值,如果为1,继续操作,如果为0,退出返回。
needCommit的值由用户空间调用Flash操作的模块中的is_commit函数来实现设置,此函数接口可以被各个应用模块调用。
通过设置Flash操作的开关,可以对Flash的读写动作进行管理,通常情况下Flash的状态为禁止即关闭状态,为了能在合理的条件下打开开关记性读写操作,需要对调用Flash操作的进程进行条件筛选和判断,且在有外部相关动作触发的情况下才开启判断及打开开关的过程,根据判断结果来修改Flash的可操作状态,如果条件不满足,则禁止对Flash进行操作,条件满足后方可打开开关,进行后续的操作,由于是条件且触发式的,所以不会有错误和多余的进程来进行Flash的操作。
Flash操作条件筛选的过程为:上层应用模块在需要操作Flash时调用is_commit函数接口来进行判断,该函数的功能可以判定此时此模块是否可以打开读写Flash的开关,如果判读结果为真,则打开,否则,关闭Flash操作开关。
比如,httpd模块在调用Flash操作过程中,会首先调用is_commit函数进行判断,输入的条件有模块名,读写Flash变量的名称等,经过判断,如果可以开启读写Flash开关,则设置needCommit为1,继续操作Flash;如果条件不满足,判断结果为否,则关闭Flash操作开关,设置needCommit为0,停止操作Flash,并返回。
本实施例中,只有当Flash操作开关处于开启状态时,相关的进程才可以进行Flash的读写操作,一旦该操作完成,Flash自带的管理机制会立刻将此开关恢复到关闭状态,从而保护对Flash的读写操作。通过这样的方式可以有效降低读写Flash的次数,从而降低了由于操作次数过于频繁而导致的系统出错机率。
继续参考图1,所述Flash的操作方法还可以包括:步骤S5,在对Flash进行相应操作完成之后,关闭所述Flash的操作开关。
对Flash的操作开关进行及时的关闭,有利于后续流程中对操作指纹的判断操作。
在较佳实施例中,所述Flash的操作方法还可以包括:在系统运行过程中,关闭预设进程中对Flash的操作。
发明人经过研究发现:系统运行过程中有很多需要对Flash进行操作的地方,可以再不需要的模块或者进程中避免对Flash的操作,不需要对Flash进行操作的进程主要包含几个部分:1)开关机过程中;2)不需要掉电保存的数据;3)系统中自定义和已经赋值的变量。
在关闭上述不需要对Flash进行操作的进程后,可以极大的降低系统运行过程中读写Flash的次数,从而进一步降低了读写过程中出现的错误。
本发明还提供一种Flash的操作装置,参考图2,所述Flash的操作装置包括:
指令接收模块10,用于接收Flash的操作指令;
判断模块20,用于判断该操作指令是否满足触发条件;
控制模块30,用于当满足触发条件时,打开Flash的操作开关,并对Flash进行相应操作;还用于当不满足触发条件时,禁止操作Flash。
在本实施例中,在nvram_commit函数接口中设置Flash的操作开关。例如,通过全局变量needCommit作为所述Flash的操作开关。
较佳的,所述控制模块30还用于在对Flash进行相应操作完成之后,关闭所述Flash的操作开关。
在其他实施例中,所述Flash的操作装置还可以包括:进程控制模块(图中未示出);所述进程控制模块用于在系统运行过程中,关闭预设进程中对Flash的操作。
预设进程可以包括但不限于以下几种:1)开关机过程中;2)不需要掉电保存的数据;3)系统中自定义和已经赋值的变量。
本发明Flash的操作装置的具体工作过程可参考前述关于Flash的操作方法的描述,在此不再赘述。
本发明的Flash的操作装置通过判断模块对操作指令进行判断,当满足触发条件时才对Flash进行相应操作;若不满足触发条件,则禁止操作Flash。通过这种有条件的触发,可以有效的降低对Flash的操作次数,从而极大的降低系统的出错机率,并提高Flash的使用寿命;进一步地,本发明的Flash的操作装置还可以通过进程控制模块将系统运行过程的相关进程进行关闭,从而进一步地减少对Flash的操作,进而降低系统的出错机率。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (8)
1.一种Flash的操作方法,其特征在于,所述Flash的操作方法包括:
在接收到Flash的操作指令时,判断该操作指令是否满足触发条件;
当满足触发条件时,打开Flash的操作开关,并对Flash进行相应操作;
当不满足触发条件时,禁止操作Flash;
在系统运行过程中,关闭预设进程中对Flash的操作,所述进程包括:开关机过程中、不需要掉电保存的数据、系统中自定义和已经赋值的变量;
所述Flash的操作开关设置在nvram_commit函数接口中,通过全局变量needCommit来实现,该变量决定了是否开启或关闭读写Flash操作,取值范围为0和1;其中,
0表示Flash操作开关处于关闭状态,这时禁止读写操作;
1表示Flash操作开关处于开启状态,这时允许进行读写操作。
2.根据权利要求1所述的Flash的操作方法,其特征在于,所述Flash的操作方法还包括:在对Flash进行相应操作完成之后,关闭所述Flash的操作开关。
3.根据权利要求1所述的Flash的操作方法,其特征在于,在nvram_commit函数接口中设置Flash的操作开关。
4.根据权利要求1所述的Flash的操作方法,其特征在于,通过全局变量needCommit作为所述Flash的操作开关。
5.一种Flash的操作装置,其特征在于,所述Flash的操作装置包括:
指令接收模块,用于接收Flash的操作指令;
判断模块,用于判断该操作指令是否满足出发条件;
控制模块,用于当满足触发条件时,打开Flash的操作开关,并对Flash进行相应操作;还用于当不满足触发条件时,禁止操作Flash;
进程控制模块,所述进程控制模块用于在系统运行过程中,关闭预设进程中对Flash的操作,所述进程包括:开关机过程中、不需要掉电保存的数据、系统中自定义和已经赋值的变量;
所述Flash的操作开关设置在nvram_commit函数接口中,通过全局变量needCommit来
实现,该变量决定了是否开启或关闭读写Flash操作,取值范围为0和1;其中,
0表示Flash操作开关处于关闭状态,这时禁止读写操作;
1表示Flash操作开关处于开启状态,这时允许进行读写操作。
6.根据权利要求5所述的Flash的操作装置,其特征在于,所述控制模块还用于在对Flash进行相应操作完成之后,关闭所述Flash的操作开关。
7.根据权利要求5所述的Flash的操作装置,其特征在于,在nvram_commit函数接口中设置Flash的操作开关。
8.根据权利要求5所述的Flash的操作装置,其特征在于,通过全局变量needCommit作为所述Flash的操作开关。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410810237.6A CN104484290B (zh) | 2014-12-19 | 2014-12-19 | Flash的操作方法及Flash的操作装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410810237.6A CN104484290B (zh) | 2014-12-19 | 2014-12-19 | Flash的操作方法及Flash的操作装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104484290A CN104484290A (zh) | 2015-04-01 |
CN104484290B true CN104484290B (zh) | 2018-09-28 |
Family
ID=52758833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410810237.6A Active CN104484290B (zh) | 2014-12-19 | 2014-12-19 | Flash的操作方法及Flash的操作装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104484290B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110058A (zh) * | 2006-07-20 | 2008-01-23 | 何纯淳 | 闪速存储器的回收方法 |
CN102890659A (zh) * | 2012-09-17 | 2013-01-23 | 王保进 | 以dram为存储介质的数据安全存储转移方法及装置 |
CN103136121A (zh) * | 2013-03-25 | 2013-06-05 | 中国人民解放军国防科学技术大学 | 一种固态盘的缓存管理方法 |
CN103699030A (zh) * | 2013-12-06 | 2014-04-02 | 中联重科股份有限公司 | 工程机械的工作机构的工作参数保存装置、系统和方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546298B (zh) * | 2008-03-28 | 2012-01-11 | 群联电子股份有限公司 | 用于闪存的数据读取方法、其控制器与储存系统 |
CN101620652B (zh) * | 2008-07-01 | 2011-12-28 | 联想(北京)有限公司 | 一种保护存储器数据的主板、计算机和方法 |
CN103366814B (zh) * | 2012-03-31 | 2016-09-28 | 京信通信系统(中国)有限公司 | 一种Flash数据安全保护电路和方法 |
-
2014
- 2014-12-19 CN CN201410810237.6A patent/CN104484290B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110058A (zh) * | 2006-07-20 | 2008-01-23 | 何纯淳 | 闪速存储器的回收方法 |
CN102890659A (zh) * | 2012-09-17 | 2013-01-23 | 王保进 | 以dram为存储介质的数据安全存储转移方法及装置 |
CN103136121A (zh) * | 2013-03-25 | 2013-06-05 | 中国人民解放军国防科学技术大学 | 一种固态盘的缓存管理方法 |
CN103699030A (zh) * | 2013-12-06 | 2014-04-02 | 中联重科股份有限公司 | 工程机械的工作机构的工作参数保存装置、系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104484290A (zh) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7663933B2 (en) | Memory controller | |
US10096357B2 (en) | Data storage device and data writing method thereof | |
US8634267B2 (en) | Flash memory chip power management for data reliability and methods thereof | |
CN101770428B (zh) | 非易失性存储器操作方法及使用该方法的数据储存系统 | |
US8725952B2 (en) | Memory controller for suppressing read disturb when data is repeatedly read out | |
US7463520B2 (en) | Memory device with variable trim settings | |
JP2015156251A (ja) | ダイナミックマルチモード動作を有する不揮発性メモリ | |
US20080077728A1 (en) | Mapping information managing apparatus and method for non-volatile memory supporting different cell types | |
US20170285953A1 (en) | Data Storage Device and Data Maintenance Method thereof | |
US20180336088A1 (en) | Data storage device and operating method thereof | |
US20120243321A1 (en) | Semiconductor memory device | |
KR100823169B1 (ko) | 향상된 동작 특성을 갖는 플래시 메모리 시스템 및 그것의액세스 방법 | |
US20080109612A1 (en) | Dynamic Code Relocation for Low Endurance Memories | |
US9977603B2 (en) | Memory devices for detecting known initial states and related methods and electronic systems | |
CN103150184A (zh) | 一种对闪存进行操作的方法和系统芯片 | |
US8913430B2 (en) | Non-volatile memory device | |
US20050273589A1 (en) | Method and system for reading instructions from NAND flash memory and writing them into SRAM for execution by a processing device | |
CN104484290B (zh) | Flash的操作方法及Flash的操作装置 | |
US7508730B2 (en) | Semiconductor memory devices having control circuitry to avoid recovering a charge pump when executing consecutive sections of a continuous operation command and methods of operating the same | |
US20060282626A1 (en) | Memory device and method of controlling operation of the memory device | |
KR101799765B1 (ko) | 비휘발성 메모리 장치의 프로그램 방법 | |
TWI467582B (zh) | Nor型快閃記憶體控制器 | |
JP2008225922A (ja) | 不揮発性記憶装置 | |
US9620228B1 (en) | Monotonically increasing persistent counters | |
CN109767800A (zh) | 恢复过抹除记忆胞的快闪存储器装置及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201103 Address after: 318015 no.2-3167, zone a, Nonggang City, no.2388, Donghuan Avenue, Hongjia street, Jiaojiang District, Taizhou City, Zhejiang Province Patentee after: Taizhou Jiji Intellectual Property Operation Co.,Ltd. Address before: 201616 Shanghai city Songjiang District Sixian Road No. 3666 Patentee before: Phicomm (Shanghai) Co.,Ltd. |
|
TR01 | Transfer of patent right |