WO2022107670A1 - 半導体回路 - Google Patents

半導体回路 Download PDF

Info

Publication number
WO2022107670A1
WO2022107670A1 PCT/JP2021/041395 JP2021041395W WO2022107670A1 WO 2022107670 A1 WO2022107670 A1 WO 2022107670A1 JP 2021041395 W JP2021041395 W JP 2021041395W WO 2022107670 A1 WO2022107670 A1 WO 2022107670A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
latch circuits
slave latch
bit
semiconductor circuit
Prior art date
Application number
PCT/JP2021/041395
Other languages
English (en)
French (fr)
Inventor
塁 阪井
泰夫 神田
雅博 瀬上
啓三 平賀
Original Assignee
ソニーセミコンダクタソリューションズ株式会社
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 ソニーセミコンダクタソリューションズ株式会社 filed Critical ソニーセミコンダクタソリューションズ株式会社
Priority to CN202180075778.7A priority Critical patent/CN116530015A/zh
Priority to US18/252,360 priority patent/US20240014810A1/en
Publication of WO2022107670A1 publication Critical patent/WO2022107670A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits
    • H03K3/3562Bistable circuits of the master-slave type
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0372Bistable circuits of the master-slave type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/161Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect details concerning the memory cell structure, e.g. the layers of the ferromagnetic memory cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/148Details of power up or power down circuits, standby circuits or recovery circuits

