CN101226774A - 降低闪存装置使用拷贝回去指令时的数据错误的方法 - Google Patents

降低闪存装置使用拷贝回去指令时的数据错误的方法 Download PDF

Info

Publication number
CN101226774A
CN101226774A CNA2008100056783A CN200810005678A CN101226774A CN 101226774 A CN101226774 A CN 101226774A CN A2008100056783 A CNA2008100056783 A CN A2008100056783A CN 200810005678 A CN200810005678 A CN 200810005678A CN 101226774 A CN101226774 A CN 101226774A
Authority
CN
China
Prior art keywords
mentioned
data
flash memory
block
impact damper
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
CNA2008100056783A
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.)
Xiangshuo Science & Technology Co Ltd
Original Assignee
Xiangshuo Science & Technology 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 Xiangshuo Science & Technology Co Ltd filed Critical Xiangshuo Science & Technology Co Ltd
Priority to CNA2008100056783A priority Critical patent/CN101226774A/zh
Publication of CN101226774A publication Critical patent/CN101226774A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种闪存装置使用拷贝回去指令的方法。该方法包含下列步骤:读取一闪存的一第一区块中的一数据至闪存外的一缓冲器;检验缓冲器内的数据是否有误;以及当缓冲器内的数据无误时,将闪存中第一区块的数据拷贝回去至闪存中的一第二区块。本发明可以省略控制电路发出抹除第二区块的动作,而且也不需要闪存中另外的第三区块(另一个新区块)。因此,本发明可以更有效率地执行闪存拷贝回去指令,并且保持数据的正确性。

Description

