数据保护方法、存储器控制电路单元与存储器存储装置与流程

文档序号:11215839阅读:452来源:国知局
数据保护方法、存储器控制电路单元与存储器存储装置与流程

本发明是有关于一种数据保护方法,且特别是有关于一种用于可复写式非挥发性存储器模块的数据保护方法、存储器控制电路单元与存储器存储装置。



背景技术:

数码相机、移动电话与mp3播放器在这几年来的成长十分迅速,使得消费者对存储介质的需求也急速增加。由于可复写式非挥发性存储器模块(例如,快速存储器)具有数据非挥发性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种便携式多媒体装置中。

一般来说,可复写式非挥发性存储器模块包括多条字元线与多条比特线,并且每一字元线与每一比特线的交叉点上会配置有一个存储单元。每一个存储单元可存储一或多个比特的数据,而排列在同一条字元线上的存储单元会组成一或多个实体页面。一般来说,可复写式非挥发性存储器模块中所存储的数据是以实体页面作为数据保护的单位。例如,当将使用者数据写入至一个实体页面时,对应使用者数据所产生的错误校正码也会一并被写入至同一个实体页面中。然而,在程序化的过程中,程序化一个实体页面可能会影响位于同一条字元线上或者相邻的字元线上的其他实体页面所存储的数据。基此,如何针对所存储的数据提供更多的保护,为此领域技术人员所致力的目标。



技术实现要素:

本发明提供一种数据保护方法、存储器控制电路单元与存储器存储装置,可提升对于实体页面中所存储的数据的保护能力。

本发明的一范例实施例提出一种用于可复写式非挥发性存储器模块的数据保护方法。可复写式非挥发性存储器模块包括多条字元线,同一条字元线 上的存储单元组成至少一个实体页面。本方法包括将多个实体页面指派至多个编码群组,在此,将所述实体页面指派至所述编码群组的步骤包括:将所述实体页面之中的第一实体页面分组至所述编码群组之中的第一编码群组,且将所述实体页面之中的第二实体页面分组至所述编码群组之中的第二编码群组,其中第一实体页面是由连接至所述字元线之中的第一字元线的存储单元所形成,第二实体页面是由连接至所述字元线之中的第二字元线的存储单元所形成,并且第一字元线相邻于第二字元线。本方法也包括在所述实体页面中的每一个实体页面存储使用者数据与对应使用者数据的同位码,并分别地编码所述编码群组的实体页面的使用者数据以产生分别地对应所述编码群组的多个群组同位码。本方法还包括,倘若存储在第一实体页面中的使用者数据无法依据存储在第一实体页面中的同位码来校正时,使用对应第一编码群组的群组同位码来校正存储在第一实体页面中的使用者数据。

在本发明的一范例实施例中,上述将所述实体页面指派至所述编码群组的步骤还包括将所述多个实体页面之中的第三实体页面分组至所述编码群组之中的第三编码群组,其中第三实体页面是由连接至第一字元线的存储单元所形成。

在本发明的一范例实施例中,上述将所述实体页面指派至所述编码群组的步骤还包括将所述实体页面之中的第四实体页面分组至所述编码群组之中的第四编码群组,其中第四实体页面是由连接至第二字元线的存储单元所形成。

在本发明的一范例实施例中,上述的数据保护方法还包括将所述实体页面分组为多个超实体页面,其中可复写式非挥发性存储器模块是由多个平面所组成,所述超实体页面之中的每一个超实体页面的实体页面是属于不同的平面并且所述超实体页面之中的每一个超实体页面的实体页面是被同时程序化。

在本发明的一范例实施例中,上述将所述实体页面指派至所述编码群组的步骤还包括将所述实体页面之中的第五实体页面分组至所述编码群组之中的第二编码群组,其中第一实体页面与第五实体页面被分组至所述超实体页面之中的第一超实体页面。

在本发明的一范例实施例中,上述将所述实体页面指派至所述编码群组 的步骤还包括将所述实体页面之中的第六实体页面分组至所述编码群组之中的第三编码群组,其中第六实体页面被分组至第一超实体页面。

在本发明的一范例实施例中,上述将所述实体页面指派至所述编码群组的步骤还包括将所述实体页面之中的第七实体页面分组至所述编码群组之中的第四编码群组,其中第七实体页面被分组至第一超实体页面。

在本发明的一范例实施例中,上述的可复写式非挥发性存储器模块还包括多个通道,且所述平面分别地属于所述通道的其中之一。再者,上述将所述实体页面指派至所述编码群组的步骤还包括将所述实体页面之中的一第八实体页面分组至所述编码群组之中的第二编码群组,其中第八实体页面被分组至第一超实体页面,第一实体页面属于所述通道之中的第一通道的第一平面,第八实体页面属于所述通道之中的第二通道的第一平面。

在本发明的一范例实施例中,上述的数据保护方法还包括将对应第一编码群组的第一群组同位码程序化至所述实体页面之中的至少一实体页面中,并且将对应第二编码群组的第二群组同位码程序化至所述实体页面之中的至少另一实体页面中。

本发明的一范例实施例提出一种用于可复写式非挥发性存储器模块的数据保护方法。可复写式非挥发性存储器模块包括多条字元线,同一条字元线上的存储单元组成至少两个实体页面。本方法包括将多个实体页面指派至多个编码群组,在此将所述实体页面指派至所述编码群组的步骤包括:将所述实体页面中的第一实体页面分组至所述编码群组之中的第一编码群组且将所述实体页面中的另一实体页面分组至所述编码群组之中的第二编码群组,其中第一实体页面与另一实体页面是由连接至所述字元线之中的第一字元线的存储单元所形成。本方法也包括,在所述实体页面中的每一个实体页面存储使用者数据与对应使用者数据的同位码,并分别地编码所述编码群组的实体页面的使用者数据以产生分别地对应所述编码群组的多个群组同位码。本方法还包括,倘若存储在第一实体页面中的使用者数据无法依据存储在第一实体页面中的同位码来校正时,使用对应第一编码群组的群组同位码来校正存储在第一实体页面中的使用者数据。

本发明的一范例实施例提出一种用于可复写式非挥发性存储器模块的数据保护方法。可复写式非挥发性存储器模块包括多条字元线,同一条字元线 上的存储单元组成至少一个实体页面。本方法包括将多个实体页面指派至多个编码群组,在此,将所述实体页面指派至所述编码群组的步骤包括:将所述实体页面之中的第一实体页面分组至所述编码群组之中的第一编码群组,且将所述实体页面之中的第二实体页面分组至所述编码群组之中的第二编码群组,其中第一实体页面是由连接至所述字元线之中的第一字元线的存储单元所形成,第二实体页面是由连接至所述字元线之中的第二字元线的存储单元所形成,并且第一字元线相邻于第二字元线。本方法也包括分别地编码所述编码群组的实体页面的使用者数据以产生分别地对应所述编码群组的多个群组同位码。本方法还包括,使用对应第一编码群组的群组同位码来校正存储在属于第一编码群组的实体页面中的数据,并且使用对应第二编码群组的群组同位码来校正存储在属于第二编码群组的实体页面中的数据。

本发明的一范例实施例提出一种用于控制可复写式非挥发性存储器模块的存储器控制电路单元。可复写式非挥发性存储器模块包括多条字元线,同一条字元线上的存储单元组成至少一个实体页面。本存储器控制电路单元包括主机接口、存储器接口、错误检查与校正电路与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非挥发性存储器模块。存储器管理电路电性连接至主机接口、错误检查与校正电路与存储器接口。存储器管理电路将多个实体页面指派至多个编码群组。在上述将所述实体页面指派至所述编码群组的运作中,存储器管理电路将所述实体页面之中的第一实体页面分组至所述编码群组之中的第一编码群组,且将所述实体页面之中的第二实体页面分组至所述编码群组之中的第二编码群组,其中第一实体页面是由连接至所述字元线之中的第一字元线的存储单元所形成,第二实体页面是由连接至所述字元线之中的第二字元线的存储单元所形成,并且第一字元线相邻于第二字元线。此外,存储器管理电路在所述实体页面中的每一个实体页面存储使用者数据与对应使用者数据的同位码。错误检查与校正电路分别地编码所述编码群组的实体页面的使用者数据以产生分别地对应所述编码群组的多个群组同位码。另外,倘若存储在第一实体页面中的使用者数据无法依据存储在第一实体页面中的同位码来校正时,错误检查与校正电路使用对应第一编码群组的群组同位码来校正存储在第一实体页面中的使用者数据。