Definitions

  • This disclosure relates to semiconductor circuits.
  • Electronic devices are desired to have low power consumption from the viewpoint of ecology.
  • a technique called power gating in which power consumption is reduced by selectively stopping power supply to some circuits, is often used.
  • power gating in which power consumption is reduced by selectively stopping power supply to some circuits, is often used.
  • the circuit returns to the operating state before the power supply is stopped immediately after the power supply is restarted.
  • One of the methods for realizing such a recovery operation in a short time is a method of incorporating a non-volatile memory in the circuit.
  • the non-volatile memory include a magnetic tunnel junction (MTJ) element and the like.
  • the semiconductor circuit having a built-in non-volatile memory is disclosed in, for example, the following Patent Documents 1 and 2.
  • the semiconductor circuit according to one aspect of the present disclosure includes a non-volatile latch circuit that stores k-bit data and m-bit error correction data for k-bit data.
  • the semiconductor circuit according to one aspect of the present disclosure is provided with a non-volatile latch circuit that stores k-bit data and m-bit error correction data for k-bit data.
  • FIG. 1 shows an example of a functional block of the semiconductor circuit 1 according to the first embodiment of the present disclosure.
  • the semiconductor circuit 1 is a circuit that stores information.
  • data reading / writing is controlled by a control unit.
  • the control unit writes information to the semiconductor circuit 1 based on, for example, a write command and write data supplied from the outside, and reads information from the semiconductor circuit 1 based on a read command supplied from the outside.
  • the control unit controls the power supply to the semiconductor circuit 1 by turning on / off the power supply transistor, for example.
  • the control unit turns on the power supply transistor and supplies the power supply voltage to the semiconductor circuit 1.
  • the control unit turns off the power supply transistor. In the semiconductor circuit 1, power consumption can be reduced by such power gating.
  • the semiconductor circuit 1 includes k first FF (Flip Flop) circuits 10 (10 (0), 10 (1), ..., 10 (k-1)) and m.
  • the second FF circuit 20 (20 (0), 20 (1), ..., 20 (m-1)) is provided.
  • the semiconductor circuit 1 further includes, for example, an ECC (Error-Correcting Code) encoder 30, an ECC decoder 40, and an output circuit 50, as shown in FIG.
  • ECC Error-Correcting Code
  • K-bit data D [k-1: 0] is input to the ECC encoder 30.
  • the k-bit data D [k-1: 0] is data input to the semiconductor circuit 1 from the outside.
  • the ECC encoder 30 encodes the input k-bit data D [k-1: 0].
  • the ECC encoder 30 generates m-bit ECC parity data Dp [m-1: 0] based on k-bit data D [k-1: 0].
  • the m-bit ECC parity data Dp [m-1: 0] is m-bit error correction data for the k-bit data D [k-1: 0].
  • the ECC encoder 30 outputs the generated n-bit data signal Din [n-1: 0] to the k first FF circuits 10 and the m second FF circuits 20. Specifically, the ECC encoder 30 outputs the k-bit data signal Din [k-1: 0] to the k first FF circuits 10, and the m-bit data signal Din [n-1: k] is m. Output to the second FF circuit 20.
  • a k-bit data signal Din [k-1: 0], a clock signal CLK, and a control signal SR are input to the k first FF circuits 10.
  • the k first FF circuits 10 store the input k-bit data signal Din [k-1: 0].
  • a 1-bit data signal, a clock signal CLK, and a control signal SR of the k-bit data signal Din [k-1: 0] are input to each first FF circuit 10.
  • Each first FF circuit 10 stores a 1-bit data signal of the k-bit data signal Din [k-1: 0]. From the k first FF circuits 10, k-bit data (data signal Dout [k-1: 0]) is output to the ECC decoder 40.
  • a 1-bit data signal of the k-bit data signal Dout [k-1: 0] is output.
  • the clock signal CLK is a signal for controlling the operation of the first FF circuit 10.
  • the control signal SR is a signal for controlling the data store and the data restore.
  • the first FF circuit 10 samples data at the rising timing of the clock signal CLK, and holds the data in a period other than that timing.
  • the first FF circuit 10 has, for example, a master latch circuit 10M and a slave latch circuit 10S, as shown in FIG.
  • the master latch circuit 10M holds or transmits data based on the clock signal CLK.
  • the master latch circuit 10M executes a predetermined logical operation on the clock signal CLK and the data signal. Based on the execution result of the logical operation, the master latch circuit 10M holds the data signal captured in the latch when the clock signal CLK is high level Hi, and outputs the data signal to the slave latch circuit 10S as an output signal QM. On the other hand, when the clock signal CLK is low level Lo, the master latch circuit 10M transmits the data signal and outputs the output signal QM to the slave latch circuit 10S.
  • the slave latch circuit 10S has a SRAM (Static Random Access Memory) circuit that holds or transmits data based on the clock signal CLK.
  • the SRAM circuit stores one bit of data by positive feedback.
  • the slave latch circuit 10S executes a predetermined logical operation on the clock signal CLK and the output signal QM.
  • the slave latch circuit 10S is based on the execution result of the logic calculation, and when the clock signal CLK is high level Hi, the signal transmitted through the output signal QM (output signal QS1) and the signal inverted from the output signal QM (output signal QS2). Is output to the ECC decoder 40.
  • the slave latch circuit 10S holds the output signal QS captured in the latch and outputs the output signals QS1 and QS2 to the ECC decoder 40.
  • the m-bit data signal Din [n-1: k], the clock signal CLK, and the control signal SR are input to the m second FF circuits 20.
  • the m-bit data signal Din [n-1: k] is m-bit error correction data for k-bit data D [k-1: 0] (m-bit ECC parity data Dp [m-1: 0]). Is.
  • the m second FF circuits 20 store the input m-bit data signal Din [n-1: k].
  • a 1-bit data signal, a clock signal CLK, and a control signal SR of the m-bit data signal Din [n-1: k] are input to each second FF circuit 20.
  • Each second FF circuit 20 stores a 1-bit data signal of the m-bit data signal Din [n-1: k]. From the m second FF circuits 20, m-bit data (data signal Dout [n-1: k]) is output to the ECC decoder 40. From each second FF circuit 20, a data signal of 1 bit of the m-bit data signal Dout [n-1: k] is output.
  • the clock signal CLK is a signal for controlling the operation of the second FF circuit 20.
  • the second FF circuit 20 samples the data at the rising timing of the clock signal CLK, and holds the data in a period other than that timing.
  • the second FF circuit 20 has, for example, a master latch circuit 20M and a slave latch circuit 20S, as shown in FIG.
  • the master latch circuit 20M holds or transmits data based on the clock signal CLK.
  • the master latch circuit 20M executes a predetermined logical operation on the clock signal CLK and the data signal. Based on the execution result of the logical operation, the master latch circuit 20M holds the data signal captured in the latch when the clock signal CLK is high level Hi, and outputs the data signal to the slave latch circuit 20S as an output signal QM. On the other hand, when the clock signal CLK is low level Lo, the master latch circuit 20M transmits the data signal and outputs the output signal QM to the slave latch circuit 20S.
  • the slave latch circuit 20S has a SRAM circuit that holds or transmits data based on the clock signal CLK.
  • the slave latch circuit 20S executes a predetermined logical operation on the clock signal CLK and the output signal QM.
  • the slave latch circuit 10S outputs a signal (output signal QS2) in which the output signal QM is inverted to the ECC decoder 40 when the clock signal CLK is high level Hi based on the execution result of the logical operation.
  • the slave latch circuit 20S holds the output signal QM captured in the latch and outputs the output signal QS2 to the ECC decoder 40.
  • the slave latch circuits 10S and 20S have, for example, a transfer transistor Tr1 and a storage element MC1 as shown in FIGS. 2 and 3.
  • the storage element MC1 is connected to the node N1 to which the wiring to which the output signal QS2 is output is connected via the transfer transistor Tr1.
  • the node N1 corresponds to the previous stage portion in the SRAM circuit.
  • the transfer transistor Tr1 is a transistor that turns on and off based on the control signal SR.
  • the storage element MC1 holds the data of the node N1 (store). The data held in the storage element MC1 is transferred to the node N1 via the transfer transistor Tr1 (restoration).
  • the slave latch circuits 10S and 20S further include, for example, a transfer transistor Tr2 and a storage element MC2 as shown in FIGS. 2 and 3.
  • the storage element MC2 is connected to the node N2 to which the wiring to which the output signal QS1 is output is connected via the transfer transistor Tr2.
  • the node N2 corresponds to the latter part of the SRAM circuit.
  • the transfer transistor Tr2 is a transistor that turns on and off based on the control signal SR.
  • the storage element MC2 holds the data of the node N2 (store). The data held in the storage element MC2 is transferred to the node N2 via the transfer transistor Tr2 (restoration). That is, the slave latch circuits 10S and 20S are non-volatile slave latch circuits capable of storing the data of the nodes N1 and N2 and restoring the stored data to the nodes N1 and N2.
  • the storage elements MC1 and MC2 are non-volatile memories, and in this example, the spin injection magnetization reversal type (STT; Spin Transfer Torque) that stores information by changing the direction of the magnetization of the free layer by spin injection. It is a magnetic tunnel junction (MTJ) element.
  • STT spin injection magnetization reversal type
  • MTJ magnetic tunnel junction
  • the memory elements MC1 and MC2 have a pinned layer, a tunnel barrier layer, and a free layer.
  • the free layer is connected to the transfer transistors Tr1 and Tr2.
  • the pinned layer is connected to the control line CTRL. That is, the memory elements MC1 and MC2 have a so-called top pin structure in which a pinned layer, a tunnel barrier layer, and a free layer are laminated in this order.
  • the pinned layer is composed of a ferromagnet whose magnetization direction is fixed, for example, in the direction perpendicular to the film surface.
  • the free layer is composed of a ferromagnet whose magnetization direction changes, for example, in the direction perpendicular to the film surface, depending on the inflowing spin polarization current.
  • the tunnel barrier layer functions to break the magnetic bond between the pinned layer and the free layer and to carry the tunnel current.
  • the storage elements MC1 and MC2 for example, when a current is passed from the free layer to the pinned layer, polarized electrons having a moment (spin) in the same direction as the magnetization of the pinned layer are injected from the pinned layer to the free layer.
  • the direction of magnetization of the free layer is the same as the direction of magnetization of the pinned layer (parallel state).
  • the resistance value between both ends becomes low (low resistance state).
  • the resistance state changes between the high resistance state and the low resistance state by changing the magnetization direction of the free layer according to the direction in which the current flows.
  • the storage elements MC1 and MC2 can store information by setting the resistance state in this way.
  • transfer transistors Tr1 and Tr2 and storage elements MC1 and MC2 are provided in addition to the SRAM circuit.
  • the information stored in the SRAM circuit which is a volatile memory
  • the semiconductor circuit 1 can store the information stored in the storage elements MC1 and MC2 in the SRAM circuit by performing the restore operation immediately after the sleep operation.
  • the state of the semiconductor circuit 1 can be returned to the state before the power supply is stopped in a short time.
  • K-bit data (data signal Dout [k-1: 0]) is input to the ECC decoder 40 from the k first FF circuits 10, and m-bit data (data) is input from the m second FF circuits 20.
  • the signal Dout [n-1: k]) is input.
  • the ECC decoder 40 performs decoding using the input n-bit data (data signal Dout [n-1: 0]).
  • the ECC decoder 40 has k-bit data (data signal Dout [k]) in the data signal Dout [n-1: 0] excluding the m-bit ECC parity data (data signal Dout [n-1: k]). -1: 0]) is decoded using the m-bit ECC parity data (data signal Dout [n-1: k]).
  • the ECC decoder 40 outputs the k-bit data obtained by decoding as k-bit data D [k-1: 0] to the output circuit 50.
  • error correction code by decoding for example, various error correction codes such as a Hamming code, a BCH code, their expanded code (extended code), an odd weighted string code, an Hsiao code, and an RS code can be applied.
  • error correction codes such as a Hamming code, a BCH code, their expanded code (extended code), an odd weighted string code, an Hsiao code, and an RS code.
  • a Hamming code a BCH code
  • their expanded code extended code
  • an odd weighted string code an odd weighted string code
  • Hsiao code an RS code
  • the k-bit data D [k-1: 0] is input from the ECC decoder 40 to the output circuit 50.
  • the output circuit 50 outputs, for example, data obtained by inverting the input k-bit data D [k-1: 0] to the outside as output data Q [k-1: 0].
  • FIG. 4 shows an example of the timing chart of the store operation in the semiconductor circuit 1.
  • FIG. 5 shows an example of the timing chart of the restore operation in the semiconductor circuit 1.
  • k-bit data D [k-1: 0] is input to the semiconductor circuit 1
  • n-bit data (data signal Dout [n-1: 0]) obtained by ECC coding is input.
  • An example of storing in n-bit FF circuits (k first FF circuits 10 and m second FF circuits 20) is shown.
  • FIG. 5 shows an example of error correction by ECC decoding after restoration.
  • N1 [n-1: 0] is coded data input to the node N1 of n slave latch circuits (k slave latch circuits 10S and m slave latch circuits 20S). Is.
  • N2 [n-1: 0] is data input to the node N2 of n slave latch circuits (k slave latch circuits 10S and m slave latch circuits 20S).
  • N1 [n-1: 0] is inverted data.
  • Q [k-1: 0] is k-bit data output from the semiconductor circuit 1.
  • the suffixes in FIGS. 4 and 5 indicate a time series.
  • the k-bit data D [k-1: 0] input from the outside changes at the rising edge of the clock signal CLK.
  • the k master latch circuits 10M latch the k-bit data D [k-1: 0] at the rising edge of the signal in which the clock signal CLK is inverted.
  • the k-bit data latched by the k master latch circuits 10M becomes n-bit data (encoded data) by ECC coding.
  • N slave latch circuits (k slave latch circuits 10S and m slave latch circuits 20S) latch n-bit coded data N1 [n-1: 0] at the rising edge of the next clock signal CLK. ..
  • the n-bit coded data N1 [n-1: 0] latched by the n slave latch circuits becomes k-bit data Q [k-1: 0] (decoded data) by ECC decoding.
  • the k-bit data Q [k-1: 0] (decrypted data) is output to the outside.
  • the coded data is stored in the storage element MC1 by changing the resistance states of the storage elements MC1 and MC2 by the control signals SR and CTRL from the control unit, and the coded data is inverted in the storage element MC2.
  • the data (inverted data) is recorded, and the data is held in the storage elements 11 and 13 even after the power is turned off.
  • the restore operation after the power is turned on, the voltage of the nodes N1 and N2 is determined according to the resistance state of the storage elements MC1 and MC2 by the control signals SR and CTRL from the control unit. Encoded data is restored to node N1 and inverted data is restored to node N2.
  • the data restored to the node N1 may be different from the data at the time of storage due to a defect or recording state of the storage elements MC1 and MC2.
  • ECC decoding is performed on the restored n-bit data to obtain k-bit data in which the error is corrected.
  • FIGS. 4 and 5 ECC coding and ECC decoding are assumed to be completed within one clock cycle.
  • FIG. 6 shows an example of a timing chart for one bit in the store operation shown in FIG.
  • FIG. 7 shows an example of a timing chart for one bit in the restore operation shown in FIG.
  • the store operation data is stored in the storage elements MC1 and MC2 by changing the resistance state of the storage elements MC1 and MC2 by the voltage of the nodes N1 and N2.
  • the restore operation the voltage of the nodes N1 and N2 is determined according to the resistance state of the storage elements MC1 and MC2.
  • k first FF circuits 10 and m second FF circuits 20 for storing k-bit data and m-bit error correction data for k-bit data are provided.
  • k first FF circuits 10 and m second FF circuits 20 for storing k-bit data and m-bit error correction data for k-bit data are provided.
  • the first FF circuit 10 composed of k master latch circuits 10M and k slave latch circuits 10S, and m master latch circuits 20M and m slave latch circuits 20S are configured.
  • a second FF circuit 20 is provided.
  • the k slave latch circuits 10S store k-bit data
  • the m slave latch circuits 20S store m-bit error correction data.
  • the ECC encoder 30 that generates m-bit error correction data is provided, and the m-bit error correction data generated by the ECC encoder 30 is stored in the m slave latch circuits 20S. To. As a result, even if the stored data becomes erroneous data for some reason, it is possible to return to the operating state before the power supply is stopped with the correct data by error correction. Therefore, it is possible to provide the semiconductor circuit 1 having high error tolerance.
  • an ECC decoder is provided that decodes the k-bit data output from the k slave latch circuits 10S by using the m-bit error correction data output from the m slave latch circuits 20S. ing.
  • the slave latch circuits 10S and 20S are provided with non-volatile storage elements MC1 and MC2 for holding 1-bit data.
  • the storage elements MC1 and MC2 becomes erroneous data for some reason, it is possible to return to the operating state before the power supply is stopped with the correct data by error correction. It is possible. Therefore, it is possible to provide the semiconductor circuit 1 having high error tolerance.
  • FIG. 8 shows an example of a functional block of the semiconductor circuit 2 according to the second embodiment of the present disclosure.
  • the semiconductor circuit 2 is a circuit that stores information.
  • data reading / writing is controlled by a control unit.
  • the control unit writes information to the semiconductor circuit 2 based on, for example, a write command and write data supplied from the outside, and reads information from the semiconductor circuit 2 based on a read command supplied from the outside.
  • the control unit controls the power supply to the semiconductor circuit 2 by turning on / off the power supply transistor, for example.
  • the control unit turns on the power supply transistor and supplies the power supply voltage to the semiconductor circuit 2.
  • the control unit turns off the power supply transistor. In the semiconductor circuit 2, power consumption can be reduced by such power gating.
  • the semiconductor circuit 2 includes, for example, k first FF circuits 10 and m slave latch circuits 20S, as shown in FIG.
  • the semiconductor circuit 2 further includes, for example, an ECC encoder 30, an ECC decoder 40, and an output circuit 50, as shown in FIG. That is, the semiconductor circuit 2 has a circuit configuration in which the m master latch circuits 20M are omitted in the semiconductor circuit 1.
  • the ECC encoder 30 is provided between the k master latch circuits 10M and the k slave latch circuits 10S. In the present embodiment, the output terminals of the ECC encoder 30 are further directly connected to the input terminals of the m slave latch circuits 20S.
  • the ECC encoder 30 has an output terminal of the master latch circuit 10M (1) and an input terminal of the three slave latch circuits 10S (1), 20S (1), 20S (2). It consists of wiring that connects to and from each other.
  • the ECC decoder 40 has three adders and one AND circuit. The first adder inputs the first signal obtained by adding the outputs of the slave latch circuits 10S (1) and 20S (1) to one input terminal of the AND circuit.
  • the second adder inputs the second signal obtained by adding the outputs of the slave latch circuits 10S (1) and 20S (2) to the other input terminal of the AND circuit.
  • the AND circuit produces a logical product of the first signal and the second signal.
  • the third adder outputs the signal obtained by adding the logical product generated by the AND circuit and the output of the slave latch circuit 10S (1) to the output circuit 50.
  • an error is made. It is corrected and the correct data is output.
  • the ECC encoder 30 has four master latch circuits 10M (10M (0), 10M (1), 10M (2), 10M (3)) output terminals and four. It has a wiring for connecting to the input terminals of the slave latch circuit 10S (10S (0), 10S (1), 10S (2), 10S (3)) of the above.
  • the ECC encoder 30 further has three adders.
  • the first adder uses the slave latch circuit 20S (0) as a signal obtained by adding the outputs of three master latch circuits 10M (10M (0), 10M (1), 10M (2)). Output to.
  • the second adder uses the signal obtained by adding the outputs of the three master latch circuits 10M (10M (1), 10M (2), 10M (3)) to the slave latch circuit 20S (1). Output to.
  • the third adder uses the slave latch circuit 20S (2) to input the signal obtained by adding the outputs of the three master latch circuits 10M (10M (0), 10M (2), 10M (3)). Output to.
  • the ECC decoder 40 includes seven adders, three inverter circuits, and four AND circuits.
  • the first adder uses the first signal obtained by adding the outputs of the slave latch circuits 10S (0), 10S (1), 10S (2), and 20S (0) as the first inverter circuit. And input to the second, third and fourth AND circuits.
  • the second adder uses the second signal obtained by adding the outputs of the slave latch circuits 10S (1), 10S (2), 10S (3), and 20S (1) as the second inverter circuit. And input to the first, second and third AND circuits.
  • the third adder uses the third signal obtained by adding the outputs of the slave latch circuits 10S (0), 10S (2), 10S (3), and 20S (2) as the third inverter circuit. And input to the first, second and fourth AND circuits.
  • the first inverter circuit inputs a signal obtained by inverting the first signal (first inverted signal) to the first AND circuit.
  • the second inverter circuit inputs a signal obtained by inverting the second signal (second inverted signal) to the fourth AND circuit.
  • the third inverter circuit inputs a signal obtained by inverting the third signal (third inverted signal) to the third AND circuit.
  • the first AND circuit inputs the AND of the second signal, the third signal and the first inverting signal to the fourth adder.
  • the second AND circuit inputs the AND of the first signal, the second signal and the third signal to the fifth adder.
  • the third AND circuit inputs the AND of the first signal, the second signal and the third inverted signal to the sixth adder.
  • the fourth AND circuit inputs the AND of the first signal, the second inverted signal and the third signal to the seventh adder.
  • the fourth adder outputs a signal obtained by adding the output of the slave latch circuit 10S (3) and the output of the first AND circuit to the output circuit 50.
  • the fifth adder outputs a signal obtained by adding the output of the slave latch circuit 10S (2) and the output of the second AND circuit to the output circuit 50.
  • the sixth adder outputs a signal obtained by adding the output of the slave latch circuit 10S (1) and the output of the third AND circuit to the output circuit 50.
  • the seventh adder outputs a signal obtained by adding the output of the slave latch circuit 10S (0) and the output of the fourth AND circuit to the output circuit 50.
  • the output circuit 50 outputs a signal obtained by inverting the signal input from the ECC decoder 40 to the outside as an output signal Q.
  • k first FF circuits 10 and m slave latch circuits 20S for latching k-bit data and m-bit error correction data for k-bit data are provided.
  • k first FF circuits 10 and m slave latch circuits 20S for latching k-bit data and m-bit error correction data for k-bit data are provided.
  • the first FF circuit 10 composed of k master latch circuits 10M and k slave latch circuits 10S, and m slave latch circuits 20S are provided.
  • the k slave latch circuits 20S store k-bit data
  • the m slave latch circuits 20S store m-bit error correction data.
  • the ECC encoder 30 that generates m-bit error correction data is provided, and the m-bit error correction data generated by the ECC encoder 30 is stored in the m slave latch circuits 20S. To. As a result, even if the stored data becomes erroneous data for some reason, it is possible to return to the operating state before the power supply is stopped with the correct data by error correction. Therefore, it is possible to provide the semiconductor circuit 2 having high error tolerance.
  • the ECC decoder 40 is provided to decode the k-bit data output from the k slave latch circuits 10S by using the m-bit error correction data output from the m slave latch circuits 20S. Has been done. As a result, even if the stored data becomes erroneous data for some reason, it is possible to return to the operating state before the power supply is stopped with the correct data by error correction. Therefore, it is possible to provide the semiconductor circuit 2 having high error tolerance.
  • the slave latch circuits 10S and 20S are provided with non-volatile storage elements MC1 and MC2 for holding 1-bit data.
  • the storage elements MC1 and MC2 becomes erroneous data for some reason, it is possible to return to the operating state before the power supply is stopped with the correct data by error correction. It is possible. Therefore, it is possible to provide the semiconductor circuit 2 having high error tolerance.
  • FIG. 11 shows an example of a functional block of the semiconductor circuit 3 according to the third embodiment of the present disclosure.
  • the semiconductor circuit 3 is a circuit that stores information.
  • data reading / writing is controlled by a control unit.
  • the control unit writes information to the semiconductor circuit 3 based on, for example, a write command and write data supplied from the outside, and reads information from the semiconductor circuit 3 based on a read command supplied from the outside.
  • the control unit controls the power supply to the semiconductor circuit 3 by turning on / off the power supply transistor, for example.
  • the power supply transistor is turned on and the power supply voltage is supplied to the semiconductor circuit 3.
  • the control unit turns off the power supply transistor. In the semiconductor circuit 3, power consumption can be reduced by such power gating.
  • the semiconductor circuit 3 includes, for example, k FF circuits 60 (60 (0), 60 (1), ..., 60 (k-1)) and m slave latch circuits 70S, as shown in FIG. (70S (0), 70S (1), ..., 70S (m-1)).
  • the semiconductor circuit 3 further includes, for example, an ECC encoder 80, an ECC decoder 90, and an output circuit 50, as shown in FIG.
  • a k-bit data signal Din [k-1: 0], a clock signal CLK, and a control signal SR are input to the k FF circuits 60.
  • a 1-bit data signal, a clock signal CLK, and a control signal SR of the k-bit data signal Din [k-1: 0] are input to each FF circuit 60.
  • k-bit data data signal Dout [k-1: 0]
  • the clock signal CLK is a signal for controlling the operation of the FF circuit 60.
  • the control signal SR is a signal for controlling the data store and the data restore.
  • the FF circuit 60 samples data at the rising timing of the clock signal CLK, and holds the data in a period other than that timing.
  • the FF circuit 60 has, for example, a master latch circuit 60M and a slave latch circuit 60S, as shown in FIG.
  • the master latch circuit 60M holds or transmits data based on the clock signal CLK.
  • the master latch circuit 60M executes a predetermined logical operation on the clock signal CLK and the data signal. Based on the execution result of the logical operation, the master latch circuit 60M holds the data signal captured in the latch when the clock signal CLK is high level Hi, and outputs the output signal QM to the slave latch circuit 10S and the ECC encoder 80. .. On the other hand, when the clock signal CLK is low level Lo, the master latch circuit 60M transmits the data signal and outputs it as an output signal QM to the slave latch circuit 60S and the ECC encoder 80.
  • the slave latch circuit 60S has a SRAM circuit that holds or transmits data based on the clock signal CLK.
  • the slave latch circuit 60S executes a predetermined logical operation on the clock signal CLK and the output signal QM.
  • the slave latch circuit 60S outputs a signal (output signal QS2) in which the output signal QM is inverted to the ECC decoder 40 and the output circuit 50 when the clock signal CLK is high level Hi based on the execution result of the logical operation.
  • the slave latch circuit 60S holds the output signal QS captured in the latch and outputs the output signal QS2 to the ECC decoder 40 and the output circuit 50.
  • a k-bit output signal QM (data D [k-1: 0]) is input to the ECC encoder 80.
  • the ECC encoder 80 encodes the input output signal QM (data D [k-1: 0]).
  • the ECC encoder 80 generates m-bit ECC parity data based on the output signal QM (data D [k-1: 0]).
  • the ECC encoder 80 outputs the generated m-bit ECC parity data Dp [m-1: 0] to m slave latch circuits 70S.
  • m-bit ECC parity data Dp [m-1: 0] are input to the m slave latch circuits 70S.
  • a 1-bit data signal, a clock signal CLK, and a control signal SR of the m-bit ECC parity data Dp [m-1: 0] are input to each slave latch circuit 70S.
  • m-bit ECC parity data Dp [m-1: 0] is output to the ECC decoder 90 as a data signal Dout [n-1: k].
  • a data signal of 1 bit of the m-bit data signal Dout [n-1: k] is output.
  • the clock signal CLK is a signal for controlling the operation of the slave latch circuit 70S.
  • the slave latch circuit 70S samples data at the rising timing of the clock signal CLK, and holds the data in a period other than that timing.
  • the slave latch circuits 60S and 70S have, for example, a transfer transistor Tr1 and a storage element MC1 as shown in FIGS. 12 and 13.
  • the storage element MC1 is connected to the node N1 via the transfer transistor Tr1.
  • the transfer transistor Tr1 is a transistor that turns on and off based on the control signal SR.
  • the slave latch circuits 60S and 70S further include a transfer transistor Tr2 and a storage element MC2, for example, as shown in FIGS. 12 and 13.
  • the storage element MC2 is connected to the node N2 via the transfer transistor Tr2.
  • the transfer transistor Tr2 is a transistor that turns on and off based on the control signal SR.
  • transfer transistors Tr1 and Tr2 and storage elements MC1 and MC2 are provided in addition to the SRAM circuit.
  • the information stored in the SRAM circuit which is a volatile memory
  • the semiconductor circuit 3 can store the information stored in the storage elements MC1 and MC2 in the SRAM circuit by performing the restore operation immediately after the sleep operation.
  • the state of the semiconductor circuit 3 can be returned to the state before the power supply is stopped in a short time.
  • the ECC decoder 90 has k-bit data (data signal Dout [k]) in the data signal Dout [n-1: 0] excluding the m-bit ECC parity data (data signal Dout [n-1: k]). -1: 0]) is decoded using the m-bit ECC parity data (data signal Dout [n-1: k]).
  • the ECC decoder 90 outputs the k-bit data obtained by decoding to the k master latch circuits 60 as k-bit output data Dout [k-1: 0].
  • k-bit output data Dout [k-1: 0] is input from k slave latches 60S.
  • the output circuit 50 outputs, for example, data obtained by inverting the input k-bit output data Dout [k-1: 0] to the outside as output data Q [k-1: 0].
  • the master latch circuit 60M further has a selection element SW, for example, as shown in FIG.
  • the selection element SW selects either a signal in which the output signal QM is inverted or a signal input from the ECC decoder 90 according to control by the control unit.
  • the signal selected by the selection element SW is held in the master latch circuit 60M.
  • FIG. 14 shows an example of the timing chart of the restore operation in the semiconductor circuit 3.
  • k-bit data D [k-1: 0] is input, and n-bit data obtained by ECC coding is stored in an n-bit slave latch circuit (storage elements MC1 and MC2).
  • N1 is coded data input to the node N1 of n slave latch circuits (k slave latch circuits 60S and m slave latch circuits 70S).
  • N2 is data input to the node N2 of n slave latch circuits (k slave latch circuits 60S and m slave latch circuits 70S), and is data obtained by inverting N1.
  • Q is k-bit data output from the semiconductor circuit 3.
  • the suffix in FIG. 14 indicates a time series.
  • the store operation in the semiconductor circuit 3 is the same as the store operation in the semiconductor circuit 1 according to the first embodiment (see FIG. 4).
  • the voltage of the nodes N1 and N2 is determined according to the resistance state of the storage elements MC1 and MC2 by the control signals SR and CTRL from the control unit.
  • Encoded data is restored to node N1 and inverted data is restored to node N2.
  • the data restored to the node N1 may be different from the data at the time of storage due to a defect or recording state of the storage elements MC1 and MC2.
  • ECC decoding is performed on the restored n-bit data to obtain k-bit data in which the error is corrected.
  • k FF circuits 60 and m slave latch circuits 70S for latching k-bit data and m-bit error correction data with respect to k-bit data are provided.
  • k FF circuits 60 and m slave latch circuits 70S for latching k-bit data and m-bit error correction data with respect to k-bit data are provided.
  • an FF circuit 60 composed of k master latch circuits 60M and k slave latch circuits 60S, and m slave latch circuits 70S are provided.
  • the k slave latch circuits 60S store k-bit data
  • the m slave latch circuits 70S store m-bit error correction data.
  • the ECC encoder 80 which is connected in parallel with the k slave latch circuits 60S to the k master latch circuits 60 and generates m-bit error correction data, is provided, and m pieces are provided.
  • the slave latch circuit 70 of the above m-bit error correction data generated by the ECC encoder 80 is stored. As a result, even if the stored data becomes erroneous data for some reason, it is possible to return to the operating state before the power supply is stopped with the correct data by error correction. Therefore, it is possible to provide the semiconductor circuit 3 having high error tolerance.
  • an ECC decoder 90 is provided that decodes the k-bit data output from the k slave latch circuits 60S by using the m-bit error correction data output from the m slave latch circuits 70S. Has been done. As a result, even if the stored data becomes erroneous data for some reason, it is possible to return to the operating state before the power supply is stopped with the correct data by error correction. Therefore, it is possible to provide the semiconductor circuit 3 having high error tolerance.
  • the slave latch circuits 60S and 70S are provided with non-volatile storage elements MC1 and MC2 for holding 1-bit data.
  • the storage elements MC1 and MC2 becomes erroneous data for some reason, it is possible to return to the operating state before the power supply is stopped with the correct data by error correction. It is possible. Therefore, it is possible to provide the semiconductor circuit 3 having high error tolerance.
  • the k master latch circuits 60 either the k-bit decoding data generated by decoding by the ECC decoder 90 or the k-bit data output from the k master latch circuits 60 is used. Selector SWs that feed back to the k master latch circuits 60 are provided. As a result, even if the data held in the storage elements MC1 and MC2 becomes erroneous data for some reason, it is possible to return to the operating state before the power supply is stopped with the correct data by error correction. It is possible. Therefore, it is possible to provide the semiconductor circuit 3 having high error tolerance.
  • FIG. 15 shows an example of a functional block of the semiconductor circuit 4 according to the fourth embodiment of the present disclosure.
  • the semiconductor circuit 4 is a circuit that stores information.
  • the reading and writing of data is controlled by the control unit.
  • the control unit writes information to the semiconductor circuit 4 based on, for example, a write command and write data supplied from the outside, and reads information from the semiconductor circuit 4 based on a read command supplied from the outside.
  • the control unit controls the power supply to the semiconductor circuit 4, for example, by turning on and off the power supply transistor.
  • the control unit turns on the power supply transistor and supplies the power supply voltage to the semiconductor circuit 4.
  • the control unit turns off the power supply transistor. In the semiconductor circuit 4, power consumption can be reduced by such power gating.
  • the semiconductor circuit 4 includes, for example, k FF circuits 110 (110 (0), 110 (1), ..., 110 (k-1)) and m slave latch circuits 70S, as shown in FIG. (70S (0), 70S (1), ..., 70S (m-1)).
  • the semiconductor circuit 4 further includes, for example, selectors 120 and 130, an ECC encoder 80, an ECC decoder 90, and an output circuit 50, as shown in FIG.
  • a k-bit data signal Din [k-1: 0], a clock signal CLK, and a control signal SR are input to the k FF circuits 110.
  • a 1-bit data signal, a clock signal CLK, and a control signal SR of the k-bit data signal Din [k-1: 0] are input to each FF circuit 110.
  • k-bit data data signal Dout [k-1: 0]
  • the clock signal CLK is a signal for controlling the operation of the FF circuit 110.
  • the control signal SR is a signal for controlling the data store and the data restore.
  • the FF circuit 110 samples data at the rising timing of the clock signal CLK, and holds the data in a period other than that timing.
  • the FF circuit 110 has, for example, a master latch circuit 10M and a slave latch circuit 60S, as shown in FIG.
  • the master latch circuit 10M outputs the output signal QM to the slave latch circuit 60S via the selector 120 and outputs it to the ECC encoder 80.
  • the slave latch circuit 60S outputs a signal (output signal QS2) in which the output signal QM is inverted to the ECC decoder 90 and the output circuit 50.
  • the ECC encoder 80 outputs the generated m-bit ECC parity data Dp [m-1: 0] to the selector 130.
  • the ECC decoder 90 outputs the k-bit data obtained by decoding to the selector 120 as k-bit output data Dout [k-1: 0].
  • the ECC decoder 90 further outputs the m-bit ECC parity data Dp [m-1: 0] used for decoding to the selector 130.
  • the selector 120 determines the output signal QM (data [k-1: 0]) input from the master latch circuit 10M and the output data Dout [k-1: 0] input from the ECC decoder 90 according to the control by the control unit. Select one of them.
  • the selector 120 outputs the selected data to k slave latch circuits 60S.
  • the selector 130 has either the ECC parity data Dp [m-1: 0] input from the ECC encoder 80 or the ECC parity data Dp [m-1: 0] input from the ECC decoder 90 according to the control by the control unit. Select one.
  • the selector 130 outputs the selected data to m slave latch circuits 70S.
  • FIG. 16 shows an example of a basic operation procedure in the semiconductor circuit 4.
  • the semiconductor circuit 4 shifts from the FF operation (step S101) to the store operation (step S102), the sleep operation (step S103), and the restore operation (step S104), and then shifts to the FF operation (step S105) again.
  • the semiconductor circuit 4 encodes a k-bit output signal QM (data D [k-1: 0]) using the ECC encoder 80 (step S201).
  • the semiconductor circuit 4 stores m-bit ECC parity data Dp [m-1: 0] generated by encoding in m slave latch circuits 70S (step S202).
  • the semiconductor circuit 4 stores the k-bit output signal QM (data D [k-1: 0]) in the k slave latch circuits 60S (step S202).
  • the semiconductor circuit 4 restores the stored data and performs an ECC check (steps S203 and S204).
  • step S205; N the semiconductor circuit 4 determines that the store operation has been performed normally, and ends the store operation. If there is an error in the restored data (step S205; Y), the semiconductor circuit 4 decodes the restored data using the ECC decoder 90 (step S206).
  • the semiconductor circuit 4 stores the k-bit data obtained by decoding in the k slave latch circuits 60S via the selector 120 (step S207).
  • the semiconductor circuit 4 stores m-bit ECC parity data Dp [m-1: 0] in m slave latch circuits 70S via the selector 130 (step S207). In this way, the semiconductor circuit 4 executes the store operation. After that, the power supply transistor is turned off by the control from the control unit, the supply of the power supply voltage to the semiconductor circuit 4 is stopped, and the sleep operation is started.
  • the semiconductor circuit 4 confirms the stored data during the sleep operation.
  • the power supply transistor is turned on, and the supply of the power supply voltage to the semiconductor circuit 4 is restarted.
  • the semiconductor circuit 4 first restores the stored data and performs an ECC check (steps S301 and S302).
  • the semiconductor circuit 4 determines that the store operation has been performed normally, and ends the operation for confirming the stored data.
  • the power supply transistor is turned off by the control from the control unit, the supply of the power supply voltage to the semiconductor circuit 4 is stopped, and the sleep operation is started.
  • the semiconductor circuit 4 decodes the restored data using the ECC decoder 90 (step S304).
  • the semiconductor circuit 4 stores the k-bit data obtained by decoding in the k slave latch circuits 60S via the selector 120 (step S305).
  • the semiconductor circuit 4 stores m-bit ECC parity data Dp [m-1: 0] in m slave latch circuits 70S via the selector 130 (step S305). In this way, the semiconductor circuit 4 executes an operation for confirming the stored data. After that, the power supply transistor is turned off by the control from the control unit, the supply of the power supply voltage to the semiconductor circuit 4 is stopped, and the sleep operation is performed again.
  • the semiconductor circuit 4 returns from the sleep state to the FF operation. Specifically, first, the power supply transistor is turned on by the control from the control unit, and the supply of the power supply voltage to the semiconductor circuit 4 is restarted. Then, the semiconductor circuit 4 restores the stored data and performs an ECC check (steps S401 and S402). As a result, if there is no error in the restored data (step S403; N), the semiconductor circuit 4 determines that the restore operation has been performed normally, and restarts the FF operation. On the other hand, when there is an error in the restored data (step S403; Y), the semiconductor circuit 4 decodes the restored data using the ECC decoder 90 (step S404). The semiconductor circuit 4 outputs the data obtained by decoding.
  • FIG. 17 shows another example of the basic operation procedure in the semiconductor circuit 4.
  • the semiconductor circuit 4 may perform the pre-sleep inspection operation (step S106) instead of the store operation (step S102).
  • the semiconductor circuit 4 encodes a k-bit output signal QM (data D [k-1: 0]) using the ECC encoder 80 (step S601).
  • the semiconductor circuit 4 is divided into n-bit data consisting of m-bit ECC parity data Dp [m-1: 0] generated by encoding and k-bit output signal QM (data D [k-1: 0]).
  • an ECC check is performed (step S602).
  • step S603; N the semiconductor circuit 4 shifts to the sleep operation.
  • step S603; Y if there is an error in the acquired k-bit data D [k-1: 0] (step S603; Y), it is confirmed whether or not the setting for re-storing (rewriting) is made. As a result, when the setting for re-storing (rewriting) is off (step S604; N), the semiconductor circuit 4 shifts to the sleep operation. On the other hand, when the setting for re-storing (rewriting) is on (step S604; Y), the semiconductor circuit 4 transfers the k-bit data obtained by decoding to k slave latches via the selector 120. Store in circuit 60S (step S605). The semiconductor circuit 4 stores m-bit ECC parity data Dp [m-1: 0] in m slave latch circuits 70S via the selector 130 (step S605). In this way, the semiconductor circuit 4 executes the pre-sleep inspection operation.
  • k FF circuits 110 and m slave latch circuits 70S for latching k-bit data and m-bit error correction data with respect to k-bit data are provided.
  • k FF circuits 110 and m slave latch circuits 70S for latching k-bit data and m-bit error correction data with respect to k-bit data are provided.
  • the FF circuit 110 composed of k master latch circuits 10M and k slave latch circuits 60S, and m slave latch circuits 70S are provided.
  • the k slave latch circuits 60S store k-bit data
  • the m slave latch circuits 70S store m-bit error correction data.
  • the ECC encoder 80 which is connected in parallel with the k slave latch circuits 60S to the k master latch circuits 10 and generates m-bit error correction data, is provided, and m pieces are provided.
  • the slave latch circuit 70 of the above m-bit error correction data generated by the ECC encoder 80 is stored. As a result, even if the stored data becomes erroneous data for some reason, it is possible to return to the operating state before the power supply is stopped with the correct data by error correction. Therefore, it is possible to provide the semiconductor circuit 4 having high error tolerance.
  • an ECC decoder 90 is provided that decodes the k-bit data output from the k slave latch circuits 60S by using the m-bit error correction data output from the m slave latch circuits 70S. Has been done. As a result, even if the stored data becomes erroneous data for some reason, it is possible to return to the operating state before the power supply is stopped with the correct data by error correction. Therefore, it is possible to provide the semiconductor circuit 4 having high error tolerance.
  • the slave latch circuits 60S and 70S are provided with non-volatile storage elements MC1 and MC2 for holding 1-bit data.
  • the storage elements MC1 and MC2 becomes erroneous data for some reason, it is possible to return to the operating state before the power supply is stopped with the correct data by error correction. It is possible. Therefore, it is possible to provide the semiconductor circuit 4 having high error tolerance.
  • any one of the k-bit decoding data generated by decoding by the ECC decoder 90 and the k-bit data output from the k master latch circuits 10 is input to the k slave latch circuits 60S.
  • a selector 120 is provided.
  • k slave latch circuits are used in any one of the store operation, the sleep operation, and the restore operation.
  • An ECC check is performed.
  • the present disclosure may have the following structure.
  • a semiconductor circuit including a non-volatile latch circuit that stores k-bit data and m-bit error correction data for the k-bit data.
  • the non-volatile latch circuit includes k master latch circuits, k first non-volatile slave latch circuits, and m second non-volatile slave latch circuits.
  • the k master latch circuits and the k first non-volatile slave latch circuits constitute k flip-flop circuits.
  • the k first non-volatile slave latch circuits store the k bits of data.
  • the semiconductor circuit according to (1), wherein the m second non-volatile slave latch circuits store the m-bit error correction data.
  • An ECC encoder that generates m-bit error correction data is further provided between the k master latch circuits and the k first non-volatile slave latch circuits.
  • the m-bit error correction data output from the m second non-volatile slave latch circuits is used to decode the k-bit data output from the k first non-volatile slave latch circuits.
  • the non-volatile latch circuit includes k first master latch circuits, k first non-volatile slave latch circuits, m second master latch circuits, and m second non-volatile latch circuits. It is configured to include a slave latch circuit.
  • the k first master latch circuits and the k first non-volatile slave latch circuits constitute k first flip-flop circuits.
  • the m second master latch circuit and the m second non-volatile slave latch circuit constitute m second flip-flop circuits.
  • the k first non-volatile slave latch circuits store the k bits of data.
  • the semiconductor circuit according to (1), wherein the m second non-volatile slave latch circuits store the m-bit error correction data.
  • the semiconductor circuit according to (5) wherein the m second non-volatile slave latch circuits store error correction data of the m bits generated by the ECC encoder. (7) Using the m-bit error correction data output from the m second non-volatile slave latch circuits, the k-bit data output from the k first non-volatile slave latch circuits is decoded.
  • the k master latch circuits are further provided with an ECC encoder connected in parallel with the k first non-volatile slave latch circuits to generate the m-bit error correction data.
  • the semiconductor circuit according to (2) wherein the m second non-volatile slave latch circuits store error correction data of the m bits generated by the ECC encoder.
  • the k-bit data output from the k first non-volatile slave latch circuits is decoded.
  • the semiconductor circuit according to (8) further comprising an ECC decoder.
  • the k master latch circuits have a selector that feeds back any of the k-bit decoded data generated by decoding by the ECC decoder and the k-bit data to the k master latch circuits (9).
  • each of the first non-volatile slave latch circuit and each of the second non-volatile slave latch circuits has a non-volatile memory for holding 1-bit data.
  • the ECC decoder returns from the FF operation to the FF operation via the store operation, the sleep operation, and the restore operation, the k number of operations are performed in any one of the store operation, the sleep operation, and the restore operation.
  • the non-volatile latch circuit for storing the k-bit data and the m-bit error correction data for the k-bit data is provided, it is held during sleep. Even if the data is reversed for some reason and becomes erroneous data, it is possible to return to the operating state before the power supply is stopped with the correct data by erroneous correction. Therefore, it is possible to provide a semiconductor circuit having high error tolerance.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Logic Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本開示の一側面に係る半導体回路は、kビットのデータと、kビットのデータに対するmビットの誤り訂正データとをストアする不揮発性ラッチ回路を備えている。

