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

文档序号:9887494阅读:来源:国知局
实体编程单元?第(K)实体编程单元中,然后将实体抹除单元410 (O)抹除并关联至闲置区504,同时,将实体抹除单元410(F)关联至数据区502。也就是说,存储器控制电路单元104(或存储器管理电路202)会在逻辑单元-实体抹除单元映射表中将逻辑单元510(0)重新映射至实体抹除单元410 (F) ο此外,在本范例实施例中,存储器控制电路单元104 (或存储器管理电路202)会建立闲置区实体抹除单元表(未示出)来记录目前被关联至闲置区的实体抹除单元。值得一提的是,闲置区504中实体抹除单元的数目是有限的,基此,在存储器储存装置100运行期间,开启的母子单元的组数也会受到限制。因此,当存储器储存装置100接收到来自于主机系统1000的写入指令时,倘若已开启母子单元的组数达到上限时,存储器控制电路单元104 (或存储器管理电路202)需关闭至少一组目前已开启的母子单元(即,执行关闭母子单元操作)以执行此写入指令。在此,图5?图7所示的写入操作称为一般写入模式。
[0157]值得注意的是,在另一范例实施例中,存储器储存装置100的可复写式非易失性存储器组件106也可以是以实体编程单元为基础(也称为页面为基础(page based)来进行管理),本发明不加以限制。例如,在执行写入指令时,不管目前数据是要写入至那个逻辑单元的逻辑子单元,存储器控制电路单元104(或存储器管理电路202)皆会以一个实体编程单元接续一个实体编程单元的方式来写入数据(以下也称为随机写入机制)。具体来说,存储器控制电路单元104(或存储器管理电路202)会从闲置区504中提取一个空的实体抹除单元作为目前使用的实体抹除单元来写入数据。并且,当此目前使用的实体抹除单元已被写满时,存储器控制电路单元104(或存储器管理电路202)会再从闲置区504中提取另一个空的实体抹除单元作为目前使用的实体抹除单元,以继续写入对应来自于主机系统1000的写入指令的数据。
[0158]在本范例实施例中,在从主机系统1000中接收到写入指令以及对应此写入指令的数据之后,存储器控制电路单元104 (或存储器管理电路202)会以实体编程单元为单位将所接收的数据写入至可复写式非易失性存储器组件106中。特别是,存储器控制电路单元104 (或存储器管理电路202)会依据所接收的数据及对应的错误检查与校正码来产生错误检查与校正码框(ECC Frame)并且将错误检查与校正码框写入至可复写式非易失性存储器组件106中。例如,在本范例实施例中,一个错误检查与校正码框所包含的使用者数据的长度为2K,且I个实体编程单元可储存I个错误检查与校正码框。然而,必须了解的是,本发明不限于此,在本发明另一范例实施例中,一个错误检查与校正码框所包含的使用者数据的长度也可为512Byte或1K。也就是说,I个实体编程单元可储存多个错误检查与校正码框。
[0159]图8是根据第一范例实施例所示出的写入数据至实体编程单元的示意图。
[0160]请参照图8,在本范例实施例中,当存储器控制电路单元104(或存储器管理电路202)从主机系统1000中接收到一写入指令,并且此写入指令指示将写入数据WD写入至某个逻辑地址时,存储器控制电路单元104 (或数据压缩/解压缩电路208)会将虚拟数据DD填补至对应此写入数据WD的数据F⑶(以下称为第一数据F⑶)以产生数据802 (以下称为第二数据802)。在此,第二数据802也可称为使用者数据。特别是,在本范例实施例中,第一数据FCD是由存储器控制电路单元104 (或数据压缩/解压缩电路208)压缩写入数据WD所产生的压缩数据,然而,本发明不限于此。例如,在另一范例实施例中,第一数据FCD为未经压缩的写入数据WD。
[0161]在本范例实施例中,存储器控制电路单元104 (或数据压缩/解压缩电路208)是接续第一数据F⑶的最后一个比特填入虚拟数据DD以产生第二数据802。值得一提的是,尽管在本范例实施例中,虚拟数据DD是被填补在第一数据FCD之后,然而,必须了解的是,本发明不限于此。例如,在另一范例实施例中,虚拟数据DD也可置于第一数据F⑶之前。
[0162]接着,存储器控制电路单元104 (或错误检查与校正电路214)会产生对应此第二数据802的错误检查与校正码ECC,并且存储器控制电路单元104 (或存储器管理电路202)会产生对应此第二数据802的管理信息SP (例如,此数据所属的逻辑地址等)。之后,存储器控制电路单元104(或存储器管理电路202)会根据此第二数据802、管理信息SP与错误检查与校正码ECC产生错误检查与校正码框ECCF。
[0163]具体来说,存储器控制电路单元104 (或数据压缩/解压缩电路208)会使用无失真压缩演算法来压缩数据,然而,不同的写入数据WD经过压缩后所产生的压缩数据的大小可能会不同。由于在本范例实施例中,可复写式非易失性存储器组件106的写入是以实体编程单元为单位并且一个实体编程单元可储存I个错误检查与校正码框,因此,在本范例实施例中,存储器控制电路单元104 (或存储器管理电路202)会以虚拟数据DD来填补第一数据FCD,以使得所产生的错误检查与校正码框ECCF的大小相同于一个实体编程单元的大小。例如,倘若大小为2KB的写入数据经过压缩后产生大小为1.8KB的压缩数据时,存储器控制电路单元104 (或存储器管理电路202)会使用大小为0.2KB的虚拟数据DD来填塞第一数据F⑶以产生第二数据802,以达到编程至数据比特区的数据量仍维持在2KB。在此,虚拟数据DD具有多个数据比特,并且每一数据比特的值皆为相同值(以下称为第一值)。例如,此第一值为"F",但本发明不限于此,虚拟数据DD的每一数据比特可以是任何符号。
[0164]之后,存储器控制电路单元104 (或存储器管理电路202)会将错误检查与校正码框ECCF写入至实体编程单元之中的第一实体编程单元804,也即,第一数据F⑶与虚拟数据DD( S卩,第二数据802)会被写入第一实体编程单元804的数据比特区以及错误检查与校正码ECC会被写入至第一实体编程单元804的冗余比特区。并且,存储器控制电路单元104(或存储器管理电路202)会将上述逻辑地址映射至此第一实体编程单元804。
[0165]图9是根据第一范例实施例所示出的从实体编程单元中读取数据的示意图。
[0166]请参照图9,倘若接续图8的例子并且存储器控制电路单元104(或存储器管理电路202)从主机系统1000中接收读取指令,并且此读取指令指示从对应第一实体编程单元804的逻辑地址中读取储存于第一实体编程单元804中的数据(即,先前所写入的写入数据WD)时,存储器控制电路单元104 (或存储器管理电路202)会从第一实体编程单元804中读取错误检查与校正码框ECCF’以获取一读取数据串,其中读取数据串包含数据802’(以下称为第三数据802’)、管理信息SP’与错误检查与校正码ECC’。其中第三数据802’包括数据FCD’与数据DD’。
[0167]具体而言,存储器控制电路单元104(或存储器管理电路202)会使用错误检查与校正码ECC’来校正第三数据802’以获得一已校正数据。在本范例实施例中,倘若当无法通过错误检查与校正码ECC’来校正第三数据802’以获得已校正数据时,存储器控制电路单元104(或存储器管理电路202)会依据之前所写入的虚拟数据的态样来调整第三数据802’以产生第四数据902,并且错误检查与校正电路214会使用错误检查与校正码ECC’来校正第四数据902以获得已校正数据(XD。特别是,由于之前存储器控制电路单元104 (或存储器管理电路202)是将第二数据802写入至第一实体编程单元804中,因此,已校正数据C⑶会相同于第二数据802。
[0168]接着,存储器控制电路单元104(或存储器管理电路202)会从已校正数据CXD中移除虚拟数据DD以获得压缩数据SCD (以下称为第五数据SCD),并且解压缩此第五数据SCD以获得读取数据RD。在此,读取数据RD会相同于写入数据WD。之后,存储器控制电路单元104 (或存储器管理电路202)会传送此读取数据RD至主机系统1000以响应读取指令。
[0169]图1OA是根据第一范例实施例所示出的将虚拟数据的态记录于虚拟数据登录表的范例。
[0170]请参照图10A,在本范例实施例中,存储器控制电路单元104 (或存储器管理电路202)是将对应第一实体编程单元804的虚拟数据的态样记录于一虚拟数据登录表900中,据此,当存储器控制电路单元104 (或错误检查与校正电路214)无法通过错误检查与校正码ECC’来校正所读取的第三数据802’以获得已校正数据时,存储器控制电路单元104 (或存储器管理电路202)即可依据记录于此虚拟数据登录表的虚拟数据的态样来调整第三数据802’。举例来说,存储器控制电路单元104(或存储器管理电路202)会储存并记录上述第二数据802是被填入几个数据比特所产生的。换言之,存储器管理电路202会将虚拟数据的态样记录为虚拟数据DD的长度。例如,在本范例实施例中,存储器控制电路单元104 (或存储器管理电路202)会将此虚拟数据DD的长度记录为200字节(即,0.2KB)并储存于虚拟数据登录表900中。然而,在另一范例实施例中,虚拟数据的态样可以是虚拟数据DD中第一个数据比特所在的实体地址,本发明不加以限制。此外,虚拟数据登录表例如会被储存在可复写式非易失性存储器组件106中用以储存系统数据的实体抹除单元中,也或是被储存于缓冲存储器210中,本发明不加以限制。
[0171]图1OB是根据第一范例实施例所示出的通过虚拟数据的态样来调整所读取的数据以增强错误检查与校正码的校正能力的范例。
[0172]请参照图10B,在读取过程中,未校正的第三数据802’是通过所读取的错误检查与校正码ECC’来错误校正。在此,由于第三数据802’与错误检查与校正码ECC’内的错误比特EB的数目为10,因此,发生在所读取的数据的错误比特的数目大于最大可校正错误比特数(在此假设为8),也即,此时将无法使用错误检查与校正码ECC’来校正第三数据802’以获得已校正数据CCD。在此,存储器控制电路单元104 (或存储器管理电路202)会读取虚拟数据登录表900并依据此虚拟数据登录表900识别对应第一实体编程单元804的虚拟数据DD的长度(即,200字节),并且依据对应第一实体编程单元804的虚拟数据DD的长度,将排列在第三数据802’最后的200字节以虚拟数据DD来取代以获得第四数据902。特别是,排列在此第三数据802’最后的此些数据比特的长度(即,200字节)是等于虚拟数据DD的长度。因此,错误检查与校正电路214仍可顺利地使用错误检查与校正码ECC’来将未校正的第三数据802’校正以还原为第二数据802。具体来说,由于图10所示的10个错误比特之中,2个错误比特EB是发生在数据DD’中,而数据DD’已在上述操作中,被调整并校正为虚拟数据DD,据此,第四数据902 (即,经调整后的第三数据802’)与错误检查与校正码ECC’内仅包含8个错误比特EB,因此,欲校正的错误比特数未超过错误检查与校正电路214可错误校正的错误比特的数目。也就是说,错误检查与校正电路214可使用错误检查与校正码来校正第四数据902以获得已校正数据(XD,并且已校正数据CXD(如图1OB所示)会相同于第二数据802 (如图8所示),之后已校正数据CCD也可被顺利地解压缩以取得读取数据RD (即,原写入的写入数据WD)。
[0173]图1lA是根据第一范例实施例所示出的数据写入方法的流程图。
[0174]请参照图11A,在步骤S1501中,存储器控制电路单元104 (或数据压缩/解压缩电路214)将虚拟数据填补至第一数据以产生第二数据。
[0175]接着,在步骤S1503中,存储器控制电路单元104 (或错误检查与校正电路214)会产生对应此第二数据的错误检查与校正码,并且根据此第二数据与此错误检查与校正码产生错误检查与校正码框。
[0176]之后,在步骤S1505中,存储器控制电路单元104 (或存储器管理电路202)会将错误检查与校正码框写入至实体编程单元之中的第一实体编程单元,并且将一逻辑地址映射至此第一实体编程单元。
[0177]图1lB是根据第一范例实施例所示出的数据读取方法的流程图。
[0178]请参照图11B,在步骤S1507中,存储器控制电路单元104(或存储器管理电路202)从主机系统中接收一读取指令,并且此读取指令指示从所述逻辑地址中读取数据。
[0179]在步骤S1509中,存储器控制电路单元104 (或存储器管理电路202)会从第一实体编程单元中读取错误检查与校正码框以获取一读取数据串,其中此读取数据串包括一第三数据与错误检查与校正码。
[0180]接着,在步骤S1511中,当无法通过错误检查与校正码来校正第三数据以获得已校正数据时,存储器控制电路单元104 (或存储器管理电路202)会依据虚拟数据的态样来调整此第三数据以产生一第四数据,并且错误检查与校正电路214会使用错误检查与校正码来校正第四数据以获得已校正数据,其中已校正数据相同于第二数据。
[0181]之后,在步骤S1513中,存储器控制电路单元104(或存储器管理电路202)会从已校正数据中移除虚拟数据以获得一第五数据。
[0182]第二范例实施例
[0183]第二范例实施例的存储器储存装置的硬件结构本质上是相同于第一范例实施例的存储器储存装置的硬件结构,其差异之处在于第一范例实施例的存储器储存装置是将虚拟数据的态样记录于一虚拟数据登录表中并通过此虚拟数据的态样来调整所读取的数据以增强错误检查与校正码的校正能力,而第二范例实施例的存储器储存装置是将虚拟数据的态样记录于写入数据所对应的实体编程单元的虚拟数据信息中。以下将使用第一范例实施例的存储器储存装置的附图与元件编号来详细说明第二范例实施例的存储器储存装置的运行。
[0184]图12是根据第二范例实施例所示出的写入数据至实体编程单元的示意图。
[0185]请参照图12,其中图12所示的存储器控制电路单元104(或存储器管理电路202)将写入数据WD压缩以产生第一数据F⑶,将虚拟数据DD填补至第一数据F⑶以产生第二数据802,以第二数据802、管理信息SP与错误检查与校正码ECC产生错误检查与校正码框ECCF以及将错误检查与校正码框ECCF写入至第一实体编程单元804的方法是相同于第一范例实施例中图8所示的方法,在此不再重复。其不同之处在于,在本范例
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1