在本发明的一范例实施例中,在上述将所述实体页面指派至所述编码群组的运作中,上述的存储器管理电路将所述实体页面之中的第三实体页面分组至所述编码群组之中的第三编码群组,其中第三实体页面是由连接至第一字元线的存储单元所形成。

在本发明的一范例实施例中,在上述将所述实体页面指派至所述编码群组的运作中,上述的存储器管理电路将所述实体页面之中的第四实体页面分组至所述编码群组之中的第四编码群组,其中第四实体页面是由连接至第二字元线的存储单元所形成。

在本发明的一范例实施例中,上述的存储器管理电路将所述实体页面分组为多个超实体页面,其中可复写式非挥发性存储器模块是由多个平面所组成,所述超实体页面之中的每一个超实体页面的实体页面是属于不同的平面并且所述超实体页面之中的每一个超实体页面的实体页面是被同时程序化。

在本发明的一范例实施例中,在上述将所述实体页面指派至所述编码群组的运作中,上述的存储器管理电路将所述实体页面之中的第五实体页面分组至所述编码群组之中的第二编码群组,其中第一实体页面与第五实体页面被分组至所述超实体页面之中的第一超实体页面。

在本发明的一范例实施例中,在上述将所述实体页面指派至所述编码群组的运作中,上述的存储器管理电路将所述实体页面之中的第六实体页面分组至所述编码群组之中的第三编码群组,其中第六实体页面被分组至第一超实体页面。

在本发明的一范例实施例中,在上述将所述实体页面指派至所述编码群组的运作中,上述的存储器管理电路将所述实体页面之中的第七实体页面分组至所述编码群组之中的第四编码群组,其中第七实体页面被分组至第一超实体页面。

在本发明的一范例实施例中,上述的可复写式非挥发性存储器模块还包括多个通道,且所述平面分别地属于所述通道的其中之一。再者,在上述将所述实体页面指派至所述编码群组的运作中,上述的存储器管理电路将所述实体页面之中的第八实体页面分组至所述编码群组之中的第二编码群组,其中第八实体页面被分组至第一超实体页面,第一实体页面属于所述通道之中的第一通道的第一平面,第八实体页面属于所述通道之中的第二通道的第一 平面。

在本发明的一范例实施例中,上述的存储器管理电路将对应第一编码群组的第一群组同位码程序化至所述实体页面之中的至少一实体页面中,并且将对应第二编码群组的第二群组同位码程序化至所述实体页面之中的至少另一实体页面中。

本发明的一范例实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非挥发性存储器模块与存储器控制电路单元。连接接口单元电性连接至主机系统。可复写式非挥发性存储器模块包括多条字元线,同一条字元线上的存储单元组成至少一个实体页面。存储器控制电路单元电性连接至连接接口单元与可复写式非挥发性存储器模块。存储器控制电路单元将多个实体页面指派至多个编码群组。在将所述实体页面指派至所述编码群组的运作中,存储器控制电路单元将所述实体页面之中的第一实体页面分组至所述编码群组之中的第一编码群组,且将所述实体页面之中的第二实体页面分组至所述编码群组之中的第二编码群组,其中第一实体页面是由连接至所述字元线之中的第一字元线的存储单元所形成,第二实体页面是由连接至所述字元线之中的第二字元线的存储单元所形成,并且第一字元线相邻于第二字元线。此外,存储器控制电路单元在所述实体页面中的每一个实体页面存储有使用者数据与对应使用者数据的同位码,并分别地编码所述编码群组的实体页面的使用者数据以产生分别地对应所述编码群组的多个群组同位码。另外,倘若存储在第一实体页面中的使用者数据无法依据存储在第一实体页面中的同位码来校正时,存储器控制电路单元使用对应第一编码群组的群组同位码来校正存储在第一实体页面中的使用者数据。

在本发明的一范例实施例中,在上述将所述实体页面指派至所述编码群组的运作中,上述的存储器控制电路单元将所述实体页面之中的第三实体页面分组至所述编码群组之中的第三编码群组,其中第三实体页面是由连接至第一字元线的存储单元所形成。

在本发明的一范例实施例中,在上述将所述实体页面指派至所述编码群组的运作中,上述的存储器控制电路单元将所述实体页面之中的第四实体页面分组至所述编码群组之中的第四编码群组,其中第四实体页面是由连接至第二字元线的存储单元所形成。

在本发明的一范例实施例中,上述的存储器控制电路单元将所述实体页面分组为多个超实体页面,其中可复写式非挥发性存储器模块是由多个平面所组成,所述超实体页面之中的每一个超实体页面的实体页面是属于不同的平面并且所述超实体页面之中的每一个超实体页面的实体页面是被同时程序化。

在本发明的一范例实施例中,在上述将所述实体页面指派至所述编码群组的运作中,上述的存储器控制电路单元将所述实体页面之中的第五实体页面分组至所述编码群组之中的第二编码群组,其中第一实体页面与第五实体页面被分组至所述超实体页面之中的第一超实体页面。

在本发明的一范例实施例中,在上述将所述实体页面指派至所述编码群组的运作中,上述的存储器控制电路单元将所述实体页面之中的第六实体页面分组至所述编码群组之中的第三编码群组,其中第六实体页面被分组至第一超实体页面。

在本发明的一范例实施例中,在上述将所述实体页面指派至所述编码群组的运作中,上述的存储器控制电路单元将所述实体页面之中的第七实体页面分组至所述编码群组之中的第四编码群组,其中第七实体页面被分组至第一超实体页面。

在本发明的一范例实施例中,上述的可复写式非挥发性存储器模块还包括多个通道,且所述平面分别地属于所述通道的其中之一。再者,在上述将所述实体页面指派至所述编码群组的运作中,上述的存储器控制电路单元将所述实体页面之中的第八实体页面分组至所述编码群组之中的第二编码群组,其中第八实体页面被分组至第一超实体页面,第一实体页面属于所述通道之中的第一通道的第一平面,第八实体页面属于所述通道之中的第二通道的第一平面。

在本发明的一范例实施例中,上述的存储器控制电路单元将对应第一编码群组的第一群组同位码程序化至所述实体页面之中的至少一实体页面中,并且将对应第二编码群组的第二群组同位码程序化至所述实体页面之中的至少另一实体页面中。

基于上述,本发明提供的数据保护方法、存储器控制电路单元与存储器存储装置可以根据每一个实体页面对应的字元线、平面或通道将多个实体页 面指派至多个编码群组,以分别对分组至同一个编码群组中的多个实体页面所存储的数据再次编码而另外产生群组同位码。如此一来,存储在可复写式非挥发性存储器模块中的数据除了可通过存储在每个实体页面中的同位码进行错误检查与校正操作,还可通过另外产生的群组同位码进行错误检查与校正操作,从而提升对于实体页面中所存储的数据的保护能力。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图;

图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图;

图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图;

图4是根据一范例实施例所示出的主机系统与存储器存储装置的概要方块图;

图5a与图5b是根据本范例实施例所示出的存储单元存储架构与实体抹除单元的范例示意图;

图6是根据一范例实施例所示出的存储器控制电路单元的概要方块图;

图7与图8是根据一范例实施例所示出的管理实体抹除单元的范例示意图;

图9是根据一范例实施例所示出的将同一条字元线上的实体页面指派至多个编码群组的示意图;

图10是根据一范例实施例所示出的将相邻字元线上的实体页面指派至多个编码群组的示意图;