Description

半導体回路
 本開示は、半導体回路に関する。
 電子機器は、エコロジーの観点から消費電力が低いことが望まれている。半導体回路では、例えば、一部の回路への電源供給を選択的に停止することにより消費電力の低減を図る、いわゆるパワーゲーティングという技術がしばしば用いられる。このように電源供給が停止された回路では、電源供給が再開された後に、すぐに、電源供給が停止される前の動作状態に復帰することが望まれる。そのような短時間での復帰動作を実現する方法の一つに、回路に不揮発性メモリを内蔵させる方法がある。不揮発性メモリとしては、例えば、磁気トンネル接合(MTJ;Magnetic Tunnel Junction)素子などが挙げられる。
 なお、不揮発性メモリを内蔵した半導体回路は、例えば、以下の特許文献1~2に開示されている。
特開2019-50068号 特開2017-197486号
 ところで、不揮発性メモリを内蔵した半導体回路において、スリープ時に保持されたデータが何らかの原因で反転して誤ったデータになってしまうことがある。従って、エラー耐性の高い半導体回路を提供することが望ましい。
 本開示の一側面に係る半導体回路は、kビットのデータと、kビットのデータに対するmビットの誤り訂正データとをストアする不揮発性ラッチ回路を備えている。
 本開示の一側面に係る半導体回路では、kビットのデータと、kビットのデータに対するmビットの誤り訂正データとをストアする不揮発性ラッチ回路が設けられている。これにより、電源供給停止後、電源供給再開時に、電源供給停止前の動作状態に復帰することが可能である。また、電源供給停止の間(スリープ時)、保持されたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。
