CN105988887A - 存储卡数据处理系统及方法 - Google Patents
存储卡数据处理系统及方法 Download PDFInfo
- Publication number
- CN105988887A CN105988887A CN201510049399.7A CN201510049399A CN105988887A CN 105988887 A CN105988887 A CN 105988887A CN 201510049399 A CN201510049399 A CN 201510049399A CN 105988887 A CN105988887 A CN 105988887A
- Authority
- CN
- China
- Prior art keywords
- module
- read
- data
- data processing
- write
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种存储卡数据处理方法,用以将一数据文件写入或读出一存储卡,包括加载步骤:加载启动一读写模块及一只读存储器中的数据模块;接收步骤:接收到一读/写信号及数据文件;检测步骤:只读存储器中的数据检测模块检测数据文件是否有出错的字节;纠错步骤:只读存储器中的数据处理模块将检测到的出错数据纠正,并更新数据文件;及读写步骤:读/写数据文件。本发明还揭示了一种存储卡数据处理系统。
Description
技术领域
本发明涉及一种存储卡数据处理系统及方法。
背景技术
在对存储卡进行量产的时候,是将固件程序(firmware)写入flash中。在写固件程序的过程中,需要将固件程序经过ECC算法检测纠错后才写入flash中。该ECC算法是通过一设置在存储卡中的硬件ECC模块来实现。然而,该ECC模块具有固定的检测阈值,如果固件程序的大小超过该检测阈值,则该ECC模块就无法适用。
发明内容
鉴于以上内容,有必要提供一种适应性强,使用灵活的存储卡数据处理系统及方法。
一种存储卡数据处理方法,用以将一数据文件写入或读出一存储卡,包括加载步骤:加载启动一读写模块及一只读存储器中的数据模块;接收步骤:接收到一读/写信号及数据文件;检测步骤:只读存储器中的数据检测模块检测数据文件是否有出错的字节;纠错步骤:只读存储器中的数据处理模块将检测到的出错数据纠正,并更新数据文件;及读写步骤:对应所述读/写信号读/写更新后的数据文件。
一种存储卡数据处理系统,用以将一数据文件写入或读出一存储卡,包括有:加载模块,用以加载启动一读写模块及一只读存储器中的数据模块;读写模块,用以接收到一读/写信号及数据文件;数据检测模块,存储在所述只读存储器中,并用以检测数据文件是否有出错的字节;数据处理模块,存储在所述只读存储器中,并用以将检测到的出错数据纠正,并更新数据文件;及闪存控制模块,用以对应所述读/写信号读/写更新后的数据文件。
相较于现有技术,在上述存储卡数据处理方法及系统中,是将硬件ECC模块更改为存储在只读存储器中的数据监测模块和数据处理模块,通过读写数据文件之前的加载启动去执行数据检测和纠错,可以检测纠错任意大小的固件程序,不会受到固件程序大小的限制,适用性强,使用灵活。
附图说明
图1是本发明存储卡数据处理系统一实施方式的组成图。
图2图1中存储卡数据处理系统的一连接框图。
图3是本发明存储卡数据处理方法中一数据写入方法的一实施方式的流程图。
图4是本发明存储卡数据处理方法中一数据读出方法的一实施方式的流程图。
主要元件符号说明
存储卡 | 10 |
控制器 | 11 |
微处理单元 | 110 |
加载模块 | 112 |
读写模块 | 113 |
只读存储器 | 115 |
数据检测模块 | 1151 |
数据处理模块 | 1153 |
缓存模块 | 117 |
闪存控制单元 | 120 |
主机芯片 | 30 |
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
请参阅图1,一种存储卡数据处理系统用以处理一存储卡10中的数据。所述存储卡10包括一控制器11及一flash 13。所述控制器11与一主机芯片30通信连接。所述主机芯片30能够通过所述控制器11将数据写入所述flash 13中或将所述flash 13中的数据读取出来。
请同时参阅图2,所述控制器11包括一微处理单元110及一闪存控制单元120。所述微处理单元110包括一加载模块112、一读写模块113、一只读存储器(ROM)115及一缓存模块117。所述只读存储器115内存储一数据检测模块1151及一数据处理模块1153。
所述加载模块112用以加载启动所述读写模块113及所述只读存储器115中的数据模块。所述加载模块112在所述存储卡10与所述主机芯片30插接在一起时即执行加载启动动作。
所述读写模块113连接所述加载模块112、所述数据检测模块1151及所述缓存模块117。所述读写模块113用以接收来自所述主机芯片30的读写指令,并用以在接收到写信号时将数据写入所述缓存模块117中,及在接收到读信号时将所述flash
13中的数据经所述闪存控制单元120读入所述缓存模块117中。
所述数据检测模块1151连接所述缓存模块117,并用以检测所述缓存模块117中的数据是否出错。
所述数据处理模块1153连接所述数据检测模块1151,并用以将检测到的出错的数据纠正过来,并将纠错后的数据更新在所述缓存模块117中。
所述闪存控制单元120连接所述读写模块113及所述缓存模块117,并用以将更新后的缓存模块117中的数据写入所述flash 13中或在所述读写模块113接收到读信号时将flash 13中的数据读入所述flash 13中。
请参阅图3,一种存储卡数据处理方法包括一数据写入方法及一数据读出方法。所述数据写入方法包括以下步骤:
S11:加载启动读写模块113及只读存储器115中的数据模块。所述加载模块112在所述存储卡10与所述主机芯片30插接在一起时即执行加载启动动作。
S12:接收到一写信号及一数据文件。所述步骤S2还包括将所述数据文件写入所述缓存模块117中。
S13:只读存储器115中的数据检测模块1151检测数据文件是否有出错的字节,如果是,执行步骤S14;如果否,执行步骤S15。所述数据检测模块1151检测所述缓存模块117中的数据文件是否出错。
S14:纠正出错的字节,并更新所述数据文件。所述数据处理模块1153将检测到的出错的数据纠正过来,并将纠错后的数据更新在所述缓存模块117中。
S15:将数据文件写入flash 13中。所述闪存控制单元120将更新在所述缓存模块117中的数据文件写入所述flash 13中。
请参阅图4,所述数据读出方法包括以下步骤:
S21:加载启动读写模块113及只读存储器115中的数据模块。所述加载模块112在所述存储卡10与所述主机芯片30插接在一起时即执行加载启动动作。
S22:接收到一读信号及一要读取的数据文件。所述步骤S22还包括所述闪存控制单元120所述flash 13中对应的数据文件读入所述缓存模块117中。
S23:只读存储器115中的数据检测模块1151检测数据文件是否有出错的字节,如果是,执行步骤S24;如果否,执行步骤S25。所述数据检测模块1151检测所述缓存模块117中的数据文件是否出错。
S24:纠正出错的字节,并更新所述数据文件。所述数据处理模块1153将检测到的出错的数据纠正过来,并将纠错后的数据更新在所述缓存模块117中。
S25:将数据文件读出所述存储卡10至一主机(图未示)。
存储卡数据处理方法还包括在所述步骤S1之前将数据检测模块1151及数据处理模块1153的数据写入所述只读存储器115中。所述数据检测模块1151及数据处理模块1153以软体代码的形式存放在所述只读存储器115中。在一实施例中,所述数据检测模块1151及数据处理模块1153为实现ECC算法的软体代码。
Claims (10)
1.一种存储卡数据处理方法,用以将一数据文件写入或读出一存储卡,所述存储卡数据处理方法包括以下步骤:
加载步骤:加载启动一读写模块及一只读存储器中的数据模块;
接收步骤:接收到一读/写信号及数据文件;
检测步骤:只读存储器中的数据检测模块检测数据文件是否有出错的字节;
纠错步骤:只读存储器中的数据处理模块在检测出有出错的字节后将出错的数据纠正,并更新数据文件;及
读写步骤:根据所述读/写信号对应读/写更新后的数据文件。
2.如权利要求1所述的存储卡数据处理方法,其中所述存储卡数据处理方法还在加载步骤之前的存储步骤:
将数据检测模块及数据处理模块存入所述只读存储器中,且所述数据检测模块及数据处理模块以软体代码的形式存放在所述只读存储器中。
3.如权利要求1所述的存储卡数据处理方法,其中所述加载步骤在所述存储卡插接到一主机芯片时执行。
4.如权利要求1所述的存储卡数据处理方法,其中所述接收步骤还包括将将所述数据文件写入一缓存模块中。
5.如权利要求4所述的存储卡数据处理方法,其中当所述接收步骤中接收的是写信号时,所述读写模块将所述数据文件写入所述缓存模块中,且所述读写步骤为将缓存模块中的更新后的数据文件写入一flash中;当所述接收步骤中接收的是读信号时,所述闪存控制单元将所述数据文件写入所述缓存模块中,且所述读写步骤为将缓存模块中的更新后的数据文件读入一主机。
6.一种存储卡数据处理系统,用以将一数据文件写入或读出一存储卡,包括有:
加载模块,用以加载启动一读写模块及一只读存储器中的数据模块;
读写模块,用以接收到一读/写信号及数据文件;
数据检测模块,存储在所述只读存储器中,用以检测数据文件是否有出错的字节;
数据处理模块,存储在所述只读存储器中,用以在检测出有出错的字节后将出错的数据纠正,并更新数据文件;及
闪存控制模块,用以根据所述读/写信号对应读/写更新后的数据文件。
7.如权利要求6所述的存储卡数据处理系统,其中所述数据检测模块及数据处理模块以软体代码的形式存放在所述只读存储器中。
8.如权利要求6所述的存储卡数据处理系统,其中所述存储卡用以与一主机芯片插接在一起,所述加载模块连接所述读写模块及所述只读存储器,且所述加载模块用以在所述存储卡插接到所述主机芯片时执行加载启动动作。
9.如权利要求8所述的存储卡数据处理系统,其中所述存储卡数据处理系统还包括有缓存模块,所述缓存模块用以存储所述读写模块接收的数据文件。
10.如权利要求9所述的存储卡数据处理系统,其中当所述接收模块接收的是写信号时,所述读写模块将所述数据文件写入所述缓存模块中,且所述闪存控制单元用以将缓存模块中的更新后的数据文件写入一flash中;当所述接收模块接收的是读信号时,所述闪存控制单元用以将所述数据文件写入所述缓存模块中,且所述读写模块用以将所述读写模块将缓存模块中的更新后的数据文件读入一主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510049399.7A CN105988887A (zh) | 2015-01-31 | 2015-01-31 | 存储卡数据处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510049399.7A CN105988887A (zh) | 2015-01-31 | 2015-01-31 | 存储卡数据处理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105988887A true CN105988887A (zh) | 2016-10-05 |
Family
ID=57034497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510049399.7A Pending CN105988887A (zh) | 2015-01-31 | 2015-01-31 | 存储卡数据处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105988887A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040083333A1 (en) * | 2002-10-28 | 2004-04-29 | Sandisk Corporation | Hybrid implementation for error correction codes within a non-volatile memory system |
CN1506813A (zh) * | 2002-10-21 | 2004-06-23 | 从海量存储设备中可靠和安全地更新和恢复固件 | |
CN102541582A (zh) * | 2010-12-30 | 2012-07-04 | 上海三旗通信科技股份有限公司 | 基于高通基带芯片的固件更新的优化方法 |
CN102929655A (zh) * | 2012-09-26 | 2013-02-13 | 瑞斯康达科技发展股份有限公司 | 向闪存芯片中烧写数据文件的方法、预处理方法及装置 |
CN103279372A (zh) * | 2013-05-23 | 2013-09-04 | 青岛海信宽带多媒体技术有限公司 | 机顶盒软件升级方法及机顶盒 |
CN104484185A (zh) * | 2014-12-30 | 2015-04-01 | 深圳市大疆创新科技有限公司 | 固件生成系统及方法 |
-
2015
- 2015-01-31 CN CN201510049399.7A patent/CN105988887A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506813A (zh) * | 2002-10-21 | 2004-06-23 | 从海量存储设备中可靠和安全地更新和恢复固件 | |
US20040083333A1 (en) * | 2002-10-28 | 2004-04-29 | Sandisk Corporation | Hybrid implementation for error correction codes within a non-volatile memory system |
CN102541582A (zh) * | 2010-12-30 | 2012-07-04 | 上海三旗通信科技股份有限公司 | 基于高通基带芯片的固件更新的优化方法 |
CN102929655A (zh) * | 2012-09-26 | 2013-02-13 | 瑞斯康达科技发展股份有限公司 | 向闪存芯片中烧写数据文件的方法、预处理方法及装置 |
CN103279372A (zh) * | 2013-05-23 | 2013-09-04 | 青岛海信宽带多媒体技术有限公司 | 机顶盒软件升级方法及机顶盒 |
CN104484185A (zh) * | 2014-12-30 | 2015-04-01 | 深圳市大疆创新科技有限公司 | 固件生成系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8397107B1 (en) | Data storage device employing data path protection using both LBA and PBA | |
US8949690B2 (en) | Memory controller | |
US9519436B1 (en) | Memory erasing method, memory controller, and memory storage apparatus | |
KR20070076849A (ko) | 메모리 카드의 카피백 동작을 수행하는 장치 및 방법 | |
CN104699417A (zh) | 数据储存装置以及其数据存取方法 | |
WO2017008501A1 (zh) | 一种nand闪存出现ecc无法纠错时的数据恢复方法 | |
US9465538B2 (en) | Flash memory control chip and data storage device and flash memory control method | |
US9552287B2 (en) | Data management method, memory controller and embedded memory storage apparatus using the same | |
CN103823642A (zh) | 用于Flash均衡存储的方法及系统 | |
CN104282342A (zh) | 闪存装置、存储器控制器及闪存的控制方法 | |
US9304907B2 (en) | Data management method, memory control circuit unit and memory storage apparatus | |
CN103984506A (zh) | 闪存存储设备数据写的方法和系统 | |
US10049007B2 (en) | Non-volatile memory device and read method thereof | |
US10340025B2 (en) | Data-storage device and block-releasing method | |
CN103531246A (zh) | 快速以读代写的存储器纠错方法 | |
US10191533B2 (en) | Method of enabling sleep mode, memory control circuit unit and storage apparatus | |
US20090070655A1 (en) | Method for Generating an ECC Code for a Memory Device | |
CN105808168A (zh) | 一种延长eeprom使用寿命的均衡方法 | |
JP2010067098A (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
CN105988887A (zh) | 存储卡数据处理系统及方法 | |
US20190391874A1 (en) | Memory storage apparatus with dynamic data repair mechanism and method of dynamic data repair thereof | |
CN107168650B (zh) | 一种对bios的存储器中的数据的处理方法及装置 | |
US10108570B2 (en) | Semiconductor device including plurality of function blocks and operating method thereof | |
US10019186B2 (en) | Data maintenance method for error control and data storage device using the same | |
CN107017026B (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: 20161005 |
|
RJ01 | Rejection of invention patent application after publication |