图11是根据另一范例实施例所示出的将相邻字元线上的实体页面指派至多个编码群组的示意图;

图12是根据一范例实施例所示出的将超实体页面中对应不同平面的实体页面指派至多个编码群组的示意图;

图13是根据一范例实施例所示出的将超实体页面中对应不同通道的实体页面指派至多个编码群组的示意图;

图14是根据一范例实施例所示出的数据保护方法的流程图;

图15是根据另一范例实施例所示出的数据保护方法的流程图;

图16是根据另一范例实施例所示出的数据保护方法的流程图。

附图标记说明:

10:存储器存储装置;

11:主机系统;

12:输入/输出(i/o)装置;

110:系统汇流排;

111:处理器;

112:随机存取存储器(ram);

113:只读存储器(rom);

114:数据传输接口;

20:主机板;

201:u盘;

202:内存卡;

203:固态硬盘;

204:无线存储器存储装置;

205:全球定位系统模块;

206:网络接口卡;

207:无线传输装置;

208:键盘;

209:屏幕;

210:喇叭;

30:存储器存储装置;

31:主机系统;

32:sd卡;

33:cf卡;

34:嵌入式存储装置;

341:嵌入式多媒体卡;

342:嵌入式多芯片封装存储装置;

402:连接接口单元;

404:存储器控制电路单元;

406:可复写式非挥发性存储器模块;

410(0)~410(n):实体抹除单元;

502:存储器管理电路;

504:主机接口;

506:存储器接口;

508:缓冲存储器;

510:电源管理电路;

512:错误检查与校正电路;

602:数据区;

604:闲置区;

606:系统区;

608:取代区;

lba(0)~lba(h):逻辑单元;

lz(0)~lz(m):逻辑区域;

wl0~wl127:字元线;

p0~p7:实体页面;

sp0~sp7:超实体页面;

gr0~gr3:编码群组;

pl0~pl3:平面;

ch0、ch1:通道;

s1401:将多个实体页面指派至多个编码群组,以将第一实体页面分组至第一编码群组,并将第二实体页面分组至第二编码群组,其中第一实体页面是由连接至第一字元线的存储单元所形成,第二实体页面是由连接至相邻于第一字元线的第二字元线的存储单元所形成;

s1403:分别地编码此些编码群组的实体页面的使用者数据以产生分别地对应此些编码群组的多个群组同位码;

s1405:将此些群组同位码分别地程序化至不同的实体页面中,以将对应第一编码群组的第一群组同位码程序化至至少一实体页面中,并将对应第二编码群组的第二群组同位码程序化至至少另一实体页面中;

s1407:倘若存储在第一实体页面的使用者数据无法通过使用存储在第一实体页面的同位码来正确校正时,使用所存储的第一群组同位码来校正存储在第一实体页面的使用者数据;并且倘若存储在第二实体页面的使用者数据无法通过使用存储在第二实体页面的同位码来正确校正时,使用所存储的第二群组同位码来校正存储在第二实体页面的使用者数据;

s1501:将多个实体页面指派至多个编码群组,以将第一实体页面分组至第一编码群组,并将另一实体页面分组至第二编码群组,其中第一实体页面与另一实体页面是由连接至同一条字元线的存储单元所形成;

s1503:分别地编码此些编码群组的实体页面的使用者数据以产生分别地对应此些编码群组的多个群组同位码;

s1505:将此些群组同位码分别地程序化至不同的实体页面中,以将对应第一编码群组的第一群组同位码程序化至至少一实体页面中,并将对应第二编码群组的第二群组同位码程序化至至少另一实体页面中;

s1507:倘若存储在第一实体页面的使用者数据无法通过使用存储在第一实体页面的同位码来正确校正时,使用所存储的第一群组同位码来校正存储在第一实体页面的使用者数据;并且倘若存储在上述另一实体页面的使用者数据无法通过使用存储在此实体页面的同位码来正确校正时,使用所存储的第二群组同位码来校正存储在此实体页面的使用者数据;

s1601:将多个实体页面指派至多个编码群组,以将第一实体页面分组至第一编码群组,并将第二实体页面分组至第二编码群组,其中第一实体页面是由连接至第一字元线的存储单元所形成,第二实体页面是由连接至相邻于第一字元线的第二字元线的存储单元所形成;

s1603:分别地编码存储在此些编码群组的实体页面的特定数据以产生分别地对应此些编码群组的多个群组同位码;

s1605:将此些群组同位码分别地程序化至其他实体页面中,以将对应第一编码群组的第一群组同位码程序化至至少一实体页面中,并将对应第二编码群组的第二群组同位码程序化至至少另一实体页面中;

s1607:使用所存储的第一群组同位码来校正存储在第一实体页面的特定数据;并且使用所存储的第二群组同位码来校正存储在第二实体页面的特定数据。

具体实施方式

一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非挥发性存储器模块与控制器(也称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。

图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图,且图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(i/o)装置的示意图。

请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccessmemory,ram)112、只读存储器(readonlymemory,rom)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至系统汇流排(systembus)110。

在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机系统11可通过数据传输接口114将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统汇流排110与i/o装置12电性连接。例如,主机系统11可通过系统汇流排110将输出信号传送至i/o装置12或从i/o装置12接收输入信号。

在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114是可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以通过有线或无线方式电性连接至存储器存储装置10。存储器存储装置10可例如是u盘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。

在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄像机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的sd卡32、cf卡33或嵌入式存储装置34等各式非挥发性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embeddedmmc,emmc)341及/或嵌入式多芯片封装存储装置(embeddedmultichippackage,emcp)342等各类型将存储器模块直接电性连接在主机系统的基板上的嵌入式存储装置。

图4是根据一范例实施例所示出的存储器存储装置的概要方块图。

请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非挥发性存储器模块406。

在本范例实施例中,连接接口单元402是相容于序列先进附件(serialadvancedtechnologyattachment,sata)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并列先进附件(paralleladvancedtechnologyattachment,pata)标准、电气和电子工程师协会(instituteofelectricalandelectronicengineers,ieee)1394标准、高速周边零件连接接口(peripheralcomponentinterconnectexpress,pciexpress)标准、通用串行总线(universalserialbus,usb)标准、超高速一代(ultrahighspeed-i,uhs-i)接口标准、超高速二代(ultrahighspeed-ii,uhs-ii)接口标准、安全数字(securedigital,sd)接口标准、记忆棒(memorystick,ms)接口标准、多芯片封装(multi-chippackage)接口标准、多媒体存储卡(multimediacard,mmc)接口标准、嵌入式多媒体存储卡(embeddedmultimediacard,emmc)接口标准、通用快速存储器(universalflashstorage,ufs)接口标准、嵌入式多 芯片封装(embeddedmultichippackage,emcp)接口标准、小型快速(compactflash,cf)接口标准、整合式驱动电子接口(integrateddeviceelectronics,ide)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设在一包含存储器控制电路单元的芯片外。

存储器控制电路单元404用以执行以硬件或软件实作的多个逻辑闸或控制指令,并且根据主机系统11的指令在可复写式非挥发性存储器模块406中进行数据的写入、读取与抹除等运作。

可复写式非挥发性存储器模块406是电性连接至存储器控制电路单元404,并且用以存储主机系统11所写入的数据。可复写式非挥发性存储器模块406具有实体抹除单元410(0)~410(n)。每一实体抹除单元分别具有复数个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。

更详细来说,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的一并被抹除的存储单元。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,控制资讯与错误更正码)。在本范例实施例中,每一个实体程序化单元的数据比特区中会包含8个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体抹除单元为实体区块,并且实体程序化单元为实体页面或实体扇区,但本发明不以此为限。

在本范例实施例中,可复写式非挥发性存储器模块406为多阶存储单元(multilevelcell,mlc)nand型快速存储器模块(即,一个存储单元中可存储2个数据比特的快速存储器模块)。然而,本发明不限于此,可复写式非挥发性存储器模块406也可是单阶存储单元(singlelevelcell,slc) nand型快速存储器模块(即,一个存储单元中可存储1个数据比特的快速存储器模块)、复数阶存储单元(trinarylevelcell,tlc)nand型快速存储器模块(即,一个存储单元中可存储3个数据比特的快速存储器模块)、其他快速存储器模块或其他具有相同特性的存储器模块。

图5a与图5b是根据本范例实施例所示出的存储单元存储架构与实体抹除单元的范例示意图。在本范例实施例中,是以mlcnand型快速存储器为范例来进行说明。

请参照图5a,可复写式非挥发性存储器模块406的每个存储单元可存储2个比特的数据,并且每个存储单元的存储状态可被识别为“11”、“10”、“01”、或“00”。其中每一个存储状态包括最低有效比特(leastsignificantbit,lsb)以及最高有效比特(mostsignificantbit,msb)。例如,存储状态中从左侧算起的第1个比特的值为lsb,而从左侧算起的第2个比特的值为msb。因此,连接至同一条字元线上的数个存储单元可组成2个实体页面,其中由此些存储单元的lsb所组成的实体页面称为下实体页面,并且由此些存储单元的msb所组成的实体页面称为上实体页面。

请参照图5b,一个实体抹除单元是由多个实体页面组所组成,其中每个实体页面组包括由排列在同一条字元线上的数个存储单元所组成的下实体页面与上实体页面。例如,在实体抹除单元中,属于下实体页面的第0个实体页面与属于上实体页面的第1个实体页面是由排列在字元线wl0上的存储单元所组成的,因此会被视为一个实体页面组。类似地,第2、3个实体页面是由排列在字元线wl1上的存储单元所组成的,因此会被视为一个实体页面组,并且依此类推其他实体页面也是依据此方式被区分为多个实体页面组。

图6是根据一范例实施例所示出的存储器控制电路单元的概要方块图。

请参照图6,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512。

存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。

在本范例实施例中,存储器管理电路502的控制指令是以软件来实作。 例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。

在本发明另一范例实施例中,存储器管理电路502的控制指令也可以程序代码形式存储在可复写式非挥发性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将存储在可复写式非挥发性存储器模块406中之控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。

此外,在本发明另一范例实施例中,存储器管理电路502的控制指令也可以一硬件来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理可复写式非挥发性存储器模块406的实体抹除单元;存储器写入电路用以对可复写式非挥发性存储器模块406下达写入指令以将数据写入至可复写式非挥发性存储器模块406中;存储器读取电路用以对可复写式非挥发性存储器模块406下达读取指令以从可复写式非挥发性存储器模块406中读取数据;存储器抹除电路用以对可复写式非挥发性存储器模块406下达抹除指令以将数据从可复写式非挥发性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非挥发性存储器模块406的数据以及从可复写式非挥发性存储器模块406中读取的数据。

主机接口504是电性连接至存储器管理电路502并且用以电性连接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于sata标准。然而,必 须了解的是本发明不限于此,主机接口504也可以是相容于pata标准、ieee1394标准、pciexpress标准、usb标准、uhs-i接口标准、uhs-ii接口标准、sd标准、ms标准、mmc标准、cf标准、ide标准或其他适合的数据传输标准。

存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非挥发性存储器模块406。也就是说,欲写入至可复写式非挥发性存储器模块406的数据会通过存储器接口506转换为可复写式非挥发性存储器模块406所能接受的格式。

缓冲存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非挥发性存储器模块406的数据。

电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。

错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(errorcheckingandcorrectingcode,ecccode),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非挥发性存储器模块406中。之后,当存储器管理电路502从可复写式非挥发性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。

在本范例实施例中,错误检查与校正电路512执行编码程序的基本单位是一个框架(frame)。一个框架包括多个数据比特。在本范例实施例中,一个框架包括256个比特。然而,在另一范例实施例中,一个框架也可以包括更多或更少的比特。

在本范例实施例中,错误检查与校正电路512可以针对存储在一个实体页面中的数据进行单框架(single-frame)编码,也可以针对存储在多个实体页面中的数据进行多框架(multi-frame)编码。单框架编码与多框架编码可 以分别采用低密度奇偶检查校正码(lowdensityparitycode,ldpc)、bch码、回旋码(convolutionalcode)或涡轮码(turbocode)等编码演算法的至少其中之一。或者,在一范例实施例中,多框架编码还可以采用里德-所罗门码(reed-solomoncodes,rscodes)演算法。此外,在另一范例实施例中,更多未列于上的编码演算法也可以被采用,在此便不赘述。根据所采用的编码演算法,错误检查与校正电路512可以编码欲保护的数据来产生相对应的错误更正码及/或错误检查码。在本范例实施例中,通过编码产生的错误更正码及/或错误检查码将统称为同位码(paritycode)。

图7与图8是根据一范例实施例所示出的管理实体抹除单元的范例示意图。

必须了解的是,在此描述可复写式非挥发性存储器模块406的实体抹除单元的运作时,以“提取”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,可复写式非挥发性存储器模块的实体抹除单元的实际位置并未更动,而是逻辑上对可复写式非挥发性存储器模块的实体抹除单元进行操作。

请参照图7,存储器控制电路单元404(或存储器管理电路502)会将实体抹除单元410(0)~410(n)逻辑地分组为数据区602、闲置区604、系统区606与取代区608。

逻辑上属于数据区602与闲置区604的实体抹除单元是用以存储来自于主机系统11的数据。具体来说,数据区602的实体抹除单元是被视为已存储数据的实体抹除单元,而闲置区604的实体抹除单元是用以替换数据区602的实体抹除单元。也就是说,当从主机系统11接收到写入指令与欲写入的数据时,存储器管理电路502会从闲置区604中提取实体抹除单元,并且将数据写入至所提取的实体抹除单元中,以替换数据区602的实体抹除单元。

逻辑上属于系统区606的实体抹除单元是用以记录系统数据。例如,系统数据包括关于可复写式非挥发性存储器模块的制造商与型号、可复写式非挥发性存储器模块的实体抹除单元数、每一实体抹除单元的实体程序化单元数等。

逻辑上属于取代区608中的实体抹除单元是用于坏实体抹除单元取代程序,以取代损坏的实体抹除单元。具体来说,倘若取代区608中仍存有正常 的实体抹除单元并且数据区602的实体抹除单元损坏时,存储器管理电路502会从取代区608中提取正常的实体抹除单元来更换损坏的实体抹除单元。

特别是,数据区602、闲置区604、系统区606与取代区608的实体抹除单元的数量会根据不同的存储器规格而有所不同。此外,必须了解的是,在存储器存储装置10的运作中,实体抹除单元关联至数据区602、闲置区604、系统区606与取代区608的分组关系会动态地变动。例如,当闲置区604中的实体抹除单元损坏而被取代区608的实体抹除单元取代时,则原本取代区608的实体抹除单元会被关联至闲置区604。

请参照图8,存储器控制电路单元404(或存储器管理电路502)会配置逻辑单元lba(0)~lba(h)以映射数据区602的实体抹除单元,其中每一逻辑单元具有多个逻辑子单元以映射对应的实体抹除单元的实体程序化单元。并且,当主机系统11欲写入数据至逻辑单元或更新存储在逻辑单元中的数据时,存储器控制电路单元404(或存储器管理电路502)会从闲置区604中提取一个实体抹除单元来写入数据,以轮替数据区602的实体抹除单元。在本范例实施例中,逻辑子单元可以是逻辑页面或逻辑扇区。

为了识别每个逻辑单元的数据被存储在哪个实体抹除单元,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会记录逻辑单元与实体抹除单元的间的映射。并且,当主机系统11欲在逻辑子单元中存取数据时,存储器控制电路单元404(或存储器管理电路502)会确认此逻辑子单元所属的逻辑单元,并且在此逻辑单元所映射的实体抹除单元中来存取数据。例如,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会在可复写式非挥发性存储器模块406中存储逻辑地址-实体地址映射表来记录每一逻辑单元所映射的实体抹除单元,并且当欲存取数据时存储器控制电路单元404(或存储器管理电路502)会将逻辑地址-实体地址映射表载入至缓冲存储器508来维护。

值得一提的是,由于缓冲存储器508的容量有限无法存储记录所有逻辑单元的映射关系的映射表,因此,在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会将逻辑单元lba(0)~lba(h)分组为多个逻辑区域lz(0)~lz(m),并且为每一逻辑区域配置一个逻辑地址-实体地址映射表。特别是,当存储器控制电路单元404(或存储器管理电路502)欲更新某个逻 辑单元的映射时,对应此逻辑单元所属的逻辑区域的逻辑地址-实体地址映射表会被载入至缓冲存储器508来被更新。

如上所述,在本范例实施例中,可复写式非挥发性存储器模块406的每一个实体页面的数据比特区可存储使用者数据,并且每一个实体页面的冗余比特区可存储对应的使用者数据的同位码。特别是,存储器控制电路单元404(或存储器管理电路502)更会将此些实体页面指派(或分组)为多个编码群组(即,每一个编码群组可包括一个或多个实体页面)。进一步地,错误检查与校正电路512会根据分组至同一个编码群组的实体页面中所存储的数据来额外产生分别对应各编码群组的群组同位码。例如,存储器控制电路单元404(或错误检查与校正电路512)会根据分组至同一个编码群组的实体页面的数据比特区中所存储的数据来产生对应各编码群组的群组同位码。另外,存储器控制电路单元404(或存储器管理电路502)会将所产生的群组同位码存储至可复写式非挥发性存储器模块406中的实体页面中。之后,若实体页面的冗余比特区的同位码无法校正从此实体页面的数据比特区中读取的数据时,存储器控制电路单元404(或错误检查与校正电路512)可使用对应的群组同位码来校正所读取的数据。

具体来说,存储器控制电路单元404(或存储器管理电路502)会根据实体页面所对应的字元线、平面或通道来决定此实体页面的编码群组。例如,存储器控制电路单元404(或存储器管理电路502)可以针对实体页面所对应的字元线、平面或通道预先计算出一指派顺序,并且根据此指派顺序依序将对应的实体页面分组至不同的编码群组。此外,存储器控制电路单元404(或存储器管理电路502)还可将每一个实体页面与编码群组的对应关系记录在一查询表格中,使错误检查与校正电路512可根据此查询表格来辨识出属于同一个编码群组的实体页面以执行编码操作来产生群组同位码。在本范例实施例中,错误检查与校正电路512可针对同一个编码群组的每一个实体页面分别执行编码操作以产生多个同位码,再将此些所产生的同位码互相迭加而产生群组同位码,但本发明不以此为限。在其他范例实施例中,错误检查与校正电路512也可对同一个编码群组的多个实体页面同时执行编码操作来产生群组同位码。

以下将分别以不同的范例实施例来说明将多个实体页面指派至多个编码 群组。值得一提的是,以下的范例实施例是以mlcnand型快速存储器作为范例,但相关操作也可以应用于其他类型的快速存储器(例如,tlcnand型快速存储器)。

在一范例实施例中,存储器控制电路单元404(或存储器管理电路502)会将同一条字元线上的实体页面指派至不同的编码群组中,使同一条字元线上的实体页面可分开编码。

图9是根据一范例实施例所示出的将同一条字元线上的实体页面指派至多个编码群组的示意图。

请参照图9,可复写式非挥发性存储器模块包括字元线wl0~wl3,并且每一条字元线上的存储单元会组成两个实体页面,包括一个下实体页面与一个上实体页面。例如,实体页面p0、p2、p4、p6为下实体页面,实体页面p1、p3、p5、p7为分别对应实体页面p0、p2、p4、p6的上实体页面。在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)会将同一条字元线上的实体页面指派至不同的编码群组中。存储器控制电路单元404(或存储器管理电路502)可根据字元线的排列顺序依序将每一条字元线上的下实体页面与上实体页面分组至不同编码群组中。如图9所示,存储器控制电路单元404(或存储器管理电路502)将字元线wl0上的实体页面p0分组至编码群组gr0,并且将字元线wl0上的实体页面p1分组至编码群组gr1。依此类推,字元线wl1上的实体页面p2与实体页面p3分别被分组至编码群组gr0与编码群组gr1;字元线wl2上的实体页面p4与实体页面p5分别被分组至编码群组gr0与编码群组gr1;字元线wl3上的下实体页面p6与上实体页面p7分别被分组至编码群组gr0与编码群组gr1。

进一步地,存储器控制电路单元404(或错误检查与校正电路512)会产生对应编码群组gr0的群组同位码与对应编码群组gr1的群组同位码。例如,在存储器控制电路单元404(或错误检查与校正电路512)中会配置有对应各编码群组的编码引擎,对应编码群组gr0的编码引擎会根据被分组至编码群组gr0的实体页面p0、实体页面p2、实体页面p4、实体页面p6来产生对应编码群组gr0的群组同位码,并且对应编码群组gr1的编码引擎会根据被分组至编码群组gr1的实体页面p1、实体页面p3、实体页面p5、实体页面p7来产生对应编码群组gr1的群组同位码。此外,存储器控制电路 单元404(或存储器管理电路502)可将对应编码群组gr0的群组同位码与对应编码群组gr1的群组同位码存储至可复写式非挥发性存储器模块中相同或不同的实体页面中。此外,各实体页面的同位码可分别由所属的编码群组的编码引擎独立编码或等待至收集一预定容量的数据后再一同编码。

必须了解的是,在图9的范例实施例中,存储器控制电路单元404(或存储器管理电路502)中是配置有对应各编码群组的编码引擎,并且此些编码引擎是使用相同的编码演算法来进行编码。然而,本发明不限于此,在另一范例实施例中,对应各编码群组的编码引擎也可使用不相同的编码演算法来进行编码。此外,在另一范例实施例中,在存储器控制电路单元404(或错误检查与校正电路512)中也可仅配置一组编码引擎来对各编码群组进行编码。

值得一提的是,由于本范例实施例是将同一条字元线上的实体页面分组至不同的编码群组中,因此不同字元线上的实体页面可被分组至相同的编码群组中。换句话说,在本范例实施例中,同一条字元线上会包括两个实体页面,因此可规划两个不同的编码群组,即可将同一条字元线上的实体页面错开在不同的编码群组以分开编码。然而,本发明并不限于此,在其他范例实施例中,也可以将实体页面指派至更多的编码群组中。

在另一范例实施例中,存储器控制电路单元404(或存储器管理电路502)可将相邻的字元线上的实体页面指派至不同的编码群组中,使相邻的字元线上的实体页面可分开编码。

图10是根据一范例实施例所示出的将相邻字元线上的实体页面指派至多个编码群组的示意图。

图10的范例实施例中的实体页面的架构相同于图9的范例实施例。不同的是,在图10的范例实施例中,存储器控制电路单元404(或存储器管理电路502)会将相邻的字元线上的实体页面分组至不同的编码群组中。存储器控制电路单元404(或存储器管理电路502)可根据字元线的排列顺序依序将实体页面分组至不同编码群组中。请参照图10,根据字元线的排列顺序,字元线wl0相邻于字元线wl1;字元线wl1同时相邻于字元线wl0与字元线wl2;字元线wl2同时相邻于字元线wl1与字元线wl3。根据上述的相邻关系,存储器控制电路单元404(或存储器管理电路502)将字元线wl0 上的实体页面(亦即实体页面p0与实体页面p1)分组至编码群组gr0,将相邻于字元线wl1上的实体页面(亦即实体页面p2与实体页面p3)分组至编码群组gr1,将字元线wl2上的实体页面(亦即实体页面p4与实体页面p5)分组至编码群组gr0,以及将字元线wl3上的实体页面(亦即实体页面p6与实体页面p7)分组至编码群组gr1。

进一步地,存储器控制电路单元404(或错误检查与校正电路512)会产生对应编码群组gr0的群组同位码与对应编码群组gr1的群组同位码。例如,存储器控制电路单元404(或错误检查与校正电路512)中对应编码群组gr0的编码引擎会根据被分组至编码群组gr0的实体页面p0、实体页面p1、实体页面p4、实体页面p5来产生对应编码群组gr0的群组同位码,并且对应编码群组gr1的编码引擎会根据被分组至编码群组gr1的实体页面p2、实体页面p3、实体页面p6、实体页面p7来产生对应编码群组gr1的群组同位码。存储器控制电路单元404(或存储器管理电路502)会将对应编码群组gr0的群组同位码与对应编码群组gr1的群组同位码存储至可复写式非挥发性存储器模块中不同的实体页面中。

必须了解的是,在图10的范例实施例中,存储器控制电路单元404(或存储器管理电路502)中是配置有对应各编码群组的编码引擎,并且此些编码引擎是使用相同的编码演算法来进行编码。然而,本发明不限于此,在另一范例实施例中,对应各编码群组的编码引擎也可使用不相同的编码演算法来进行编码。此外,在另一范例实施例中,在存储器控制电路单元404(或错误检查与校正电路512)中也可仅配置一组编码引擎来对各编码群组进行编码。

值得一提的是,字元线wl2虽然相邻于字元线wl1,但并不相邻于字元线wl0,因此字元线wl2上的实体页面不一定要与字元线wl0上的实体页面分组至不同的编码群组。换句话说,字元线wl2上的实体页面与字元线wl0上的实体页面可分组至相同的编码群组。类似地,字元线wl3虽然相邻于字元线wl2,但并不相邻于字元线wl1,因此字元线wl3上的实体页面与字元线wl1上的实体页面也可分组至相同的编码群组。也就是说,在本范例实施例中,仅需规划两个不同的编码群组,即可将相邻的字元线上的实体页面错开在不同的编码群组以分开编码。然而,本发明并不限于此,在其 他范例实施例中,也可以将实体页面分组至更多的编码群组中。

在另一范例实施例中,存储器控制电路单元404(或存储器管理电路502)还可将同一条字元线上的实体页面与相邻的字元线上的实体页面皆指派至不同的编码群组中,使相邻的字元线上的所有实体页面皆分开编码。

图11是根据另一范例实施例所示出的将相邻字元线上的实体页面指派至多个编码群组的示意图。

图11的范例实施例中的实体页面的架构相同于图9与图10的范例实施例。不同的是,在图11的范例实施例中,存储器控制电路单元404(或存储器管理电路502)会将同一条字元线上的实体页面与相邻的字元线上的实体页面皆分组至不同的编码群组中。存储器控制电路单元404(或存储器管理电路502)可根据字元线的排列顺序依序将相邻的字元线上的下实体页面与上实体页面皆分组至不同编码群组中。请参照图11,存储器控制电路单元404(或存储器管理电路502)将字元线wl0(以下也称为第一字元线)上的实体页面p0(以下也称为第一实体页面)分组至编码群组gr0(以下也称为第一编码群组),将字元线wl1(以下也称为第二字元线)上的实体页面p2(以下也称为第二实体页面)分组至编码群组gr1(以下也称为第二编码群组),将第一字元线上的实体页面p1(以下也称为第三实体页面)分组至编码群组gr2(以下也称为第三编码群组),并且将第二字元线上的实体页面p3(以下也称为第四实体页面)分组至编码群组gr3(以下也称为第四编码群组)。依此类推,字元线wl2上的实体页面p4分组至第一编码群组(亦即编码群组gr0);字元线wl3上的实体页面p6分组至第二编码群组(亦即编码群组gr1);字元线wl2上的实体页面p5分组至第三编码群组(亦即编码群组gr2);字元线wl3上的上实体页面p7分组至第四编码群组(亦即编码群组gr3)。因此,相邻的两字元线上的四个实体页面皆被指派至不同的编码群组。

进一步地,存储器控制电路单元404(或错误检查与校正电路512)会产生分别对应第一编码群组的群组同位码(以下也称为第一群组同位码)、对应编码群组gr1的群组同位码(以下也称为第二群组同位码)、对应编码群组gr2的群组同位码(以下也称为第三群组同位码)、对应编码群组gr3的群组同位码(以下也称为第四群组同位码)。例如,存储器控制电路单元 404(或错误检查与校正电路512)中,对应第一编码群组的编码引擎会根据被分组至第一编码群组的实体页面p0、实体页面p4来产生第一群组同位码,对应第二编码群组的编码引擎会根据被分组至第二编码群组的实体页面p2、实体页面p6来产生第二群组同位码,对应第三编码群组的编码引擎会根据被分组至第三编码群组的实体页面p1、实体页面p5来产生第三群组同位码,以及对应第四编码群组的编码引擎会根据被分组至第四编码群组的实体页面p3、实体页面p7来产生第四群组同位码。另外,存储器控制电路单元404(或存储器管理电路502)会将第一群组同位码、第二群组同位码、第三群组同位码、第四群组同位码存储至可复写式非挥发性存储器模块中不同的实体页面中。

必须了解的是,在图11的范例实施例中,存储器控制电路单元404(或存储器管理电路502)中是配置有对应各编码群组的编码引擎,并且此些编码引擎是使用相同的编码演算法来进行编码。然而,本发明不限于此,在另一范例实施例中,对应各编码群组的编码引擎也可使用不相同的编码演算法来进行编码。此外,在另一范例实施例中,在存储器控制电路单元404(或错误检查与校正电路512)中也可仅配置一组编码引擎来对各编码群组进行编码。

值得一提的是,由于本范例实施例是将同一条字元线上的实体页面与相邻的字元线上的实体页面皆分组至不同的编码群组中,因此不相邻的字元线上的实体页面(例如字元线wl0上的实体页面p0与字元线wl2上的实体页面p4)可被指派至相同的编码群组中。换句话说,在本范例实施例中,同一条字元线上会包括两个实体页面,两相邻的字元线上会包括四个实体页面,因此可规划四个不同的编码群组以将相邻的字元线上的四个实体页面错开在不同的编码群组中以分开编码。然而,本发明并不限于此,在其他范例实施例中,也可以将实体页面指派至更多的编码群组中。

在包括多个平面的可复写式非挥发性存储器模块中,属于不同平面的多个实体页面可组成一个超实体页面。存储器控制电路单元404(或存储器管理电路502)可通过多平面(multi-plane)程序化操作将数据同时地写入超实体页面的多个实体页面中,借此提升数据存取的效率。因此,在另一范例实施例中,除了上述将相邻的字元线上所有实体页面皆指派至不同的编码群组 中之外,存储器控制电路单元404(或存储器管理电路502)更会将超实体页面的多个实体页面指派至不同的编码群组中。

图12是根据一范例实施例所示出的将超实体页面中对应不同平面的实体页面指派至多个编码群组的示意图。值得一提的是,图12的范例实施例是基于图11的范例实施例来进行说明。换句话说,在图12的范例实施例中,相邻的字元线上的所有实体页面皆会被指派至不同的编码群组。

请参照图12,可复写式非挥发性存储器模块具有四个平面,亦即平面pl0、平面pl1、平面pl2、平面pl3。并且每一个平面中的实体页面p0~p7的架构与图11的范例实施例中的实体页面p0~p7的架构相同。也就是说,每一个平面中的实体页面p0、p2、p4、p6为下实体页面,实体页面p1、p3、p5、p7为上实体页面。为方便说明,在本范例实施例中是将每一个平面中的实体页面p0~p7依序排列如图12所示。图11中的第一实体页面、第二实体页面、第三实体页面、第四实体页面即分别为图12中的平面pl0的实体页面p0、平面pl0的实体页面p2、平面pl0的实体页面p1、平面pl0的实体页面p3。在本范例实施例中,不同平面中排列顺序相同的四个实体页面会被分组为一个超实体页面。例如,第一实体页面、平面pl1的实体页面p0(以下也称为第五实体页面)、平面pl2的实体页面p0(以下也称为第六实体页面)与平面pl3的实体页面p0(以下也称为第七实体页面)被分组为超实体页面sp0(以下也称为第一超实体页面)。另外,第三实体页面、平面pl1的实体页面p1、平面pl2的实体页面p1与平面pl3的实体页面p1被分组为超实体页面sp1。依此类推,平面pl0~pl3的所有实体页面可被分组为超实体页面sp0~sp7。