本開示の第1の実施の形態に係る半導体回路の機能ブロックの一例を表す図である。 図1の第1FF回路の回路構成の一例を表す図である。 図1の第2FF回路の回路構成の一例を表す図である。 図1の半導体回路におけるストア動作のタイミングチャートの一例を表す図である。 図1の半導体回路におけるリストア動作のタイミングチャートの一例を表す図である。 図1の半導体回路におけるストア動作のタイミングチャートの一例を表す図である。 図1の半導体回路におけるリストア動作のタイミングチャートの一例を表す図である。 本開示の第2の実施の形態に係る半導体回路の機能ブロックの一例を表す図である。 図8の半導体回路におけるECCエンコーダおよびECCデコーダの回路構成の一例を表す図である。 図8の半導体回路におけるECCエンコーダおよびECCデコーダの回路構成の一例を表す図である。 本開示の第3の実施の形態に係る半導体回路の機能ブロックの一例を表す図である。 図11のFF回路の回路構成の一例を表す図である。 図11のスレーブラッチ回路の回路構成の一例を表す図である。 図11の半導体回路におけるリストア動作のタイミングチャートの一例を表す図である。 本開示の第4の実施の形態に係る半導体回路の機能ブロックの一例を表す図である。 図15の半導体回路における動作手順の一例を表す図である。 図15の半導体回路における動作手順の一例を表す図である。
 以下、本開示を実施するための形態について、図面を参照して詳細に説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。本技術は、その趣旨を逸脱しない範囲で種々変形(例えば各実施形態を組み合わせる等)して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
<1.第1の実施の形態>
[構成]
 図1は、本開示の第1の実施の形態に係る半導体回路1の機能ブロックの一例を表したものである。半導体回路1は、情報を記憶する回路である。半導体回路1では、制御部によってデータの読み書きが制御される。制御部は、例えば、外部から供給された書き込みコマンドおよび書き込みデータに基づいて、半導体回路1に情報を書き込み、また、外部から供給された読み出しコマンドに基づいて、半導体回路1から情報を読み出す。制御部は、例えば、電源トランジスタをオンオフすることにより、半導体回路1に対する電源供給を制御する。半導体回路1を使用する場合には、制御部は、電源トランジスタをオン状態にして、電源電圧を半導体回路1に供給する。半導体回路1を使用しない場合には、制御部は、電源トランジスタをオフ状態にする。半導体回路1では、このようなパワーゲーティングにより、消費電力を低減することができる。
 半導体回路1は、例えば、図1に示したように、k個の第1FF(Flip Flop)回路10(10(0),10(1),…,10(k-1))と、m個の第2FF回路20(20(0),20(1),…,20(m-1))とを備えている。半導体回路1は、さらに、例えば、図1に示したように、ECC(Error-Correcting Code)エンコーダ30と、ECCデコーダ40と、出力回路50とを備えている。
 ECCエンコーダ30には、kビットのデータD[k-1:0]が入力される。kビットのデータD[k-1:0]は、外部から半導体回路1に入力されるデータである。ECCエンコーダ30は、入力されたkビットのデータD[k-1:0]を符号化する。ECCエンコーダ30は、kビットのデータD[k-1:0]に基づいて、mビットのECCパリティデータDp[m-1:0]を生成する。mビットのECC パリティデータDp[m-1:0]は、kビットのデータD[k-1:0]に対するmビットの誤り訂正データである。ECCエンコーダ30は、さらに、kビットのデータD[k-1:0]に、生成したmビットのECC パリティデータDp[m-1:0]を加えることにより、n(=k+m)ビットのデータ(データ信号Din[n-1:0])を生成する。ECCエンコーダ30は、生成したnビットのデータ信号Din[n-1:0]を、k個の第1FF回路10およびm個の第2FF回路20に出力する。具体的には、ECCエンコーダ30は、kビットのデータ信号Din[k-1:0]をk個の第1FF回路10に出力し、mビットのデータ信号Din[n-1:k]をm個の第2FF回路20に出力する。
 k個の第1FF回路10には、kビットのデータ信号Din[k-1:0]、クロック信号CLKおよび制御信号SRが入力される。k個の第1FF回路10は、入力されるkビットのデータ信号Din[k-1:0]をストアする。各第1FF回路10には、kビットのデータ信号Din[k-1:0]のうちの1ビットのデータ信号、クロック信号CLKおよび制御信号SRが入力される。各第1FF回路10は、kビットのデータ信号Din[k-1:0]のうちの1ビットのデータ信号をストアする。k個の第1FF回路10からは、kビットのデータ(データ信号Dout[k-1:0])がECCデコーダ40に出力される。各第1FF回路10からは、kビットのデータ信号Dout[k-1:0]のうちの1ビットのデータ信号が出力される。クロック信号CLKは、第1FF回路10の動作を制御するための信号である。制御信号SRは、データストアおよびデータリストアを制御するための信号である。第1FF回路10は、クロック信号CLKの立ち上がりのタイミングにおいてデータをサンプリングし、そのタイミング以外の期間においてデータを保持する。
 第1FF回路10は、例えば、図2に示したように、マスターラッチ回路10Mおよびスレーブラッチ回路10Sを有している。
 マスターラッチ回路10Mは、クロック信号CLKに基づいてデータを保持または透過する。マスターラッチ回路10Mは、クロック信号CLKおよびデータ信号に対して所定の論理演算を実行する。マスターラッチ回路10Mは、論理演算の実行結果に基づき、クロック信号CLKがハイレベルHiのとき、ラッチに取り込んだデータ信号を保持するとともに、出力信号QMとしてスレーブラッチ回路10Sに出力する。一方、マスターラッチ回路10Mは、クロック信号CLKがローレベルLoのとき、データ信号を透過して出力信号QMとしてスレーブラッチ回路10Sに出力する。
 スレーブラッチ回路10Sは、クロック信号CLKに基づいてデータを保持または透過するSRAM(Static Random Access Memory)回路を有している。SRAM回路は、正帰還により1ビット分のデータを記憶する。スレーブラッチ回路10Sは、クロック信号CLKおよび出力信号QMに対して所定の論理演算を実行する。スレーブラッチ回路10Sは、論理演算の実行結果に基づき、クロック信号CLKがハイレベルHiのとき、出力信号QMを透過した信号(出力信号QS1)および出力信号QMを反転させた信号(出力信号QS2)をECCデコーダ40に出力する。一方、スレーブラッチ回路10Sは、クロック信号CKがローレベルLoのとき、ラッチに取り込んだ出力信号QMを保持するとともに、出力信号QS1,QS2をECCデコーダ40に出力する。
 m個の第2FF回路20には、mビットのデータ信号Din[n-1:k]、クロック信号CLKおよび制御信号SRが入力される。mビットのデータ信号Din[n-1:k]は、kビットのデータD[k-1:0]に対するmビットの誤り訂正データ(mビットのECC パリティデータDp[m-1:0])である。m個の第2FF回路20は、入力されるmビットのデータ信号Din[n-1:k]をストアする。各第2FF回路20には、mビットのデータ信号Din[n-1:k]のうちの1ビットのデータ信号、クロック信号CLKおよび制御信号SRが入力される。各第2FF回路20は、mビットのデータ信号Din[n-1:k]のうちの1ビットのデータ信号をストアする。m個の第2FF回路20からは、mビットのデータ(データ信号Dout[n-1:k])がECCデコーダ40に出力される。各第2FF回路20からは、mビットのデータ信号Dout[n-1:k]のうちの1ビットのデータ信号が出力される。クロック信号CLKは、第2FF回路20の動作を制御するための信号である。第2FF回路20は、クロック信号CLKの立ち上がりのタイミングにおいてデータをサンプリングし、そのタイミング以外の期間においてデータを保持する。
 第2FF回路20は、例えば、図3に示したように、マスターラッチ回路20Mおよびスレーブラッチ回路20Sを有している。
 マスターラッチ回路20Mは、クロック信号CLKに基づいてデータを保持または透過する。マスターラッチ回路20Mは、クロック信号CLKおよびデータ信号に対して所定の論理演算を実行する。マスターラッチ回路20Mは、論理演算の実行結果に基づき、クロック信号CLKがハイレベルHiのとき、ラッチに取り込んだデータ信号を保持するとともに、出力信号QMとしてスレーブラッチ回路20Sに出力する。一方、マスターラッチ回路20Mは、クロック信号CLKがローレベルLoのとき、データ信号を透過して出力信号QMとしてスレーブラッチ回路20Sに出力する。
 スレーブラッチ回路20Sは、クロック信号CLKに基づいてデータを保持または透過するSRAM回路を有している。スレーブラッチ回路20Sは、クロック信号CLKおよび出力信号QMに対して所定の論理演算を実行する。スレーブラッチ回路10Sは、論理演算の実行結果に基づき、クロック信号CLKがハイレベルHiのとき、出力信号QMを反転させた信号(出力信号QS2)をECCデコーダ40に出力する。一方、スレーブラッチ回路20Sは、クロック信号CKがローレベルLoのとき、ラッチに取り込んだ出力信号QMを保持するとともに、出力信号QS2をECCデコーダ40に出力する。
 スレーブラッチ回路10S,20Sは、例えば、図2、図3に示したように、転送トランジスタTr1および記憶素子MC1を有している。記憶素子MC1は、出力信号QS2が出力される配線が接続されたノードN1に対して、転送トランジスタTr1を介して接続されている。ノードN1は、SRAM回路における前段部分に相当する。転送トランジスタTr1は、制御信号SRに基づいてオンオフするトランジスタである。記憶素子MC1は、ノードN1のデータを保持する(ストア)。記憶素子MC1に保持されたデータは、転送トランジスタTr1を介してノードN1に転送される(リストア)。スレーブラッチ回路10S,20Sは、さらに、例えば、図2,図3に示したように、転送トランジスタTr2および記憶素子MC2を有している。記憶素子MC2は、出力信号QS1が出力される配線が接続されたノードN2に対して、転送トランジスタTr2を介して接続されている。ノードN2は、SRAM回路における後段部分に相当する。転送トランジスタTr2は、制御信号SRに基づいてオンオフするトランジスタである。記憶素子MC2は、ノードN2のデータを保持する(ストア)。記憶素子MC2に保持されたデータは、転送トランジスタTr2を介してノードN2に転送される(リストア)。つまり、スレーブラッチ回路10S,20Sは、ノードN1,N2のデータをストアしたり、ストアしたデータをノードN1、N2にリストアしたりすることの可能な不揮発性スレーブラッチ回路である。
 記憶素子MC1,MC2は、不揮発性メモリであり、この例では、スピン注入により、フリー層の磁化の向きを変えることにより情報の記憶を行う、スピン注入磁化反転型(STT;Spin Transfer Torque)の磁気トンネル接合(MTJ;Magnetic Tunnel Junction)素子である。記憶素子MC1の一端は転送トランジスタTr1のソースに接続され、記憶素子MC1の他端は制御線CTRLに接続されている。記憶素子MC2の一端は転送トランジスタTr2のソースに接続され、記憶素子MC2の他端は制御線CTRLに接続されている。
 記憶素子MC1,MC2は、ピンド層と、トンネルバリア層と、フリー層とを有している。この例では、フリー層は、転送トランジスタTr1,Tr2に接続されている。ピンド層は、制御線CTRLに接続されている。すなわち、記憶素子MC1,MC2は、ピンド層、トンネルバリア層、およびフリー層がこの順に積層された、いわゆるトップピン構造を有している。
 ピンド層は、磁化の方向が、例えば膜面垂直方向に固定された強磁性体により構成されている。フリー層は、磁化の方向が、流入するスピン偏極電流に応じて、例えば膜面垂直方向において変化する強磁性体により構成されている。トンネルバリア層は、ピンド層とフリー層との間の磁気的結合を切るとともに、トンネル電流を流すように機能する。
 この構成により、記憶素子MC1,MC2では、例えば電流をフリー層からピンド層に流すと、ピンド層の磁化と同じ方向のモーメント(スピン)を有する偏極電子がピンド層からフリー層へ注入され、フリー層の磁化の方向がピンド層の磁化の方向と同じ方向(平行状態)になる。記憶素子MC1,MC2は、このような平行状態になった場合には、両端間の抵抗値が低くなる(低抵抗状態)。
 また、例えば電流をピンド層からフリー層に流すと、電子がフリー層からピンド層へ注入される。その際、注入された電子のうち、ピンド層の磁化と同じ方向のモーメントを有する偏極電子はピンド層を透過し、ピンド層の磁化と反対の方向のモーメントを有する偏極電子は、ピンド層で反射され、フリー層へ注入される。これにより、フリー層の磁化の方向は、ピンド層の磁化の方向と反対の方向(反平行状態)になる。記憶素子MC1,MC2は、このような反平行状態になった場合には、両端間の抵抗値が高くなる(高抵抗状態)。
 このように、記憶素子MC1,MC2では、電流を流す方向に応じて、フリー層の磁化の方向が変化することにより、抵抗状態が高抵抗状態と低抵抗状態との間で変化する。記憶素子MC1,MC2は、このようにして抵抗状態を設定することにより、情報を記憶することができる。
 スレーブラッチ10S,20Sでは、SRAM回路に加え、転送トランジスタTr1,Tr2および記憶素子MC1,MC2が設けられている。これにより、例えば電源トランジスタをオフ状態にすることによりスリープ動作を行う場合において、スリープ動作の直前にストア動作を行うことにより、揮発性メモリであるSRAM回路に記憶された情報を、不揮発性メモリである記憶素子MC1,MC2に記憶させることができる。そして、半導体回路1は、スリープ動作の直後にリストア動作を行うことにより、記憶素子MC1,MC2に記憶された情報を、SRAM回路に記憶させることができる。これにより、半導体回路1では、電源供給を再開した後に、短い時間で、半導体回路1の状態を、電源供給を停止する前の状態に戻すことができるようになっている。
 ECCデコーダ40には、k個の第1FF回路10およびm個の第2FF回路20から、n(=k+m)ビットのデータ(データ信号Dout[n-1:0])が入力される。ECCデコーダ40には、k個の第1FF回路10から、kビットのデータ(データ信号Dout[k-1:0])が入力され、m個の第2FF回路20から、mビットのデータ(データ信号Dout[n-1:k])が入力される。ECCデコーダ40は、入力されたnビットのデータ(データ信号Dout[n-1:0])を用いて復号を行う。ECCデコーダ40は、データ信号Dout[n-1:0]において、mビットのECC パリティデータ(データ信号Dout[n-1:k])を除いた部分のkビットのデータ(データ信号Dout[k-1:0])を、mビットのECC パリティデータ(データ信号Dout[n-1:k])を用いて復号する。ECCデコーダ40は、復号により得られたkビットのデータをkビットのデータD[k-1:0]として出力回路50に出力する。
 なお、復号による誤り訂正符号としては、例えば、ハミング符号、BCH符号、それらの拡大符号(拡張符号)や奇数重み列符号、Hsiao符号、RS符号などの種々の誤り訂正符号が適用され得る。以下の実施の形態においても同様である。
 出力回路50には、ECCデコーダ40からkビットのデータD[k-1:0]が入力される。出力回路50は、例えば、入力されたkビットのデータD[k-1:0]を反転させたデータを、出力データQ[k-1:0]として外部に出力する。
