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

一种用于操作存储器组件的方法和装置与流程

2021-06-04 12:27:00 来源:中国专利 TAG:阵列 装置 用于 公开 操作


1.本公开涉及一种用于操作存储阵列的方法和装置。


背景技术:

2.本公开涉及一种用于操作存储阵列的方法和装置。
3.一些计算系统包括用于存储和提供数据的存储阵列以实时运行程序。存储阵列可包括存储段的阵列,存储段中的每个可存储并提供信息单元。存储段中的每个可被分配相应的物理地址以允许唯一的分配。
4.存储阵列的寿命会受到所执行的读取和写入操作的总数的影响。特别地,存储阵列的寿命会由于老化效应而缩短。通常,存储阵列的存储段不能被单独修复或替换,从而存储段中的一个发生故障甚至会导致整个存储阵列的故障。
5.例如,通过比平均频率更频繁地重复写入和读取,因此某些存储段的利用率不均匀会导致存储阵列寿命缩短。


技术实现要素:

6.在这种背景下,本发明的目的是提供一种用于操作存储阵列的方法和/或装置,以便对存储阵列的寿命产生积极影响。
7.通过权利要求1的目标主题和独立权利要求来实现该目的。由从属权利要求的目标主题再现有利的示例。
8.本文公开了一种用于操作存储阵列的方法。根据该方法接收物理地址。将物理地址分配给存储阵列的第一存储段。将物理地址修改为修改的物理地址。将所修改的物理地址分配给存储阵列的第二存储段。然后可对与所修改的物理地址对应的存储段进行寻址。这允许对第二存储段进行寻址,以例如存储存储值或检索存储在其中的存储值。
9.存储阵列可配置为存储数据并提供所存储的数据以供读取。特别地,存储阵列可配置为实时存储并提供数据以运行程序。例如,存储阵列可(临时地)存储在程序运行期间生成、检索和/或处理的存储值。
10.存储阵列可包括易失性存储器的存储单元。例如,存储阵列配置为:只要存储阵列处于操作中和/或被供应操作电流,即维护所存储的信息或所存储的值。例如,如果电力供应中断,则易失性存储器可维护所存储的信息几分之一秒,甚至更长的时间段。在一些示例中,存储阵列包括sram的单元和/或dram的单元。在一些示例中,存储阵列是处理器寄存器的一部分和/或联接到处理器的机器代码操作数。例如,将存储阵列联接到处理器单元作为数据存储器和/或程序存储器。
11.在其它示例中,存储阵列可包括非易失性存储器的存储单元。非易失性存储器可包括rom、prom、eprom、eeprom、闪速eeprom、fram、mram或相变ram。
12.存储阵列可包括存储段的布置。存储段可包括存储单元,该存储单元包括有源和无源半导体部件的电路。每个存储单元可配置为存储信息单元(诸如二进制值,缩写为位)
并提供其以供读取。例如,存储单元包括具有四个、六个、八个或更多个晶体管的sram单元。在其它示例中,存储单元包括具有两个晶体管的dram单元。晶体管可包括场效应晶体管fet。
13.另外地或可选地,存储段可包括多个存储单元。可存储在存储段的多个存储单元中的数据量或存储值可被称为字。因此,存储段的存储单元的数量可对应于(最大)字长。例如,存储段中的存储单元的数量为2、4、8、16、32、64或2
n
,其中n大于6。在其它示例中,存储段的存储单元的数量可以为字长的一半(半字)。例如,存储阵列可具有八位的字长,且每个存储段的长度可以为四位。
14.每个存储段可被分配相应的物理地址以允许唯一的分配,从而允许用于读取或写入操作的相应存储段的唯一寻址。存储阵列的存储段可组织成行和列。另外,存储阵列可被划分为块,而且每个块包括预定数量的行和/或预定数量的列。因此,可使用关联行、关联列和关联块(如果存在)的组合来对特定存储段进行唯一寻址。例如,物理地址可包括与行、列和块(如果存在)有关的信息。
15.存储阵列可设置为单独的独立单元和/或集成到整个系统中。例如,存储阵列可以是计算机系统的主存储器、辅助存储器和/或一些其它存储器的一部分。计算机系统可以是通用计算机系统,其可包括例如多用途计算机、pc、移动计算装置或工作站。
16.根据示例,存储阵列可以是配置和定制为运行特定操作的嵌入式系统的一部分。在一些示例中,嵌入式系统包括计算机系统。例如,嵌入式系统可配置为执行监控功能、开环控制功能和/或闭环控制功能。嵌入式系统可配置为处理数据或信号,例如对其进行加密、解密、编码、解码或滤波。嵌入式系统可以以专用硬件实现,例如在机动车辆、航空器、医疗装置、家用电器、消费电子装置或移动装置中。另外,嵌入式系统可与其它嵌入式系统通信和/或与之形成更大的整体系统,例如,用于控制机动车辆或航空器的部件。例如,多个嵌入式系统可经由总线联接。在一些示例中,存储阵列配置为与微处理器通信。
17.存储装置的每个存储段可适于存储存储值并提供所存储的存储值以供检索。术语“存储值”可以指要存储的信息的内容。特别地,存储值可包括(临时)存储的用于进一步处理的信息。例如,存储值包括用于操作的输入值。例如,输入值可能已经由用户输入或由程序生成。另外,存储值可包括将作为操作结果输出的输出值。可选地或另外地,存储值包括处理器的中间结果、切换逻辑的简单操作或复杂操作、算术单元和/或算术逻辑单元。因此,存储值可包括输入值、中间结果、和/或算术单元和/或逻辑单元的操作结果。存储值的长度可以为一位或多位。例如,存储值的长度是2、4、8、16、32或64位。在存储阵列配置为存储2次幂至n次幂的字长的示例中,存储值的长度可以为存储阵列中的字长。
18.物理地址可唯一地标识存储阵列的关联存储段。物理地址可以是二进制数,即多于一位的序列。可选地或另外地,物理地址可用机器可译语言来表示。例如,物理地址可以是十六进制数的形式,该十六进制数可转换成相应的二进制数。物理地址可由处理器单元分配给要存储在存储阵列中的特定存储值。另外,处理器单元可使用物理地址来检索存储在存储阵列的相应存储段中的存储值。可选地或另外地,存储器管理单元(mmu)可使用物理地址,在这种情况下,存储器管理单元可配置为向处理器单元或运行程序提供至少部分地表示存储阵列的虚拟存储器。
19.物理地址可与存储值一起被提供到数据分组中。例如,可指定数据分组的哪些
(位)位置识别物理地址,以及哪些其它位置识别存储值。可选地或另外地,物理地址和存储分组可经由单独的通道接收。例如,存储值经由数据总线传输,而物理地址经由地址总线传输。
20.根据本文所述的方法,物理地址被修改为修改的物理地址。特别地,所修改的物理地址可来自与修改前的物理地址相同的地址空间。将所修改的物理地址分配给与修改前的物理地址不同的存储阵列的存储段。因此,可将物理地址分配给存储阵列的第一存储段,并且可将所修改的物理地址分配给存储阵列的第二存储段。
21.可将所修改的物理地址转换为相应的控制信号,以对相应的存储段进行寻址。该操作也可被称为解码。为此,可设置控制单元,该控制单元配置为接收所修改的物理地址并产生适当的控制信号,以对所修改的物理地址被分配到的特定存储段进行寻址。控制单元可包括一个或多个解码单元。如果存储阵列的存储段如上所述组织成行和列,则特定的存储段可通过相应的控制信号启用相应行和相应列来进行寻址。在存储阵列组织成块的示例中,相应块也可被启用以对相应存储段进行寻址。
22.在一些示例中,存储阵列的各个存储段连接到相应的字线和相应的位线。根据存储阵列的设计和结构,存储段可分别连接到一个以上的字线和/或一个以上的位线。各个存储段可通过向字线和位线施加相应的预定电压来进行寻址。
23.本文所述的方法通过将物理地址修改为修改的物理地址,使第二存储段而非第一存储段被选择。特别地,所修改的物理地址可来自与物理地址相同的地址空间。这可有利于物理地址到所修改的物理地址的转换。例如,可使用适当的电路将物理地址修改为修改的物理地址。因此,将物理地址修改到修改的物理地址可完全在硬件中实现。例如,与基于软件的解决方案相比,这可减少将物理地址修改为修改的物理地址的处理时间。例如,从物理地址到修改的物理地址的基于硬件的修改可在时钟周期的一小部分内实施,而类似的基于软件的修改可能需要多个时钟周期。在这种情况下,以时钟周期表示的时间可以指处理器单元和/或数据传输单元的时钟周期。这可提供一种通过周期性地改变要存储数据的存储目标而使存储阵列能平衡使用的手段。这允许更好地分配的存储段的利用率。这会对存储阵列的寿命产生积极影响。
24.还公开了一种包括具有多个存储段的存储阵列和修改单元的装置。修改单元配置为接收物理地址并将该物理地址修改为修改的物理地址。将物理地址分配给存储阵列的第一存储段。将所修改的物理地址分配给存储阵列的第二存储段。该装置可配置为实施上述方法。
25.本文所述的装置还可以是嵌入式系统的一部分。另外地或可选地,该装置可以是通用计算机系统的一部分。本文所述的装置、嵌入式系统或计算机系统能够实施本文所述的方法。
26.本文所述的装置的存储阵列可对应于以上关于该方法所述的存储阵列。因此,每个存储段可配置为存储并提供存储值。如上所述,可将特定的物理地址分配给每个存储段。
27.根据示例,在寻址相应存储段之前,可将物理地址修改为修改的物理地址。特别地,这省去了启用相应存储段的操作。另外,如果存在存储器管理单元,物理地址到修改的物理地址的修改可独立实施。
28.根据示例,物理地址包括一组地址段,其中地址段的子集可被修改以获得修改的
物理地址。因此,物理地址可被细分为地址段。地址段可包括可确定单个存储段的行、列和块(如果存在)。例如,地址段组包括识别存储段的行的第一地址段、标识存储段的列的第二地址段、以及标识存储段的块的第三段。物理地址还可包括一个或多个其它地址段。物理地址内的地址段的次序可取决于特定实施例。当修改物理地址时,可修改地址段组中的一个或多个地址段。地址段的子集可识别在该操作中修改的地址段。
29.物理地址的一个或多个地址段可从物理地址中取得并单独进行处理。该过程可被称为分段或解析。例如,物理地址分段可分段为表示相关存储段的行、列和块的三个地址段。例如,地址段可分别馈送到特定解码器以启用关联的存储段。
30.可先将物理地址分段为多个地址段,然后可分别修改一个或多个地址段。例如,将物理地址分段为用于关联的存储段的行、列和块的三个地址段,然后修改这些地址段中的一个、两个或全部三个。
31.在其它示例中,可先将物理地址修改为修改的物理地址,然后将其分段成各个存储段。例如,物理地址包括用于关联的存储段的行、列和块的三个地址段,并且在物理地址分段为各个地址段之前,可通过修改一个、两个或全部三个地址段来修改物理地址。
32.根据示例,可设置修改值。物理地址和修改值可分别是n位二进制数,其中n是正整数。所修改的物理地址是从对物理地址和修改值的异或运算中获得的。例如,异或逻辑运算(也可简称为xor运算)取两个二进制值或两个逻辑值作为输入值。异或逻辑运算可配置为,如果输入值相同则输出零或逻辑假。另外,异或逻辑运算可配置为,如果输入值不同则输出一或逻辑真。
33.因此,本文所述的装置可包括xor门,该xor门配置为接收物理地址和修改值,并且输出所修改的物理地址作为物理地址和修改值的xor组合的结果。特别地,可以为每个必须修改的各个位设置一个xor门。因此,该装置可包括配置为修改物理地址的位的多个xor门。
34.根据另一示例,所修改的物理地址可从物理地址和修改值的xnor组合获得。在其它示例中,物理地址和修改值的n位数中的一个或多个可根据xor逻辑运算来组合,而n位数的其余部分可根据xnor逻辑运算来组合。另外,物理地址和修改值的n位数中的一个或多个可用反相器来组合。特别地,可以为每个必须修改的各个位设置一个xnor门。因此,该装置可包括配置为修改物理地址的位的多个xnor门。另外,该装置可包括一个或多个xor门与一个或多个xnor门的组合。
35.根据示例,修改值由随机数生成器生成。随机数生成器可配置为生成随机数或随机数的序列。随机数生成器可包括确定性机制、非确定性机制或其组合。例如,随机数或随机数的序列可根据基于软件的确定性机制生成。另外地或可选地,随机数或随机数的序列可根据基于物理过程的非确定性机制生成。特别地,随机数生成器可帮助确保所生成的修改值尽可能均匀地循环遍历n位二进制数的所有排列。
36.根据示例,修改值是使用整数计数器确定的。例如,当存储阵列或存储段被重新布置、启动或重启时,整数计数器在预定操作点处递增或递减。特别地,整数计数器可存储并提供用于计数的值,即计数器值。另外,当存储阵列被重新布置、启动或重启时,整数计数器可递增或递减一个或多个。例如,整数计数器的计数器值是n位二进制数,当触发重新布置、启动或重启的事件发生时,该n位二进制数增加或减少诸如1的值。特别地,在整数计数器递增的情况下,在达到最大值之后可将整数计数器重置为最小值。最小值可以是0。计数器值
的最大值可以是例如可能的物理地址的数量,或物理地址的位位置的数量。在其它示例中,计数器值的最大值可小于可能的物理地址的数量,或小于物理地址的位位置的数量。在整数计数器递减的情况下,在达到最小值之后可将整数计数器重置为最大值。
37.本文中,除非明确指出不同,否则术语整数计数器和计数器可互换使用。修改值可与计数器的计数器值相同。在一些示例中,为了获得修改值,可修改计数器的计数器值以与方法或装置的配置匹配。例如,计数器值的最大值可超过可能的物理地址的数量,以及物理地址的位位置的数量。在这种情况下,可设置将计数器值转换为与来自物理地址的地址空间的地址兼容的值的电路。该转换值可等于修改值。在其它示例中,计数器值的最大值可小于可能的物理地址的数量,或小于物理地址的位位置的数量。
38.当存储阵列或存储段被重新布置时,所存储的数据可转移到其它存储器位置。例如,如果存储阵列处于非启用状态的时间超过定义的持续时间(诸如10分钟、30分钟、1小时或几小时),则可能发生存储阵列的重新布置。存储阵列的重新布置可通过用于直接内存访问(dma)的硬件和/或软件来执行。当启动、重启或恢复存储阵列或存储段的操作时,所存储的数据可被删除或是可删除的。当检测到这种事件时,除了计数器的计数器值之外,还可改变修改值。因此,当重新布置、或启动、或重启存储阵列或存储段时,可改变将物理地址修改为修改的物理地址的方式。这允许在延长的时间段上均衡地利用存储阵列和存储段。
39.因此,本文所述的装置可包括用于提供修改值的计数器。另外,这种计数器可配置为在重新布置、启动和/或重启存储段时递增或递减修改值。计数器可检测触发存储段的重新布置、启动或重启的事件,并且可响应于此改变修改值。计数器可包括用于存储计数器值的易失性存储器或非易失性存储器。计数器还可包括专用电源或连接到专用电源,即使在存储阵列已断电之后也可保持计数器值。
40.在一些示例中,整数计数器的值与修改值相同。在其它示例中,修改值可由整数计数器的计数器值唯一地确定,例如,通过在其上叠加另一值。另外地或可选地,修改值可由整数计数器的计数器值的n位数中的一个、一些或全部逐位反转而获得。整数计数器的使用可帮助确保修改值尽可能均匀地循环遍历n位二进制数的所有排列。
41.根据示例,所修改的物理地址通过n位数物理地址的位值在物理地址的第一位或最后一位(即第n位)的方向上移位并旋转k个位置来获得。数量k可大于零且不等于n。因此,所修改的物理地址可与物理地址的周期性且逐位的移位对应。这允许所修改的物理地址遍历物理地址的地址空间中的n位二进制数的所有可能排列。因此,可尽可能均匀地使用物理地址的地址空间中的地址。
42.物理地址的位值的这种移位可例如通过桶形移位器来实施。因此,本文所述的装置可包括桶形移位器。桶形移位器可配置为通过物理地址的位值在物理地址的第一位或第n位的方向上移位并旋转k个位置来输出所修改的物理地址。
43.桶形移位器可包括电路,该电路配置为在其输入处接收位串(即,多个位值的序列)并对其进行移位,以及必要时将其旋转至可定义数量的位位置。移位距离(即位串要被移位的位位置的数量)可由控制电路指定。特别地,显示装置可包括计数器。特别地,桶形移位器电路可设计为使得位位置彼此循环连接,从而取决于移位方向将最低值的位位置转移到最高值的位位置,反之亦然。因此,桶形移位器可配置为输出由输入位串移位一位或多位位置的位串。
44.桶形移位器可包括具有多个多路复用器的电路。例如,桶形移位器可包括n个n到1多路复用器。可选地或另外地,桶形移位器可分解成一系列步骤。例如,桶形移位器可包括2n个√n到1多路复用器,其中n是平方数。在其它示例中,桶形移位器可包括n*e个d到1多路复用器,其中n=d
e
。在其它示例中,桶形移位器可包括n*e个d到1多路复用器和n*g个f到1多路复用器,其中n=d
e
·
f
g