请参照图12,与图11的范例实施例相同,存储器控制电路单元404(或存储器管理电路502)会将同一个平面中相邻的字元线上的所有实体页面皆分组至不同的编码群组,例如将第一实体页面分组为第一编码群组(亦即编码群组gr0),将第二实体页面分组为第二编码群组(亦即编码群组gr1),将第三实体页面分组为第三编码群组(亦即编码群组gr2),以及将第四实体页面分组为第四编码群组(亦即编码群组gr3)。而在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)还会将同一个超实体页面中属于不同平面而可同时地被程序化的实体页面分组至不同的编码群组中。 存储器控制电路单元404(或存储器管理电路502)可根据字元线的排列顺序先将相邻的字元线上的实体页面皆分组至不同的编码群组,再将超实体页面中属于不同平面的实体页面分组至不同的编码群组。如图12所示,例如第一实体页面、第五实体页面、第六实体页面以及第七实体页面被分组为第一超实体页面,因此存储器控制电路单元404(或存储器管理电路502)会将第五实体页面、第六实体页面、第七实体页面分别分组至不同于第一编码群组(亦即编码群组gr0)的第二编码群组(亦即编码群组gr1)、第三编码群组(亦即编码群组gr2)以及第四编码群组(亦即编码群组gr3)。另外,第三实体页面与平面pl1中的实体页面p1、平面pl2中的实体页面p1以及平面pl3中的实体页面p1被分组为超实体页面sp1,因此存储器控制电路单元404(或存储器管理电路502)也会将平面pl1中的实体页面p1、平面pl2中的实体页面p1以及平面pl3中的实体页面p1分别分组至不同于第三编码群组(亦即编码群组gr2)的第四编码群组(亦即编码群组gr3)、第一编码群组(亦即编码群组gr0)、第二编码群组(亦即编码群组gr1)。依此类推,如图12所示,每一个超实体页面中属于不同平面的实体页面便可被分组至不同的编码群组中。

进一步地,存储器控制电路单元404(或错误检查与校正电路512)会产生分别对应第一编码群组的第一群组同位码、对应第二编码群组的第二群组同位码、对应第三编码群组的第三群组同位码、对应第四编码群组的第四群组同位码。例如,根据图12,在存储器控制电路单元404(或错误检查与校正电路512)中,对应第一编码群组的编码引擎会根据被标示为编码群组gr0的实体页面来产生第一群组同位码,对应第二编码群组的编码引擎会根据被标示为编码群组gr1的实体页面来产生第二群组同位码,对应第三编码群组的编码引擎会根据被标示为编码群组gr2的实体页面来产生第三群组同位码,以及对应第四编码群组的编码引擎会根据被标示为编码群组gr3的实体页面来产生第四群组同位码。另外,存储器控制电路单元404(或存储器管理电路502)会将第一群组同位码、第二群组同位码、第三群组同位码、第四群组同位码存储至可复写式非挥发性存储器模块中不同的实体页面中。

必须了解的是,在图12的范例实施例中,存储器控制电路单元404(或存储器管理电路502)中是配置有对应各编码群组的编码引擎,并且此些编 码引擎是使用相同的编码演算法来进行编码。然而,本发明不限于此,在另一范例实施例中,对应各编码群组的编码引擎也可使用不相同的编码演算法来进行编码。此外,在另一范例实施例中,在存储器控制电路单元404(或错误检查与校正电路512)中也可仅配置一组编码引擎来对各编码群组进行编码。

在支援多通道(multi-channel)存取的存储器存储装置的系统中,可复写式非挥发性存储器模块的每一个平面会对应多个通道的其中之一。

图13是根据一范例实施例所示出的将超实体页面中对应不同通道的实体页面指派至多个编码群组的示意图。值得一提的是,图13的范例实施例是基于图12的范例实施例来进行说明。换句话说,在图13的范例实施例中,相邻的字元线上的所有实体页面、超实体页面中属于不同平面而可同时被程序化的实体页面皆会被指派至不同的编码群组。

请参照图13,可复写式非挥发性存储器模块具有两个通道,亦即通道ch0(以下也称为第一通道)与通道ch1(以下也称为第二通道)。每一个通道各对应四个平面,亦即平面pl0、平面pl1、平面pl2与平面pl3。每一个平面中的实体页面p0~p7的架构与图11的范例实施例中的实体页面p0~p7的架构相同。为方便说明,类似于图12的范例实施例,在本范例实施例中是将每一个平面中的实体页面p0~p7依序排列如图13所示。图12中的第一实体页面、第二实体页面、第三实体页面、第四实体页面、即分别为图13中的通道ch0的平面pl0的实体页面p0、通道ch0的平面pl0的实体页面p2、通道ch0的平面pl0的实体页面p1、通道ch0的平面pl0的实体页面p3;第五实体页面、第六实体页面、第七实体页面极分别为图13中的通道ch0的平面pl1的实体页面p0、通道ch0的平面pl2的实体页面p0、通道ch0的平面pl3的实体页面p0。另外,图12中的第一超实体页面即为图13中的超实体页面sp0。在本范例实施例中,对应不同通道的不同平面中排列顺序相同的八个实体页面会被分组为一个超实体页面。例如,第一实体页面、第五实体页面、第六实体页面、第七实体页面、通道ch1的平面pl0的实体页面p0(以下也称为第八实体页面)、通道ch1的平面pl1的实体页面p0、通道ch1的平面pl2的实体页面p0、通道ch1的平面pl3的实体页面p0被分组为第一超实体页面。第三实体页面、通道ch0的平面pl1的实体页面 p1、通道ch0的平面pl2的实体页面p1、通道ch0的平面pl3的实体页面p1、通道ch1的平面pl0的实体页面p1、通道ch1的平面pl1的实体页面p1、通道ch1的平面pl2的实体页面p1、通道ch1的平面pl3的实体页面p1被分组为超实体页面sp1。依此类推,通道ch0的平面pl0~pl3与通道ch0的平面pl0~pl3的所有实体页面可被分组为超实体页面sp0~sp7。

请参照图13,存储器控制电路单元404(或存储器管理电路502)会将同一个超实体页面中对应至同一个通道的实体页面分组至不同的编码群组,例如将对应至通道ch0的平面pl0~pl3的所有实体页面分组至不同的编码群组,此部份相同于图12的范例实施例,在此便不赘述。而在本范例实施例中,存储器控制电路单元404(或存储器管理电路502)还会根据实体页面所对应的通道来将超实体页面中的实体页面分组至多个编码群组中。例如,第一超实体页面(亦即超实体页面sp0)中包括对应至第一通道(亦即通道ch0)的第一实体页面(亦即通道ch0的平面pl0的实体页面p0),并且存储器控制电路单元404(或存储器管理电路502)将第一实体页面分组至第一编码群组(亦即编码群组gr0)。另外,第一超实体页面中也包括对应至第二通道(亦即通道ch1)的第八实体页面(亦即通道ch1的平面pl0的实体页面p0)。因此,存储器控制电路单元404(或存储器管理电路502)会将第八实体页面分组至不同于第一编码群组的第二编码群组(亦即编码群组gr1)中。并且,存储器控制电路单元404(或存储器管理电路502)也会将第一超实体页面中对应至第二通道(亦即通道ch1)的平面pl0~pl3的实体页面分组至不同的编码群组,例如将第二通道的平面pl1的实体页面p0分组至第三编码群组(亦即编码群组gr2)、将第二通道的平面pl2的实体页面p0分组至第四编码群组(亦即编码群组gr3)以及将第二通道的平面pl3的实体页面p0分组至第一编码群组(亦即编码群组gr0)。