[動作]
 図4は、半導体回路1におけるストア動作のタイミングチャートの一例を表したものである。図5は、半導体回路1におけるリストア動作のタイミングチャートの一例を表したものである。図4には、半導体回路1に、kビットのデータD[k-1:0]を入力し、ECC符号化により得られたnビットのデータ(データ信号Dout[n-1:0])をnビットのFF回路(k個の第1FF回路10およびm個の第2FF回路20)にストアする例が示されている。図5には、リストア後にECC復号により誤り訂正する例が示されている。
 図4,図5において、N1[n-1:0]は、n個のスレーブラッチ回路(k個のスレーブラッチ回路10Sおよびm個のスレーブラッチ回路20S)のノードN1に入力される符号化データである。図4,図5において、N2[n-1:0]は、n個のスレーブラッチ回路(k個のスレーブラッチ回路10Sおよびm個のスレーブラッチ回路20S)のノードN2に入力されるデータであり、N1[n-1:0]を反転させたデータである。図4,図5において、Q[k-1:0]は、半導体回路1から出力されるkビットのデータである。図4,図5におけるサフィックスは、時系列を示す。
 外部から入力されるkビットのデータD[k-1:0]は、クロック信号CLKの立ち上がりで変化する。k個のマスターラッチ回路10Mは、kビットのデータD[k-1:0]を、クロック信号CLKを反転させた信号の立ち上がりでラッチする。k個のマスターラッチ回路10Mにラッチされたkビットのデータは、ECC符号化によりnビットのデータ(符号化データ)となる。n個のスレーブラッチ回路(k個のスレーブラッチ回路10Sおよびm個のスレーブラッチ回路20S)が、nビットの符号化データN1[n-1:0]を次のクロック信号CLKの立ち上がりでラッチする。n個のスレーブラッチ回路にラッチされたnビットの符号化データN1[n-1:0]は、ECC復号によりkビットのデータQ[k-1:0](復号データ)となる。kビットのデータQ[k-1:0](復号データ)が外部に出力される。
 ストア動作では、制御部からの制御信号SR,CTRLにより、記憶素子MC1,MC2の抵抗状態を変化させることにより、記憶素子MC1に符号化データが記憶され、記憶素子MC2に符号化データを反転させたデータ(反転データ)が記録され、電源オフ後も、記憶素子11,13にデータが保持される。リストア動作では、電源オン後、制御部からの制御信号SR,CTRLにより、記憶素子MC1,MC2の抵抗状態に応じてノードN1,N2の電圧が定まる。ノードN1には符号化データがリストアされ、ノードN2には反転データがリストアされる。記憶素子MC1,MC2の不良や記録状態により、ノードN1にリストアされたデータが、ストア時のデータとは異なるデータになっていることがある。この場合には、リストアされたnビットのデータに対してECC復号を行うことにより、誤りが正されたkビットのデータが得られる。図4,5では、ECC符号化およびECC復号は、1クロックサイクル内で完了することが仮定されている。
 図6は、図4に示したストア動作における1ビットについてのタイミングチャートの一例を表したものである。図7は、図5に示したリストア動作における1ビットについてのタイミングチャートの一例を表したものである。ストア動作では、ノードN1,N2の電圧により記憶素子MC1,MC2の抵抗状態を変化させることにより、記憶素子MC1,MC2へのデータストアが行われる。リストア動作では、記憶素子MC1,MC2の抵抗状態に応じてノードN1,N2の電圧が決まる。
[効果]
 次に、本実施の形態に係る半導体回路1の効果について説明する。
 本実施の形態では、kビットのデータと、kビットのデータに対するmビットの誤り訂正データとをストアするk個の第1FF回路10およびm個の第2FF回路20が設けられている。これにより、電源供給停止後、電源供給再開時に、電源供給停止前の動作状態に復帰することが可能である。また、電源供給停止の間(スリープ時)、保持されたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路1を提供することができる。
 本実施の形態では、k個のマスターラッチ回路10Mおよびk個のスレーブラッチ回路10Sによって構成された第1FF回路10と、m個のマスターラッチ回路20Mおよびm個のスレーブラッチ回路20Sによって構成された第2FF回路20が設けられている。k個のスレーブラッチ回路10Sがkビットのデータをストアし、m個のスレーブラッチ回路20Sがmビットの誤り訂正データをストアする。これにより、ストアされたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路1を提供することができる。
 本実施の形態では、mビットの誤り訂正データを生成するECCエンコーダ30が設けられており、m個のスレーブラッチ回路20Sには、ECCエンコーダ30で生成されたmビットの誤り訂正データがストアされる。これにより、ストアされたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路1を提供することができる。
 本実施の形態では、m個のスレーブラッチ回路20Sから出力されるmビットの誤り訂正データを用いて、k個のスレーブラッチ回路10Sから出力されるkビットのデータを復号するECCデコーダが設けられている。これにより、ストアされたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路1を提供することができる。
 本実施の形態では、各スレーブラッチ回路10S,20Sには、1ビットのデータを保持する不揮発性の記憶素子MC1,MC2が設けられている。これにより、記憶素子MC1,MC2に保持されたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路1を提供することができる。
<2.第2の実施の形態>
[構成]
 図8は、本開示の第2の実施の形態に係る半導体回路2の機能ブロックの一例を表したものである。半導体回路2は、情報を記憶する回路である。半導体回路2では、制御部によってデータの読み書きが制御される。制御部は、例えば、外部から供給された書き込みコマンドおよび書き込みデータに基づいて、半導体回路2に情報を書き込み、また、外部から供給された読み出しコマンドに基づいて、半導体回路2から情報を読み出す。制御部は、例えば、電源トランジスタをオンオフすることにより、半導体回路2に対する電源供給を制御する。半導体回路2を使用する場合には、制御部は、電源トランジスタをオン状態にして、電源電圧を半導体回路2に供給する。半導体回路2を使用しない場合には、制御部は、電源トランジスタをオフ状態にする。半導体回路2では、このようなパワーゲーティングにより、消費電力を低減することができる。
 半導体回路2は、例えば、図8に示したように、k個の第1FF回路10と、m個のスレーブラッチ回路20Sとを備えている。半導体回路2は、さらに、例えば、図8に示したように、ECCエンコーダ30と、ECCデコーダ40と、出力回路50とを備えている。つまり、半導体回路2は、半導体回路1において、m個のマスターラッチ回路20Mが省略された回路構成となっている。
 本実施の形態では、k個のマスターラッチ回路10Mと、k個のスレーブラッチ回路10Sとの間に、ECCエンコーダ30が設けられている。本実施の形態では、さらに、ECCエンコーダ30の出力端子が直接、m個のスレーブラッチ回路20Sの入力端子に接続されている。
 図9は、k=1,n=3のときの半導体回路2の回路構成の一例を表したものである。図9に記載の半導体回路2において、ECCエンコーダ30は、マスターラッチ回路10M(1)の出力端子と、3個のスレーブラッチ回路10S(1),20S(1),20S(2)の入力端子とを互いに接続する配線で構成されている。さらに、図9に記載の半導体回路2において、ECCデコーダ40は、3つの加算器と、1つのAND回路とを有している。1つ目の加算器は、スレーブラッチ回路10S(1),20S(1)の出力を加算することにより得られた第1信号をAND回路の一方の入力端子に入力する。2つ目の加算器は、スレーブラッチ回路10S(1),20S(2)の出力を加算することにより得られた第2信号をAND回路の他方の入力端子に入力する。AND回路は、第1信号および第2信号の論理積を生成する。3つ目の加算器は、AND回路で生成された論理積と、スレーブラッチ回路10S(1)の出力とを加算することにより得られた信号を出力回路50に出力する。図9に記載の半導体回路2では、3個のスレーブラッチ回路10S(1),20S(1),20S(2)にリストアされた3ビットのうち1ビットに誤りがあったとしても、誤りが訂正され、正しいデータが出力される。
 図10は、k=4,n=7のときの半導体回路2の回路構成の一例を表したものである。図10に記載の半導体回路2において、ECCエンコーダ30は、4個のマスターラッチ回路10M(10M(0),10M(1),10M(2),10M(3))の出力端子と、4個のスレーブラッチ回路10S(10S(0),10S(1),10S(2),10S(3))の入力端子とを互いに接続する配線を有している。ECCエンコーダ30は、さらに、3つの加算器を有している。1つ目の加算器は、3個のマスターラッチ回路10M(10M(0),10M(1),10M(2))の出力を加算することにより得られた信号をスレーブラッチ回路20S(0)に出力する。2つ目の加算器は、3個のマスターラッチ回路10M(10M(1),10M(2),10M(3))の出力を加算することにより得られた信号をスレーブラッチ回路20S(1)に出力する。3つ目の加算器は、3個のマスターラッチ回路10M(10M(0),10M(2),10M(3))の出力を加算することにより得られた信号をスレーブラッチ回路20S(2)に出力する。
 図10に記載の半導体回路2において、ECCデコーダ40は、7個の加算器と、3個のインバータ回路と、4個のAND回路とを含んで構成されている。1つ目の加算器は、スレーブラッチ回路10S(0),10S(1),10S(2),20S(0)の出力を加算することにより得られた第1信号を1つ目のインバータ回路ならびに2つ目、3つ目および4つ目のAND回路に入力する。2つ目の加算器は、スレーブラッチ回路10S(1),10S(2),10S(3),20S(1)の出力を加算することにより得られた第2信号を2つ目のインバータ回路ならびに1つ目、2つ目および3つ目のAND回路に入力する。3つ目の加算器は、スレーブラッチ回路10S(0),10S(2),10S(3),20S(2)の出力を加算することにより得られた第3信号を3つ目のインバータ回路ならびに1つ目、2つ目および4つ目のAND回路に入力する。
 1つ目のインバータ回路は、第1信号を反転させた信号(第1反転信号)を1つ目のAND回路に入力する。2つ目のインバータ回路は、第2信号を反転させた信号(第2反転信号)を4つ目のAND回路に入力する。3つ目のインバータ回路は、第3信号を反転させた信号(第3反転信号)を3つ目のAND回路に入力する。1つ目のAND回路は、第2信号、第3信号および第1反転信号の論理積を4つ目の加算器に入力する。2つ目のAND回路は、第1信号、第2信号および第3信号の論理積を5つ目の加算器に入力する。3つ目のAND回路は、第1信号、第2信号および第3反転信号の論理積を6つ目の加算器に入力する。4つ目のAND回路は、第1信号、第2反転信号および第3信号の論理積を7つ目の加算器に入力する。
 4つ目の加算器は、スレーブラッチ回路10S(3)の出力と、1つ目のAND回路の出力とを加算することにより得られる信号を出力回路50に出力する。5つ目の加算器は、スレーブラッチ回路10S(2)の出力と、2つ目のAND回路の出力とを加算することにより得られる信号を出力回路50に出力する。6つ目の加算器は、スレーブラッチ回路10S(1)の出力と、3つ目のAND回路の出力とを加算することにより得られる信号を出力回路50に出力する。7つ目の加算器は、スレーブラッチ回路10S(0)の出力と、4つ目のAND回路の出力とを加算することにより得られる信号を出力回路50に出力する。出力回路50は、ECCデコーダ40から入力された信号を反転させた信号を出力信号Qとして外部に出力する
[効果]
 本実施の形態では、kビットのデータと、kビットのデータに対するmビットの誤り訂正データとをラッチするk個の第1FF回路10およびm個のスレーブラッチ回路20Sが設けられている。これにより、電源供給停止後、電源供給再開時に、電源供給停止前の動作状態に復帰することが可能である。また、電源供給停止の間(スリープ時)、保持されたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路2を提供することができる。
 本実施の形態では、k個のマスターラッチ回路10Mおよびk個のスレーブラッチ回路10Sによって構成された第1FF回路10と、m個のスレーブラッチ回路20Sが設けられている。k個のスレーブラッチ回路20Sがkビットのデータをストアし、m個のスレーブラッチ回路20Sがmビットの誤り訂正データをストアする。これにより、ストアされたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路2を提供することができる。
 本実施の形態では、mビットの誤り訂正データを生成するECCエンコーダ30が設けられており、m個のスレーブラッチ回路20Sには、ECCエンコーダ30で生成されたmビットの誤り訂正データがストアされる。これにより、ストアされたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路2を提供することができる。
 本実施の形態では、m個のスレーブラッチ回路20Sから出力されるmビットの誤り訂正データを用いて、k個のスレーブラッチ回路10Sから出力されるkビットのデータを復号するECCデコーダ40が設けられている。これにより、ストアされたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路2を提供することができる。
 本実施の形態では、各スレーブラッチ回路10S,20Sには、1ビットのデータを保持する不揮発性の記憶素子MC1,MC2が設けられている。これにより、記憶素子MC1,MC2に保持されたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路2を提供することができる。
<3.第3の実施の形態>
[構成]
 図11は、本開示の第3の実施の形態に係る半導体回路3の機能ブロックの一例を表したものである。半導体回路3は、情報を記憶する回路である。半導体回路3では、制御部によってデータの読み書きが制御される。制御部は、例えば、外部から供給された書き込みコマンドおよび書き込みデータに基づいて、半導体回路3に情報を書き込み、また、外部から供給された読み出しコマンドに基づいて、半導体回路3から情報を読み出す。制御部は、例えば、電源トランジスタをオンオフすることにより、半導体回路3に対する電源供給を制御する。半導体回路3を使用する場合には、電源トランジスタをオン状態にして、電源電圧を半導体回路3に供給する。半導体回路3を使用しない場合には、制御部は、電源トランジスタをオフ状態にする。半導体回路3では、このようなパワーゲーティングにより、消費電力を低減することができる。
 半導体回路3は、例えば、図11に示したように、k個のFF回路60(60(0),60(1),…,60(k-1))と、m個のスレーブラッチ回路70S(70S(0),70S(1),…,70S(m-1))とを備えている。半導体回路3は、さらに、例えば、図11に示したように、ECCエンコーダ80と、ECCデコーダ90と、出力回路50とを備えている。
 k個のFF回路60には、kビットのデータ信号Din[k-1:0]、クロック信号CLKおよび制御信号SRが入力される。各FF回路60には、kビットのデータ信号Din[k-1:0]のうちの1ビットのデータ信号、クロック信号CLKおよび制御信号SRが入力される。k個のFF回路60からは、kビットのデータ(データ信号Dout[k-1:0])がECCデコーダ90および出力回路50に出力される。各FF回路60からは、kビットのデータ信号Dout[k-1:0]のうちの1ビットのデータ信号が出力される。クロック信号CLKは、FF回路60の動作を制御するための信号である。制御信号SRは、データストアおよびデータリストアを制御するための信号である。FF回路60は、クロック信号CLKの立ち上がりのタイミングにおいてデータをサンプリングし、そのタイミング以外の期間においてデータを保持する。
 FF回路60は、例えば、図12に示したように、マスターラッチ回路60Mおよびスレーブラッチ回路60Sを有している。
 マスターラッチ回路60Mは、クロック信号CLKに基づいてデータを保持または透過する。マスターラッチ回路60Mは、クロック信号CLKおよびデータ信号に対して所定の論理演算を実行する。マスターラッチ回路60Mは、論理演算の実行結果に基づき、クロック信号CLKがハイレベルHiのとき、ラッチに取り込んだデータ信号を保持するとともに、出力信号QMとしてスレーブラッチ回路10SおよびECCエンコーダ80に出力する。一方、マスターラッチ回路60Mは、クロック信号CLKがローレベルLoのとき、データ信号を透過して出力信号QMとしてスレーブラッチ回路60SおよびECCエンコーダ80に出力する。
 スレーブラッチ回路60Sは、クロック信号CLKに基づいてデータを保持または透過するSRAM回路を有している。スレーブラッチ回路60Sは、クロック信号CLKおよび出力信号QMに対して所定の論理演算を実行する。スレーブラッチ回路60Sは、論理演算の実行結果に基づき、クロック信号CLKがハイレベルHiのとき、出力信号QMを反転させた信号(出力信号QS2)をECCデコーダ40および出力回路50に出力する。一方、スレーブラッチ回路60Sは、クロック信号CKがローレベルLoのとき、ラッチに取り込んだ出力信号QMを保持するとともに、出力信号QS2をECCデコーダ40および出力回路50に出力する。
 ECCエンコーダ80には、kビットの出力信号QM(データD[k-1:0])が入力される。ECCエンコーダ80は、入力された出力信号QM(データD[k-1:0])を符号化する。ECCエンコーダ80は、出力信号QM(データD[k-1:0])に基づいて、mビットのECC パリティデータを生成する。ECCエンコーダ80は、生成したmビットのECCパリティデータDp[m-1:0]をm個のスレーブラッチ回路70Sに出力する。
 m個のスレーブラッチ回路70Sには、例えば、図11、図13に示したように、mビットのECCパリティデータDp[m-1:0]、クロック信号CLKおよび制御信号SRが入力される。各スレーブラッチ回路70Sには、mビットのECCパリティデータDp[m-1:0]のうちの1ビットのデータ信号、クロック信号CLKおよび制御信号SRが入力される。m個のスレーブラッチ回路70Sからは、mビットのECCパリティデータDp[m-1:0]がデータ信号Dout[n-1:k]としてECCデコーダ90に出力される。各スレーブラッチ回路70Sからは、mビットのデータ信号Dout[n-1:k]のうちの1ビットのデータ信号が出力される。クロック信号CLKは、スレーブラッチ回路70Sの動作を制御するための信号である。スレーブラッチ回路70Sは、クロック信号CLKの立ち上がりのタイミングにおいてデータをサンプリングし、そのタイミング以外の期間においてデータを保持する。
 スレーブラッチ回路60S,70Sは、例えば、図12、図13に示したように、転送トランジスタTr1および記憶素子MC1を有している。記憶素子MC1は、ノードN1に対して、転送トランジスタTr1を介して接続されている。転送トランジスタTr1は、制御信号SRに基づいてオンオフするトランジスタである。スレーブラッチ回路60S,70Sは、さらに、例えば、図12,図13に示したように、転送トランジスタTr2および記憶素子MC2を有している。記憶素子MC2は、ノードN2に対して、転送トランジスタTr2を介して接続されている。転送トランジスタTr2は、制御信号SRに基づいてオンオフするトランジスタである。
 このように、スレーブラッチ60S,70Sでは、SRAM回路に加え、転送トランジスタTr1,Tr2および記憶素子MC1,MC2が設けられている。これにより、例えば電源トランジスタをオフ状態にすることによりスリープ動作を行う場合において、スリープ動作の直前にストア動作を行うことにより、揮発性メモリであるSRAM回路に記憶された情報を、不揮発性メモリである記憶素子MC1,MC2に記憶させることができる。そして、半導体回路3は、スリープ動作の直後にリストア動作を行うことにより、記憶素子MC1,MC2に記憶された情報を、SRAM回路に記憶させることができる。これにより、半導体回路3では、電源供給を再開した後に、短い時間で、半導体回路3の状態を、電源供給を停止する前の状態に戻すことができるようになっている。
 ECCデコーダ90には、k個のFF回路60(スレーブラッチ回路60S)およびm個のスレーブラッチ回路70Sから、n(=k+m)ビットのデータ(kビットのデータ信号Dout[k-1:0]、mビットのデータ信号Dout[n-1:k])が入力される。ECCデコーダ90には、k個のFF回路60(スレーブラッチ回路60S)から、kビットのデータ(データ信号Dout[k-1:0])が入力され、m個のスレーブラッチ回路70Sから、mビットのデータ(データ信号Dout[n-1:k])が入力される。ECCデコーダ90は、入力されたnビットのデータ(データ信号Dout[n-1:0])を用いて復号を行う。ECCデコーダ90は、データ信号Dout[n-1:0]において、mビットのECC パリティデータ(データ信号Dout[n-1:k])を除いた部分のkビットのデータ(データ信号Dout[k-1:0])を、mビットのECC パリティデータ(データ信号Dout[n-1:k])を用いて復号する。ECCデコーダ90は、復号により得られたkビットのデータをkビットの出力データDout[k-1:0]としてk個のマスターラッチ回路60に出力する。
 出力回路50には、k個のスレーブラッチ60Sからkビットの出力データDout[k-1:0]が入力される。出力回路50は、例えば、入力されたkビットの出力データDout[k-1:0]を反転させたデータを、出力データQ[k-1:0]として外部に出力する。
 本実施の形態では、マスターラッチ回路60Mは、例えば、図12に示したように、選択素子SWを更に有している。選択素子SWは、制御部により制御に従って、出力信号QMを反転させた信号、およびECCデコーダ90から入力された信号のいずれかを選択する。選択素子SWによって選択された信号が、マスターラッチ回路60Mにおいて保持される。
[動作]
 図14は、半導体回路3におけるリストア動作のタイミングチャートの一例を表したものである。図14には、kビットのデータD[k-1:0]を入力し、ECC符号化により得られたnビットのデータをnビットのスレーブラッチ回路(記憶素子MC1,MC2)にストアし、リストア後にECC復号により誤り訂正する例が示されている。図14において、N1は、n個のスレーブラッチ回路(k個のスレーブラッチ回路60Sおよびm個のスレーブラッチ回路70S)のノードN1に入力される符号化データである。図14において、N2は、n個のスレーブラッチ回路(k個のスレーブラッチ回路60Sおよびm個のスレーブラッチ回路70S)のノードN2に入力されるデータであり、N1を反転させたデータである。図14において、Qは、半導体回路3から出力されるkビットのデータである。図14におけるサフィックスは、時系列を示す。なお、半導体回路3におけるストア動作については、第1の実施の形態に係る半導体回路1におけるストア動作(図4参照)と同様である。
 リストア動作では、電源オン後、制御部からの制御信号SR,CTRLにより、記憶素子MC1,MC2の抵抗状態に応じてノードN1,N2の電圧が定まる。ノードN1には符号化データがリストアされ、ノードN2には反転データがリストアされる。記憶素子MC1,MC2の不良や記録状態により、ノードN1にリストアされたデータが、ストア時のデータとは異なるデータになっていることがある。この場合には、リストアされたnビットのデータに対してECC復号を行うことにより、誤りが正されたkビットのデータが得られる。
[効果]
 本実施の形態では、kビットのデータと、kビットのデータに対するmビットの誤り訂正データとをラッチするk個のFF回路60およびm個のスレーブラッチ回路70Sが設けられている。これにより、電源供給停止後、電源供給再開時に、電源供給停止前の動作状態に復帰することが可能である。また、電源供給停止の間(スリープ時)、保持されたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路3を提供することができる。
 本実施の形態では、k個のマスターラッチ回路60Mおよびk個のスレーブラッチ回路60Sによって構成されたFF回路60と、m個のスレーブラッチ回路70Sが設けられている。k個のスレーブラッチ回路60Sがkビットのデータをストアし、m個のスレーブラッチ回路70Sがmビットの誤り訂正データをストアする。これにより、ラッチされたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路3を提供することができる。
 本実施の形態では、k個のマスターラッチ回路60に対して、k個のスレーブラッチ回路60Sとともに並列に接続され、mビットの誤り訂正データを生成するECCエンコーダ80が設けられており、m個のスレーブラッチ回路70には、ECCエンコーダ80で生成されたmビットの誤り訂正データがストアされる。これにより、ストアされたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路3を提供することができる。
 本実施の形態では、m個のスレーブラッチ回路70Sから出力されるmビットの誤り訂正データを用いて、k個のスレーブラッチ回路60Sから出力されるkビットのデータを復号するECCデコーダ90が設けられている。これにより、ストアされたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路3を提供することができる。
 本実施の形態では、各スレーブラッチ回路60S,70Sには、1ビットのデータを保持する不揮発性の記憶素子MC1,MC2が設けられている。これにより、記憶素子MC1,MC2に保持されたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路3を提供することができる。
 本実施の形態では、k個のマスターラッチ回路60において、ECCデコーダ90による復号により生成されたkビットの復号データ、およびk個のマスターラッチ回路60から出力されるkビットのデータのいずれかを当該k個のマスターラッチ回路60にフィードバックするセレクタSWが設けられている。これにより、記憶素子MC1,MC2に保持されたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路3を提供することができる。
<4.第4の実施の形態>
[構成]
 図15は、本開示の第4の実施の形態に係る半導体回路4の機能ブロックの一例を表したものである。半導体回路4は、情報を記憶する回路である。半導体回路4では、制御部によってデータの読み書きが制御される。制御部は、例えば、外部から供給された書き込みコマンドおよび書き込みデータに基づいて、半導体回路4に情報を書き込み、また、外部から供給された読み出しコマンドに基づいて、半導体回路4から情報を読み出す。制御部は、例えば、電源トランジスタをオンオフすることにより、半導体回路4に対する電源供給を制御する。半導体回路4を使用する場合には、制御部は、電源トランジスタをオン状態にして、電源電圧を半導体回路4に供給する。半導体回路4を使用しない場合には、制御部は、電源トランジスタをオフ状態にする。半導体回路4では、このようなパワーゲーティングにより、消費電力を低減することができる。
 半導体回路4は、例えば、図15に示したように、k個のFF回路110(110(0),110(1),…,110(k-1))と、m個のスレーブラッチ回路70S(70S(0),70S(1),…,70S(m-1))とを備えている。半導体回路4は、さらに、例えば、図15に示したように、セレクタ120,130と、ECCエンコーダ80と、ECCデコーダ90と、出力回路50とを備えている。
 k個のFF回路110には、kビットのデータ信号Din[k-1:0]、クロック信号CLKおよび制御信号SRが入力される。各FF回路110には、kビットのデータ信号Din[k-1:0]のうちの1ビットのデータ信号、クロック信号CLKおよび制御信号SRが入力される。k個のFF回路110からは、kビットのデータ(データ信号Dout[k-1:0])がECCデコーダ90および出力回路50に出力される。各FF回路110からは、kビットのデータ信号Dout[k-1:0]のうちの1ビットのデータ信号が出力される。クロック信号CLKは、FF回路110の動作を制御するための信号である。制御信号SRは、データストアおよびデータリストアを制御するための信号である。FF回路110は、クロック信号CLKの立ち上がりのタイミングにおいてデータをサンプリングし、そのタイミング以外の期間においてデータを保持する。
 FF回路110は、例えば、図15に示したように、マスターラッチ回路10Mおよびスレーブラッチ回路60Sを有している。本実施の形態では、マスターラッチ回路10Mは、出力信号QMを、セレクタ120を介してスレーブラッチ回路60Sに出力するとともに、ECCエンコーダ80に出力する。本実施の形態では、スレーブラッチ回路60Sは、出力信号QMを反転させた信号(出力信号QS2)をECCデコーダ90および出力回路50に出力する。
 ECCエンコーダ80は、生成したmビットのECCパリティデータDp[m-1:0]をセレクタ130に出力する。ECCデコーダ90は、復号により得られたkビットのデータをkビットの出力データDout[k-1:0]としてセレクタ120に出力する。ECCデコーダ90は、さらに、復号に用いたmビットのECCパリティデータDp[m-1:0]をセレクタ130に出力する。
 セレクタ120は、制御部による制御に従って、マスターラッチ回路10Mから入力された出力信号QM(データ[k-1:0])およびECCデコーダ90から入力された出力データDout[k-1:0]のうちいずれか一方を選択する。セレクタ120は、選択したデータをk個のスレーブラッチ回路60Sに出力する。セレクタ130は、制御部による制御に従って、ECCエンコーダ80から入力されたECCパリティデータDp[m-1:0]およびECCデコーダ90から入力されたECCパリティデータDp[m-1:0]のうちいずれか一方を選択する。セレクタ130は、選択したデータをm個のスレーブラッチ回路70Sに出力する。
[動作]
 次に、半導体回路4における動作について説明する。なお、半導体回路4におけるストア動作およびリストア動作については、半導体回路3と同様である。
 図16は、半導体回路4における基本的な動作手順の一例を表したものである。半導体回路4は、パワーゲーティング動作において、FF動作(ステップS101)から、ストア動作(ステップS102)、スリープ動作(ステップS103)、リストア動作(ステップS104)と移行し、再びFF動作(ステップS105)に復帰する。
(ストア動作)
 半導体回路4は、まず、ECCエンコーダ80を用いて、kビットの出力信号QM(データD[k-1:0])をエンコードする(ステップS201)。半導体回路4は、エンコードにより生成されたmビットのECC パリティデータDp[m-1:0]をm個のスレーブラッチ回路70Sにストアする(ステップS202)。半導体回路4は、kビットの出力信号QM(データD[k-1:0])をk個のスレーブラッチ回路60Sにストアする(ステップS202)。半導体回路4は、ストアしたデータをリストアして、ECCチェックを行う(ステップS203,S204)。その結果、リストアしたデータにエラーがない場合(ステップS205;N)には、半導体回路4は、ストア動作が正常に行われたと判断して、ストア動作を終了する。リストアしたデータにエラーがある場合(ステップS205;Y)には、半導体回路4は、リストアしたデータを、ECCデコーダ90を用いてデコードする(ステップS206)。半導体回路4は、デコードにより得られたkビットのデータを、セレクタ120を介してk個のスレーブラッチ回路60Sにストアする(ステップS207)。半導体回路4は、mビットのECC パリティデータDp[m-1:0]を、セレクタ130を介してm個のスレーブラッチ回路70Sにストアする(ステップS207)。このようにして、半導体回路4は、ストア動作を実行する。その後、制御部からの制御によって、電源トランジスタがオフ状態となり、電源電圧の半導体回路4への供給が停止し、スリープ動作への移行がなされる。
(スリープ動作)
 半導体回路4は、スリープ動作中に、ストアしたデータの確認を行う。制御部からの制御によって、電源トランジスタがオン状態となり、電源電圧の半導体回路4への供給が再開される。すると、半導体回路4は、まず、ストアしたデータをリストアして、ECCチェックを行う(ステップS301,S302)。その結果、リストアしたデータにエラーがない場合(ステップS303;N)には、半導体回路4は、ストア動作が正常に行われたと判断して、ストアしたデータの確認のための動作を終了する。その後、制御部からの制御によって、電源トランジスタがオフ状態となり、電源電圧の半導体回路4への供給が停止し、スリープ動作への移行がなされる。
 一方、リストアしたデータにエラーがある場合(ステップS303;Y)には、半導体回路4は、リストアしたデータを、ECCデコーダ90を用いてデコードする(ステップS304)。半導体回路4は、デコードにより得られたkビットのデータを、セレクタ120を介してk個のスレーブラッチ回路60Sにストアする(ステップS305)。半導体回路4は、mビットのECC パリティデータDp[m-1:0]を、セレクタ130を介してm個のスレーブラッチ回路70Sにストアする(ステップS305)。このようにして、半導体回路4は、ストアしたデータの確認のための動作を実行する。その後、制御部からの制御によって、電源トランジスタがオフ状態となり、電源電圧の半導体回路4への供給が停止し、再度、スリープ動作への移行がなされる。
(リストア動作)
 半導体回路4は、スリープ状態から、FF動作へ復帰する。具体的には、まず、制御部からの制御によって、電源トランジスタがオン状態となり、電源電圧の半導体回路4への供給が再開される。すると、半導体回路4は、ストアしたデータをリストアして、ECCチェックを行う(ステップS401,S402)。その結果、リストアしたデータにエラーがない場合(ステップS403;N)には、半導体回路4は、リストア動作が正常に行われたと判断して、FF動作を再開する。一方、リストアしたデータにエラーがある場合(ステップS403;Y)には、半導体回路4は、リストアしたデータを、ECCデコーダ90を用いてデコードする(ステップS404)。半導体回路4は、デコードにより得られたデータを出力する。
 図17は、半導体回路4における基本的な動作手順の他の例を表したものである。半導体回路4は、パワーゲーティング動作において、ストアしたデータに変更がない場合には、ストア動作(ステップS102)の代わりに、スリープ前点検動作(ステップS106)を行うようにしてもよい。
(スリープ前点検動作)
 半導体回路4は、まず、ECCエンコーダ80を用いて、kビットの出力信号QM(データD[k-1:0])をエンコードする(ステップS601)。半導体回路4は、エンコードにより生成されたmビットのECC パリティデータDp[m-1:0]と、kビットの出力信号QM(データD[k-1:0])からなるnビットのデータに対して、ECCチェックを行う(ステップS602)。その結果、取得したkビットのデータD[k-1:0]にエラーがない場合(ステップS603;N)には、半導体回路4は、スリープ動作へ移行する。
 一方、取得したkビットのデータD[k-1:0]にエラーがある場合(ステップS603;Y)には、ストアし直し(書き直し)を行う設定がなされているか否か確認する。その結果、ストアし直し(書き直し)を行う設定がオフの場合(ステップS604;N)には、半導体回路4は、スリープ動作へ移行する。一方、ストアし直し(書き直し)を行う設定がオンの場合(ステップS604;Y)には、半導体回路4は、デコードにより得られたkビットのデータを、セレクタ120を介してk個のスレーブラッチ回路60Sにストアする(ステップS605)。半導体回路4は、mビットのECC パリティデータDp[m-1:0]を、セレクタ130を介してm個のスレーブラッチ回路70Sにストアする(ステップS605)。このようにして、半導体回路4は、スリープ前点検動作を実行する。
[効果]
 本実施の形態では、kビットのデータと、kビットのデータに対するmビットの誤り訂正データとをラッチするk個のFF回路110およびm個のスレーブラッチ回路70Sが設けられている。これにより、電源供給停止後、電源供給再開時に、電源供給停止前の動作状態に復帰することが可能である。また、電源供給停止の間(スリープ時)、保持されたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路4を提供することができる。
 本実施の形態では、k個のマスターラッチ回路10Mおよびk個のスレーブラッチ回路60Sによって構成されたFF回路110と、m個のスレーブラッチ回路70Sが設けられている。k個のスレーブラッチ回路60Sがkビットのデータをストアし、m個のスレーブラッチ回路70Sがmビットの誤り訂正データをストアする。これにより、ストアされたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路4を提供することができる。
 本実施の形態では、k個のマスターラッチ回路10に対して、k個のスレーブラッチ回路60Sとともに並列に接続され、mビットの誤り訂正データを生成するECCエンコーダ80が設けられており、m個のスレーブラッチ回路70には、ECCエンコーダ80で生成されたmビットの誤り訂正データがストアされる。これにより、ストアされたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路4を提供することができる。
 本実施の形態では、m個のスレーブラッチ回路70Sから出力されるmビットの誤り訂正データを用いて、k個のスレーブラッチ回路60Sから出力されるkビットのデータを復号するECCデコーダ90が設けられている。これにより、ストアされたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路4を提供することができる。
 本実施の形態では、各スレーブラッチ回路60S,70Sには、1ビットのデータを保持する不揮発性の記憶素子MC1,MC2が設けられている。これにより、記憶素子MC1,MC2に保持されたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路4を提供することができる。
 本実施の形態では、ECCデコーダ90による復号により生成されたkビットの復号データ、およびk個のマスターラッチ回路10から出力されるkビットのデータのいずれかをk個のスレーブラッチ回路60Sに入力するセレクタ120が設けられている。これにより、記憶素子MC1,MC2に保持されたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路4を提供することができる。
 本実施の形態では、FF動作から、ストア動作、スリープ動作およびリストア動作を経てFF動作に復帰する際に、ストア動作、スリープ動作およびリストア動作のいずれか1つの動作において、k個のスレーブラッチ回路60Sの不揮発性の記憶素子MC1,MC2から読み出したkビットのデータと、m個のスレーブラッチ回路70Sに設けられた不揮発性の記憶素子MC1,MC2から読み出したmビットの誤り訂正データを用いてECCチェックが行われる。これにより、記憶素子MC1,MC2に保持されたデータが何らかの原因で誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路4を提供することができる。
 以上、実施の形態およびその変形例を挙げて本技術を説明したが、本開示は上記実施の形態等に限定されるものではなく、種々変形が可能である。なお、本明細書中に記載された効果は、あくまで例示である。本開示の効果は、本明細書中に記載された効果に限定されるものではない。本開示が、本明細書中に記載された効果以外の効果を持っていてもよい。
 また、例えば、本開示は以下のような構成を取ることができる。
(1)
 kビットのデータと、前記kビットのデータに対するmビットの誤り訂正データとをストアする不揮発性ラッチ回路を備えた
 半導体回路。
(2)
 前記不揮発性ラッチ回路は、k個のマスターラッチ回路と、k個の第1の不揮発性スレーブラッチ回路と、m個の第2の不揮発性スレーブラッチ回路とを含んで構成され、
 前記k個のマスターラッチ回路および前記k個の第1の不揮発性スレーブラッチ回路によってk個のフリップフロップ回路が構成され、
 前記k個の第1の不揮発性スレーブラッチ回路が前記kビットのデータをストアし、
 前記m個の第2の不揮発性スレーブラッチ回路が前記mビットの誤り訂正データをストアする
 (1)に記載の半導体回路。
(3)
 前記k個のマスターラッチ回路と前記k個の第1の不揮発性スレーブラッチ回路との間に、前記mビットの誤り訂正データを生成するECCエンコーダを更に備え、
 前記m個の第2の不揮発性スレーブラッチ回路は、前記ECCエンコーダで生成された前記mビットの誤り訂正データをラッチする
 (2)に記載の半導体回路。
