CN102200937A - 一种与非闪存中数据读取的方法、装置及电视机系统 - Google Patents
一种与非闪存中数据读取的方法、装置及电视机系统 Download PDFInfo
- Publication number
- CN102200937A CN102200937A CN2011101440857A CN201110144085A CN102200937A CN 102200937 A CN102200937 A CN 102200937A CN 2011101440857 A CN2011101440857 A CN 2011101440857A CN 201110144085 A CN201110144085 A CN 201110144085A CN 102200937 A CN102200937 A CN 102200937A
- Authority
- CN
- China
- Prior art keywords
- data
- storage area
- data storage
- read
- block
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明适用于信息处理领域,提供了一种与非闪存中数据读取的方法、装置及电视机系统,所述方法包括下述步骤:在与非闪存中设定第一数据存储区和第二数据存储区;将存储到第二数据存储区中的数据同时备份到第一数据存储区中;当从第二数据存储区中读取的数据不正确时,将第一数据存储区中的该数据复制到第二数据存储区中,并重新从第二数据存储区中读取该数据。本发明可有效保证与非闪存中数据读取的正确性,提高系统的稳定性。
Description
技术领域
本发明属于信息处理领域,尤其涉及一种与非闪存中数据读取的方法、装置及电视机系统。
背景技术
随着信息技术的发展,越来越多的信息系统(例如:MP3、数码相机、智能电视机等)需要内置可擦写的非易失存储介质来存储大容量的数据信息。而在现有的非易失存储介质中,与非闪存因其价格低廉、存储容量大,擦写速度快等优点,在业界得到了广泛的应用。
与非闪存通常由块组成,由于工艺限制,与非闪存芯片在出厂时并不能保证每一个块为“好块”,而且与非闪存的稳定性较差,在使用的过程中,也容易出现新的坏块,从而导致与非闪存中存储的内容出现错误或者丢失,使得系统在数据读取时出错,影响整个系统的稳定性。
发明内容
本发明实施例的目的在于提供一种与非闪存中数据读取的方法,旨在解决现有的与非闪存容易出现存储内容错误或者丢失,导致系统数据读取时出错,影响系统稳定性的问题。
本发明实施例是这样实现的,一种与非闪存中数据读取的方法,所述方法包括下述步骤:
在与非闪存中设定第一数据存储区和第二数据存储区;
将存储到第二数据存储区中的数据同时备份到第一数据存储区中;
当从第二数据存储区中读取的数据不正确时,将第一数据存储区中的该数据复制到第二数据存储区中,并重新从第二数据存储区中读取该数据。
本发明实施例的另一目的在于提供一种与非闪存中数据读取的装置,所述装置包括:
存储区设定单元,用于在与非闪存中设定第一数据存储区和第二数据存储区;
数据备份单元,用于将存储到第二数据存储区中的数据同时备份到第一数据存储区中;
数据读取单元,用于当从第二数据存储区中读取的数据不正确时,将第一数据存储区中的该数据复制到第二数据存储区中,并重新从第二数据存储区中读取该数据。
本发明实施例的再一目的在于提供一种电视机系统,所述电视机系统包含所述与非闪存中数据读取的装置。
在本发明实施例中,通过在与非闪存中设定第一数据存储区和第二数据存储区,将存储到第二数据存储区中的数据同时备份到第一数据存储区中,使得当从第二数据存储区中读取的数据不正确时,可以将第一数据存储区中的该数据复制到第二数据存储区中重新读取,从而有效保证数据读取的正确性,提高系统的稳定性。
附图说明
图1是本发明实施例一提供的与非闪存中数据读取的方法的实现流程图;
图2是本发明实施例二提供的与非闪存中数据读取的方法的实现流程图;
图3是本发明实施例三提供的与非闪存中数据读取装置的组成结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过在与非闪存中设定第一数据存储区和第二数据存储区,将存储到第二数据存储区中的数据同时备份到第一数据存储区中,使得当从第二数据存储区中读取的数据不正确时,可以将第一数据存储区中的该数据复制到第二数据存储区中重新读取,从而有效保证数据读取的正确性,提高系统的稳定性。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明实施例一提供的与非闪存中数据读取的方法的实现流程,该方法过程详述如下:
在步骤S101中,在与非闪存中设定第一数据存储区和第二数据存储区;
在本实施例中,可以根据实际需要,预先在与非闪存中设定两个或者两个以上的数据存储区,并将其中的一个数据存储区用于系统调用数据的存储区,其他数据存储区用于备份该数据。所述设定的数据存储区包含多个存储数据的数据块。其中,所述数据包括但不局限于应用程序。
在步骤S102中,将存储到第二数据存储区中的数据同时备份到第一数据存储区中;
在本实施例中,将预先设置的第二数据存储区中存储的数据作为系统需要调用的数据,为了防止第二数据存储区中存储的数据由于外界的电磁干扰、静电干扰或者与非闪存本身的坏块等引起的数据错误或者丢失,导致系统数据读取时出错,影响系统稳定性,将存储到第二数据存储区中的数据同时备份到预先设置的其他数据存储区中,例如:备份到预先设置的第一数据存储区中。其中,为了方便数据的读取,数据存储的方式采用链式存储。
在步骤S103中,判断从第二数据存储区中读取的数据是否正确,如果判断结果为“否”,则执行步骤S104,如果判断结果为“是”,则结束流程。
在本实施例中,为了读取与非闪存中存储的数据,系统发出读取指令和需要读取的数据的地址,与非闪存在接收到读取指令和地址后,输出对应的数据。例如:电视机系统发出开机指令和需要读取数据的地址,第二数据存储区根据所述地址输出对应数据块中的开机数据,实现电视的开机。
在本实施例中,每份存储的数据及其备份的数据都包含一个错误检查和纠正(Error Checking and Correction,ECC)码,为了检测输出数据是否存在错误,系统在数据读取时,先生成正确的ECC码,并将该ECC码与读取的数据的ECC码进行比较验证,如果比较结果相同,则说明读取的数据正确,结束流程。如果比较结果不相同,则说明读取的数据存在错误,执行步骤S104。
在步骤S104中,当从第二数据存储区中读取的数据不正确时,将第一数据存储区中的该数据复制到第二数据存储区中,并重新从第二数据存储区中读取该数据。
在本实施例中,为了保证数据读取的正确性,提高系统的稳定性,当从第二数据存储区中读取的某个数据不正确时,将备份在第一数据存储区中的该数据复制到第二数据存储区中,并重新从第二数据存储区中读取该数据,读取完后结束流程。
实施例二:
图2示出了本发明实施例二提供的与非闪存中数据读取的方法的实现流程,该方法过程详述如下:
在步骤S201中,在与非闪存中设定第一数据存储区和第二数据存储区;
在步骤S202中,将存储到第二数据存储区中的数据同时备份到第一数据存储区中;
在步骤S203中,判断从第二数据存储区中读取的数据是否正确,如果判断结果为“否”,则执行步骤S204,如果判断结果为“是”,则结束流程。
在步骤S204中,对从第二数据存储区中读取的不正确数据进行错误检查和纠正,判断所述数据错误检查和纠正是否成功;如果判断结果为“是”,则执行步骤S205,如果判断结果为“否”,则执行步骤S206。
在本实施例中,在系统生成的ECC码与读取数据的ECC码比较结果不相同时,说明该数据存在错误,可以根据系统生成的ECC码与该数据的ECC码,查找到错误数据,并对所述错误数据进行纠错,如果纠错成功,则执行步骤S205,如果纠错不成功,则执行步骤S206。
在步骤S205中,当所述数据错误检查和纠正成功时,根据第二数据存储区中纠正后的数据更新第一数据存储区中的数据;
在本实施例中,将纠错成功后的数据覆盖原数据(第二数据存储区中的数据)及其备份数据(第一数据存储区中的数据),实现原数据与备份数据的同步更新。其中,在备份数据更新的过程中,需要对存储新备份数据的数据块进行检测,判断是否存在坏块。
在步骤S206中,检测存储所述数据的数据块是否为坏块;如果判断结果为“是”,则执行步骤S207,如果判断结果为“否”,则返回继续执行步骤S204。
作为本发明的一个实施例,在所述数据错误检查和纠正不成功时,通过现有技术检测存储所述数据的数据块是否为坏块,在检测到所述数据块为坏块时,执行步骤S207,否则返回继续执行步骤S204。
在步骤S207中,当检测到所述数据块为坏块时,标记所述数据块,并将第一数据存储区中的该数据复制到第二数据存储区中空的数据块中重新读取。
在本实施例中,为了下次数据存储时能有效避开坏块,对检测到的坏块进行标识。同时,为了保证数据读取的正确性,将存储在第一数据存储区中的该数据复制到第二数据存储区中空的数据块中重新读取,读取完后结束流程。
为了提高检测的效率,作为本发明的另一实施例,所述方法还包括:
在系统生成的ECC码与读取数据的ECC码比较结果不相同时,说明该读取数据存在错误,对该读取数据中错误数据的大小进行检测,在所述错误数据等于或者小于预设的阈值时(例如:1比特),通过ECC码对所述错误数据进行纠正,在所述错误数据纠正不成功时,再对存储所述数据的数据块进行检测;在所述错误数据大于预设的阈值时,直接进行坏块检测。
实施例三:
图3示出了本发明实施例三提供的与非闪存中数据读取装置的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该与非闪存中数据读取装置可以应用于各种信息系统,例如MP3、数码相机、电视机等,可以是运行于这些信息系统内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些信息系统中或者运行于这些信息系统的应用系统中。
该与非闪存中数据读取装置包括存储区设定单元31、数据备份单元32和数据读取单元33。其中,各单元的具体功能如下:
存储区设定单元31,用于在与非闪存中设定第一数据存储区和第二数据存储区,其具体实施方式如上所述,在此不再赘述;
数据备份单元32,用于将存储到第二数据存储区中的数据同时备份到第一数据存储区中,其具体实施方式如上所述,在此不再赘述;
数据读取单元33,用于当从第二数据存储区中读取的数据不正确时,将第一数据存储区中的该数据复制到第二数据存储区中,并重新从第二数据存储区中读取该数据。其中,所述数据读取单元33还包括检测模块331、数据读取模块332以及数据更新模块333,各模块的具体功能如下:
检测模块331,用于对从第二数据存储区中读取的不正确数据进行错误检查和纠正,当所述数据错误检查和纠正不成功时,对存储所述数据的数据块进行检测;
数据读取模块332,用于当检测到存储所述数据的数据块为坏块时,标记该数据块,并将第一数据存储区中的该数据复制到第二数据存储区中空的数据块中重新读取;
数据更新模块333,用于当所述数据错误检查和纠正成功时,据第二数据存储区中纠正后的数据更新第一数据存储区中的数据。
在本实施例中,其模块的具体实施方式如上所述,在此不再赘述。
为了提高检测的效率,作为本发明的另一实施例,所述数据读取单元还包括另一检测模块:
该检测模块用于在系统生成的ECC码与读取数据的ECC码比较结果不相同时,说明该读取数据存在错误,对该读取数据中错误数据的大小进行检测,在所述错误数据等于或者小于预设的阈值时(例如:1比特),通过ECC码对所述错误数据进行纠正,在所述错误数据纠正不成功时,再对存储所述数据的数据块进行检测;在所述错误数据大于预设的阈值时,直接进行坏块检测。
在本发明实施例中,通过在与非闪存中设定第一数据存储区和第二数据存储区,将存储到第二数据存储区中的数据同时备份到第一数据存储区中,使得当从第二数据存储区中读取的数据不正确时,可以将第一数据存储区中的该数据复制到第二数据存储区中重新读取,从而有效保证数据读取的正确性,提高系统的稳定性。另外,通过对读取的数据增加ECC验证,提高了出错数据的纠正率,通过对坏块的检测和标记,有效的解决了系统在复杂环境下数据读取出错的问题,而且整个过程不需要增加其他硬件,降低了生成的成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种与非闪存中数据读取的方法,其特征在于,所述方法包括下述步骤:
在与非闪存中设定第一数据存储区和第二数据存储区;
将存储到第二数据存储区中的数据同时备份到第一数据存储区中;
当从第二数据存储区中读取的数据不正确时,将第一数据存储区中的该数据复制到第二数据存储区中,并重新从第二数据存储区中读取该数据。
2.如权利要求1所述的方法,其特征在于,所述第一数据存储区和第二数据存储区中包含多个存储数据的数据块。
3.如权利要求2所述的方法,其特征在于,所述将第一数据存储区中的该数据复制到第二数据存储区中,并重新从第二数据存储区中读取该数据的步骤具体为:
对从第二数据存储区中读取的不正确数据进行错误检查和纠正,当所述数据错误检查和纠正不成功时,对存储所述数据的数据块进行检测;或者对从第二数据存储区中读取的不正确数据进行大小检测,当所述数据的大小等于或者小于预设的阈值时,对所述数据进行错误检查和纠正,在所述数据错误检查和纠正不成功时,对存储所述数据的数据块进行检测;当所述数据的大小大于预设的阈值时,直接对存储所述数据的数据块进行检测;
当检测到存储所述数据的数据块为坏块时,标记该数据块,并将第一数据存储区中的该数据复制到第二数据存储区中空的数据块中重新读取。
4.如权利要求3所述的方法,其特征在于,所述方法还包括以下步骤:
当所述数据错误检查和纠正成功时,根据第二数据存储区中纠正后的数据更新第一数据存储区中的数据。
5.一种与非闪存中数据读取的装置,其特征在于,所述装置包括:
存储区设定单元,用于在与非闪存中设定第一数据存储区和第二数据存储区;
数据备份单元,用于将存储到第二数据存储区中的数据同时备份到第一数据存储区中;
数据读取单元,用于当从第二数据存储区中读取的数据不正确时,将第一数据存储区中的该数据复制到第二数据存储区中,并重新从第二数据存储区中读取该数据。
6.如权利要求5所述的装置,其特征在于,所述第一数据存储区和第二数据存储区中包含多个存储数据的数据块。
7.如权利要求6所述的装置,其特征在于,所述数据读取单元还包括:
检测模块,用于对从第二数据存储区中读取的不正确数据进行错误检查和纠正,当所述数据错误检查和纠正不成功时,对存储所述数据的数据块进行检测;或者用于对从第二数据存储区中读取的不正确数据进行大小检测,当所述数据的大小等于或者小于预设的阈值时,对所述数据进行错误检查和纠正,在所述数据错误检查和纠正不成功时,对存储所述数据的数据块进行检测;当所述数据的大小大于预设的阈值时,直接对存储所述数据的数据块进行检测;
数据读取模块,用于当检测到存储所述数据的数据块为坏块时,标记所述数据块,并将第一数据存储区中的该数据复制到第二数据存储区中空的数据块中重新读取。
8.如权利要求7所述的装置,其特征在于,所述数据读取单元还包括:
数据更新模块,用于当所述数据错误检查和纠正成功时,根据第二数据存储区中纠正后的数据更新第一数据存储区中的数据。
9.一种电视机系统,其特征在于,所述电视机系统包含权利要求5至8任一项所述的与非闪存中数据读取的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101440857A CN102200937A (zh) | 2011-05-31 | 2011-05-31 | 一种与非闪存中数据读取的方法、装置及电视机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101440857A CN102200937A (zh) | 2011-05-31 | 2011-05-31 | 一种与非闪存中数据读取的方法、装置及电视机系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102200937A true CN102200937A (zh) | 2011-09-28 |
Family
ID=44661628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101440857A Pending CN102200937A (zh) | 2011-05-31 | 2011-05-31 | 一种与非闪存中数据读取的方法、装置及电视机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102200937A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092713A (zh) * | 2012-11-07 | 2013-05-08 | 无锡成电科大科技发展有限公司 | 使用与非闪存存储嵌入式代码的方法 |
CN103092727A (zh) * | 2013-01-18 | 2013-05-08 | 大唐移动通信设备有限公司 | Flash存储介质上的数据纠错方法和装置 |
CN103514176A (zh) * | 2012-06-21 | 2014-01-15 | 苏州工业园区新宏博通讯科技有限公司 | 一种智能终端的数据管理方法 |
CN104021806A (zh) * | 2014-05-16 | 2014-09-03 | 华为技术有限公司 | 一种数据处理的方法和设备 |
CN104133731A (zh) * | 2014-08-06 | 2014-11-05 | 曙光信息产业(北京)有限公司 | 数据校正方法和系统 |
CN106776106A (zh) * | 2016-11-11 | 2017-05-31 | 南京南瑞集团公司 | 一种基于NandFlash的数据存储方法 |
CN109521960A (zh) * | 2018-11-02 | 2019-03-26 | 格力电器(合肥)有限公司 | 数据读写方法、装置和系统 |
CN111221681A (zh) * | 2019-11-07 | 2020-06-02 | 华为技术有限公司 | 一种存储器的修复方法及装置 |
CN113495670A (zh) * | 2020-04-01 | 2021-10-12 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
US11886287B2 (en) | 2020-04-01 | 2024-01-30 | Changxin Memory Technologies, Inc. | Read and write methods and memory devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05108534A (ja) * | 1991-10-11 | 1993-04-30 | Internatl Business Mach Corp <Ibm> | データ処理システムのシステム構成設定方法、データ処理システム、及びデータ処理システム用拡張ユニツト |
CN101777013A (zh) * | 2009-01-12 | 2010-07-14 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘及数据读写方法 |
-
2011
- 2011-05-31 CN CN2011101440857A patent/CN102200937A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05108534A (ja) * | 1991-10-11 | 1993-04-30 | Internatl Business Mach Corp <Ibm> | データ処理システムのシステム構成設定方法、データ処理システム、及びデータ処理システム用拡張ユニツト |
CN101777013A (zh) * | 2009-01-12 | 2010-07-14 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘及数据读写方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514176A (zh) * | 2012-06-21 | 2014-01-15 | 苏州工业园区新宏博通讯科技有限公司 | 一种智能终端的数据管理方法 |
CN103092713A (zh) * | 2012-11-07 | 2013-05-08 | 无锡成电科大科技发展有限公司 | 使用与非闪存存储嵌入式代码的方法 |
CN103092727A (zh) * | 2013-01-18 | 2013-05-08 | 大唐移动通信设备有限公司 | Flash存储介质上的数据纠错方法和装置 |
CN103092727B (zh) * | 2013-01-18 | 2015-08-26 | 大唐移动通信设备有限公司 | Flash存储介质上的数据纠错方法和装置 |
CN104021806A (zh) * | 2014-05-16 | 2014-09-03 | 华为技术有限公司 | 一种数据处理的方法和设备 |
CN104133731A (zh) * | 2014-08-06 | 2014-11-05 | 曙光信息产业(北京)有限公司 | 数据校正方法和系统 |
CN106776106A (zh) * | 2016-11-11 | 2017-05-31 | 南京南瑞集团公司 | 一种基于NandFlash的数据存储方法 |
CN109521960A (zh) * | 2018-11-02 | 2019-03-26 | 格力电器(合肥)有限公司 | 数据读写方法、装置和系统 |
CN111221681A (zh) * | 2019-11-07 | 2020-06-02 | 华为技术有限公司 | 一种存储器的修复方法及装置 |
WO2021088368A1 (zh) * | 2019-11-07 | 2021-05-14 | 华为技术有限公司 | 一种存储器的修复方法及装置 |
CN113495670A (zh) * | 2020-04-01 | 2021-10-12 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
US11886287B2 (en) | 2020-04-01 | 2024-01-30 | Changxin Memory Technologies, Inc. | Read and write methods and memory devices |
CN113495670B (zh) * | 2020-04-01 | 2024-03-26 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102200937A (zh) | 一种与非闪存中数据读取的方法、装置及电视机系统 | |
US20080222491A1 (en) | Flash memory system for improving read performance and read method thereof | |
US8046645B2 (en) | Bad block identifying method for flash memory, storage system, and controller thereof | |
CN103955431A (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
US20120324299A1 (en) | Flash storage wear leveling device and method | |
CN103955430A (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
CN102541676B (zh) | 一种nand flash的状态检测及映射方法 | |
US9202577B2 (en) | Solid state drive management in power loss recovery | |
TWI436211B (zh) | 區塊管理方法、記憶體控制器與記憶體儲存裝置 | |
CN102750191A (zh) | 用于启动固态非易失性存储设备内的刷新操作的方法 | |
CN102135927A (zh) | 一种基于nand flash的系统引导方法和装置 | |
CN102955751B (zh) | 存储器储存装置、存储器控制器与数据写入方法 | |
CN105808371A (zh) | 数据备份与恢复方法、控制芯片及存储装置 | |
CN103823642A (zh) | 用于Flash均衡存储的方法及系统 | |
US9063888B2 (en) | Program code loading and accessing method, memory controller, and memory storage apparatus | |
CN102004698A (zh) | 一种闪存管理方法及系统 | |
CN101901169A (zh) | 扫描装置及方法 | |
CN103984506A (zh) | 闪存存储设备数据写的方法和系统 | |
CN102163155A (zh) | 存储设备的升级方法及升级控制装置 | |
CN101567220A (zh) | 闪存的损坏区块辨识方法、储存系统及其控制器 | |
CN108228091B (zh) | 配置数据分区保存方法及系统、配置数据校验方法及系统 | |
CN102890645A (zh) | 存储器储存装置、存储器控制器与数据写入方法 | |
KR20140129305A (ko) | 전력 손실 복원에 있어서의 솔리드 스테이트 드라이브 관리 | |
CN111399751A (zh) | 闪存控制器、管理闪存模块的方法及相关的电子装置 | |
CN105302679A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110928 |