降低闪存装置使用拷贝回去指令时的数据错误的方法
技术领域
本发明涉及一种数据存取方法,尤其涉及一种闪存装置的数据存取方法。
背景技术
众所周知,闪存(flash memory)具有抗冲击(shock)、非易失性(nonvolatile)、与高存储密度等优点。因此,闪存搭配控制电路所形成的闪存装置(flashmemory storage device)已经广泛的被使用。例如,闪盘(thumb drive)、压缩闪存装置(compact flash,简称CF卡)、安全数字存储装置(secure digital,简称SD卡)、多媒体卡存储装置(multi media card,简称MMC卡)等等。
请参照图1,其所示为闪存装置示意图。闪存装置10中包括一控制电路12与闪存16。而闪存16中可以划分成很多的区段(block),每个区段中又包括多个页(page)。再者,主机(host)30则可利用一主机总线20来存取闪存装置10内的数据。当然,主机总线20可为一压缩闪存装置(compact flash,简称CF)总线、安全数字存储装置(secure digital,简称SD)总线、多媒体卡存储装置(multi media card,简称MMC)总线、通用串接总线(universal serial bus,简称USB)、IEEE1394总线或者其它类似总线。
而于闪存装置10中有一内部总线18连接于控制电路12与闪存16之间。再者,于控制电路12中还包括一缓冲器(buffer)13以及一错误校正码(errorcorrecting codes,简称ECC)单元14。当主机30将数据写入闪存16时,该错误校正码单元14会将数据进行运算并产生错误校正码,而控制电路12会发出一写入指令至闪存16,并将写入数据连同错误校正码通过内部总线18写入该闪存。再者,缓冲器13最主要的目的就是暂时存储数据的用途。
再者,当主机读取闪存16内的数据时,控制电路12会发出一读取指令至闪存16,因此,闪存16会同时输出读取数据以及错误校正码经由通过内部总线18至控制电路12。接着,ECC单元14可以根据错误校正码来检测读取数据是否有错误。当读取数据无错误时,控制电路12即可将读取数据通过主机总线20将读取数据送至主机;反之,当读取数据有错误时,控制电路12即可根据ECC单元产生的错误校正码将读取数据更正后通过主机总线20将正确的读取数据送至主机。当然,上述的错误校正码可以是汉明码(Hamming Code)、瑞德所罗门码(Reed Solomom Code)、或是其它类型的错误校正码。
众所周知,为加快闪存16的存取速度,闪存16内部的数据区块移动可以利用拷贝回去指令(copy back command)来实现。也就是说,当控制电路12需要将闪存16中第一区块(旧区块)的数据搬移至第二区块(新区块)时,只要控制电路12发出一拷贝回去指令至闪存16,则闪存16内部即可自行完成第一区块的数据搬移至第二区块的动作。
然而,由于闪存16内部自行完成第一区块的数据搬移至第二区块的动作时,这些数据并没有经过控制电路12,因此ECC单元14并无法保证这些数据的正确性。也就是说,第二区块内的数据正确性是无法得知的。针对上述缺点,美国专利US7187583揭示一种“降低闪存装置使用拷贝回去指令时的数据错误的方法(METHOD FOR REDUCING DATA ERROR WHENFLASH MEMORY STORAGE DEVICE USING COPY BACK COMMAND)”。
请参照图2A与图2B,其所示为已知降低闪存装置使用拷贝回去指令时的数据错误流程图及其示意图。于图2A中,步骤110即是控制电路12发出一拷贝回去指令至闪存16,也就是说,闪存16中第一区块的数据即可搬移至第二区块。其中,第一区块即是旧区块(old block),而第二区块即是新区块(new block)。
接着,于步骤120,控制电路12发出一读取指令(read command)将第二区块(新区块)中不需修改的数据页(page that does not need to be amended)存储至闪存16外的缓冲器13。
接着,于步骤130,控制电路12利用ECC单元14来决定缓冲器13内的数据是否有误。也就是说,ECC单元14即可以利用一错误校正规则(errorcorrection rule)来决定缓冲器内的数据是否有误。
当数据无误时,执行步骤160,也就是执行下一个指令或者任务;反之,当数据有误时,ECC单元14会自行更正缓冲器内错误的数据而成为正确的的数据。因此,控制电路12接着执行步骤140,也就是,执行数据写入指令将缓冲器13内的数据写入至一第三区块。其中,第三区块为另一个新区块(another new block)。
当步骤140完成之后,控制电路12必须抹除(erase)闪存16中第二区块内的数据。因此,控制电路12接着执行步骤150,也就是,执行抹除第二区块数据指令。最后,再执行步骤160。
由图2B可知,为了要降低闪存装置使用拷贝回去指令时的数据错误。已知控制电路12先执行拷贝回去指令,使得闪存16中第一区块(旧区块)111中的数据先存储至第二区块(新区块)112。
接着,控制电路12发出一读取指令用以读取闪存16中第二区块(新区块)的数据至缓冲器13。当缓冲器13的数据利用ECC单元14确认无误之后,控制电路12可确认执行拷贝回去指令之后该第二区块(新区块)的数据无误。
然而,当缓冲器13的数据利用ECC单元确认有误时,ECC单元14需先更正缓冲器13中的数据。之后,控制电路12发出数据写入指令将缓冲器13内的数据写入至一第三区块(另一个新区块)113。接着,再执行抹除第二区块数据指令。最后,控制电路12可确认该第三区块(另一个新区块)113的数据无误。
由上述内容可知,已知控制电路12执行拷贝回去指令之后,为了确认第二区块112的数据是否正确,必须再次读取第二区块112内的数据至控制电路12外的缓冲器13,并利用ECC单元14来确认缓冲器13中的数据是否有误,并进而决定第二区块112内的数据否有误。
当第二区块112内的数据有误时,控制电路12必须再次将缓冲器13内经过更新的数据另行存至一第三区块(另一个新区块)113,并且抹除第二区块(新区块)112内的数据后才可确认执行拷贝回去指令之后该第三区块(另一个新区块)113的数据无误。
发明内容
上述的流程并非最佳的数据校正方式。因此,如何使闪存执行拷贝回去指令并且更有效率地确认数据的正确性,为本发明的最主要的目的。
本发明为一种闪存装置使用拷贝回去指令的方法,包含下列步骤:读取一闪存的一第一区块中的一数据至该闪存外的一缓冲器;检验该缓冲器内的该数据是否有误;以及,当该缓冲器内的该数据无误时,将该闪存中该第一区块的该数据拷贝回去至该闪存中的一第二区块。
因此,本发明还提出一种使用拷贝回去的闪存装置,包括:一控制电路,具有一缓冲器与一错误校正码单元;以及,一闪存,连接至该控制电路;其中,该控制电路读取该闪存的一第一区块的一数据到该缓冲器,若该错误校正码单元检验该缓冲器内的该数据无误,则该控制电路可发出一拷贝回去指令到该闪存,使该闪存中该第一区块的该数据拷贝回去(copy back)至该闪存的一第二区块。
本发明的有益效果为与已知方法相比,本发明可以省略控制电路发出抹除第二区块的动作。再者,本发明也不需要闪存中另外的第三区块(另一个新区块)。因此,本发明可以更有效率地执行闪存拷贝回去指令,并且保持数据的正确性。
附图说明
图1所示为闪存装置示意图。
图2A与图2B所示为已知降低闪存装置使用拷贝回去指令时的数据错误的流程图及其示意图。
图3A与图3B所示为本发明降低闪存装置使用拷贝回去指令时的数据错误的流程图及其示意图。
具体实施方式
请参照图3A与图3B,其所示为本发明降低闪存装置使用拷贝回去指令时的数据错误的流程图及其示意图。请参考图3A、图3B以及图1所示,当控制电路12欲执行拷贝回去指令将第一区块(旧区块)移动至第二区块(新区块)之前,先执行步骤210,也就是,控制电路12发出一读取指令(readcommand)将第一区块(旧区块)中的数据读取至闪存16外的缓冲器13。
接着,于步骤220,控制电路12利用ECC单元14来决定缓冲器13内的数据是否有误。也就是说,ECC单元14即可以利用一错误校正规则(errorcorrection rule)来决定缓冲器13内的第一区块(旧区块)的数据是否有误。
当缓冲器13的数据无误时,执行步骤240,也就是控制电路执行拷贝回去指令,将给闪存16第一区块(旧区块)数据拷贝回去至第二区块(新区块)上。因此,控制电路12即可确认执行拷贝回去指令之后该第二区块(新区块)的数据无误。最后,控制电路12再执行步骤250,也就是执行下一个指令或者任务。
反之,当缓冲器13内数据有误时,ECC单元14会先进行错误校正处理并更正缓冲器13中的数据。之后,控制电路12不发出拷贝回去指令而是执行步骤230,也就是控制电路12发出数据写入指令,将缓冲器13内经过错误校正处理后的校正后数据,写入至一第二区块(新区块)。因ECC单元14会先更正缓冲器13中的数据成为校正后数据,所以控制电路12即可确认该第二区块(新区块)的数据无误。最后,控制电路12再执行步骤250,也就是执行下一个指令或者任务。
由图3B可知,为了要降低闪存装置使用拷贝回去指令时的数据错误。本发明的特征在于控制电路12执行拷贝回去指令欲将第一区块(旧区块)211移动至第二区块(新区块)212之前,必须先确认第一区块(旧区块)211中的数据是否有误。也就是如路径(I)所示,先将第一区块(旧区块)211内的数据读取至控制电路12的缓冲器13内,利用ECC单元14来确认缓冲器13内的数据是否有误,因此可以确定第一区块(旧区块)211内的数据正确性。反之若有误,也可经过ECC单元14来修正原先第一区块(旧区块)211内的数据,以提高正确性。
当第一区块(旧区块)211内的数据是无误时,则如路径(II)所示,控制电路12即可以发出拷贝回去指令至闪存16进行第一区块(旧区块)211的数据搬移至第二区块(新区块)212。
当第一区块(旧区块)211内的数据是有误时,则如路径(III)所示,控制电路12不发出拷贝回去指令,并且发出数据写入指令至闪存16。而控制电路12将缓冲器13中更正后正确的校正后数据搬移至第二区块(新区块)212。
与已知方法比较,本发明可以省略控制电路12发出抹除第二区块的动作。再者,本发明也不需要闪存16中另外的第三区块(另一个新区块)。因此,本发明可以更有效率地执行闪存拷贝回去指令,并且保持数据的正确性。
虽然本发明已以优选实施例揭示如上,然其并非用以限定本发明。本发明所属技术领域中的普通技术人员,在不脱离本发明的精神和范围内,应当可作各种变动与润饰。因此,本发明的保护范围应当视权利要求书所限定的范围为准。

