CN106201325A - 数据存取方法、存储器控制电路单元与存储器存储装置 - Google Patents
数据存取方法、存储器控制电路单元与存储器存储装置 Download PDFInfo
- Publication number
- CN106201325A CN106201325A CN201510211809.3A CN201510211809A CN106201325A CN 106201325 A CN106201325 A CN 106201325A CN 201510211809 A CN201510211809 A CN 201510211809A CN 106201325 A CN106201325 A CN 106201325A
- Authority
- CN
- China
- Prior art keywords
- check code
- serial data
- data
- circuit
- code
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000005055 memory storage Effects 0.000 title claims abstract description 39
- 238000007726 management method Methods 0.000 claims description 107
- 238000012937 correction Methods 0.000 claims description 37
- 238000013144 data compression Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 6
- 238000007689 inspection Methods 0.000 claims 8
- 238000007906 compression Methods 0.000 claims 2
- 230000006835 compression Effects 0.000 claims 2
- 238000012163 sequencing technique Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 101000651958 Crotalus durissus terrificus Snaclec crotocetin-1 Proteins 0.000 description 6
- 210000004027 cell Anatomy 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 101100258328 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) crc-2 gene Proteins 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 210000000352 storage cell Anatomy 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种数据存取方法、存储器控制电路单元与存储器存储装置。本方法包括使用第一检查码电路产生对应第一数据串的第一检查码并且依据此第一数据串与对应此第一数据串的第一检查码来产生第一数据集合。本方法还包括使用第二检查码电路从第一数据集合中获取第一数据串与对应第一数据串的第一检查码,并且使用对应第一数据串的第一检查码来校验第一数据串。本方法也包括依据已校验的第一数据串使用第三检查码电路来产生第二检查码并且依据已校验的第一数据串与第二检查码来产生数据框,以写入至实体程序化单元。本发明范例实施例所提出的数据存取方法能够有效地确保在存储器控制电路单元内传输过程中数据的正确性。
Description
技术领域
本发明是有关于一种数据存取方法,且特别是有关于用于可复写式非易失性存储器的一种数据存取方法、存储器控制电路单元与存储器存储装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,写入至可复写式非易失性存储器模块的数据都会根据一个错误检查与校正码来编码,并且从可复写式非易失性存储器模块中所读取的数据也会经过对应的程序来译码。然而,在从主机系统接收到数据至将数据写入至可复写式非易失性存储器模块之间(即,存储器控制电路单元内部)的传输过程中也可能发生数据位错误,因此,为了确保数据在存储器控制电路单元内部的正确性,是此领域技术人员所致力的目标。
发明内容
本发明提供一种数据存取方法、存储器控制电路单元与存储器存储装置,其能够有效地验证数据的正确性。
本发明的一范例实施例提供一种用于存储器存储装置的数据存取方法。此存储器存储装置具有可复写式非易失性存储器模块,可复写式非易失性存储器模块具有多个实体抹除单元,且每一实体抹除单元具有多个实体程序化单元。本数据存取方法包括接收第一数据串,使用第一检查码电路产生对应此第一数据串的第一检查码并且依据此第一数据串与对应此第一数据串的第一检查码来产生第一数据集合。本数据存取方法还包括使用第二检查码电路从第一数据集合中获取第一数据串与对应第一数据串的第一检查码,并且使用对应第一数据串的第一检查码来校验第一数据串。本数据存取方法也包括依据对应已校验的第一数据串的信息使用第三检查码电路来产生第二检查码,使用错误检查与校正电路来产生错误检查与校正码,并且依据已校验的第一数据串、第二检查码与错误检查与校正码来产生数据框。本数据存取方法还包括将此数据框写入至该些实体程序化单元之中的第一实体程序化单元,其中上述其中第一检查码电路是不同于第三检查码电路。
在本发明的一范例实施例中,第一检查码的长度不小于第二检查码的长度。
在本发明的一范例实施例中,上述数据存取方法还包括:接收第二数据串,使用第一检查码电路产生对应此第二数据串的第一检查码并且依据第二数据串与对应第二数据串的第一检查码来产生第二数据集合;以及使用第二检查码电路从第二数据集合中获取第二数据串与对应第二数据串的第一检查码,并且使用对应第二数据串的第一检查码来校验第二数据串。并且,上述依据对应已校验的第一数据串的信息使用第三检查码电路来产生第二检查码的步骤包括:依据已校验的第一数据串与已校验的第二数据串使用第三检查码电路来产生第二检查码。此外,上述使用错误检查与校正电路来产生错误检查与校正码的步骤包括:依据已校验的第一数据与已校验的第二数据使用错误检查与校正电路来产生错误检查与校正码。再者,上述依据已校验的第一数据串、第二检查码与错误检查与校正码来产生数据框的步骤包括:依据已校验的第一数据串、已校验的第二数据串、第二检查码与错误检查与校正码来产生数据框。
在本发明的一范例实施例中,上述对应第一数据串的第一检查码的大小与对应第二数据串的第一检查码的大小的总和大于第二检查码的大小。
在本发明的一范例实施例中,上述依据对应已校验的第一数据串的信息使用第三检查码电路来产生第二检查码的步骤包括:依据已校验的第一数据串与第一实体程序化单元的地址信息使用第三检查码电路来产生第二检查码。
在本发明的一范例实施例中,上述数据存取方法还包括压缩已校验的第一数据串以产生第一已压缩数据串。并且,上述依据对应已校验的第一数据串的信息使用第三检查码电路来产生第二检查码的步骤包括:依据对应已校验的第一数据串的第一已压缩数据串使用第三检查码电路来产生第二检查码。此外,上述使用错误检查与校正电路来产生错误检查与校正码的步骤包括:依据对应已校验的该第一数据串的该第一已压缩数据串使用该错误检查与校正电路来产生该错误检查与校正码。再者,上述依据已校验的第一数据串、第二检查码与错误检查与校正码来产生数据框的步骤包括:依据对应已校验的第一数据串的第一已压缩数据串、第二检查码与错误检查与校正码来产生该数据框。
在本发明的一范例实施例中,上述数据存取方法还包括压缩已校验的第一数据串以产生第一已压缩数据串。并且,上述依据对应已校验的第一数据串的信息使用第三检查码电路来产生第二检查码的步骤包括:依据对应已校验的第一数据串的第一已压缩数据串与第一实体程序化单元的地址信息使用第三检查码电路来产生第二检查码。此外,上述使用错误检查与校正电路来产生错误检查与校正码的步骤包括:依据对应已校验的该第一数据串的该第一已压缩数据串使用该错误检查与校正电路来产生该错误检查与校正码。再者,上述依据已校验的第一数据串、第二检查码与错误检查与校正码来产生数据框的步骤包括:依据对应已校验的第一数据串的第一已压缩数据串、第二检查码与错误检查与校正码来产生该数据框。
在本发明的一范例实施例中,上述数据存取方法还包括从第一实体程序化单元中读取数据框;以及依据所读取的数据框中的第二检查码使用第三检查码电路来检查所读取的数据框中的第一数据。
本发明的一范例实施例提供一种用于控制可复写式非易失性存储器模块的存储器控制电路单元,其包括主机接口、一第一检查码电路、存储器管理电路、第二检查码电路、第三检查码电路、存储器接口与错误检查与校正电路。第一检查码电路电性连接至主机接口,存储器管理电路电性连接至第一检查码电路,第二检查码电路电性连接至存储器管理电路,第三检查码电路电性连接至第二检查码电路,并且存储器接口电性连接至第三检查码电路并且用以电性连接至可复写式非易失性存储器模块。错误检查与校正电路电性连接至存储器管理电路。上述可复写式非易失性存储器模块具有多个实体抹除单元,且每一实体抹除单元具有多个实体程序化单元。主机接口接收第一数据串,第一检查码电路产生对应第一数据串的第一检查码,并且存储器管理电路依据第一数据串与对应第一数据串的第一检查码来产生第一数据集合。第二检查码电路从第一数据集合中获取第一数据串与对应第一数据串的第一检查码,并且使用对应第一数据串的第一检查码来校验第一数据串。第三检查码电路依据对应已校验的第一数据串的信息产生第二检查码。错误检查与校正电路产生错误检查与校正码。存储器管理电路依据已校验的第一数据串、第二检查码与错误检查与校正码来产生数据框,并且存储器管理电路通过存储器接口将此数据框写入至上述实体程序化单元之中的第一实体程序化单元,其中第一检查码电路不同于第三检查码电路。
在本发明的一范例实施例中,第一检查码的长度不小于第二检查码的长度。
在本发明的一范例实施例中,主机接口接收第二数据串,第一检查码电路产生对应第二数据串的第一检查码,存储器管理电路依据第二数据串与对应第二数据串的第一检查码来产生第二数据集合。此外,第二检查码电路从第二数据集合中获取第二数据串与对应第二数据串的第一检查码,并且使用对应第二数据串的第一检查码来校验第二数据串。并且,在上述产生错误检查与校正码的运作中,第三检查码电路是依据已校验的第一数据串与已校验的第二数据串来产生上述第二检查码。并且,在上述依据已校验的第一数据串、第二检查码和错误检查与校正码来产生数据框的运作中,存储器管理电路是依据已校验的第一数据串、已校验的第二数据串、第二检查码和错误检查与校正码来产生上述数据框。
在本发明的一范例实施例中,在上述依据对应已校验的第一数据串的信息来产生该第二检查码的运作中,第三检查码电路是依据第一实体程序化单元的地址信息来产生第二检查码。
在本发明的一范例实施例中,存储器控制电路单元还包括电性连接至存储器管理电路的数据压缩电路,用以压缩已校验的第一数据串以产生第一已压缩数据串。并且,在上述依据对应已校验的第一数据串的信息来产生第二检查码的运作中,第三检查码电路依据对应已校验的第一数据串的第一已压缩数据串来产生第二检查码。此外,在上述产生错误检查与校正码的运作中,错误检查与校正电路是依据对应已校验的第一数据串的第一已压缩数据串来产生错误检查与校正码。再者,在上述依据已校验的第一数据串、第二检查码与错误检查与校正码来产生数据框的运作中,存储器管理电路依据对应已校验的第一数据串的第一已压缩数据串、第二检查码与错误检查与校正码来产生数据框。
在本发明的一范例实施例中,存储器控制电路单元还包括电性连接至存储器管理电路的数据压缩电路,用以压缩已校验的第一数据串以产生第一已压缩数据串。并且,在上述依据对应已校验的第一数据串的信息来产生第二检查码的运作中,第三检查码电路依据对应已校验的第一数据串的第一已压缩数据串与第一实体程序化单元的地址信息来产生第二检查码。此外,在上述产生错误检查与校正码的运作中,错误检查与校正电路是依据对应已校验的第一数据串的第一已压缩数据串来产生错误检查与校正码。再者,在上述依据已校验的第一数据串、第二检查码与错误检查与校正码来产生数据框的运作中,存储器管理电路依据对应已校验的第一数据串的第一已压缩数据串、第二检查码与错误检查与校正码来产生数据框。
本发明的一范例实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块与上述存储器控制电路单元。连接接口单元用以电性连接至主机系统。可复写式非易失性存储器模块具有多个实体程序化单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块。
基于上述,本发明范例实施例所提出的存储器控制电路单元、存储器存储装置及其使用的数据存取方法能够有效地确保在存储器控制电路单元内传输过程中数据的正确性,同时避免数据冗员位区的空间不足无法存储大量检查码的问题。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统与存储器存储装置;
图2是根据本发明范例实施例所示出的计算机、输入/输出装置与存储器存储装置的示意图;
图3是根据本发明范例实施例所示出的主机系统与存储器存储装置的示意图;
图4示出图1所示的存储器存储装置的概要方块图;
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图;
图6与图7是根据一范例实施例所示出的管理实体抹除单元的范例示意图;
图8是根据一范例实施例所示出的执行写入运作的数据流的范例示意图;
图9是根据一范例实施例所示出的数据存取方法的流程图。
附图标记说明:
1000:主机系统;
1100:计算机;
1102:微处理器;
1104:随机存取存储器;
1106:输入/输出装置;
1108:系统总线;
1110:数据传输接口;
1202:鼠标;
1204:键盘;
1206:显示器;
1208:打印机;
1210:移动硬盘;
1212:存储卡;
1214:固态硬盘;
1310:数码相机;
1312:SD卡;
1314:MMC卡;
1316:存储棒;
1318:CF卡;
1320:嵌入式存储装置;
100:存储器存储装置;
102:连接接口单元;
104:存储器控制电路单元;
106:可复写式非易失性存储器模块;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
208:电源管理电路;
210:缓冲存储器;
212:错误检查与校正电路;
214:第一检查码电路;
216:第二检查码电路;
218:第三检查码电路;
410(0)~410(N):实体抹除单元;
506:系统区;
502:数据区;
504:闲置区;
508:取代区;
LA(0)~LA(H):逻辑单元;
LZ(0)~LZ(M):逻辑区域;
D1、D2、D3、D4、D5、D6、D7、D8:数据串;
CRC1、CRC2、CRC3、CRC4、CRC5、CRC6、CRC7、CRC8:检查码;
DS1、DS2、DS3、DS4、DS5、DS6、DS7、DS8:数据集合;
CI:控制信息;
NCRC:检查码;
ECC:错误检查与校正码;
DF:数据框;
S901、S903、S905、S907、S909、S911、S913、S915:数据存取方法的步骤。
具体实施方式
图1是根据一范例实施例所示出的主机系统与存储器存储装置。
请参照图1,主机系统1000一般包括计算机1100与输入/输出(input/output,简称I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(randomaccess memory,简称RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其它装置。
在本发明实施例中,存储器存储装置100是通过数据传输接口1110与主机系统1000的其它组件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图2所示的移动硬盘1210、存储卡1212或固态硬盘(Solid State Drive,简称SSD)1214等的可复写式非易失性存储器存储装置。
一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄影机)1310时,可复写式非易失性存储器存储装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick)1316、CF卡1318或嵌入式存储装置1320(如图3所示)。嵌入式存储装置1320包括嵌入式多媒体卡(Embedded MMC,简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图4示出图1所示的存储器存储装置的概要方块图。
请参照图4,存储器存储装置100包括连接接口单元102、存储器控制电路单元104与可复写式非易失性存储器模块106。
在本范例实施例中,连接接口单元102是兼容于串行高级技术附件(SerialAdvanced Technology Attachment,简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102也可以是符合并行高级技术附件(ParellelAdvanced Technology Attachment,简称PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,简称IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,简称PCI Express)标准、通用串行总线(Universal Serial Bus,简称USB)标准、超高速一代(UltraHigh Speed-I,简称UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称UHS-II)接口标准、安全数字(Secure Digital,简称SD)接口标准、存储棒(Memory Stick,简称MS)接口标准、多媒体存储卡(Multi Media Card,简称MMC)接口标准、小型快闪(Compact Flash,简称CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,简称IDE)标准或其它适合的标准。在本范例实施例中,连接接口单元可与存储器控制电路单元封装在一个芯片中,或布设于一包含存储器控制电路单元的芯片外。
存储器控制电路单元104用以执行以硬件形式或固件形式实作的多个逻辑闸或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制电路单元104,并且用以存储主机系统1000所写入的数据。可复写式非易失性存储器模块106具有实体抹除单元410(0)~410(N)。例如,实体抹除单元410(0)~410(N)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有复数个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其它任意个实体程序化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据位区与冗余位区。数据位区包含多个实体存取地址用以存储使用者的数据,而冗余位区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据位区中会包含8个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其它范例实施例中,数据位区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体程序化单元为实体页面或实体扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(Multi Level Cell,简称MLC)NAND型闪存模块(即,一个存储单元中可存储2个数据位的闪存模块)。然而,本发明不限于此,可复写式非易失性存储器模块106也可是单阶存储单元(Single Level Cell,简称SLC)NAND型闪存模块(即,一个存储单元中可存储1个数据位的闪存模块)、复数阶存储单元(Trinary Level Cell,简称TLC)NAND型闪存模块(即,一个存储单元中可存储3个数据位的闪存模块)、其它闪存模块或其它具有相同特性的存储器模块。
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元104包括存储器管理电路202、主机接口204、存储器接口206、电源管理电路208、缓冲存储器210、错误检查与校正电路212、第一检查码电路214、第二检查码电路216与第三检查码电路218。
存储器管理电路202用以控制存储器控制电路单元104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100运作时,此些控制指令会被执行来对可复写式写非易失性存储器模块下达指令,以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路202的控制指令是以固件形式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
图6与图7是根据一范例实施例所示出的管理实体抹除单元的范例示意图。
请参照图6,存储器控制电路单元104(或存储器管理电路202)会将实体抹除单元410(0)~410-(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。
逻辑上属于数据区502与闲置区504的实体抹除单元是用以存储来自于主机系统1000的数据。具体来说,数据区502的实体抹除单元是被视为已存储数据的实体抹除单元,而闲置区504的实体抹除单元是用以替换数据区502的实体抹除单元。也就是说,当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路202会从闲置区504中提取实体抹除单元,并且将数据写入至所提取的实体抹除单元中,以替换数据区502的实体抹除单元。
逻辑上属于系统区506的实体抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。
逻辑上属于取代区508中的实体抹除单元是用于坏实体抹除单元取代程序,以取代损坏的实体抹除单元。具体来说,倘若取代区508中仍存有正常的实体抹除单元并且数据区502的实体抹除单元损坏时,存储器管理电路202会从取代区508中提取正常的实体抹除单元来更换损坏的实体抹除单元。
特别是,数据区502、闲置区504、系统区506与取代区508的实体抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置100的运作中,实体抹除单元关联至数据区502、闲置区504、系统区506与取代区508的分组关系会动态地变动。例如,当闲置区504中的实体抹除单元损坏而被取代区508的实体抹除单元取代时,则原本取代区508的实体抹除单元会被关联至闲置区504。
请参照图7,存储器控制电路单元104(或存储器管理电路202)会配置逻辑单元LA(0)~LA(H)以映像数据区502的实体抹除单元,其中每一逻辑单元具有多个逻辑子单元以映像对应的实体抹除单元的实体程序化单元。并且,当主机系统100欲写入数据至逻辑单元或更新存储在逻辑单元中的数据时,存储器控制电路单元104(或存储器管理电路202)会从闲置区504中提取一个实体抹除单元来写入数据,以轮替数据区502的实体抹除单元。在本范例实施例中,逻辑子单元可以是逻辑页面或逻辑扇区。
为了识别数据每个逻辑单元的数据被存储在那个实体抹除单元,在本范例实施例中,存储器控制电路单元104(或存储器管理电路202)会记录逻辑单元与实体抹除单元之间的映像。并且,当主机系统1000欲在逻辑子单元中存取数据时,存储器控制电路单元104(或存储器管理电路202)会确认此逻辑子单元所属的逻辑单元,并且在此逻辑单元所映像的实体抹除单元中来存取数据。例如,在本范例实施例中,存储器控制电路单元104(或存储器管理电路202)会在可复写式非易失性存储器模块106中存储逻辑转实体地址映像表来记录每一逻辑单元所映像的实体抹除单元,并且当欲存取数据时存储器控制电路单元104(或存储器管理电路202)会将逻辑转实体地址映像表加载至缓冲存储器210来维护。
值得一提的是,由于缓冲存储器210的容量有限无法存储记录所有逻辑单元的映像关系的映像表,因此,在本范例实施例中,存储器控制电路单元104(或存储器管理电路202)会将逻辑单元LA(0)~LA(H)分组为多个逻辑区域LZ(0)~LZ(M),并且为每一逻辑区域配置一个逻辑转实体地址映像表。特别是,当存储器控制电路单元104(或存储器管理电路202)欲更新某个逻辑单元的映像时,对应此逻辑单元所属的逻辑区域的逻辑转实体地址映像表会被加载至缓冲存储器210来被更新。
如上所述,在本范例实施例中,存储器存储装置100的可复写式非易失性存储器模块106是以页面为基础来进行管理,因此,在执行写入指令时,不管目前数据是要写入至那个逻辑单元的逻辑子单元,存储器控制电路单元104(或存储器管理电路202)皆会以一个实体程序化单元接续一个实体程序化单元的方式来写入数据(以下也称为随机写入机制)。具体来说,存储器控制电路单元104(或存储器管理电路202)会从闲置区504中提取一个空的实体抹除单元作为目前使用的实体抹除单元(也称为作动实体抹除单元)来写入数据。并且,当此目前使用的实体抹除单元已被写满时,存储器控制电路单元104(或存储器管理电路202)会再从闲置区504中提取另一个空的实体抹除单元作为目前使用的实体抹除单元,以继续写入对应来自于主机系统1000的写入指令的数据。特别是,为了避免闲置区504的实体抹除单元被耗尽,当存储器控制电路单元104(或存储器管理电路202)欲从闲置区504中提取实体抹除单元且闲置区504的实体抹除单元的数目下降到所设定的无用信息回收门坎值时,存储器控制电路单元104(或存储器管理电路202)会先执行数据合并程序,来使数据区502的至少一个实体抹除单元中的数据成为无效数据,并且将数据区502中所存储的数据皆为无效数据的实体抹除单元关联回闲置区504,以致于闲置区504的实体抹除单元的数目大于所设定的无用信息回收门坎值。例如,在执行数据合并程序时,存储器控制电路单元104(或存储器管理电路202)至少需使用一个空的实体抹除单元,因此,垃圾回收门坎值至少会被设定为大于1的数值。
在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程序代码形式存储于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元104被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块106中的控制指令加载至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件形式来实作。例如,存储器管理电路202包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块106的实体抹除单元;存储器写入电路用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取电路用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
请再参照图5,主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204也可以是兼容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其它适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会通过存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
电源管理电路208是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。
缓冲存储器210是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
错误检查与校正电路212是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路212会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking andCorrecting Code,简称ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路212会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
第一检查码电路214与第二检查码电路216用以确保存储器控制电路单元104内所传输的数据的正确性。在本范例实施例中,第一检查码电路214与第二检查码电路216是相同的电路,并且配置在存储器控制电路单元104中邻近主机接口204或存储器接口206处。具体来说,在存储器管理电路202通过主机接口204从主机系统1000中接收到数据之后,第一检查码电路214会依据此数据产生对应的检查码。之后,在存储器管理电路202通过存储器接口206传送数据至可复写式非易失性存储器模块106之前,第二检查码电路216会依据对应此数据的检查码校验此数据,以确保数据的正确性。例如,第一检查码电路214与第二检查码电路216是使用循环冗余校验(CycleRedundancy Check,简称CRC)技术实作的电路。在另一范例实施例中,第二检查码电路216也可是配置在可复写式非易失性存储器模块106中。
第三检查码电路218是电性连接至第二检查码电路216。在本范例实施例中,第三检查码电路218用以为已由第二检查码电路216完成校验的数据重新产生新的检查码,并且将已校验的数据和新的检查码传送至可复写式非易失性存储器模块106来进行程序化运作(即,写入运作)。例如,第三检查码电路218是使用循环冗余校验技术实作的电路。
在本范例一范例实施例中,第一检查码电路214与第二检查码电路216的校验能力是不同于第三检查码电路218的校验能力。具体来说,第一检查码电路214与第二检查码电路216是以第一预设数据长度为单位来为数据产生对应检查码,而第三检查码电路218以第二预设数据长度为单位来为数据产生对应检查码。例如,在一范例实施例中,第一预设数据长度为512字节(Bytes)并且第一检查码电路214与第二检查码电路216所产生的检查码为2字节;而第二预设数据长度为4千字节(Kilobytes)并且第三检查码电路216所产生的检查码的长度为2字节。
特别是,在一范例实施例中,第三检查码电路218还会以欲写入的实体程序化单元的地址作为产生检查码的参数,由此可在读取数据时确认所接收到的数据是否是从正确的地址中所读取。
图8是根据一范例实施例所示出的执行写入运作的数据流的范例示意图。
请参照图8,假设主机系统1000欲存储4千字节的数据至存储器存储装置100,并且主机系统1000是以512字节为单位传送数据。当存储器控制电路单元104(或主机接口204)从主机系统1000接收到写入指令与数据长度为512字节的第一笔数据(以下称为数据串D1)时,第一检查码电路214会依据数据串D1产生对应的检查码CRC1。之后,存储器管理电路202会处理包含数据串D1与检查码CRC1的数据集合DS1并且将数据集合DS1暂存在缓冲存储器210中。
接着,存储器控制电路单元104(或主机接口204)从主机系统1000接收到数据长度为512字节的第二笔数据(以下称为数据串D2)时,第一检查码电路214会依据数据串D2产生对应的检查码CRC2。之后,存储器管理电路202会处理包含数据串D2与检查码CRC2的数据集合DS2并且将数据集合DS2暂存在缓冲存储器210中。
接着,存储器控制电路单元104(或主机接口204)从主机系统1000接收到数据长度为512字节的第三笔数据(以下称为数据串D3)时,第一检查码电路214会依据数据串D3产生对应的检查码CRC3。之后,存储器管理电路202会处理包含数据串D3与检查码CRC3的数据集合DS3并且将数据集合DS3暂存在缓冲存储器210中。
接着,存储器控制电路单元104(或主机接口204)从主机系统1000接收到数据长度为512字节的第四笔数据(以下称为数据串D4)时,第一检查码电路214会依据数据串D4产生对应的检查码CRC4。之后,存储器管理电路202会处理包含数据串D4与检查码CRC4的数据集合DS4并且将数据集合DS4暂存在缓冲存储器210中。
接着,存储器控制电路单元104(或主机接口204)从主机系统1000接收到数据长度为512字节的第五笔数据(以下称为数据串D5)时,第一检查码电路214会依据数据串D5产生对应的检查码CRC5。之后,存储器管理电路202会处理包含数据串D5与检查码CRC5的数据集合DS5并且将数据集合DS5暂存在缓冲存储器210中。
接着,存储器控制电路单元104(或主机接口204)从主机系统1000接收到数据长度为512字节的第六笔数据(以下称为数据串D6)时,第一检查码电路214会依据数据串D2产生对应的检查码CRC6。之后,存储器管理电路202会处理包含数据串D6与检查码CRC6的数据集合DS6并且将数据集合DS6暂存在缓冲存储器210中。
接着,存储器控制电路单元104(或主机接口204)从主机系统1000接收到数据长度为512字节的第七笔数据(以下称为数据串D7)时,第一检查码电路214会依据数据串D7产生对应的检查码CRC7。之后,存储器管理电路202会处理包含数据串D7与检查码CRC7的数据集合DS7并且将数据集合DS7暂存在缓冲存储器210中。
然后,存储器控制电路单元104(或主机接口204)从主机系统1000接收到数据长度为512字节的第八笔数据(以下称为数据串D8)时,第一检查码电路214会依据数据串D8产生对应的检查码CRC8。之后,存储器管理电路202会处理包含数据串D8与检查码CRC8的数据集合DS8并且将数据集合DS8暂存在缓冲存储器210中。
在一范例实施例中,在接收到对应此写入指令的所有数据之后,存储器控制电路单元104(或存储器管理电路202)就可传送确认信息给主机系统1000,以告知可再传送下一个指令。然而,本发明不限于此,在另一范例实施例中,存储器控制电路单元104(或存储器管理电路202)也可在执行所接收到的写入指令已将数据程序化至可复写式非易失性存储器模块106之后,才传送确认信息给主机系统1000。
之后,当存储器控制电路单元104(或存储器管理电路202)要执行所接收的写入指令,以将所接收到的数据串D1~D8程序化至可复写式非易失性存储器模块106时,存储器控制电路单元104(或存储器管理电路202)会选择作动实体抹除单元中的一个空的实体程序化单元(以下称为第一实体程序化单元)来写入数据串D1~D8,并且产生对应的控制信息CI(例如,对应的逻辑地址等信息)。
特别是,暂存于缓冲存储器210的数据集合DS1~DS8会被送至第二检查码电路216,并且第二检查码电路216会依据每个数据集合内的检查码来校验对应的数据串,以确保数据集合内的数据串无错误位。具体来说,第二检查码电路216会根据检查码CRC1来校验数据串D1,以确认数据串D1在传输过程中无发生错误。类似地,第二检查码电路216会根据检查码CRC2~CRC8来校验数据串D2~D8。
特别是,在将已校验的数据串D1~D8写入至第一实体程序化单元之前,错误检查与校正电路212会为已校验的数据串D1~D8产生对应的错误检查与校正码ECC,并且第三检查码电路218会为已校验的数据串D1~D8产生对应的检查码NCRC。如上所述,第三检查码电路218是以第二预设长度为单位(例如,4千字节)来产生检查码。因此,第三检查码电路218是根据已校验的数据串D1~D8来产生对应的一个检查码。例如,在一范例实施例中,第三检查码电路218会根据欲存储已校验的数据串D1~D8的第一实体程序化单元的地址信息或/及已校验的数据串D1~D8的内容来产生检查码NCRC。
最后,存储器控制电路单元104(或存储器管理电路202)会将包含已校验的数据串D1~D8、控制信息CI、检查码NCRC与错误检查与校正码ECC的数据框DF程序化至第一实体程序化单元。具体来说,已校验的数据串D1~D8会被程序化至第一实体程序化单元的数据位区,并且控制信息CI、检查码NCRC与错误检查与校正码ECC会被程序化至冗余位区。
例如,当主机系统1000下达读取指令来读取存储于第一实体程序化单元中的数据时,存储器控制电路单元104(或存储器管理电路202)会从第一实体程序化单元中读取数据框DF。错误检查与校正电路212会根据错误检查与校正码ECC来对数据串D1~D8进行错误校正程序,以校正数据串D1~D8中的错误位。然后,已校正的数据串D1~D8与检查码NCRC会被送至第三检查码电路216。第三检查码电路216会根据检查码NCRC来校验数据串D1~D8。例如,如上所述,检查码NCRC可根据第一实体程序化单元的地址信息来产生,因此,通过此校验,可确认所接收到的数据是否为存储在第一实体程序化单元的数据。之后,第二检查码电路214会分别地为已校验的数据串D1~D8产生对应的检查码CRC1~CRC8。然后,存储器控制电路单元104(或存储器管理电路202)会将分别含有数据串D1~D8与检查码CRC1~CRC8的数据集合DS1~DS8暂存至缓冲存储器210,并且依序地一笔接着一笔传送给主机系统1000以响应此读取指令。特别是,在通过主机接口204传送数据之前,数据串会被传送至第一检查码电路214,并且第一检查码电路214会使用对应的检查码来校验数据串,以确保传送给主机系统1000的数据的正确性。例如,在将数据串D1传送给主机系统1000之前,第一检查码电路214会根据数据集合DS1中的检查码CRC1对数据串D1进行校验,并且校验后的数据串D1会通过主机接口204传送给主机系统1000。类似地,传送数据集合DS2~DS8之前,第一检查码电路214会根据数据集合DS2~DS8中的检查码CRC2~CRC8对数据集合DS2~DS8进行校验。
必须了解的是,尽管在本范例实施例中,错误检查与校正电路212是在数据校验前进行错误校正程序,但本发发明不限于此。在另一范例实施例中,错误检查与校正电路212也可在数据校验后进行错误校正程序。
第三检查码电路第三检查码电路第二检查码电路第一检查码电路第一检查码电路第一检查码电路第一检查码电路如上所述,依据第一检查码电路214所产生的检查码可以验证数据串在存储器控制电路单元104内传送时是否发生错误。然而,依据主机系统1000的数据传输单位(例如,512字节)来产生检查码(即,由第一检查码电路214所产生的检查码)的例子中,在将数据以实体程序化单元的大小(例如,4千字节)为单位执行程序化时,大量的检查码会占用冗余位区的空间,可能会造成冗余位区无足够空间存储控制信息或错误检查与校正码。在本范例实施例中,在将数据串传送至可复写式非易失性存储器模块之前,与第一检查码电路214相同的第二检查码电路216会先依据对应的检查码对数据串进行校验,之后第三检查码电路218再为已校验的多笔数据串来产生一个检查码(如图8的例子所述)。基此,可在确保数据传输的正确性,同时又避免冗余位区空间不足的问题。
值得一提的是,在另一范例实施例中,存储器控制电路单元104还可包括数据压缩电路,以使数据位区可存储更多笔来自主机系统1000的数据串并且节省更多冗余位区的空间。具体来说,数据压缩电路可将第二检查码电路216所校验的数据串(例如,第一数据串)压缩成压缩数据(例如,第一已压缩数据串)后才传送给第三检查码电路218。例如,以图8为例,一个实体程序化单元能存储8笔数据串,而对应8笔数据串的总长度为16字节的检查码会以数据长度为2字节的检查码来替换,其节省的空间为14字节。若数据长度为512字节的数据串皆可被压缩为128字节的数据串时,一个实体程序化单元将能存储16笔数据串,而对应16笔数据串的总长度为32字节的检查码以数据长度为2字节的检查码来替换,其节省的空间为30字节。
图9是根据一范例实施例所示出的数据存取方法的流程图。
请参照图9,在步骤S901中,主机接口204从主机系统1000中接收数据串(以下称为第一数据串)。在步骤S903中,第一检查码电路214会产生对应第一数据串的检查码(以下称为第一检查码)并且存储器控制电路单元104(或存储器管理电路202)会依据第一数据串与对应第一数据串的第一检查码来产生第一数据集合。
在步骤S905中,主机接口204从主机系统1000中接收另一数据串(以下称为第二数据串)。在步骤S907中,第一检查码电路214会产生对应第二数据串的第一检查码并且存储器控制电路单元104(或存储器管理电路202)会依据第二数据串与对应第二数据串的第一检查码来产生第二数据集合。
在步骤S909中,存储器控制电路单元104(或存储器管理电路202)选择一个空的实体程序化单元(以下称为第一实体程序化单元)来准备进行程序化。
在步骤S911中,第二检查码电路216从第一数据集合中获取第一数据串与对应第一数据串的第一检查码,并且使用对应第一数据串的第一检查码来校验第一数据串;并且从第二数据集合中获取第二数据串与对应第二数据串的第一检查码,并且使用对应第二数据串的第一检查码来校验第二数据串。
之后,在步骤S913中,第三检查码电路218会依据已通过第二检查码电路216校验的第一数据串与第二数据串来产生新的检查码(以下称为第二检查码)。例如,在一范例实施例中,第三检查码电路218会依据第一数据串、第二数据串与第一实体程序化单元的地址信息来产生第二检查码,由此在读取数据时可根据校验结果确认所读取的数据是否为存储于第一实体程序化单元内的数据。此外,如上所述,第三检查码电路218的校验能力是不同于第一检查码电路214与第二检查码电路216,因此,对应第一数据串与第二数据串的第一检查码的大小会小于第二检查码的大小。在另一范例实施例中,对应第一数据串与第二数据串的第一检查码的长度不小于第二检查码的长度。
在步骤S915中,存储器控制电路单元104(或存储器管理电路202)会依据已校验的第一数据串与第二数据串以及第二检查码来产生数据框,并且通过存储器接口206将数据框写入至第一实体程序化单元。
必须了解的是,图9的范例流程是以从主机系统1000接收两笔数据串后将此两笔数据串一起写入至实体程序化单元为例进行描述,然而本发明不限于此。例如,在另一范例实施例中,存储器控制电路单元104也可在仅接收到一笔数据串就执行上述程序化运作。例如,上述步骤S903可被省略,第二检查码电路216仅校验第一数据串,第三检查码电路218依据第一数据串来产生新的检查码,并且存储器控制电路单元104(或存储器管理电路202)依据已校验的第一数据串以及第二检查码来产生数据框,且通过存储器接口206将数据框写入至第一实体程序化单元。此外,在另一范例实施例中,存储器控制电路单元104也可在接收到更多笔数据串后,才进行上述程序化运作。
综上所述,本发明所提供的数据存取方法、存储器控制电路单元与存储器存储装置,能够有效地确保在存储器控制电路单元内传输过程中数据的正确性,同时避免数据冗员位区的空间不足无法存储大量检查码的问题。此外,本发明所提供的数据存取方法、存储器控制电路单元与存储器存储装置会根据程序化地址重新产生检查码,因此,在读取运作时,可有效地避免读取错误。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种数据存取方法,用于一存储器存储装置,其特征在于,所述存储器存储装置具有一可复写式非易失性存储器模块,所述可复写式非易失性存储器模块具有多个实体抹除单元,且每一该些实体抹除单元具有多个实体程序化单元,所述数据存取方法包括:
接收一第一数据串,使用一第一检查码电路产生对应所述第一数据串的一第一检查码并且依据所述第一数据串与对应所述第一数据串的所述第一检查码来产生一第一数据集合;
使用一第二检查码电路从所述第一数据集合中获取所述第一数据串与对应所述第一数据串的所述第一检查码,并且使用对应所述第一数据串的所述第一检查码来校验所述第一数据串;
依据对应已校验的所述第一数据串的一信息使用第三检查码电路来产生一第二检查码;
使用一错误检查与校正电路来产生一错误检查与校正码;
依据已校验的所述第一数据串、所述第二检查码与所述错误检查与校正码来产生一数据框;以及
将所述数据框写入至该些实体程序化单元之中的一第一实体程序化单元,
其中所述第一检查码电路不同于所述第三检查码电路。
2.根据权利要求1所述的数据存取方法,其特征在于,所述第一检查码的长度不小于所述第二检查码的长度。
3.根据权利要求1所述的数据存取方法,其特征在于,还包括:
接收一第二数据串,使用所述第一检查码电路产生对应所述第二数据串的一第一检查码并且依据所述第二数据串与对应所述第二数据串的所述第一检查码来产生一第二数据集合;以及
使用所述第二检查码电路从所述第二数据集合中获取所述第二数据串与对应所述第二数据串的所述第一检查码,并且使用对应所述第二数据串的所述第一检查码来校验所述第二数据串,
其中依据对应已校验的所述第一数据串的所述信息使用所述第三检查码电路来产生所述第二检查码的步骤包括:依据已校验的所述第一数据串与已校验的所述第二数据串使用所述第三检查码电路来产生所述第二检查码,
其中使用所述错误检查与校正电路来产生所述错误检查与校正码的步骤包括:依据已校验的所述第一数据与已校验的所述第二数据使用所述错误检查与校正电路来产生所述错误检查与校正码,
其中依据已校验的所述第一数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框的步骤包括:依据已校验的所述第一数据串、已校验的所述第二数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框。
4.根据权利要求3所述的数据存取方法,其特征在于,对应所述第一数据串的所述第一检查码的大小与对应所述第二数据串的所述第一检查码的大小的总和大于所述第二检查码的大小。
5.根据权利要求1所述的数据存取方法,其特征在于,
依据对应已校验的所述第一数据串的所述信息使用所述第三检查码电路来产生所述第二检查码的步骤包括:
依据所述第一实体程序化单元的地址信息使用所述第三检查码电路来产生所述第二检查码。
6.根据权利要求1所述的数据存取方法,其特征在于,还包括:
压缩已校验的所述第一数据串以产生一第一已压缩数据串,
其中依据对应已校验的所述第一数据串的所述信息使用所述第三检查码电路来产生所述第二检查码的步骤包括:
依据对应已校验的所述第一数据串的所述第一已压缩数据串使用所述第三检查码电路来产生所述第二检查码,
其中使用所述错误检查与校正电路来产生所述错误检查与校正码的步骤包括:
依据对应已校验的所述第一数据串的所述第一已压缩数据串使用所述错误检查与校正电路来产生所述错误检查与校正码,
其中依据已校验的所述第一数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框的步骤包括:
依据对应已校验的所述第一数据串的所述第一已压缩数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框。
7.根据权利要求1所述的数据存取方法,其特征在于,还包括:
压缩已校验的所述第一数据串以产生一第一已压缩数据串,
其中依据对应已校验的所述第一数据串的所述信息使用第三检查码电路来产生所述第二检查码的步骤包括:
依据对应已校验的所述第一数据串的所述第一已压缩数据串与所述第一实体程序化单元的地址信息使用所述第三检查码电路来产生所述第二检查码,
其中使用所述错误检查与校正电路来产生所述错误检查与校正码的步骤包括:
依据对应已校验的所述第一数据串的所述第一已压缩数据串使用所述错误检查与校正电路来产生所述错误检查与校正码,
其中依据已校验的所述第一数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框的步骤包括:
依据对应已校验的所述第一数据串的所述第一已压缩数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框。
8.根据权利要求1所述的数据存取方法,其特征在于,还包括:
从所述第一实体程序化单元中读取所述数据框;以及
依据所读取的所述数据框中的所述第二检查码使用所述第三检查码电路来检查所读取的所述数据框中的所述第一数据。
9.一种存储器控制电路单元,用于控制一可复写式非易失性存储器模块,其特征在于,所述存储器控制电路单元包括:
一主机接口;
一第一检查码电路,电性连接至所述主机接口;
一存储器管理电路,电性连接至所述第一检查码电路;
一错误检查与校正电路,电性连接至所述存储器管理电路;
一第二检查码电路,电性连接至所述存储器管理电路;
一第三检查码电路,电性连接至所述第二检查码电路;以及
一存储器接口,电性连接至所述第三检查码电路并且用以电性连接至所述可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块,所述可复写式非发性存储器模块具有多个实体抹除单元,且每一所述些实体抹除单元具有多个实体程序化单元,
其中所述主机接口接收一第一数据串,所述第一检查码电路产生对应所述第一数据串的一第一检查码,
其中所述存储器管理电路依据所述第一数据串与对应所述第一数据串的所述第一检查码来产生一第一数据集合,
其中所述第二检查码电路从所述第一数据集合中获取所述第一数据串与对应所述第一数据串的所述第一检查码,并且使用对应所述第一数据串的所述第一检查码来校验所述第一数据串,
其中所述第三检查码电路依据对应已校验的所述第一数据串一信息产生一第二检查码,
其中所述错误检查与校正电路产生一错误检查与校正码,
其中所述存储器管理电路依据已校验的所述第一数据串、所述第二检查码与所述错误检查与校正码来产生一数据框,
其中所述存储器管理电路通过所述存储器接口将所述数据框写入至该些实体程序化单元之中的一第一实体程序化单元,
其中所述第一检查码电路不同于所述第三检查码电路。
10.根据权利要求9所述的存储器控制电路单元,其特征在于,所述第一检查码的长度不小于所述第二检查码的长度。
11.根据权利要求9所述的存储器控制电路单元,其特征在于,
所述主机接口接收一第二数据串,
其中所述第一检查码电路产生对应所述第二数据串的一第一检查码,
其中所述存储器管理电路依据所述第二数据串与对应所述第二数据串的所述第一检查码来产生一第二数据集合,
其中所述第二检查码电路从所述第二数据集合中获取所述第二数据串与对应所述第二数据串的所述第一检查码,并且使用对应所述第二数据串的所述第一检查码来校验所述第二数据串,
其中在上述产生所述错误检查与校正码的运作中,所述第三检查码电路是依据已校验的所述第一数据与已校验的所述第二数据使用所述错误检查与校正电路来产生所述错误检查与校正码,
其中在上述依据已校验的所述第一数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框的运作中,所述存储器管理电路是依据已校验的所述第一数据串、已校验的所述第二数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框。
12.根据权利要求11所述的存储器控制电路单元,其特征在于,对应所述第一数据串的所述第一检查码的大小与对应所述第二数据串的所述第一检查码的大小的总和大于所述第二检查码的大小。
13.根据权利要求9所述的存储器控制电路单元,其特征在于,
在上述依据对应已校验的所述第一数据串的所述信息来产生所述第二检查码的运作中,所述第三检查码电路是依据所述第一实体程序化单元的地址信息使用所述第三检查码电路来产生所述第二检查码。
14.根据权利要求9所述的存储器控制电路单元,其特征在于,还包括:
一数据压缩电路,电性连接至所述存储器管理电路,且用以压缩已校验的所述第一数据串以产生一第一已压缩数据串,
其中在上述依据对应已校验的所述第一数据串的所述信息来产生所述第二检查码的运作中,所述第三检查码电路是依据对应已校验的所述第一数据串的所述第一已压缩数据串使用所述第三检查码电路来产生所述第二检查码,
其中在上述产生所述错误检查与校正码的运作中,所述错误检查与校正电路是依据对应已校验的所述第一数据串的所述第一已压缩数据串使用所述错误检查与校正电路来产生所述错误检查与校正码,
其中在上述依据已校验的所述第一数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框的运作中,所述存储器管理电路是依据对应已校验的所述第一数据串的所述第一已压缩数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框。
15.根据权利要求9所述的存储器控制电路单元,其特征在于,还包括:
一数据压缩电路,电性连接至所述存储器管理电路,且用以压缩已校验的所述第一数据串以产生一第一已压缩数据串,
其中在上述依据对应已校验的所述第一数据串的所述信息来产生所述第二检查码的运作中,所述第三检查码电路是依据对应已校验的所述第一数据串的所述第一已压缩数据串与所述第一实体程序化单元的地址信息使用所述第三检查码电路来产生所述第二检查码,
其中在上述产生所述错误检查与校正码的运作中,所述错误检查与校正电路是依据对应已校验的所述第一数据串的所述第一已压缩数据串使用所述错误检查与校正电路来产生所述错误检查与校正码,
其中在上述依据已校验的所述第一数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框的运作中,所述存储器管理电路是依据对应已校验的所述第一数据串的所述第一已压缩数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框。
16.根据权利要求9所述的存储器控制电路单元,其特征在于,
其中所述存储器管理电路从所述第一实体程序化单元中读取所述数据框,并且所述第三检查码电路依据所读取的所述数据框中的所述第二检查码来检查所读取的所述数据框中的所述第一数据。
17.一种存储器存储装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机系统;
一可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块具有多个实体抹除单元,且每一该些实体抹除单元具有多个实体程序化单元;以及
一存储器控制电路单元,包括一主机接口、一存储器接口、一第一检查码电路、一第二检查码电路、一第三检查码电路、一存储器管理电路与一错误检查与校正电路,
其中所述主机接口电性连接至所述连接接口单元,所述第一检查码电路电性连接至所述主机接口,所述存储器管理电路电性连接至所述第一检查码电路,所述第二检查码电路电性连接至所述存储器管理电路,所述第三检查码电路电性连接至所述第二检查码电路,所述存储器接口电性连接至所述第三检查码电路与所述可复写式非易失性存储器模块,并且所述错误检查与校正电路电性连接至所述存储器管理电路,
其中所述主机接口从所述主机系统中接收一第一数据串,所述第一检查码电路产生对应所述第一数据串的一第一检查码,
其中所述存储器管理电路依据所述第一数据串与对应所述第一数据串的所述第一检查码来产生一第一数据集合,
其中所述第二检查码电路从所述第一数据集合中获取所述第一数据串与对应所述第一数据串的所述第一检查码,并且使用对应所述第一数据串的所述第一检查码来校验所述第一数据串,
其中所述第三检查码电路依据对应已校验的所述第一数据串的一信息产生一第二检查码,
其中所述错误检查与校正电路产生一错误检查与校正码,
其中所述存储器管理电路依据已校验的所述第一数据串、所述第二检查码与所述错误检查与校正码来产生一数据框,
其中所述存储器管理电路通过所述存储器接口将所述数据框写入至该些实体程序化单元之中的一第一实体程序化单元,
其中所述第一检查码电路是相同于所述第二检查码电路。
18.根据权利要求17所述的存储器存储装置,其特征在于,所述第一检查码的长度不小于所述第二检查码的长度。
19.根据权利要求17所述的存储器存储装置,其特征在于,
所述主机接口接收一第二数据串,
其中所述第一检查码电路产生对应所述第二数据串的一第一检查码,
其中所述存储器管理电路依据所述第二数据串与对应所述第二数据串的所述第一检查码来产生一第二数据集合,
其中所述第二检查码电路从所述第二数据集合中获取所述第二数据串与对应所述第二数据串的所述第一检查码,并且使用对应所述第二数据串的所述第一检查码来校验所述第二数据串,
其中在上述产生所述错误检查与校正码的运作中,所述第三检查码电路是依据已校验的所述第一数据与已校验的所述第二数据使用所述错误检查与校正电路来产生所述错误检查与校正码
其中在上述依据已校验的所述第一数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框的运作中,所述存储器管理电路是依据已校验的所述第一数据串、已校验的所述第二数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框。
20.根据权利要求19所述的存储器存储装置,其特征在于,对应所述第一数据串的所述第一检查码的大小与对应所述第二数据串的所述第一检查码的大小的总和大于所述第二检查码的大小。
21.根据权利要求17所述的存储器存储装置,其特征在于,
在上述依据对应已校验的所述第一数据串的所述信息来产生所述第二检查码的运作中,所述第三检查码电路是依据所述第一实体程序化单元的地址信息使用所述第三检查码电路来产生所述第二检查码。
22.根据权利要求17所述的存储器存储装置,其特征在于,所述存储器控制电路单元还包括一数据压缩电路,所述存储器压缩电路电性连接至所述存储器管理电路且用以压缩已校验的所述第一数据串以产生一第一已压缩数据串,
其中在上述依据对应已校验的所述第一数据串的所述信息来产生所述第二检查码的运作中,所述第三检查码电路是依据对应已校验的所述第一数据串的所述第一已压缩数据串使用所述第三检查码电路来产生所述第二检查码,
其中在上述产生所述错误检查与校正码的运作中,所述错误检查与校正电路是依据对应已校验的所述第一数据串的所述第一已压缩数据串使用所述错误检查与校正电路来产生所述错误检查与校正码,
其中在上述依据已校验的所述第一数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框的运作中,所述存储器管理电路是依据对应已校验的所述第一数据串的所述第一已压缩数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框。
23.根据权利要求17所述的存储器存储装置,其特征在于,所述存储器控制电路单元还包括一数据压缩电路,所述存储器压缩电路电性连接至所述存储器管理电路且用以压缩已校验的所述第一数据串以产生一第一已压缩数据串,
其中在上述依据对应已校验的所述第一数据串的所述信息来产生所述第二检查码的运作中,所述第三检查码电路是依据对应已校验的所述第一数据串的所述第一已压缩数据串与所述第一实体程序化单元的地址信息使用所述第三检查码电路来产生所述第二检查码,
其中在上述产生所述错误检查与校正码的运作中,所述错误检查与校正电路是依据对应已校验的所述第一数据串的所述第一已压缩数据串使用所述错误检查与校正电路来产生所述错误检查与校正码,
其中在上述依据已校验的所述第一数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框的运作中,所述存储器管理电路是依据对应已校验的所述第一数据串的所述第一已压缩数据串、所述第二检查码与所述错误检查与校正码来产生所述数据框。
24.根据权利要求17所述的存储器存储装置,其特征在于,
所述存储器管理电路从所述第一实体程序化单元中读取所述数据框,并且所述第三检查码电路依据所读取的所述数据框中的所述第二检查码来检查所读取的所述数据框中的所述第一数据。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510211809.3A CN106201325B (zh) | 2015-04-29 | 2015-04-29 | 数据存取方法、存储器控制电路单元与存储器存储装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510211809.3A CN106201325B (zh) | 2015-04-29 | 2015-04-29 | 数据存取方法、存储器控制电路单元与存储器存储装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN106201325A true CN106201325A (zh) | 2016-12-07 |
| CN106201325B CN106201325B (zh) | 2019-04-23 |
Family
ID=57458123
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201510211809.3A Active CN106201325B (zh) | 2015-04-29 | 2015-04-29 | 数据存取方法、存储器控制电路单元与存储器存储装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106201325B (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101576853A (zh) * | 2008-05-06 | 2009-11-11 | 群联电子股份有限公司 | 数据存取方法、使用此方法的控制器与存储系统 |
| US20100281340A1 (en) * | 2009-04-30 | 2010-11-04 | International Business Machines Corporation | Adaptive endurance coding of non-volatile memories |
| CN104182293A (zh) * | 2013-05-22 | 2014-12-03 | 群联电子股份有限公司 | 数据写入方法、存储器存储装置与存储器控制器 |
-
2015
- 2015-04-29 CN CN201510211809.3A patent/CN106201325B/zh active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101576853A (zh) * | 2008-05-06 | 2009-11-11 | 群联电子股份有限公司 | 数据存取方法、使用此方法的控制器与存储系统 |
| US20100281340A1 (en) * | 2009-04-30 | 2010-11-04 | International Business Machines Corporation | Adaptive endurance coding of non-volatile memories |
| CN104182293A (zh) * | 2013-05-22 | 2014-12-03 | 群联电子股份有限公司 | 数据写入方法、存储器存储装置与存储器控制器 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106201325B (zh) | 2019-04-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104866429B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
| CN102760099B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
| TWI540582B (zh) | 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 | |
| TW201702877A (zh) | 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置 | |
| CN106708416B (zh) | 数据重建方法与系统及其存储器控制电路单元 | |
| CN104636267A (zh) | 存储器控制方法、存储器存储装置与存储器控制电路单元 | |
| CN109491828B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
| US9304907B2 (en) | Data management method, memory control circuit unit and memory storage apparatus | |
| CN112051963B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
| CN103678162B (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
| TWI509615B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
| CN102800357B (zh) | 程序码载入与存取方法、存储器控制器与存储器储存装置 | |
| CN105653391B (zh) | 数据存取方法、存储器控制电路单元及存储器储存装置 | |
| CN108664350A (zh) | 数据保护方法、存储器存储装置及存储器控制电路单元 | |
| CN115202933A (zh) | 映射表重建方法、存储器存储装置及存储器控制电路单元 | |
| CN104252600B (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
| TWI575533B (zh) | 資料校正方法、記憶體控制電路單元與記憶體儲存裝置 | |
| CN105335096B (zh) | 数据管理方法、存储器控制电路单元以及存储器存储装置 | |
| TWI541809B (zh) | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 | |
| CN103853666B (zh) | 存储器、其存储控制器与数据写入方法 | |
| CN112732199B (zh) | 数据存取方法、存储器控制电路单元及存储器存储装置 | |
| TWI545576B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
| CN110389708B (zh) | 平均磨损方法、存储器控制电路单元与存储器存储装置 | |
| CN105573662A (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
| CN106201325A (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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |