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

文档序号:9304501阅读:来源:国知局
物理抹除单元为物理区块,并且物理程序化单元为物理页面或物理扇区,但本发明不以此为限。
[0111]在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(MultiLevel Cell,简称MLC) NAND型快闪存储器模块(即,一个存储单元中可存储2个比特数据的快闪存储器模块,以下称MLC NAND型快闪存储器模块),然而,本发明不限于此,可复写式非易失性存储器模块106也可是单阶存储单元(Single Level Cell,简称SLC) NAND型快闪存储器模块(即,一个存储单元中可存储I个比特数据的快闪存储器模块)、三阶存储单元(Trinary Level Cell, TLC) NAND型快闪存储器模块(B卩,一个存储单元中可存储3个比特数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
[0112]在本范例实施例中,MLC NAND型快闪存储器模块的物理抹除单元具有多个物理程序化单元,而此些物理程序化单元,由于一个存储单元中可存储2个比特数据,因此还包括下物理程序化单元(Lower programming unit)以及上物理程序化单元(Higherprogramming unit)。而一般使用MLC NAND型快闪存储器模块存储数据时,会同时使用多层存储单元模式来程序化下物理程序化单元的其中之一与上物理程序化单元的其中之一以将数据写入存储单元中。
[0113]值得一提的是,上述的多层存储单元模式为第一程序化模式(First programmingmode)的一种模式。另外,在本发明中还有第二程序化模式(Second programming mode),此模式可包含至少下列三种模式或为至少其中的任一。其中一种模式为单层存储单元模式(SLC mode),在此模式中,一个存储单元只存储有一个比特的数据。另一种模式为下物理程序化模式(lower physical programming unit programming mode),在此模式中,只有下物理程序化单兀会被程序化(a mode that only a lower programming unit is beingprogrammed),而此下物理程序化单元的上物理程序化单元可不对其程序化。另一种模式为混合程序化模式(mixture programming mode),在此模式中,真实的有效数据会被程序化于下物理程序化单元中,而同时虚拟数据会被程序化至对应程序化真实数据的下物理程序化单元的上物理程序化单元中。
[0114]具体来说,可复写式非易失性存储器模块106中的存储单元是以临界电压的改变来存储多比特(bits)。具体来说,每一个存储单元的控制门极(control gate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制门极,可以改变电荷补捉层的电子量,因而改变了存储单元的临界电压。此改变临界电压的程序也称为”把数据写入至存储单元”或”程序化存储单元”。随着临界电压的改变,存储单元阵列的每一存储单元具有多个存储状态。并且通过读取电压可以判断存储单元是属于哪一个存储状态,藉此取得存储单元所存储的比特。以本范例实施例中的MLC NAND型快闪存储器模块为例,当使用第一程序化模式或是混合程序化模式时,随着不同的临界电压,每一存储单元具有4种存储状态,并且此些存储状态分别地代表〃11〃、〃10〃、"00〃与"01〃等比特。因此,在此范例实施例中,每一存储单元的存储的数据比特数为2。另外,以本范例实施例中的MLC NAND型快闪存储器模块为例,当使用第二程序化模式的单层存储单元模式时,随着不同的临界电压,每一存储单元具有2种存储状态,并且此些存储状态分别地代表"0〃与"1〃比特。因此,在此范例实施例中,每一存储单元存储的数据比特数为I。也就是说,当使用第二程序化模式或是混合程序化模式来程序化数据时,由于每一存储单元所需要程序化的临界电压较高,或是所存储的有效数据比特数目较多,在使用上述的第二程序化模式的单层存储单元模式程序化数据时,所需要程序化的次数会小于当使用第二程序化模式的混合程序化模式或是第一程序化模式进行程序化数据时,所需要的程序化的次数。
[0115]图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图。
[0116]请参照图5,存储器控制电路单元104包括存储器管理电路202、主机接口 204与存储器接口 206。
[0117]存储器管理电路202用以控制存储器控制电路单元104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
[0118]在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
[0119]在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程式码型式存储于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元104被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
[0120]此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件型式来实作。例如,存储器管理电路202包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块106的物理抹除单元;存储器写入电路用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取电路用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
[0121]主机接口 204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口 204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口 204也可以是相容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、UHS-1接口标准、UHS-1I接口标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
[0122]存储器接口 206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口 206转换为可复写式非易失性存储器模块106所能接受的格式。
[0123]在本发明一范例实施例中,存储器控制电路单元104还包括缓冲存储器208、电源管理电路210与错误检查与校正电路212。
[0124]缓冲存储器208是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
[0125]电源管理电路210是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。
[0126]错误检查与校正电路212是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路212会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,简称ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路212会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
[0127]图6与图7是根据一范例实施例所示出的管理物理抹除单元的范例示意图。
[0128]请参照图6,存储器控制电路单元104 (或存储器管理电路202)会将物理抹除单元410(0)?410-(N)逻辑地分组为数据区502、闲置区504、系统区506与取代区508。
[0129]逻辑上属于数据区502与闲置区504的物理抹除单元是用以存储来自于主机系统1000的数据。具体来说,数据区502的物理抹除单元是被视为已存储数据的物理抹除单元,而闲置区504的物理抹除单元是用以替换数据区502的物理抹除单元。也就是说,当从主机系统1000接收到写入指令与欲写入的数据时,存储器管理电路202会从闲置区504中提取物理抹除单元,并且将数据写入至所提取的物理抹除单元中,以替换数据区502的物理抹除单兀。
[0130]逻辑上属于系统区506的物理抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非易失性存储器模块的制造商与型号、可复写式非易失性存储器模块的物理抹除单元数、每一物理抹除单元的物理程序化单元数等。
[0131]逻辑上属于取代区508中的物理抹除单元是用于坏物理抹除单元取代程序,以取代损坏的物理抹除单元。具体来说,倘若取代区508中仍存有正常的物理抹除单元并且数据区502的物理抹除单元损坏时,存储器管理电路202会从取代区508中提取正常的物理抹除单元来更换损坏的物理抹除单元。
[0132]特别是,数据区502、闲置区504、系统区506与取代区508的物理抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置100的运作中,物理抹除单元关联至数据区502、闲置区504、系统区506与取代区508的分组关系会动态地变动。例如,当闲置区504中的物理抹除单元损坏而被取代区508的物理抹除单元取代时,则原本取代区508的物理抹除单元会被关联至闲置区504。
[0133]请参照图7,存储器控制电路单元104 (或存储器管理电路202)会配置逻辑单元LBA(O)?LBA(H)以映射数据区502的物理抹除单元,其中每一逻辑单元具有多个逻辑子单元以映射对应的物理抹除单元的物理程序化单元。并且,当主机系统1000欲写入数据至逻辑单元或更新存储于逻辑单元中的数据时,存储器控制电路单元104(或存储器管理电路202)会从闲置区504中提取一个物理抹除单元来写入数据,以轮替数据区502的物理抹除单元。在本范例实施例中,逻辑子单元可以是逻辑页面或逻辑扇区。
[0134]为了识别每个逻辑单元的数据被存储在那个物理抹除单元,在本范例实施例中,存储器控制电路单元104 (或存储器管理电路202)会记录逻辑单元与物理抹除单元之间的映射。并且,当主机系统1000欲在逻辑子单元中存取数据时,存储器控制电路单元104(或存储器管理电路202)会确认此逻辑子单元所属的逻辑单元,并且对可复写式非易失性存储器模块106下达对应的指令序列以在此逻辑单元所映射的物理抹除单元中来存取数据。例如,在本范例实施例中,存储器控制电路单元104 (或存储器管理电路202)会在可复写式非易失性存储器模块106中存储逻辑转物理位址映射表来记录每一逻辑单元所映射的物理抹除单元,并且当欲存取数据时存储器控制电路单元104 (或存储器管理电路202)会将逻辑转物理位址映射表载入至缓冲存储器208来维护。
[0135]值得一提的是,由于缓冲存储器208的容量有限无法存储记录所有逻辑单元的映射关系的映射表,因此,在本范例实施例中,存储器控制电路单元104 (或存储器管理电路202)会将逻辑单元LBA(O)?LBA (H)分组为多个逻辑区域LZ (O)?LZ (M),并且为每一逻辑区域配置一个逻辑转物理位址映射表。特别是,当存储器控制电路单元104(或存储器管理电路202)欲更新某个逻辑单元的映射时,对应此逻辑单元所属的逻辑区域的逻辑转物理位址映射表会被载入至缓冲存储器208来被更新。
[0136]如上所述,在本范例实施例中,存储器存储装置100的可复写式非易失性存储器模块106是以物理程序化单元为基础来进行管理,因此,在执行写入指令时,不管目前数据是要写入至那个逻辑单元的逻辑子单元,存储器控制电路单元104(或存储器管理电路202)皆会以一个物理程序化单元接续一个物理程序化单元的方式来写入数据。具体来说,存储器控制电路单元104 (或存储器管理电路202)会从闲置区504中提取一个空的物理抹除单元作为目前使用的物理抹除单元来写入数据。并且,当此目前使用的物理抹除单元已被写满时,存储器控制电路单元104(或存储器管理电路202)会再从闲置区504中提取另一个空的物理抹除单元作为目前使用的物理抹除单元,以继续写入对应来自于主机系统1000的写入指令的数据。特别是,为了避免闲置区504的物理抹除单元被耗尽,当存储器控制电路单元104 (或存储器管理电路202)欲从闲置区504中提取物理抹除单元且闲置区504的物理抹除单元的数目下降到所设定的垃圾回收门槛值时,存储器控制电路单元104(或存储器管理电路202)会先执行数据合并程序,来使数据区502的至少一个物理抹除单元中的数据成为无效数据,并且将数据区502中所存储的数据皆为无效数据的物理抹除单元关联回闲置区504,以致于闲置区504的物理抹除单元的数目大于所设定的垃圾回收门槛值。例如,在执行数据合并程序时,存储器控制电路单元104 (或存储器管理电路202)至少需使用一个空的物理抹除单元,因此,垃圾回收门槛值至少会被设定为大于I的数值。
[0137]如上所述,在存储器存储装置100的错误检查与校正电路212会被配置来验证可复写式非易失性存储器模块106中所存储的数据是否正确。然而,在执行错误校正程序时,无论是编码或解码步骤,错误检查与校正电路212都是需要清楚知道所要保护的数据长度为何,如此才能计算出正确的特征码,以检查出正确的错误位置。在本范例实施例中,当存储器控制电路单元104 (或存储器管理电路202)接收到数据时,存储器控制电路单元104(
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1