(4)
 前記m個の第2の不揮発性スレーブラッチ回路から出力される前記mビットの誤り訂正データを用いて、前記k個の第1の不揮発性スレーブラッチ回路から出力される前記kビットのデータを復号するECCデコーダを更に備えた
 (3)に記載の半導体回路。
(5)
 前記不揮発性ラッチ回路は、k個の第1のマスターラッチ回路と、k個の第1の不揮発性スレーブラッチ回路と、m個の第2のマスターラッチ回路と、m個の第2の不揮発性スレーブラッチ回路とを含んで構成され、
 前記k個の第1のマスターラッチ回路および前記k個の第1の不揮発性スレーブラッチ回路によってk個の第1のフリップフロップ回路が構成され、
 前記m個の第2のマスターラッチ回路および前記m個の第2の不揮発性スレーブラッチ回路によってm個の第2のフリップフロップ回路が構成され、
 前記k個の第1の不揮発性スレーブラッチ回路が前記kビットのデータをストアし、
 前記m個の第2の不揮発性スレーブラッチ回路が前記mビットの誤り訂正データをストアする
 (1)に記載の半導体回路。
(6)
 前記mビットの誤り訂正データを生成するECCエンコーダを更に備え、
 前記m個の第2の不揮発性スレーブラッチ回路は、前記ECCエンコーダで生成された前記mビットの誤り訂正データをストアする
 (5)に記載の半導体回路。
(7)
 前記m個の第2の不揮発性スレーブラッチ回路から出力される前記mビットの誤り訂正データを用いて、前記k個の第1の不揮発性スレーブラッチ回路から出力される前記kビットのデータを復号するECCデコーダを更に備えた
 (6)に記載の半導体回路。
(8)
 前記k個のマスターラッチ回路に対して、前記k個の第1の不揮発性スレーブラッチ回路とともに並列に接続され、前記mビットの誤り訂正データを生成するECCエンコーダを更に備え、
 前記m個の第2の不揮発性スレーブラッチ回路は、前記ECCエンコーダで生成された前記mビットの誤り訂正データをストアする
 (2)に記載の半導体回路。
(9)
 前記m個の第2の不揮発性スレーブラッチ回路から出力される前記mビットの誤り訂正データを用いて、前記k個の第1の不揮発性スレーブラッチ回路から出力される前記kビットのデータを復号するECCデコーダを更に備えた
 (8)に記載の半導体回路。
(10)
 前記k個のマスターラッチ回路は、前記ECCデコーダによる復号により生成されたkビットの復号データ、および前記kビットのデータのいずれかを当該k個のマスターラッチ回路にフィードバックするセレクタを有する
 (9)に記載の半導体回路。
(11)
 前記ECCデコーダによる復号により生成されたkビットの復号データ、および前記k個のマスターラッチ回路から出力された前記kビットのデータのいずれかを前記k個の第1の不揮発性スレーブラッチ回路に入力するセレクタを有する
 (9)に記載の半導体回路。
(12)
 各前記第1の不揮発性スレーブラッチ回路および各前記第2の不揮発性スレーブラッチ回路は、1ビットのデータを保持する不揮発性メモリを有する
 (2)~(4)に記載の半導体回路。
(13)
 各前記第1の不揮発性スレーブラッチ回路および各前記第2の不揮発性スレーブラッチ回路は、1ビットのデータを保持する不揮発性メモリを有する
 (5)~(7)に記載の半導体回路。
(14)
 各前記第1の不揮発性スレーブラッチ回路および各前記第2の不揮発性スレーブラッチ回路は、1ビットのデータを保持する不揮発性メモリを有する
 (8)~(10)に記載の半導体回路。
(15)
 前記ECCデコーダは、FF動作から、ストア動作、スリープ動作およびリストア動作を経てFF動作に復帰する際に、前記ストア動作、前記スリープ動作および前記リストア動作のいずれか1つの動作において、前記k個の第1の不揮発性スレーブラッチ回路の前記不揮発性メモリから読み出した前記kビットのデータと、前記m個の第2の不揮発性スレーブラッチ回路に設けられた前記不揮発性メモリから読み出した前記mビットの誤り訂正データを用いてECCチェックを行う
 (8)~(10)に記載の半導体回路。
 本開示の一実施形態に係る半導体回路によれば、kビットのデータと、kビットのデータに対するmビットの誤り訂正データとをストアする不揮発性ラッチ回路を設けるようにしたので、スリープ時に保持されたデータが何らかの原因で反転して誤ったデータになってしまった場合であっても、誤り訂正により正しいデータで、電源供給停止前の動作状態に復帰することが可能である。従って、エラー耐性の高い半導体回路を提供することができる。
 本出願は、日本国特許庁において2020年11月17日に出願された日本特許出願番号第2020-191177号を基礎として優先権を主張するものであり、この出願のすべての内容を参照によって本出願に援用する。
 当業者であれば、設計上の要件や他の要因に応じて、種々の修正、コンビネーション、サブコンビネーション、および変更を想到し得るが、それらは添付の請求の範囲やその均等物の範囲に含まれるものであることが理解される。

Claims (15)

  1.  kビットのデータと、前記kビットのデータに対するmビットの誤り訂正データとをストアする不揮発性ラッチ回路を備えた
     半導体回路。
  2.  前記不揮発性ラッチ回路は、k個のマスターラッチ回路と、k個の第1の不揮発性スレーブラッチ回路と、m個の第2の不揮発性スレーブラッチ回路とを含んで構成され、
     前記k個のマスターラッチ回路および前記k個の第1の不揮発性スレーブラッチ回路によってk個のフリップフロップ回路が構成され、
     前記k個の第1の不揮発性スレーブラッチ回路が前記kビットのデータをストアし、
     前記m個の第2の不揮発性スレーブラッチ回路が前記mビットの誤り訂正データをストアする
     請求項1に記載の半導体回路。
  3.  前記k個のマスターラッチ回路と前記k個の第1の不揮発性スレーブラッチ回路との間に、前記mビットの誤り訂正データを生成するECCエンコーダを更に備え、
     前記m個の第2の不揮発性スレーブラッチ回路は、前記ECCエンコーダで生成された前記mビットの誤り訂正データをストアする
     請求項2に記載の半導体回路。
  4.  前記m個の第2の不揮発性スレーブラッチ回路から出力される前記mビットの誤り訂正データを用いて、前記k個の第1の不揮発性スレーブラッチ回路から出力される前記kビットのデータを復号するECCデコーダを更に備えた
     請求項3に記載の半導体回路。
  5.  前記不揮発性ラッチ回路は、k個の第1のマスターラッチ回路と、k個の第1の不揮発性スレーブラッチ回路と、m個の第2のマスターラッチ回路と、m個の第2の不揮発性スレーブラッチ回路とを含んで構成され、
     前記k個の第1のマスターラッチ回路および前記k個の第1の不揮発性スレーブラッチ回路によってk個の第1のフリップフロップ回路が構成され、
     前記m個の第2のマスターラッチ回路および前記m個の第2の不揮発性スレーブラッチ回路によってm個の第2のフリップフロップ回路が構成され、
     前記k個の第1の不揮発性スレーブラッチ回路が前記kビットのデータをストアし、
     前記m個の第2の不揮発性スレーブラッチ回路が前記mビットの誤り訂正データをストアする
     請求項1に記載の半導体回路。
  6.  前記mビットの誤り訂正データを生成するECCエンコーダを更に備え、
     前記m個の第2の不揮発性スレーブラッチ回路は、前記ECCエンコーダで生成された前記mビットの誤り訂正データをストアする
     請求項5に記載の半導体回路。
  7.  前記m個の第2の不揮発性スレーブラッチ回路から出力される前記mビットの誤り訂正データを用いて、前記k個の第1の不揮発性スレーブラッチ回路から出力される前記kビットのデータを復号するECCデコーダを更に備えた
     請求項6に記載の半導体回路。
  8.  前記k個のマスターラッチ回路に対して、前記k個の第1の不揮発性スレーブラッチ回路とともに並列に接続され、前記mビットの誤り訂正データを生成するECCエンコーダを更に備え、
     前記m個の第2の不揮発性スレーブラッチ回路は、前記ECCエンコーダで生成された前記mビットの誤り訂正データをストアする
     請求項2に記載の半導体回路。
  9.  前記m個の第2の不揮発性スレーブラッチ回路から出力される前記mビットの誤り訂正データを用いて、前記k個の第1の不揮発性スレーブラッチ回路から出力される前記kビットのデータを復号するECCデコーダを更に備えた
     請求項8に記載の半導体回路。
  10.  前記k個のマスターラッチ回路は、前記ECCデコーダによる復号により生成されたkビットの復号データ、および前記kビットのデータのいずれかを当該k個のマスターラッチ回路にフィードバックするセレクタを有する
     請求項9に記載の半導体回路。
  11.  前記ECCデコーダによる復号により生成されたkビットの復号データ、および前記k個のマスターラッチ回路から出力された前記kビットのデータのいずれかを前記k個の第1の不揮発性スレーブラッチ回路に入力するセレクタを有する
     請求項9に記載の半導体回路。
  12.  各前記第1の不揮発性スレーブラッチ回路および各前記第2の不揮発性スレーブラッチ回路は、1ビットのデータを保持する不揮発性メモリを有する
     請求項2に記載の半導体回路。
  13.  各前記第1の不揮発性スレーブラッチ回路および各前記第2の不揮発性スレーブラッチ回路は、1ビットのデータを保持する不揮発性メモリを有する
     請求項5に記載の半導体回路。
  14.  各前記第1の不揮発性スレーブラッチ回路および各前記第2の不揮発性スレーブラッチ回路は、1ビットのデータを保持する不揮発性メモリを有する
     請求項8に記載の半導体回路。
  15.  前記ECCデコーダは、FF動作から、ストア動作、スリープ動作およびリストア動作を経てFF動作に復帰する際に、前記ストア動作、前記スリープ動作および前記リストア動作のいずれか1つの動作において、前記k個の第1の不揮発性スレーブラッチ回路の前記不揮発性メモリから読み出した前記kビットのデータと、前記m個の第2の不揮発性スレーブラッチ回路に設けられた前記不揮発性メモリから読み出した前記mビットの誤り訂正データを用いてECCチェックを行う
     請求項8に記載の半導体回路。
PCT/JP2021/041395 2020-11-17 2021-11-10 半導体回路 WO2022107670A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180075778.7A CN116530015A (zh) 2020-11-17 2021-11-10 半导体电路
US18/252,360 US20240014810A1 (en) 2020-11-17 2021-11-10 Semiconductor circuit

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020191177A JP2022080162A (ja) 2020-11-17 2020-11-17 半導体回路
JP2020-191177 2020-11-17

Publications (1)

Publication Number Publication Date
WO2022107670A1 true WO2022107670A1 (ja) 2022-05-27

Family

ID=81708860

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/041395 WO2022107670A1 (ja) 2020-11-17 2021-11-10 半導体回路

Country Status (4)

Country Link
US (1) US20240014810A1 (ja)
JP (1) JP2022080162A (ja)
CN (1) CN116530015A (ja)
WO (1) WO2022107670A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003151297A (ja) * 2001-11-08 2003-05-23 Texas Instr Japan Ltd 誤り訂正回路を備えた半導体記憶装置
JP2014006889A (ja) * 2012-06-01 2014-01-16 Semiconductor Energy Lab Co Ltd 半導体装置及びその駆動方法
JP2014222425A (ja) * 2013-05-14 2014-11-27 日本電気株式会社 半導体集積回路、半導体集積回路の製造方法、コンピュータシステム及び半導体集積回路の制御方法
JP2018060277A (ja) * 2016-10-03 2018-04-12 ソニー株式会社 半導体回路、半導体回路の制御方法、および電子機器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003151297A (ja) * 2001-11-08 2003-05-23 Texas Instr Japan Ltd 誤り訂正回路を備えた半導体記憶装置
JP2014006889A (ja) * 2012-06-01 2014-01-16 Semiconductor Energy Lab Co Ltd 半導体装置及びその駆動方法
JP2014222425A (ja) * 2013-05-14 2014-11-27 日本電気株式会社 半導体集積回路、半導体集積回路の製造方法、コンピュータシステム及び半導体集積回路の制御方法
JP2018060277A (ja) * 2016-10-03 2018-04-12 ソニー株式会社 半導体回路、半導体回路の制御方法、および電子機器

Also Published As

Publication number Publication date
JP2022080162A (ja) 2022-05-27
US20240014810A1 (en) 2024-01-11
CN116530015A (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
TWI674767B (zh) 用於nand快閃記憶體的渦輪乘積碼
US6279133B1 (en) Method and apparatus for significantly improving the reliability of multilevel memory architecture
US8281221B2 (en) Operation method of MRAM including correcting data for single-bit error and multi-bit error
US9454427B2 (en) Shifting read data
TWI714277B (zh) 記憶體錯誤偵測及校正
US20150227419A1 (en) Error correction decoder based on log-likelihood ratio data
TWI768511B (zh) 使用藉助於具有局部順序資訊之奇偶校驗矩陣之資料保護的資料存取方法以及設備
JP2011008850A (ja) メモリ及び情報処理方法
JP2006209900A (ja) メモリ回路
US10243588B2 (en) Error correction code (ECC) decoders sharing logic operations, memory controllers including the error correction code decoders, and methods of decoding error correction codes
US20180152203A1 (en) Error correction circuits and memory controllers including the same
KR20170112630A (ko) 반도체장치 및 반도체시스템
JP2008021390A (ja) 半導体記憶装置
TW202227970A (zh) 檢測錯誤位元的記憶體裝置及其方法
WO2022107670A1 (ja) 半導体回路
CN113192544A (zh) 存算一体数据读取译码电路以及存算一体存储器
CN110222006B (zh) 基于rram的处理器架构及控制方法
US7904786B2 (en) Assisted memory system
WO2017067038A1 (zh) 半导体存储器操作方法
Das et al. Online correction of hard errors and soft errors via one-step decodable OLS codes for emerging last level caches
JP2010009101A (ja) メモリシステム及びメモリアクセス方法
CN112017703B (zh) 半导体器件
CN109714062B (zh) 执行迭代解码的解码器和使用该解码器的存储设备
WO2013132806A1 (ja) 不揮発性論理集積回路と不揮発性レジスタの誤りビットの訂正方法
Nguyen et al. Improving bit-error-rate performance using modulation coding techniques for spin-torque transfer magnetic random access memory

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21894544

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18252360

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202180075778.7

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21894544

Country of ref document: EP

Kind code of ref document: A1