EP2899639A1 - Nonvolatile memory and electronic device - Google Patents

Nonvolatile memory and electronic device Download PDF

Info

Publication number
EP2899639A1
EP2899639A1 EP14784396.5A EP14784396A EP2899639A1 EP 2899639 A1 EP2899639 A1 EP 2899639A1 EP 14784396 A EP14784396 A EP 14784396A EP 2899639 A1 EP2899639 A1 EP 2899639A1
Authority
EP
European Patent Office
Prior art keywords
subsignal
decoder
signal
bank
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP14784396.5A
Other languages
German (de)
French (fr)
Other versions
EP2899639B1 (en
EP2899639A4 (en
Inventor
Yansong Li
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of EP2899639A4 publication Critical patent/EP2899639A4/en
Publication of EP2899639A1 publication Critical patent/EP2899639A1/en
Application granted granted Critical
Publication of EP2899639B1 publication Critical patent/EP2899639B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2024Rewritable memory not requiring erasing, e.g. resistive or ferroelectric RAM

Definitions

  • the present invention relates to data encryption technologies, and in particular, to a nonvolatile memory and an electronic device.
  • a nonvolatile memory features nonvolativity that information is not lost after a power failure.
  • information stored in the nonvolatile memory after a power failure may risk a leakage.
  • a phase-change memory of the nonvolatile memory type is used as an example.
  • a phase-change memory is a type of nonvolatile memory that stores information by using different states of a phase-change material. When the phase-change material is in a crystalline state, resistance is relatively small; when the phase-change material is in a non-crystalline state, resistance is relatively large. Corresponding data can be read by detecting a resistance of the phase-change material.
  • the phase-change memory has such advantages as quick read and write speeds, abrasion resistance, low power consumption, and high integration. At present, the phase-change memory is likely to replace the flash memory gradually.
  • phase-change memory is likely to replace a dynamic random access memory (Dynamic Random Access Memory, DRAM) as the memory of an electronic device.
  • DRAM Dynamic Random Access Memory
  • to-be-sent original data can be encrypted and then sent or original data can be encrypted and then saved to a hard disk.
  • an application program in the electronic device uses the encrypted data
  • the electronic device usually implements decryption to obtain the original data and saves the original data to a memory to increase efficiency of reusing the original data later. That is, data in the memory is original data in plaintext.
  • phase-change memory used as a memory module and installs the phase-change memory to his/her own computer
  • the person can use a software tool to read and parse data in the phase-change memory to acquire the original data stored in the phase-change memory, and the original data may include information that needs to be kept secret, such as sensitive information of a user. This causes data stored in the phase-change memory to be relatively insecure.
  • Embodiments of the present invention provide a nonvolatile memory and an electronic device, which can encrypt data stored in a nonvolatile memory to increase security of data stored in the nonvolatile memory.
  • a nonvolatile memory includes a bank decoder and at least two banks bank, and the bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array.
  • the nonvolatile memory further includes a random number generator and n 1 first exchangers disposed between a first signal generator and a first decoder of the bank decoder, and one of the first exchangers corresponds to one bank address sub signal of the bank decoder, where:
  • At least one bank further includes: n 2 second exchangers disposed between a second signal generator and a second decoder of a row decoder, and one second exchanger corresponds to one row address subsignal of the row decoder, where:
  • At least one bank further includes: n 3 third exchangers disposed between a third signal generator and a third decoder of a column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, where:
  • the at least one bank further includes: n 3 third exchangers disposed between a third signal generator and a third decoder of a column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, where:
  • the random number generator includes a linear feedback shift register that has at least n 1 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; and the n 1 first exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • the random number generator includes a linear feedback shift register that has at least N 1 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N 1 is a total number of first exchangers and second exchangers included in the nonvolatile memory; and each of the first exchangers and each of the second exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • the random number generator includes a linear feedback shift register that has at least N 2 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N2 is the total number of first exchangers and third exchangers included in the nonvolatile memory; and each of the first exchangers and each of the third exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • the random number generator includes a linear feedback shift register that has at least N 3 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N 3 is a total number of first exchangers, second exchangers, and third exchangers included in the nonvolatile memory; and each of the first exchangers, each of the second exchangers, and each of the third exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • a nonvolatile memory includes at least one bank bank and each bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array.
  • the nonvolatile memory further includes a random number generator
  • the at least one bank further includes n 2 second exchangers disposed between a second signal generator and a second decoder of a row decoder, and one second exchanger corresponds to one row address subsignal of the row decoder, where:
  • the at least one bank further includes: n 3 third exchangers disposed between a third signal generator and a third decoder of a column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, where:
  • the random number generator includes a linear feedback shift register that has at least N 4 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N 4 is a total number of second exchangers included in the nonvolatile memory; and each of the second exchangers corresponds to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • the random number generator includes a linear feedback shift register that has at least N 5 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N 5 is a total number of second exchangers and third exchangers included in the nonvolatile memory; and each of the second exchangers and each of the third exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • a nonvolatile memory includes at least one bank bank, and each bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array.
  • the nonvolatile memory further includes a random number generator, the at least one bank further includes n 3 third exchangers disposed between a third signal generator and a third decoder of a column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, where:
  • the random number generator includes a linear feedback shift register that has at least N 6 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N 6 is a total number of third selectors included in the nonvolatile memory; and each of the third exchangers corresponds to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • an electronic device includes a nonvolatile memory according to any one of the foregoing aspects.
  • the nonvolatile memory in this embodiment includes a bank decoder and at least two banks bank, the bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array, and the nonvolatile memory further includes a random number generator and n 1 first exchangers disposed between a first signal generator and a first decoder of the bank decoder, where one first exchanger corresponds to one bank address subsignal of the bank decoder, and the random number generator is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each first exchanger and send the generated selection signal to a corresponding first exchanger; the i 1 th first exchanger of the bank decoder is configured to receive the i 2 th bank address subsignal corresponding to the i 1 th first exchanger and an inverted signal of the i 2 th bank address subsignal; when a received selection signal is a first signal, output the i 2 tn bank address subsignal as the i
  • a random number generator when a nonvolatile memory is powered on, a random number generator generates a selection signal to control each first exchanger in a bank decoder to keep a corresponding bank address subsignal and its inverted signal unchanged or exchange the corresponding bank address subsignal and the inverted signal of the bank address subsignal. Because the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, a same bank address subsignal corresponds to different bank gating signals compared with the nonvolatile memory before the power-off, which disarranges data, stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect.
  • the data stored in the nonvolatile memory cannot be sequentially read from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read the data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • FIG. 1 is a schematic structural diagram of a nonvolatile memory in the prior art, where the nonvolatile memory includes at least one bank and a bank decoder, and each bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array.
  • FIG. 1 shows a structure of one bank. Structures of other banks are the same as this structure and not described in detail herein.
  • the storage array is a large number of storage units which are arranged in rows and columns to form a matrix. Each row of storage units has a row gating signal and one row of storage units is selected each time by using a row gating signal. Each column of storage units has one column gating signal and one column of storage units is selected each time by using a column gating signal. Data written into or read from the storage array is input and output by using a bit line.
  • the bank decoder is configured to generate a bank gating signal according to a bank address signal input by a controller of the nonvolatile memory and select a bank indicated by the bank address signal so as to perform read or write access on the selected bank.
  • a bank decoder is disposed in a nonvolatile memory only when the nonvolatile memory includes at least two banks. If a nonvolatile memory includes only one bank, no bank decoder is required.
  • a bank address consists of at least 1-bit binary code. When a bank address signal is generated according to a bank address, each bit of binary code corresponds to one address sub signal, and therefore, the number of bits in the binary code equals the number of address subsignals included in the bank address signal. For example, a bank address BA[0:1] indicates that the bank address includes two address subsignals.
  • row address signals and column address signals described in the following include several row address subsignals and several column address subsignals respectively.
  • a row decoder of each bank is configured to generate a row gating signal according to a row address signal input by a controller of the nonvolatile memory and select one row of storage units, from a storage array of a bank to which the row decoder belongs, indicated by the row address signal to perform read or write access.
  • a column decoder of each bank is configured to generate a column gating signal according to a column address signal input by the controller of the nonvolatile memory and select one column of storage units, from the storage array of the bank to which the column decoder belongs, indicated by the column address signal to perform the read or write access.
  • a storage unit in a bank can be selected when a bank is selected according to a bank decoder and one row of storage units and one column of storage units in the bank are selected respectively according to a row decoder and a column decoder. In this manner, a storage unit can be selected for read and write access.
  • each bank may further include other structures, such as control logic, a write drive, and a sense amplifier, which are not limited by the embodiment of the present invention.
  • the control logic is generally used to: according to a chip select or read/write signal provided by an external component of the nonvolatile memory, such as the controller of the nonvolatile memory, control the write drive to perform write access on the storage array, or control the sense amplifier to perform read access on the storage array; and the write drive is generally used to store to-be-written data sent by the controller of the nonvolatile memory in a storage unit selected by the row decoder and the column decoder, and specifically, the data can be sent to the storage unit according to a write pulse signal of a waveform generated corresponding to that the data to be written to the storage unit is 0 or 1; and the sense amplifier is generally used to read data stored in a storage unit selected by the row decoder and the column decoder, amplify the read data, and transmit it to the
  • the bank decoder, row decoder, and column decoder can be implemented by using address decoders.
  • An address decoder is a common digital logic circuit.
  • the address decoder can, according to different input signal combinations, select one output signal from multiple output signals and set it to be of an effective level, and leave other output signals invalid.
  • a 3-to-8 line address decoder is used as an example, where the 3-to-8 line address decoder is formed by eight AND circuits and three phase inverters. Each of the three phase inverters corresponds to one input signal of the address decoder and is used to generate an inverted signal for the corresponding input signal.
  • the eight AND circuits are used to generate an output signal according to an input signal and an inverted signal of the input signal.
  • the 3-to-8 line address decoder has three input signals, which are A2, A1, and A0, and eight output signals, which are Q7 to Q0. It is assumed that an output higher level is of an effective level and is indicated by 1. Logical relations between the input signals and the output signals are as follows:
  • a symbol * indicates a logical AND operation.
  • an address decoder in an embodiment of the present invention is divided into a signal generator and a decoder, where:
  • a nonvolatile memory provided in the present invention implements encryption of data stored in the nonvolatile memory by embedding a random number generator and exchangers, so that it is difficult to recover original data from the encrypted data, which increase security of the data stored in the nonvolatile memory.
  • the foregoing 3-to-8 line address decoder is still used as an example. If the 3-to-8 line address decoder is used as a row decoder of a storage array, eight output signals Q7 to Q0 of the 3-to-8 line address decoder can be used as row gating signals.
  • A2 and /A2 are exchanged but A1 and /A1 are not exchanged, and such exchange is performed on at least one of a bank address, row address, and column address in the nonvolatile memory each time the nonvolatile memory is powered on, after data output by the controller to the nonvolatile memory is stored by the nonvolatile memory, a same bank address subsignal corresponds to different bank gating signals before and after the nonvolatile memory is powered off and then powered on, which causes that data stored before the nonvolatile memory is powered off is disarranged when the nonvolatile memory is powered off and then powered on, and that the data stored in the nonvolatile memory cannot be read sequentially from original storage addresses, so as to achieve an encrypting effect.
  • the 3-to-8 line address decoder shown in FIG. 2 is still used as an example for description.
  • the 3-to-8 line address decoder is a combinational logic circuit, and is formed by eight AND circuits and three phase inverters, which is shown in FIG 2 .
  • an exchanger structure shown in FIG. 2A may be used. That input signals are A and /A is used as an example to describe implementation principles of the exchanger. If input signals of the exchanger are A, /A, and sel, and output signals are L and /L, where sel is a selection signal used to determine logical functions of circuits.
  • L and /L may be equal to A or /A randomly.
  • three exchangers are disposed between a signal generator and a decoder of a 3-to-8 line address decoder.
  • L0 replaces A0
  • /L0 replaces /A0
  • L1 replaces A1
  • /L1 replaces /A1
  • L2 replaces A2
  • /L2 replaces /A2.
  • exchanges between A0 and /A0, A1 and /A1, and A2 and /A2 are implemented.
  • two or one exchanger may be disposed instead of three exchangers to implement exchange between any two pairs or one pair of A0 and /A0, A1 and /A1, and A2 and /A2, which are input signals and their inverted signals. This may also achieve a certain encrypting effect.
  • the encrypting effect may be optimal.
  • a random number generator may be disposed and a bit randomly generated by the random number generator is used as the selection signal.
  • a pseudo-random sequence generator shown in FIG 2C may be used.
  • the pseudo-random sequence generator implements the random number generator by using a linear feedback shift register.
  • a specific method is to use a signal, obtained after exclusive OR processing is performed on two bits such as the least significant bit and one bit in the middle of a linear feedback shift register, as a shift input signal. In this case, random data is generated after multiple shifts controlled by a clock signal.
  • the number of bits X of the linear feedback shift register may be set according to an actual application environment.
  • a nonvolatile memory in a first embodiment of a nonvolatile memory according to the present invention, includes at least two banks bank and a bank decoder, and each bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array.
  • the nonvolatile memory further includes: a random number generator and n 1 first exchangers disposed between a first signal generator and a first decoder of the bank decoder, and one first exchanger corresponds to one bank address subsignal of the bank decoder, where the random number generator is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each first exchanger and send the generated selection signal to a corresponding first exchanger.
  • the i 1 th first exchanger of each bank decoder is configured to: receive the i 2 th bank address subsignal corresponding to the i 1 th first exchanger and an inverted signal of the i th bank address subsignal; when a received selection signal sent by the random number generator is a first signal, output the i 2 th bank address subsignal as the i 2 th bank address subsignal of the bank decoder to the first decoder and output the inverted signal of the i 2 th bank address subsignal as the inverted signal of the i 2 th bank address subsignal of the bank decoder to the first decoder; when the received selection signal sent by the random number generator is a second signal, output the inverted signal of the i 2 th bank address subsignal as the i 2 th bank address subsignal of the bank decoder to the first decoder and output the i 2 th bank address subsignal as the inverted signal of the i 2 th bank address subsignal of the bank de
  • a total number of first exchangers n 1 may be smaller than a total number of input signals of the bank decoder, that is, a total number of bank address subsignals m 1 .
  • the total number of first exchangers n 1 may also be equal to the total number of input signals of the bank decoder, that is, the total number of bank address subsignals m 1 .
  • each bank address subsignal and its inverted signal have a corresponding first exchanger.
  • the first signal in the embodiment of the present invention may be a high-level signal, and the second signal may correspondingly be a low-level signal; or the first signal may be a low-level signal, and the second signal may correspondingly be a high-level signal.
  • the random number generator may include: a linear feedback shift register that has at least n 1 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; n 1 first exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • a nonvolatile memory 10 includes 2 m 1 banks 11 and a bank decoder 12, and each bank 11 includes a storage array 111, a row decoder 112 of the storage array, and a column decoder 113 of the storage array.
  • FIG. 3 shows a structure of only one bank 11 but does not show structures of other banks 11.
  • the nonvolatile memory further includes: a random number generator 13 and m1 first exchangers 123 disposed between a first signal generator 121 and a first decoder 122 of the bank decoder 12, and one first exchanger 123 corresponds to one bank address subsignal of the bank decoder 12, where:
  • the first signal generator 121 outputs each bank address subsignal and its inverted signal to a corresponding first exchanger 123; specifically, the first signal generator 121 sends a first bank address subsignal A1 and its inverted signal /A1 to the first first exchanger, sends a second bank address subsignal A2 and its inverted signal /A2 to the second first exchanger, ..., and sends the m 1 th bank address subsignal Am 1 and its inverted signal /Am 1 to the m 1 th first exchanger.
  • the i 1 th first exchanger 123 is configured to: receive the i 1 th bank address subsignal corresponding to the i 1 th first exchanger 123 and an inverted signal of the i 1 th bank address subsignal; when a received selection signal sent by the random number generator 13 is a first signal, output the i 1 th bank address subsignal as the i 1 th bank address subsignal of the bank decoder 12 to the first decoder 122 and output the inverted signal of the i 1 th bank address subsignal as the inverted signal of the i 1 th bank address subsignal of the bank decoder 12 to the first decoder 122; when the received selection signal sent by the random number generator 13 is a second signal, output the inverted signal of the i 1 th bank address subsignal as the i 1 th bank address subsignal of the bank decoder 12 to the first decoder 122 and output the i 1 th bank address subsignal as the inverted signal of bank address subsignal
  • the first decoder 122 is configured to generate a bank gating signal according to a bank address subsignal and its inverted signal output by each first exchanger 123.
  • the random number generator 13 shown in FIG. 3 may include: a linear feedback shift register 130 that has m 1 bits, where a signal obtained after exclusive OR processing is performed on the first bit bit0 and the second bit bit1 of the linear feedback shift register 130 is used as a shift input signal of the linear feedback shift register; m 1 first exchangers 123 correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • FIG. 3A does not show a specific correspondence between each first exchanger and a bit. The correspondence may be set in an actual application and is not limited herein.
  • a signal obtained after exclusive OR processing is performed on any other two bits of the linear feedback shift register 130 may also be used as a shift input signal of the linear feedback shift register 130.
  • the nonvolatile memory implementation structures shown in FIG. 3 and FIG. 3A are merely specific instances. According to the instances, a person of ordinary skill in the art can set a foregoing first exchanger for at least one bank address subsignal and its inverted signal in a bank address decoder to properly transform the instances to acquire various implementation structures of a nonvolatile memory that includes two or more banks. Details are not described herein again. Specifically, 2 m 1 should be equal to or greater than an actual number of banks in the nonvolatile memory. In addition, in different nonvolatile memory implementation structures, the number of bits included in the random number generator 13 shown in FIG 3A can be adjusted according to the number of first exchangers included in the nonvolatile memory.
  • This embodiment is particularly applicable to a scenario where the nonvolatile memory stores data in one storage unit of each bank sequentially when storing data. For example, if data to be stored is A, B, and C, data A is stored in the first bank, data B is stored in the second bank, and data C is stored in the third bank.
  • a random number generator when a nonvolatile memory is powered on, a random number generator generates a selection signal to control each first exchanger in a bank decoder to keep a corresponding bank address subsignal and its inverted signal unchanged or exchange the corresponding bank address subsignal and the inverted signal of the bank address subsignal. Because the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, a same bank address subsignal corresponds to different bank gating signals compared with the nonvolatile memory before the power-off, which disarranges data, stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect.
  • the data stored in the nonvolatile memory cannot be sequentially read from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read the data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • At least one bank in the nonvolatile memory may further include the following structure: n 2 second exchangers disposed between a second signal generator and a second decoder of a row decoder and one second exchanger corresponds to one row address subsignal of the row decoder, where a random number generator may further be configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each second exchanger and send the generated selection signal to a corresponding second exchanger.
  • the j 1 th second exchanger of each bank is configured to: receive the j 2 th row address subsignal corresponding to the j 1 th second exchanger and an inverted signal of the j 2 th row address subsignal; when a received selection signal sent by the random number generator is a third signal, output the j 2 th row address subsignal as the j 2 th row address subsignal of the row decoder to the second decoder and output the inverted signal of the j 2 th row address subsignal as the inverted signal of the j 2 th row address subsignal of the row decoder to the second decoder; when the received selection signal sent by the random number generator is a fourth signal, output the inverted signal of the j 2 th row address subsignal as the j 2 th row address subsignal of the row decoder to the second decoder and output the j 2 th row address subsignal as the inverted signal of the j 2 th row address subsignal of the row decoder
  • Values of j 1 and j 2 may be the same or different.
  • a total number of second exchangers n 2 may be smaller than a total number of input signals of a row decoder, that is, a total number of row address subsignals m 2 .
  • the total number of second exchangers n 2 may also be equal to the total number of input signals of the row decoder, that is, the total number of row address subsignals m 2 .
  • each row address subsignal and its inverted signal have a corresponding second exchanger.
  • the third signal in the embodiment of the present invention may be a high-level signal, and the fourth signal may correspondingly be a low-level signal; or the third signal may be a low-level signal, and the fourth signal may correspondingly be a high-level signal.
  • the random number generator may include: a linear feedback shift register that has at least N 1 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N 1 is a total number of first exchangers and second exchangers included in the nonvolatile memory.
  • Each first exchanger and each second exchanger correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • FIG 4 shows only: a structure for implementing a bank if the bank includes n 2 second exchangers 1123 disposed between a second signal generator 1121 and a second decoder 1122 of a row decoder, and a connection relationship between the bank and the random number generator 13 in FIG. 3 , and does not show other structures and connection relationships in FIG. 3 .
  • FIG. 3 shows only: a structure for implementing a bank if the bank includes n 2 second exchangers 1123 disposed between a second signal generator 1121 and a second decoder 1122 of a row decoder, and a connection relationship between the bank and the random number generator 13 in FIG. 3 , and does not show other structures and connection relationships in FIG. 3 .
  • FIG. 1 shows in the bank structure diagram as shown in FIG.
  • the random number generator 13 may further be used to: when the nonvolatile memory is powered on, randomly generate a selection signal for each second exchanger 1123 and send the generated selection signal to a corresponding second exchanger 1123.
  • the row decoder 112 of the bank include the following structure:
  • the j 1 th second exchanger 1123 of each bank is configured to: receive the j 1 th row address subsignal corresponding to the j 1 th second exchanger 1123 and an inverted signal of the j 1 th row address subsignal; when a received selection signal sent by the random number generator 13 is a third signal, output the j 1 th row address subsignal as the j 1 th row address subsignal of the row decoder 112 to the second decoder 1122 and output the inverted signal of the j 1 th row address subsignal as the inverted signal of the j 1 th row address subsignal of the row decoder 112 to the second decoder 1122; when the received selection signal sent by the random number generator 13 is a fourth signal, output the inverted signal of the j 1 th row address subsignal as the j 1 th row address subsignal of the row decoder 112 to the second decoder 1122 and output the j 1 th row address subsignal as the inverted signal
  • the random number generator 13 may include: a linear feedback shift register 131 that has N 1 bits, where a signal obtained after exclusive OR processing is performed on two bits bit0 and bit1 of the linear feedback shift register 131 is used as a shift input signal of the linear feedback shift register.
  • Each first exchanger 123 and each second exchanger 1123 correspond to one bit of the linear feedback shift register 131 separately and a corresponding bit is used as a selection signal sent by the random number generator 13.
  • FIG. 4A shows only an implementation manner for obtaining a shift input signal after exclusive OR processing is performed on two bits bit0 and bit1, a shift input signal can be acquired in an actual application after exclusive OR processing is performed on signals of any two bits of the linear feedback shift register 131, which is not limited herein.
  • N 1 n 1 +n 2 ; if the second exchangers 1123 are disposed in row decoders of at least two banks in FIG. 3 , N 1 is a sum of n 1 and the number of second exchangers in each row decoder.
  • FIG. 4A does not show correspondences between bits and first exchangers as well as second exchangers but use exchangers to indicate first exchangers and second exchangers.
  • the correspondences between the bits and first exchangers as well as second exchangers can be set in the actual application and are not limited herein.
  • different banks may be provided with different numbers of second exchangers n 2 and use j 1 , j 2 , and the like of the same value or different values, which are not limited herein.
  • a structure in which second exchangers are disposed in row decoders of other banks is similar to the bank structure in FIG. 4 , with differences in that values of n 2 may be different, the values of j 1 and j 2 may be different, and some row address subsignals may not have corresponding second exchangers. Details are not described herein again
  • the nonvolatile memory implementation structures shown in FIG. 4 and FIG. 4A are merely specific instances. According to the instances, a person of ordinary skill in the art can follow principles such as setting a foregoing first exchanger for at least one bank address subsignal and its inverted signal in a bank address decoder and setting a foregoing second exchanger for at least one row address subsignal and its inverted signal in a row decoder of at least one bank to properly transform the instances to acquire various implementation structures of a nonvolatile memory that includes two to an infinite number of banks in this embodiment. Details are not described herein again.
  • a random number generator when a nonvolatile memory is powered on, a random number generator generates a selection signal to control, in addition to each first exchanger in a bank decoder, each second exchanger in a bank to keep a corresponding row address subsignal and an inverted signal of the row address subsignal unchanged or exchange the corresponding row address subsignal and the inverted signal of the row address subsignal.
  • the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, a same bank address subsignal corresponds to different bank gating signals and a same row address subsignal corresponds to different row gating signals compared with the nonvolatile memory before the power-off, which disarranges data stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect.
  • the data stored in the nonvolatile memory cannot be read sequentially from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • At least one bank in the nonvolatile memory may further include: n 3 third exchangers disposed between a third signal generator and a third decoder of a column decoder and one third exchanger corresponds to one column address subsignal of the column decoder, where a random number generator may further be configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a corresponding third exchanger;
  • the k 1 th third exchanger of each bank is configured to: receive the k 2 th column address subsignal corresponding to the k 1 th third exchanger and an inverted signal of the k 2 th column address subsignal; when a received selection signal sent by the random number generator is a fifth signal, output the k 2 th column address subsignal as the k 2 th column address subsignal of the column decoder to the third decoder and output the inverted signal of the k 2 th column address subsignal as the inverted signal of the k 2 th column address subsignal of the raw column coder to the third decoder; when the received selection signal sent by the random number generator is a sixth signal, output the inverted signal of the k 2 th column address subsignal as the k 2 th column address subsignal of the column decoder to the third decoder and output the k 2 th column address subsignal as the inverted signal of the k 2 th column address subsignal of the column decoder
  • Values of k 1 and k 2 may be the same or different.
  • a total number of third exchangers n 3 may be smaller than a total number of input signals of a column decoder, that is, a total number of column address subsignals m 3 .
  • the total number of third exchangers n 3 may further be equal to the total number of input signals of the column decoder, that is, the total number of column address subsignals m 3 .
  • each column address subsignal and its inverted signal have a corresponding third exchanger.
  • the embodiment of the present invention achieves a better encrypting effect if a value of n 3 is closer to m 3 .
  • the fifth signal in the embodiment of the present invention may be a high-level signal, and the sixth signal may correspondingly be a low-level signal; or the fifth signal may be a low-level signal, and the sixth signal may correspondingly be a high-level signal.
  • the random number generator may include: a linear feedback shift register that has at least N 2 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N 2 is a total number of first exchangers and third exchangers included in the nonvolatile memory.
  • Each first exchanger and each exchanger correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • FIG. 5 shows only: a structure for implementing a bank when the bank includes n 3 third exchangers 1133 disposed between a third signal generator 1131 and a third decoder 1132 of a column decoder 113, and a connection relationship between the bank and the random number generator 13 in FIG. 3 , and does not show other structures and connection relationships in FIG. 3 .
  • n 3 m 3
  • the random number generator 13 may also be used to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger 1133 and send the generated selection signal to a corresponding third exchanger 1133.
  • the third signal generator 1131 outputs each column address subsignal and its inverted signal to a corresponding third exchanger 123; specifically, the third signal generator 1131 sends the first column address subsignal A1 and its inverted signal /A1 to the first third exchanger, sends the second column address subsignal A2 and its inverted signal /A2 to the second third exchanger, .... and sends the m 3 th column address subsignal Am 3 and its inverted signal /Am 3 to the m 3 th third exchanger;
  • the k 1 th third exchanger 1133 of each bank is configured to: receive the k 1 th column address subsignal corresponding to the k 1 th third exchanger 1133 and an inverted signal of the k 1 th column address subsignal; when a received selection signal sent by the random number generator 13 is a fifth signal, output the k 1 th column address subsignal as the k 1 th column address subsignal of the column decoder 113 to the third decoder 1132 and output the inverted signal of the k 1 th column address subsignal as the inverted signal of the k 1 th column address subsignal k 1 of the raw decoder 113 to the third decoder 1132; when the received selection signal sent by the random number generator 13 is a sixth signal, output the inverted signal of the k 1 th column address subsignal k 1 as row address subsignal of the column decoder 113 to the third decoder 1132 and output the k 1 th column address subsignal as the inverted signal
  • the third decoder 1132 is configured to generate a column gating signal according to a column address subsignal and its inverted signal output by each third exchanger 1133.
  • the random number generator 13 may include: a linear feedback shift register 132 that has N 2 bits, where a signal obtained after exclusive OR processing is performed on two bits bit0 and bit1 of the linear feedback shift register 132 is used as a shift input signal of the linear feedback shift register.
  • Each first exchanger and each exchanger correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator 13.
  • FIG. 5A shows only an implementation manner for obtaining a shift input signal after exclusive OR processing is performed on two bits bit0 and bit1, a shift input signal can be obtained in an actual application after exclusive OR processing is performed on signals of any two bits of the linear feedback shift register 132, which is not limited herein.
  • N 1 n 1 +n 3 ; if third exchangers 1133 are disposed in column decoders of at least two banks in FIG. 3 , N 1 is a sum of n 1 and the number of third exchangers in each column decoder.
  • FIG. 5A shows only an implementation manner for obtaining a shift input signal after exclusive OR processing is performed on two bits bit0 and bit1, the shift input signal can be obtained in the actual application after exclusive OR processing is performed on signals of any two bits of the linear feedback shift register 132, which is not limited herein.
  • FIG. 5A does not show correspondences between bits and first exchangers as well as third exchangers but use exchangers to indicate first exchangers and third exchangers. Correspondences between the bits and first exchangers as well as third exchangers can be set in the actual application and are not limited herein.
  • different banks may be provided with different numbers of third exchangers n 3 and use k 1 and k 2 of the same value or different values, which are not limited herein.
  • a structure in which third exchangers are disposed in column decoders of other banks is similar to the bank structure in FIG. 5 , with differences in that the values of n 3 may be different, the values of k 1 and k 2 may be different, and some column address subsignals may not have corresponding third exchangers. Details are not described herein again.
  • the nonvolatile memory implementation structures shown in FIG. 5 and FIG. 5A are merely specific instances. According to the instances, a person of ordinary skill in the art can follow principles such as setting a foregoing first exchanger for at least one bank address subsignal and its inverted signal in a bank address decoder and setting a foregoing third exchanger for at least one column address subsignal and its inverted signal in a column decoder of at least one bank to properly transform the instances to acquire various implementation structures of a nonvolatile memory that includes two or more banks in this embodiment. Details are not described herein again.
  • a random number generator when a nonvolatile memory is powered on, a random number generator generates a selection signal to control, in addition to each first exchanger in a bank decoder, each third exchanger in a bank to keep a corresponding column address subsignal and an inverted signal of the column address subsignal unchanged or exchange the corresponding column address subsignal and the inverted signal of the column address subsignal.
  • the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, a same bank address subsignal corresponds to different bank gating signals and a same column address subsignal corresponds to different column gating signals compared with the nonvolatile memory before the power-off, which disarranges data stored before the nonvolatile memory is powered off when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect.
  • the data stored in the nonvolatile memory cannot be read sequentially from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read the data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • At least one bank in the nonvolatile memory may further include: n 3 third exchangers disposed between a third signal generator and a third decoder of the column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, where:
  • the random number generator is further configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a corresponding third exchanger.
  • the k 1 th third exchanger of each bank is configured to: receive the k 2 th column address subsignal corresponding to the k 1 th third exchanger and an inverted signal of the k 2 th column address subsignal; when a received selection signal sent by the random number generator is a fifth signal, output the k 2 th column address subsignal as the k 2 th column address subsignal of the column decoder to the third decoder and output the inverted signal of the k 2 th column address subsignal as the inverted signal of the k 2 th column address subsignal of the column decoder to the third decoder; when the received selection signal sent by the random number generator is a sixth signal, output the inverted signal of the k 2 th column address subsignal as the k 2 th column address subsignal of the column decoder to the third decoder and output the k 2 th column address subsignal as the inverted signal of the k 2 th column address subsignal of the column decoder
  • Values of j 1 and j 2 may be the same or different.
  • a total number of second exchangers n 2 may be smaller than a total number of input signals of a row decoder, that is, a total number of row address subsignals m 2 .
  • the total number of second exchangers n 2 may also be equal to the total number of input signals of the row decoder, that is, the total number of row address subsignals m 2 .
  • each row address subsignal and its inverted signal have a corresponding second exchanger.
  • the first signal in the embodiment of the present invention may be a high-level signal, and the second signal may correspondingly be a low-level signal; or the first signal may be a low-level signal, and the second signal may correspondingly be a high-level signal.
  • the random number generator may include: a linear feedback shift register that has at least N 3 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N 3 is a total number of first exchangers, second exchangers, and third exchangers included in the nonvolatile memory.
  • Each first exchanger, each second exchanger, and each third exchanger correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • each bank in the nonvolatile memory has four possible implementation structures: first, no second exchanger is disposed in a row decoder and no third exchanger is disposed in a column decoder of a bank; second, second exchangers are disposed in a row decoder and no third exchanger is disposed in a column decoder of a bank; third, no second exchanger is disposed in a row decoder and third exchangers are disposed in a column decoder of a bank; and four, second exchangers are disposed in a row decoder and third exchangers are disposed in a column decoder of a bank.
  • second exchangers are disposed in a row decoder of at least one bank and third exchangers are disposed in a column decoder of at least one bank in the nonvolatile memory.
  • a nonvolatile memory includes four banks, bank 1 is implemented by using the second possible implementation structure, bank 2 is implemented by using the fourth possible implementation structure, bank 3 is implemented by using the third possible implementation structure, and bank 4 is implemented by using the first possible implementation structure.
  • the first possible implementation structure of a bank is the same as the implementation structure of a bank in the prior art and details are not described herein again.
  • the second possible implementation structure of a bank refer to the bank implementation structure example shown in FIG 4 and details are not described herein again.
  • the third possible implementation structure of a bank refer to the bank implementation structure example shown in FIG. 5 and details are not described herein again.
  • n 2 m 2
  • second signal generator 1121, second exchanger 1123, and second decoder 1122 of the row decoder refer to the relevant description of a second signal generator, second exchanger, and second decoder in an instance shown in FIG. 4 ;
  • third signal generator 1131, third exchanger 1133, and third decoder 1132 of the column decoder refer to the relevant description of a third signal generator, third exchanger, and third decoder in an instance shown in FIG. 5 ; details are not described herein again.
  • the random number generator 13 in this embodiment may include: a linear feedback shift register 133 that has N 3 bits, where a signal obtained after exclusive OR processing is performed on two bits bit0 and bit1 of the linear feedback shift register 133 is used as a shift input signal of the linear feedback shift register; each first exchanger, each second exchanger, and each third exchanger correspond to one bit of the linear feedback shift register 133 separately and a corresponding bit is used as a selection signal sent by the random number generator 13.
  • N 3 is a total number of first exchangers, second exchangers, and third exchangers in the nonvolatile memory.
  • FIG. 6A shows only an implementation manner for obtaining a shift input signal after exclusive OR processing is performed on two bits bit0 and bit1, the shift input signal can be obtained in an actual application after exclusive OR processing is performed on signals of any two bits of the linear feedback shift register 133, which is not limited herein.
  • FIG. 6A does not show correspondences between bits and first exchangers, second exchangers, as well as third exchangers, but use exchangers to indicate first exchangers, second exchangers, and third exchangers.
  • the correspondences between the bits and the first exchangers, the second exchangers, as well as the third exchangers can be set in the actual application and are not limited herein.
  • different banks may be provided with different numbers of second exchangers n 2 and use j 1 and j 2 of the same value or different values, and different banks may be provided with different numbers of third exchangers n 3 , and use k 1 and k 2 of the same value or different values, which are not limited herein.
  • a structure in which second exchangers are disposed in row decoders and third exchangers are disposed in column decoders of other banks is similar to the bank structure in FIG.
  • the nonvolatile memory implementation structures shown in FIG 6 and FIG 6A are merely specific instances. According to the instances, a person of ordinary skill in the art can follow principles such as setting a foregoing first exchanger for at least one bank address subsignal and its inverted signal in a bank address decoder, setting a foregoing second exchanger for at least one row address subsignal and its inverted signal in a row decoder of at least one bank, and setting a foregoing third exchanger for at least one column address subsignal and its inverted signal in a column decoder of at least one bank to properly transform the instances to acquire various implementation structures of a nonvolatile memory that includes two to an infinite number of banks in this embodiment. Details are not described herein again.
  • a random number generator when a nonvolatile memory is powered on, a random number generator generates a selection signal to control, in addition to first exchangers and second exchangers, each third exchanger in a bank to keep a corresponding column address subsignal and an inverted signal of the column address subsignal unchanged or exchange the corresponding column address subsignal and the inverted signal of the column address subsignal, so that a column gating signal actually output by a column decoder is the same as or different from a column gating signal corresponding to a column address subsignal before.
  • the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, compared with the nonvolatile memory before the power-off, a same bank address subsignal corresponds to different bank gating signals, a same row address subsignal corresponds to different row gating signals, and a same column address subsignal corresponds to different column gating signals, which disarranges data, stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect.
  • the data stored in the nonvolatile memory cannot be sequentially read from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read the data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • the nonvolatile memory includes at least one bank, and each bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array.
  • the nonvolatile memory also includes a random number generator, the at least one bank further includes n 2 second exchangers disposed between a second signal generator and a second decoder of the row decoder, and one second exchanger corresponds to one row address subsignal of the row decoder, where, the random number generator is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each second exchanger and send the generated selection signal to a corresponding second exchanger.
  • the j 1 th second exchanger of each bank is configured to: receive the j 2 th row address subsignal corresponding to the j 1 th second exchanger and an inverted signal of the j 2 th row address subsignal; when a received selection signal sent by the random number generator is a third signal, output the j 2 th row address subsignal as the j 2 th row address subsignal of the row decoder to the second decoder and output the inverted signal of the j 2 th row address subsignal as the inverted signal of the j 2 th row address subsignal of the row decoder to the second decoder; when the received selection signal sent by the random number generator is a fourth signal, output the inverted signal of the j 2 th row address subsignal as the j 2 th row address subsignal of the row decoder to the second decoder and output the j 2 th row address subsignal as the inverted signal of row address subsignal of the row decoder to the second decoder
  • Values of j 1 and j 2 may be the same or different.
  • a total number of second exchangers n 2 may be smaller than a total number of input signals of a row decoder, that is, a total number of row address subsignals m 2 .
  • the total number of second exchangers n 2 may also be equal to the total number of input signals of the row decoder, that is, the total number of row address subsignals m 2 .
  • each row address subsignal and its inverted signal have a corresponding second exchanger.
  • the first signal in the embodiment of the present invention may be a high-level signal, and the second signal may correspondingly be a low-level signal; or the first signal may be a low-level signal, and the second signal may correspondingly be a high-level signal.
  • the random number generator may include: a linear feedback shift register that has at least N 4 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N 4 is a total number of second exchangers included in the nonvolatile memory.
  • a nonvolatile may include only one bank, as shown in FIG. 7 .
  • FIG. 7 does not show a specific implementation structure in which second exchangers are disposed in a row decoder.
  • no bank decoder may be disposed in the nonvolatile memory.
  • the nonvolatile memory may further include two or more than two banks.
  • a bank decoder is generally disposed in the nonvolatile memory, as shown in FIG. 7A .
  • FIG. 7A does not show a specific implementation structure in which second exchangers are disposed in the row decoder.
  • first exchangers When a bank decoder is disposed in the nonvolatile memory, no first exchanger may be disposed or first exchangers may be disposed in the bank decoder.
  • bank decoders When first exchangers are disposed in a bank decoder, implementation of the bank decoder is similar to a structure of the nonvolatile memory in the second embodiment. Therefore, this embodiment only describes a situation in which the nonvolatile memory does not include the bank decoder or no first exchanger is disposed in the bank decoder, and the nonvolatile memory is implemented by using a structure in the prior art.
  • a bank of a nonvolatile memory has two possible implementation structures: first, no second exchanger is disposed in a row decoder; and second, second exchangers are disposed in a row decoder.
  • at least one bank in the nonvolatile memory is implemented by using the second possible implementation structure.
  • the first possible implementation structure of a bank is the same as the implementation structure of a bank in the prior art and is not repeatedly described herein.
  • a random number generator in this embodiment refers to the random number generator instance shown in FIG. 3A .
  • the number of bits of the random number generator in this embodiment can be N 4 and each bit connects to a second exchanger.
  • different banks may be provided with different numbers of second exchangers n 2 and use j 1 and j 2 of the same value or different values, which are not limited herein.
  • a structure in which second exchangers are disposed in row decoders of other banks is similar to the bank structure in FIG. 4 , with differences in that values of n 2 may be different, the values of j 1 and j 2 may be different, and some row address subsignals may not have corresponding second exchangers. Details are not described herein again.
  • a random number generator when a nonvolatile memory is powered on, a random number generator generates a selection signal to control each second exchanger to keep a corresponding row address subsignal and an inverted signal of the row address subsignal unchanged or exchange the corresponding row address subsignal and the inverted signal of the row address subsignal. Because the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, a same row address subsignal corresponds to different row gating signals compared with the nonvolatile memory before the power-off, which disarranges data, stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect.
  • the data stored in the nonvolatile memory cannot be sequentially read from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read the data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • At least one bank in the nonvolatile memory may further include: n 3 third exchangers disposed between a third signal generator and a third decoder of a column decoder and one third exchanger corresponds to one column address subsignal of the column decoder, where a random number generator is further configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a corresponding third exchanger.
  • the k 1 th third exchanger of each bank is configured to: receive the k 2 th column address subsignal corresponding to the k 1 th third exchanger and an inverted signal of the k 2 th column address subsignal; when a received selection signal sent by the random number generator is a fifth signal, output the k 2 th column address subsignal as the k 2 th column address subsignal of the column decoder to the third decoder and output the inverted signal of the k 2 th column address subsignal as the inverted signal of the k 2 th column address subsignal of the column decoder to the third decoder; when the received selection signal sent by the random number generator is a sixth signal, output the inverted signal of the k 2 th column address subsignal as the k 2 th column address subsignal of the column decoder to the third decoder and output the k 2 th column address subsignal as the inverted signal of the k 2 th column address subsignal of the column decoder
  • Values of k 1 and k 2 may be the same or different.
  • a total number of third exchangers n 3 may be smaller than a total number of input signals of a column decoder, that is, a total number of column address subsignals m 3 .
  • the total number of third exchangers n 3 may also be equal to the total number of input signals of the column decoder, that is, the total number of column address subsignals m 3 .
  • each column address subsignal and its inverted signal have a corresponding third exchanger.
  • the embodiment of the present invention achieves a better encrypting effect if a value of n 3 is closer to m 3 .
  • the fifth signal in this embodiment of the present invention may be a high-level signal, and the sixth signal may correspondingly be a low-level signal; or the fifth signal may be a low-level signal, and the sixth signal may correspondingly be a high-level signal.
  • the random number generator may include: a linear feedback shift register that has at least N 5 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N 5 is a total number of second exchangers and third exchangers included in the nonvolatile memory; each second exchanger and each third exchanger correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • a nonvolatile memory when a nonvolatile memory includes only one bank, no bank decoder may be disposed, and when a nonvolatile memory includes two or more than two banks, bank decoders may be disposed, which are not limited herein.
  • no bank decoder When a bank decoder is disposed in the nonvolatile memory, no first exchanger may be disposed in the bank decoder; or the first exchanger can be disposed.
  • first exchangers are disposed in a bank decoder, implementation of the bank decoder is similar to a structure of the nonvolatile memory in the second embodiment. Therefore, this embodiment only describes a situation in which the nonvolatile memory does not include the bank decoder or no first exchanger is disposed in the bank decoder, and the nonvolatile memory is implemented by using a structure in the prior art.
  • each bank included in the nonvolatile memory has four possible implementation structures: first, no second exchanger is disposed in a row decoder and no third exchanger is disposed in a column decoder of a bank; second, second exchangers are disposed in a row decoder and no third exchanger is disposed in a column decoder of a bank; third, no second exchanger is disposed in a row decoder and third exchangers are disposed in a column decoder of a bank; and four, second exchangers are disposed in a row decoder and third exchangers are disposed in a column decoder of a bank.
  • second exchangers are disposed in a row decoder of at least one bank and third exchangers are disposed in a column decoder of at least one bank in the nonvolatile memory.
  • a nonvolatile memory includes four banks, bank 1 is implemented by using the second possible implementation structure, bank 2 is implemented by using the fourth possible implementation structure, bank 3 is implemented by using the third possible implementation structure, and bank 4 is implemented by using the first possible implementation structure.
  • the first possible implementation structure of a bank is the same as the implementation structure of a bank in the prior art and is not repeatedly described herein.
  • the second possible implementation structure of a bank refer to the bank implementation structure example shown in FIG. 4 and details are not described herein again.
  • the third possible implementation structure of a bank refer to the bank implementation structure example shown in FIG 5 and details are not described herein again.
  • the random number generator in this embodiment refer to the random number generator instance shown in FIG. 3A .
  • the number of bits of the random number generator in this embodiment can be N 5 and each bit connects to a second exchanger or third exchanger.
  • different banks may be provided with different numbers of second exchangers n 2 , and use j 1 and j 2 of the same value or different values; different banks may be provided with different numbers of third exchangers n 3 , and use k 1 and k 2 of the same value or different values, which are not limited herein.
  • a structure in which second exchangers are disposed in row decoders and third exchangers are disposed in column decoders of other banks is similar to the bank structure in FIG.
  • a person of ordinary skill in the art can follow principles such as setting a foregoing second exchanger for at least one row address subsignal and its inverted signal in a row address decoder of at least one bank and setting a foregoing third exchanger for at least one column address subsignal and its inverted signal in a column decoder of at least one bank to properly transform the instances to acquire various implementation structures of a nonvolatile memory that includes any number of banks in this embodiment. Details are not described herein again.
  • a random number generator when a nonvolatile memory is powered on, a random number generator generates a selection signal to control, in addition to second exchangers, each third exchanger to keep a corresponding column address subsignal and an inverted signal of the column address subsignal unchanged or exchange the corresponding column address subsignal and the inverted signal of the column address subsignal.
  • the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, compared with the nonvolatile memory before the power-off, a same row address subsignal corresponds to different row gating signals and a same column address subsignal corresponds to different column gating signals, which disarranges data, stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect.
  • the nonvolatile memory includes at least one bank, and each bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array.
  • the nonvolatile memory further includes a random number generator.
  • the at least one bank further includes n 3 third exchangers disposed between a third signal generator and a third decoder of a column decoder and one third exchanger corresponds to one column address subsignal of the column decoder, where the random number generator is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a corresponding third exchanger.
  • the k 1 th third exchanger of each bank is configured to: receive the k 2 th column address subsignal corresponding to the k 1 th third exchanger and an inverted signal of the k 2 th column address subsignal; when a received selection signal sent by the random number generator is a fifth signal, output the k 2 th column address subsignal as the k 2 th column address subsignal of the column decoder to the third decoder and output the inverted signal of the k 2 th column address subsignal as the inverted signal of the k 2 th column address subsignal of the column decoder to the third decoder; when the received selection signal sent by the random number generator is a sixth signal, output the inverted signal of the k 2 th column address subsignal as the k 2 th column address subsignal of the column decoder to the third decoder and output the k 2 th column address subsignal as the inverted signal of the k 2 th column address subsignal of the column decoder
  • Values of k 1 and k 2 may be the same or different.
  • a total number of third exchangers n 3 may be smaller than a total number of input signals of a column decoder, that is, a total number of column address subsignals m 3 .
  • the total number of third exchangers n 3 may further be equal to the total number of input signals of the column decoder, that is, the total number of column address subsignals m 3 .
  • each column address subsignal and its inverted signal have a corresponding third exchanger.
  • the embodiment of the present invention achieves a better encrypting effect if a value of n 3 is closer to m 3 .
  • the fifth signal in the embodiment of the present invention may be a high-level signal, and the sixth signal may correspondingly be a low-level signal; or the fifth signal may be a low-level signal, and the sixth signal may correspondingly be a high-level signal.
  • the random number generator may include a linear feedback shift register that has at least N 6 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N 6 is a total number of third selectors included in the nonvolatile memory.
  • Each exchanger corresponds to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • a nonvolatile memory when a nonvolatile memory includes only one bank, no bank decoder may be disposed, and when a nonvolatile memory includes two or more banks, bank decoders may be disposed, which are not limited herein.
  • no bank decoder When a bank decoder is disposed in the nonvolatile memory, no first exchanger may be disposed in the bank decoder; or the first exchanger can be disposed.
  • first exchangers are disposed in a bank decoder, implementation of the bank decoder is similar to a structure of the nonvolatile memory in the second embodiment. Therefore, this embodiment only describes a situation in which the nonvolatile memory does not include a bank decoder or no first exchanger disposed in the bank decoder, and the nonvolatile memory is implemented by using a structure in the prior art.
  • a bank of a nonvolatile memory has two possible implementation structures: first, no third exchanger is disposed in a column decoder; and second, third exchangers are disposed in a column decoder.
  • at least one bank in the nonvolatile memory is implemented by using the second possible implementation structure.
  • the first possible implementation structure of a bank is the same as the implementation structure of a bank in the prior art and is not repeatedly described herein.
  • a random number generator in this embodiment refers to the random number generator instance shown in FIG. 3A .
  • the number of bits of the random number generator in this embodiment can be N 6 and each bit connects to a third exchanger.
  • different banks may be provided with different numbers of third exchangers n 3 and use k 1 and k 2 of the same value or different values, which are not limited herein.
  • a structure in which third exchangers are disposed in column decoders of other banks is similar to the bank structure in FIG. 5 , with differences in that values of n 2 may be different, values of j 1 and j 2 may be different, and some column address sub signals may not have corresponding third exchangers. Details are not described herein again.
  • a random number generator when a nonvolatile memory is powered on, a random number generator generates a selection signal to control each third exchanger in a bank to keep a corresponding column address subsignal and an inverted signal of the column address subsignal unchanged or exchange the corresponding column address subsignal and the inverted signal of the column address subsignal.
  • the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, a same column address subsignal corresponds to different column gating signals compared with the nonvolatile memory before the power-off, which disarranges data, stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect,
  • data stored in the nonvolatile memory cannot be sequentially read from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read the data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • a nonvolatile memory in an embodiment of the present invention may specifically be a phase-change memory, a resistive random-access memory (ReRAM), and the like.
  • an embodiment of the present invention also provides an electronic device, which includes the nonvolatile memory according to any one of the foregoing embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Read Only Memory (AREA)

Abstract

The embodiments of the present invention disclose a nonvolatile memory and an electronic device, where each time the nonvolatile memory is powered on, an exchanger is used to implement a random exchange of at least one address subsignal and its inverted signal in a bank decoder and/or a row decoder in a bank and/or a column decoder in a bank, which causes that data stored before the nonvolatile memory is powered off is interrupted when the nonvolatile memory is powered off and then powered on and that data stored in the nonvolatile memory cannot be read sequentially from original storage addresses to achieve an encrypting effect and increase security of the data stored in the nonvolatile memory.

Description

  • This invention claims priority to Chinese Patent Application No. 201310613032.4 , filed with the Chinese Patent Office on November 27, 2013 and entitled "NONVOLATILE MEMORY AND ELECTRONIC DEVICE", which is incorporated herein by reference in its entirety.
  • TECHNICAL FIELD
  • The present invention relates to data encryption technologies, and in particular, to a nonvolatile memory and an electronic device.
  • BACKGROUND
  • A nonvolatile memory features nonvolativity that information is not lost after a power failure. However, when a nonvolatile memory is used in a certain scenario where relatively high security is required, information stored in the nonvolatile memory after a power failure may risk a leakage.
  • A phase-change memory of the nonvolatile memory type is used as an example. A phase-change memory is a type of nonvolatile memory that stores information by using different states of a phase-change material. When the phase-change material is in a crystalline state, resistance is relatively small; when the phase-change material is in a non-crystalline state, resistance is relatively large. Corresponding data can be read by detecting a resistance of the phase-change material. Compared with an existing flash memory in the prior art, the phase-change memory has such advantages as quick read and write speeds, abrasion resistance, low power consumption, and high integration. At present, the phase-change memory is likely to replace the flash memory gradually. In the future, the phase-change memory is likely to replace a dynamic random access memory (Dynamic Random Access Memory, DRAM) as the memory of an electronic device. When a phase-change memory is used as the memory of an electronic device, to-be-sent original data can be encrypted and then sent or original data can be encrypted and then saved to a hard disk. However, when an application program in the electronic device uses the encrypted data, the electronic device usually implements decryption to obtain the original data and saves the original data to a memory to increase efficiency of reusing the original data later. That is, data in the memory is original data in plaintext. After the electronic device is powered off, if a person removes the phase-change memory used as a memory module and installs the phase-change memory to his/her own computer, the person can use a software tool to read and parse data in the phase-change memory to acquire the original data stored in the phase-change memory, and the original data may include information that needs to be kept secret, such as sensitive information of a user. This causes data stored in the phase-change memory to be relatively insecure.
  • It may be known based on the foregoing description that data stored in a nonvolatile memory is of poor security because of the nonvolativity feature of the nonvolatile memory.
  • SUMMARY
  • Embodiments of the present invention provide a nonvolatile memory and an electronic device, which can encrypt data stored in a nonvolatile memory to increase security of data stored in the nonvolatile memory.
  • According to a first aspect, a nonvolatile memory is provided, where the nonvolatile memory includes a bank decoder and at least two banks bank, and the bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array. The nonvolatile memory further includes a random number generator and n1 first exchangers disposed between a first signal generator and a first decoder of the bank decoder, and one of the first exchangers corresponds to one bank address sub signal of the bank decoder, where:
    • the random number generator is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each first exchanger and send the generated selection signal to a first exchanger corresponding to the selection signal; and
    • the i1 th first exchanger of the bank decoder is configured to: receive the i2 th bank address subsignal corresponding to the i1 th first exchanger and an inverted signal of the i2 th bank address subsignal; when a received selection signal is a first signal, output the i2 th hbank address subsignal as the i2 th bank address subsignal to the first decoder and output the inverted signal of the i2 th bank address subsignal as the inverted signal of the i2 th bank address subsignal to the first decoder; when the received selection signal is a second signal, output the inverted signal of the i2 th bank address subsignal as the i2 th bank address subsignal to the first decoder and output the i2 th bank address subsignal as the inverted signal of the i2 th bank address subsignal to the first decoder; and 1≤i1≤n1, 1≤i2≤m1, and 1≤n1≤m1, where m1 is a total number of bank address subsignals.
  • With reference to the first aspect, in a first implementation manner of the first aspect, at least one bank further includes: n2 second exchangers disposed between a second signal generator and a second decoder of a row decoder, and one second exchanger corresponds to one row address subsignal of the row decoder, where:
    • the random number generator is further configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each second exchanger and send the generated selection signal to a second exchanger corresponding to the selection signal; and
    • the j1 th second exchanger j1 of each bank is configured to: receive the j2 th row address subsignal corresponding to the j2 th second exchanger and an inverted signal of the j2 th row address subsignal; when a received selection signal is a third signal, output the j2 th row address subsignal as the j2 th row address subsignal to the second decoder and output the inverted signal of the j2 th row address subsignal as the inverted signal of the j2 th row address subsignal to the second decoder; when the received selection signal is a fourth signal, output the inverted signal of the j2 th row address subsignal as the j2 th row address subsignal to the second decoder and output the j2 th row address subsignal as the inverted signal of the j2 th row address subsignal to the second decoder; and 1≤j1≤n2, 1≤j2≤m2, and 1≤n2≤m2, where m2 is a total number of row address subsignals of a row decoder to which the j1 th second exchanger belongs.
  • With reference to the first aspect, in a second implementation manner of the first aspect, at least one bank further includes: n3 third exchangers disposed between a third signal generator and a third decoder of a column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, where:
    • the random number generator is further configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a third exchanger corresponding to the selection signal; and
    • the k1 th third exchanger of each bank is configured to: receive the k2 th column address subsignal corresponding to the k1 th third exchanger and an inverted signal of the k2 th column address subsignal; when a received selection signal is a fifth signal, output the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the inverted signal of the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; when the received selection signal is a sixth signal, output the inverted signal of the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; and 1≤k1≤n3, 1≤k2≤m3, and 1≤n3≤m3, where m3 is a total number of column address subsignals of a column decoder to which the k1 th third exchanger belongs.
  • With reference to the first implementation manner of the first aspect, in a third implementation manner of the first aspect, the at least one bank further includes: n3 third exchangers disposed between a third signal generator and a third decoder of a column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, where:
    • the random number generator is further configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a third exchanger corresponding to the selection signal; and
    • the k1 th third exchanger of each bank is configured to: receive the k2 th column address subsignal corresponding to the k1 th third exchanger and an inverted signal of the k2 th column address subsignal; when a received selection signal is a fifth signal, output the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the inverted signal of the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; when the received selection signal is a sixth signal, output the inverted signal of the k2 th column address sub signal as the k2 th column address subsignal to the third decoder and output the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; and 1≤k1≤n3, 1≤k2≤m3, and 1≤n3≤m3, where m3 is a total number of column address subsignals of a column decoder to which the k1 th third exchanger belongs.
  • With reference to the first aspect, in a fourth implementation manner of the first aspect, the random number generator includes a linear feedback shift register that has at least n1 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; and
    the n1 first exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • With reference to the first implementation manner of the first aspect, in a fifth implementation manner of the first aspect, the random number generator includes a linear feedback shift register that has at least N1 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N1 is a total number of first exchangers and second exchangers included in the nonvolatile memory; and
    each of the first exchangers and each of the second exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • With reference to the second implementation manner of the first aspect, in a sixth implementation manner of the first aspect, the random number generator includes a linear feedback shift register that has at least N2 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N2 is the total number of first exchangers and third exchangers included in the nonvolatile memory; and
    each of the first exchangers and each of the third exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • With reference to the third implementation manner of the first aspect, in a seventh implementation manner of the first aspect, the random number generator includes a linear feedback shift register that has at least N3 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N3 is a total number of first exchangers, second exchangers, and third exchangers included in the nonvolatile memory; and
    each of the first exchangers, each of the second exchangers, and each of the third exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • According to a second aspect, a nonvolatile memory is provided, where the nonvolatile memory includes at least one bank bank and each bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array. The nonvolatile memory further includes a random number generator, the at least one bank further includes n2 second exchangers disposed between a second signal generator and a second decoder of a row decoder, and one second exchanger corresponds to one row address subsignal of the row decoder, where:
    • the random number generator is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each second exchanger and send the generated selection signal to a second exchanger corresponding to the selection signal; and
    • the j1 th second exchanger of each bank is configured to receive the j2 th row address subsignal corresponding to the j1 th second exchanger and an inverted signal of the j2 th row address subsignal; when a received selection signal is a third signal, output the j2 th row address subsignal as the j2 th row address subsignal to the second decoder and output the inverted signal of the j2 th row address subsignal as the inverted signal of the j2 th row address subsignal to the second decoder; when the received selection signal is a fourth signal, output the inverted signal of the j2 th row address subsignal as the j2 th row address subsignal to the second decoder and output the j2 th row address subsignal as the inverted signal of the j2 th row address subsignal to the second decoder; and 1≤j1≤n2, 1≤j2≤m2, and 1≤n2≤m2, where m2 is a total number of row address subsignals of a row decoder to which the j1 th second exchanger belongs.
  • With reference to the second aspect, in a first implementation manner of the second aspect, the at least one bank further includes: n3 third exchangers disposed between a third signal generator and a third decoder of a column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, where:
    • the random number generator is further configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a third exchanger corresponding to the selection signal; and
    • the k1 th third exchanger of each bank is configured to: receive the k2 th column address subsignal corresponding to the k1 th third exchanger and an inverted signal of the k2 th column address subsignal; when a received selection signal is a fifth signal, output the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the inverted signal of the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; when the received selection signal is a sixth signal, output the inverted signal of the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; and 1≤k1≤n3, 1≤k2≤m3, and 1≤n3≤m3, where m3 is a total number of column address subsignals of a column decoder to which the k1 th third exchanger belongs.
  • With reference to the second aspect, in a second implementation manner of the second aspect, the random number generator includes a linear feedback shift register that has at least N4 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N4 is a total number of second exchangers included in the nonvolatile memory; and
    each of the second exchangers corresponds to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • With reference to the first implementation manner of the second aspect, in a third implementation manner of the second aspect, the random number generator includes a linear feedback shift register that has at least N5 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N5 is a total number of second exchangers and third exchangers included in the nonvolatile memory; and
    each of the second exchangers and each of the third exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • According to a third aspect, a nonvolatile memory is provided, where the nonvolatile memory includes at least one bank bank, and each bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array. The nonvolatile memory further includes a random number generator, the at least one bank further includes n3 third exchangers disposed between a third signal generator and a third decoder of a column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, where:
    • the random number generator is configured to, when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a third exchanger corresponding to the selection signal;
    • the k1 th third exchanger of each bank is configured to: receive the k2 th column address subsignal corresponding to the k1 th third exchanger and an inverted signal of the k2 th column address subsignal; when a received selection signal is a fifth signal, output the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the inverted signal of the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; when the received selection signal is a sixth signal, output the inverted signal of the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; and 1≤k1≤n3, 1≤k2≤m3, and 1≤n3≤m3, where m3 is a total number of column address subsignals of a column decoder to which the k1 th third exchanger belongs.
  • With reference to the third aspect, in a first implementation manner of the third aspect, the random number generator includes a linear feedback shift register that has at least N6 bits, and a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N6 is a total number of third selectors included in the nonvolatile memory; and
    each of the third exchangers corresponds to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • According to a fourth aspect, an electronic device is provided and includes a nonvolatile memory according to any one of the foregoing aspects.
  • The nonvolatile memory in this embodiment includes a bank decoder and at least two banks bank, the bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array, and the nonvolatile memory further includes a random number generator and n1 first exchangers disposed between a first signal generator and a first decoder of the bank decoder, where one first exchanger corresponds to one bank address subsignal of the bank decoder, and the random number generator is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each first exchanger and send the generated selection signal to a corresponding first exchanger; the i1 th first exchanger of the bank decoder is configured to receive the i2 th bank address subsignal corresponding to the i1 th first exchanger and an inverted signal of the i2 th bank address subsignal; when a received selection signal is a first signal, output the i2 tn bank address subsignal as the i2 th bank address subsignal to the first decoder and output the inverted signal of the i2 th bank address subsignal as the inverted signal of the i2 th bank address subsignal to the first decoder; when the received selection signal is a second signal, output the inverted signal of the i2 th bank address subsignal as the i2 th bank address subsignal to the first decoder and output the i2 th bank address subsignal as the inverted signal of the i2 th bank address subsignal to the first decoder; and 1≤i1≤n1, 1≤i2≤m1, and 1≤n1≤m1, where m1 is a total number of bank address subsignals. In this embodiment, when a nonvolatile memory is powered on, a random number generator generates a selection signal to control each first exchanger in a bank decoder to keep a corresponding bank address subsignal and its inverted signal unchanged or exchange the corresponding bank address subsignal and the inverted signal of the bank address subsignal. Because the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, a same bank address subsignal corresponds to different bank gating signals compared with the nonvolatile memory before the power-off, which disarranges data, stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect. As a result, the data stored in the nonvolatile memory cannot be sequentially read from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read the data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • BRIEF DESCRIPTION OF DRAWINGS
  • To describe the technical solutions in the embodiments of the present invention or in the prior art more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments or the prior art. Apparently, the accompanying drawings in the following description show merely some embodiments of the present invention, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.
    • FIG. 1 is a schematic structural diagram of a nonvolatile memory in the prior art;
    • FIG. 2 is a schematic structural diagram of a 3-to-8 line address decoder in the prior art;
    • FIG. 2A is a schematic structural diagram of an exchanger according to an embodiment of the present invention;
    • FIG. 2B is a schematic structural diagram of a 3-to-8 line address decoder on which an exchanger is disposed according to an embodiment of the present invention;
    • FIG. 2C is a schematic structural diagram of a pseudo-random sequence generator according to an embodiment of the present invention;
    • FIG. 3 is a structural diagram of an instance of a first embodiment of a nonvolatile memory according to the present invention;
    • FIG. 3A is a structural diagram of an instance of a random number generator in a first embodiment of the nonvolatile memory according to the present invention;
    • FIG. 4 is a structural diagram of an instance of a second embodiment of the nonvolatile memory according to the present invention;
    • FIG. 4A is a structural diagram of an instance of a random number generator in a second embodiment of the nonvolatile memory according to the present invention;
    • FIG. 5 is a structural diagram of an instance of a third embodiment of the nonvolatile memory according to the present invention;
    • FIG. 5A is a structural diagram of an instance of a random number generator in a third embodiment of the nonvolatile memory according to the present invention;
    • FIG. 6 is a structural diagram of an instance of a fourth embodiment of the nonvolatile memory according to the present invention;
    • FIG. 6A is a structural diagram of an instance of a random number generator in a fourth embodiment of the nonvolatile memory according to the present invention;
    • FIG. 7 is a structural diagram of a fifth embodiment of the nonvolatile memory according to the present invention; and
    • FIG. 7A is another structural diagram of a fifth embodiment of the nonvolatile memory according to the present invention.
    DESCRIPTION OF EMBODIMENTS
  • Referring to FIG. 1, FIG. 1 is a schematic structural diagram of a nonvolatile memory in the prior art, where the nonvolatile memory includes at least one bank and a bank decoder, and each bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array. FIG. 1 shows a structure of one bank. Structures of other banks are the same as this structure and not described in detail herein. The storage array is a large number of storage units which are arranged in rows and columns to form a matrix. Each row of storage units has a row gating signal and one row of storage units is selected each time by using a row gating signal. Each column of storage units has one column gating signal and one column of storage units is selected each time by using a column gating signal. Data written into or read from the storage array is input and output by using a bit line.
  • The bank decoder is configured to generate a bank gating signal according to a bank address signal input by a controller of the nonvolatile memory and select a bank indicated by the bank address signal so as to perform read or write access on the selected bank. Generally, a bank decoder is disposed in a nonvolatile memory only when the nonvolatile memory includes at least two banks. If a nonvolatile memory includes only one bank, no bank decoder is required. Generally, a bank address consists of at least 1-bit binary code. When a bank address signal is generated according to a bank address, each bit of binary code corresponds to one address sub signal, and therefore, the number of bits in the binary code equals the number of address subsignals included in the bank address signal. For example, a bank address BA[0:1] indicates that the bank address includes two address subsignals. Similarly, row address signals and column address signals described in the following include several row address subsignals and several column address subsignals respectively.
  • A row decoder of each bank is configured to generate a row gating signal according to a row address signal input by a controller of the nonvolatile memory and select one row of storage units, from a storage array of a bank to which the row decoder belongs, indicated by the row address signal to perform read or write access.
  • A column decoder of each bank is configured to generate a column gating signal according to a column address signal input by the controller of the nonvolatile memory and select one column of storage units, from the storage array of the bank to which the column decoder belongs, indicated by the column address signal to perform the read or write access.
  • A storage unit in a bank can be selected when a bank is selected according to a bank decoder and one row of storage units and one column of storage units in the bank are selected respectively according to a row decoder and a column decoder. In this manner, a storage unit can be selected for read and write access.
  • Certainly, as shown in FIG. 1, in an actual application, each bank may further include other structures, such as control logic, a write drive, and a sense amplifier, which are not limited by the embodiment of the present invention. The control logic is generally used to: according to a chip select or read/write signal provided by an external component of the nonvolatile memory, such as the controller of the nonvolatile memory, control the write drive to perform write access on the storage array, or control the sense amplifier to perform read access on the storage array; and the write drive is generally used to store to-be-written data sent by the controller of the nonvolatile memory in a storage unit selected by the row decoder and the column decoder, and specifically, the data can be sent to the storage unit according to a write pulse signal of a waveform generated corresponding to that the data to be written to the storage unit is 0 or 1; and the sense amplifier is generally used to read data stored in a storage unit selected by the row decoder and the column decoder, amplify the read data, and transmit it to the controller of the nonvolatile memory.
  • The bank decoder, row decoder, and column decoder can be implemented by using address decoders.
  • An address decoder is a common digital logic circuit. The address decoder can, according to different input signal combinations, select one output signal from multiple output signals and set it to be of an effective level, and leave other output signals invalid. A relation between the number of output signals n, and the number of input signals m of the address decoder is: n=2 m , where m and n are natural numbers. When a bank decoder is implemented by using the address decoder, the bank address signal is used as an input signal of the address decoder and an output signal of the address decoder is used as the bank gating signal. The implementation of a row decoder and the implementation of a column decoder are similar to this, and details are not described herein again.
  • The following describes implementation principles of the address decoder. Here, a 3-to-8 line address decoder is used as an example, where the 3-to-8 line address decoder is formed by eight AND circuits and three phase inverters. Each of the three phase inverters corresponds to one input signal of the address decoder and is used to generate an inverted signal for the corresponding input signal. The eight AND circuits are used to generate an output signal according to an input signal and an inverted signal of the input signal. The 3-to-8 line address decoder has three input signals, which are A2, A1, and A0, and eight output signals, which are Q7 to Q0. It is assumed that an output higher level is of an effective level and is indicated by 1. Logical relations between the input signals and the output signals are as follows:
    • Q0=/A2*/A1*/A0, where, when A2A1A0=000, Q0 is 1, and otherwise it is 0;
    • Q1=/A2*/A1*A0, where, when A2A1A0=001, Q1 is 1, and otherwise it is 0;
    • Q2=/A2*A1*/A0, where, when A2A1A0=010, Q2 is 1, and otherwise it is 0;
    • Q3=/A2*A1*A0, where, when A2A1A0=011, Q3 is 1, and otherwise it is 0;
    • Q4=A2*/A1*/A0, where, when A2A1A0=100, Q4 is 1, and otherwise it is 0;
    • Q5=A2*/A1*A0, where, when A2A1A0=101, Q5 is 1, and otherwise it is 0;
    • Q6=A2*A1*/A0, where, when A2A1A0=110, Q6 is 1, and otherwise it is 0; and
    • Q7=A2*A1*A0, where, when A2A1A0=111, Q7 is 1, and otherwise it is 0;
  • /A indicates reverse of A, for example, when A=0, /A=1 and when A=1, /A=0. A symbol * indicates a logical AND operation.
  • It can be learnt from the foregoing expressions that three input signals correspond to eight expressions. If A2A1A0=000, Q0=1 and other outputs are 0; if A2A1A0=001, Q1=1; and so on.
  • The foregoing are circuits and logical relations of the 3-to-8 line address decoder. Other address decoders have same implementation principles, which are not described in detail herein again. In addition, for conciseness of the following description of embodiments of the present invention, an address decoder in an embodiment of the present invention is divided into a signal generator and a decoder, where:
    • the signal generator is used to receive an input signal of the address decoder, output the input signal of the address decoder and an inverted signal of the input signal to the decoder, as shown in a part 210 of the 3-to-8 line address decoder in FIG. 2; and
    • the decoder is used to generate an output signal of the address decoder according to the input signal of the address decoder and the inverted signal of the input signal, as shown in a part 220 of the 3-to-8 line address decoder in FIG. 2.
  • Based on the foregoing implementation structure of a nonvolatile memory in the prior art, a nonvolatile memory provided in the present invention implements encryption of data stored in the nonvolatile memory by embedding a random number generator and exchangers, so that it is difficult to recover original data from the encrypted data, which increase security of the data stored in the nonvolatile memory.
  • The following clearly and completely describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are merely a part rather than all of the embodiments of the present invention. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
  • The following first describes principles of encrypting data stored in the nonvolatile memory according to an embodiment of the present invention. In this description, the foregoing 3-to-8 line address decoder is still used as an example. If the 3-to-8 line address decoder is used as a row decoder of a storage array, eight output signals Q7 to Q0 of the 3-to-8 line address decoder can be used as row gating signals. If row sequence numbers begin with 0, when A2A1A0=000, row 0 of the storage array is selected; and when A2A1A0=001, row 1 of the storage array is selected; if A0 and /A0 in expressions of Q0 and Q1 are exchanged, when A2A1A0=000, row 1 of the storage array is selected; and when A2A1A0=001, row 0 of the storage array is selected, which is equivalent to that row 0 and row 1 are exchanged. If such exchange occurs simultaneously on A2, A1, and A0, expressions are changed into:
    • Q0=A2*A1*A0, where, when A2A1A0=111, Q0 is 1, and otherwise it is 0;
    • Q1=A2*A1*/A0, where, when A2A1A0=110, Q1 is 1, and otherwise it is 0;
    • Q2=A2*/A1*A0, where, when A2A1A0=101, Q2 is 1, and otherwise it is 0;
    • Q3=A2*/A1*/A0, where, when A2A1A0=100, Q3 is 1, and otherwise it is 0;
    • Q4=/A2*A1*A0, where, when A2A1A0=011, Q4 is 1, and otherwise it is 0;
    • Q5=/A2*A1*/A0, where, when A2A1A0=010, Q5 is 1, and otherwise it is 0;
    • Q6=/A2*/A1*A0, where, when A2A1A0=001, Q6 is 1, and otherwise it is 0; and
    • Q7=/A2*/A1*/A0, where, when A2A1A0=000, Q7 is 1, and otherwise it is 0.
  • It can be learnt from comparison of the two groups of expressions that Q7 and Q0 are exchanged, Q6 and Q1 are exchanged, and so on. Because Q7 to Q0 are row gating signals, a result of such exchange is: an external component, such as a controller, of a nonvolatile memory provides an address of row 0 of the storage array, but the nonvolatile memory actually selects row 7 of the storage array; the controller provides an address of row 1 of the storage array, but the nonvolatile memory actually selects row 6 of the storage array, and so on. If such exchange between A and /A occurs randomly, for example, A2 and /A2 are exchanged but A1 and /A1 are not exchanged, and such exchange is performed on at least one of a bank address, row address, and column address in the nonvolatile memory each time the nonvolatile memory is powered on, after data output by the controller to the nonvolatile memory is stored by the nonvolatile memory, a same bank address subsignal corresponds to different bank gating signals before and after the nonvolatile memory is powered off and then powered on, which causes that data stored before the nonvolatile memory is powered off is disarranged when the nonvolatile memory is powered off and then powered on, and that the data stored in the nonvolatile memory cannot be read sequentially from original storage addresses, so as to achieve an encrypting effect. An example is provided as follows:
    If a nonvolatile memory in the prior art saves four English words before being powered off separately in rows 1 to 4 of a storage array, where the first row is DATA, the second row is WORD, the third row is CODE, and the fourth row is PRAM, storage location relations of data in the storage array are shown in Table 1 below: Table 1
    Column 1 Column 2 Column 3 Column 4
    Row 1 D A T A
    Row 2 W O R D
    Row 3 C O D E
    Row 4 P R A M
  • When the nonvolatile memory in the present invention is powered off and then powered on, if row 1 and row 4 are exchanged, and row 2 and row 3 are exchanged, the storage location relations are changed into storage location relations shown in Table 2 below: Table 2
    Column 1 Column 2 Column 3 Column 4
    Row 1 P R A M
    Row 2 C O D E
    Row 3 W O R D
    Row 4 D A T A
  • Based on Table 2, if the nonvolatile memory in the present invention further exchanges column 1 and column 4, and exchanges column 2 and column 3, the storage location relations are finally changed into storage location relations shown in Table 3 below: Table 3
    Column 1 Column 2 Column 3 Column 4
    Row 1 M A R P
    Row 2 E D O C
    Row 3 D R O w
    Row 4 A T A D
  • When a person wants to directly read data stored in the storage array of the nonvolatile memory, data in each row is sequentially read according to addresses of the storage array, which are MARP, EDOC, DROW, and ATAD. It is difficult to parse what data is actually stored in the nonvolatile memory, which achieves an effect of encrypting the data stored in the nonvolatile memory. In particular, at least one bank is disposed in a commonly used nonvolatile memory and each bank includes thousands of rows and columns. If part or all of banks and/or rows and/or columns are exchanged to change the storage locations and sequence of data stored, data read sequentially from the nonvolatile memory has very low correlation and it is very difficult to recover original data. This encryption method changes only storage locations and storage sequences of data and does not change the data itself, which is similar to card shuffling.
  • The following further discusses how to use circuits to implement such exchange. The 3-to-8 line address decoder shown in FIG. 2 is still used as an example for description. The 3-to-8 line address decoder is a combinational logic circuit, and is formed by eight AND circuits and three phase inverters, which is shown in FIG 2.
  • To implement exchanges between A0 and /A0, A1 and /A1, and A2 and /A2, an exchanger structure shown in FIG. 2A may be used. That input signals are A and /A is used as an example to describe implementation principles of the exchanger. If input signals of the exchanger are A, /A, and sel, and output signals are L and /L, where sel is a selection signal used to determine logical functions of circuits.
  • When sel=0, L=A and /L=/A, which is a pass-through mode of the exchanger;
    when sel=1, L=/A and /L=A, which is an exchange mode of the exchanger; and
    if sel is changed randomly, L and /L may be equal to A or /A randomly.
  • As shown in FIG 2B, three exchangers are disposed between a signal generator and a decoder of a 3-to-8 line address decoder. L0 replaces A0, /L0 replaces /A0, L1 replaces A1, /L1 replaces /A1, L2 replaces A2, and /L2 replaces /A2. In this case, exchanges between A0 and /A0, A1 and /A1, and A2 and /A2 are implemented. In addition, in an actual application, two or one exchanger may be disposed instead of three exchangers to implement exchange between any two pairs or one pair of A0 and /A0, A1 and /A1, and A2 and /A2, which are input signals and their inverted signals. This may also achieve a certain encrypting effect. Certainly, if a corresponding exchanger is set for each pair of input signal and its inverted signal, the encrypting effect may be optimal.
  • In addition, to enable a selection signal sel of the exchanger, such as selection signals sel2, sell, and sel0 of three exchangers in FIG. 2B, to change randomly, a random number generator may be disposed and a bit randomly generated by the random number generator is used as the selection signal. There are many methods for implementing the random number generator. For example, a pseudo-random sequence generator shown in FIG 2C may be used. The pseudo-random sequence generator implements the random number generator by using a linear feedback shift register. A specific method is to use a signal, obtained after exclusive OR processing is performed on two bits such as the least significant bit and one bit in the middle of a linear feedback shift register, as a shift input signal. In this case, random data is generated after multiple shifts controlled by a clock signal. The number of bits X of the linear feedback shift register may be set according to an actual application environment.
  • The following describes implementation of a nonvolatile memory provided in embodiments of the present invention based on the foregoing implementation principles proposed by the foregoing inventor and with reference to the accompanying drawings.
  • In a first embodiment of a nonvolatile memory according to the present invention, a nonvolatile memory is provided. The nonvolatile memory includes at least two banks bank and a bank decoder, and each bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array. The nonvolatile memory further includes: a random number generator and n1 first exchangers disposed between a first signal generator and a first decoder of the bank decoder, and one first exchanger corresponds to one bank address subsignal of the bank decoder, where the random number generator is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each first exchanger and send the generated selection signal to a corresponding first exchanger.
  • The i1 th first exchanger of each bank decoder is configured to: receive the i2 th bank address subsignal corresponding to the i1 th first exchanger and an inverted signal of the ith bank address subsignal; when a received selection signal sent by the random number generator is a first signal, output the i2 th bank address subsignal as the i2 th bank address subsignal of the bank decoder to the first decoder and output the inverted signal of the i2 th bank address subsignal as the inverted signal of the i2 th bank address subsignal of the bank decoder to the first decoder; when the received selection signal sent by the random number generator is a second signal, output the inverted signal of the i2 th bank address subsignal as the i2 th bank address subsignal of the bank decoder to the first decoder and output the i2 th bank address subsignal as the inverted signal of the i2 th bank address subsignal of the bank decoder to the first decoder; and 1≤i1≤n1, 1≤i2≤m1, and 1≤n1≤m1, where m1 is a total number of bank address subsignals, and
    i1 and i2 may be equal or unequal.
  • A total number of first exchangers n1 may be smaller than a total number of input signals of the bank decoder, that is, a total number of bank address subsignals m1. In this case, only n1 bank address subsignals and their inverted signals have corresponding first exchangers; the total number of first exchangers n1 may also be equal to the total number of input signals of the bank decoder, that is, the total number of bank address subsignals m1. In this case, each bank address subsignal and its inverted signal have a corresponding first exchanger. The embodiment of the present invention achieves a better encrypting effect if a value of n1 is closer to m1.
  • The first signal in the embodiment of the present invention may be a high-level signal, and the second signal may correspondingly be a low-level signal; or the first signal may be a low-level signal, and the second signal may correspondingly be a high-level signal.
  • The random number generator may include: a linear feedback shift register that has at least n1 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register;
    n1 first exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • FIG. 3 describe a specific implementation structure of the nonvolatile memory in the first embodiment by using an example, in which a nonvolatile memory includes 2 m1 banks, a bank decoder is implemented by using a m1-2 m1 line address decoder, n1=m1, and first exchangers correspond to bank address subsignals sequentially, that is, i1=i2.
  • Refer to FIG. 3. A nonvolatile memory 10 includes 2 m1 banks 11 and a bank decoder 12, and each bank 11 includes a storage array 111, a row decoder 112 of the storage array, and a column decoder 113 of the storage array. FIG. 3 shows a structure of only one bank 11 but does not show structures of other banks 11. The nonvolatile memory further includes: a random number generator 13 and m1 first exchangers 123 disposed between a first signal generator 121 and a first decoder 122 of the bank decoder 12, and one first exchanger 123 corresponds to one bank address subsignal of the bank decoder 12, where:
    • the random number generator 13 is configured to: when the nonvolatile memory 10 is powered on, randomly generate a selection signal for each first exchanger 123 and send the generated selection signal to a corresponding first exchanger 123.
  • The first signal generator 121 outputs each bank address subsignal and its inverted signal to a corresponding first exchanger 123; specifically, the first signal generator 121 sends a first bank address subsignal A1 and its inverted signal /A1 to the first first exchanger, sends a second bank address subsignal A2 and its inverted signal /A2 to the second first exchanger, ..., and sends the m1 thbank address subsignal Am1 and its inverted signal /Am1 to the m1 th first exchanger.
  • The i1 th first exchanger 123 is configured to: receive the i1 th bank address subsignal corresponding to the i1 th first exchanger 123 and an inverted signal of the i1 th bank address subsignal; when a received selection signal sent by the random number generator 13 is a first signal, output the i1 th bank address subsignal as the i1 th bank address subsignal of the bank decoder 12 to the first decoder 122 and output the inverted signal of the i1 th bank address subsignal as the inverted signal of the i1 th bank address subsignal of the bank decoder 12 to the first decoder 122; when the received selection signal sent by the random number generator 13 is a second signal, output the inverted signal of the i1 th bank address subsignal as the i1 th bank address subsignal of the bank decoder 12 to the first decoder 122 and output the i1 th bank address subsignal as the inverted signal of bank address subsignal of the bank decoder 12 to the first decoder 122; and values of i1 are 1, 2, ..., and m1.
  • The first decoder 122 is configured to generate a bank gating signal according to a bank address subsignal and its inverted signal output by each first exchanger 123.
  • With reference to FIG. 3A, the random number generator 13 shown in FIG. 3 may include: a linear feedback shift register 130 that has m1 bits, where a signal obtained after exclusive OR processing is performed on the first bit bit0 and the second bit bit1 of the linear feedback shift register 130 is used as a shift input signal of the linear feedback shift register;
    m1 first exchangers 123 correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator. FIG. 3A does not show a specific correspondence between each first exchanger and a bit. The correspondence may be set in an actual application and is not limited herein.
  • A signal obtained after exclusive OR processing is performed on any other two bits of the linear feedback shift register 130 may also be used as a shift input signal of the linear feedback shift register 130.
  • The nonvolatile memory implementation structures shown in FIG. 3 and FIG. 3A are merely specific instances. According to the instances, a person of ordinary skill in the art can set a foregoing first exchanger for at least one bank address subsignal and its inverted signal in a bank address decoder to properly transform the instances to acquire various implementation structures of a nonvolatile memory that includes two or more banks. Details are not described herein again. Specifically, 2 m1 should be equal to or greater than an actual number of banks in the nonvolatile memory. In addition, in different nonvolatile memory implementation structures, the number of bits included in the random number generator 13 shown in FIG 3A can be adjusted according to the number of first exchangers included in the nonvolatile memory.
  • This embodiment is particularly applicable to a scenario where the nonvolatile memory stores data in one storage unit of each bank sequentially when storing data. For example, if data to be stored is A, B, and C, data A is stored in the first bank, data B is stored in the second bank, and data C is stored in the third bank.
  • In this embodiment, when a nonvolatile memory is powered on, a random number generator generates a selection signal to control each first exchanger in a bank decoder to keep a corresponding bank address subsignal and its inverted signal unchanged or exchange the corresponding bank address subsignal and the inverted signal of the bank address subsignal. Because the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, a same bank address subsignal corresponds to different bank gating signals compared with the nonvolatile memory before the power-off, which disarranges data, stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect. As a result, the data stored in the nonvolatile memory cannot be sequentially read from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read the data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • In a second embodiment of a nonvolatile memory according to the present invention, based on the first embodiment of the nonvolatile memory, at least one bank in the nonvolatile memory may further include the following structure: n2 second exchangers disposed between a second signal generator and a second decoder of a row decoder and one second exchanger corresponds to one row address subsignal of the row decoder, where a random number generator may further be configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each second exchanger and send the generated selection signal to a corresponding second exchanger.
  • The j1 th second exchanger of each bank is configured to: receive the j2 th row address subsignal corresponding to the j1 th second exchanger and an inverted signal of the j2 th row address subsignal; when a received selection signal sent by the random number generator is a third signal, output the j2 th row address subsignal as the j2 th row address subsignal of the row decoder to the second decoder and output the inverted signal of the j2 th row address subsignal as the inverted signal of the j2 th row address subsignal of the row decoder to the second decoder; when the received selection signal sent by the random number generator is a fourth signal, output the inverted signal of the j2 th row address subsignal as the j2 th row address subsignal of the row decoder to the second decoder and output the j2 th row address subsignal as the inverted signal of the j2 th row address subsignal of the row decoder to the second decoder; and 1≤j1≤n2, 1≤j2≤m2, and 1≤n2≤m2, where m2 is a total number of row address subsignals of a row decoder to which the j1 th second exchanger belongs.
  • Values of j1 and j2 may be the same or different.
  • A total number of second exchangers n2 may be smaller than a total number of input signals of a row decoder, that is, a total number of row address subsignals m2. In this case, only n2 row address subsignals and their inverted signals have corresponding second exchangers; the total number of second exchangers n2 may also be equal to the total number of input signals of the row decoder, that is, the total number of row address subsignals m2. In this case, each row address subsignal and its inverted signal have a corresponding second exchanger. The embodiment of the present invention achieves a better encrypting effect if a value of n2 is closer to m2.
  • The third signal in the embodiment of the present invention may be a high-level signal, and the fourth signal may correspondingly be a low-level signal; or the third signal may be a low-level signal, and the fourth signal may correspondingly be a high-level signal.
  • The random number generator may include: a linear feedback shift register that has at least N1 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N1 is a total number of first exchangers and second exchangers included in the nonvolatile memory.
  • Each first exchanger and each second exchanger correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • The following describes a structure for implementing a nonvolatile memory in this embodiment with reference to FIG 4. Because the implementation structure is too complex, FIG 4 shows only: a structure for implementing a bank if the bank includes n2 second exchangers 1123 disposed between a second signal generator 1121 and a second decoder 1122 of a row decoder, and a connection relationship between the bank and the random number generator 13 in FIG. 3, and does not show other structures and connection relationships in FIG. 3. In addition, in the bank structure diagram as shown in FIG. 4, n2=m2, and second exchangers correspond to row address subsignals of the row decoder sequentially, that is, j1=j2; the random number generator 13 may further be used to: when the nonvolatile memory is powered on, randomly generate a selection signal for each second exchanger 1123 and send the generated selection signal to a corresponding second exchanger 1123.
  • The row decoder 112 of the bank include the following structure:
    • the second signal generator 1121 outputs each row address subsignal and its inverted signal to a corresponding second exchanger 1123; specifically, the second signal generator 1121 sends the first row address subsignal A1 and its inverted signal /A1 to the first second exchanger, sends the second row address subsignal A2 and its inverted signal /A2 to the second second exchanger, ..., and sends the m2 th row address subsignal Am2 and its inverted signal /Am2 to the m2 th second exchanger.
  • The j1 th second exchanger 1123 of each bank is configured to: receive the j1 th row address subsignal corresponding to the j1 th second exchanger 1123 and an inverted signal of the j1 th row address subsignal; when a received selection signal sent by the random number generator 13 is a third signal, output the j1 th row address subsignal as the j1 th row address subsignal of the row decoder 112 to the second decoder 1122 and output the inverted signal of the j1 th row address subsignal as the inverted signal of the j1 th row address subsignal of the row decoder 112 to the second decoder 1122; when the received selection signal sent by the random number generator 13 is a fourth signal, output the inverted signal of the j1 th row address subsignal as the j1 th row address subsignal of the row decoder 112 to the second decoder 1122 and output the j1 th row address subsignal as the inverted signal of the j1 th row address subsignal of the row decoder 112 to the second decoder 1122; and values of j1 are 1, 2, ..., and m2, The second decoder 1122 is configured to generate a row gating signal according to a row address subsignal and its inverted signal output by each second exchanger 1123. When at least one bank in FIG. 3 is implemented by using the structure shown in FIG. 4, as shown in FIG. 4A, the random number generator 13 may include: a linear feedback shift register 131 that has N1 bits, where a signal obtained after exclusive OR processing is performed on two bits bit0 and bit1 of the linear feedback shift register 131 is used as a shift input signal of the linear feedback shift register.
  • Each first exchanger 123 and each second exchanger 1123 correspond to one bit of the linear feedback shift register 131 separately and a corresponding bit is used as a selection signal sent by the random number generator 13.
  • Although FIG. 4A shows only an implementation manner for obtaining a shift input signal after exclusive OR processing is performed on two bits bit0 and bit1, a shift input signal can be acquired in an actual application after exclusive OR processing is performed on signals of any two bits of the linear feedback shift register 131, which is not limited herein.
  • If the second exchangers 1123 are disposed in a row decoder of only one bank in FIG. 3, N1=n1+n2; if the second exchangers 1123 are disposed in row decoders of at least two banks in FIG. 3, N1 is a sum of n1 and the number of second exchangers in each row decoder.
  • FIG. 4A does not show correspondences between bits and first exchangers as well as second exchangers but use exchangers to indicate first exchangers and second exchangers. The correspondences between the bits and first exchangers as well as second exchangers can be set in the actual application and are not limited herein.
  • In the actual application, different banks may be provided with different numbers of second exchangers n2 and use j1, j2, and the like of the same value or different values, which are not limited herein. A structure in which second exchangers are disposed in row decoders of other banks is similar to the bank structure in FIG. 4, with differences in that values of n2 may be different, the values of j1 and j2 may be different, and some row address subsignals may not have corresponding second exchangers. Details are not described herein again
  • The nonvolatile memory implementation structures shown in FIG. 4 and FIG. 4A are merely specific instances. According to the instances, a person of ordinary skill in the art can follow principles such as setting a foregoing first exchanger for at least one bank address subsignal and its inverted signal in a bank address decoder and setting a foregoing second exchanger for at least one row address subsignal and its inverted signal in a row decoder of at least one bank to properly transform the instances to acquire various implementation structures of a nonvolatile memory that includes two to an infinite number of banks in this embodiment. Details are not described herein again.
  • In this embodiment and compared with the embodiments shown in FIG. 3 and FIG. 3A, when a nonvolatile memory is powered on, a random number generator generates a selection signal to control, in addition to each first exchanger in a bank decoder, each second exchanger in a bank to keep a corresponding row address subsignal and an inverted signal of the row address subsignal unchanged or exchange the corresponding row address subsignal and the inverted signal of the row address subsignal. Because the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, a same bank address subsignal corresponds to different bank gating signals and a same row address subsignal corresponds to different row gating signals compared with the nonvolatile memory before the power-off, which disarranges data stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect. As a result, the data stored in the nonvolatile memory cannot be read sequentially from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • In a third embodiment of a nonvolatile memory according to the present invention, based on the first embodiment of a nonvolatile memory, at least one bank in the nonvolatile memory may further include: n3 third exchangers disposed between a third signal generator and a third decoder of a column decoder and one third exchanger corresponds to one column address subsignal of the column decoder, where a random number generator may further be configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a corresponding third exchanger;
  • The k1 th third exchanger of each bank is configured to: receive the k2 th column address subsignal corresponding to the k1 th third exchanger and an inverted signal of the k2 th column address subsignal; when a received selection signal sent by the random number generator is a fifth signal, output the k2 th column address subsignal as the k2 th column address subsignal of the column decoder to the third decoder and output the inverted signal of the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal of the raw column coder to the third decoder; when the received selection signal sent by the random number generator is a sixth signal, output the inverted signal of the k2 th column address subsignal as the k2 th column address subsignal of the column decoder to the third decoder and output the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal of the column decoder to the third decoder; and 1≤k1≤n3, 1≤k2≤m3, and 1≤n3≤m3, where m3 is a total number of column address subsignals of a column decoder to which the k1 th third exchanger belongs.
  • Values of k1 and k2 may be the same or different.
  • A total number of third exchangers n3 may be smaller than a total number of input signals of a column decoder, that is, a total number of column address subsignals m3. In this case, only n3 column address subsignals and their inverted signals have corresponding third exchangers; the total number of third exchangers n3 may further be equal to the total number of input signals of the column decoder, that is, the total number of column address subsignals m3. In this case, each column address subsignal and its inverted signal have a corresponding third exchanger. The embodiment of the present invention achieves a better encrypting effect if a value of n3 is closer to m3. The fifth signal in the embodiment of the present invention may be a high-level signal, and the sixth signal may correspondingly be a low-level signal; or the fifth signal may be a low-level signal, and the sixth signal may correspondingly be a high-level signal. The random number generator may include: a linear feedback shift register that has at least N2 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N2 is a total number of first exchangers and third exchangers included in the nonvolatile memory.
  • Each first exchanger and each exchanger correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • The following describes a structure for implementing a nonvolatile memory in this embodiment with reference to FIG 5. Because the implementation structure is too complex, FIG. 5 shows only: a structure for implementing a bank when the bank includes n3 third exchangers 1133 disposed between a third signal generator 1131 and a third decoder 1132 of a column decoder 113, and a connection relationship between the bank and the random number generator 13 in FIG. 3, and does not show other structures and connection relationships in FIG. 3. In addition, in the bank structure diagram as shown in FIG. 5, n3=m3, and third exchangers correspond to column address subsignals of a column decoder sequentially, that is, k1=k2. The random number generator 13 may also be used to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger 1133 and send the generated selection signal to a corresponding third exchanger 1133.
  • The third signal generator 1131 outputs each column address subsignal and its inverted signal to a corresponding third exchanger 123; specifically, the third signal generator 1131 sends the first column address subsignal A1 and its inverted signal /A1 to the first third exchanger, sends the second column address subsignal A2 and its inverted signal /A2 to the second third exchanger, .... and sends the m3 th column address subsignal Am3 and its inverted signal /Am3 to the m3 th third exchanger;
  • The k1 th third exchanger 1133 of each bank is configured to: receive the k1 th column address subsignal corresponding to the k1 th third exchanger 1133 and an inverted signal of the k1 th column address subsignal; when a received selection signal sent by the random number generator 13 is a fifth signal, output the k1 th column address subsignal as the k1 th column address subsignal of the column decoder 113 to the third decoder 1132 and output the inverted signal of the k1 th column address subsignal as the inverted signal of the k1 th column address subsignal k1 of the raw decoder 113 to the third decoder 1132; when the received selection signal sent by the random number generator 13 is a sixth signal, output the inverted signal of the k1 th column address subsignal k1 as row address subsignal of the column decoder 113 to the third decoder 1132 and output the k1 th column address subsignal as the inverted signal of the k1 th column address subsignal of the column decoder 113 to the third decoder 1132; and values of k1 are 1, 2, ..., and m3.
  • The third decoder 1132 is configured to generate a column gating signal according to a column address subsignal and its inverted signal output by each third exchanger 1133.
  • When at least one bank in FIG. 3 is implemented by using the structure shown in FIG. 5, the random number generator 13, as shown in FIG. 5A, may include: a linear feedback shift register 132 that has N2 bits, where a signal obtained after exclusive OR processing is performed on two bits bit0 and bit1 of the linear feedback shift register 132 is used as a shift input signal of the linear feedback shift register.
  • Each first exchanger and each exchanger correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator 13.
  • Although FIG. 5A shows only an implementation manner for obtaining a shift input signal after exclusive OR processing is performed on two bits bit0 and bit1, a shift input signal can be obtained in an actual application after exclusive OR processing is performed on signals of any two bits of the linear feedback shift register 132, which is not limited herein.
  • If third exchangers 1133 are disposed in a column decoder of only one bank in FIG. 3, N1=n1+n3; if third exchangers 1133 are disposed in column decoders of at least two banks in FIG. 3, N1 is a sum of n1 and the number of third exchangers in each column decoder.
  • Although FIG. 5A shows only an implementation manner for obtaining a shift input signal after exclusive OR processing is performed on two bits bit0 and bit1, the shift input signal can be obtained in the actual application after exclusive OR processing is performed on signals of any two bits of the linear feedback shift register 132, which is not limited herein.
  • FIG. 5A does not show correspondences between bits and first exchangers as well as third exchangers but use exchangers to indicate first exchangers and third exchangers. Correspondences between the bits and first exchangers as well as third exchangers can be set in the actual application and are not limited herein.
  • In the actual application, different banks may be provided with different numbers of third exchangers n3 and use k1 and k2 of the same value or different values, which are not limited herein. A structure in which third exchangers are disposed in column decoders of other banks is similar to the bank structure in FIG. 5, with differences in that the values of n3 may be different, the values of k1 and k2 may be different, and some column address subsignals may not have corresponding third exchangers. Details are not described herein again.
  • The nonvolatile memory implementation structures shown in FIG. 5 and FIG. 5A are merely specific instances. According to the instances, a person of ordinary skill in the art can follow principles such as setting a foregoing first exchanger for at least one bank address subsignal and its inverted signal in a bank address decoder and setting a foregoing third exchanger for at least one column address subsignal and its inverted signal in a column decoder of at least one bank to properly transform the instances to acquire various implementation structures of a nonvolatile memory that includes two or more banks in this embodiment. Details are not described herein again.
  • In this embodiment and compared with the embodiments shown in FIG. 3 and FIG 3A, when a nonvolatile memory is powered on, a random number generator generates a selection signal to control, in addition to each first exchanger in a bank decoder, each third exchanger in a bank to keep a corresponding column address subsignal and an inverted signal of the column address subsignal unchanged or exchange the corresponding column address subsignal and the inverted signal of the column address subsignal. Because the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, a same bank address subsignal corresponds to different bank gating signals and a same column address subsignal corresponds to different column gating signals compared with the nonvolatile memory before the power-off, which disarranges data stored before the nonvolatile memory is powered off when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect. As a result, the data stored in the nonvolatile memory cannot be read sequentially from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read the data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • In a fourth embodiment of a nonvolatile memory according to the present invention, based on a second embodiment of a nonvolatile memory, at least one bank in the nonvolatile memory may further include: n3 third exchangers disposed between a third signal generator and a third decoder of the column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, where:
  • The random number generator is further configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a corresponding third exchanger.
  • The k1 th third exchanger of each bank is configured to: receive the k2 th column address subsignal corresponding to the k1 th third exchanger and an inverted signal of the k2 th column address subsignal; when a received selection signal sent by the random number generator is a fifth signal, output the k2 th column address subsignal as the k2 th column address subsignal of the column decoder to the third decoder and output the inverted signal of the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal of the column decoder to the third decoder; when the received selection signal sent by the random number generator is a sixth signal, output the inverted signal of the k2 th column address subsignal as the k2 th column address subsignal of the column decoder to the third decoder and output the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal of the column decoder to the third decoder; and 1≤k1≤n3, 1≤k2≤m3, and 1≤n3≤m3, where m3 is a total number of column address subsignals of a column decoder to which the k1 th third exchanger belongs.
  • Values of j1 and j2 may be the same or different.
  • A total number of second exchangers n2 may be smaller than a total number of input signals of a row decoder, that is, a total number of row address subsignals m2. In this case, only n2 row address subsignals and their inverted signals have corresponding second exchangers; the total number of second exchangers n2 may also be equal to the total number of input signals of the row decoder, that is, the total number of row address subsignals m2. In this case, each row address subsignal and its inverted signal have a corresponding second exchanger. The embodiment of the present invention achieves a better encrypting effect if a value of n2 is closer to m2.
  • The first signal in the embodiment of the present invention may be a high-level signal, and the second signal may correspondingly be a low-level signal; or the first signal may be a low-level signal, and the second signal may correspondingly be a high-level signal.
  • The random number generator may include: a linear feedback shift register that has at least N3 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N3 is a total number of first exchangers, second exchangers, and third exchangers included in the nonvolatile memory.
  • Each first exchanger, each second exchanger, and each third exchanger correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • In this embodiment, each bank in the nonvolatile memory has four possible implementation structures: first, no second exchanger is disposed in a row decoder and no third exchanger is disposed in a column decoder of a bank; second, second exchangers are disposed in a row decoder and no third exchanger is disposed in a column decoder of a bank; third, no second exchanger is disposed in a row decoder and third exchangers are disposed in a column decoder of a bank; and four, second exchangers are disposed in a row decoder and third exchangers are disposed in a column decoder of a bank. However, second exchangers are disposed in a row decoder of at least one bank and third exchangers are disposed in a column decoder of at least one bank in the nonvolatile memory.
  • For example, a nonvolatile memory includes four banks, bank 1 is implemented by using the second possible implementation structure, bank 2 is implemented by using the fourth possible implementation structure, bank 3 is implemented by using the third possible implementation structure, and bank 4 is implemented by using the first possible implementation structure.
  • The first possible implementation structure of a bank is the same as the implementation structure of a bank in the prior art and details are not described herein again. For the second possible implementation structure of a bank, refer to the bank implementation structure example shown in FIG 4 and details are not described herein again. For the third possible implementation structure of a bank, refer to the bank implementation structure example shown in FIG. 5 and details are not described herein again.
  • The following describes the fourth possible implementation structure of a bank and its connection relationship with a random number generator with reference to FIG. 6. In addition, it is set in the bank structure diagram shown in FIG. 6 that: n2=m2, second exchangers sequentially correspond to row address sub signals of a row decoder, that is, j1=j2 and n3=m3, and third exchangers sequentially correspond to column address subsignals of a column decoder, that is, k1=k2, where:
    • the random number generator 13 is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each second exchanger and third exchanger, and send the generated selection signal to a corresponding second exchanger and a corresponding third exchanger;
  • For description of the second signal generator 1121, second exchanger 1123, and second decoder 1122 of the row decoder, refer to the relevant description of a second signal generator, second exchanger, and second decoder in an instance shown in FIG. 4; for description of the third signal generator 1131, third exchanger 1133, and third decoder 1132 of the column decoder, refer to the relevant description of a third signal generator, third exchanger, and third decoder in an instance shown in FIG. 5; details are not described herein again.
  • As shown in FIG. 6A, the random number generator 13 in this embodiment may include: a linear feedback shift register 133 that has N3 bits, where a signal obtained after exclusive OR processing is performed on two bits bit0 and bit1 of the linear feedback shift register 133 is used as a shift input signal of the linear feedback shift register;
    each first exchanger, each second exchanger, and each third exchanger correspond to one bit of the linear feedback shift register 133 separately and a corresponding bit is used as a selection signal sent by the random number generator 13.
  • N3 is a total number of first exchangers, second exchangers, and third exchangers in the nonvolatile memory.
  • Although FIG. 6A shows only an implementation manner for obtaining a shift input signal after exclusive OR processing is performed on two bits bit0 and bit1, the shift input signal can be obtained in an actual application after exclusive OR processing is performed on signals of any two bits of the linear feedback shift register 133, which is not limited herein.
  • FIG. 6A does not show correspondences between bits and first exchangers, second exchangers, as well as third exchangers, but use exchangers to indicate first exchangers, second exchangers, and third exchangers. The correspondences between the bits and the first exchangers, the second exchangers, as well as the third exchangers can be set in the actual application and are not limited herein.
  • In the actual application, different banks may be provided with different numbers of second exchangers n2 and use j1 and j2 of the same value or different values, and different banks may be provided with different numbers of third exchangers n3, and use k1 and k2 of the same value or different values, which are not limited herein. A structure in which second exchangers are disposed in row decoders and third exchangers are disposed in column decoders of other banks is similar to the bank structure in FIG. 5, with differences in that values of n2, n3, j1, j2, k1, and k2 may be different, some row address sub signals may not have corresponding second exchangers, and some column address subsignals may not have corresponding third exchangers.
  • The nonvolatile memory implementation structures shown in FIG 6 and FIG 6A are merely specific instances. According to the instances, a person of ordinary skill in the art can follow principles such as setting a foregoing first exchanger for at least one bank address subsignal and its inverted signal in a bank address decoder, setting a foregoing second exchanger for at least one row address subsignal and its inverted signal in a row decoder of at least one bank, and setting a foregoing third exchanger for at least one column address subsignal and its inverted signal in a column decoder of at least one bank to properly transform the instances to acquire various implementation structures of a nonvolatile memory that includes two to an infinite number of banks in this embodiment. Details are not described herein again.
  • In this embodiment and compared with the second embodiment, when a nonvolatile memory is powered on, a random number generator generates a selection signal to control, in addition to first exchangers and second exchangers, each third exchanger in a bank to keep a corresponding column address subsignal and an inverted signal of the column address subsignal unchanged or exchange the corresponding column address subsignal and the inverted signal of the column address subsignal, so that a column gating signal actually output by a column decoder is the same as or different from a column gating signal corresponding to a column address subsignal before. Because the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, compared with the nonvolatile memory before the power-off, a same bank address subsignal corresponds to different bank gating signals, a same row address subsignal corresponds to different row gating signals, and a same column address subsignal corresponds to different column gating signals, which disarranges data, stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect. As a result, the data stored in the nonvolatile memory cannot be sequentially read from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read the data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • In a fifth embodiment of a nonvolatile memory according to the present invention, the nonvolatile memory includes at least one bank, and each bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array. The nonvolatile memory also includes a random number generator, the at least one bank further includes n2 second exchangers disposed between a second signal generator and a second decoder of the row decoder, and one second exchanger corresponds to one row address subsignal of the row decoder, where,
    the random number generator is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each second exchanger and send the generated selection signal to a corresponding second exchanger.
  • The j1 th second exchanger of each bank is configured to: receive the j2 th row address subsignal corresponding to the j1 th second exchanger and an inverted signal of the j2 th row address subsignal; when a received selection signal sent by the random number generator is a third signal, output the j2 th row address subsignal as the j2 th row address subsignal of the row decoder to the second decoder and output the inverted signal of the j2 th row address subsignal as the inverted signal of the j2 th row address subsignal of the row decoder to the second decoder; when the received selection signal sent by the random number generator is a fourth signal, output the inverted signal of the j2 th row address subsignal as the j2 th row address subsignal of the row decoder to the second decoder and output the j2 th row address subsignal as the inverted signal of row address subsignal of the row decoder to the second decoder; and 1≤j1≤n2, 1≤j2≤m2, and 1≤n2≤m2, where m2 is a total number of row address subsignals of a row decoder to which the j1 th second exchanger belongs.
  • Values of j1 and j2 may be the same or different.
  • A total number of second exchangers n2 may be smaller than a total number of input signals of a row decoder, that is, a total number of row address subsignals m2. In this case, only n2 row address subsignals and their inverted signals have corresponding second exchangers; the total number of second exchangers n2 may also be equal to the total number of input signals of the row decoder, that is, the total number of row address subsignals m2. In this case, each row address subsignal and its inverted signal have a corresponding second exchanger. The embodiment of the present invention achieves a better encrypting effect if a value of is n2 closer to m2.
  • The first signal in the embodiment of the present invention may be a high-level signal, and the second signal may correspondingly be a low-level signal; or the first signal may be a low-level signal, and the second signal may correspondingly be a high-level signal.
  • The random number generator may include: a linear feedback shift register that has at least N4 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N4 is a total number of second exchangers included in the nonvolatile memory.
  • Each second exchanger corresponds to one bit of the linear feedback shift register and a corresponding bit is used as a selection signal sent by the random number generator. In this embodiment, a nonvolatile may include only one bank, as shown in FIG. 7. However, FIG. 7 does not show a specific implementation structure in which second exchangers are disposed in a row decoder. In this case, no bank decoder may be disposed in the nonvolatile memory. The nonvolatile memory may further include two or more than two banks. In this case, a bank decoder is generally disposed in the nonvolatile memory, as shown in FIG. 7A. However, FIG. 7A does not show a specific implementation structure in which second exchangers are disposed in the row decoder. When a bank decoder is disposed in the nonvolatile memory, no first exchanger may be disposed or first exchangers may be disposed in the bank decoder. When first exchangers are disposed in a bank decoder, implementation of the bank decoder is similar to a structure of the nonvolatile memory in the second embodiment. Therefore, this embodiment only describes a situation in which the nonvolatile memory does not include the bank decoder or no first exchanger is disposed in the bank decoder, and the nonvolatile memory is implemented by using a structure in the prior art.
  • In this embodiment, a bank of a nonvolatile memory has two possible implementation structures: first, no second exchanger is disposed in a row decoder; and second, second exchangers are disposed in a row decoder. However, at least one bank in the nonvolatile memory is implemented by using the second possible implementation structure.
  • The first possible implementation structure of a bank is the same as the implementation structure of a bank in the prior art and is not repeatedly described herein.
  • For the second possible implementation structure of a bank, refer to the bank implementation structure example shown in FIG. 4 and its description.
  • For implementation of a random number generator in this embodiment, refer to the random number generator instance shown in FIG. 3A. The only differences are that the number of bits of the random number generator in this embodiment can be N4 and each bit connects to a second exchanger.
  • In an actual application, different banks may be provided with different numbers of second exchangers n2 and use j1 and j2 of the same value or different values, which are not limited herein. A structure in which second exchangers are disposed in row decoders of other banks is similar to the bank structure in FIG. 4, with differences in that values of n2 may be different, the values of j1 and j2 may be different, and some row address subsignals may not have corresponding second exchangers. Details are not described herein again.
  • According to the foregoing instances, a person of ordinary skill in the art can follow principles such as setting a foregoing second exchanger for at least one row address sub signal and its inverted signal in a row decoder of at least one bank to properly transform the instances to acquire various implementation structures of a nonvolatile memory that includes any number of banks in this embodiment. Details are not described herein again.
  • In this embodiment, when a nonvolatile memory is powered on, a random number generator generates a selection signal to control each second exchanger to keep a corresponding row address subsignal and an inverted signal of the row address subsignal unchanged or exchange the corresponding row address subsignal and the inverted signal of the row address subsignal. Because the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, a same row address subsignal corresponds to different row gating signals compared with the nonvolatile memory before the power-off, which disarranges data, stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect. As a result, the data stored in the nonvolatile memory cannot be sequentially read from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read the data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • In a sixth embodiment of a nonvolatile memory according to the present invention, based on the fifth embodiment of a nonvolatile memory, at least one bank in the nonvolatile memory may further include: n3 third exchangers disposed between a third signal generator and a third decoder of a column decoder and one third exchanger corresponds to one column address subsignal of the column decoder, where a random number generator is further configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a corresponding third exchanger.
  • The k1 th third exchanger of each bank is configured to: receive the k2 th column address subsignal corresponding to the k1 th third exchanger and an inverted signal of the k2 th column address subsignal; when a received selection signal sent by the random number generator is a fifth signal, output the k2 th column address subsignal as the k2 th column address subsignal of the column decoder to the third decoder and output the inverted signal of the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal of the column decoder to the third decoder; when the received selection signal sent by the random number generator is a sixth signal, output the inverted signal of the k2 th column address subsignal as the k2 th column address subsignal of the column decoder to the third decoder and output the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal of the column decoder to the third decoder; and 1≤k1≤n3, 1≤k2≤m3, and 1≤n3≤m3, where m3 is a total number of column address subsignals of a column decoder to which the k1 th third exchanger belongs.
  • Values of k1 and k2 may be the same or different.
  • A total number of third exchangers n3 may be smaller than a total number of input signals of a column decoder, that is, a total number of column address subsignals m3. In this case, only n3 column address subsignals and their inverted signals have corresponding third exchangers; the total number of third exchangers n3 may also be equal to the total number of input signals of the column decoder, that is, the total number of column address subsignals m3. In this case, each column address subsignal and its inverted signal have a corresponding third exchanger. The embodiment of the present invention achieves a better encrypting effect if a value of n3 is closer to m3. The fifth signal in this embodiment of the present invention may be a high-level signal, and the sixth signal may correspondingly be a low-level signal; or the fifth signal may be a low-level signal, and the sixth signal may correspondingly be a high-level signal.
  • The random number generator may include: a linear feedback shift register that has at least N5 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N5 is a total number of second exchangers and third exchangers included in the nonvolatile memory; each second exchanger and each third exchanger correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • In this embodiment, when a nonvolatile memory includes only one bank, no bank decoder may be disposed, and when a nonvolatile memory includes two or more than two banks, bank decoders may be disposed, which are not limited herein. When a bank decoder is disposed in the nonvolatile memory, no first exchanger may be disposed in the bank decoder; or the first exchanger can be disposed. When first exchangers are disposed in a bank decoder, implementation of the bank decoder is similar to a structure of the nonvolatile memory in the second embodiment. Therefore, this embodiment only describes a situation in which the nonvolatile memory does not include the bank decoder or no first exchanger is disposed in the bank decoder, and the nonvolatile memory is implemented by using a structure in the prior art.
  • In this embodiment, each bank included in the nonvolatile memory has four possible implementation structures: first, no second exchanger is disposed in a row decoder and no third exchanger is disposed in a column decoder of a bank; second, second exchangers are disposed in a row decoder and no third exchanger is disposed in a column decoder of a bank; third, no second exchanger is disposed in a row decoder and third exchangers are disposed in a column decoder of a bank; and four, second exchangers are disposed in a row decoder and third exchangers are disposed in a column decoder of a bank. However, second exchangers are disposed in a row decoder of at least one bank and third exchangers are disposed in a column decoder of at least one bank in the nonvolatile memory.
  • For example, a nonvolatile memory includes four banks, bank 1 is implemented by using the second possible implementation structure, bank 2 is implemented by using the fourth possible implementation structure, bank 3 is implemented by using the third possible implementation structure, and bank 4 is implemented by using the first possible implementation structure.
  • The first possible implementation structure of a bank is the same as the implementation structure of a bank in the prior art and is not repeatedly described herein. For the second possible implementation structure of a bank, refer to the bank implementation structure example shown in FIG. 4 and details are not described herein again. For the third possible implementation structure of a bank, refer to the bank implementation structure example shown in FIG 5 and details are not described herein again.
  • For the fourth possible implementation structure of a bank, refer to the bank implementation structure example shown in FIG. 6 and its description.
  • For implementation of the random number generator in this embodiment, refer to the random number generator instance shown in FIG. 3A. The only differences are that the number of bits of the random number generator in this embodiment can be N5 and each bit connects to a second exchanger or third exchanger.
  • In an actual application, different banks may be provided with different numbers of second exchangers n2, and use j1 and j2 of the same value or different values; different banks may be provided with different numbers of third exchangers n3, and use k1 and k2 of the same value or different values, which are not limited herein. A structure in which second exchangers are disposed in row decoders and third exchangers are disposed in column decoders of other banks is similar to the bank structure in FIG. 6, with differences in that values of n2, n3, j1, j2, k1, and k2 may be different, row address subsignals in some row decoders may not have corresponding second exchangers, and column address subsignals in some column decoders may not have corresponding third exchangers.
  • According to this embodiment and its instances, a person of ordinary skill in the art can follow principles such as setting a foregoing second exchanger for at least one row address subsignal and its inverted signal in a row address decoder of at least one bank and setting a foregoing third exchanger for at least one column address subsignal and its inverted signal in a column decoder of at least one bank to properly transform the instances to acquire various implementation structures of a nonvolatile memory that includes any number of banks in this embodiment. Details are not described herein again.
  • In this embodiment and compared with the fifth embodiment, when a nonvolatile memory is powered on, a random number generator generates a selection signal to control, in addition to second exchangers, each third exchanger to keep a corresponding column address subsignal and an inverted signal of the column address subsignal unchanged or exchange the corresponding column address subsignal and the inverted signal of the column address subsignal. Because the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, compared with the nonvolatile memory before the power-off, a same row address subsignal corresponds to different row gating signals and a same column address subsignal corresponds to different column gating signals, which disarranges data, stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect. As a result, data stored in the nonvolatile memory cannot be sequentially read from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read the data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • In a seventh embodiment of a nonvolatile memory according to the present invention, the nonvolatile memory includes at least one bank, and each bank includes a storage array, a row decoder of the storage array, and a column decoder of the storage array. The nonvolatile memory further includes a random number generator. The at least one bank further includes n3 third exchangers disposed between a third signal generator and a third decoder of a column decoder and one third exchanger corresponds to one column address subsignal of the column decoder, where the random number generator is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a corresponding third exchanger.
  • The k1 th third exchanger of each bank is configured to: receive the k2 th column address subsignal corresponding to the k1 th third exchanger and an inverted signal of the k2 th column address subsignal; when a received selection signal sent by the random number generator is a fifth signal, output the k2 th column address subsignal as the k2 th column address subsignal of the column decoder to the third decoder and output the inverted signal of the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal of the column decoder to the third decoder; when the received selection signal sent by the random number generator is a sixth signal, output the inverted signal of the k2 th column address subsignal as the k2 th column address subsignal of the column decoder to the third decoder and output the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal of the column decoder to the third decoder; and 1≤k1≤n3, 1≤k2≤m3, and 1≤n3<m3, where m3 is a total number of column address subsignals of a column decoder to which the k1 th third exchanger belongs.
  • Values of k1 and k2 may be the same or different.
  • A total number of third exchangers n3 may be smaller than a total number of input signals of a column decoder, that is, a total number of column address subsignals m3. In this case, only n3 column address subsignals and their inverted signals have corresponding third exchangers; the total number of third exchangers n3 may further be equal to the total number of input signals of the column decoder, that is, the total number of column address subsignals m3. In this case, each column address subsignal and its inverted signal have a corresponding third exchanger. The embodiment of the present invention achieves a better encrypting effect if a value of n3 is closer to m3. The fifth signal in the embodiment of the present invention may be a high-level signal, and the sixth signal may correspondingly be a low-level signal; or the fifth signal may be a low-level signal, and the sixth signal may correspondingly be a high-level signal. The random number generator may include a linear feedback shift register that has at least N6 bits, where a signal obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register is used as a shift input signal of the linear feedback shift register; N6 is a total number of third selectors included in the nonvolatile memory.
  • Each exchanger corresponds to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  • In this embodiment, when a nonvolatile memory includes only one bank, no bank decoder may be disposed, and when a nonvolatile memory includes two or more banks, bank decoders may be disposed, which are not limited herein. When a bank decoder is disposed in the nonvolatile memory, no first exchanger may be disposed in the bank decoder; or the first exchanger can be disposed. When first exchangers are disposed in a bank decoder, implementation of the bank decoder is similar to a structure of the nonvolatile memory in the second embodiment. Therefore, this embodiment only describes a situation in which the nonvolatile memory does not include a bank decoder or no first exchanger disposed in the bank decoder, and the nonvolatile memory is implemented by using a structure in the prior art.
  • In this embodiment, a bank of a nonvolatile memory has two possible implementation structures: first, no third exchanger is disposed in a column decoder; and second, third exchangers are disposed in a column decoder. However, at least one bank in the nonvolatile memory is implemented by using the second possible implementation structure.
  • The first possible implementation structure of a bank is the same as the implementation structure of a bank in the prior art and is not repeatedly described herein.
  • For the second possible implementation structure of a bank, refer to the bank implementation structure example shown in FIG 5 and its description.
  • For implementation of a random number generator in this embodiment, refer to the random number generator instance shown in FIG. 3A. The only differences are that the number of bits of the random number generator in this embodiment can be N6 and each bit connects to a third exchanger.
  • In an actual application, different banks may be provided with different numbers of third exchangers n3 and use k1 and k2 of the same value or different values, which are not limited herein. A structure in which third exchangers are disposed in column decoders of other banks is similar to the bank structure in FIG. 5, with differences in that values of n2 may be different, values of j1 and j2 may be different, and some column address sub signals may not have corresponding third exchangers. Details are not described herein again.
  • According to the foregoing instances, a person of ordinary skill in the art can follow principles such as setting a foregoing third exchanger for at least one column address subsignal and its inverted signal in a column decoder of at least one bank to properly transform the instances to acquire various implementation structures of a nonvolatile memory that includes any number of banks in this embodiment. Details are not described herein again.
  • In this embodiment, when a nonvolatile memory is powered on, a random number generator generates a selection signal to control each third exchanger in a bank to keep a corresponding column address subsignal and an inverted signal of the column address subsignal unchanged or exchange the corresponding column address subsignal and the inverted signal of the column address subsignal. Because the random number generator generates selection signals randomly, after the nonvolatile memory is powered off and then powered on, a same column address subsignal corresponds to different column gating signals compared with the nonvolatile memory before the power-off, which disarranges data, stored before the nonvolatile memory is powered off, when the nonvolatile memory is powered off and then powered on, so as to achieve an encrypting effect, As a result, data stored in the nonvolatile memory cannot be sequentially read from original storage addresses, and other persons cannot obtain original data even if they use a software tool to directly read the data stored in the nonvolatile memory and it is difficult for them to recover the original data from the data stored in the nonvolatile memory, which ensures security of the data stored in the nonvolatile memory.
  • A nonvolatile memory in an embodiment of the present invention may specifically be a phase-change memory, a resistive random-access memory (ReRAM), and the like. In addition, an embodiment of the present invention also provides an electronic device, which includes the nonvolatile memory according to any one of the foregoing embodiments.
  • The embodiments in this specification are all described in a progressive manner, mutual reference may be made to the same or similar part of the embodiments, and each embodiment focuses on illustrate difference from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the apparatus embodiment is described simply, and the relevant part may be obtained with reference to the part of the description of the method embodiment.
  • The foregoing embodiments of the present invention are not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, and improvement made without departing from the spirit and principle of the present invention shall fall within the protection scope of the present invention.

Claims (15)

  1. A nonvolatile memory, wherein the nonvolatile memory comprises a bank decoder and at least two banks bank, and the bank comprises a storage array, a row decoder of the storage array, and a column decoder of the storage array; and the nonvolatile memory further comprises: a random number generator and n1 first exchangers disposed between a first signal generator and a first decoder of the bank decoder, and one of the first exchangers corresponds to one bank address subsignal of the bank decoder, wherein:
    the random number generator is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each first exchanger and send the generated selection signal to a first exchanger corresponding to the selection signal; and
    the i1 th first exchanger of the bank decoder is configured to: receive the i2 th bank address subsignal corresponding to the i1 th first exchanger and an inverted signal of the i2 th bank address subsignal; when a received selection signal is a first signal, output the i2 th bank address subsignal as the i2 th bank address subsignal to the first decoder and output the inverted signal of the i2 th bank address subsignal as the inverted signal of the i2 th bank address subsignal to the first decoder; when the received selection signal is a second signal, output the inverted signal of the i2 th bank address subsignal as the i2 th bank address subsignal to the first decoder and output the i2 th bank address subsignal as the inverted signal of the i2 th bank address subsignal to the first decoder; and 1≤i1≤n1, 1≤i2≤m1, and 1≤n1≤m1, where m1 is a total number of bank address subsignals.
  2. The nonvolatile memory according to claim 1, wherein at least one bank further comprises: n2 second exchangers disposed between a second signal generator and a second decoder of a row decoder, and one second exchanger corresponds to one row address subsignal of the row decoder, wherein:
    the random number generator is further configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each second exchanger and send the generated selection signal to a second exchanger corresponding to the selection signal; and
    the j1 th second exchanger of each bank is configured to: receive the j2 th row address sub signal corresponding to the j1 th second exchanger and an inverted signal of the j2 th row address subsignal; when a received selection signal is a third signal, output the j2 th row address subsignal as the j2 th row address subsignal to the second decoder and output the inverted signal of the j2 th row address subsignal as the inverted signal of the j2 th row address subsignal to the second decoder; when the received selection signal is a fourth signal, output the inverted signal of the j2 th row address subsignal as the j2 th row address subsignal to the second decoder and output the j2 th row address subsignal as the inverted signal of the j2 th row address subsignal to the second decoder; and 1≤j1≤n2, 1≤j2≤m2, and 1≤n2≤m2, where m2 is a total number of row address subsignals of a row decoder to which the j1 th second exchanger belongs.
  3. The nonvolatile memory according to claim 1, wherein at least one bank further comprises n3 third exchangers disposed between a third signal generator and a third decoder of a column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, wherein:
    the random number generator is further configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a third exchanger corresponding to the selection signal; and
    the k1 th third exchanger of each bank is configured to: receive the k2 th column address subsignal corresponding to the k1 th third exchanger and an inverted signal of the k2 th column address subsignal; when a received selection signal is a fifth signal, output the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the inverted signal of the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; when the received selection signal is a sixth signal, output the inverted signal of the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; and 1≤k1≤n3, 1≤k2≤m3, and 1≤n3≤m3, where m3 is a total number of column address subsignals of a column decoder to which the k1 th third exchanger belongs.
  4. The nonvolatile memory according to claim 2, wherein the at least one bank further comprises n3 third exchangers disposed between a third signal generator and a third decoder of a column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, wherein:
    the random number generator is further configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a third exchanger corresponding to the selection signal; and
    the k1 th third exchanger of each bank is configured to: receive the k2 th column address subsignal corresponding to the k1 th third exchanger and an inverted signal of the k2 th column address subsignal; when a received selection signal is a fifth signal, output the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the inverted signal of the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; when the received selection signal is a sixth signal, output the inverted signal of the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; and 1≤k1≤n3, 1≤k2≤m3, and 1≤n3≤m3, where m3 is a total number of column address subsignals of a column decoder to which the k1 th third exchanger belongs.
  5. The nonvolatile memory according to claim 1, wherein the random number generator comprises a linear feedback shift register that has at least n1 bits, and a signal, obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register, is used as a shift input signal of the linear feedback shift register; and
    the n1 first exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  6. The nonvolatile memory according to claim 2, wherein the random number generator comprises a linear feedback shift register that has at least N1 bits, and a signal, obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register, is used as a shift input signal of the linear feedback shift register; N1 is a total number of first exchangers and second exchangers comprised in the nonvolatile memory; and
    each of the first exchangers and each of the second exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  7. The nonvolatile memory according to claim 3, wherein the random number generator comprises a linear feedback shift register that has at least N2 bits, and a signal, obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register, is used as a shift input signal of the linear feedback shift register; N2 is a total number of first exchangers and third exchangers comprised in the nonvolatile memory; and
    each of the first exchangers and each of the third exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  8. The nonvolatile memory according to claim 4, wherein the random number generator comprises a linear feedback shift register that has at least N3 bits, and a signal, obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register, is used as a shift input signal of the linear feedback shift register; N3 is a total number of first exchangers, second exchangers, and third exchangers comprised in the nonvolatile memory; and
    each of the first exchangers, each of the second exchangers, and each of the third exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  9. A nonvolatile memory, wherein the nonvolatile memory comprises at least one bank bank and each bank comprises a storage array, a row decoder of the storage array, and a column decoder of the storage array; wherein the nonvolatile memory further comprises a random number generator, the at least one bank further comprises n2 second exchangers disposed between a second signal generator and a second decoder of the row decoder, and one second exchanger corresponds to one row address subsignal of the row decoder, wherein:
    the random number generator is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each second exchanger and send the generated selection signal to a second exchanger corresponding to the selection signal; and
    the j1 th second exchanger of each bank is configured to: receive the j2 th row address subsignal corresponding to the j1 th second exchanger and an inverted signal of the j2 th row address subsignal; when a received selection signal is a third signal, output the j2 th row address subsignal as the j2 th row address subsignal to the second decoder and output the inverted signal of the j2 th row address subsignal as the inverted signal of the j2 th row address subsignal to the second decoder; when the received selection signal is a fourth signal, output the inverted signal of the j2 th row address subsignal as the j2 th row address subsignal to the second decoder and output the j2 th row address subsignal as the inverted signal of the j2 th row address subsignal to the second decoder; and 1≤j1≤n2, 1≤j2≤m2, and 1≤n2≤m2, where m2 is a total number of row address subsignals of a row decoder to which the j1 th second exchanger belongs.
  10. The nonvolatile memory according to claim 9, wherein the at least one bank further comprises: n3 third exchangers disposed between a third signal generator and a third decoder of the column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, wherein:
    the random number generator is further configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger randomly and send the generated selection signal to a third exchanger corresponding to the selection signal; and
    the k1 th third exchanger of each bank is configured to: receive the k2 th column address subsignal corresponding to the k1 th third exchanger and an inverted signal of the k2 th column address subsignal; when a received selection signal is a fifth signal, output the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the inverted signal of the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; when the received selection signal is a sixth signal, output the inverted signal of the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; and 1≤k1≤n3, 1≤k2≤m3, and 1≤n3≤m3, where m3 is a total number of column address subsignals of a column decoder to which the k1 th third exchanger belongs.
  11. The nonvolatile memory according to claim 9, wherein the random number generator comprises a linear feedback shift register that has at least N4 bits, and a signal, obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register, is used as a shift input signal of the linear feedback shift register; N4 is a total number of second exchangers comprised in the nonvolatile memory; and
    each of the second exchangers corresponds to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  12. The nonvolatile memory according to claim 10, wherein the random number generator comprises a linear feedback shift register that has at least N5 bits, and a signal, obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register, is used as a shift input signal of the linear feedback shift register; N5 is a total number of second exchangers and third exchangers comprised in the nonvolatile memory; and
    each of the second exchangers and each of the third exchangers correspond to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  13. A nonvolatile memory, wherein the nonvolatile memory comprises at least one bank bank and each bank comprises a storage array, a row decoder of the storage array, and a column decoder of the storage array; wherein the nonvolatile memory further comprises a random number generator, the at least one bank further comprises n3 third exchangers disposed between a third signal generator and a third decoder of the column decoder, and one third exchanger corresponds to one column address subsignal of the column decoder, wherein:
    the random number generator is configured to: when the nonvolatile memory is powered on, randomly generate a selection signal for each third exchanger and send the generated selection signal to a third exchanger corresponding to the selection signal; and
    the k1 th third exchanger of each bank is configured to: receive the k2 th column address subsignal corresponding to the k1 th third exchanger and an inverted signal of the k2 th column address subsignal; when a received selection signal is a fifth signal, output the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the inverted signal of the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; when the received selection signal is a sixth signal, output the inverted signal of the k2 th column address subsignal as the k2 th column address subsignal to the third decoder and output the k2 th column address subsignal as the inverted signal of the k2 th column address subsignal to the third decoder; and 1≤k1≤n3, 1≤k2≤m3, and 1≤n3≤m3, where m3 is a total number of column address subsignals of a column decoder to which the k1 th third exchanger belongs.
  14. The nonvolatile memory according to claim 13, wherein the random number generator comprises a linear feedback shift register that has at least N6 bits, and a signal, obtained after exclusive OR processing is performed on any two bits of the linear feedback shift register, is used as a shift input signal of the linear feedback shift register; N6 is a total number of third selectors comprised in the nonvolatile memory; and
    each of the third exchangers corresponds to one bit of the linear feedback shift register separately and a corresponding bit is used as a selection signal sent by the random number generator.
  15. An electronic device, comprising the nonvolatile memory according to any one of claims 1 to 14.
EP14784396.5A 2013-11-27 2014-04-30 Nonvolatile memory and electronic device Active EP2899639B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310613032.4A CN103631732B (en) 2013-11-27 2013-11-27 Nonvolatile storage and electronic equipment
PCT/CN2014/076595 WO2015078141A1 (en) 2013-11-27 2014-04-30 Nonvolatile memory and electronic device

Publications (3)

Publication Number Publication Date
EP2899639A4 EP2899639A4 (en) 2015-07-29
EP2899639A1 true EP2899639A1 (en) 2015-07-29
EP2899639B1 EP2899639B1 (en) 2016-08-03

Family

ID=50212814

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14784396.5A Active EP2899639B1 (en) 2013-11-27 2014-04-30 Nonvolatile memory and electronic device

Country Status (3)

Country Link
EP (1) EP2899639B1 (en)
CN (1) CN103631732B (en)
WO (1) WO2015078141A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424442B2 (en) 2013-11-27 2016-08-23 Huawei Technologies Co., Ltd. Nonvolatile memory and electronic device
CN103631732B (en) * 2013-11-27 2016-09-07 华为技术有限公司 Nonvolatile storage and electronic equipment
CN108009438B (en) * 2016-10-28 2021-08-17 中移(杭州)信息技术有限公司 Data storage method and device
CN109712665B (en) * 2018-02-27 2020-09-15 上海安路信息科技有限公司 Memory and function test method of memory

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721227B2 (en) * 2002-02-11 2004-04-13 Micron Technology, Inc. User selectable banks for DRAM
CN100346321C (en) * 2005-03-17 2007-10-31 上海华申智能卡应用系统有限公司 Safe storage control device for mobile electronic bulk memory and method for implementation
JP2008204582A (en) * 2007-02-22 2008-09-04 Elpida Memory Inc Nonvolatile ram
CN103222005B (en) * 2009-12-31 2016-08-24 美光科技公司 Method for phase change memory array
IT1399916B1 (en) * 2010-04-30 2013-05-09 Balluchi MEMORY DEVICE FOR LOGGED REGISTER ACCESS
CN102568573B (en) * 2010-12-31 2014-11-05 张家港丽恒光微电子科技有限公司 Micro electro mechanical system (MEMS) nonvolatile memory and memory units
US8806171B2 (en) * 2011-05-24 2014-08-12 Georgia Tech Research Corporation Systems and methods providing wear leveling using dynamic randomization for non-volatile memory
KR20130039505A (en) * 2011-10-12 2013-04-22 삼성전자주식회사 Address transforming circuit having random code generator and semiconductor memory device including the same
CN102567689A (en) * 2011-12-05 2012-07-11 清华大学 Phase-change storage unit based non-volatile internal storage data confidentiality protecting method
KR20130078455A (en) * 2011-12-30 2013-07-10 삼성전자주식회사 Semiconductor memory device storing memory characteristic information, memory module and memory system having the same and operating method thereof
KR101962786B1 (en) * 2012-03-23 2019-03-27 삼성전자주식회사 Non-volatile memory device, non-volatile memory system, and program method of the same
CN103631732B (en) * 2013-11-27 2016-09-07 华为技术有限公司 Nonvolatile storage and electronic equipment

Also Published As

Publication number Publication date
CN103631732A (en) 2014-03-12
EP2899639B1 (en) 2016-08-03
WO2015078141A1 (en) 2015-06-04
CN103631732B (en) 2016-09-07
EP2899639A4 (en) 2015-07-29

Similar Documents

Publication Publication Date Title
CN109495272B (en) Strong PUF circuit based on memristor
JP2019192220A (en) Puf-based true random number generation system
EP3709157B1 (en) Random number generator
TW201007737A (en) Method for page and block based scrambling in non-volatile memory
EP3512157B1 (en) Random code generator
US10698840B2 (en) Method and apparatus to generate zero content over garbage data when encryption parameters are changed
EP2899639B1 (en) Nonvolatile memory and electronic device
US9158500B2 (en) Device and method for processing data including generating a pseudo random number sequence
CN101689396A (en) Concurrent multiple-dimension word-addressable memory architecture
KR20220022478A (en) Method and apparatus for providing memory-based physical copy protection functions
CN106886723A (en) Storage arrangement
US10992483B2 (en) Physically unclonable function device for use in user authentication system and operation method thereof
KR20160074836A (en) Data storage device and operating method thereof
CN112800491A (en) Device with data security mechanism and method of operation thereof
US9424442B2 (en) Nonvolatile memory and electronic device
US11050575B2 (en) Entanglement and recall system using physically unclonable function technology
JP4863279B2 (en) Memory system and memory access method
RU2014134714A (en) METHOD FOR RECORDING AND READING DATA
US11748274B2 (en) Banked memory device storing hamming weight
US11656772B2 (en) Memory controller and storage device including the same
US7609568B2 (en) Method and device for securing an integrated circuit, in particular a microprocessor card
JP4323527B2 (en) Semiconductor memory device
CN101783924B (en) Image encrypting and decrypting system and method based on field programmable gate array (FPGA) platform and evolvable hardware
CN112131618A (en) Storage class memory with in-memory one-time pad security
US11265145B2 (en) Method and device for performing substitution table operations

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20141023

A4 Supplementary search report drawn up and despatched

Effective date: 20150617

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

DAX Request for extension of the european patent (deleted)
INTG Intention to grant announced

Effective date: 20160218

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

Ref country code: AT

Ref legal event code: REF

Ref document number: 817758

Country of ref document: AT

Kind code of ref document: T

Effective date: 20160815

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602014002995

Country of ref document: DE

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20160803

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 817758

Country of ref document: AT

Kind code of ref document: T

Effective date: 20160803

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20161203

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20161103

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20161104

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20161205

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 4

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602014002995

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20161103

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: BE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20170504

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170430

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170430

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170430

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 5

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170430

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20170430

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20140430

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160803

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20230309

Year of fee payment: 10

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20230307

Year of fee payment: 10

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20240307

Year of fee payment: 11