一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据写入方法、存储器控制电路单元以及存储器存储装置与流程

2022-02-24 12:17:19 来源:中国专利 TAG:
1.本发明涉及一种数据写入方法,尤其涉及一种用于可复写式非易失性存储器模块的数据写入方法、以及使用此方法的存储器控制电路单元与存储器存储装置。
背景技术
::2.数码相机、手机与mp3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritablenon-volatilememorymodule)(例如,快闪存储器)具有数据非易失性、省电、体积小、读写速度快,以及无机械结构等特性,所以非常适合作为存储媒体而内建于上述所举例的各种可携式多媒体装置中。3.一般来说,为了确保数据的安全性,存储在可复写式非易失性存储器模块中的数据会被编码以产生一个错误校正码。若数据中发生错误,此错误校正码可以用来更改发生的错误。一种作法是,可复写式非易失性存储器模块中包括了多个存储器芯片,其中一个存储器芯片会被用来存储错误校正码,而其他的存储器芯片可用来存储数据。如此一来,当存储数据的一个存储器芯片损坏时,可以用其他的数据与错误校正码来回复损坏的数据。然而,一般读取数据时,若数据没有损坏则不需要读取错误校正码,使得读取数据时每个存储器芯片的负载不同,而造成数据读取没有效率。因此,如何增加存储器空间的使用效率并提升数据读取的效能,为本领域技术人员所关心的议题。技术实现要素:4.本发明提供一种数据写入方法、存储器控制电路单元以及存储器存储装置,可通过平均分散阵列错误校正码来提升数据读取效率。5.本发明的范例实施例提供一种数据写入方法,用于可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个管理单元,所述多个管理单元包括多个芯片致能群组,每个所述多个芯片致能群组包括多个平面,每个所述多个平面包括多个物理程序化单元,所述多个芯片致能群组包括第一芯片致能群组及第二芯片致能群组。所述数据写入方法包括:从主机系统接收第一数据及第二数据;根据所述第一数据产生第一阵列错误校正码,并根据所述第二数据产生第二阵列错误校正码;使用第一程序化模式将包括所述第一阵列错误校正码的第一群组程序化至所述第一芯片致能群组中;以及使用第二程序化模式将包括所述第二阵列错误校正码的第二群组程序化至所述第二芯片致能群组中。所述第二程序化模式不同于所述第一程序化模式,并且所述第一阵列错误校正码及所述第二阵列错误校正码分别用以校正存有所述第一数据及所述第二数据的所述多个物理程序化单元。6.在本发明的一范例实施例中,所述第一数据的数据量与所述第二数据的数据量不同,所述第一阵列错误校正码与所述第二阵列错误校正码可校正的所述多个物理程序化单元的数量不同。7.在本发明的一范例实施例中,在所述第一程序化模式中根据第一程序化顺序将所述第一阵列错误校正码程序化至第一超物理程序化单元,在所述第二程序化模式中根据第二程序化顺序将所述第二阵列错误校正码程序化至第二超物理程序化单元,其中所述第一程序化顺序不同于所述第二程序化顺序。8.在本发明的一范例实施例中,所述第一超物理程序化单元具有多个物理程序化单元,其中,第一物理程序化单元为所述第一超物理程序化单元中最后被程序化的物理程序化单元。所述第二超物理程序化单元具有多个物理程序化单元,其中,第二物理程序化单元为所述第二超物理程序化单元中最后被程序化的物理程序化单元,且所述第一物理程序化单元于所述第一超物理程序化单元中的相对位置不同于所述第二物理程序化单元于所述第二超物理程序化单元中的相对位置。9.在本发明的一范例实施例中,超物理抹除单元中包含所述第一芯片致能群组及所述第二芯片致能群组,其中程序化至所述第一芯片致能群组的所述第一阵列错误校正码的组数相同于程序化至所述第二芯片致能群组的所述第二阵列错误校正码的组数,其中所述超物理抹除单元为最小的数据抹除管理单位。10.在本发明的一范例实施例中,所述第一阵列错误校正码包括第一部分阵列错误校正码及第二部分阵列错误校正码。11.在本发明的一范例实施例中,所述方法还包括:将所述第一部分阵列错误校正码暂存在缓冲存储器中;以及在根据所述第一数据产生所第二部分阵列错误校正码之后,将所述第一部分阵列错误校正码及所述第二部分阵列错误校正码分别程序化至所述第一芯片致能群组包括的不同所述平面的所述多个物理程序化单元中。12.在本发明的一范例实施例中,所述第一阵列错误校正码及所述第二阵列错误校正码为奇偶校正码。所述第一阵列错误校正码用以当存有所述第一数据的所述物理程序化单元的至少其中之一产生错误时,根据奇偶校正算法修正产生错误的所述物理程序化单元。所述第二阵列错误校正码用以当存有所述第二数据的所述物理程序化单元的至少其中之一产生错误时,根据所述奇偶校正算法修正产生错误的所述物理程序化单元。13.在本发明的一范例实施例中,所述方法还包括:根据所述第一数据产生冗余错误校正码,所述冗余错误校正码用以校正被写入至少部分所述第一数据的单个所述物理程序化单元。其中所述冗余错误校正码能校正的比特数小于所述第一阵列错误校正码能校正的比特数。14.本发明的范例实施例提供一种存储器控制电路单元,用于可复写式非易失性存储器模块。所述可复写式非易失性存储器模块包括多个管理单元,所述多个管理单元包括多个芯片致能群组,每个所述多个芯片致能群组包括多个平面,每个所述多个平面包括多个物理程序化单元,所述多个芯片致能群组包括第一芯片致能群组及第二芯片致能群组。所述存储器控制电路单元包括主机接口、存储器接口以及存储器管理电路。所述主机接口用以耦接至主机系统。所述存储器接口用以耦接至所述可复写式非易失性存储器模块。所述存储器管理电路耦接至所述主机接口与所述存储器接口。其中所述存储器管理电路用以从所述主机系统接收第一数据及第二数据。所述存储器管理电路还用以根据所述第一数据产生第一阵列错误校正码,并根据所述第二数据产生第二阵列错误校正码。所述存储器管理电路还用以使用第一程序化模式将包括所述第一阵列错误校正码的第一群组程序化至所述第一芯片致能群组中。并且,所述存储器管理电路还用以使用第二程序化模式将包括所述第二阵列错误校正码的第二群组程序化至所述第二芯片致能群组中,所述第二程序化模式不同于所述第一程序化模式。其中所述第一阵列错误校正码及所述第二阵列错误校正码分别用以校正存有所述第一数据及所述第二数据的所述多个物理程序化单元。15.在本发明的一范例实施例中,所述第一数据的数据量与所述第二数据的数据量不同,所述第一阵列错误校正码与所述第二阵列错误校正码可校正的所述多个物理程序化单元的数量不同。16.在本发明的一范例实施例中,所述存储器管理电路还用以在所述第一程序化模式中根据第一程序化顺序将所述第一阵列错误校正码程序化至第一超物理程序化单元。并且所述存储器管理电路还用以在所述第二程序化模式中根据第二程序化顺序将所述第二阵列错误校正码程序化至第二超物理程序化单元。其中所述第一程序化顺序不同于所述第二程序化顺序。17.在本发明的一范例实施例中,所述第一超物理程序化单元具有多个物理程序化单元,其中,第一物理程序化单元为所述第一超物理程序化单元中最后被程序化的物理程序化单元。所述第二超物理程序化单元具有多个物理程序化单元,其中,第二物理程序化单元为所述第二超物理程序化单元中最后被程序化的物理程序化单元,且所述第一物理程序化单元于所述第一超物理程序化单元中的相对位置不同于所述第二物理程序化单元于所述第二超物理程序化单元中的相对位置。18.在本发明的一范例实施例中,超物理抹除单元中包含所述第一芯片致能群组及所述第二芯片致能群组,其中程序化至所述第一芯片致能群组的所述第一阵列错误校正码的组数相同于程序化至所述第二芯片致能群组的所述第二阵列错误校正码的组数,其中所述超物理抹除单元为最小的数据抹除管理单位。19.在本发明的一范例实施例中,所述第一阵列错误校正码包括第一部分阵列错误校正码及第二部分阵列错误校正码。20.在本发明的一范例实施例中,所述存储器管理电路还用以将所述第一部分阵列错误校正码暂存在缓冲存储器中。并且所述存储器管理电路还用以在根据所述第一数据产生所第二部分阵列错误校正码之后,将所述第一部分阵列错误校正码及所述第二部分阵列错误校正码分别程序化至所述第一芯片致能群组包括的不同所述平面的所述多个物理程序化单元中。21.在本发明的一范例实施例中,所述第一阵列错误校正码及所述第二阵列错误校正码为奇偶校正码。所述第一阵列错误校正码用以当存有所述第一数据的所述物理程序化单元的至少其中之一产生错误时,根据奇偶校正算法修正产生错误的所述物理程序化单元。所述第二阵列错误校正码用以当存有所述第二数据的所述物理程序化单元的至少其中之一产生错误时,根据所述奇偶校正算法修正产生错误的所述物理程序化单元。22.在本发明的一范例实施例中,所述存储器管理电路还用以根据所述第一数据产生冗余错误校正码,所述冗余错误校正码用以校正被写入至少部分所述第一数据的单个所述物理程序化单元。其中所述冗余错误校正码能校正的比特数小于所述第一阵列错误校正码能校正的比特数。23.本发明的范例实施例提供一种存储器存储装置,包括连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。所述连接接口单元用以耦接至主机系统。所述可复写式非易失性存储器模块包括多个管理单元,所述多个管理单元包括多个芯片致能群组,每个所述多个芯片致能群组包括多个平面,每个所述多个平面包括多个物理程序化单元,所述多个芯片致能群组包括第一芯片致能群组及第二芯片致能群组。所述存储器控制电路单元耦接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以从所述主机系统接收第一数据及第二数据。所述存储器控制电路单元还用以根据所述第一数据产生第一阵列错误校正码,并根据所述第二数据产生第二阵列错误校正码。所述存储器控制电路单元还用以使用第一程序化模式将包括所述第一阵列错误校正码的第一群组程序化至所述第一芯片致能群组中。并且,所述存储器控制电路单元还用以使用第二程序化模式将包括所述第二阵列错误校正码的第二群组程序化至所述第二芯片致能群组中,所述第二程序化模式不同于所述第一程序化模式。其中所述第一阵列错误校正码及所述第二阵列错误校正码分别用以校正存有所述第一数据及所述第二数据的所述多个物理程序化单元。24.在本发明的一范例实施例中,所述第一数据的数据量与所述第二数据的数据量不同,所述第一阵列错误校正码与所述第二阵列错误校正码可校正的所述多个物理程序化单元的数量不同。25.在本发明的一范例实施例中,所述存储器控制电路单元还用以在所述第一程序化模式中根据第一程序化顺序将所述第一阵列错误校正码程序化至第一超物理程序化单元。并且,所述存储器控制电路单元还用以在所述第二程序化模式中根据第二程序化顺序将所述第二阵列错误校正码程序化至第二超物理程序化单元。其中所述第一程序化顺序不同于所述第二程序化顺序。26.在本发明的一范例实施例中,所述第一超物理程序化单元具有多个物理程序化单元,其中,第一物理程序化单元为所述第一超物理程序化单元中最后被程序化的物理程序化单元。所述第二超物理程序化单元具有多个物理程序化单元,其中,第二物理程序化单元为所述第二超物理程序化单元中最后被程序化的物理程序化单元,且所述第一物理程序化单元于所述第一超物理程序化单元中的相对位置不同于所述第二物理程序化单元于所述第二超物理程序化单元中的相对位置。27.在本发明的一范例实施例中,超物理抹除单元中包含所述第一芯片致能群组及所述第二芯片致能群组,其中程序化至所述第一芯片致能群组的所述第一阵列错误校正码的组数相同于程序化至所述第二芯片致能群组的所述第二阵列错误校正码的组数,其中所述超物理抹除单元为最小的数据抹除管理单位。28.在本发明的一范例实施例中,所述第一阵列错误校正码包括第一部分阵列错误校正码及第二部分阵列错误校正码。29.在本发明的一范例实施例中,所述存储器控制电路单元还用以将所述第一部分阵列错误校正码暂存在缓冲存储器中。并且,所述存储器控制电路单元还用以在根据所述第一数据产生所第二部分阵列错误校正码之后,将所述第一部分阵列错误校正码及所述第二部分阵列错误校正码分别程序化至所述第一芯片致能群组包括的不同所述平面的所述多个物理程序化单元中。30.在本发明的一范例实施例中,所述第一阵列错误校正码及所述第二阵列错误校正码为奇偶校正码。所述第一阵列错误校正码用以当存有所述第一数据的所述物理程序化单元的至少其中之一产生错误时,根据奇偶校正算法修正产生错误的所述物理程序化单元。所述第二阵列错误校正码用以当存有所述第二数据的所述物理程序化单元的至少其中之一产生错误时,根据所述奇偶校正算法修正产生错误的所述物理程序化单元。31.在本发明的一范例实施例中,所述存储器控制电路单元还用以根据所述第一数据产生冗余错误校正码,所述冗余错误校正码用以校正被写入至少部分所述第一数据的单个所述物理程序化单元。其中所述冗余错误校正码能校正的比特数小于所述第一阵列错误校正码能校正的比特数。32.基于上述,本发明范例实施例提出的数据写入方法、存储器控制电路单元以及存储器存储装置可以将阵列错误校正码存储在不同芯片致能中,可使存储器在读取数据时在读取数据时平均读取各芯片致能中存储的数据。据以,本发明通过将阵列错误校正码平均分散在各芯片致能中,进而提升数据读取效率。另外,本发明范例实施例还可进一步通过将阵列错误校正码存储在同一芯片致能的不同平面,以使存储器在读取数据时减少使用单平面的方式读取数据的机会,进一步提升数据读取效率。33.为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明34.图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图;35.图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图;36.图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图;37.图4是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的概要方块图;38.图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;39.图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;40.图7是根据本发明的一范例实施例所示出的管理单元的示意图;41.图8-图10是根据本发明的一范例实施例所示出的写入阵列错误校正码的示意图;42.图11是根据本发明的一范例实施例所示出的数据写入方法的流程图;43.图12是根据本发明的一范例实施例所示出的数据写入方法的流程图。具体实施方式44.现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在附图和描述中用来表示相同或相似部分。45.一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。46.图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图。且图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图。47.请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccessmemory,ram)112、只读存储器(readonlymemory,rom)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆耦接至系统总线(systembus)110。48.在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10耦接。例如,主机系统11可经由数据传输接口114将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与i/o装置12耦接。例如,主机系统11可经由系统总线110将输出信号传送至i/o装置12或从i/o装置12接收输入信号。49.在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114是可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以经由有线或无线方式耦接至存储器存储装置10。存储器存储装置10可例如是随身盘201、存储卡202、固态硬盘(solidstatedrive,ssd)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通讯(nearfieldcommunicationstorage,nfc)存储器存储装置、无线传真(wifi)存储器存储装置、蓝牙(bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,ibeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110耦接至全球定位系统(globalpositioningsystem,gps)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式i/o装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。50.在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的sd卡32、cf卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embeddedmmc,emmc)341和/或嵌入式多芯片封装存储装置(embeddedmultichippackage,emcp)342等各类型将存储器模块直接耦接于主机系统的基板上的嵌入式存储装置。51.图4是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的概要方块图。52.请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。53.在本范例实施例中,连接接口单元402是相容于安全数字(securedigital,sd)接口标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合串行高级技术附件(serialadvancedtechnologyattachment,sata)标准、并行高级技术附件(paralleladvancedtechnologyattachment,pata)标准、电气和电子工程师协会(instituteofelectricalandelectronicengineers,ieee)1394标准、高速周边零件连接接口(peripheralcomponentinterconnectexpress,pciexpress)标准、通用串行significantbit,msb)是属于上物理程序化单元。一般来说,在mlcnand型快闪存储器中,下物理程序化单元的写入速度会大于上物理程序化单元的写入速度,和/或下物理程序化单元的可靠度是高于上物理程序化单元的可靠度。58.图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。59.请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506。60.存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。61.在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。62.在本发明另一范例实施例中,存储器管理电路502的控制指令亦可以代码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。63.此外,在本发明另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是耦接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块406的物理抹除单元;存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。64.主机接口504是耦接至存储器管理电路502并且用以耦接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于sata标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是相容于pata标准、ieee1394标准、pciexpress标准、usb标准、uhs-i接口标准、uhs-ii接口标准、sd标准、ms标准、mmc标准、cf标准、ide标准或其他适合的数据传输标准。65.存储器接口506是耦接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。66.缓冲存储器508是耦接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。67.在一范例实施例中,存储器控制电路单元404还包括缓冲存储器508、电源管理电路510与错误检查与校正电路512。68.电源管理电路510是耦接至存储器管理电路502并且用以控制存储器存储装置10的电源。69.错误检查与校正电路512是耦接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(errorcheckingandcorrectingcode,ecccode),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。70.以下描述存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512所执行的操作,亦可参考为由存储器控制电路单元404所执行。71.在一范例实施例中,存储器管理电路502将第一数据暂存至缓冲存储器508并根据该第一数据产生一个错误检查与校正码(在此简称为错误校正码)。错误校正码的类型可以是奇偶校正码(paritycheckingcode)、通道编码(channelcoding)或是其他类型。例如,存储器管理电路502所产生的错误校正码可以是汉明码(hammingcode)、低密度奇偶检查码(lowdensityparitycheckcode,ldpccode)、涡旋码(turbocode)或里德-所罗门码(reed-solomoncode,rscode),本发明并不在此限制。若数据与错误校正码的长度比例为m:n,则表示m个存有数据的物理程序化单元会对应至n个存有错误校正码的物理程序化单元,其中m与n为正整数。一般来说,正整数m会大于正整数n,但本发明并不在此限制。并且,本发明也不限制正整数m与正整数n的值。72.在一范例实施例中,错误校正码包括阵列错误校正码。存储器管理电路502将第一数据暂存至缓冲存储器508,并根据该第一数据产生阵列错误校正码。此阵列错误校正码是用以校正存有第一数据的多个物理程序化单元。举例来说,存储器管理电路502将程序化至不同物理程序化单元中的数据进行逻辑运算来产生阵列错误校正码。因此,阵列错误校正码可以校正两个物理程序化以上的数据。产生的阵列错误校正码也会被程序化至一个物理程序化单元。在此范例实施例中,阵列错误校正码是由存储器管理电路502所产生,然而,阵列错误校正码也可以由错误检查与校正电路512所产生,本发明并不在此限制。73.存储器管理电路502可基于管理单元来管理与存取可复写式非易失性存储器模块406中的物理节点。一个管理单元亦称为一个虚拟区块(vb)。一个管理单元可包含多个物理节点。例如,一个管理单元可涵盖属于可复写式非易失性存储器模块406中的一或多个平面(亦称为存储器平面)和/或一或多个芯片致能(ce)中的多个物理节点。74.图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。请参照图6,可复写式非易失性存储器模块406包括管理单元61(0)~61(n)。管理单元61(0)~61(n)中的每一者皆包含芯片致能(亦称为,芯片致能群组)ce(0)与ce(1)。芯片致能ce(0)与ce(1)分别包含多个物理节点。存储器管理电路502可分别地通过芯片致能(chipenable)脚位来致能芯片致能。存储器管理电路502可通过通道60(0)~60(m)来存取管理单元61(0)~61(n)。例如,存储器管理电路502可通过通道60(0)~60(m)中的至少两个通道来平行(或称为交错)存取管理单元61(0)与61(1)。此外,芯片致能ce(0)与ce(1)可分别包含多个平面(例如图7的第一平面pl(1)、pl(3)、pl(5)、pl(7)及第二平面pl(2)、pl(4)、pl(6)、pl(8))。75.管理单元61(0)与61(1)中的平面可包括多个物理节点。这些物理节点可被平行(或交错)地存取,以提高存取效率。在一范例实施例中,一个平面中的多个连续的物理节点可称为一个物理程序化单元。或者,在一范例实施例中,一个芯片致能中的多个连续的物理节点可称为一个物理程序化单元。或者,在一范例实施例中,多个平面中的多个连续的物理节点可称为一个物理程序化单元。76.存储器管理电路502还可将属于不同存储器平面的数个物理抹除单元组合为一个超物理单元(亦称,超物理抹除单元)来进行操作(例如,数据写入操作、数据抹除操作)。一个超物理单元中会包括所有物理抹除单元中的至少两个可用的物理抹除单元。在本范例实施例中,一个超物理单元所包括的至少两个可用物理抹除单元是属于不同的操作单元(例如,平面(plane)、交错(interleave)或通道(channel))。因此,超物理单元包括的超物理程序化单元中不同的物理程序化单元可以根据同一个写入指令而同时被程序化。77.图7是根据本发明的一范例实施例所示出的管理单元的示意图。请参照图7,以管理单元61(0)与61(1)为例,第一平面pl(1)、pl(3)、pl(5)、pl(7)及第二平面pl(2)、pl(4)、pl(6)、pl(8)可包括多个物理节点。管理单元61(0)包含芯片致能ce(0)与ce(1),芯片致能ce(0)与ce(1)中的第一平面pl(1)、pl(3)及第二平面pl(2)、pl(4)分别包含物理程序化单元701(0)~701(m)、702(0)~702(m)、703(0)~703(m)与704(0)~704(m)。管理单元61(1)包含芯片致能ce(0)与ce(1),芯片致能ce(0)与ce(1)中的第一平面pl(5)、pl(7)及第二平面pl(6)、pl(8)分别包含物理程序化单元705(0)~705(m)、706(0)~706(m)、707(0)~707(m)与708(0)~708(m)。在本范例实施例中,物理程序化单元701(0)~708(0)、701(1)~708(1)与701(m)~708(m)可分别被配置为超物理程序化单元。78.在本范例实施例中,存储器管理电路502可依据平面pl(1)~pl(8)的程序化顺序写入数据至多个物理程序化单元中。假设所有物理程序化单元皆为空白,为了写入一笔可填满16个物理程序化单元的写入数据,存储器管理电路502会依据一程序化顺序从第一个空白的物理程序化单元(例如,物理程序化单元701(0)),来将写入数据程序化至物理程序化单元中(例如,依照程序化顺序物理程序化单元701(0)、702(0)、703(0)、704(0)、705(0)、706(0)、707(0)、708(0)、701(1)、702(1)、703(1)、704(1)、705(1)、706(1)、707(1)、708(1)将写入数据程序化至物理程序化单元中),以此类推。在另一实施例中,存储器管理电路502可将数据程序化至单个(或更多个)管理单元中,例如可依据平面pl(1)~pl(4)的程序化顺序程序化数据至多个物理程序化单元中,本发明并不在此限制。79.图8及图9是根据本发明的一范例实施例所示出的写入阵列错误校正码的示意图。为简化起见,在此并未直接绘出每一个物理程序化单元对应的标号,图8及图9中每个数据及阵列错误校正码存储的物理程序化单元可同时对照图7中的物理程序化单元与图8、图9中左方物理程序化单元的标号。80.在图8的范例实施例中,数据与阵列错误校正码的长度比例为16:1(亦即,正整数m为16,且正整数n为1)。在此假设阵列错误校正码是一个物理程序化单元的大小。存储器管理电路502使用第一程序化模式将包括第一阵列错误校正码的第一群组程序化至第一芯片致能群组中。其中第一群组包括第一数据及第一阵列错误校正码。请参照图8,存储器管理电路502会根据第一数据810(1)~810(16)、820(1)~820(16)中的第一部分数据810(1)~810(16)产生阵列错误校正码811(亦称,第一部分阵列错误校正码)。在产生阵列错误校正码811后,存储器管理电路502先将阵列错误校正码811暂存在存储器控制电路单元404中的缓冲存储器508。等到根据第二部分数据820(1)~820(16)产生阵列错误校正码812(亦称,第二部分阵列错误校正码)后,存储器管理电路502同时将阵列错误校正码811及阵列错误校正码812(亦合称,第一阵列错误校正码)依序并分别程序化至不同平面的物理程序化单元701(4)及物理程序化单元702(4)中。另外,存储器管理电路502使用第二程序化模式将包括第二阵列错误校正码的第二群组程序化至第二芯片致能群组中。其中第二群组包括第二数据及第二阵列错误校正码。相同地,存储器管理电路502会根据第二数据830(1)~830(16)、840(1)~840(16)中的第三部分数据产生阵列错误校正码821(亦称,第三部分阵列错误校正码)。在产生阵列错误校正码821后,存储器管理电路502先将阵列错误校正码831暂存在存储器控制电路单元404中的缓冲存储器508。等到根据第四部分数据840(1)~840(16)产生阵列错误校正码822(亦称,第四部分阵列错误校正码)后,存储器管理电路502同时将阵列错误校正码821及阵列错误校正码822(亦合称,第二阵列错误校正码)依序并分别程序化至不同平面的物理程序化单元703(8)及物理程序化单元704(8)中,以此类推。因此,在第二程序化模式中,存储器管理电路502会将第二阵列错误校正码程序化至与第一芯片致能群组不同的第二芯片致能群组中。换句话说,存储器管理电路502会将一组阵列错误校正码811及阵列错误校正码812程序化至同一芯片致能的第一平面pl(1)及第二平面pl(2),并将另一组阵列错误校正码821及阵列错误校正码822程序化至另一芯片致能的第一平面pl(3)及第二平面pl(4),以此类推。即,阵列错误校正码包括的多个部分阵列错误校正码可成对地平均分散在不同芯片致能。当存储器管理电路502欲读取管理单元61(0)与61(1)中存储的数据时,可使用多平面(multi-plane)的方式读取管理单元61(0)与61(1)中各芯片致能ce(0)与ce(1)所存储的数据。如此一来,可减少使用单平面(one-plane)的方式读取数据的机会。由于存储器管理电路502一般在读取数据时会将阵列错误校正码视为无效数据而不读取该阵列错误校正码存储的物理程序化单元。所以在阵列错误校正码包括的多个部分阵列错误校正码未成对地存储在同一芯片致能的两个平面时,各部分阵列错误校正码可能会与有效数据成对地存储在同一芯片致能的两个平面,使得存储器管理电路502需使用单平面的方式读取该有效数据,而影响读取效能。通过上述分散阵列错误校正码的操作,本范例实施例可将阵列错误校正码平均分散在各芯片致能的第一平面及第二平面中,存储器管理电路502可平均读取各芯片致能中存储的数据,进而提升数据读取效率。81.在另一实施例中,第一部分阵列错误校正码与第二部分阵列错误校正码也可不成对地程序化至第一芯片致能的不同平面(例如,第一平面pl(1)及第二平面pl(2))中。相同地,第三部分阵列错误校正码与第四部分阵列错误校正码也可不成对地程序化至第二芯片致能的不同平面中。如此,也可达到将阵列错误校正码平均分散在不同芯片致能中的目的。82.在此范例实施例中,阵列错误校正码811是奇偶校正码。在其他实施例中,阵列错误校正码811也可以是bch或其他类型的错误校正码。当存储第一部分数据810(1)~810(16)的物理程序化单元的其中之一产生错误时,存储器管理电路502会根据一个奇偶校正算法来修正产生错误的物理程序化单元。其他的阵列错误校正码亦可依据奇偶校正算法来修正对应的数据。83.在一范例实施例中,第一部分数据810(1)~810(16)在被程序化至物理程序化单元701(0)~708(0)与701(1)~708(1)之前是被存储在缓冲存储器508。当第一部分数据810(1)要被程序化至物理程序化单元701(0)之前,存储器管理电路502会根据第一部分数据810(1)产生一个暂时的阵列错误校正码。接着,存储器管理电路502会把第一部分数据810(1)程序化至物理程序化单元701(0),并且根据此暂时的阵列错误校正码与第一部分数据810(2)产生另一个暂时的阵列错误校正码。相同地,在写入第一部分数据810(2)之后,此另一个暂时的阵列错误校正码会与第一部分数据810(3)产生更另一个暂时的阵列错误校正码,以此类推。换句话说,存储器管理电路502是在每写入一笔第一部分数据时便产生对应于此第一部分数据的暂时阵列错误校正码,而在写入所有的第一数据810(1)~810(16)以后,此暂时的阵列错误校正码便会成为阵列错误校正码811。存储器管理电路502会将暂时的阵列错误校正码存储在缓冲存储器508中。然而,在另一范例实施例中,存储器管理电路502也可以一次性地根据第一部分数据810(1)~810(16)产生阵列错误校正码811(例如,阵列错误校正码811是在写入第一部分数据810(1)~810(16)之前或之后所产生),本发明并不在此限制。在本范例实施例中,存储器管理电路502可根据前述相同的方式第二部分数据820(1)~820(16)产生阵列错误校正码821,于此不再赘述。84.在一范例实施例中,第一部分数据810(1)~810(16)是从主机系统11接收而来。然而,主机系统11有可能会一次下达写入超过16个物理程序化单元或是少于16个物理程序化单元的数据。换句话说,第一部分数据810(1)~810(16)可能是对应至一或多个写入指令。举例来说,主机系统11先下达了一个写入指令,其是要写入12个物理程序化单元的数据。在接收到这些数据以后,存储器管理电路502并不会马上产生阵列错误校正码811。接下来,主机系统11下达了另一个写入指令,其是要写入4个物理程序化单元的数据。存储器管理电路502会从这两个写入指令所对应的数据中取得第一部分数据810(1)~810(16)。例如,存储器管理电路502从第一个写入指令中取得第一部分数据810(1)~810(12),并且从第二个写入指令中取得第一部分数据810(13)~810(16)。而第二个写入指令中尚未被写入的数据会与另一个写入指令中的数据合并。如此一来,第一部分数据810(1)~810(16)便是对应至两个写入指令,但第一部分数据810(1)~810(16)也可以是对应至三个或更多个写入指令,本发明并不在此限。或者,第一个写入指令是要写入17个物理程序化单元的数据,存储器管理电路202会从这些数据中取得第一部分数据810(1)~810(16),而剩下1个物理程序化单元的数据则会与其他的数据(例如,下一个写入数据中15个物理程序化单元的数据)合并。即,第一部分数据810(1)~810(16)可以是对应至一个写入指令。相同地,第二部分数据820(1)~820(16)也可能是对应至一或多个写入指令,本发明并不在此限制。85.在图9的范例实施例中,存储器管理电路502在第一程序化模式只程序化数据至物理程序化单元。而在第二程序化模式中,存储器管理电路502会程序化数据及阵列错误校正码至物理程序化单元。其中阵列错误校正码被程序化至不同的芯片致能群组的物理程序化单元中。详细而言,在产生阵列错误校正码811~841后,存储器管理电路502先将阵列错误校正码811~41暂存在存储器控制电路单元404中的缓冲存储器508。等到产生阵列错误校正码842后,存储器管理电路502同时将阵列错误校正码811~842依序并分别写入至不同平面的物理程序化单元701(n)~708(n)中。在其它范例实施例中,存储器管理电路502可以暂存不同数量的阵列错误校正码在存储器控制电路单元404中的缓冲存储器508,并在产生两个、四个、八个或其他双数个阵列错误校正码后同时将所产生的阵列错误校正码依序并分别写入至芯片致能的第一平面及第二平面。于此,阵列错误校正码包括的多个部分阵列错误校正码可成对地平均分散在不同芯片致能的平面中。在其他实施例中,阵列错误校正码包括的多个部分阵列错误校正码也可不成对地程序化至不同芯片致能的平面中,本发明不在此限制。86.图10是根据本发明的一范例实施例所示出的写入阵列错误校正码的示意图。本实施例是以根据第一数据产生一第一阵列错误校正码,并根据第二数据产生一第二阵列错误校正码为例进行说明。在本范例实施例中,存储器管理电路502使用第一程序化模式将包括第一阵列错误校正码的第一群组程序化至第一芯片致能群组中。存储器管理电路502使用第二程序化模式将包括第二阵列错误校正码的第二群组程序化至第二芯片致能群组中。其中第一群组包括第一数据及第一阵列错误校正码,第二群组包括第二数据及第二阵列错误校正码。87.请参照图10,物理程序化单元701(0)~708(0)被组合为超物理单元,以此类推。存储器管理电路502在第一程序化模式中根据第一程序化顺序将第一阵列错误校正码程序化至超物理程序化单元的物理程序化单元中。详细而言,存储器管理电路502根据第一数据810(1)~810(32)产生阵列错误校正码810,在第一程序化模式中根据第一程序化顺序将阵列错误校正码810程序化至物理程序化单元701(4)~708(4)(亦称,第一超物理程序化单元)的物理程序化单元701(4)中。其中,第一程序化顺序例如是从第一平面pl(1)依序程序化至第二平面pl(8),因此物理程序化单元701(4)(亦称,第一物理程序化单元)为物理程序化单元701(4)~708(4)中最后被程序化的物理程序化单元。并且,存储器管理电路502根据第二数据820(1)~820(32)产生阵列错误校正码820,在第二程序化模式中根据第二程序化顺序将阵列错误校正码820程序化至物理程序化单元701(8)~708(8)(亦称,第二超物理程序化单元)的物理程序化单元708(7)中。其中,第二程序化顺序例如是从第二平面pl(8)依序程序化至第一平面pl(1),因此物理程序化单元701(8)(亦称,第二物理程序化单元)为物理程序化单元701(8)~708(8)中最后被程序化的物理程序化单元。于此,第一程序化顺序不同于第二程序化顺序,而物理程序化单元701(4)于物理程序化单元701(4)~708(4)中的相对位置不同于物理程序化单元708(8)于物理程序化单元701(8)~708(8)中的相对位置。而本范例实施例不限制第一数据810(1)~810(32)及第二数据820(1)~820(32)的程序化顺序。如此一来,阵列错误校正码810与阵列错误校正码820可以因程序化顺序的不同,而被程序化至不同的芯片致能群组中。88.在另一范例实施例中,用于产生第一阵列错误校正码的第一数据的数据量与用于产生第二阵列错误校正码的第二数据的数据量不同。第一阵列错误校正码与第二阵列错误校正码可校正的物理程序化单元的数量不同。举例来说,第一数据的数据量为28个物理程序化单元可存储的数据量,第二数据的数据量为32个物理程序化单元可存储的数据量。存储器管理电路502将第一数据及所产生的第一阵列错误校正码依序程序化至物理程序化单元中,接着将第二数据及所产生的第二阵列错误校正码依序程序化至物理程序化单元中。基此,第一阵列错误校正码与第二阵列错误校正码可以因产生阵列错误校正码的数据量的不同,而被程序化至不同的芯片致能群组中。89.在上述实施例中,存储器管理电路502可根据接收的数据产生包括多个部分阵列错误校正码的阵列错误校正码,本发明不在此限制。并且,存储器管理电路502可将所产生的多个部分阵列错误校正码写入超物理程序化单元包括连续的物理程序化单元中。90.在上述实施例中,超物理抹除单元为最小的数据抹除管理单位,并且超物理抹除单元具有多个物理程序化单元。根据本范例实施例所提供的数据写入方法,在一范例实施例中,程序化至超物理抹除单元中包含的各芯片致能群组的阵列错误校正码的组数相同。例如,参照图7,超物理抹除单元可包含芯片致能ce(0)及芯片致能ce(1),并且程序化至芯片致能ce(0)的阵列错误校正码的组数相同于程序化至芯片致能ce(1)的第二阵列错误校正码的组数。91.相较于阵列错误校正码,错误校正码还包括冗余错误校正码。在一范例实施例中,存储器管理电路502将一个第一数据写入至一或多个物理抹除单元以后,会根据该第一数据产生一个冗余错误校正码。此冗余错误校正码是用以校正被写入至少部分第一数据的单个物理程序化单元中的部分比特。其中,冗余错误校正码能校正的比特数会小于阵列错误校正码能校正的比特数。举例来说,冗余错误校正码是存储在冗余比特区中,只能校正单个物理程序化单元中数据比特区的数据的部分比特。在此范例实施例中,冗余错误校正码是由存储器管理电路502所产生,然而,冗余错误校正码也可以由错误检查与校正电路512所产生,本发明并不在此限制。92.图11是根据本发明的一范例实施例所示出的数据写入方法的流程图。请参照图11,在步骤s1102中,从主机系统接收第一数据及第二数据。在步骤s1104中,根据所述第一数据产生第一阵列错误校正码,并根据所述第二数据产生第二阵列错误校正码。在步骤s1106中,使用第一程序化模式将包括所述第一阵列错误校正码的第一群组程序化至所述第一芯片致能群组中。在步骤s1108中,使用第二程序化模式将包括所述第二阵列错误校正码的第二群组程序化至所述第二芯片致能群组中。93.图12是根据本发明的一范例实施例所示出的数据写入方法的流程图。请参照图12,在步骤s1202中,从主机系统接收第一数据、第二数据及第三数据。在步骤s1204中,根据所述第一数据产生第一部分阵列错误校正码,根据所述第二数据产生第二部分阵列错误校正码,根据所述第三数据产生第三部分阵列错误校正码。在步骤s1206中,将所述第一部分阵列错误校正码、所述第二部分阵列错误校正码及所述第三部分阵列错误校正码暂存在缓冲存储器中。在步骤s1208中,从主机系统接收第四数据,并根据所述第四数据产生第四部分阵列错误校正码。在步骤s1210中,将所述第一部分阵列错误校正码及所述第二部分阵列错误校正码分别写入至所述第一芯片致能群组包括的不同所述平面的所述多个物理程序化单元中,并将所述第三部分阵列错误校正码及所述第四部分阵列错误校正码分别写入至所述第二芯片致能群组包括的不同所述平面的所述多个物理程序化单元中。94.图11与图12中各步骤已详细说明如上,在此便不再赘述。然而,图11与图12中各步骤可以实作为多个代码或是电路,本发明并不在此限制。此外,图11与图12的方法可以搭配以上范例实施例使用,也可以单独使用,本发明并不在此限制。95.特别地,本发明范例实施例提出的数据写入方法可使得每个芯片致能群组包括的阵列错误校正码的数量尽可能相同。在另一范例实施例中,还可使得每个平面包括的阵列错误校正码的数量尽可能相同。据此,阵列错误校正码可平均地分散在各芯片致能中。96.综上所述,本发明范例实施例提出的数据写入方法、存储器控制电路单元以及存储器存储装置通过将阵列错误校正码平均分散在不同芯片致能中,可使存储器在读取数据时平均读取各芯片致能中存储的数据,进而提升数据读取效率。在其它实施例中,进一步通过将阵列错误校正码存储在同一芯片致能的不同平面,可使存储器在读取数据时减少使用单平面的方式读取数据的机会,并且可平均读取各芯片致能中存储的数据,进而提升数据读取效率。97.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献