45.另外,桶形移位器可包括将移位距离转换为相应电信号的解码器。例如,桶形移位器包括由n个输出组成的n到1的解码器,并根据移位距离启用这些输出中的一个。在其它示例中,桶形移位器可包括级联布置的多个解码器。
46.对于本领域技术人员而言,桶形移位器的设计、操作方法、结构和示例性实施例是公知的,本文不对此进行详细描述。例如,在“使用复用器实现桶形移位器(implementing barrel shifters using multipliers)”(paul gigliotti,xilinx应用指南,2004年8月17日,xapp195(vi.i))中,参考图1的第1页,描述了使用1到8的多路复用器的8位桶形移位器的几个示例性实施例。在上述文本的第3页和图3中,描述了具有32个32到1多路复用器的32位桶形移位器的示例。
47.在“用于桶形移位器的可选设计方案(design alternatives for barrel shifters)”(michael j.schulte等,proc.spie 4791,高级信号处理算法、体系结构和实现方式xii,2002年12月6日,doi:10.1117/12.452034)中,作者描述了桶形移位器的实现方式的一些具体示例。在参考图1和图2的章节2和章节3.1中,该文描述了两个8位桶形移位器,其接收8个输入位,并总共使用24个2

1多路复用器以三步将输入位向右(图1)或向左(图2)移位。另外,参照图3和图4,描述了8位桶形移位器的另外两个示例,其被设计为右移位器,并且还能够将输入位向左移位。参见参考图5和图6的章节3.1和章节3.2,描述了能够逻辑地或算术地向左或向右移位、或旋转输入位的另一示例。
48.根据示例,数量k通过整数计数器来确定,该整数计数器在重新布置存储阵列时递增或递减。整数计数器可如上所述进行设计。本文所述的装置可包括相应计数器,例如如上所述的计数器。
49.根据示例,确定物理地址的二进制数是否包括n个0或n个1。如果发现物理地址的二进制数包括n个0或n个1,则确定数量n是偶数还是奇数。如果n是偶数,则物理地址的二进制数在n/2位置处取反。如果n是奇数,则物理地址的二进制数在(n

1)/2位置处取反。因此,可提供修改指令以用于由于仅由0或仅由1组成而使输入物理地址的移位将不起作用的情况。这避免了本文所述的方法或本文所述的装置的有效性的可能降低。
50.根据另一示例,确定整数计数器的计数器值是偶数还是奇数。如果发现物理地址的二进制数包括n个0或n个1,并且整数计数器的计数器值是奇数,则物理地址的二进制数取反。或者,如果整数计数器的计数器值是偶数,则物理地址的二进制数可取反。因此,可设置例外条件以用于物理地址的移位将不起作用的情况。这避免了本文所述的方法或本文所述的装置的有效性可能降低。
51.根据示例,第二存储段可通过解码所修改的物理地址来进行寻址。一旦根据本文所述的方法和本文所述的装置对存储段中的一个进行寻址,那么可将存储值存储在所寻址的存储段中。另外,所存储的存储值可以以与上述相同的方式读取。因此,读取存储值的操作可与在读取之前被转换为所修改的物理地址的物理地址相关联,使得能访问存储值。
52.根据示例,本文所述的装置还包括处理器单元和数据传输单元。处理器单元可配置为将存储值传送到存储装置或从存储装置检索所存储的存储值。这样,可将物理地址分配给存储值。数据传输单元可将处理器单元连接到存储装置,并配置为在处理器单元与存储装置之间传输物理地址。数据传输单元可包括总线。总线可由用于传输存储值的数据总线和用于传输物理地址的地址总线组成。数据总线和地址总线可设置为单独的总线。
53.下面将参考附图详细地描述本公开的一些示例。
附图说明
54.图1示出根据示例的方法的示意性流程图。
55.图2a到图2c示出根据示例的装置的示意图。
56.图3示出根据示例的修改单元的示意图。
57.图4示出根据示例的装置的示意图。
58.图5示出根据示例的装置的示意图。
59.图6a和图6b示出根据示例的修改单元以及具有物理地址和关联的所修改的物理地址的表的示意图。
60.图7a和图7b示出根据示例的修改单元以及物理地址到所修改的物理地址的移位并旋转的示意图。
61.图8示出根据示例的装置的示意图。
具体实施方式
62.图1示出用于操作存储阵列的方法100的示意性流程图。方法100可应用于本文所述的存储阵列的任何示例。特别地,方法100可应用于下面描述的装置200。
63.在102,接收分配给存储阵列的第一存储段的物理地址。在104,将物理地址修改为分配到存储阵列的第二存储段的修改的物理地址。在106,可对第二存储段进行寻址。
64.图2a至图2c示出用于操作存储阵列210的装置200。装置200可以是通用计算机系统的一部分、嵌入式系统的一部分或其组合。特别地,装置200可配置为获得用于在存储阵列210中存储或缓冲的存储值。
65.存储阵列210可如上所述进行设计。特别地,存储阵列210可包括多个sram、dram、或其它ram、或闪存的布置。存储阵列210包括多个存储段,该存储段包括第一存储段s1和第二存储段s2。在图2a至图2c中,存储段s1和s2标有附图标记。为了提高清晰度,附加的存储段没有附图标记。
66.存储段s1和s2可具有统一的存储器容量,例如,8位、16位、32位、64位或2
n
位,其中n是大于6的自然数。存储阵列的存储段可组织成行和列,也可组织成块。
67.图2a示出装置200的示意性局部视图,以及示出将第一物理地址a1和第二物理地址a2分别分配给存储阵列210的第一存储段s1和第二存储段s2。因此,第一物理地址a1唯一地识别关联的第一存储段s1。同样,第二物理地址a2唯一地识别关联的第二存储段s2。
68.如图2b和图2c所示,存储阵列210包括修改单元220,修改单元220配置为接收第一物理地址a1并将其修改为第二物理地址a2。第二物理地址a2与以上描述中给出的所修改的物理地址对应。
69.图2c还示出控制单元230,控制单元230配置为接收所修改的物理地址a2,并生成与所修改的物理地址a2对应的控制信号,以对相关联的第二存储段s2进行寻址。控制单元230可包括一个或多个解码单元(图2a至图2c中未明确示出)。
70.因此,对与上述存储段不同的存储段进行寻址。修改所接收的物理地址a1的规则可随时间变化。以这种方式,存储阵列210的存储段的局部利用率可以在整个存储阵列210上尽可能均匀地分布。这对存储阵列的寿命具有积极的影响。
71.图3示意性地示出由修改单元220修改为修改的物理地址a2的物理地址a1。物理地址a1包括四个地址段a11至a14。例如,地址段a11至a13分别标识第一存储段s1的行、列和块。地址段a14可以为空,包括附加信息以确定相关联的存储段,和/或包括不同的信息。地址段a11至a14中的每个可具有一个或多个位的长度。地址段a11至a14可具有不同的长度。
72.修改单元220可将四个地址段a11至a14中的一个、一些或全部四个修改为相应的地址段a21至a24。特别地,所修改的物理地址a2的地址段a21至a24分别具有与输入物理地址a1的地址段a11至a14相同的长度。在一些示例中,物理地址a1分段成由修改单元220单独修改的地址段a11至a14。因此,修改单元220可包括用于给定地址段的多个修改单元。在其它示例中,修改单元220连续接收物理地址a1并对其进行修改。例如,修改单元220可从连续的物理地址a1中选择性地修改地址段a11至a14,而无需对其进行分段。
73.图4示出存储阵列210、修改单元220和控制单元230的示意性示例。存储阵列210包括多个存储段214,存储段214包括第一存储段s1和第二存储段s2(未在图4中明确示出)。存储段214以块212、行和列的方式布置。每个存储段214包括一个或多个sram单元。存储段214与特定的物理地址相关联。在图4中,为了提高清晰度,并非所有的存储段都标有相应的附图标记214。
74.控制单元230包括行解码器232、列解码器234、块解码器236。在存储阵列210包括多个存储块212的示例中,如图4所示,解码单元230可包括多个列解码器234和多个读/写电路238,其数量对应于存储块212的数量。另外,控制单元230可包括用于读取或写入存储值的读/写电路238。
75.解码器232至236配置为进行单个存储段214的寻址。例如,行解码器232可通过向单个行施加预定电压来启用该行。类似地,列解码器234和块解码器236可通过改变施加的电压来启用单个列以及单个块。同时,可操作读/写电路238以将存储值写入所选择的存储段或从所选择的存储段读取。
76.物理地址a1包括确定第一存储段s1的行、列和块的地址段a11至a13。在图4的示例中,修改单元220可配置为接收连续形式的物理地址a1,即,物理地址a1未分段成地址段a11至a13。在将物理地址a1修改为修改的物理地址a2之后,将所修改的物理地址a2分段为其地址段a21至a23,并馈送到相应的解码器232至236。所修改的物理地址的地址段a21至a23确定存储阵列210中相关联的存储段s2的行、列和块。解码装置232至236接收相应的地址段a21至a23,并寻址相关联的第二存储段s2。
77.图5示意性地示出修改单元220的另一示例。在图5的示例中,修改单元220包括行修改单元222、列修改单元224和块修改单元226。行修改单元222配置为接收物理地址a1的第一地址段a11,并将其修改为修改的第一地址段a21。因此,列修改单元224及块修改单元226配置为接收相应的地址段a12及a13,并将其修改为相应的修改的地址段a22和a23。
78.根据图5的示例,修改单元220包括用于行、列和块的三个修改单元222至226。在其它示例中,修改单元220可仅包括修改单元222至226中的一个或两个,以选择性地修改物理地址a1的行、列和/或块。
79.图6a和图6b示出修改单元220的示意性示例。根据图6a和图6b的示例的修改单元包括计数器240和多个xor门242。xor门242的数量可与输入物理地址a1中要在输入的物理地址a1中修改的位位置的数量对应。可选地或另外地,xor门242的数量可与要修改的输入物理地址a1的地址段的位位置的数量对应。在图6a和图6b中,在示例中所示,输入的物理地址a1被示为四位二进制数,以及修改单元220包括四个xor门242。
80.计数器240包括用于存储和递增作为n位二进制数的计数器值的电路。在另一示例中,计数器240可包括用于存储和递减作为n位二进制数的计数器值的电路。计数器值的二进制数的长度n与输入物理地址a1的位位置的数量对应。在存储阵列210重新布置、启动或重启时,计数器240的计数器值递增或递减。另外,计数器240可如上所述进行设计。
81.每个xor门242配置为修改物理地址a1的相应位。xor门242在其输入处接收物理地址a1的相应位(如数据线228所示),以及计数器240的计数器值的相应位。在图6a的示例中,计数器232的计数器值对应于修改值m,参见图6b。在未明确示出的另一示例中,可将计数器值修改为修改值m并馈送到xor门242。在未示出的示例中,xor门242中的一个或多个可分别由xnor门代替。
82.图6b示出修改的物理地址a2的表格表示,其是由四位二进制数的物理地址a1与作为修改值m的四位二进制数的计数器值的异或组合得到的。在图6a和图6b的示例中,物理地址a1来自线性地址空间,其中从0至15的总共16个地址被顺序地线性编号,在表格的第一列中表示为四位二进制数(0000至1111)。在本示例中,修改值m可假设为0至15之间的值,在图6b的表格的首行中被示为四位二进制数(0000至1111)。从表的第二行和表的第二列开始的值表示所修改的物理地址a2,作为输入物理地址a1与相应的修改值m的异或组合的结果。
83.在图6b的表格的第二列中,示出来自物理地址a1与修改值m(0000)的异或组合的值。因此,在这种情况下,所修改的物理地址a2与输入物理地址a1相同。在表格的最后一列中,示出来自物理地址a1与修改值m(1111)的异或组合的值,其对应于物理地址a1的取反。通过计数器240的计数器值与物理地址a1的异或组合,将物理地址a1以唯一的方式修改为修改的物理地址a2。
84.如上所述,当存储阵列210或装置200被重新布置、启动或重启时,修改值m可与计数器240的计数器值一起改变。计数器240的计数器值的最大值可与可能的物理地址的数量对应。例如,从0000开始,当存储阵列210被重新布置、启动或重启时,修改值m递增1。如果修改值m具有最大值1111(或十进制表示法中的15),则当存储阵列210被重新布置、启动或重启时修改值m可重置为0000(或十进制表示法中的0)。在其它示例中,修改值m可增加多于1。修改值m的值移位可随时间变化或根据需要变化。在其它示例中,当存储阵列210被重新布置、启动或重启时修改值m可减小1,并且如果修改值m为0000并由于要进一步减小,则修改值m可重置为1111。
85.另外或作为可选的计数器240,可设置配置为生成四位随机二进制数的随机数生成器。因此,修改值m可与来自随机数生成器的四位随机二进制数对应。在其它示例中,修改值m可由计数器240的计数器值与来自随机数生成器的四位随机二进制数的组合中获得。
86.图7a示出修改单元220的另一示例。修改单元220包括计数器240和桶形移位器244。计数器240和/或桶形移位器244可如上所述进行配置。桶形移位器244可按逐位的方式接收物理地址a1,如线228所示。在图7a和图7b中,物理地址a1和所修改的物理地址a2示例性地表示四位二进制数。可选地或另外地,桶形移位器244可修改输入物理地址a1的一部分或地址段。
87.桶形移位器236还可接收计数器240的计数器值。根据计数器240的计数器值,桶形移位器244可确定物理地址a1的位要移位的位位置的数量。移位的结果可与所修改的物理地址a2对应。
88.另外地或可选地,可设置生成四位随机二进制数的随机数生成器。因此,计数器值可由随机数生成器的四位随机二进制数代替或与其叠加。随机数生成器可如上所述来实现。
89.修改单元220还可包括多路复用器246和检测电路248。检测电路248可配置为检测物理地址a1的二进制数是否仅由1或仅由0组成。在图7a的示例中,检测电路248包括分别接收物理地址a的位的and门和nor门、合并这些门的输出值的or门、以及合并or门的输出值与计数器240的计数器值的另一and门,并将输出值馈送到多路复用器246。因此,如果物理地址的所有位都是0或1且计数器240的计数器值是奇数,则多路复用器246对物理地址a1的位执行取反。在其它示例中,物理地址a1的二进制数可在四个位位置中的两个处取反。
90.图7b示出输入的物理地址a1,以及可使用图7a的修改单元220获得的修改的地址a2和a2*的两个示例。修改的地址a2和a2*分别通过在方向m1、m2上移动物理地址a1的四位二进制数来获得。
91.物理地址a1的二进制数包括具有位值a1至a4的四位的位置,其中a1是物理地址a1的最低有效位,而a4是物理地址a1的最高有效位。在图7b的示例中,输入物理地址a1是四位二进制数1000,其对应于十进制表示中的值8。
92.在示例中,如箭头m1所示,物理地址a1的二进制数向右移位一位的位置。这可对应于物理地址a1的位值a1至a4向最低有效位的位置移动一位的位置,如相应的修改的物理地址a2所示。在这种情况下,物理地址a1的最低有效位位置的位a1向左旋转并置于最高有效位的位置。其余的位值a2至a4向右移位一位得到值0100(十进制表示为4)。
93.在另一示例中,如箭头m2所示,物理地址a1的二进制数向左移位一位的位置。这可对应于物理地址a1的位值a1至a4向最高有效位的位置移动一位的位置,如相应的修改的物理地址a2*所示。在这种情况下,物理地址a1的最高有效位位置的位a4向右旋转并置于最低有效位的位置。其余的位a1至a3向左移位一位得到值0001(十进制表示为1)。
94.图7b的示例示出在每种情况下物理地址a1的位值移位并旋转一位的位置。在其它的示例中,未在图7b中示出,修改单元220可配置为将物理地址的位值向左或向右移位多于一位的位置。
95.图8示出根据另一示例的装置200。相应地,装置200可包括处理器单元250和数据传输单元252。特别地,处理器单元250可配置为将存储值传送到存储装置210或从存储装置210检索存储值。数据传输单元252可将处理器单元250连接到存储装置210,并配置为在处理器单元250与存储装置210之间传输物理地址a1。数据传输单元252可包括用于传输存储值的数据总线,以及用于在处理器单元250与存储阵列210之间传输物理地址的地址总线。
96.附图标记的列表
97.100:方法
98.102

106:方法步骤
99.200:装置
100.210:存储阵列
101.212:存储块
102.214:存储单元
103.220:修改单元
104.222:行修改单元
105.224:列修改单元
106.226:块修改单元
107.228:数据线
108.230:解码单元
109.232:行解码器
110.234:列解码器
111.236:块解码器
112.238:读/写电路
113.240:计数器
114.242:xor门
115.244:桶形移位器
116.246:多路复用器
117.248:检测电路
118.250:处理器单元
119.252:数据传输单元
120.a1:物理地址
121.a11

a14:地址段
122.a2,a2*:修改的物理地址
123.a21

a24:地址段
124.a1

a4:位值
125.m:修改值
126.s1、s2:存储段
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