Claims (9)

1.一种闪存装置使用拷贝回去的方法,其特征是包含下列步骤:
读取一闪存的一第一区块中的一数据至上述闪存外的一缓冲器;
检验上述缓冲器内的上述数据是否有误;以及
当上述缓冲器内的上述数据无误时,将上述闪存中上述第一区块的上述数据拷贝回去至上述闪存中的一第二区块。
2.根据权利要求1所述的方法,其特征是当上述缓冲器内的数据有误时,将上述缓冲器的上述数据经一错误校正处理后产生一校正后数据,再将上述校正后数据复制至上述闪存中的上述第二区块。
3.根据权利要求1所述的方法,其特征是其中检验上述缓冲器内的上述数据是否有误的步骤,使用一汉明码校正规则来检验。
4.根据权利要求1所述的方法,其特征是其中决定上述缓冲器内的上述数据是否有误的步骤,使用一瑞德所罗门码校正规则来检验。
5.一种使用拷贝回去的闪存装置,其特征是包括:
一控制电路,具有一缓冲器与一错误校正码单元;以及
一闪存,连接至上述控制电路;
其中,上述控制电路读取上述闪存的一第一区块的一数据到上述缓冲器,若上述错误校正码单元检验上述缓冲器内的上述数据无误,则上述控制电路可发出一拷贝回去指令到上述闪存,使上述闪存中上述第一区块的上述数据拷贝回去至上述闪存的一第二区块。
6.根据权利要求5所述的使用拷贝回去的闪存装置,其特征是其中当上述错误校正码单元检验上述缓冲器内的上述数据有误时,上述控制电路将上述缓冲器的上述数据经一错误校正处理后产生一校正后数据,再将上述校正后数据复制至上述闪存中的上述第二区块。
7.根据权利要求5所述的使用拷贝回去的闪存装置,其特征是其中上述控制电路以一内部总线连接上述闪存。
8.根据权利要求5所述的使用拷贝回去的闪存装置方法,其特征是其中上述错误校正码单元根据一汉明码校正规则检验上述缓冲器内的数据是否有误。
9.根据权利要求5所述的使用拷贝回去的闪存装置方法,其特征是其中上述错误校正码单元根据一瑞德所罗门码校正规则检验上述缓冲器内的数据是否有误。
CNA2008100056783A 2008-02-15 2008-02-15 降低闪存装置使用拷贝回去指令时的数据错误的方法 Pending CN101226774A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008100056783A CN101226774A (zh) 2008-02-15 2008-02-15 降低闪存装置使用拷贝回去指令时的数据错误的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008100056783A CN101226774A (zh) 2008-02-15 2008-02-15 降低闪存装置使用拷贝回去指令时的数据错误的方法

