CN109426581B - 用以检测数据储存装置的数据储存方法及其数据储存装置 - Google Patents
用以检测数据储存装置的数据储存方法及其数据储存装置 Download PDFInfo
- Publication number
- CN109426581B CN109426581B CN201810414426.XA CN201810414426A CN109426581B CN 109426581 B CN109426581 B CN 109426581B CN 201810414426 A CN201810414426 A CN 201810414426A CN 109426581 B CN109426581 B CN 109426581B
- Authority
- CN
- China
- Prior art keywords
- data storage
- matrix
- storage device
- controller
- error correction
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 23
- 239000011159 matrix material Substances 0.000 claims abstract description 56
- 238000012937 correction Methods 0.000 claims abstract description 37
- 238000001514 detection method Methods 0.000 claims abstract description 37
- 239000000523 sample Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种数据储存方法及其数据储存装置,具有一快闪存储器以及一控制器。快闪存储器包括多个储存矩阵,这些储存矩阵的每一者包括多个区块,这些多区块的每一者包括多个页面,并且这些页面的每一者的大小为N个K字节组(K bytes),N为大于1的正整数。控制器耦接该快闪存储器,以1K字节组为检测单位,计算该每一页面的错误校正码位元数,并且统计当该错误校正码位元数为不同数值时所分别对应的这些页面的这些检测单位的数量,以分别判断该快闪存储器的该每一储存矩阵是否正常。
Description
技术领域
本发明有关于一用以检测数据储存装置的数据储存方法及其数据储存装置,特别有关于一种藉由统计方法,计算错误校正码位元数为不同数值时所分别对应的数量的数据储存装置与数据储存方法。
背景技术
快闪存储器为一种普遍的非挥发性数据储存装置,以电性方式抹除与程序化。以与非门型的快闪存储器(NAND FLASH)为例,常用作记忆卡(memory card)、通用串行总线闪存装置(USB flash device)、固态硬碟(SSD)、嵌入式快闪存储器模组(eMMC)、通用快闪存储器(UFS)…等使用。
由于快闪存储器具有许多数据区块,而这些数据区块可能会因为长时间的使用而发生损毁,造成数据无法正常写入或读取。因此,需要一种能够有效率数据储存方法,能够快速方便的检测数据储存装置为正常或损毁,以确保数据存取的效能与可靠度。
发明内容
为了解决上述问题,本发明提出一种用以检测数据储存装置的数据储存方法及其数据储存装置,能够统计当错误校正码位元数为不同数值时所分别对应的多个页面的检测单位的数量。藉由判断上述数量是否超出一比例数值,而能检测出数据储存装置是否发生损毁。此外,本发明以表格针对上述数量或其比例进行记录,避免占用太多存储器空间,以有效确保数据存取的效能与可靠度。
本发明的一实施例提供了一种数据储存装置,具有一快闪存储器以及一控制器。快闪存储器包括多个储存矩阵(plane),并且储存矩阵的每一者包括多个区块(block),这些多区块的每一者包括多个页面,并且这些页面的每一者的大小为N个K字节组,N为大于1的正整数。控制器耦接该快闪存储器,以1K字节组为检测单位,计算该每一页面的错误校正码(ECC)位元数,并且统计当该错误校正码位元数为不同数值时所分别对应的这些页面的这些检测单位的数量,以分别判断该快闪存储器的该每一储存矩阵是否正常。
本发明的一实施例提供了一种用于优化数据储存装置的数据储存方法,数据储存装置具有一快闪存储器以及一控制器,其中快闪存储器包括多个储存矩阵,并且储存矩阵的每一者包括多个区块,这些多区块的每一者包括多个页面,并且这些页面的每一者的大小为N个K字节组,N为大于1的正整数。数据储存方法包括:以1K字节组为检测单位,计算该每一页面的错误校正码(ECC)位元数;统计当该错误校正码位元数为不同数值时所分别对应的这些页面的这些检测单位的数量,以分别判断该快闪存储器的该每一储存矩阵是否正常。
关于本发明其他附加的特征与优点,此领域的熟悉本技术领域者,在不脱离本发明的精神和范围内,当可根据本案实施方法中所揭示的数据储存装置与数据储存方法。
附图说明
根据以下的详细说明并配合附图做完整揭示。应注意的是,根据本产业的一般作业,图示并未必按照比例绘制。事实上,可能任意的放大或缩小元件的尺寸,以做清楚的说明。
图1显示了根据本发明一实施例所述的数据储存装置与主机的示意图;
图2显示了根据本发明一实施例所述的错误校正码位元数为不同数值时所分别对应的数量的统计图;
图3显示了根据本发明另一实施例所述的错误校正码位元数为不同数值时所分别对应的数量的统计图;
图4显示了根据本发明另一实施例所述的错误校正码位元数为不同数值时所分别对应的数量的统计图;
图5显示了根据本发明一实施例所述的数据储存方法的流程图。
符号说明
100~数据储存装置;
120~控制器;
140~快闪存储器;
160-16N~储存矩阵;
160_A、160_Z…16N_A、16N_Z~区块;
160_A_1、160_Z_1…16N_A_X、16N_Z_X~页面;
180~随机存取存储器;
200~主机;
DT~表格;
T1~第一预设数值;
T2、T2'~第二预设数值;
XA、XS~面积;
S500…S514~步骤。
具体实施方式
为让本发明的目的、特征和优点能更明显易懂,下文特举出本发明的具体实施例,并配合附图,作详细说明如下。目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬件、固件、或上述任意组合来实现。
图1显示了根据本发明一实施例所述的数据储存装置100与主机200的示意图。在一实施例中,数据储存装置100包括控制器120、快闪存储器140以及随机存取存储器(RAM)180。数据储存装置100耦接主机200以传送数据与指令、或是接收数据与指令。快闪存储器140可以为非挥发性存储器,例如与非门快闪存储器(NAND Flash)。数据储存装置100的例子可包含(但不限于):可携式记忆装置(诸如符合SD/MMC、CF、MS、XD或UFS标准的记忆卡)、固态硬碟(solid state drive,SSD)以及各种嵌入式(embedded)储存装置(诸如符合UFS或EMMC规格的嵌入式储存装置)。主机200可以为手机、平板电脑、笔记型电脑、导航机或车载系统等各种电子产品、或上述各种电子产品中的处理器。
如图1所示,控制器120耦接快闪存储器140以及随机存取存储器180。随机存取存储器180用以暂存以及预取控制器120所需的数据,或是用以暂存主机200要写入快闪存储器140的数据,以加快数据储存装置100的存取时间。控制器120藉由控制快闪存储器140以丛集(cluster)为单位执行读取运作的方式来对快闪存储器140执行读取运作。此外,控制器120耦接快闪存储器140以相互传送数据与指令或接收数据与指令。进一步而言,控制器120可包括具有固件码的只读存储器(ROM)以及微控制器,并且微控制器执行固件码以操作或是存取快闪存储器140。
快闪存储器140包括多个储存矩阵(plane)160~16N。在一实施例中,每一储存矩阵160~16N的一部分区块组合成一超级区块(super block),使得快闪存储器140包括多个超级区块。详细而言,储存矩阵160~16N中的每一者还包括多个区块(block)。在一实施例中,快闪存储器140具有4个储存矩阵160~164(亦即CE0~CE3)。储存矩阵160包括区块160_A~160_Z,储存矩阵16N包括区块16N_A~16N_Z。对于储存矩阵160而言,区块160_A~160_Z中的每一者还包括多个页面。区块160_A包括页面160_A_1~160_A_X,区块160_Z包括页面160_Z_1~160_Z_X,并且每个页面的大小为N个字节组,其中N为大于1的正整数。
举例而言,储存矩阵160~164的每一者包括820的区块,上述区块的每一者包括256个页面,并且每个页面的大小为16K字节组(K-bytes)。此外,上述页面160_A_1~16N_Z_X为实体页面。控制器120在对快闪存储器140执行写入或储存动作时,是藉由控制快闪存储器140以实体页面为单位来执行写入或程序化的运作。
对于快闪存储器140而言,其页面160_A_1~16N_Z_X的每一者皆具有不同的实体地址。换言之,页面160_A_1~16N_Z_X的每一者都具有一个实体地址,而页面160_A_1~16N_Z_X的每一者的实体地址都是不同的。当数据储存装置100执行一写入运作时,控制器120决定快闪存储器140的一实体地址以写入或储存数据。此外,控制器120则分别对应上述多个实体地址至多个逻辑地址。因此,对于主机200而言,主机200系藉由逻辑地址,来读取或写入数据储存装置100所储存于某个逻辑地址的数据。
在一实施例中,控制器120以1字节组为检测单位,计算每一页面160_A_1~16N_Z_X的错误校正码(Error Correction Code,ECC)位元数,并且统计当该错误校正码位元数为不同数值时所分别对应的这些页面的这些检测单位的数量,以分别判断快闪存储器140的每一储存矩阵160~16N是否正常。
图2显示了根据本发明一实施例所述的错误校正码位元数为不同数值时所分别对应的数量的统计图。举例而言,快闪存储器140包括4个储存矩阵160~163,每个储存矩阵包括820个区块,每个区块包括256个页面,并且每个页面的大小为16K字节组。详细而言,控制器120是以1K字节组为检测单位来检测快闪存储器140,并且产生错误校正码位元数。在此1K字节组的检测单位中,如果错误校正码位元数超过第一预设数值T1,则控制器120判断该页面所隶属的该区块为损毁区块。
详细而言,控制器120计算当错误校正码位元数为不同数值时所分别对应的检测单位的数量。如图2所示,错误校正码位元数为0位元时具有数量为X0的检测单位,错误校正码位元数为1位元时具有数量为X1的检测单位(未显示),错误校正码位元数为10位元时具有数量为X10的检测单位,错误校正码位元数为20位元时具有数量为X20的检测单位,以此类推。藉由此计算方法,控制器120可得到如图2所示的统计图。
要注意的是,上述1K字节组的检测单位系作为例示之用,而非用以限制本发明。在一些实施例中,可以提高检测单位(例如为2K字节组或是4K字节组等),则统计图中的不同错误校正码位元数的群组数量就会减少,因而能够提升检测速度。
此外,控制器120可针对每个储存矩阵160~163分别进行统计、或是对全部的储存矩阵160~163一起进行统计。当控制器120对每个储存矩阵160~163分别进行统计时,则可得到分别对应于4个储存矩阵的4个统计图。举例而言,图2快闪存储器140的储存矩阵160的统计图。在此实施例中,储存矩阵160具有820*256*16(亦即3,358,720)个检测单位。因此,图2所示的数量X0、X1…Xn的总和为3,358,720。当控制器120对所有储存矩阵160~163一起进行统计时,4个储存矩阵160~160共具有4*820*256*16(亦即13,434,880)个检测单位。换言之,统计图的数量X0、X1…Xn的总和为13,434,880。
在图2所示的实施例中,第一预设数值T1为72位元。当某一个检测单位的错误校正码位元数大于72位元时,则控制器120判断该检测单位所隶属的区块为非校正性错误校正码(Uncorrectable Error Correction Code,UECC),亦即该区块为损毁区块。在另一实施例中,如果某一个检测单位的错误校正码位元数大于72位元时,则控制器120判断该检测单位所隶属的逻辑矩阵为损毁的逻辑矩阵。
此外,控制器120还定义一第二预设数值T2,并且第二预设数值T2小于第一预设数值T1。详细而言,第二预设数值T2为第一预设数值T1的60%至80%。例如,第二预设数值T2为第一预设数值T1之70%。在一实施例中,控制器120计算错误校正码位元数大于第二预设数值T2所对应的检测单位的数量,并且除以所隶属的储存矩阵的全部检测单位的数量,以得到一比例数值。然而,通常来说,错误校正码位元数大于第一预设数值T1的数量很少,在统计时亦可不列入计算。因此,在另一实施例中,控制器120计算错误校正码位元数大于第二预设数值T2并且小于第一预设数值T1所对应的检测单位的数量(例如图2所示的面积XS),并且除以所隶属的储存矩阵的全部检测单位的数量(例如图2所示的面积XA),以得到比例数值。
在一实施例中,控制器120判断上述比例数值是否大于一预设比例数值。如果上述比例数值大于预设比例数值,则控制器120判断该储存矩阵为损毁的储存矩阵。如果上述比例数值小于或等于预设比例数值,则控制器120判断该储存矩阵为正常的储存矩阵。举例而言,上述预设比例数值约为20%。然后,随机存取存储器180储存一表格,以记录每一储存矩阵的比例数值。由于表格中仅记录比例数值,因此该表格所占用的储存空间很小,不会影响数据储存装置100的效能。控制器120能够快速读取随机存取存储器180的表格而得知快闪存储器140是否发生损毁。
图3显示了根据本发明另一实施例所述的错误校正码位元数为不同数值时所分别对应的数量的统计图。在此实施例中,由统计图所计算出的比例数值(亦即面积XS除以面积XA)大于预设比例数值,因此控制器120判断快闪存储器140发生损毁。然后,控制器120将损毁的储存矩阵所储存的数据,转移到另一正常的储存矩阵。亦即将上述数据重新写入另一储存矩阵,以妥善储存上述数据。在另一实施例中,如果控制器120判断快闪存储器140发生损毁,则控制器120调整读取损毁的储存矩阵的读取电压,以进行读取再尝试(readretry)。
要注意的是,控制器120可主动或被动将比例数值传送至主机200。在一实施例中,控制器120周期性的主动将比例数值传送至主机200。在另一实施例中,当主机200传送一探询指令至数据储存装置100时,控制器120传送比例数值至主机200,以回应主机200的探询指令。
由此可知,本发明所提出的数据储存方法藉由计算错误校正码位元数为不同数值时所分别对应的数量,藉以得到比例数值以判断快闪存储器140是否发生损毁。因此,相较于传统以抹除次数(erase count)等单一数值作为判断标准,本发明的比例数值藉由统计各种不同错误校正码位元数所对应的数值所产生,因而具有较高的准确度与可靠度。
再者,第二预设数值亦可依据数据储存装置100的使用状态而调整。图4显示了根据本发明另一实施例所述的错误校正码位元数为不同数值时所分别对应的数量的统计图。在此实施例中,第二预设数值T2'为第一预设数值T1的80%,亦即第二预设数值T2'大于图2的第二预设数值T2。举例而言,第二预设数值T2'正比于温度。当数据储存装置100使用于较高温的环境时,容易发生数据的损毁,因此可调整为数值较高的第二预设数值T2'。
图5显示了根据本发明一实施例所述的数据储存方法的流程图。在步骤S500中,控制器120主动开始检测快闪存储器140,或是依据主机200的探询指令开始进行检测。在步骤S502,控制器120以1K字节组为检测单位,计算每一页面的错误校正码位元数。在步骤S504,控制器120统计当错误校正码位元数为不同数值时所分别对应的这些页面的检测单位的数量。上述统计后的结果如图2至图4所示,故此处不再赘述。
然后,在步骤S506,控制器120计算错误校正码位元数大于第二预设数值T2所对应的这些检测单位的数量,并且除以所隶属的该储存矩阵的全部检测单位的数量,以得到一比例数值。在步骤S508,控制器120判断上述比例数值是否大于预设比例数值。
如果上述比例数值没有大于预设比例数值,则执行步骤S512,控制器120判断该储存矩阵为正常的储存矩阵。如果上述比例数值大于预设比例数值,则执行步骤S510,控制器120判断该储存矩阵为损毁的储存矩阵。然后,在步骤S514中,控制器120将该储存矩阵所储存的数据转移到另一储存矩阵,或是调整读取该储存矩阵的读取电压。
本发明的方法,或特定型态或其部份,可以以程序码的型态存在。程序码可储存于实体媒体,如软碟、光碟片、硬碟、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程序码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
在本说明书以及申请专利范围中的序数,例如"第一"、"第二"、"第三"等等,彼此之间并没有顺序上的先后关系,其仅用于标示区分两个具有相同名字的不同元件。本发明说明书中"耦接"一词泛指各种直接或间接的电性连接方式。本发明虽以较佳实施例揭示如上,然其并非用以限定本发明的范围,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当由权利要求书界定为准。
Claims (16)
1.一种数据储存装置,包括:
一快闪存储器,包括多个储存矩阵(plane),其中这些储存矩阵的每一者包括多个区块(block),这些多区块的每一者包括多个页面,并且这些页面的每一者之大小为N个K字节组(K bytes),N为大于1的正整数;以及
一控制器,耦接该快闪存储器,以1K字节组为检测单位,计算该每一页面的错误校正码(ECC)位元数,并且统计当该错误校正码位元数为不同数值时所分别对应的这些页面的这些检测单位的数量,以分别判断该快闪存储器的该每一储存矩阵是否正常,
其中当该控制器所计算的该错误校正码位元数大于一第一预设数值时,该控制器判断该页面所隶属的该区块为损毁区块;
该控制器计算该错误校正码位元数大于一第二预设数值所对应的这些检测单位的数量,并且除以所隶属的该储存矩阵的全部检测单位的数量,以得到一比例数值,其中该第二预设数值小于该第一预设数值。
2.如权利要求1所述的数据储存装置,其特征在于,该第二预设数值为该第一预设数值的60%至80%。
3.如权利要求1所述的数据储存装置,其特征在于,当该比例数值大于一预设比例数值时,该控制器判断该储存矩阵为损毁的储存矩阵。
4.如权利要求1所述的数据储存装置,其特征在于,该数据储存装置更包括一随机存取存储器,用以储存一表格以记录该每一储存矩阵的该比例数值。
5.如权利要求1所述的数据储存装置,其特征在于,该数据储存装置耦接一主机,该控制器周期性将该比例数值传送至该主机。
6.如权利要求1所述的数据储存装置,其特征在于,该数据储存装置耦接一主机,并且当该主机传送一探询指令至该数据储存装置时,该数据储存装置传送该比例数值至该主机。
7.如权利要求3所述的数据储存装置,其特征在于,当该控制器判断该储存矩阵为损毁的储存矩阵时,该控制器将该储存矩阵所储存的数据转移到另一储存矩阵。
8.如权利要求3所述的数据储存装置,其特征在于,当该控制器判断该储存矩阵为损毁的储存矩阵时,该控制器调整读取该储存矩阵的读取电压。
9.一种用于优化数据储存装置的数据储存方法,该数据储存装置具有一快闪存储器、一控制器以及一随机存取存储器,其中该快闪存储器包括多个储存矩阵(plane),并且这些储存矩阵的每一者包括多个区块(block),这些多区块的每一者包括多个页面,并且这些页面的每一者的大小为N个K字节组(K bytes),N为大于1的正整数,该数据储存方法包括:
以1K字节组为检测单位,计算该每一页面的错误校正码(ECC)位元数;
统计当该错误校正码位元数为不同数值时所分别对应的这些页面的这些检测单位的数量,以分别判断该快闪存储器的该每一储存矩阵是否正常;
当所计算的该错误校正码位元数大于一第一预设数值时,判断该页面所隶属的该区块为损毁区块;以及
计算该错误校正码位元数大于一第二预设数值所对应的这些检测单位的数量,并且除以所隶属的该储存矩阵的全部检测单位的数量,以得到一比例数值,其中该第二预设数值小于该第一预设数值。
10.如权利要求9所述的用于优化数据储存装置的数据储存方法,其特征在于,该第二预设数值为该第一预设数值的60%至80%。
11.如权利要求9所述的用于优化数据储存装置的数据储存方法,其特征在于,当该比例数值大于一预设比例数值时,判断该储存矩阵为损毁的储存矩阵。
12.如权利要求9所述的用于优化数据储存装置的数据储存方法,其特征在于,还包括储存一表格以记录该每一储存矩阵的该比例数值。
13.如权利要求9所述的用于优化数据储存装置的数据储存方法,其特征在于,该比例数值周期性被传送至一主机。
14.如权利要求9所述的用于优化数据储存装置的数据储存方法,其特征在于,当一主机传送一探询指令至该数据储存装置时,藉由该数据储存装置传送该比例数值至该主机。
15.如权利要求11所述的用于优化数据储存装置的数据储存方法,其特征在于,当判断该储存矩阵为损毁的储存矩阵时,将该储存矩阵所储存的数据转移到另一储存矩阵。
16.如权利要求11所述的用于优化数据储存装置的数据储存方法,其特征在于,当判断该储存矩阵为损毁的储存矩阵时,调整读取该储存矩阵的读取电压。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106129149A TWI657336B (zh) | 2017-08-28 | 2017-08-28 | 用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置 |
TW106129149 | 2017-08-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109426581A CN109426581A (zh) | 2019-03-05 |
CN109426581B true CN109426581B (zh) | 2022-02-11 |
Family
ID=65435200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810414426.XA Active CN109426581B (zh) | 2017-08-28 | 2018-05-03 | 用以检测数据储存装置的数据储存方法及其数据储存装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10474530B2 (zh) |
CN (1) | CN109426581B (zh) |
TW (1) | TWI657336B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10936455B2 (en) * | 2019-02-11 | 2021-03-02 | Apple Inc. | Recovery of data failing due to impairment whose severity depends on bit-significance value |
US10915394B1 (en) | 2019-09-22 | 2021-02-09 | Apple Inc. | Schemes for protecting data in NVM device using small storage footprint |
CN113467701A (zh) * | 2020-03-31 | 2021-10-01 | 启碁科技股份有限公司 | 存储器设备和设备信息维护方法 |
US11550657B1 (en) | 2021-09-01 | 2023-01-10 | Apple Inc. | Efficient programming schemes in a nonvolatile memory |
CN116431381B (zh) * | 2023-04-06 | 2024-01-05 | 深圳三地一芯电子股份有限公司 | 平衡闪存ecc纠错能力方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631670A (zh) * | 2012-08-22 | 2014-03-12 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器与数据处理方法 |
CN104699417A (zh) * | 2013-12-04 | 2015-06-10 | 慧荣科技股份有限公司 | 数据储存装置以及其数据存取方法 |
US9443616B2 (en) * | 2014-04-02 | 2016-09-13 | Seagate Technology Llc | Bad memory unit detection in a solid state drive |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341332B2 (en) | 2003-12-02 | 2012-12-25 | Super Talent Electronics, Inc. | Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices |
US9171585B2 (en) * | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US9116823B2 (en) * | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
US9389952B2 (en) * | 2008-06-18 | 2016-07-12 | Super Talent Technology, Corp. | Green NAND SSD application and driver |
US8176360B2 (en) * | 2009-08-11 | 2012-05-08 | Texas Memory Systems, Inc. | Method and apparatus for addressing actual or predicted failures in a FLASH-based storage system |
US9009566B2 (en) * | 2012-09-12 | 2015-04-14 | Macronix International Co., Ltd. | Outputting information of ECC corrected bits |
CN103218274B (zh) * | 2013-03-15 | 2016-12-28 | 华为技术有限公司 | 一种预防故障累加的方法和固态硬盘 |
US9087192B2 (en) * | 2013-09-10 | 2015-07-21 | Infineon Technologies Ag | Electronic circuit and method for monitoring a data processing |
TWI537971B (zh) * | 2013-12-19 | 2016-06-11 | Storage device and access method thereof | |
US9595352B2 (en) * | 2014-03-17 | 2017-03-14 | Seagate Technology Llc | Manufacturer self-test for solid-state drives |
WO2016030992A1 (ja) * | 2014-08-27 | 2016-03-03 | 株式会社日立製作所 | 記憶デバイスおよびストレージ装置 |
TWI566091B (zh) * | 2015-09-10 | 2017-01-11 | 慧榮科技股份有限公司 | 用來對一錯誤更正碼進行解碼之方法與解碼電路 |
TWI571742B (zh) | 2015-10-07 | 2017-02-21 | 慧榮科技股份有限公司 | 資料儲存裝置及資料維護方法 |
US9996417B2 (en) * | 2016-04-12 | 2018-06-12 | Apple Inc. | Data recovery in memory having multiple failure modes |
TWI594126B (zh) * | 2016-07-05 | 2017-08-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料儲存方法 |
US10176886B1 (en) * | 2017-07-07 | 2019-01-08 | Seagate Technology Llc | Multi-level data block error detection code |
TWI621021B (zh) * | 2017-08-25 | 2018-04-11 | 慧榮科技股份有限公司 | 用以優化資料儲存裝置之資料儲存方法及其資料儲存裝置 |
-
2017
- 2017-08-28 TW TW106129149A patent/TWI657336B/zh active
-
2018
- 2018-01-06 US US15/863,893 patent/US10474530B2/en active Active
- 2018-05-03 CN CN201810414426.XA patent/CN109426581B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631670A (zh) * | 2012-08-22 | 2014-03-12 | 群联电子股份有限公司 | 存储器储存装置、存储器控制器与数据处理方法 |
CN104699417A (zh) * | 2013-12-04 | 2015-06-10 | 慧荣科技股份有限公司 | 数据储存装置以及其数据存取方法 |
US9443616B2 (en) * | 2014-04-02 | 2016-09-13 | Seagate Technology Llc | Bad memory unit detection in a solid state drive |
Also Published As
Publication number | Publication date |
---|---|
TWI657336B (zh) | 2019-04-21 |
CN109426581A (zh) | 2019-03-05 |
US20190065308A1 (en) | 2019-02-28 |
US10474530B2 (en) | 2019-11-12 |
TW201913372A (zh) | 2019-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109426581B (zh) | 用以检测数据储存装置的数据储存方法及其数据储存装置 | |
CN110390979B (zh) | 存储器控制器和具有存储器控制器的存储器系统 | |
CN106155585B (zh) | 自适应读取干扰收回策略 | |
US8266481B2 (en) | System and method of wear-leveling in flash storage | |
CN106257594B (zh) | 读取干扰收回策略 | |
US9678827B2 (en) | Access counts for performing data inspection operations in data storage device | |
US8902671B2 (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
KR20190057887A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
WO2014092967A1 (en) | Tracking read accesses to regions of non-volatile memory | |
US10126970B2 (en) | Paired metablocks in non-volatile storage device | |
CN110837342A (zh) | 数据存储装置及其操作方法 | |
US20140269068A1 (en) | Tracking erase pulses for non-volatile memory | |
US10956065B2 (en) | Solid state storage device with quick boot from NAND media | |
US20220138096A1 (en) | Memory system | |
CN107797934A (zh) | 处理去分配命令的方法与存储设备 | |
CN109426445B (zh) | 用以优化数据储存装置的数据储存方法及其数据储存装置 | |
CN109426447B (zh) | 用以优化数据储存装置的数据储存方法及其数据储存装置 | |
WO2014164019A1 (en) | Tracking erase operations to regions of non-volatile memory | |
CN110389907B (zh) | 电子装置 | |
US10509583B1 (en) | Memory management method and storage controller | |
CN112052116A (zh) | 存储器系统、存储器控制器和元信息存储装置 | |
US10635583B2 (en) | Memory management method and storage controller | |
US11061764B2 (en) | Data storage device and data retrieval method | |
CN112394879B (zh) | 操作存储设备的方法、存储设备及操作存储系统的方法 | |
CN110442302B (zh) | 存储器系统及用于操作存储器系统的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |