数据存取方法、存储器控制电路单元及存储器储存装置的制造方法

文档序号:9887494阅读:239来源:国知局
数据存取方法、存储器控制电路单元及存储器储存装置的制造方法【
技术领域
】[0001]本发明是有关于一种数据存取方法,且特别是有关于一种用于可复写式非易失性存储器组件的数据存取方法、存储器控制电路单元及存储器储存装置。【
背景技术
】[0002]数字相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非挥发性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本电脑。固态硬盘就是一种以快闪存储器作为储存媒体的储存装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。[0003]由于储存在可复写式非易失性存储器的数据可能会因各种因素(例如,存储单元的漏电、编程失败、损毁等)而产生错误比特,因此,在存储器储存系统中一般会配置错误检查与校正电路并为所储存的数据产生错误检查与校正码以确保数据的正确性。然而,当数据中的错误比特数目超过错误检查与校正电路所能检测与校正的错误比特数时,含有错误比特的数据就无法被校正,而造成数据遗失。[0004]基此,如何能够校正更多个错误比特并确保数据的正确性是此领域技术人员所致力的目标。【
发明内容】[0005]本发明提供一种数据存取方法、存储器控制电路单元及存储器储存装置,其能够校正更多错误比特,以确保数据的正确性与可靠度。[0006]本发明的一范例实施例提出一种数据存取方法,用于可复写式非易失性存储器组件,其中此可复写式非易失性存储器组件包括多个实体抹除单元,且每一实体抹除单元包括多个实体编程单元。本数据存取方法包括:将虚拟数据填补至此第一数据以产生第二数据,产生对应此第二数据的错误检查与校正码,根据第二数据与此错误检查与校正码产生错误检查与校正码框,将此错误检查与校正码框写入至所述实体编程单元之中的第一实体编程单元,并且将逻辑地址映射至此第一实体编程单元。本数据存取方法还包括:接收读取指令,其中此读取指令指示从所述逻辑地址中读取数据;以及从此第一实体编程单元中读取错误检查与校正码框以获取读取数据串,其中此读取数据串包括第三数据与所述错误检查与校正码。本数据存取方法还包括:当无法通过错误检查与校正码来校正第三数据以获得已校正数据时,依据虚拟数据的态样来调整此第三数据以产生第四数据,并使用此错误检查与校正码来校正此第四数据以获得已校正数据,其中此已校正数据相同于第二数据;从此已校正数据中移除虚拟数据以获得第五数据。[0007]在本发明的一范例实施例中,上述数据存取方法还包括:接收写入指令,其中所述写入指令指示将写入数据写入至所述逻辑地址;以及压缩所述写入数据以产生第一数据。[0008]在本发明的一范例实施例中,上述数据存取方法还包括:解压缩所述第五数据以获得读取数据,其中所述读取数据相同于所述写入数据;以及传送所述读取数据以响应所述读取指令。[0009]在本发明的一范例实施例中,上述数据存取方法还包括:将对应第一实体编程单元的虚拟数据的态样记录于一虚拟数据登录表中,其中此虚拟数据的态样包括此虚拟数据的长度。[0010]在本发明的一范例实施例中,上述将虚拟数据填补至第一数据以产生第二数据的步骤包括:接续此第一数据的最后一个数据比特填入虚拟数据以产生此第二数据。并且,依据虚拟数据的态样来调整第三数据以产生第四数据的步骤包括:依据虚拟数据登录表识别对应第一实体编程单元的虚拟数据的长度,并且依据对应此第一实体编程单元的虚拟数据的长度,将排列在第三数据最后的多个数据比特以虚拟数据来取代以获得第四数据,其中排列在此第三数据最后的数据比特的长度是等于虚拟数据的长度。[0011]在本发明的一范例实施例中,上述将错误检查与校正码框写入至实体编程单元之中的第一实体编程单元的步骤包括:将一虚拟数据信息和错误检查与校正码框写入至此第一实体编程单元,其中此虚拟数据信息记录对应此第一实体编程单元的虚拟数据的态样,且此虚拟数据的态样包括虚拟数据的长度。[0012]在本发明的一范例实施例中,上述将虚拟数据填补至第一数据以产生第二数据的步骤包括:接续此第一数据的最后一个比特填入此虚拟数据以产生此第二数据。其中依据虚拟数据的态样来调整第三数据以产生第四数据的步骤包括:从第一实体编程单元中读取虚拟数据信息,依据所读取的虚拟数据信息识别对应第一实体编程单元的虚拟数据的长度,并且依据对应此第一实体编程单元的虚拟数据的长度,将排列在第三数据最后的多个数据比特以虚拟数据来取代以获得第四数据,其中所述排列在第三数据最后的数据比特的长度是等于虚拟数据的长度。[0013]在本发明的一范例实施例中,上述虚拟数据具有多个数据比特,并且每一数据比特的值皆为第一值。[0014]在本发明的一范例实施例中,上述将虚拟数据填补至第一数据以产生第二数据的步骤包括:接续此第一数据的最后一个比特填入虚拟数据以产生此第二数据。并且,依据虚拟数据的态样来调整第三数据以产生第四数据的步骤包括:从此第三数据的最后一个数据比特开始扫描此第三数据的每个数据比特,识别此第三数据之中的一组连续数据比特,并且将此第三数据之中接续在此组连续数据比特之后的至少一个数据比特的值以第一值来取代,其中此组连续数据比特的每一数据比特的值皆为第一值。[0015]在本发明的一范例实施例中,上述将虚拟数据填补至第一数据以产生第二数据的步骤包括:接续此第一数据的最后一个比特填入虚拟数据以产生此第二数据。其中依据虚拟数据的态样来调整第三数据以产生第四数据的步骤包括:从此第三数据的最后一个数据比特开始扫描此第三数据的每个数据比特,识别此第三数据之中的一组连续数据比特与另一组连续数据比特,并且将此第三数据之中接续在此另一组连续数据比特之后的至少一个数据比特的值以第一值来取代,其中此组连续数据比特的每一数据比特的值皆为第一值,而另一组连续数据比特的每一数据比特的值皆为第二值,此第一值不同于此第二值并且此组连续数据比特是接续在另一组连续数据比特之后。[0016]本发明的一范例实施例提出一种用于控制可复写式非易失性存储器组件的存储器控制电路单元。此存储器控制电路单元包括主机接口、存储器接口、存储器管理电路与数据压缩/解压缩电路。主机接口耦接至主机系统。存储器接口耦接至可复写式非易失性存储器组件,其中可复写式非易失性存储器组件具有多个实体抹除单元并且每一实体抹除单元包括多个实体编程单元。存储器管理电路耦接至主机接口与存储器接口,错误检查与校正电路耦接至存储器管理电路,且数据压缩/解压缩电路耦接至存储器管理电路。数据压缩/解压缩电路将一虚拟数据填补至第一数据以产生第二数据。错误检查与校正电路产生对应第二数据的错误检查与校正码。存储器管理电路还根据第二数据与错误检查与校正码产生错误检查与校正码框。存储器管理电路还下达指令序列以将错误检查与校正码框写入至实体编程单元之中的第一实体编程单元,并且将逻辑地址映射至此第一实体编程单元。存储器管理电路接收读取指令,其中此读取指令指示从此逻辑地址中读取数据。存储器管理电路下达指令序列以从第一实体编程单元中读取错误检查与校正码框以获取读取数据串,其中此读取数据串包括第三数据与错误检查与校正码。在此,当无法通过错误检查与校正码来校正第三数据以获得已校正数据时,存储器管理电路依据虚拟数据的态样来调整第三数据以产生第四数据,并且错误检查与校正电路使用此错误检查与校正码来校正第四数据以获得此已校正数据,其中此已校正数据相同于第二数据。存储器管理电路从已校正数据中移除虚拟数据以获得第五数据。[0017]在本发明的一范例实施例中,上述存储器管理电路还接收写入指令,其中所述写入指令指示将写入数据写入至所述逻辑地址。数据压缩/解压缩电路压缩所述写入数据以产生所述第一数据。[0018]在本发明的一范例实施例中,上述存储器管理电路解压缩所述第五数据以获得读取数据,其中所述读取数据相同于所述写入数据。并且存储器管理电路还传送所述读取数据以响应所述读取指令。[0019]在本发明的一范例实施例中,上述存储器管理电路还将对应第一实体编程单元的虚拟数据的态样记录于虚拟数据登录表中,其中此虚拟数据的态样包括虚拟数据的长度。[0020]在本发明的一范例实施例中,上述在将虚拟数据填补至第一数据以产生第二数据的操作中,数据压缩/解压缩电路还接续此第一数据的最后一个数据比特填入虚拟数据以产生此第二数据。此外,在依据虚拟数据的态样来调整第三数据以产生第四数据的操作中,存储器管理电路还依据虚拟数据登录表识别对应第一实体编程单元的虚拟数据的长度,并且依据对应此第一实体编程单元的虚拟数据的长度,将排列在第三数据最后的多个数据比特以虚拟数据来取代以获得第四数据,其中排列在第三数据最后的数据比特的长度是等于虚拟数据的长度。[0021]在本发明的一范例实施例中,上述在将错误检查与校正码框写入至实体编程单元之中的第一实体编程单元的操作中,存储器管理电路还将虚拟数据信息和错误检查与校正码框写入至第一实体编程单元,其中此虚拟数据信息记录对应第一实体编程单元的虚拟数据的态样,且此虚拟数据的态样包括虚拟数据的长度。[0022]在本发明的一范例实施例中,上述在将虚拟数据填补至第一数据以产生第二数据的操作中,数据压缩/解压缩电路还接续此第一数据的最后一个比特填入虚拟数据以产生此第二数据。此外,在依据虚拟数据的态样来调整第三数据以产生第四数据的操作中,存储器管理电路还从此第一实体编程单元中读取虚拟数据信息,依据所读取的虚拟数据信息识别对应第一实体编程单元的虚拟数据的长度,并且依据对应此第一实体编程单元的虚拟数据的长度,将排列在第三数据最后的多个数据比特以虚拟数据来取代以获得第四数据,其中排列在此第三数据最后的数据比特的长度是等于虚拟数据的长度。[0023]在本发明的一范例实施例中,上述虚拟数据具有多个数据比特,并且每一数据比特的值皆为第一值。[0024]在本发明的一范例实施例中,上述在将虚拟数据填补至第一数据以产生第二数据的操作中,数据压缩/解压缩电路还接续此第一数据的最后一个比特填入虚拟数据以产生此第二数据。此外,在依据虚拟数据的态样来调整第三数据以产生第四数据的操作中,存储器管理电路从此第三数据的最后一个数据比特开始扫描此第三数据的每个数据比特,识别此第三数据之中的一组连续数据比特,并且将此第三数据之中接续在此组连续数据比特之后的至少一个数据比特的值以第一值来取代,其中此组连续数据比特的每一数据比特的值皆为第一值。[0025]在本发明的一范例实施例中,上述在将虚拟数据填补至第一数据以产生第二数据的操作中,数据压缩/解压缩电路还接续此第一数据的最后一个比特填入虚拟数据以产生此第二数据。此外,在依据虚拟数据的态样来调整第三数据以产生第四数据的操作中,存储器管理电路从此第三数据的最后一个数据比特开始扫描此第三数据的每个数据比特,识别此第三数据之中的一组连续数据比特与另一组连续数据比特,并且将此第三数据之中接续在此另一组连续数据比特之后的至少一个数据比特的值以第一值来取代,其中此组连续数据比特的每一数据比特的值皆为第一值,另一组连续数据比特的每一数据比特的值皆为第二值,此第一值不同于此第二值并且此组连续数据比特是接续在另一组连续数据比特之后。[0026]本发明的一范例实施例提出一种存储器储存装置,其包括连接接口单元、可复写式非易失性存储器组件与存储器控制电路单元。连接接口单元用以耦接至主机系统。可复写式非易失性存储器组件具有多个实体抹除单元,且每一实体抹除单元包括多个实体编程单元。存储器控制电路单元耦接至连接接口单元与可复写式非易失性存储器组件。存储器控制电路单元将虚拟数据填补至第一数据以产生一第二数据,产生对应此第二数据的错误检查与校正码,根据此第二数据与此错误检查与校正码产生一错误检查与校正码框,将此错误检查与校正码框写入至实体编程单元之中的一第一实体编程单元,并且将此逻辑地址映射至此第一实体编程单元。存储器控制电路单元还接收读取指令,其中此读取指令指示从所述逻辑地址中读取数据。存储器控制电路单元还从第一实体编程单元中读取错误检查与校正码框以获取读取数据串,其中读取数据串包括第三数据与错误检查与校正码。存储器控制电路单元还当无法通过错误检查与校正码来校正第三数据以获得已校正数据时,依据虚拟数据的态样来调整此第三数据以产生第四数据,并使用此错误检查与校正码来校正此第四数据以获得已校正数据,其中此已校正数据相同于第二数据。存储器控制电路单元还从已校正数据中移除虚拟数据以获得第五数据。[0027]在本发明的一范例实施例中,上述存储器控制电路单元还接收写入指令,并且此写入指令指示将写入数据写入至所述逻辑地址。并且存储器控制电路单元压缩此写入数据以产生所述第一数据。[0028]在本发明的一范例实施例中,上述存储器控制电路单元解压缩所述第五数据以获得读取数据,其中此读取数据相同于所述写入数据。存储器控制电路单元还传送此读取数据以响应读取指令。[0029]在本发明的一范例实施例中,上述存储器控制电路单元还将对应第一实体编程单元的虚拟数据的态样记录于虚拟数据登录表中,其中虚拟数据的态样包括虚拟数据的长度。[0030]在本发明的一范例实施例中,上述将虚拟数据填补至第一数据以产生第二数据的操作中,存储器控制电路单元还接续此第一数据的最后一个数据比特填入虚拟数据以产生此第二数据。并且在依据虚拟数据的态样来调整第三数据以产生第四数据的操作中,存储器控制电路单元还依据虚拟数据登录表识别对应第一实体编程单元的虚拟数据的长度,并且依据对应此第一实体编程单元的虚拟数据的长度,将排列在第三数据最后的多个数据比特以虚拟数据来取代以获得第四数据,其中列在此第三数据最后的数据比特的长度是等于虚拟数据的长度。[0031]在本发明的一范例实施例中,上述将错误检查与校正码框写入至实体编程单元之中的第一实体编程单元的操作中,存储器控制电路单元还将一虚拟数据信息和错误检查与校正码框写入至此第一实体编程单元,其中虚拟数据信息记录对应此第一实体编程单元的虚拟数据的态样,且此虚拟数据的态样包括虚拟数据的长度。[0032]在本发明的一范例实施例中,上述在将虚拟数据填补至第一数据以产生第二数据的操作中,存储器控制电路单元还接续此第一数据的最后一个比特填入虚拟数据以产生此第二数据。此外,在依据虚拟数据的态样来调整第三数据以产生第四数据的操作中,存储器控制电路单元还从第一实体编程单元中读取虚拟数据信息,依据所读取的虚拟数据当前第1页1 2 3 4 5 6 
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1