Publications (1)

Publication Number Publication Date
CN101226774A true CN101226774A (zh) 2008-07-23

Family

ID=39858710

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008100056783A Pending CN101226774A (zh) 2008-02-15 2008-02-15 降低闪存装置使用拷贝回去指令时的数据错误的方法

Country Status (1)

Country Link
CN (1) CN101226774A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937724A (zh) * 2009-06-30 2011-01-05 联发科技股份有限公司 用于执行拷贝回存操作的方法以及闪存存储设备
CN110134322A (zh) * 2018-02-02 2019-08-16 光宝电子(广州)有限公司 运用dram的储存装置及其相关数据处理方法
CN113157490A (zh) * 2021-04-01 2021-07-23 深圳市纽创信安科技开发有限公司 一种芯片内嵌的Flash存储器和存储控制方法
CN113496745A (zh) * 2020-04-03 2021-10-12 澜起科技股份有限公司 用于修复存储模块缺陷的装置和方法以及存储器系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937724A (zh) * 2009-06-30 2011-01-05 联发科技股份有限公司 用于执行拷贝回存操作的方法以及闪存存储设备
CN101937724B (zh) * 2009-06-30 2013-11-06 联发科技股份有限公司 用于执行拷贝回存操作的方法以及闪存存储设备
CN110134322A (zh) * 2018-02-02 2019-08-16 光宝电子(广州)有限公司 运用dram的储存装置及其相关数据处理方法
CN110134322B (zh) * 2018-02-02 2022-05-31 建兴储存科技(广州)有限公司 运用dram的储存装置及其相关数据处理方法
CN113496745A (zh) * 2020-04-03 2021-10-12 澜起科技股份有限公司 用于修复存储模块缺陷的装置和方法以及存储器系统
CN113496745B (zh) * 2020-04-03 2024-03-08 澜起科技股份有限公司 用于修复存储模块缺陷的装置和方法以及存储器系统
CN113157490A (zh) * 2021-04-01 2021-07-23 深圳市纽创信安科技开发有限公司 一种芯片内嵌的Flash存储器和存储控制方法
CN113157490B (zh) * 2021-04-01 2023-12-26 深圳市纽创信安科技开发有限公司 一种芯片内嵌的Flash存储器和存储控制方法

