Method and device for operating a memory assembly
11557327 · 2023-01-17
Assignee
Inventors
Cpc classification
G11C7/20
PHYSICS
G11C7/1039
PHYSICS
H03K19/21
ELECTRICITY
G06F2212/7204
PHYSICS
G06F7/588
PHYSICS
International classification
G11C7/10
PHYSICS
G11C7/20
PHYSICS
Abstract
The invention relates to a method for operating a memory assembly. A physical address is received. The physical address is associated with a first memory segment of a memory assembly. The physical address is modified to a modified physical address. The modified physical address is associated with a second memory segment of the memory assembly.
Claims
1. A Method of operating a memory array, the method comprising the following steps: receiving a physical address, the physical address being assigned to a first memory segment of a memory array; modifying the physical address to a modified physical address, the modified physical address being assigned to a second memory segment of the memory array; and addressing the second memory segment.
2. Method according to claim 1, wherein the physical address comprises a group of address segments, wherein the modified physical address is obtained from a modification of a subset of the address segments.
3. Method according to claim 1, further comprising: providing a modification value, wherein the physical address and the modification value are each a binary number with N digits, where N is a positive integer, and wherein the modified physical address is obtained from an exclusive-or combination of the physical address and the modification value.
4. Method according to claim 3, further comprising: determining the modification value by means of an integer counter that increments or decrements in response to at least one of: a re-arrangement, a start or a restart of the memory array.
5. Method according to claim 3, further comprising: determining the modification value using a random number generator.
6. Method according to claim 1 wherein the physical address is a binary number with N digits, where N is a positive integer, and wherein the modified physical address is obtained from a shift and rotation of bit values of the physical address by K positions towards a first or last digit of the physical address, and where K is a positive integer greater than zero and not equal to N.
7. Method according to claim 6, further comprising: determining K by means of an integer counter that increments or decrements upon at least one of: a re-arrangement, a start or a restart of the memory array.
8. Method according to claim 6, further comprising: determining K using a random number generator.
9. Method according to claim 6, further comprising: determining whether the binary number of the physical address contains N zeros or N ones; if the binary number of the physical address contains N zeros or N ones, inverting the binary number of the physical address if the integer counter is an odd number.
10. Method according to claim 1, further comprising: decoding the modified physical address to address the second memory segment.
11. Device, comprising: a memory array having a first memory segment and a second memory segment; a modification unit for receiving a physical address, wherein the physical address is assigned to the first memory segment, wherein the modification unit is configured to modify the physical address to a modified physical address, the modified physical address being assigned to the second memory segment.
12. Device according to claim 11, wherein the physical address comprises a group of address segments, wherein the modification unit is configured to modify a subset of the address segments to obtain the modified physical address.
13. Device according to claim 11, further comprising: a counter for providing a modification value, wherein the physical address and the modification value are each a binary number with N digits; and an XOR gate for receiving the physical address and the modification value and for outputting the modified physical address as a result of an XOR combination of the physical address and the modification value.
14. Device according to claim 13, wherein the counter is configured to increment or decrement the modification value upon at least one of: re-arranging, starting or restarting of the memory array.
15. Device according to claim 11, wherein the physical address is a binary number with N digits, wherein the device also comprises a barrel shifter, which is configured to output the modified physical address from a shift and rotation of bit values of the physical address by K positions towards a first digit or a last digit of the physical address, where K is a positive integer greater than zero and not equal to N.
16. Device according to claim 11, further comprising: a control unit for activating the memory segments.
17. Device according to claim 11, further comprising: a processor unit configured to transmit a memory value to the memory device or to retrieve the memory value from the memory device, the physical address being assigned to the memory value; and a data transmission unit, which connects the processor unit to the memory device and is configured to transmit the physical address between the processor unit and the memory device.
18. Device, comprising: a memory array having a first memory segment and a second memory segment, wherein a physical address is assigned to the first memory segment, and a modified physical address is assigned to the second memory segment; a counter for providing a modification value, wherein the physical address and the modification value are each a binary number with N digits; and a modification unit to modify the physical address to the modified physical address according to the modification value.
19. Device according to claim 18, wherein the modification unit comprises N XOR gates each to receive a respective one of the N digits of the binary number of the physical address and a respective one of the N digits of the modification value from the counter, wherein each of the N XOR gates outputs a respective one digit of a binary number of the modified physical address.
20. Device according to claim 18, wherein the modification unit comprises a barrel shifter to receive the binary number of the physical address and the modification value from the counter, and to output the modified physical address from a shift and rotation of bit values of the physical address by K positions towards a first digit or a last digit of the physical address, where K is a positive integer greater than zero and not equal to N, wherein the device further comprises a detection circuit to detect whether the binary number of the physical address consists of only ones or only zeros.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION OF THE DRAWINGS
(9)
(10) At 102, a physical address is received which is assigned to a first memory segment of a memory array. At 104, the physical address is modified to a modified physical address that is assigned to a second memory segment of the memory array. At 106, the second memory segment can be addressed.
(11)
(12) The memory array 210 can be designed as described above. In particular, the memory array 210 can comprise an arrangement of multiple SRAMs, DRAMs, or other RAMs or flash memories. The memory array 210 comprises a plurality of memory segments, including the first memory segment S1 and the second memory segment S2. In
(13) The memory segments S1, S2 can have a uniform memory capacity, for example, 8 bits, 16 bits, 32 bits, 64 bits, or 2.sup.n bits, where n is a natural number greater than 6. The memory segments of the memory array can be organized into rows and columns and also in banks.
(14)
(15) As shown in
(16)
(17) Therefore, a memory segment is addressed that differs from the memory segment indicated above. A rule according to which the received physical address A1 is modified can vary over time. In this way, the local utilization of the memory segments of the memory array 210 can be distributed as evenly as possible over the entire memory array 210. This has a positive effect on the lifetime of the memory array.
(18)
(19) The modification unit 220 can modify one, some, or all four of the four address segments A11 to A14 to a respective address segment A21 to A24. In particular, the address segments A21 to A24 of the modified physical address A2 each have the same length as the address segments A11 to A14 of the incoming physical address A1. In some examples, the physical address A1 is segmented into the address segments A11 to A14, which are individually modified by the modification unit 220. Accordingly, the modification unit 220 can comprise a plurality of modification units for a given address segment. In other examples, the modification unit 220 receives the physical address A1 contiguously and modifies it. For example, the modification unit 220 can selectively modify the address segments A11 to A14 from the contiguous physical address A1 without segmenting them.
(20)
(21) The control unit 230 comprises a row decoder 232, a column decoder 234, a bank decoder 236. In examples in which the memory array 210 comprises a plurality of memory banks 212, as shown in
(22) The decoders 232 to 236 are configured to address a single memory segment 214. For example, the row decoder 232 can activate a single row by applying a predetermined voltage to that row. Similarly, the column decoder 234 and the bank decoder 236 can activate a single column as well as a single bank by changing the voltage applied there. At the same time, the read/write circuit 238 can be operated to write a memory value to the selected memory segment or to read from the selected memory segment.
(23) The physical address A1 comprises address segments A11 to A13 which determine the row, column, and bank of the first memory segment S1. In the example of
(24)
(25) According to the example of
(26)
(27) The counter 240 comprises a circuit for storing and incrementing a counter value as an N-digit binary number. In another example, the counter 240 can comprise a circuit for storing and decrementing a counter value as an N-digit binary number. The length N of the binary number of the counter value corresponds to the number of bit positions of the incoming physical address A1. The counter value of the counter 240 increments or decrements upon a re-arranging, start or restart of the memory array 210. In addition, the counter 240 can be designed as described above.
(28) Each XOR gate 242 is configured to modify a respective bit of the physical address A1. The XOR gates 242 receive a respective bit of the physical address A1 at their input, as illustrated by lines 228, and a respective bit of the counter value of the counter 240. In the example of
(29)
(30) In the second column of the table of
(31) As described above, the modification value M together with the counter value of the counter 240 can be changed when the memory array 210 or the device 200 is re-arranged, started, or restarted. The maximum value for the counter value of the counter 240 can correspond to the number of possible physical addresses. For example, starting from 0000, the modification value M is incremented by one when the memory array 210 is re-arranged, started, or restarted. If the modification value M has the maximum value of ml (or 15 in decimal notation), the modification value M can be reset to 0000 (or 0 in decimal notation) when the memory array 210 is re-arranged, started, or restarted. In other examples, the modification value M can be increased by more than one. The value shift of the modification value M can be varied with time or as desired. In other examples, the modification value M can be decreased by one when the memory array 210 is re-arranged, started, or restarted, and reset to 1111 if the modification value M is 0000 and is due to be further reduced.
(32) In addition to or as an alternative to the counter 240, a random number generator can be provided, which is configured to generate a four-digit random binary number. Thus, the modification value M can correspond to the four-digit random binary number from the random number generator. In other examples, the modification value M can be obtained from a combination of the counter value of the counter 240 with the four-digit random binary number from the random number generator.
(33)
(34) The barrel shifter 236 can also receive the counter value of the counter 240. From the counter value of the counter 240 the barrel shifter 244 can determine a number of bit positions by which the bits of the physical address A1 are to be shifted. The result of the shift can correspond to the modified physical address A2.
(35) In addition or as an alternative, a random number generator can be provided that generates a four-digit random binary number. Thus, the counter value can be replaced by the four-digit random binary number of the random number generator or be superimposed with it. The random number generator can be implemented as described above.
(36) The modification unit 220 can also comprise a multiplexer 246 and a detection circuit 248. The detection circuit 248 can be configured to detect whether the binary number of the physical address A1 consists of only ones or only zeros. In the example of
(37)
(38) The binary number of the physical address A1 comprises four bit positions with bit values a1 to a4, where a1 is the least significant bit and a4 is the most significant bit of the physical address A1. In the example in
(39) In an example, the binary number of the physical address A1 is shifted by one bit position to the right, as illustrated by arrow M1. This can correspond to a shift of the bit values a1 to a4 of the physical address A1 by one bit position towards the least significant bit position, as shown by the corresponding modified physical address A2. In this case, the bit a1 of the least significant bit position of the physical address A1 is rotated to the left and placed at the most significant bit position. The remaining bit values a2 to a4 are shifted one bit to the right, resulting in a value of 0100 (4 in decimal representation).
(40) In another example, the binary number of the physical address A1 is shifted one bit position to the left, as illustrated by arrow M2. This can correspond to a shift of the bit values a1 to a4 of the physical address A1 by one bit position towards the most significant bit position, as shown by the corresponding modified physical address A2*. In this case, the bit a4 of the most significant bit position of the physical address A1 is rotated to the right and placed at the least significant bit position. The remaining bits a1 to a3 are shifted one bit to the left, resulting in a value of 0001 (1 in decimal representation).
(41) The examples of
(42)
LIST OF REFERENCE SIGNS
(43) 100 method 102-106 method steps 200 device 210 memory array 212 memory bank 214 memory cell 220 modification unit 222 row modification unit 224 column modification unit 226 bank modification unit 228 data line 230 decoding unit 232 row decoder 234 column decoder 236 bank decoder 238 read/write circuit 240 counter 242 XOR gate 244 barrel shifter 246 multiplexer 248 detection circuit 250 processor unit 252 data transmission unit A1 physical address A11-A14 address segment A2, A2* modified physical address A21-A24 address segment a1-a4 bit value M modification value S1, S2 memory segment