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

包含转换模块的存储器以及阵列单元模块的制作方法

2021-02-26 16:56:00 来源:中国专利 TAG:存储器 模块 阵列 电路 单元


[0001]
本发明涉及存储器领域。具体地,本发明涉及包含转换模块的存储器以及阵列单元模块,其中所述存储器以及阵列单元模块能够复用外围电路,从而减小外围电路面积。


背景技术:

[0002]
ecc是一种对数据进行检错和纠错的方法。它利用在一定长度数据位的基础上增加额外的数据来实现检错和纠错功能,这些额外的数据称为校验位。校验位的长度根据选定的ecc算法来确定。
[0003]
在选定ecc算法之后,一定长度的数据位都存在与其对应的校验位,而这些校验位也需要阵列来存储。因此,需要与这些校验位对应的外围电路:行译码模块、列译码模块、灵敏放大器以及写驱动模块。
[0004]
图1示出了常见的不包含纠错码(error correction code,ecc)功能的存储器的核心结构。所述结构由一些重复的部分构成,每一部分都包含存储阵列模块、行译码模块、列译码模块、灵敏放大器以及写驱动模块。
[0005]
存储阵列模块用来存储数据,行译码模块和列译码模块通过地址确定数据存储的位置,写驱动模块在写操作的过程中把数据写入存储阵列模块,灵敏放大器在读操作的过程中放大从存储阵列模块中读出来的数据。
[0006]
图2示出了一种已知的包含ecc功能的存储器的核心结构。在这种情况下,尽管对行译码模块进行了复用(也就是,ecc阵列模块和数据阵列模块共用行译码模块),但是还分别需要用于数据阵列的列译码模块、用于数据阵列的灵敏放大器以及写驱动模块、用于ecc阵列的列译码模块、用于ecc阵列的灵敏放大器以及写驱动模块等其他的外围电路,这会使得存储器的面积大幅增加。
[0007]
因此,亟需解决现有技术中的上述技术问题。


技术实现要素:

[0008]
本发明涉及包含转换模块的存储器以及阵列单元模块,其中所述存储器以及阵列单元模块能够复用外围电路,从而减小外围电路面积。本发明的发明人意识到:存储器的核心结构是由一些重复的部分组成,这些重复的部分不会在同一时间都激活。针对未被激活的部分,其存储阵列的外围电路也不会被激活,而被激活的部分的ecc阵列或数据阵列,可以使用那些未被激活的数据阵列或ecc阵列的外围电路。这样就不需要额外的用于ecc阵列或数据阵列的外围电路,从而达到减小面积的目的。在此基础上,发明人提出了在这些存储器以及阵列单元模块中设置转换模块,所述转换模块能够在只改变很少的基础上很容易地在支持ecc功能和不支持ecc功能之间进行转换。
[0009]
根据本发明的第一方面,提供了一种存储器,所述存储器至少包括:
[0010]
n个数据阵列模块;
[0011]
l个纠错码ecc阵列模块,其中第k个ecc阵列模块用于存储ecc码或者用于存储附
加数据,所述ecc码是针对所述第k个ecc阵列模块所对应的数据阵列模块中存储的数据进行ecc编码所获得的校验码,所述附加数据是在所述第k个ecc阵列模块所对应的数据阵列模块中所存储的数据的附加数据或者是在不同于所述第k个ecc阵列模块所对应的数据阵列模块的数据阵列模块中所存储的数据的附加数据;
[0012]
转换模块,所述转换模块分别与所述数据阵列模块和所述ecc阵列模块连接,所述转换模块根据控制指令使得所述第k个阵列模块选择性地存储所述ecc码或者所述附加数据;
[0013]
其中,n为大于等于2的正整数,l为小于等于n的正整数,k为小于等于l的正整数。
[0014]
根据本发明的存储器的一个优选实施方案,所述转换模块根据第一控制指令使得所述第k个ecc阵列模块存储所述附加数据。
[0015]
根据本发明的存储器的一个优选实施方案,所述第一控制指令指示所述存储器不支持ecc功能。
[0016]
根据本发明的存储器的一个优选实施方案,所述转换模块根据第二控制指令使得所述第k个ecc阵列模块存储所述ecc码。
[0017]
根据本发明的存储器的一个优选实施方案,所述第二控制指令指示所述存储器支持ecc功能。
[0018]
根据本发明的存储器的一个优选实施方案,第m个数据阵列模块及对应的ecc阵列模块被同时激活,其中所述对应的ecc阵列模块用于存储ecc码,所述ecc码是针对所述第m个数据阵列模块中存储的数据进行ecc编码所获得的校验码;
[0019]
被激活的第m个数据阵列模块所对应的ecc阵列模块使用用于未被激活的一个或多个数据阵列模块的外围电路,或者被激活的第m个数据阵列模块使用用于未被激活的一个或多个ecc阵列模块的外围电路;
[0020]
其中,m为小于等于n的正整数。
[0021]
根据本发明的存储器的一个优选实施方案,所述被激活的第m个数据阵列模块所对应的ecc阵列模块与所述未被激活的一个或多个数据阵列模块在不同时间被激活时使用同一外围电路;或者
[0022]
所述被激活的第m个数据阵列模块与所述未被激活的一个或多个ecc阵列模块在不同时间被激活时使用同一外围电路;
[0023]
其中所述外围电路包括以下任意一项或其组合:行译码模块、列译码模块、灵敏放大器、写驱动模块。
[0024]
根据本发明的存储器的一个优选实施方案,每一数据阵列模块包括多个数据阵列子模块;
[0025]
一个数据阵列模块的多个数据阵列子模块所对应的ecc阵列模块与另一个或另一些数据阵列模块的多个数据阵列子模块在不同时间被激活时使用同一外围电路;或者
[0026]
一个数据阵列模块的多个数据阵列子模块与另一个或另一些数据阵列模块的多个数据阵列子模块所对应的一个或多个ecc阵列模块在不同时间被激活时使用同一外围电路;
[0027]
其中,所述外围电路包括以下任意一项或其组合:行译码模块、列译码模块、灵敏放大器、写驱动模块。
[0028]
根据本发明的存储器的一个优选实施方案,所述n个数据阵列模块至少包括:第一数据阵列模块和第二数据阵列模块;
[0029]
所述l个ecc阵列模块至少包括:第一ecc阵列模块和第二ecc阵列模块;其中第一ecc阵列模块用于存储第一ecc码或者用于存储第一附加数据,所述第一ecc码是针对所述第一数据阵列模块中存储的数据进行ecc编码所获得的校验码,所述第一附加数据是所述第二数据阵列模块中存储的数据的附加数据或者所述第一数据阵列模块中存储的数据的附加数据;其中所述第二ecc阵列模块用于存储第二ecc码或者用于存储第二附加数据,所述第二ecc码是针对所述第二数据阵列模块中存储的数据进行ecc编码所获得的校验码,所述第二附加数据是所述第一数据阵列模块中存储的数据的附加数据或者所述第二数据阵列模块中存储的数据的附加数据;
[0030]
所述转换模块根据第一控制指令使得所述第一ecc阵列模块和所述第二ecc阵列模块分别存储所述第一附加数据和所述第二附加数据,且所述转换模块根据第二控制指令使得所述第一ecc阵列模块和所述第二ecc阵列模块分别存储所述第一ecc码和所述第二ecc码。
[0031]
根据本发明的存储器的一个优选实施方案,所述转换模块根据第二控制指令使得所述第一ecc阵列模块和所述第二ecc阵列模块分别存储所述第一ecc码和所述第二ecc码;
[0032]
所述第一数据阵列模块和所述第二数据阵列模块在不同时间被激活,其中所述第一数据阵列模块及对应的第一ecc阵列模块被同时激活,所述第二数据阵列模块及对应的第二ecc阵列模块被同时激活;
[0033]
被激活的数据阵列模块所对应的ecc阵列模块使用用于未被激活的数据阵列模块的外围电路,或者被激活的数据阵列模块使用用于未被激活的ecc阵列模块的外围电路;
[0034]
其中,所述外围电路包括以下任意一项或其组合:行译码模块、列译码模块、灵敏放大器、写驱动模块。
[0035]
根据本发明的存储器的一个优选实施方案,所述第一数据阵列模块和所述第二ecc阵列模块在不同时间被激活时使用第一列译码模块,或者使用第一行译码模块,或者使用第一列译码模块和第一行译码模块二者;
[0036]
所述第二数据阵列模块和所述第一ecc阵列模块在不同时间被激活时使用第二列译码模块,或者使用第二行译码模块,或者使用第二列译码模块和第二行译码模块二者。
[0037]
根据本发明的存储器的一个优选实施方案,所述转换模块根据第一控制子指令使得所述第一ecc阵列模块和所述第二ecc阵列模块分别存储所述第一附加数据和所述第二附加数据,其中所述第一附加数据是所述第二数据阵列模块中存储的数据的附加数据,所述第二附加数据是所述第一数据阵列模块中存储的数据的附加数据;
[0038]
所述第一数据阵列模块和所述第二数据阵列模块在不同时间被激活,所述第一数据阵列模块和所述第二ecc阵列模块在不同时间被激活,所述第二数据阵列模块和所述第一ecc阵列模块在不同时间被激活;
[0039]
被激活的数据阵列模块使用用于被激活的数据阵列模块的外围电路,被激活的ecc阵列模块使用用于被激活的ecc阵列模块的外围电路;
[0040]
其中,所述外围电路包括以下任意一项或其组合:行译码模块、列译码模块、灵敏放大器、写驱动模块。
[0041]
根据本发明的存储器的一个优选实施方案,所述第一数据阵列模块或者所述第二ecc阵列模块被激活时使用第一列译码模块,或者使用第一行译码模块,或者使用第一列译码模块和第一行译码模块二者;
[0042]
所述第二数据阵列模块或者所述第一ecc阵列模块被激活时使用第二列译码模块,或者使用第二行译码模块,或者使用第二列译码模块和第二行译码模块二者。
[0043]
根据本发明的存储器的一个优选实施方案,所述转换模块根据第二控制子指令使得所述第一ecc阵列模块和所述第二ecc阵列模块分别存储所述第一附加数据和所述第二附加数据,其中所述第一附加数据是所述第一数据阵列模块中存储的数据的附加数据,所述第二附加数据是所述第二数据阵列模块中存储的数据的附加数据;
[0044]
所述第一数据阵列模块和所述第二数据阵列模块在不同时间被激活,其中所述第一数据阵列模块及所述第一ecc阵列模块被同时激活,所述第二数据阵列模块及所述第二ecc阵列模块被同时激活;
[0045]
被激活的数据阵列模块及被激活的ecc阵列模块使用用于未被激活的数据阵列模块的外围电路,或者使用用于未被激活的ecc阵列模块的外围电路;
[0046]
其中,所述外围电路包括以下任意一项或其组合:行译码模块、列译码模块、灵敏放大器、写驱动模块。
[0047]
根据本发明的存储器的一个优选实施方案,所述第一数据阵列模块和所述第二ecc阵列模块在不同时间被激活时使用第一列译码模块,或者使用第一行译码模块,或者使用第一列译码模块和第一行译码模块二者;
[0048]
所述第二数据阵列模块和所述第一ecc阵列模块在不同时间被激活时使用第二列译码模块,或者使用第二行译码模块,或者使用第二列译码模块和第二行译码模块二者。
[0049]
根据本发明的存储器的一个优选实施方案,所述第一数据阵列模块设置在所述第二ecc阵列模块和所述第一列译码模块之间。
[0050]
根据本发明的存储器的一个优选实施方案,所述第二数据阵列模块设置在所述第一ecc阵列模块和所述第二列译码模块之间。
[0051]
根据本发明的存储器的一个优选实施方案,所述第二ecc阵列模块设置在所述第一数据阵列模块和所述第一列译码模块之间。
[0052]
根据本发明的存储器的一个优选实施方案,所述第一ecc阵列模块设置在所述第二数据阵列模块和所述第二列译码模块之间。
[0053]
根据本发明的存储器的一个优选实施方案,所述第一数据阵列模块、所述第二数据阵列模块、所述第一ecc阵列模块和所述第二ecc阵列模块设置在所述第一行译码模块和所述第二行译码块之间。
[0054]
根据本发明的存储器的一个优选实施方案,所述第一数据阵列模块至少包括第一数据阵列子模块和第二数据阵列子模块,所述第二数据阵列模块至少包括第三数据阵列子模块和第四数据阵列子模块;
[0055]
所述第二ecc阵列模块设置在所述第一数据阵列子模块和所述第二数据阵列子模块之间,所述第二数据阵列子模块设置在所述第二ecc阵列模块和所述第一列译码模块之间;
[0056]
所述第一ecc阵列模块设置在所述第三数据阵列子模块和所述第四数据阵列子模
块之间,所述第四数据阵列子模块设置在所述第一ecc阵列模块和所述第二列译码模块之间;
[0057]
所述第一数据阵列子模块、所述第二数据阵列子模块、所述第三数据阵列子模块、所述第四数据阵列子模块、所述第一ecc阵列模块和所述第二ecc阵列模块设置在所述第一行译码模块和所述第二行译码模块之间。
[0058]
根据本发明的第二方面,提供了一种阵列单元模块,所述阵列单元模块至少包括:
[0059]
n个数据阵列单元;
[0060]
l个纠错码ecc阵列单元,其中第k个ecc阵列单元用于存储ecc码或者用于存储附加数据,所述ecc码是针对所述第k个ecc阵列单元所对应的数据阵列单元中存储的数据进行ecc编码所获得的校验码,所述附加数据是在所述第k个ecc阵列单元所对应的数据阵列单元中所存储的数据的附加数据或者在不同于所述第k个ecc阵列单元所对应的数据阵列单元的数据阵列单元中所存储的数据的附加数据;
[0061]
转换单元,所述转换单元分别与所述数据阵列单元以及所述ecc阵列单元连接,所述转换单元根据控制指令使得所述第k个阵列单元选择性地存储所述ecc码或者所述附加数据;
[0062]
其中,每个数据阵列单元及对应的ecc阵列单元的总大小是根据所采用的ecc算法来确定的,且所述总大小等于所述ecc算法所需的数据位长度及所产生的校验位长度之和的p倍;
[0063]
其中,n为大于等于2的正整数,l为小于等于n的正整数,p为大于等于1的正整数。
[0064]
根据本发明的阵列单元模块的一个优选实施方案,所述转换单元根据第一控制指令使得所述第k个ecc阵列单元存储所述附加数据。
[0065]
根据本发明的阵列单元模块的一个优选实施方案,所述第一控制指令指示所述阵列单元模块不支持ecc功能。
[0066]
根据本发明的阵列单元模块的一个优选实施方案,所述转换单元根据第二控制指令使得所述第k个ecc阵列模块存储所述ecc码。
[0067]
根据本发明的阵列单元模块的一个优选实施方案,所述第二控制指令指示所述阵列单元模块支持ecc功能。
[0068]
根据本发明的阵列单元模块的一个优选实施方案,所述n个数据阵列单元至少包括:第一数据阵列单元和第二数据阵列单元;
[0069]
所述l个ecc阵列单元至少包括:第一ecc阵列单元和第二ecc阵列单元;其中第一ecc阵列单元用于存储第一ecc码或者用于存储第一附加数据,所述第一ecc码是针对所述第一数据阵列单元中存储的数据进行ecc编码所获得的校验码,所述第一附加数据是所述第二数据阵列单元中存储的数据的附加数据或者所述第一数据阵列单元中存储的数据的附加数据;其中所述第二ecc阵列单元用于存储第二ecc码或者用于存储第二附加数据,所述第二ecc码是针对所述第二数据阵列单元中存储的数据进行ecc编码所获得的校验码,所述第二附加数据是所述第一数据阵列单元中存储的数据的附加数据或者所述第二数据阵列单元中存储的数据的附加数据;
[0070]
所述转换单元根据第一控制指令使得所述第一ecc阵列单元和所述第二ecc阵列单元分别存储所述第一附加数据和所述第二附加数据,且所述转换单元根据第二控制指令
使得所述第一ecc阵列单元和所述第二ecc阵列单元分别存储所述第一ecc码和所述第二ecc码。
[0071]
根据本发明的阵列单元模块的一个优选实施方案,所述转换单元根据第二控制指令使得所述第一ecc阵列单元和所述第二ecc阵列单元分别存储所述第一ecc码和所述第二ecc码;
[0072]
所述第一数据阵列单元和所述第二数据阵列单元在不同时间被激活,其中所述第一数据阵列单元及对应的第一ecc阵列单元被同时激活,所述第二数据阵列单元及对应的第二ecc阵列单元被同时激活;
[0073]
被激活的数据阵列单元所对应的ecc阵列单元使用用于未被激活的数据阵列单元的行译码单元,或者被激活的数据阵列单元使用用于未被激活的ecc阵列单元的行译码单元。
[0074]
根据本发明的阵列单元模块的一个优选实施方案,所述第一数据阵列单元和所述第二ecc阵列单元在不同时间被激活时使用第一行译码单元;
[0075]
所述第二数据阵列单元和所述第一ecc阵列单元在不同时间被激活时使用第二行译码单元。
[0076]
根据本发明的阵列单元模块的一个优选实施方案,所述转换单元根据第一控制子指令使得所述第一ecc阵列单元和所述第二ecc阵列单元分别存储所述第一附加数据和所述第二附加数据,其中所述第一附加数据是所述第二数据阵列单元中存储的数据的附加数据,所述第二附加数据是所述第一数据阵列单元中存储的数据的附加数据;
[0077]
所述第一数据阵列单元和所述第二数据阵列单元在不同时间被激活,所述第一数据阵列单元和所述第二ecc阵列单元在不同时间被激活,所述第二数据阵列单元和所述第一ecc阵列单元在不同时间被激活;
[0078]
被激活的数据阵列单元使用用于被激活的数据阵列模块的行译码单元,被激活的ecc阵列单元使用用于被激活的ecc阵列单元的行译码单元。
[0079]
根据本发明的阵列单元模块的一个优选实施方案,所述第一数据阵列单元或者所述第二ecc阵列单元被激活时使用第一行译码单元;
[0080]
所述第二数据阵列单元或者所述第一ecc阵列单元被激活时使用第二行译码单元。
[0081]
根据本发明的阵列单元模块的一个优选实施方案,所述转换模块根据第二控制子指令使得所述第一ecc阵列单元和所述第二ecc阵列单元分别存储所述第一附加数据和所述第二附加数据,其中所述第一附加数据是所述第一数据阵列单元中存储的数据的附加数据,所述第二附加数据是所述第二数据阵列单元中存储的数据的附加数据;
[0082]
所述第一数据阵列单元和所述第二数据阵列单元在不同时间被激活,其中所述第一数据阵列单元及所述第一ecc阵列单元被同时激活,所述第二数据阵列单元及所述第二ecc阵列单元被同时激活;
[0083]
被激活的数据阵列单元及被激活的ecc阵列单元使用用于未被激活的数据阵列模块的行译码单元,或者使用用于未被激活的ecc阵列单元的行译码单元。
[0084]
根据本发明的阵列单元模块的一个优选实施方案,所述第一数据阵列单元和所述第二ecc阵列单元在不同时间被激活时使用第一行译码单元;
[0085]
所述第二数据阵列单元和所述第一ecc阵列单元在不同时间被激活时使用第二行译码单元。
[0086]
根据本发明的阵列单元模块的一个优选实施方案,所述第一行译码单元设置在所述第一数据阵列单元和所述第二数据阵列单元之间;
[0087]
所述第二行译码单元设置在所述第一ecc阵列单元和所述第二ecc阵列单元之间。
[0088]
根据本发明的阵列单元模块的一个优选实施方案,所述第一行译码单元设置在所述第一数据阵列单元和所述第一ecc阵列单元之间;
[0089]
所述第二行译码单元设置在所述第二数据阵列单元和所述第二ecc阵列单元之间。
[0090]
根据本发明的阵列单元模块的一个优选实施方案,所述第一行译码单元设置在所述第一ecc阵列单元和所述第二ecc阵列单元之间;
[0091]
所述第二行译码单元设置在所述第一数据阵列单元和所述第二数据阵列单元之间。
[0092]
根据本发明的阵列单元模块的一个优选实施方案,所述第一行译码单元设置在所述第二数据阵列单元和所述第二ecc阵列单元之间;
[0093]
所述第二行译码单元设置在所述第一数据阵列单元和所述第一ecc阵列单元之间。
[0094]
根据本发明的第三方面,提供了一种存储器,所述存储器包括多个根据本发明的第二方面所述的阵列单元模块,多个阵列单元模块在列方向上依次堆叠。
[0095]
根据本发明的第四方面,提供了一种用于存储器的存储方法,所述存储器至少包括:n个数据阵列模块;l个纠错码ecc阵列模块;转换模块,所述转换模块分别与所述数据阵列模块和所述ecc阵列模块连接;所述存储方法包括:
[0096]
获取控制指令;
[0097]
根据所述控制指令,使得第k个阵列模块选择性地存储ecc码或者附加数据,所述ecc码是针对所述第k个ecc阵列模块所对应的数据阵列模块中存储的数据进行ecc编码所获得的校验码,所述附加数据是在所述第k个ecc阵列模块所对应的数据阵列模块中所存储的数据的附加数据或者是在不同于所述第k个ecc阵列模块所对应的数据阵列模块的数据阵列模块中所存储的数据的附加数据;
[0098]
其中,n为大于等于2的正整数,l为小于等于n的正整数,k为小于等于l的正整数。
[0099]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0100]
根据第一控制指令使得所述l个ecc阵列模块存储所述附加数据。
[0101]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0102]
所述第一控制指令指示所述存储器不支持ecc功能。
[0103]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0104]
根据第二控制指令使得所述l个ecc阵列模块存储所述ecc码。
[0105]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0106]
所述第二控制指令指示所述存储器支持ecc功能。
[0107]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0108]
第m个数据阵列模块及对应的ecc阵列模块被同时激活,其中所述对应的ecc阵列
模块用于存储ecc码,所述ecc码是针对所述第m个数据阵列模块中存储的数据进行ecc编码所获得的校验码;
[0109]
被激活的第m个数据阵列模块所对应的ecc阵列模块使用用于未被激活的一个或多个数据阵列模块的外围电路,或者被激活的第m个数据阵列模块使用用于未被激活的一个或多个ecc阵列模块的外围电路;
[0110]
其中,m为小于等于n的正整数。
[0111]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0112]
所述被激活的第m个数据阵列模块所对应的ecc阵列模块与所述未被激活的一个或多个数据阵列模块在不同时间被激活时使用同一外围电路;或者
[0113]
所述被激活的第m个数据阵列模块与所述未被激活的一个或多个ecc阵列模块在不同时间被激活时使用同一外围电路;
[0114]
其中所述外围电路包括以下任意一项或其组合:行译码模块、列译码模块、灵敏放大器、写驱动模块。
[0115]
根据本发明的存储方法的一个优选实施方案,每一数据阵列模块包括多个数据阵列子模块;所述存储方法还包括:
[0116]
一个数据阵列模块的多个数据阵列子模块所对应的ecc阵列模块与另一个或另一些数据阵列模块的多个数据阵列子模块在不同时间被激活时使用同一外围电路;或者
[0117]
一个数据阵列模块的多个数据阵列子模块与另一个或另一些数据阵列模块的多个数据阵列子模块所对应的一个或多个ecc阵列模块在不同时间被激活时使用同一外围电路;
[0118]
其中,所述外围电路包括以下任意一项或其组合:行译码模块、列译码模块、灵敏放大器、写驱动模块。
[0119]
根据本发明的存储方法的一个优选实施方案,所述n个数据阵列模块至少包括:第一数据阵列模块和第二数据阵列模块;所述l个ecc阵列模块至少包括:第一ecc阵列模块和第二ecc阵列模块;所述存储方法还包括:
[0120]
第一ecc阵列模块用于存储第一ecc码或者用于存储第一附加数据,所述第一ecc码是针对所述第一数据阵列模块中存储的数据进行ecc编码所获得的校验码,所述第一附加数据是所述第二数据阵列模块中存储的数据的附加数据或者所述第一数据阵列模块中存储的数据的附加数据;
[0121]
所述第二ecc阵列模块用于存储第二ecc码或者用于存储第二附加数据,所述第二ecc码是针对所述第二数据阵列模块中存储的数据进行ecc编码所获得的校验码,所述第二附加数据是所述第一数据阵列模块中存储的数据的附加数据或者所述第二数据阵列模块中存储的数据的附加数据;
[0122]
所述转换模块根据第一控制指令使得所述第一ecc阵列模块和所述第二ecc阵列模块分别存储所述第一附加数据和所述第二附加数据,且所述转换模块根据第二控制指令使得所述第一ecc阵列模块和所述第二ecc阵列模块分别存储所述第一ecc码和所述第二ecc码。
[0123]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0124]
所述转换模块根据第二控制指令使得所述第一ecc阵列模块和所述第二ecc阵列
模块分别存储所述第一ecc码和所述第二ecc码;
[0125]
所述第一数据阵列模块和所述第二数据阵列模块在不同时间被激活,其中所述第一数据阵列模块及对应的第一ecc阵列模块被同时激活,所述第二数据阵列模块及对应的第二ecc阵列模块被同时激活;
[0126]
被激活的数据阵列模块所对应的ecc阵列模块使用用于未被激活的数据阵列模块的外围电路,或者被激活的数据阵列模块使用用于未被激活的ecc阵列模块的外围电路;
[0127]
其中,所述外围电路包括以下任意一项或其组合:行译码模块、列译码模块、灵敏放大器、写驱动模块。
[0128]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0129]
所述第一数据阵列模块和所述第二ecc阵列模块在不同时间被激活时使用第一列译码模块,或者使用第一行译码模块,或者使用第一列译码模块和第一行译码模块二者;
[0130]
所述第二数据阵列模块和所述第一ecc阵列模块在不同时间被激活时使用第二列译码模块,或者使用第二行译码模块,或者使用第二列译码模块和第二行译码模块二者。
[0131]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0132]
所述转换模块根据第一控制子指令使得所述第一ecc阵列模块和所述第二ecc阵列模块分别存储所述第一附加数据和所述第二附加数据,其中所述第一附加数据是所述第二数据阵列模块中存储的数据的附加数据,所述第二附加数据是所述第一数据阵列模块中存储的数据的附加数据;
[0133]
所述第一数据阵列模块和所述第二数据阵列模块在不同时间被激活,所述第一数据阵列模块和所述第二ecc阵列模块在不同时间被激活,所述第二数据阵列模块和所述第一ecc阵列模块在不同时间被激活;
[0134]
被激活的数据阵列模块使用用于被激活的数据阵列模块的外围电路,被激活的ecc阵列模块使用用于被激活的ecc阵列模块的外围电路;
[0135]
其中,所述外围电路包括以下任意一项或其组合:行译码模块、列译码模块、灵敏放大器、写驱动模块。
[0136]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0137]
所述第一数据阵列模块或者所述第二ecc阵列模块被激活时使用第一列译码模块,或者使用第一行译码模块,或者使用第一列译码模块和第一行译码模块二者;
[0138]
所述第二数据阵列模块或者所述第一ecc阵列模块被激活时使用第二列译码模块,或者使用第二行译码模块,或者使用第二列译码模块和第二行译码模块二者。
[0139]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0140]
所述转换模块根据第二控制子指令使得所述第一ecc阵列模块和所述第二ecc阵列模块分别存储所述第一附加数据和所述第二附加数据,其中所述第一附加数据是所述第一数据阵列模块中存储的数据的附加数据,所述第二附加数据是所述第二数据阵列模块中存储的数据的附加数据;
[0141]
所述第一数据阵列模块和所述第二数据阵列模块在不同时间被激活,其中所述第一数据阵列模块及所述第一ecc阵列模块被同时激活,所述第二数据阵列模块及所述第二ecc阵列模块被同时激活;
[0142]
被激活的数据阵列模块及被激活的ecc阵列模块使用用于未被激活的数据阵列模
块的外围电路,或者使用用于未被激活的ecc阵列模块的外围电路;
[0143]
其中,所述外围电路包括以下任意一项或其组合:行译码模块、列译码模块、灵敏放大器、写驱动模块。
[0144]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0145]
所述第一数据阵列模块和所述第二ecc阵列模块在不同时间被激活时使用第一列译码模块,或者使用第一行译码模块,或者使用第一列译码模块和第一行译码模块二者;
[0146]
所述第二数据阵列模块和所述第一ecc阵列模块在不同时间被激活时使用第二列译码模块,或者使用第二行译码模块,或者使用第二列译码模块和第二行译码模块二者。
[0147]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0148]
所述第一数据阵列模块设置在所述第二ecc阵列模块和所述第一列译码模块之间。
[0149]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0150]
所述第二数据阵列模块设置在所述第一ecc阵列模块和所述第二列译码模块之间。
[0151]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0152]
所述第二ecc阵列模块设置在所述第一数据阵列模块和所述第一列译码模块之间。
[0153]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0154]
所述第一ecc阵列模块设置在所述第二数据阵列模块和所述第二列译码模块之间。
[0155]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0156]
所述第一数据阵列模块、所述第二数据阵列模块、所述第一ecc阵列模块和所述第二ecc阵列模块设置在所述第一行译码模块和所述第二行译码块之间。
[0157]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0158]
所述第一数据阵列模块至少包括第一数据阵列子模块和第二数据阵列子模块,所述第二数据阵列模块至少包括第三数据阵列子模块和第四数据阵列子模块;
[0159]
所述第二ecc阵列模块设置在所述第一数据阵列子模块和所述第二数据阵列子模块之间,所述第二数据阵列子模块设置在所述第二ecc阵列模块和所述第一列译码模块之间;
[0160]
所述第一ecc阵列模块设置在所述第三数据阵列子模块和所述第四数据阵列子模块之间,所述第四数据阵列子模块设置在所述第一ecc阵列模块和所述第二列译码模块之间;
[0161]
所述第一数据阵列子模块、所述第二数据阵列子模块、所述第三数据阵列子模块、所述第四数据阵列子模块、所述第一ecc阵列模块和所述第二ecc阵列模块设置在所述第一行译码模块和所述第二行译码模块之间。
[0162]
根据本发明的第五方面,提供了一种用于阵列单元模块的存储方法,所述阵列单元模块至少包括:n个数据阵列单元;l个纠错码ecc阵列单元;转换单元,所述转换单元分别与所述数据阵列单元以及所述ecc阵列单元连接;所述存储方法包括:
[0163]
获取控制指令;
[0164]
根据所述控制指令,使得第k个阵列单元选择性地存储ecc码或者附加数据,所述ecc码是针对所述第k个ecc阵列单元所对应的数据阵列单元中存储的数据进行ecc编码所获得的校验码,所述附加数据是在所述第k个ecc阵列单元所对应的数据阵列单元中所存储的数据的附加数据或者在不同于所述第k个ecc阵列单元所对应的数据阵列单元的数据阵列单元中所存储的数据的附加数据;
[0165]
其中,每个数据阵列单元及对应的ecc阵列单元的总大小是根据所采用的ecc算法来确定的,且所述总大小等于所述ecc算法所需的数据位长度及所产生的校验位长度之和的p倍;
[0166]
其中,n为大于等于2的正整数,l为小于等于n的正整数,p为大于等于1的正整数。
[0167]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0168]
根据第一控制指令使得所述l个ecc阵列单元存储所述附加数据。
[0169]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0170]
所述第一控制指令指示所述阵列单元模块不支持ecc功能。
[0171]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0172]
根据第二控制指令使得所述l个ecc阵列模块存储所述ecc码。
[0173]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0174]
所述第二控制指令指示所述阵列单元模块支持ecc功能。
[0175]
根据本发明的存储方法的一个优选实施方案,所述n个数据阵列单元至少包括:第一数据阵列单元和第二数据阵列单元;所述l个ecc阵列单元至少包括:第一ecc阵列单元和第二ecc阵列单元;所述存储方法还包括:
[0176]
第一ecc阵列单元用于存储第一ecc码或者用于存储第一附加数据,所述第一ecc码是针对所述第一数据阵列单元中存储的数据进行ecc编码所获得的校验码,所述第一附加数据是所述第二数据阵列单元中存储的数据的附加数据或者所述第一数据阵列单元中存储的数据的附加数据;其中所述第二ecc阵列单元用于存储第二ecc码或者用于存储第二附加数据,所述第二ecc码是针对所述第二数据阵列单元中存储的数据进行ecc编码所获得的校验码,所述第二附加数据是所述第一数据阵列单元中存储的数据的附加数据或者所述第二数据阵列单元中存储的数据的附加数据;
[0177]
所述转换单元根据第一控制指令使得所述第一ecc阵列单元和所述第二ecc阵列单元分别存储所述第一附加数据和所述第二附加数据,且所述转换单元根据第二控制指令使得所述第一ecc阵列单元和所述第二ecc阵列单元分别存储所述第一ecc码和所述第二ecc码。
[0178]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0179]
所述转换单元根据第二控制指令使得所述第一ecc阵列单元和所述第二ecc阵列单元分别存储所述第一ecc码和所述第二ecc码;
[0180]
所述第一数据阵列单元和所述第二数据阵列单元在不同时间被激活,其中所述第一数据阵列单元及对应的第一ecc阵列单元被同时激活,所述第二数据阵列单元及对应的第二ecc阵列单元被同时激活;
[0181]
被激活的数据阵列单元所对应的ecc阵列单元使用用于未被激活的数据阵列单元的行译码单元,或者被激活的数据阵列单元使用用于未被激活的ecc阵列单元的行译码单
元。
[0182]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0183]
所述第一数据阵列单元和所述第二ecc阵列单元在不同时间被激活时使用第一行译码单元;
[0184]
所述第二数据阵列单元和所述第一ecc阵列单元在不同时间被激活时使用第二行译码单元。
[0185]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0186]
所述转换单元根据第一控制子指令使得所述第一ecc阵列单元和所述第二ecc阵列单元分别存储所述第一附加数据和所述第二附加数据,其中所述第一附加数据是所述第二数据阵列单元中存储的数据的附加数据,所述第二附加数据是所述第一数据阵列单元中存储的数据的附加数据;
[0187]
所述第一数据阵列单元和所述第二数据阵列单元在不同时间被激活,所述第一数据阵列单元和所述第二ecc阵列单元在不同时间被激活,所述第二数据阵列单元和所述第一ecc阵列单元在不同时间被激活;
[0188]
被激活的数据阵列单元使用用于被激活的数据阵列模块的行译码单元,被激活的ecc阵列单元使用用于被激活的ecc阵列单元的行译码单元。
[0189]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0190]
所述第一数据阵列单元或者所述第二ecc阵列单元被激活时使用第一行译码单元;
[0191]
所述第二数据阵列单元或者所述第一ecc阵列单元被激活时使用第二行译码单元。
[0192]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0193]
所述转换模块根据第二控制子指令使得所述第一ecc阵列单元和所述第二ecc阵列单元分别存储所述第一附加数据和所述第二附加数据,其中所述第一附加数据是所述第一数据阵列单元中存储的数据的附加数据,所述第二附加数据是所述第二数据阵列单元中存储的数据的附加数据;
[0194]
所述第一数据阵列单元和所述第二数据阵列单元在不同时间被激活,其中所述第一数据阵列单元及所述第一ecc阵列单元被同时激活,所述第二数据阵列单元及所述第二ecc阵列单元被同时激活;
[0195]
被激活的数据阵列单元及被激活的ecc阵列单元使用用于未被激活的数据阵列模块的行译码单元,或者使用用于未被激活的ecc阵列单元的行译码单元。
[0196]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0197]
所述第一数据阵列单元和所述第二ecc阵列单元在不同时间被激活时使用第一行译码单元;
[0198]
所述第二数据阵列单元和所述第一ecc阵列单元在不同时间被激活时使用第二行译码单元。
[0199]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0200]
所述第一行译码单元设置在所述第一数据阵列单元和所述第二数据阵列单元之间;
[0201]
所述第二行译码单元设置在所述第一ecc阵列单元和所述第二ecc阵列单元之间。
[0202]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0203]
所述第一行译码单元设置在所述第一数据阵列单元和所述第一ecc阵列单元之间;
[0204]
所述第二行译码单元设置在所述第二数据阵列单元和所述第二ecc阵列单元之间。
[0205]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0206]
所述第一行译码单元设置在所述第一ecc阵列单元和所述第二ecc阵列单元之间;
[0207]
所述第二行译码单元设置在所述第一数据阵列单元和所述第二数据阵列单元之间。
[0208]
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
[0209]
所述第一行译码单元设置在所述第二数据阵列单元和所述第二ecc阵列单元之间;
[0210]
所述第二行译码单元设置在所述第一数据阵列单元和所述第一ecc阵列单元之间。
[0211]
根据本发明的第六方面,提供了一种构建存储器的方法,所述方法包括将多个阵列单元模块在列方向上依次堆叠,所述阵列单元模块为如权利要求20至33中的任一项所述的阵列单元模块。
[0212]
根据本发明的第七方面,提供了一种电子设备,所述电子设备包括:
[0213]
至少一个根据本发明的第一方面所述的存储器;以及
[0214]
至少一个处理器,所述处理器与所述存储器连接,且所述处理器与所述存储器通过所述总线进行通信,所述处理器对所述存储器中数据进行处理。
[0215]
根据本发明的第八方面,提供了一种电子设备,所述电子设备包括:
[0216]
至少一个根据本发明的第三方面所述的存储器;以及
[0217]
至少一个处理器,所述处理器与所述存储器连接,且所述处理器与所述存储器通过所述总线进行通信,所述处理器对所述存储器中数据进行处理。
[0218]
根据本发明的第九方面,提供了一种电子设备,所述电子设备包括:
[0219]
至少一个存储器,在所述存储器上存储有计算机可执行指令;以及
[0220]
至少一个处理器,所述处理器与所述存储器连接,且所述处理器与所述存储器通过总线进行通信,当所述处理器执行所述计算机可执行指令时,所述计算机可执行指令使得所述处理器执行根据本发明的第四方面所述的存储方法。
[0221]
根据本发明的第十方面,提供了一种电子设备,所述电子设备包括:
[0222]
至少一个存储器,在所述存储器上存储有计算机可执行指令;以及
[0223]
至少一个处理器,所述处理器与所述存储器连接,且所述处理器与所述存储器通过总线进行通信,当所述处理器执行所述计算机可执行指令时,所述计算机可执行指令使得所述处理器执行根据本发明的第五方面所述的存储方法。
[0224]
根据本发明的第十一方面,提供了一种电子设备,所述电子设备包括:
[0225]
至少一个存储器,在所述存储器上存储有计算机可执行指令;以及
[0226]
至少一个处理器,所述处理器与所述存储器连接,且所述处理器与所述存储器通
过总线进行通信,当所述处理器执行所述计算机可执行指令时,所述计算机可执行指令使得所述处理器执行根据本发明的第六方面所述构建存储器的方法。
附图说明
[0227]
通过下文结合对附图的说明,将更容易理解本发明,在附图中:
[0228]
图1示出了常见的不包含纠错码功能的存储器的核心结构。
[0229]
图2示出了一种已知的包含ecc功能的存储器的核心结构。
[0230]
图3至图8是应用本发明的转换模块的存储器的多个实施方案的示意图。
[0231]
图9至图12是应用本发明的转换单元的阵列单元模块的多个实施方案的示意图。
[0232]
图13是根据通过图9至图12中示出的阵列单元模块所构建的存储器的一个实施方案的示意图。
[0233]
图14是根据本发明的包括转换模块的存储器的一个实施方案的示意图。
[0234]
图15是根据本发明的包括转换单元的阵列单元模块的一个实施方案的示意图。
[0235]
图16示出了用于存储器的存储方法的一个实施方案的流程图。
[0236]
图17示出了用于阵列单元模块的存储方法的一个实施方案的流程图。
具体实施方式
[0237]
下面将结合附图来对本发明的实施方案进行进一步详述。
[0238]
首先,对应用本发明的转换模块或转换单元的存储器以及阵列单元模块进行描述。图3至图13中例示的是存储器以及阵列单元模块在支持ecc功能的情况下的示意图。
[0239]
图3至图8是应用本发明的转换模块的存储器的多个实施方案的示意图。
[0240]
图3中示出的存储器包括:两个数据阵列模块,即,第一数据阵列模块310和第二数据阵列模块320;以及,两个ecc阵列模块,即,第一ecc阵列模块330和第二ecc阵列模块340,其中第一ecc阵列模块330用于存储针对第一数据阵列模块310中存储的数据进行ecc编码所获得的校验码,第二ecc阵列模块340用于存储针对第二数据阵列模块320中存储的数据进行ecc编码所获得的校验码。应理解,本发明的存储器也可以包括多于两个的数据阵列模块和多于两个的ecc阵列模块。
[0241]
在图3至图6和图8中,存储器包括相同数目的数据阵列模块和ecc阵列模块。然而,本发明的存储器也可以包括不同数目的数据阵列模块和ecc阵列模块,其中多个数据阵列模块可以复用一个ecc阵列模块。在本文中,“复用”指的是共同使用,可以是在同一时间共同使用,也可以是在不同时间共同使用。
[0242]
返回参看图3,图3示出了应用本发明的转换模块的存储器的一个实施方案的示意图。在图3中,第一数据阵列模块310设置在第二ecc阵列模块340和第一列译码模块350之间,第二数据阵列模320设置在第一ecc阵列模块330和第二列译码模块360之间。第一数据阵列模块310和对应的第一ecc阵列模块330被同时激活,第二数据阵列模块320和对应的第二ecc阵列模块340被同时激活。
[0243]
当第一数据阵列模块310和对应的第一ecc阵列模块330被同时激活时,第一数据阵列模块310使用第一列译码模块350,第一ecc阵列模块330使用第二列译码模块360。
[0244]
当第二数据阵列模块320和对应的第二ecc阵列模块340被同时激活时,第二数据
阵列模块320使用第二列译码模块360,第二ecc阵列模块340使用第一列译码模块350。
[0245]
因此,第一数据阵列模块310和第二ecc阵列模块340在不同时间被激活时复用第一列译码模块350,第二数据阵列模块320和第一ecc阵列模块330在不同时间被激活时复用第二列译码模块360。
[0246]
当第一列译码模块350是专门设置用于第一数据阵列模块310且能够满足第二ecc阵列模块340对于列译码模块的需求时,称为第二ecc阵列模块340使用用于第一数据阵列模块310的第一列译码模块350;当第一列译码模块350是专门设置用于第二ecc阵列模块340且能够满足第一数据阵列模块310对于列译码模块的需求时,称为第一数据阵列模块310使用用于第二ecc阵列模块340的第一列译码模块350。
[0247]
同理,当第二列译码模块360是专门设置用于第二数据阵列模块320且能够满足第一ecc阵列模块330对于列译码模块的需求时,称为第一ecc阵列模块330使用用于第二数据阵列模块320的第二列译码模块360;当第二列译码模块360是专门设置用于第一ecc阵列模块330且能够满足第二数据阵列模块320对于列译码模块的需求时,称为第二数据阵列模块320使用用于第一ecc阵列模块330的第二列译码模块360。
[0248]
另外,也可以看到,在图3中,存储器在复用第一列译码模块350和第二列译码模块360的同时,也复用了相应的灵敏放大器和写驱动模块。
[0249]
图4示出了应用本发明的转换模块的存储器的另一实施方案的示意图。在图4中,第二ecc阵列模块440设置在第一数据阵列模块410和第一列译码模块450之间,第一ecc阵列模块430设置在第二数据阵列模420和第二列译码模块460之间。第一数据阵列模块410和对应的第一ecc阵列模块430被同时激活,第二数据阵列模块420和对应的第二ecc阵列模块440被同时激活。
[0250]
当第一数据阵列模块410和对应的第一ecc阵列模块430被同时激活时,第一数据阵列模块410使用第一列译码模块450,第一ecc阵列模块430使用第二列译码模块460。
[0251]
当第二数据阵列模块420和对应的第二ecc阵列模块440被同时激活时,第二数据阵列模块420使用第二列译码模块460,第二ecc阵列模块440使用第一列译码模块450。
[0252]
因此,第一数据阵列模块410和第二ecc阵列模块440在不同时间被激活时复用第一列译码模块450,第二数据阵列模块420和第一ecc阵列模块430在不同时间被激活时复用第二列译码模块460。
[0253]
当第一列译码模块450是专门设置用于第一数据阵列模块410且能够满足第二ecc阵列模块440对于列译码模块的需求时,称为第二ecc阵列模块440使用用于第一数据阵列模块410的第一列译码模块450;当第一列译码模块450是专门设置用于第二ecc阵列模块440且能够满足第一数据阵列模块410对于列译码模块的需求时,称为第一数据阵列模块410使用用于第二ecc阵列模块440的第一列译码模块450。
[0254]
同理,当第二列译码模块460是专门设置用于第二数据阵列模块420且能够满足第一ecc阵列模块430对于列译码模块的需求时,称为第一ecc阵列模块430使用用于第二数据阵列模块420的第二列译码模块460;当第二列译码模块460是专门设置用于第一ecc阵列模块430且能够满足第二数据阵列模块420对于列译码模块的需求时,称为第二数据阵列模块420使用用于第一ecc阵列模块430的第二列译码模块460。
[0255]
另外,也可以看到,在图4中,存储器在复用第一列译码模块450和第二列译码模块
460的同时,也复用了相应的灵敏放大器和写驱动模块。
[0256]
图5示出了应用本发明的转换模块的存储器的另一实施方案的示意图。在图5中,第一数据阵列模块510设置在第二ecc阵列模块540和第一列译码模块550之间,第一ecc阵列模块530设置在第二数据阵列模520和第二列译码模块560之间。第一数据阵列模块510和对应的第一ecc阵列模块530被同时激活,第二数据阵列模块520和对应的第二ecc阵列模块540被同时激活。
[0257]
当第一数据阵列模块510和对应的第一ecc阵列模块530被同时激活时,第一数据阵列模块510使用第一列译码模块550,第一ecc阵列模块530使用第二列译码模块560。
[0258]
当第二数据阵列模块520和对应的第二ecc阵列模块540被同时激活时,第二数据阵列模块520使用第二列译码模块560,第二ecc阵列模块540使用第一列译码模块550。
[0259]
因此,第一数据阵列模块510和第二ecc阵列模块540在不同时间被激活时复用第一列译码模块550,第二数据阵列模块520和第一ecc阵列模块530在不同时间被激活时复用第二列译码模块560。
[0260]
当第一列译码模块550是专门设置用于第一数据阵列模块510且能够满足第二ecc阵列模块540对于列译码模块的需求时,称为第二ecc阵列模块540使用用于第一数据阵列模块510的第一列译码模块550;当第一列译码模块550是专门设置用于第二ecc阵列模块540且能够满足第一数据阵列模块510对于列译码模块的需求时,称为第一数据阵列模块510使用用于第二ecc阵列模块540的第一列译码模块550。
[0261]
同理,当第二列译码模块560是专门设置用于第二数据阵列模块520且能够满足第一ecc阵列模块530对于列译码模块的需求时,称为第一ecc阵列模块530使用用于第二数据阵列模块520的第二列译码模块560;当第二列译码模块560是专门设置用于第一ecc阵列模块530且能够满足第二数据阵列模块520对于列译码模块的需求时,称为第二数据阵列模块520使用用于第一ecc阵列模块530的第二列译码模块560。
[0262]
另外,也可以看到,在图5中,存储器在复用第一列译码模块550和第二列译码模块560的同时,也复用了相应的灵敏放大器和写驱动模块。
[0263]
图6示出了应用本发明的转换模块的存储器的另一实施方案的示意图。在图6中,第二ecc阵列模块640设置在第一数据阵列模块610和第一列译码模块650之间,第二数据阵列模620设置在第一ecc阵列模块630和第二列译码模块660之间。第一数据阵列模块610和对应的第一ecc阵列模块630被同时激活,第二数据阵列模块620和对应的第二ecc阵列模块640被同时激活。
[0264]
当第一数据阵列模块610和对应的第一ecc阵列模块630被同时激活时,第一数据阵列模块610使用第一列译码模块650,第一ecc阵列模块630使用第二列译码模块660。
[0265]
当第二数据阵列模块620和对应的第二ecc阵列模块640被同时激活时,第二数据阵列模块620使用第二列译码模块660,第二ecc阵列模块640使用第一列译码模块650。
[0266]
因此,第一数据阵列模块610和第二ecc阵列模块640在不同时间被激活时复用第一列译码模块650,第二数据阵列模块620和第一ecc阵列模块630在不同时间被激活时复用第二列译码模块660。
[0267]
当第一列译码模块650是专门设置用于第一数据阵列模块610且能够满足第二ecc阵列模块640对于列译码模块的需求时,称为第二ecc阵列模块640使用用于第一数据阵列
模块610的第一列译码模块650;当第一列译码模块650是专门设置用于第二ecc阵列模块640且能够满足第一数据阵列模块610对于列译码模块的需求时,称为第一数据阵列模块610使用用于第二ecc阵列模块640的第一列译码模块650。
[0268]
同理,当第二列译码模块660是专门设置用于第二数据阵列模块620且能够满足第一ecc阵列模块630对于列译码模块的需求时,称为第一ecc阵列模块630使用用于第二数据阵列模块620的第二列译码模块660;当第二列译码模块660是专门设置用于第一ecc阵列模块630且能够满足第二数据阵列模块620对于列译码模块的需求时,称为第二数据阵列模块620使用用于第一ecc阵列模块630的第二列译码模块660。
[0269]
另外,也可以看到,在图5中,存储器在复用第一列译码模块650和第二列译码模块660的同时,也复用了相应的灵敏放大器和写驱动模块。
[0270]
图7示出了应用本发明的转换模块的存储器的另一实施方案的示意图。在图7中,第一数据阵列模块包括第一数据阵列子模块7101和第二数据阵列子模块7102,第二数据阵列模块包括第三数据阵列子模块7201和第四数据阵列子模块7202。
[0271]
为了更清楚地解释本发明,图7中仅示出了每个数据阵列模块包括两个数据阵列子模块。应理解,图7中仅是示意性的,本发明的存储器的每个数据阵列模块也可以包括多于两个的数据阵列子模块。
[0272]
在图7中,第二ecc阵列模块740设置在第一数据阵列子模块7101和第二数据阵列子模块7102之间,第二数据阵列子模块7102设置在第二ecc阵列模块740和第一列译码模块750之间。第一ecc阵列模块730设置在第三数据阵列子模块7201和第四数据阵列子模块7202之间,第四数据阵列子模块7202设置在第一ecc阵列模块730和第二列译码模块760之间。第一数据阵列子模块7101和第二数据阵列子模块7102以及对应的第一ecc阵列模块730被同时激活,第三数据阵列子模块7201和第四数据阵列子模块7202以及对应的第二ecc阵列模块740被同时激活。
[0273]
当第一数据阵列子模块7101和第二数据阵列子模块7102以及对应的第一ecc阵列模块730被同时激活时,第一数据阵列子模块7101和第二数据阵列子模块7102使用第一列译码模块750,第一ecc阵列模块730使用第二列译码模块760。
[0274]
当第三数据阵列子模块7201和第四数据阵列子模块7202以及对应的第二ecc阵列模块740时,第三数据阵列子模块7201和第四数据阵列子模块7202使用第二列译码模块760,第二ecc阵列模块740使用第一列译码模块750。
[0275]
因此,第一数据阵列子模块7101和第二数据阵列子模块7102以及第二ecc阵列模块740在不同时间被激活时复用第一列译码模块750,第三数据阵列子模块7201和第四数据阵列子模块7202以及第一ecc阵列模块730在不同时间被激活时复用第二列译码模块760。
[0276]
当第一列译码模块750是专门设置用于第一数据阵列子模块7101和第二数据阵列子模块7102且能够满足第二ecc阵列模块740对于列译码模块的需求时,称为第二ecc阵列模块740使用用于第一数据阵列子模块7101和第二数据阵列子模块7102的第一列译码模块650;当第一列译码模块750是专门设置用于第二ecc阵列模块740且能够满足第一数据阵列子模块7101和第二数据阵列子模块7102对于列译码模块的需求时,称为第一数据阵列子模块7101和第二数据阵列子模块7102使用用于第二ecc阵列模块740的第一列译码模块750。
[0277]
同理,当第二列译码模块760是专门设置用于第三数据阵列子模块7201和第四数
据阵列子模块7202且能够满足第一ecc阵列模块730对于列译码模块的需求时,称为第一ecc阵列模块730使用用于第三数据阵列子模块7201和第四数据阵列子模块7202的第二列译码模块760;当第二列译码模块760是专门设置用于第一ecc阵列模块730且能够满足第三数据阵列子模块7201和第四数据阵列子模块7202对于列译码模块的需求时,称为第三数据阵列子模块7201和第四数据阵列子模块7202使用用于第一ecc阵列模块730的第二列译码模块760。
[0278]
另外,也可以看到,在图7中,存储器在复用第一列译码模块750和第二列译码模块760的同时,也复用了相应的灵敏放大器和写驱动模块。
[0279]
应理解,图7中事实上也示出了数据阵列子模块复用对应的ecc阵列的一种情形(数据阵列子模块在同一时间共同使用对应的ecc阵列)。在图7中,第一数据阵列子模块7101和第二数据阵列子模块7102复用第一ecc阵列模块730,第三数据阵列子模块7201和第四数据阵列子模块7202复用第二ecc阵列模块740。
[0280]
图3至图7中示出的是存储器复用列译码器以及相应的灵敏放大器和写驱动模块的情形,并且这些模块之间的布置仅是示意性的。本领域技术人员在阅读本申请之后,能够对这些布置进行改型,只要能够满足被激活的数据阵列模块或ecc阵列模块能够复用未被激活的数据阵列模块或ecc阵列模块这一条件,都应落入本发明的范围内。
[0281]
图8示出了应用本发明的转换模块的存储器的另一实施方案的示意图,其中对于行译码器进行了复用。
[0282]
在图3至图7中示出的实施方案中,ecc阵列模块和数据阵列模块共享了列译码模块、灵敏放大器以及写驱动模块,但不同的ecc阵列模块和数据阵列模块具有其相对应的行译码模块。针对图3,如当第一数据阵列模块310以及对应的第一ecc阵列模块330被激活时,它们所对应的行译码模块被激活,而第二数据阵列模块320以及对应的第二ecc阵列模块340未被激活。图8对这一技术方案进行了改进,对行译码模块也进行了共享。
[0283]
在图8中,第一数据阵列模块810和第二ecc阵列模块840在不同时间被激活时,复用第一行译码器870和第一列译码器850以及相应的灵敏放大器和写驱动模块。第二数据阵列模块820和第一ecc阵列模块830在不同时间被激活时,复用第二行译码器880和第二列译码器860以及相应的灵敏放大器和写驱动模块。
[0284]
在图8中,除了第一行译码器870和第二列译码器880,其余模块的布置均与图3中相同。应理解,本领域技术人员在阅读本申请之后,也可以对图4至图7中所示出的布置进行行译码器的复用。
[0285]
由于在进行行译码复用时,行译码模块与数据阵列模块以及ecc阵列模块之间的连线可能会比较困难。为此,本发明引入了最小尺寸的阵列单元模块。所述阵列单元模块的具体大小由具体的ecc算法决定。
[0286]
图9至图12是应用本发明的转换单元的阵列单元模块的多个实施方案的示意图。
[0287]
图9中示出的阵列单元模块包括:两个数据阵列单元,即,第一数据阵列单元910和第二数据阵列单元920;以及,两个ecc阵列单元,即,第一ecc阵列单元930和第二ecc阵列单元940,其中第一ecc阵列单元930用于存储针对第一数据阵列单元910中存储的数据进行ecc编码所获得的校验码,第二ecc阵列单元940用于存储针对第二数据阵列单元920中存储的数据进行ecc编码所获得的校验码。应理解,本发明的阵列单元模块也可以包括多于两个
的数据阵列单元和多于两个的ecc阵列单元。
[0288]
在图9至图12中,阵列单元模块包括相同数目的数据阵列单元和ecc阵列单元。然而,本发明的阵列单元模块也可以包括不同数目的数据阵列单元和ecc阵列单元,其中多个数据阵列单元可以复用一个ecc阵列单元。
[0289]
返回参看图9,图9是应用本发明的转换单元的阵列单元模块的一个实施方案的示意图。在图9中,第一行译码单元970设置在第一数据阵列单元910和第二数据阵列单元920之间,第二行译码单元980设置在第一ecc阵列单元930和第二ecc阵列单元940之间。
[0290]
第一数据阵列单元910和对应的第一ecc阵列单元930被同时激活。此时,第一数据阵列单元910使用第一行译码单元970,第一ecc阵列单元930使用第二行译码单元980。第二数据阵列单元920和对应的第二ecc阵列单元940被同时激活。此时,第二数据阵列单元920使用第二行译码单元980,第二ecc阵列单元940使用第一行译码单元970。因此,第一数据阵列单元910和第二ecc阵列单元940在不同时间被激活时复用第一行译码单元970,第二数据阵列单元920和第一ecc阵列单元930在不同时间被激活时复用第二行译码单元980。
[0291]
如同上面关于图3至图8中所描述的,当第一行译码单元970是专门设置用于第一数据阵列单元910且能够满足第二ecc阵列单元940对于行译码单元的需求时,称为第二ecc阵列单元940使用用于第一数据阵列单元910的第一行译码单元970;当第一行译码单元970是专门设置用于第二ecc阵列单元940且能够满足第一数据阵列单元910对于行译码单元的需求时,称为第一数据阵列单元910使用用于第二ecc阵列单元940的第一行译码单元970。
[0292]
同理,当第二行译码单元980是专门设置用于第二数据阵列单元920且能够满足第一ecc阵列单元930对于行译码单元的需求时,称为第一ecc阵列单元930使用用于第二数据阵列单元920的第二行译码单元980;当第二行译码单元980是专门设置用于第一ecc阵列单元930且能够满足第二数据阵列单元920对于行译码单元的需求时,称为第二数据阵列单元920使用用于第一ecc阵列单元930的第二行译码单元980。
[0293]
图10是应用本发明的转换单元的阵列单元模块的另一实施方案的示意图。在图10中,第一行译码单元1070设置在第一数据阵列单元1010和第一ecc阵列单元1030之间,第二行译码单元1080设置在第二数据阵列单元1020和第二ecc阵列单元1040之间。
[0294]
第一数据阵列单元1010和对应的第一ecc阵列单元1030被同时激活。此时,第一数据阵列单元1010使用第一行译码单元1070,第一ecc阵列单元1030使用第二行译码单元1080。第二数据阵列单元1020和对应的第二ecc阵列单元1040被同时激活。此时,第二数据阵列单元1020使用第二行译码单元1080,第二ecc阵列单元1040使用第一行译码单元1070。因此,第一数据阵列单元1010和第二ecc阵列单元1040在不同时间被激活时复用第一行译码单元1070,第二数据阵列单元1020和第一ecc阵列单元1030在不同时间被激活时复用第二行译码单元1080。
[0295]
如同上面关于图3至图8中所描述的,当第一行译码单元1070是专门设置用于第一数据阵列单元1010且能够满足第二ecc阵列单元1040对于行译码单元的需求时,称为第二ecc阵列单元1040使用用于第一数据阵列单元1010的第一行译码单元1070;当第一行译码单元1070是专门设置用于第二ecc阵列单元1040且能够满足第一数据阵列单元1010对于行译码单元的需求时,称为第一数据阵列单元1010使用用于第二ecc阵列单元1040的第一行译码单元1070。
[0296]
同理,当第二行译码单元1080是专门设置用于第二数据阵列单元1020且能够满足第一ecc阵列单元1030对于行译码单元的需求时,称为第一ecc阵列单元1030使用用于第二数据阵列单元1020的第二行译码单元1080;当第二行译码单元1080是专门设置用于第一ecc阵列单元1030且能够满足第二数据阵列单元1020对于行译码单元的需求时,称为第二数据阵列单元1020使用用于第一ecc阵列单元1030的第二行译码单元1080。
[0297]
图11应用本发明的转换单元的阵列单元模块的另一实施方案的示意图。在图11中,第一行译码单元1170设置在第一ecc阵列单元1130和第二ecc阵列单元1140之间,第二行译码单元1180设置在第一数据阵列单元1110和第二数据阵列单元1120之间。
[0298]
第一数据阵列单元1110和对应的第一ecc阵列单元1130被同时激活。此时,第一数据阵列单元1110使用第一行译码单元1170,第一ecc阵列单元1130使用第二行译码单元1180。第二数据阵列单元1120和对应的第二ecc阵列单元1140被同时激活。此时,第二数据阵列单元1120使用第二行译码单元1180,第二ecc阵列单元1140使用第一行译码单元1170。因此,第一数据阵列单元1110和第二ecc阵列单元1140在不同时间被激活时复用第一行译码单元1170,第二数据阵列单元1120和第一ecc阵列单元1130在不同时间被激活时复用第二行译码单元1180。
[0299]
如同上面关于图3至图8中所描述的,当第一行译码单元1170是专门设置用于第一数据阵列单元1110且能够满足第二ecc阵列单元1140对于行译码单元的需求时,称为第二ecc阵列单元1140使用用于第一数据阵列单元1110的第一行译码单元1170;当第一行译码单元1170是专门设置用于第二ecc阵列单元1140且能够满足第一数据阵列单元1110对于行译码单元的需求时,称为第一数据阵列单元1110使用用于第二ecc阵列单元1140的第一行译码单元1170。
[0300]
同理,当第二行译码单元1180是专门设置用于第二数据阵列单元1120且能够满足第一ecc阵列单元1130对于行译码单元的需求时,称为第一ecc阵列单元1130使用用于第二数据阵列单元1120的第二行译码单元1180;当第二行译码单元1180是专门设置用于第一ecc阵列单元1130且能够满足第二数据阵列单元1120对于行译码单元的需求时,称为第二数据阵列单元1120使用用于第一ecc阵列单元1130的第二行译码单元1180。
[0301]
图12应用本发明的转换单元的阵列单元模块的另一实施方案的示意图。在图12中,第一行译码单元1270设置在第二数据阵列单元1220和第二ecc阵列单元1240之间,第二行译码单元1280设置在第一数据阵列单元1210和第一ecc阵列单元1230之间。
[0302]
第一数据阵列单元1210和对应的第一ecc阵列单元1230被同时激活。此时,第一数据阵列单元1210使用第一行译码单元1270,第一ecc阵列单元1230使用第二行译码单元1280。第二数据阵列单元1220和对应的第二ecc阵列单元1240被同时激活。此时,第二数据阵列单元1220使用第二行译码单元1280,第二ecc阵列单元1240使用第一行译码单元1270。因此,第一数据阵列单元1210和第二ecc阵列单元1240在不同时间被激活时复用第一行译码单元1270,第二数据阵列单元1220和第一ecc阵列单元1230在不同时间被激活时复用第二行译码单元1280。
[0303]
如同上面关于图3至图8中所描述的,当第一行译码单元1270是专门设置用于第一数据阵列单元1210且能够满足第二ecc阵列单元1240对于行译码单元的需求时,称为第二ecc阵列单元1240使用用于第一数据阵列单元1210的第一行译码单元1270;当第一行译码
单元1270是专门设置用于第二ecc阵列单元1240且能够满足第一数据阵列单元1210对于行译码单元的需求时,称为第一数据阵列单元1210使用用于第二ecc阵列单元1240的第一行译码单元1270。
[0304]
同理,当第二行译码单元1280是专门设置用于第二数据阵列单元1220且能够满足第一ecc阵列单元1230对于行译码单元的需求时,称为第一ecc阵列单元1230使用用于第二数据阵列单元1220的第二行译码单元1280;当第二行译码单元1280是专门设置用于第一ecc阵列单元1230且能够满足第二数据阵列单元1220对于行译码单元的需求时,称为第二数据阵列单元1220使用用于第一ecc阵列单元1230的第二行译码单元1280。
[0305]
在图9至图12中,第一数据阵列单元和对应的第一ecc阵列单元(或者第二数据阵列单元和对应的第二ecc阵列单元)的总大小是根据所采用的ecc算法来确定的,且总大小等于所述ecc算法所需的数据位长度及所产生的校验位长度之和的整数倍。例如,针对常见的汉明码(72,64),其中数据位为64位,校验位为8位。第一数据阵列单元和对应的第一ecc阵列单元(或者第二数据阵列单元和对应的第二ecc阵列单元)的总大小可以是72或者144或者216等72的整数倍。
[0306]
图13根据通过图9至图12中示出的阵列单元模块所构建的存储器的一个实施方案的示意图。
[0307]
图13中所示出的阵列单元模块1301是如图9至图12中所示出的任一项的阵列单元模块。这些阵列单元模块可以相同,也可以不同。通过将这些阵列单元模块在列方向上依次堆叠,实现了对于行译码单元、列译码模块、灵敏放大器、写驱动模块的复用。
[0308]
如图3至图13中所例示的实施方案,能够节约存储器的面积。再次以常见的汉明码(72,64)为例,其中数据位为64位,校验位为8位。本发明的实施方案可以节约近似11.11%(8/72)的列译码模块、灵敏放大器、写驱动模块、行译码模块的面积。对于整个芯片来说,所能够节约的面积取决于此部分电路在整个芯片中所占的比例。
[0309]
在本发明中,基于图3至图13中所示出的存储器以及阵列单元模块,引入了转换模块或者转换单元。
[0310]
如果存储器或者阵列单元模块支持ecc功能,则ecc编解码模块被启用并且相应的ecc阵列模块或ecc阵列单元被用于存储ecc码;如果存储器或者阵列单元模块不支持ecc功能,则ecc编解码模块被停用并且相应的ecc阵列模块或ecc阵列单元被用于存储附加数据。
[0311]
下面参考图14和图15来详细描述转换模块以及转换单元。
[0312]
图14是根据本发明的包括转换模块的存储器的一个实施方案的示意图。
[0313]
图14例示了包括转换模块的存储器的示意图。图14中的存储器包括:第一数据阵列模块1410;第二数据阵列模块1420;第一ecc阵列模块(或者第二附加数据阵列模块)1430;第二ecc阵列模块(或者第一附加数据阵列模块)1440;转换模块1409,分别与第一数据阵列模块1410、第二数据阵列模块1420、第一ecc阵列模块(或者第二附加数据阵列模块)1430和第二ecc阵列模块(或者第一附加数据阵列模块)1440连接。另外,类似于图3,在图14中,第一数据阵列模块1410设置在第二ecc阵列模块(或者第一附加数据阵列模块)1440与第一列译码模块1450之间,第二数据阵列模块1420设置在第一ecc阵列模块(或者第二附加数据阵列模块)1430与第二列译码模块1460之间。
[0314]
图14示出的存储器仅包括两个数据阵列模块和两个ecc阵列模块。应理解,图14中
的存储器也可以包括多于两个的数据阵列模块和多于两个的ecc阵列模块。
[0315]
另外,在图14中,存储器包括相同数目的数据阵列模块和ecc阵列模块。然而,本发明的存储器也可以包括不同数目的数据阵列模块和ecc阵列模块,其中多个数据阵列模块可以复用一个ecc阵列模块。
[0316]
在图14中的存储器支持ecc功能的情况下,转换模块1409获得指示存储器支持ecc功能的控制指令,启用ecc编解码模块且使得第一ecc阵列模块(或者第二附加数据阵列模块)1430和第二ecc阵列模块(或者第一附加数据阵列模块)1440都用于存储ecc码,其中第一ecc阵列模块(或者第二附加数据阵列模块)1430用于存储针对第一数据阵列模块1410中存储的数据进行ecc编码所获得的校验码,第二ecc阵列模块(或者第一附加数据阵列模块)1440用于存储针对第二数据阵列模块1420中存储的数据进行ecc编码所获得的校验码。
[0317]
在这种情况下,图14中的存储操作类似于针对图3所描述的存储操作。第一数据阵列模块1410和对应的第一ecc阵列模块(或者第二附加数据阵列模块)1430被同时激活,第二数据阵列模块1420和对应的第二ecc阵列模块(或者第一附加数据阵列模块)1440被同时激活。
[0318]
当第一数据阵列模块1410和对应的第一ecc阵列模块(或者第二附加数据阵列模块)1430被同时激活时,第一数据阵列模块1410使用第一列译码模块1450,第一ecc阵列模块(或者第二附加数据阵列模块)1430使用第二列译码模块1460。
[0319]
当第二数据阵列模块1420和对应的第二ecc阵列模块(或者第一附加数据阵列模块)1440被同时激活时,第二数据阵列模块1420使用第二列译码模块1460,第二ecc阵列模块(或者第一附加数据阵列模块)1440使用第一列译码模块1450。
[0320]
因此,第一数据阵列模块1410和第二ecc阵列模块(或者第一附加数据阵列模块)1440在不同时间被激活时复用第一列译码模块1450,第二数据阵列模块1420和第一ecc阵列模块(或者第二附加数据阵列模块)1430在不同时间被激活时复用第二列译码模块1460。
[0321]
当第一列译码模块1450是专门设置用于第一数据阵列模块1410且能够满足第二ecc阵列模块(或者第一附加数据阵列模块)1440对于列译码模块的需求时,称为第二ecc阵列模块(或者第一附加数据阵列模块)1440使用用于第一数据阵列模块1410的第一列译码模块1450;当第一列译码模块1450是专门设置用于第二ecc阵列模块(或者第一附加数据阵列模块)1440且能够满足第一数据阵列模块1410对于列译码模块的需求时,称为第一数据阵列模块1410使用用于第二ecc阵列模块(或者第一附加数据阵列模块)1440的第一列译码模块1450。
[0322]
同理,当第二列译码模块1460是专门设置用于第二数据阵列模块1420且能够满足第一ecc阵列模块(或者第二附加数据阵列模块)1430对于列译码模块的需求时,称为第一ecc阵列模块(或者第二附加数据阵列模块)1430使用用于第二数据阵列模块1420的第二列译码模块1460;当第二列译码模块1460是专门设置用于第一ecc阵列模块(或者第二附加数据阵列模块)1430且能够满足第二数据阵列模块1420对于列译码模块的需求时,称为第二数据阵列模块1420使用用于第一ecc阵列模块(或者第二附加数据阵列模块)1430的第二列译码模块1460。
[0323]
另外,也可以看到,在图14中,存储器在复用第一列译码模块1450和第二列译码模块1460的同时,也复用了相应的灵敏放大器和写驱动模块。
[0324]
在图14中的存储器不支持ecc功能的情况下,转换模块1409获得指示存储器不支持ecc功能的控制指令,停用ecc编解码模块且使得第一ecc阵列模块(或者第二附加数据阵列模块)1430和第二ecc阵列模块(或者第一附加数据阵列模块)1440都用于存储附加数据,其中第一ecc阵列模块(或者第二附加数据阵列模块)1430用于存储第二数据阵列模块1420中存储的数据的附加数据或者用于存储第一数据阵列模块1410中存储的数据的附加数据,第二ecc阵列模块(或者第一附加数据阵列模块)1440用于存储第一数据阵列模块1410中存储的数据的附加数据或者用于存储第二数据阵列模块1420中存储的数据的附加数据。
[0325]
在第一ecc阵列模块(或者第二附加数据阵列模块)1430用于存储第二数据阵列模块1420中存储的数据的附加数据以及第二ecc阵列模块(或者第一附加数据阵列模块)1440用于存储第一数据阵列模块1410中存储的数据的附加数据的情况下,第一数据阵列模块1410和第二数据阵列模块1420在不同时间被激活,第一数据阵列模块1410和第二ecc阵列模块(或者第一附加数据阵列模块)1440在不同时间被激活,第二数据阵列模块1420和第一ecc阵列模块(或者第二附加数据阵列模块)1430在不同时间被激活。在这种情况下,不对外围电路进行复用。
[0326]
第一数据阵列模块1410或者第二ecc阵列模块(或者第一附加数据阵列模块)1440被激活时使用相应的外围电路,例如第一列译码模块1450以及相应的灵敏放大器和写驱动模块。
[0327]
第二数据阵列模块1420或者第一ecc阵列模块(或者第二附加数据阵列模块)1430被激活时使用相应的外围电路,例如第二列译码模块1460以及相应的灵敏放大器和写驱动模块。
[0328]
在第一ecc阵列模块(或者第二附加数据阵列模块)1430用于存储第一数据阵列模块1410中存储的数据的附加数据以及第二ecc阵列模块(或者第一附加数据阵列模块)1440用于存储第二数据阵列模块1420中存储的数据的附加数据的情况下,第一数据阵列模块1410和对应的第一ecc阵列模块(或者第二附加数据阵列模块)1430被同时激活,第二数据阵列模块1420和对应的第二ecc阵列模块(或者第一附加数据阵列模块)1440被同时激活。
[0329]
当第一数据阵列模块1410和对应的第一ecc阵列模块(或者第二附加数据阵列模块)1430被同时激活时,第一数据阵列模块1410使用第一列译码模块1450,第一ecc阵列模块(或者第二附加数据阵列模块)1430使用第二列译码模块1460。
[0330]
当第二数据阵列模块1420和对应的第二ecc阵列模块(或者第一附加数据阵列模块)1440被同时激活时,第二数据阵列模块1420使用第二列译码模块1460,第二ecc阵列模块(或者第一附加数据阵列模块)1440使用第一列译码模块1450。
[0331]
因此,第一数据阵列模块1410和第二ecc阵列模块(或者第一附加数据阵列模块)1440在不同时间被激活时复用第一列译码模块1450,第二数据阵列模块1420和第一ecc阵列模块(或者第二附加数据阵列模块)1430在不同时间被激活时复用第二列译码模块1460。
[0332]
另外,也可以看到,在图14中,存储器在复用第一列译码模块1450和第二列译码模块1460的同时,也复用了相应的灵敏放大器和写驱动模块。
[0333]
图14中所提出的转换模块能够进行灵活的控制,使得在仅进行很少改变的基础上,能够很容易地在支持ecc功能和不支持ecc功能间进行转换。
[0334]
可以看到,图14中的存储器是基于图3的存储器的改型。应理解,本发明的转换模
块也适用于图4至图8中所示出的存储器。
[0335]
图15是根据本发明的包括转换单元的阵列单元模块的一个实施方案的示意图。
[0336]
图15例示了包括转换单元的阵列单元模块的示意图。图15中的阵列单元模块包括:第一数据阵列单元1510;第二数据阵列单元1520;第一ecc阵列单元(或者第二附加数据阵列单元)1530;第二ecc阵列单元(或者第一附加数据阵列单元)1540;转换单元1509,分别与第一数据阵列单元1510、第二数据阵列单元1520、第一ecc阵列单元(或者第二附加数据阵列单元)1530和第二ecc阵列单元(或者第一附加数据阵列单元)1540连接。另外,类似于图9,第一行译码单元1550设置在第一数据阵列单元1510和第二数据阵列单元1520之间,第二行译码单元1560设置在第一ecc阵列单元(或者第二附加数据阵列单元)1530和第二ecc阵列单元(或者第一附加数据阵列单元)1540之间。
[0337]
图15示出的阵列单元模块仅包括两个数据阵列单元和两个ecc阵列单元。应理解,图15中的阵列单元模块也可以包括多于两个的数据阵列单元和多于两个的ecc阵列单元。
[0338]
另外,在图15中,阵列单元模块包括相同数目的数据阵列单元和ecc阵列单元。然而,本发明的阵列单元模块也可以包括不同数目的数据阵列单元和ecc阵列单元,其中多个数据阵列单元可以复用一个ecc阵列单元。
[0339]
在图15中的阵列单元模块支持ecc功能的情况下,转换单元1509获得指示阵列单元模块支持ecc功能的控制指令,启用ecc编解码模块(未示出)且使得第一ecc阵列单元(或者第二附加数据阵列单元)1530和第二ecc阵列单元(或者第一附加数据阵列单元)1540都用于存储ecc码,其中第一ecc阵列单元(或者第二附加数据阵列单元)1530用于存储针对第一数据阵列单元1510中存储的数据进行ecc编码所获得的校验码,第二ecc阵列单元(或者第一附加数据阵列单元)1540用于存储针对第二数据阵列单元1520中存储的数据进行ecc编码所获得的校验码。
[0340]
在这种情况下,图15中的存储操作类似于针对图9所描述的存储操作。第一数据阵列单元1510和对应的第一ecc阵列单元(或者第二附加数据阵列单元)1530被同时激活。此时,第一数据阵列单元1510使用第一行译码单元1550,第一ecc阵列单元(或者第二附加数据阵列单元)1530使用第二行译码单元1560。第二数据阵列单元1520和对应的第二ecc阵列单元(或者第一附加数据阵列单元)1540被同时激活。此时,第二数据阵列单元1520使用第二行译码单元1560,第二ecc阵列单元(或者第一附加数据阵列单元)1540使用第一行译码单元1550。因此,第一数据阵列单元1510和第二ecc阵列单元(或者第一附加数据阵列单元)1540在不同时间被激活时复用第一行译码单元1570,第二数据阵列单元1520和第一ecc阵列单元(或者第二附加数据阵列单元)1530在不同时间被激活时复用第二行译码单元1560。
[0341]
当第一行译码单元1550是专门设置用于第一数据阵列单元1510且能够满足第二ecc阵列单元(或者第一附加数据阵列单元)1540对于行译码单元的需求时,称为第二ecc阵列单元(或者第一附加数据阵列单元)1540使用用于第一数据阵列单元1510的第一行译码单元1550;当第一行译码单元1550是专门设置用于第二ecc阵列单元(或者第一附加数据阵列单元)1540且能够满足第一数据阵列单元1510对于行译码单元的需求时,称为第一数据阵列单元1510使用用于第二ecc阵列单元(或者第一附加数据阵列单元)1540的第一行译码单元1550。
[0342]
同理,当第二行译码单元1560是专门设置用于第二数据阵列单元1520且能够满足
第一ecc阵列单元(或者第二附加数据阵列单元)1530对于行译码单元的需求时,称为第一ecc阵列单元(或者第二附加数据阵列单元)1530使用用于第二数据阵列单元1520的第二行译码单元1560;当第二行译码单元1560是专门设置用于第一ecc阵列单元(或者第二附加数据阵列单元)1530且能够满足第二数据阵列单元1520对于行译码单元的需求时,称为第二数据阵列单元1520使用用于第一ecc阵列单元(或者第二附加数据阵列单元)1530的第二行译码单元1560。
[0343]
在图15中的阵列单元模块不支持ecc功能的情况下,转换单元1509获得指示阵列单元模块不支持ecc功能的控制指令,停用ecc编解码模块(未示出)且使得第一ecc阵列单元(或者第二附加数据阵列单元)1530和第二ecc阵列单元(或者第一附加数据阵列单元)1540都用于存储附加数据,其中第一ecc阵列单元(或者第二附加数据阵列单元)1530用于存储第二数据阵列单元1520中存储的数据的附加数据或者用于存储第一数据阵列单元1510中存储的数据的附加数据,第二ecc阵列单元(或者第一附加数据阵列单元)1540用于存储第一数据阵列单元1510中存储的数据的附加数据或者用于存储第二数据阵列单元1520中存储的数据的附加数据。
[0344]
在第一ecc阵列单元(或者第二附加数据阵列单元)1530用于存储第二数据阵列单元1520中存储的数据的附加数据以及第二ecc阵列单元(或者第一附加数据阵列单元)1540用于存储第一数据阵列单元1510中存储的数据的附加数据的情况下,第一数据阵列单元1510和第二数据阵列单元1520在不同时间被激活,第一数据阵列单元1510和第二ecc阵列单元(或者第一附加数据阵列单元)1540在不同时间被激活,第二数据阵列单元1520和第一ecc阵列单元(或者第二附加数据阵列单元)1530在不同时间被激活。在这种情况下,不对行译码单元进行复用。
[0345]
第一数据阵列单元1510或者第二ecc阵列单元(或者第一附加数据阵列单元)1540被激活时使用例如第一行译码单元1550。
[0346]
第二数据阵列单元1520或者第一ecc阵列单元(或者第二附加数据阵列单元)1530被激活时使用例如第二行译码单元1560。
[0347]
在第一ecc阵列单元(或者第二附加数据阵列单元)1530用于存储第一数据阵列单元1510中存储的数据的附加数据以及第二ecc阵列单元(或者第一附加数据阵列单元)1540用于存储第二数据阵列单元1520中存储的数据的附加数据的情况下,第一数据阵列单元1510和对应的第一ecc阵列单元(或者第二附加数据阵列单元)1530被同时激活,第二数据阵列单元1520和对应的第二ecc阵列单元(或者第一附加数据阵列单元)1540被同时激活。
[0348]
当第一数据阵列单元1510和对应的第一ecc阵列单元(或者第二附加数据阵列单元)1530被同时激活时,第一数据阵列单元1510使用第一行译码单元1550,第一ecc阵列单元(或者第二附加数据阵列单元)1530使用第二行译码单元1560。
[0349]
当第二数据阵列单元1520和对应的第二ecc阵列单元(或者第一附加数据阵列单元)1540被同时激活时,第二数据阵列单元1520使用第二行译码单元1560,第二ecc阵列单元(或者第一附加数据阵列单元)1540使用第一行译码单元1550。
[0350]
因此,第一数据阵列单元1510和第二ecc阵列单元(或者第一附加数据阵列单元)1540在不同时间被激活时复用第一行译码单元1550,第二数据阵列单元1520和第一ecc阵列单元(或者第二附加数据阵列单元)1530在不同时间被激活时复用第二行译码单元1560。
[0351]
图15中所提出的转换单元能够进行灵活的控制,使得在仅进行很少改变的基础上,能够很容易地在支持ecc功能和不支持ecc功能间进行转换。
[0352]
可以看到,图15中的阵列单元模块是基于图9的阵列单元模块的改型。应理解,本发明的转换单元也适用于图9至图13中所示出的阵列单元模块。
[0353]
图16示出了用于存储器的存储方法的一个实施方案的流程图。
[0354]
图16中所涉及的存储器是上面所描述的任意一种存储器,所述存储器至少包括:n个数据阵列模块;l个纠错码ecc阵列模块;转换模块,所述转换模块分别与所述数据阵列模块和所述ecc阵列模块连接;其中n为大于等于2的正整数,l为小于等于n的正整数。
[0355]
所述存储方法包括如下步骤:
[0356]
步骤1601:获取控制指令。
[0357]
步骤1602:根据所述控制指令,使得第k个阵列模块选择性地存储ecc码或者附加数据,所述ecc码是针对所述第k个ecc阵列模块所对应的数据阵列模块中存储的数据进行ecc编码所获得的校验码,所述附加数据是在不同于所述第k个ecc阵列模块所对应的数据阵列模块的数据阵列模块中所存储的数据的附加数据,其中k为小于等于l的正整数。
[0358]
图17示出了用于阵列单元模块的存储方法的一个实施方案的流程图。
[0359]
图17中所涉及的阵列单元模块是上面所描述的任意一种阵列单元模块,所述阵列单元模块至少包括:n个数据阵列单元;l个纠错码ecc阵列单元;转换单元,所述转换单元分别与所述数据阵列单元以及所述ecc阵列单元连接;其中n为大于等于2的正整数,l为小于等于n的正整数。所述存储方法包括如下步骤:
[0360]
步骤1701:获取控制指令。
[0361]
步骤1702:根据所述控制指令,使得第k个阵列单元选择性地存储ecc码或者附加数据,所述ecc码是针对所述第k个ecc阵列单元所对应的数据阵列单元中存储的数据进行ecc编码所获得的校验码,所述附加数据是在不同于所述第k个ecc阵列单元所对应的数据阵列单元的数据阵列单元中所存储的数据的附加数据。
[0362]
在所述存储方法中,每个数据阵列单元及对应的ecc阵列单元的总大小是根据所采用的ecc算法来确定的,且所述总大小等于所述ecc算法所需的数据位长度及所产生的校验位长度之和的p倍,其中p为大于等于1的正整数。
[0363]
本发明中所提出的存储器是存储芯片(例如,rom、sdram、ram、dram、sram、flash、eprom、eeprom、cd-rom或其他光盘存储装置、磁盘存储装置或其他磁性存储装置),以用于存储数据和/或计算机代码。存储器可以是或包括非瞬态易失性存储器或非易失性存储器等。
[0364]
应注意,上文所提及的实施方案例示而非限制本发明,且在不脱离所附权利要求的范围的前提下,本领域技术人员将能够设计许多替代实施方案。应理解,本发明的范围由权利要求限定。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