Similar Documents

Publication Publication Date Title
CN110147295B (zh) 存取闪存模块的方法、闪存控制器以及记忆装置
US9124300B2 (en) Error correction coding in non-volatile memory
CN107403640B (zh) 存取闪存模块的方法及相关的闪存控制器与记忆装置
CN103544073B (zh) 读取闪存中区块的数据的方法及相关的记忆装置
US20070170268A1 (en) Memory cards, nonvolatile memories and methods for copy-back operations thereof
US9165670B2 (en) Data retention detection techniques for a data storage device
US9424126B2 (en) Memory controller
WO2012057995A1 (en) Hybrid error correction coding to address uncorrectable errors
US8756398B2 (en) Partitioning pages of an electronic memory
JP2004507007A (ja) 不揮発性メモリに対する信頼性の高いデータコピー処理を行うための新規の方法および構造
CN107423158B (zh) 存取闪存模块的方法及相关的闪存控制器与记忆装置
TW201346923A (zh) 使用單一錯誤偵測奇偶校驗的抹除修正
CN105808371A (zh) 数据备份与恢复方法、控制芯片及存储装置
JP5950286B2 (ja) アドレス変換テーブルを書き込む装置及び方法
WO2015061219A1 (en) Power drop protection for a data storage device
CN101882472A (zh) 具可变动错误校正码机制的快闪储存装置及其控制方法
JP2010079856A (ja) 記憶装置およびメモリ制御方法
CN101226774A (zh) 降低闪存装置使用拷贝回去指令时的数据错误的方法
JP4956230B2 (ja) メモリコントローラ
CN111951855B (zh) 存取闪存模块的方法及相关的闪存控制器与记忆装置
US20090210758A1 (en) Method for reducing data error when flash memory storage device using copy back command
JP2010128697A (ja) メモリシステム
US9208863B1 (en) Memory system and method of controlling memory system
US10922025B2 (en) Nonvolatile memory bad row management
JP4332132B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080723