进一步地,存储器控制电路单元404(或错误检查与校正电路512)会产生分别对应第一编码群组的第一群组同位码、对应第二编码群组的第二群组同位码、对应第三编码群组的第三群组同位码、对应第四编码群组的第四群组同位码。例如,根据图13,在存储器控制电路单元404(或错误检查与校正电路512)中,对应第一编码群组的编码引擎会根据被标示为编码群组gr0的实体页面来产生第一群组同位码,对应第二编码群组的编码引擎会根据被 标示为编码群组gr1的实体页面来产生第二群组同位码,对应第三编码群组的编码引擎会根据被标示为编码群组gr2的实体页面来产生第三群组同位码,以及对应第四编码群组的编码引擎会根据被标示为编码群组gr3的实体页面来产生第四群组同位码。另外,存储器控制电路单元404(或存储器管理电路502)会将第一群组同位码、第二群组同位码、第三群组同位码、第四群组同位码存储至可复写式非挥发性存储器模块中不同的实体页面中。

此外,在本范例实施例中,存储器控制电路单元404的错误检查与校正电路512还可以包括多个编码电路。因此,在上述支援多通道存取的系统中,存储器控制电路单元404(或存储器管理电路502)即可通过不同通道同时使用多个编码电路对不同编码群组的实体页面执行编码操作。

尔后,当读取某实体页面的数据时,存储器控制电路单元404(或错误检查与校正电路512)可先使用从此实体页面的冗余比特区所读取的同位码来校正从此实体页面的数据比特区所读取的使用者数据。倘若无法校正此使用者数据时,存储器控制电路单元404(或错误检查与校正电路512)可再使用此实体页面所属的编码群组所对应的群组同位码来校正此使用者数据。例如,在图13的范例实施例中,存储器控制电路单元404(或存储器管理电路502)将第一实体页面(亦即通道ch0的平面pl0的实体页面p0)分组为第一编码群组(亦即编码群组gr0)。当读取某实体页面的数据时,存储器控制电路单元404(或错误检查与校正电路512)可先使用从第一实体页面中所读取的同位码来校正从第一实体页面中所读取的使用者数据。倘若无法校正此使用者数据,存储器控制电路单元404(或错误检查与校正电路512)可再读取存储在其它实体页面中的对应第一编码群组的群组同位码以使用此群组同位码来校正此使用者数据。

图14是根据一范例实施例所示出的数据保护方法的流程图。

请参照图14,在步骤s1401中,存储器控制电路单元404(或存储器管理电路502)将多个实体页面指派至多个编码群组,以将第一实体页面分组至第一编码群组,并将第二实体页面分组至第二编码群组,其中第一实体页面是由连接至第一字元线的存储单元所形成,第二实体页面是由连接至相邻于第一字元线的第二字元线的存储单元所形成。上述的此些实体页面中存储有使用者数据与对应使用者数据的同位码。值得一提的是,在本步骤中,存 储器控制电路单元404(或存储器管理电路502)更可依据其他的分组方式来将不同的实体页面分组为不同的编码群组。本步骤中相关的分组方式已在图9~图13的范例实施例中详细说明,在此便不赘述。

在步骤s1403中,存储器控制电路单元404(或存储器管理电路502)分别地编码此些编码群组的实体页面的使用者数据以产生分别地对应此些编码群组的多个群组同位码。

在步骤s1405中,存储器控制电路单元404(或存储器管理电路502)将此些群组同位码分别地程序化至不同的实体页面中,以将对应第一编码群组的第一群组同位码程序化至至少一实体页面中,并将对应第二编码群组的第二群组同位码程序化至至少另一实体页面中。

在步骤s1407中,倘若存储在第一实体页面的使用者数据无法通过使用存储在第一实体页面的同位码来正确校正时,存储器控制电路单元404(或存储器管理电路502)使用所存储的第一群组同位码来校正存储在第一实体页面的使用者数据;并且倘若存储在第二实体页面的使用者数据无法通过使用存储在第二实体页面的同位码来正确校正时,存储器控制电路单元404(或存储器管理电路502)使用所存储的第二群组同位码来校正存储在第二实体页面的使用者数据。

图15是根据另一范例实施例所示出的数据保护方法的流程图。

请参照图15,在步骤s1501中,存储器控制电路单元404(或存储器管理电路502)将多个实体页面指派至多个编码群组,以将第一实体页面分组至第一编码群组,并将另一实体页面分组至第二编码群组,其中第一实体页面与另一实体页面是由连接至同一条字元线的存储单元所形成。上述的此些实体页面中存储有使用者数据与对应使用者数据的同位码。值得一提的是,在本步骤中,存储器控制电路单元404(或存储器管理电路502)更可依据其他的分组方式来将不同的实体页面分组为不同的编码群组。本步骤中相关的分组方式已在图9~图13的范例实施例中详细说明,在此便不赘述。

在步骤s1503中,存储器控制电路单元404(或存储器管理电路502)分别地编码此些编码群组的实体页面的使用者数据以产生分别地对应此些编码群组的多个群组同位码。

在步骤s1505中,存储器控制电路单元404(或存储器管理电路502)将 此些群组同位码分别地程序化至不同的实体页面中,以将对应第一编码群组的第一群组同位码程序化至至少一实体页面中,并将对应第二编码群组的第二群组同位码程序化至至少另一实体页面中。

在步骤s1507中,倘若存储在第一实体页面的使用者数据无法通过使用存储在第一实体页面的同位码来正确校正时,存储器控制电路单元404(或存储器管理电路502)使用所存储的第一群组同位码来校正存储在第一实体页面的使用者数据;并且倘若存储在上述另一实体页面的使用者数据无法通过使用存储在此实体页面的同位码来正确校正时,存储器控制电路单元404(或存储器管理电路502)使用所存储的第二群组同位码来校正存储在此实体页面的使用者数据。

图16是根据另一范例实施例所示出的数据保护方法的流程图。

请参照图16,在步骤s1601中,存储器控制电路单元404(或存储器管理电路502)将多个实体页面指派至多个编码群组,以将第一实体页面分组至第一编码群组,并将第二实体页面分组至第二编码群组,其中第一实体页面是由连接至第一字元线的存储单元所形成,第二实体页面是由连接至相邻于第一字元线的第二字元线的存储单元所形成。值得一提的是,在本步骤中,存储器控制电路单元404(或存储器管理电路502)更可依据其他的分组方式来将不同的实体页面分组为不同的编码群组。本步骤中相关的分组方式已在图9~图13的范例实施例中详细说明,在此便不赘述。

在步骤s1603中,存储器控制电路单元404(或存储器管理电路502)分别地编码存储在此些编码群组的实体页面的特定数据以产生分别地对应此些编码群组的多个群组同位码。在本范例实施例中,此特定数据例如是存储在实体页面中的使用者数据及或/同位码。

在步骤s1605中,存储器控制电路单元404(或存储器管理电路502)将此些群组同位码分别地程序化至其他实体页面中,以将对应第一编码群组的第一群组同位码程序化至至少一实体页面中,并将对应第二编码群组的第二群组同位码程序化至至少另一实体页面中。

在步骤s1607中,存储器控制电路单元404(或存储器管理电路502)使用所存储的第一群组同位码来校正存储在第一实体页面的特定数据;并且使用所存储的第二群组同位码来校正存储在第二实体页面的特定数据。

综上所述,本发明可根据实体页面所属的字元线、平面与通道将实体页面指派至不同的编码群组,进而根据分组至同一个编码群组中的实体页面所存储的使用者数据来执行编码操作以产生对应于编码群组的额外的群组同位码。借此可将在程序化过程中可能互相影响的实体页面分开执行编码操作。如此一来,实体页面所存有的使用者数据除了可通过存储在每个实体页面中的同位码进行错误检查与校正操作,还可通过额外的群组同位码进行错误检查与校正操作,由此可提升对于实体页面中所存储的数据的保护能力。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1