数据储存装置及其损坏数据列的筛选方法
文献发布时间:2023-06-19 19:33:46
技术领域
本发明涉及一种数据储存装置的存取技术,尤其涉及一种数据储存装置的损坏数据列的筛选方法。
背景技术
次级品的数据储存装置(Downgrade Flash)都存在着为数众多的损坏数据列(badcolumn)。当损坏数据列没有被侦测到以及移除,则会消耗数据储存装置大部分的错误更正码(Error correction code)可更正错误的更正能力(例如,可更正比特数),甚至有可能超过错误更正码可更正错误的更正能力,导致数据储存装置开卡时的可储存容量变低,以及容易造成数据储存装置读写上的失败。然而,如果判断数据储存装置中的数据列为一损坏数据列的条件太过于严谨,则数据储存装置的损坏数据列的数量太少而可能超过错误更正码可更正错误的更正能力;如果判断数据储存装置中的数据列为一损坏数据列的条件太过于宽松,则数据储存装置的损坏数据列的数量太多而错误更正码可更正错误的更正能力将会大大降低。因此,需要一种权衡的损坏数据列的筛选方法。
发明内容
本发明提供一种数据储存装置及其损坏数据列的筛选方法,可依据数据储存装置的错误更正码可支持的最大错误比特数适度地调整损坏数据列的判断条件,以避免判断条件的太过严谨或太过宽松,而发生超过错误更正码可更正错误的更正能力或是错误更正码可更正错误的更正能力大大降低的问题。
本发明所提供的损坏数据列的筛选方法,适用于数据储存装置,其中数据储存装置包括控制单元及数据储存媒体,且数据储存媒体包括多个数据列。而控制单元执行损坏数据列的筛选方法包括:读取每一数据列的写入数据为读取数据;比对每一数据列的读取数据与写入数据以计算每一数据列的平均错误比特数;判断每一数据列的平均错误比特数是否大于或等于默认值;以及当判断一数据列的平均错误比特数大于或等于默认值时,记录此数据列为损坏数据列;其中,默认值是数据储存装置的一错误更正码可更正的平均错误比特数。
本发明所提供的数据储存装置包括数据储存媒体以及连接数据储存媒体的控制单元。数据储存媒体包括多个数据列。控制单元用以执行损坏数据列的筛选方法。损坏数据列的筛选方法包括:读取每一数据列的写入数据为读取数据;比对每一数据列的读取数据与写入数据以计算每一数据列的平均错误比特数;判断每一数据列的平均错误比特数是否大于或等于默认值;以及当判断一数据列的平均错误比特数大于或等于默认值时,记录此数据列为损坏数据列;其中,默认值是数据储存装置的一错误更正码可更正的平均错误比特数。
在本发明的一实施例中,上述数据储存媒体包括多个数据区块,每一数据区块包括多个数据页,每一数据页包括位于同一行的多个数据列,而这些数据列被划分为多个大块。
在本发明的一实施例中,上述每一数据页包括一数据区及一备用区,且这些大块位于数据区内。
在本发明的一实施例中,上述每一大块包括一数据区及一备用区。
本发明的数据储存装置及其损坏数据列的筛选方法因可依据数据储存装置的错误更正码可支持的最大错误比特数适度地调整损坏数据列的判断条件,因此可以避免发生超过错误更正码可更正错误的更正能力或是错误更正码可更正错误的更正能力大大降低的问题。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举实施例,并配合所附图式,作详细说明如下。
附图说明
图1为本发明一实施例所提供的数据储存装置的示意图;
图2为本发明一实施例所提供的数据储存媒体的示意图;以及
图3为本发明一实施例所提供的数据储存装置的损坏数据列的筛选方法的流程示意图。
具体实施方式
请参照图1,为本发明一实施例所提供的数据储存装置的示意图。数据储存装置1包括有数据储存媒体10与控制单元20,而控制单元20连接至数据储存媒体10,以对数据储存媒体10存取数据。
请参照图2,为本发明一实施例所提供的数据储存媒体的示意图。此数据储存媒体10包括多个数据区块(Block,如标示B0到BZ-1所示)。每一数据区块包括多个数据列11,而置于同一行的数据列称为数据页(Page,如标示P0至PN-1所示)。此外,依据用户的需求,可将数据列11划分为M个大块(Chunk,如标示C0至CM-1),每一个大块C0至CM-1包含多个数据列11。上述中的Z、N、及M皆为正整数。在本实施例中,数据储存媒体10包括以非易失性存储器来实现,例如是以闪存(Flash Memory)、磁阻式随机存取内存(MagnetoresistiveRandom Access Memory)、铁电随机存取内存(Ferroelectric Random Access Memory)等具有长时间数据保存的内存装置来实现。此外,一实施例中,每一页数据页可划分为数据区以及备用区,而M个大块位于数据区中。另一实施例中,每一个大块C0至CM-1可划分为数据区以及备用区。其中数据区用以储存数据(或用户数据),备用区用以储存奇偶校验码(Parity Check Code),奇偶校验码可用以纠正数据区的数据的错误比特(Error Bit)。
由于损坏数据列存在于数据储存媒体10之中,在将数据储存媒体10划分为数据区与备用区之前,利用本发明的损坏数据列的筛选方法可有效地判断并记录数据储存媒体10的损坏数据列。当损坏数据列的位置确定之后,再进行数据区与备用区的划分。另外,数据区与备用区的划分乃是基于数据管理的逻辑性划分,因此,用户亦可先进行数据区与备用区的划分,再可利用本发明的损坏数据列的筛选方法来判断并记录损坏数据列的位置,最后,调整数据区与备用区的划分。上述二种数据划分方式的精神相仿,执行步骤的先后顺序略有不同,为了简化本发明的说明,仅以第二种实施方式进行说明,但不以此为限。
请参照图3,为本发明一实施例所提供的数据储存装置的损坏数据列的筛选方法的流程示意图。控制单元20执行本发明的损坏数据列的筛选方法包括以下操作。步骤S1中,控制单元20写入数据至数据储存媒体10中的所有数据列11。步骤S3中,控制单元20读取每一数据列11的写入数据以作为读取数据。步骤S5中,控制单元20比对每一数据列11的读取数据与写入数据以计算每一数据列11的平均错误比特数。步骤S7中,控制单元20判断每一数据列11的平均错误比特数是否大于或等于默认值,其中默认值是数据储存装置1的错误更正码可更正的平均错误比特数。步骤S9中,当判断一数据列11的平均错误比特数大于或等于默认值时,控制单元20记录数据列11为一损坏数据列。
可以注意的是,数据储存媒体10中的备用区大小决定错误更正码可更正错误的更正能力。亦即,当数据储存媒体10中的备用区较小时,错误更正码可更正错误的更正能力较低,如可更正错误的比特数也会随之变少;当数据储存媒体10中的备用区较大时,错误更正码可更正错误的更正能力较高,如可更正错误的比特数也会随之变多。
一示例中,数据储存媒体10包括17472条数据列11,每条数据列有2560比特,这些数据列分成16个大块,每个大块包括1024条数据列11,则备用区为17472-(16*1024)=1088条数据列11,亦即每个大块可以分配到68条数据列11,如此错误更正码对应这些备用区的数据列11提供可更正错误的36比特数的更正能力,而每条数据列11可允许的平均错误比特数为36/(1024+68)=0.032比特,即默认值。其中,本示例中的该些数值会随着数据储存媒体10的尺寸改变而改变,本发明并不以上述数值为限。
在此示例中,控制单元20写入数据至数据储存媒体10中的所有数据列11,读取每一数据列11的写入数据以作为读取数据,比对每一数据列11的读取数据与写入数据以计算每一数据列11的平均错误比特数,以及判断每一数据列11的平均错误比特数是否大于或等于默认值。
当某条数据列11的错误比特数为100个比特时,控制单元20计算此条数据列11的平均错误比特数为100/2560=0.039比特。当控制单元20判断此数据列11的平均错误比特数(0.039比特)大于默认值(0.032比特)时,控制单元20记录此数据列11为一损坏数据列于数据储存装置1的一损坏数据列总表。
当某条数据列11的错误比特数为70个比特时,控制单元20计算此条数据列11的平均错误比特数为70/2560=0.027比特。当控制单元20判断此数据列11的平均错误比特数(0.027比特)小于默认值(0.032比特)时,则表示此数据列11为非损坏数据列。
需要注意的是,上述示例并非用以限定本发明,本发明所属技术领域中任何熟悉本专业的技术人员,可依据数据储存媒体10的大小及数据列11的数目划分不同数目的大块,以及调整数据区与备用区的尺寸大小。借此,以适度地找出数据储存装置1的错误更正码可更正错误的更正能力。
综上所述,本发明的数据储存装置及其损坏数据列的筛选方法因可依据数据储存装置的错误更正码可支持的最大错误比特数适度地调整损坏数据列的判断条件,因此可以避免发生超过错误更正码可更正错误的更正能力或是错误更正码可更正错误的更正能力大大降低的问题。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的方法及技术内容作出些许的更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
- 用以优化数据储存装置的数据储存方法及其数据储存装置
- 用以检测数据储存装置的数据储存方法及其数据储存装置
- 用以优化数据储存装置的数据储存方法及其数据储存装置
- 数据储存装置以及其数据抹除方法
- 损坏数据行的筛选方法与具有损坏数据行总表的数据储存装置
- 损坏数据行的筛选方法与具有损坏数据行总表的数据储存装置