KR20120054524A - 중복된 비트 및 메모리 엘리먼트 보팅 회로를 갖는 메모리 어레이 - Google Patents

중복된 비트 및 메모리 엘리먼트 보팅 회로를 갖는 메모리 어레이 Download PDF

Info

Publication number
KR20120054524A
KR20120054524A KR1020110117443A KR20110117443A KR20120054524A KR 20120054524 A KR20120054524 A KR 20120054524A KR 1020110117443 A KR1020110117443 A KR 1020110117443A KR 20110117443 A KR20110117443 A KR 20110117443A KR 20120054524 A KR20120054524 A KR 20120054524A
Authority
KR
South Korea
Prior art keywords
memory
memory cells
memory element
thyristor
output
Prior art date
Application number
KR1020110117443A
Other languages
English (en)
Other versions
KR101875606B1 (ko
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 알테라 코포레이션
Publication of KR20120054524A publication Critical patent/KR20120054524A/ko
Application granted granted Critical
Publication of KR101875606B1 publication Critical patent/KR101875606B1/ko

Links

Images

Classifications

    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • 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/412Digital 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 using field-effect transistors only
    • G11C11/4125Cells incorporating circuit means for protecting against loss of information
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/005Circuit means for protection against loss of information of semiconductor storage devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/23Majority or minority circuits, i.e. giving output having the state of the majority or the minority of the inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Static Random-Access Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

집적 회로는 메모리 엘리먼트들의 어레이를 가질 수 있다. 각각의 메모리 엘리먼트는 다수의 메모리 셀들을 가질 수 있다. 각각의 메모리 엘리먼트는 그 메모리 엘리먼트 내의 메모리 셀들로부터 신호들을 수신하는 보팅 회로를 가질 수 있다. 상기 보팅 회로는 상기 신호들에 기초하여 출력을 생성할 수 있다. 방사선 충돌로 인해 메모리 셀들의 일부가 그들의 상태를 잘못된 값들로 플립하게 되는 경우에도 상기 보팅 회로가 정확한 출력을 생성할 수 있도록 각각의 메모리 엘리먼트의 메모리 셀들에 의해 저장된 신호들은 중복될 수 있다. 상기 메모리 엘리먼트들은 SRAM 메모리 셀들 및 사이리스터 기반 셀들과 같은 메모리 셀들에 기초할 수 있다.

Description

중복된 비트 및 메모리 엘리먼트 보팅 회로를 갖는 메모리 어레이{MEMORY ARRAY WITH REDUNDANT BITS AND MEMORY ELEMENT VOTING CIRCUITS}
이 출원은 2010년 11월 19일에 출원된 미국 특허 출원 번호 12/950,944에 대한 우선권을 주장한다.
이 발명은 메모리 엘리먼트들에 관한 것이고, 특히, 메모리 엘리먼트들이 소프트 에러 업셋(soft error upset) 이벤트들에 대해 만족스러운 면역성을 나타내는 것을 보증하기 위한 회로에 관한 것이다.
집적 회로들은 SRAM(static random-access memory) 엘리먼트들과 같은 휘발성 메모리 엘리먼트들을 종종 포함한다. 메모리 엘리먼트들은 데이터 프로세싱 동작들 동안에 데이터를 임시로 저장하기 위해 사용될 수 있다. 예를 들면, 프로세싱 로직을 포함하는 집적 회로는 그 프로세싱 로직에 의해 사용되는 데이터를 저장하기 위한 SRAM 엘리먼트들의 어레이를 포함할 수 있다. 메모리 엘리먼트들은 또한 메모리 칩들에서 사용될 수 있다. FPGA(field-programmable gate arrays) 및 다른 프로그램 가능한 디바이스들과 같은 회로들은 프로그램 가능 로직을 구성하기 위한 구성 데이터를 저장하는 메모리 엘리먼트들을 포함할 수 있다.
휘발성 메모리 엘리먼트는 집적 회로에 전력이 공급되는 동안만 데이터를 유지한다. 전력 손실의 경우에, 휘발성 메모리 엘리먼트 내의 데이터는 분실된다. 비록 EEPROM(electrically-erasable programmable read-only memory) 기술에 기초한 메모리 엘리먼트들과 같은 비휘발성 메모리 엘리먼트들은 이런 식으로 데이터 분실을 겪지 않지만, 주어진 집적 회로의 일부로서 비휘발성 메모리 엘리먼트들을 제조하는 것은 종종 바람직하거나 가능하지 않다.
휘발성 메모리 엘리먼트들은 소프트 에러 업셋으로 알려진 현상을 겪는다. 소프트 에러 업셋 이벤트들은 우주선(cosmic rays) 및 집적 회로들 및 그들의 패키지들 내에 포함된 방사성 불순물에 의해 야기된다. 우주선 및 방사성 불순물은 중성자들 및 알파 입자들과 같은 높은 에너지의 원자 입자들을 생성한다. 메모리 엘리먼트들은 전형적으로 실리콘으로부터 형성되는 트랜지스터들을 포함한다. 원자 입자가 메모리 엘리먼트 내의 실리콘에 충돌할 때, 전자-정공(electron-hole) 쌍들이 생성된다. 전자-정공 쌍들은 메모리 엘리먼트 내의 충전된 노드가 방전하게 하고 메모리 엘리먼트의 상태가 플립(flip)하게 할 수 있는 전도 경로를 생성한다. 만약, 예를 들어, 메모리 엘리먼트에 "1"이 저장되었다면, 소프트 에러 업셋 이벤트는 "1"이 "0"으로 변하게 할 수 있다.
집적 회로에서의 업셋 이벤트들은 메모리 엘리먼트들에 저장된 데이터에 오류를 일으키고 시스템 성능에 심각한 영향을 미칠 수 있다. 통신 장비의 원격 설치와 같은 특정한 시스템 애플리케이션들에서, 결점이 있는 장비를 수리하는 것은 극도로 부담이 된다. 프로그램 가능 로직 디바이스들 및 다른 집적 회로들이 소프트 에러 업셋 이벤트들에 대해 양호한 면역성을 증명하지 않는다면, 그것들은 이러한 유형의 애플리케이션들에 부적합할 것이다.
소프트 에러 업셋 이벤트들에 대한 내성을 집적 회로들에 제공하는 하나의 방법은 메모리 어레이 내의 비트들의 상태를 주기적으로 검사하는 것을 포함한다. CRC(cyclic redundancy check) 코드들과 같은 에러 정정 코드들을 사용하여, 메모리 어레이의 섹션에 중복된 정보(redundant information)가 저장될 수 있다. 에러 검사 회로는 메모리 어레이 내의 데이터 및 대응하는 에러 정정 코드들을 주기적으로 판독해내어 데이터에 에러가 존재하는지를 결정할 수 있다. 만약 에러가 검출된다면, 적당한 액션이 취해질 수 있다. 예를 들면, 몇몇 디바이스들에서 정확한 데이터의 사본을 메모리 어레이에 리로딩(reload)하는 것이 가능할 수 있다.
그러나, 메모리 어레이로부터 데이터를 주기적으로 판독해내는 프로세스는 집적 회로에서 원하지 않은 전력을 소비할 수 있다. 이러한 주기적인 데이터 검사를 지원하기 위해 사용되는 회로도 집적 회로에 통합되어야 하며, 이는 회로 비용 및 복잡성을 증가시킬 수 있다. 더욱이, 메모리 엘리먼트의 콘텐츠를 판독해내는 동작은, 적당하게 설계된 판독 회로들을 이용하더라도, 엘리먼트의 상태를 교란할 가능성이 있다.
따라서 소프트 에러 업셋 이벤트들에 대해 개선된 내성을 갖는 메모리 회로를 제공할 수 있다면 바람직할 것이다.
집적 회로는 메모리 엘리먼트들의 어레이를 가질 수 있다. 각각의 메모리 엘리먼트는 다수의 중복된 메모리 셀들(redundant memory cells)을 가질 수 있다. 상기 메모리 셀들은 SRAM 회로들 또는 사이리스터 기반 회로들에 기초할 수 있다.
각각의 메모리 엘리먼트는 그 메모리 엘리먼트 내의 메모리 셀들로부터 신호들을 수신하는 보팅 회로(voting circuit)를 가질 수 있다. 상기 보팅 회로는 상기 신호들에 기초하여 출력을 생성할 수 있다. 방사선 충돌로 인해 메모리 셀들의 일부가 그들의 상태를 잘못된 값들로 플립하게 되는 경우에도 상기 보팅 회로가 정확한 출력을 생성할 수 있도록 각각의 메모리 엘리먼트의 메모리 셀들에 의해 저장된 신호들은 명목상 동일할 수 있다.
각각이 3개의 SRAM 메모리 셀들을 갖는 메모리 엘리먼트들을 갖는 집적 회로들에서, 보팅 회로는 단일 셀 에러들을 정정할 수 있다. 3개의 사이리스터에 기초하는 메모리 셀들을 갖는 집적 회로들에서, 보팅 회로는 단일 셀 에러들 및 이중 셀 에러들을 정정할 수 있다.
본 발명의 그 이상의 특징들, 그것의 본질 및 다양한 이점들은 첨부 도면들 및 바람직한 실시예들에 관한 하기의 상세한 설명으로부터 더욱 명백할 것이다.
도 1은 본 발명의 실시예에 따른 메모리 엘리먼트 회로를 갖는 설명적인 집적 회로를 도시한 도이다.
도 2는 본 발명의 실시예에 따른 3개의 중복된 메모리 셀들 및 보팅 회로를 포함하는 설명적인 메모리 엘리먼트를 도시한 도이다.
도 3은 본 발명의 실시예에 따른 도 2에서 도시된 유형의 메모리 엘리먼트에서 사용될 수 있는 설명적인 SRAM 셀의 회로도이다.
도 4는 본 발명의 실시예에 따른 도 2에서 도시된 유형의 메모리 엘리먼트에서 사용될 수 있는 사이리스터 메모리 셀의 회로도이다.
도 5는 본 발명의 실시예에 따른 도 4에서 도시된 유형의 사이리스터 메모리 셀에서 사용될 수 있는 회로를 도시한다.
도 6은 본 발명의 실시예에 따른 사이리스터 기반 메모리 셀을 위한 사이리스터에서 사용될 수 있는 p형 및 n형 도핑된 반도체 영역들을 도시한 도이다.
도 7은 본 발명의 실시예에 따른 사이리스터 메모리 셀을 위한 사이리스터와 연관된 전류 대 전압 특성의 그래프이다.
도 8은 본 발명의 실시예에 따른 도 3 및 4에서 도시된 유형의 메모리 셀들을 포함하는 메모리 엘리먼트들을 위해 사용될 수 있는 도 2에서 도시된 유형의 설명적인 보팅 회로의 거동을 설명하는 표이다.
도 9는 본 발명의 실시예에 따른 도 8의 보팅 거동을 구현하기 위해 사용될 수 있는 설명적인 보팅 회로의 회로도이다.
도 10은 본 발명의 실시예에 따른 단일 셀 에러들 및 이중 셀 에러들을 정정하기 위해 도 4에서 도시된 유형의 메모리 셀들을 포함하는 메모리 엘리먼트들을 위해 사용될 수 있는 도 2에서 도시된 유형의 설명적인 보팅 회로의 거동을 설명하는 표이다.
도 11은 본 발명의 실시예에 따른 도 10의 보팅 거동을 구현하기 위해 사용될 수 있는 설명적인 보팅 회로의 회로도이다.
도 12는 본 발명의 실시예에 따른 도 1의 집적 회로와 같은 메모리 엘리먼트들을 갖는 집적 회로를 작동하는 데 수반되는 설명적인 단계들의 순서도이다.
이것은 메모리 엘리먼트들을 갖는 집적 회로들과 관련이 있다. 메모리 엘리먼트들이 사용되는 집적 회로들은 메모리 칩, 메모리 어레이를 디지털 신호 처리 회로, 마이크로프로세서, 메모리 어레이를 갖는 ASIC(application specific integrated circuit), 구성 메모리를 위해 메모리 엘리먼트들이 사용되는 프로그램 가능 로직 디바이스 집적 회로(예를 들면, FPGA)와 같은 프로그램 가능 집적 회로, 또는 임의의 다른 적당한 집적 회로일 수 있다. 명료함을 위해, 메모리 엘리먼트들은 때때로 프로그램 가능 집적 회로의 컨텍스트에서 설명될 것이다. 그러나, 이것은 단지 설명적인 것이다.
프로그램 가능 집적 회로와 같은 설명적인 집적 회로가 도 1에 도시되어 있다. 도 1에서 도시된 바와 같이, 집적 회로(10)는 판독-기입 제어 회로(12) 및 메모리 엘리먼트들(16)의 어레이(14)를 갖는 메모리 어레이를 포함할 수 있다. 경로들(18 및 20)과 같은 수평 및 수직 신호 경로들이 메모리 엘리먼트들(16)을 제어하는 데 사용될 수 있다. 몇몇 구성들에서, 예를 들면, 경로들(18)은 엘리먼트들(16)을 어드레싱하기 위한 어드레스 라인들을 포함할 수 있고 경로들(20)은 비트 라인들을 포함할 수 있다. 비트 라인들은 기입 동작 동안에는 제어 회로(12)로부터 엘리먼트들(16)로 데이터를 라우팅하기 위해 사용될 수 있고, 판독 동작을 지원하는 구성에서는, 엘리먼트들(16)로부터 제어 회로(12)로 데이터를 라우팅하기 위해 사용될 수 있다.
경로들(18)과 같은 경로들은 또한 (예를 들면, 클리어 트랜지스터를 제어하기 위해) 클리어 신호들을 분배하기 위한 경로들, 양의 전원 전압 Vcc를 분배하기 위한 경로들, 접지 전원 전압 Vss를 분배하기 위한 경로들, 등과 같은, 다른 신호 경로들을 포함할 수 있다. 엘리먼트들(16) 및 제어 회로(12)와 연관되는 신호 라인들의 유형들은 어레이(14)에서 사용되는 메모리 엘리먼트들(16)의 유형에 의존한다. 몇몇 경우에, 메모리 엘리먼트들(16)은 SRAM(static random-access memory) 셀들에 기초할 수 있다. SRAM 셀들은 교차 연결된 인버터들 또는 다른 회로들로부터 형성된 쌍안정 데이터 저장 엘리먼트들에 기초할 수 있다. SRAM 셀들은 일반적으로 데이터가 판독되고 기입되는 것을 허용한다. 다른 경우에, 메모리 엘리먼트들(16)은 사이리스터 셀들에 기초할 수 있다. 사이리스터 셀들은 셀들에서 전력을 제거하는 것(depowering the cells)에 의해 클리어될 수 있다. 회로(12)는 사이리스터 셀들에 데이터를 기입하기 위한 제어 회로들을 포함할 수 있고 사이리스터 셀들로부터 데이터를 판독하기 위한 판독 회로를 포함하거나 포함하지 않을 수 있다.
도 2는 설명적인 메모리 엘리먼트의 회로도이다. 도 2에서 도시된 바와 같이, 메모리 엘리먼트(16)는 다수의 개별 메모리 셀들(26)(예를 들면, 3개 이상의 셀들(26))을 포함할 수 있다. 각각의 메모리 셀(26)의 출력은 보팅 회로(28)와 같은 보팅 회로의 각각의 입력에 연결될 수 있다. 메모리 셀들(26)로부터의 신호 출력들은 도 2의 예에서 "A", "B", 및 "C"로 명명된다.
보팅 회로(28)는 셀들(26)로부터의 신호들을 처리할 수 있고 대응하는 출력 F를 경로(22)에 생성할 수 있다. 출력 F의 값은 회로(28)의 보팅 로직(voting logic)을 이용하여 입력들 A, B, 및 C의 값들로부터 결정된다. 예를 들면, 다수 보팅 방식(majority voting scheme)에서, F는 A, B, 및 C 신호들 중 다수(majority)와 동일한 로직 상태를 가질 것이다.
도 1에서 도시된 바와 같이, 어레이(14) 내의 각각의 셀(16)은 각각의 출력(22)을 가질 수 있다. FPGA 또는 다른 프로그램 가능 로직 디바이스와 같은 프로그램 가능 집적 회로에서, 메모리 엘리먼트들(16)에 구성 데이터가 로딩되고 메모리 엘리먼트들(16)은 대응하는 정적인 출력 제어 신호들을 그들의 출력(22)에 생성한다. 출력들(22)에서의 제어 신호들은 소망의 로직 함수를 구현하도록 디바이스(10)의 프로그램 가능 로직 회로를 커스터마이즈(customize)하기 위해 프로그램 가능 로직 회로에 가해진다. 예를 들면, 각각의 출력(22)에서의 출력 신호는 도 1의 설명적인 패스 트랜지스터(24)와 같은 대응하는 트랜지스터의 게이트 G에 가해질 수 있다. 트랜지스터(24)는, 예를 들면, 프로그램 가능 멀티플렉서 또는 다른 프로그램 가능 회로의 일부를 구성하는 MOS(metal-oxide-semiconductor) 트랜지스터 n-채널 MOS 트랜지스터 또는 p-채널 MOS 트랜지스터일 수 있다.
데이터 로딩 동작 동안에, 도 1의 제어 회로(12)는 프로그램 가능 집적 회로를 위한 구성 데이터와 같은 데이터를 메모리 엘리먼트들(16)에 로딩할 수 있다. 각각의 메모리 엘리먼트에 로딩할 때, 중복된 데이터가 각각의 엘리먼트의 3개의 메모리 셀들(26) 각각에 로딩될 수 있다. 예를 들면, 제1 메모리 엘리먼트 내의 3개의 메모리 셀들(26)에 각각 로직 "1"이 로딩될 수 있거나 또는 각각 로직 "0"이 로딩될 수 있다. 메모리 엘리먼트 내의 3개의 셀들 각각에 동일한 데이터를 로딩하는 것은 그 메모리 엘리먼트가 방사선으로 야기된 에러들에 대해 면역성을 갖게 하는 것을 돕는다.
회로(10)의 동작 동안, 각각의 메모리 셀(26)은 대응하는 출력을 생성할 수 있다. 예를 들면, 도 2의 3-셀 구성에서, 메모리 셀들(26) 중 제1 셀은 출력 A를 생성할 수 있고, 메모리 셀들(26) 중 제2 셀은 출력 B를 생성할 수 있고, 메모리 셀들(26) 중 제3 셀은 출력 C를 생성할 수 있다. 신호들 A, B, 및 C는 보팅 회로(28)에 의해 분석될 수 있고, 보팅 회로(28)는 대응하는 출력 신호 F를 생성할 수 있다. 만약, 예를 들어, A, B, 및 C가 모두 로직 1이면, 보팅 회로(28)는 엘리먼트(16)에 의해 저장된 메모리 비트에 대한 정확한 값은 로직 1이라고 결론을 내릴 수 있고 F를 대응하는 값으로 취할 수 있다. 로직 1을 표현하기 위해 출력 F에서 사용되는 값은, 디바이스(10)에 의해 사용되는 규칙(convention)에 따라서, 높은 전압(예를 들면, 1.0 볼트의 Vcc 값) 또는 낮은 전압(예를 들면, 0 볼트의 Vss 값)일 수 있다.
보팅 회로(28)의 동작은 디바이스(10)가 셀들(26) 하나에서 방사선으로 야기된 비트 에러를 겪을 때 메모리 엘리먼트 출력 F의 상태가 잘못되어 플립(erroneously flip)하지 않도록 보증하는 것을 돕는다. 보팅 회로(28)는, 예를 들면, 출력 F가 비트들 A, B, 및 C 중 다수(majority)의 값과 같은 다수 보팅 방식을 구현할 수 있다. 비록 셀들(26) 중 하나의 셀 내의 비트 값이 방사선 충돌로 인해 잘못되어 플립하더라도, 엘리먼트(16) 내의 다른 2개의 셀들은 여전히 그들의 정확한 값들을 유지할 것이다. 이러한 유형의 경우에, 보팅 회로(28)는 출력 F를 셀들 중 다수에 의해 유지된 값으로 취함으로써 응답할 것이다. 이 시나리오에서 2개의 셀들은 정확한 값을 유지하고 하나의 셀은 잘못된 값을 유지하기 때문에, 출력 F는 정확할 것이다(3개 중 2개가 다수를 나타내기 때문에).
다수 보팅 방식들은 SRAM 셀들 및/또는 사이리스터 셀들과 같은 다른 셀들에 기초하는 메모리 엘리먼트들(16)을 갖는 디바이스들 내의 보팅 회로(28)를 위해 사용될 수 있다. 만약 각각의 메모리 엘리먼트에서 겨우 하나의 비트 에러가 생긴다면, 다수 유형(majority-type) 보팅 회로들은 출력 F가 정확하다는 것을 보증할 것이다. 이중 비트 에러들(즉, 주어진 메모리 엘리먼트(16) 내의 3개의 셀들(26) 중 2개가 잘못되어 플립되는 시나리오들)은 일반적으로 다수 보팅을 사용하여 처리될 수 없다.
그러나, 이중 비트 에러들은 셀들(26)이 방사선 충돌에 응답하여 하나의 유형의 데이터 플립만을 나타내는 사이리스터들과 같은 컴포넌트들에 기초하는 경우에 적절히 구성된 보팅 회로들(28)에 의해 처리될 수 있다. 사이리스터 기반 셀들(26)은, 예를 들면, 방사선 충돌에 응답하여 잘못되어 0으로부터 1로 플립하는 가능성만을 가질 수 있고, 1로부터 0으로 플립하지는 않는다. 이러한 본래의 안정성 때문에, 사이리스터 기반 메모리 셀들(26)은 SRAM 기반 메모리 셀들(26)보다 더 적게 에러를 겪을 수 있다.
도 2의 메모리 엘리먼트(16)의 셀들(26) 각각을 구현하는 데 사용될 수 있는 설명적인 SRAM 유형의 메모리 셀이 도 3에 도시되어 있다. 도 3에서 도시된 바와 같이, 메모리 셀(26)은 어드레스 라인 ADD를 이용하여 어드레싱될 수 있다. 어드레스 라인 ADD는 제어 회로(12)에 의해 제어될 수 있다. 예를 들면, 어레이(14)의 각각의 행과 연관된 어드레스 라인 ADD가 있을 수 있다. 데이터는 비트 라인 BL과 같은 비트 라인들(때때로 데이터 라인들로 불림)을 이용하여 셀(26)에 로딩될 수 있고 셀(26)로부터 판독될 수 있다.
데이터는 교차 연결된 인버터들 I1 및 I2로부터 형성된 쌍안정 데이터 저장 엘리먼트와 같은 쌍안정 데이터 저장 엘리먼트에 의해 데이터 저장 노드들 ND1 및 ND2에 저장될 수 있다. 인버터들 I1 및 I2는 양의 전원 전압 Vcc 및 접지 전원 전압 Vss에 의해 전력을 공급받을 수 있다. 도 3의 예에서의 인버터 I1의 입력은 노드 ND1에 연결되고 인버터 I1의 출력은 노드 ND2에 연결된다. 인버터 I2의 입력은 노드 ND2에 연결되고 인버터 I2의 출력은 노드 ND1에 연결된다. 따라서 노드 ND1 및 ND2에서의 비트 값들은 상보적이다. 로직 1이 셀(26)에 입력되었을 때, ND2는 하이(high)일 것이고 ND1은 로우(low)일 것이다. 로직 0이 셀(26)에 저장되어 있을 때, ND2는 로우일 것이고 ND1은 하이일 것이다.
노드 ND2에서의 비트의 값은 출력 라인 OUT에 가해질 수 있다(예를 들면, 도 2의 A, B, 또는 C 신호들 중 하나를 제공하기 위해). 요구된다면, 다수의 셀들(26)은 그 다수의 셀들 각각에 대하여 클리어 제어 신호 CLR을 어서팅(asserting)하는 것에 의해 클리어될 수 있다. 높은 CLR 제어 신호를 수신하는 각각의 셀에서, 클리어 트랜지스터 TC는 온 될 것이다. 주어진 셀 내의 트랜지스터 TC가 온 될 때, 그 셀 내의 노드 ND2 및 출력 OUT은 접지 전압 Vss(예를 들면, 0 볼트)로 로우로 당겨질 것이다(pulled low).
로직 1을 셀(26)에 로딩하는 것이 요구되는 경우, 비트 라인 BL은 로우에(예를 들면, Vss에) 유지될 수 있고 ADD를 하이로 취함으로써 어드레스 신호 ADD는 어서팅될 수 있다. ADD가 하이로 취해질 때, 어드레스 트랜지스터 TA는 온 되어, 비트 라인 BL에서의 로우 신호를 노드 ND1으로 드라이브할 것이다. 이런 식으로 ND1이 로우로 당겨질 때, ND2는 하이로 갈 것이다(즉, 셀(26)은 로직 1을 저장할 것이다). 로직 0을 셀(26) 내에 로딩하는 것이 요구되는 경우, 비트 라인 BL은 하이 값(예를 들면, Vcc)에 유지될 수 있다. 비트 라인 BL이 하이인 상태에서, 어드레스 트랜지스터 TA를 온 시키기 위에 어드레스 신호 ADD는 어서팅될 수 있다. 이것은 하이 신호를 비트 라인 BL로부터 노드 ND1으로 드라이브할 것이다. 노드 ND1이 하이로 갈 때, 인버터 I1은 ND2를 로우로 드라이브할 것이고, 그것에 의해 0을 셀(26)에 로딩하는 동작을 완료한다. 판독 동작들은 비트 라인 BL의 상태를 모니터하면서 ADD를 어서팅하는 것에 의해 수행될 수 있다.
도 2의 셀들(26)을 위해 사용될 수 있는 유형의 설명적인 사이리스터 기반 메모리 셀이 도 4에 도시되어 있다. 도 4에서 도시된 바와 같이, 사이리스터 기반 셀(26)은 사이리스터 회로(30)로부터 형성된 쌍안정 데이터 저장 엘리먼트를 사용하여 데이터를 저장할 수 있다. 셀(26)은 어드레스 라인들 ADD1 및 ADD2와 같은 연관된 제어 라인들을 가질 수 있다. 사이리스터 회로(30)로부터 비트 라인 BL로 데이터를 판독하고 사이리스터 회로(30)에 데이터를 기입하기 위해 신호들 ADD1 및 ADD2는 어서팅될 수 있다. 도 4의 메모리 셀(26)과 같은 메모리 셀들을 제어하기 위한 제어 신호들은 제어 회로(12)에 의해 생성될 수 있고 도 1의 라인들(18 및 20)과 같은 수평 및 수직 제어 라인들을 통하여 전달될 수 있다.
사이리스터 회로(30)에서의 로딩된 데이터를 유지하는 것이 요구되는 경우, 통상의 동작 동안에 전원 전압 Vcc는 하이에(예를 들면, 1.0 볼트 또는 다른 적당한 전압에) 유지될 수 있다. 사이리스터 회로(30)를 클리어하는 것이 요구되는 경우, Vcc에서 전력이 제거될 수 있다(depowered)(예를 들면, 잠시 0 볼트의 Vss 값으로 취해질 수 있다).
도 5는 사이리스터 회로(30)가 어떻게 사이리스터(32) 및 트랜지스터 TA를 포함할 수 있는지를 도시한다. 트랜지스터 TA는 게이트(34)를 통해 제어 신호들을 수신할 수 있다. 사이리스터(32)는 (트랜지스터 TG의 게이트로서 도시된) 제어 게이트 G와 함께 p-n-p-n 구조로부터 형성될 수 있다. 도 5에서 도시된 바와 같이, 사이리스터(32)는 사실상 제1 바이폴라 트랜지스터 부분 TB1, 제2 바이폴라 트랜지스터 부분 TB2, 및 제어 트랜지스터 부분 TG를 포함한다. 게이트 G는 라인(36)에서의 제어 신호에 의해 제어될 수 있다.
사이리스터(34) 내의 도핑된 영역들을 도시한 도가 도 6에 도시되어 있다. 도 6에서 도시된 바와 같이, 사이리스터(34)는 애노드 A 및 캐소드 C를 가질 수 있다. 캐스드 C에 저장된 신호는 사이리스터 기반 셀(26) 내의 저장된 데이터를 나타낼 수 있다.
로직 1을 데이터 저장 노드 C에 기입하는 경우 요구되는 경우, 라인(36)에서의 신호는 어서팅될 수 있다(즉, 하이로 취해질 수 있다). 도 5에서 도시된 바와 같이, 트랜지스터 TB1은 사이리스터 캐소드 C를 형성하는 단자를 가질 수 있다. 트랜지스터 TB2는 사이리스터 애노드 A를 형성하는 단자를 가질 수 있다. 애노드 A는 전압 Vcc에 의해 전력을 공급받을 수 있다. 사이리스터(32)에 전력을 공급하고 그것에 의해 사이리스터(32)가 캐소드 C에 데이터 OUT을 저장하게 하기 위해, 제어 신호 CL을 로우에 유지함으로써 트랜지스터 TCC가 온 될 수 있다(신호 CL 및 트랜지스터 TCC는 다수의 사이리스터들(32)에 의해 공유될 수 있다). 사이리스터(32)에서 전력을 제거하고 그것에 의해 그것의 콘텐츠를 클리어하는 것이 요구되는 경우(즉, 출력 OUT에서의 저장된 비트를 Vss로 취하는 것이 요구되는 경우), 제어 단자 CL을 하이로 취함으로써 트랜지스터 TCC는 오프 될 수 있다. 트랜지스터 TCC가 오프 될 때, 노드 A는 낮은 전압(예를 들면, Vss)으로 떨어질 것이고 사이리스터(32)의 상태는 그것의 최초 "프로그램되지 않은" 상태로 되돌아갈 것이다(즉, C에서의 전압은 로우일 것이다). 사이리스터 회로(30)의 상태(즉, 사이리스터(32)의 캐스드 C에서의 전압)는 제어 게이트(34)에서의 신호를 하이로 취함으로써 감지될 수 있다. 이것은 트랜지스터 TA를 온 시키고 따라서 비트 라인 BL을 통해 노드 C에서의 전압이 감지될 수 있다.
도 7의 I-V 특성은 데이터를 저장하기 위해 사이리스터(32)가 어떻게 이용될 수 있는지를 도시한다. 처음에, 사이리스터(32)는 전력이 공급되지 않은(unpowered) 상태에 있을 수 있다. 사이리스터(32)에 전력을 공급하기 위해 사이리스터(32)의 애노드 A에 전압 V1이 가해질 때(예를 들면, 도 5의 Vcc 단자를 통해), 사이리스터(32)는 그것의 애노드와 그것의 캐소드 사이에 전류 I1을 통과시킬 것이고 캐소드 C에서 낮은 전압을 나타낼 것이다. 이 상태에서, 사이리스터(32)는 로직 "0"을 저장한다고 생각될 수 있다. 사이리스터의 상태(즉, 출력 신호 OUT으로서 역할을 할 수 있는, 캐소드 C에서의 "0")는 사이리스터에서의 전압을 문턱 전압 V2보다 작은 값에 유지함으로써 유지될 수 있다.
사이리스터(32)를 프로그램하는 것이 요구되는 경우, 양의 전압 펄스(예를 들면, 예로서 약 1 볼트의 펄스)가 게이트 G에 가해질 수 있다. 이에 따라 사이리스터는, 라인(38)에 의해 도시된 바와 같이, 도 7의 "1" 위치의 동작으로 이행(transition)한다. "1" 위치에서, 사이리스터(32)는 전류 I2를 통과시킬 것이고 (캐소드 C에서의 로직 "1"을 나타내는) 보다 높은 전압을 나타낼 것이다. "0" 상태에서 동작하고 있을 때의 사이리스터(32)의 상태는 방사선 충돌에 의해 잘못되어 "1" 상태로 플립될 수 있지만, "1" 상태에서 동작하고 있을 때의 사이리스터(32)에의 방사선 충돌의 결과로 "1"에서 "0"으로의 플립하지는 않을 것이다. 오히려, 사이리스터(32)가 "1"을 저장하고 있을 때 사이리스터(32)에의 방사선 충돌들은 사이리스터(32)의 상태를 변하지 않은 상태로 놔둘 것이다. 따라서 사이리스터(32)는 한 방향으로만(즉, 하이에서 로우는 아니고 로우에서 하이로) 상태의 잘못된 플립을 겪는다. 이와 대조적으로, 도 3의 설명적인 SRAM 셀(26)과 같은 SRAM 셀들은 방사선에 의해 충돌될 때 일반적으로 로우에서 하이 및 하이에서 로우 양쪽 모두의 방향으로의 플립을 겪는다.
도 2의 보팅 회로(28)는 메모리 엘리먼트(16)에서 사용되고 있는 중복된 메모리 셀의 유형에 맞추어질 수 있다. 방사선 충돌의 경우에 메모리 엘리먼트가 로우에서 하이 및 하이에서 로우 양쪽 모두의 플립들을 겪을 때, 다수 보팅 방식이 구현될 수 있다. 사이리스터 기반 메모리 엘리먼트들도 다수 보팅을 사용할 수 있다(요구된다면). 보팅 회로(28)에서 다수 보팅 로직이 사용될 때, 메모리 엘리먼트들(16)은 단일 에러 업셋 이벤트들(주어진 엘리먼트 내의 3개의 메모리 셀들(26) 중 하나의 잘못된 플립)을 견뎌낼 수 있다.
3개의 사이리스터 메모리 셀들로부터 형성되는 메모리 엘리먼트와 같이, 메모리 엘리먼트가 한쪽 방향의 플립들만을 겪는 경우, 요구된다면, 보팅 회로는 메모리 엘리먼트 출력에서의 잘못된 플립을 초래하지 않고 셀들 중 2개의 셀이 로우에서 하이로 플립하는 것을 허용하는 로직을 사용할 수 있다. 반대의 경우(메모리 셀들에서의 하이와 로우 사이의 플립들을 처리하는 것)는 고려될 필요가 없는데, 이러한 유형의 업셋 이벤트는 사이리스터 셀들에의 방사선 충들로부터 생기지 않기 때문이다. 따라서 3개의 사이리스터 셀들에 기초하는 메모리 엘리먼트들(16)은 단일 셀 업셋들 및 이중 셀 업셋들 양쪽 모두를 처리할 수 있다.
도 8은 SRAM 기반 메모리 셀들(또는, 요구된다면, 사이리스터 기반 메모리 셀들)로부터 형성되는 메모리 셀들(26)과 함께 사용하기에 적당한 유형의 다수 보팅 방식을 구현할 때 도 2의 보팅 회로(28)가 어떻게 동작할 수 있는지를 나타내는 표이다. 도 8의 처음 3개의 열(column)들은 도 2의 3개의 메모리 셀들에 대응한다. 특히, 도 2에서 출력 A를 생성하는 메모리 셀은 도 8의 표의 첫 번째 열에 대응하고, 도 2에서 출력 B를 생성하는 메모리 셀은 도 8의 표의 두 번째 열에 대응하고, 도 2에서 출력 C를 생성하는 메모리 셀은 도 8의 표의 세 번째 열에 대응한다. 동작 동안, 보팅 회로(28)(도 2)는 메모리 셀들(26)로부터의 각각의 A, B, 및 C 출력들을 입력들로서 수신하고 대응하는 출력 F를 출력 경로(22)에 생성한다. 도 8의 표의 네 번째 열은 보팅 회로(28)의 입력에서 A, B, 및 C의 다양한 조합들에 대하여 생성되는 F의 값들을 나타낸다.
도 8의 보팅 회로 동작들은 메모리 엘리먼트마다 하나의 메모리 셀 에러까지 정정할 수 있다. 도 8의 표의 다섯 번째 열에는 보팅 회로에 의해 정정되고 있는 메모리 셀 에러의 수가 열거되어 있다. 모든 셀들(26)이 동일한 정보를 포함하는 경우, 어떤 에러도 존재하지 않고 출력 F는 셀들(26) 각각의 콘텐츠와 같을 것이다. 예를 들면, 도 8의 표의 첫 번째 행(row)에서 나타내어진 바와 같이, A, B, 및 C가 "0"과 같을 때, 출력 F는 "0"일 것이다. 도 8의 표의 다섯 번째 행에서 나타내어진 바와 같이, A, B, 및 C 셀들의 콘텐츠가 모두 "1"일 때 출력 F는 "1"일 것이다.
몇몇 경우에, 방사선 충돌들은 셀이 플립하게 할 수 있다. 예를 들면, SRAM 셀 또는 사이리스터 셀에의 방사선 충돌은 "0"이 "1"로 플립하게 할 수 있고 또는 "1"을 포함하는 SRAM 셀에의 방사선 충돌은 SRAM 셀이 "0"으로 플립하게 할 수 있다. 하이에서 로우로의 셀 플립 및 로우에서 하이로의 셀 플립 양쪽 모두가 도 8의 보팅 회로 응답에 의해 처리될 수 있다. 예를 들면, (도 8의 두 번째, 세 번째, 및 네 번째 행들의 항목들에 의해 도시된) "0"에서 "1"로의 잘못된 플립은 출력 F가 잘못되어 변하게 하지 않을 것이다. 3개의 메모리 셀들(26) 중 2개가 그들의 출력에서 0을 공급하는 한, 메모리 셀의 최종 출력 F는 "0"에 남을 것이다.
하이에서 로우로의 셀 플립 및 로우에서 하이로의 셀 플립 양쪽 모두가 도 8의 보팅 회로 응답에 의해 처리될 수 있다. 예를 들면, (도 8의 두 번째, 세 번째, 및 네 번째 행들의 항목들에 의해 도시된) "0"에서 "1"로의 잘못된 플립은 출력 F가 잘못되어 변하게 하지 않을 것이다. 3개의 메모리 셀들(26) 중 2개가 그들의 출력에서 0을 공급하는 한, 메모리 셀의 최종 출력 F는 "0"에 남을 것이다. SRAM 기반 셀들에서는 일어날 수 있으나, 사이리스터 기반 셀들에서는 일어나지 않는, 도 8의 여섯 번째, 일곱 번째, 및 여덟 번째 행들에 의해 도시되어 있는 "1"에서 "0"으로의 잘못된 플립 또한 출력 F가 잘못되어 변하게 하지 않을 것이다. 3개의 메모리 셀들(26) 중 2개가 그들의 출력에서 1을 공급하는 한, 메모리 셀의 최종 출력 F는 "1"에 남을 것이다.
도 8의 표의 보팅 동작은 (예로서) 도 9에서 도시된 유형의 보팅 회로를 사용하여 구현될 수 있다. 도 9에서 도시된 바와 같이, 로직 신호들 A, B, 및 C가 AND 게이트들(42)의 입력들(40)에 제공될 수 있다. 각각의 AND 게이트(42)는, 예를 들면, 그것의 2개의 입력들의 논리 AND 함수인 출력을 각각의 출력 경로(44)에 형성하는 2-입력 AND 게이트일 수 있다. 예를 들면, 도 9의 예에서 맨 왼쪽 AND 게이트(42)는 A AND B(즉, A?B)와 같은 출력 신호를 그것의 출력 경로(44)에 형성한다. 로직 게이트(46)는 라인들(44)에서의 신호들을 입력들로서 수신하고 대응하는 출력 F를 출력 경로(22)에 생성한다. 게이트(46)는 OR 게이트와 같은 로직 게이트일 수 있다. 요구된다면, OR 게이트 대신에 NOR 게이트가 사용될 수 있다(즉, 규칙이 모든 메모리 셀들(26)이 0일 때 F가 로직 1일 것을 요구한다면).
OR 함수를 사용하여 구현될 때, 게이트(46)는 그것의 입력들의 논리 OR(+)인 출력 F를 생성할 것이다. 따라서 도 9의 회로를 이용한 F의 값은 하기 수학식 1에 의해 주어진다.
[수학식 1]
F = A?B + A?C + B?C
수학식 1에 의해 나타내어진 바와 같이, 임의의 2개의 입력들이 하이일 때마다 출력 F는 하이일 것이고 적어도 2개의 로우 값들을 포함하는 입력들의 컬렉션에 응답하여 출력 F는 로우일 것이다(즉, 도 8에 관련하여 설명한 바와 같이, 도 9의 회로는 다수 보팅을 구현한다). 요구된다면, 더 많은 셀들이 메모리 엘리먼트(16)에 포함될 수 있고(예를 들면, 5개) 도 9에서 도시된 유형의 5-입력 보팅 회로가 사용될 수 있다. 그러나, 3-셀 방식들이 일반적으로 회로 리얼 에스테이트(circuit real-estate)를 더 효율적으로 사용할 수 있고 디바이스(10)의 복잡도의 감소를 돕는다.
도 4, 5, 6, 및 7에 관련하여 설명한 바와 같이, 사이리스터 기반 메모리 셀들은 (도 7에 관련하여 설명된 유형의 로직 레벨 명명 규칙을 사용할 때) 일반적으로 로우에서 하이로의 방사선으로 야기된 에러들만을 겪고 하이에서 로우로의 방사선으로 야기된 에러들은 겪지 않는다. 이 특성은 보팅 회로(28)가 단일 셀 플립들 및 이중 셀 플립들 양쪽 모두를 수용하게 하기 위해 이용될 수 있다.
사이리스터 기반 메모리 셀들로부터 형성되는 메모리 셀들(26)과 함께 사용하기에 적당한 유형의 보팅 방식을 구현할 때 보팅 회로(28)가 어떻게 동작하는지를 나타내는 표가 도 10에 도시되어 있다. 도 8의 표와 마찬가지로, 도 10의 표의 처음 3개의 열들은 도 2의 3개의 메모리 셀들(이 경우, 사이리스터 기반 셀들)에 대응한다. 도 2에서 출력 A를 생성하는 사이리스터 기반 메모리 셀은 도 10의 표의 첫 번째 열에 대응하고, 도 2에서 출력 B를 생성하는 사이리스터 기반 메모리 셀은 도 10의 표의 두 번째 열에 대응하고, 도 2에서 출력 C를 생성하는 사이리스터 기반 메모리 셀은 도 10의 표의 세 번째 열에 대응한다. 동작 동안, 보팅 회로(28)(도 2)는 메모리 셀들(26)로부터의 각각의 A, B, 및 C 출력들을 입력들로서 수신하고 도 10의 표의 항목들에 따라서 대응하는 출력 F를 출력 경로(22)에 생성한다. 도 10의 표의 네 번째 열은 보팅 회로(28)의 입력에서 A, B, 및 C의 다양한 조합들에 대하여 생성되는 F의 값들을 나타낸다. 다섯 번째 열은 A, B, 및 C 값들에 몇 개의 에러가 존재하는지를 나타낸다.
행 RA에서 나타내어진 바와 같이, A, B, 및 C가 모두 "1"일 때 출력 F는 "0"일 것이다. F의 값은 이 예에서 메모리 셀들(26)의 중복된 비트들의 값에 관하여 반전된다. 요구된다면, F의 값은 비반전될 수 있다(non-inverted). 행 RA에 의해 나타내어진 경우에, A, B, 및 C 셀들 각각에 저장된 비트는 동일하고 하이이다. 행 RB는 A, B, 및 C 셀들 각각에 저장된 비트가 동일하고 로우인 경우를 나타낸다. 행 RA 및 RB 시나리오들은 메모리 셀들(26)에 어떤 에러도 포함되지 않은 경우들에 대응한다.
방사선 충돌로 인해, "0"을 포함하는 셀들(26)은 잘못되어 "1" 상태로 플립할 수 있다. 행들 RC의 시나리오들에서, 3개의 셀들 중 하나는 잘못되어 "0"으로부터 "1"로 플립하였지만, 이 행들에 대한 대응하는 F 값들에 의해 나타내어진 바와 같이, 출력 F는 불변이다(즉, 단일 메모리 셀 에러에 직면해서도 F는 여전히 "1"과 같다). 행들 RD의 시나리오들에서, 3개의 셀들 중 2개는 잘못되어 "0"으로부터 "1"로 플립하였다. 비록 2개의 셀들이 플립하였다 하더라도, 출력 F는 다시 불변이다(즉, 이중 메모리 셀 에러에 직면해서도 F는 여전히 "1"과 같다). 만약 메모리 엘리먼트 내의 3개의 셀들 모두가 잘못되어 플립한다면(즉, 3개의 "0" 모두가 "1"로 플립한다면), F의 값(즉, 메모리 엘리먼트의 출력은 정확하지 않을 것이다. 그러나, 그러한 3중 셀 에러가 생기는 가능성은 무시해도 좋다.
보팅 회로(28)가 도 10의 로직 함수들을 구현하기 위해 사용될 수 있는 설명적인 회로가 도 11에 도시되어 있다. 도 11에서 도시된 바와 같이, 보팅 회로(28)는 3개의 p-채널 MOS(PMOS) 트랜지스터들(52) 및 3개의 n-채널 MOS(NMOS) 트랜지스터들(54)을 가질 수 있다. 트랜지스터들(52)은 그들의 소스-드레인 단자들이 단자(48)와 단자(56) 사이에 병렬로 연결되도록 구성될 수 있다. 트랜지스터들(54)은 그들의 소스-드레인 단자들이 노드(56)와 단자(50) 사이에 직렬로 서로에 연결되도록 구성될 수 있다. 단자(48)는 보팅 회로(28)에 양의 전원 전압 Vcc를 공급하기 위해 사용될 수 있다. 단자(50)는 보팅 회로(28)에 접지 전원 전압 Vss(예를 들면, 0 볼트)를 공급하기 위해 사용될 수 있다.
PMOS 트랜지스터들(52) 각각은 각각의 메모리 셀 출력(즉, 각각, A, B, 또는 C)을 수신하는 게이트를 가질 수 있다. NMOS 트랜지스터들(54) 각각은, 각각, A, B, 또는 C를 수신하는 게이트를 가질 수 있다. 출력 F는 노드(56)에서 제공될 수 있다. 도 11의 회로를 이용하여, 노드(56)에서의 출력 F는 입력들 A, B, 및 C에 응답하여 수학식 2에 따라서 신호를 생성할 것이다.
[수학식 2]
F = NOT (A?B?C)
수학식 2에 의해 나타내어진 보팅 회로 동작은 도 10의 표의 항목들에 대응하고, 각각이 3개의 사이리스터 기반 메모리 셀들을 포함하는 메모리 엘리먼트들의 사용에 관련하여 설명한 바와 같이, 1-셀 및 2-셀 에러들을 정정하기에 적합하다.
보팅 회로들을 갖는 메모리 엘리먼트들(16)을 사용하는 도 1의 회로(10)를 작동하는 데 수반되는 설명적인 단계들이 도 12에 도시되어 있다. 도 12의 동작들에서 사용되는 보팅 회로들은, 예를 들면, (예로서) 도 10 및 11에 관련하여 설명한 바와 같이, 단일 에러들 및 이중 에러들 양쪽 모두로부터 복구되는 능력 및 사이리스터 기반 메모리 셀들(26)을 갖는 메모리 엘리먼트들(16) 내의 보팅 회로들(28)일 수 있다.
단계(58)에서는, 어레이(14)가 클리어될 수 있다. 예를 들면, 도 5의 트랜지스터 TCC와 같은 트랜지스터들은, 클리어 제어 신호 CL을 하이로 취함으로써, 양의 전원 전압 Vcc가 사이리스터(32)에 가해지는 것을 차단하는 것에 의해, 오프 될 수 있다. 이런 식으로 사이리스터(32)로부터 Vcc가 제거되면, 사이리스터(32)는 클리어될 것이고, 다시 전력을 공급받을 때, 도 7에서 도시된 "0" 상태에서 동작할 것이다.
단계(60)에서는, 제어 회로(12)가 소망의 데이터를 메모리 엘리먼트들(16)에 로딩하는 제어 신호들을 제어 라인들(18 및 20)과 같은 제어 라인들에 발행할 수 있다. 예를 들면, 도 5 및 7에 관련하여 설명한 바와 같이, 메모리 셀들(26)을 그들의 "0" 상태로부터 "1" 상태로 이행시키기 위해 게이트들 G에 선택적으로 펄스가 가해질 수 있다. 메모리 셀 게이트들 G에 펄스가 가해지지 않은 메모리 엘리먼트들에서, 메모리 셀들의 콘텐츠는 "0"으로 남을 것이다.
소프트 에러 업셋 이벤트들에 대한 면역성을 보증하기 위해, 각각의 메모리 엘리먼트 내의 3개의 셀들(26) 모두는 동일한 방식으로 취급될 수 있다. 예를 들면, 만약 주어진 메모리 엘리먼트의 출력 F를 "0"이 되게 하는 것이 요구된다면, 그 메모리 엘리먼트 내의 3개의 메모리 셀들(26) 모두는 그들의 "1" 상태에 놓일 수 있는 반면, 만약 메모리 엘리먼트의 출력 F를 "1"이 되게 하는 것이 요구된다면, 그 메모리 엘리먼트 내의 3개의 메모리 셀들(26) 모두는 그들의 "0" 상태에 놓일 수 있다. (비반전 방식들에서는, "1"을 생성하기로 되어 있는 엘리먼트의 셀들에 3개의 "1"이 로딩되고 "0"을 생성하기로 되어 있는 엘리먼트의 셀들에 3개의 "0"이 로딩된다)
어레이(14) 내의 메모리 엘리먼트들에 중복된 데이터가 로딩된 후에, 회로(10)가 시스템에서 사용될 수 있다(단계(62)). 단계(62)의 동작 동안에, 방사선 충돌들은 회로(10) 내의 셀들(26) 중 일부가 잘못되어 플립하게 할 수 있다. 사이리스터 기반 셀들이 사용되는 경우, 플립은 한 방향으로만(예를 들면, "0"으로부터 "1"로) 일어나므로, 단일 에러 및 이중 에러 양쪽 모두의 시나리오들을 처리할 수 있는 도 11에 관련하여 설명된 유형의 보팅 회로가 사용될 수 있다. 보팅 회로(28)의 출력 F는 회로(10) 내의 프로그램 가능 로직 회로에 가해질 수 있다. 예를 들면, 각각의 출력 F는 도 1의 설명적인 트랜지스터(24)와 같은 프로그램 가능 트랜지스터의 대응하는 게이트에 가해질 수 있고, 그것에 의해 소망의 로직 기능을 수행하도록 프로그램 가능 트랜지스터들 및 프로그램 가능 트랜지스터들을 포함하는 프로그램 가능 로직을 구성한다.
추가 실시예들
추가 실시예 1
메모리 엘리먼트로서, 중복된 데이터를 저장하도록 동작 가능한 복수의 메모리 셀들; 및 상기 메모리 셀들로부터 신호들을 수신하고 상기 메모리 엘리먼트를 위한 대응하는 출력을 생성하는 보팅 회로를 포함한다.
추가 실시예 2
추가 실시예 1에서 정의된 메모리 엘리먼트로서, 상기 메모리 셀들은 사이리스터들을 포함한다.
추가 실시예 3
추가 실시예 2에서 정의된 메모리 엘리먼트로서, 상기 보팅 회로는, 제1 단자와 출력 노드 사이에 병렬로 연결된 3개의 트랜지스터들의 제1 세트; 상기 출력 노드와 제2 단자 사이에 직렬로 연결된 3개의 트랜지스터들의 제2 세트를 포함하고, 상기 출력 노드는 상기 메모리 엘리먼트를 위한 상기 출력을 생성하도록 동작 가능하다.
추가 실시예 4
추가 실시예 3에서 정의된 메모리 엘리먼트로서, 상기 메모리 셀들 중 적어도 하나는 양의 전원 전압을 수신하도록 동작 가능한 애노드를 갖고 캐소드를 갖는 사이리스터를 포함하고, 상기 보팅 회로는 상기 캐소드에 연결된다.
추가 실시예 5
추가 실시예 3에서 정의된 메모리 엘리먼트로서, 상기 메모리 셀들 각각은 양의 전원 전압을 수신하도록 동작 가능한 애노드를 갖고 캐소드를 갖는 각각의 사이리스터를 포함하고, 상기 캐소드들은 상기 신호들을 상기 보팅 회로에 공급한다.
추가 실시예 6
추가 실시예 1에서 정의된 메모리 엘리먼트로서, 상기 메모리 셀들은 사이리스터들을 포함하고 상기 보팅 회로는 상기 메모리 셀들이 로직 0을 포함할 때 상기 출력에서 로직 1을 생성하도록 동작 가능하다.
추가 실시예 7
추가 실시예 1에서 정의된 메모리 엘리먼트로서, 상기 보팅 회로는 상기 복수의 메모리 셀들 모두가 동일한 로직 값을 포함할 때 및 상기 복수의 메모리 셀들이 상기 복수의 메모리 셀들에 저장된 나머지 값들과 다른 하나의 값을 포함할 때 동일한 출력을 생성하도록 동작 가능하다.
추가 실시예 8
추가 실시예 1에서 정의된 메모리 엘리먼트로서, 상기 메모리 셀들은 정확한 하나의 비트 및 잘못되어 플립된 2개의 비트(two erroneously flipped bits)를 포함하고 상기 보팅 회로는 상기 메모리 셀들로부터의 상기 신호들에 기초하여 상기 출력의 정확한 버전을 생성하도록 동작 가능하다.
추가 실시예 9
추가 실시예 1에서 정의된 메모리 엘리먼트로서, 상기 메모리 셀들은 SRAM(static random-access memory) 셀들을 포함한다.
추가 실시예 10
추가 실시예 9에서 정의된 메모리 엘리먼트로서, 상기 보팅 회로는 적어도 3개의 로직 게이트들을 포함하고 각각의 로직 게이트는 상기 SRAM 셀들의 각각의 쌍으로부터 신호들을 수신한다.
추가 실시예 11
메모리 엘리먼트로서, 각각이 데이터의 각각의 비트를 저장하는 3개의 메모리 셀들; 및 상기 3개의 메모리 셀들에 연결되고 상기 3개의 메모리 셀들 내의 데이터의 비트들에 응답하여 출력을 생성하도록 동작 가능한 보팅 회로를 포함한다.
추가 실시예 12
추가 실시예 11에서 정의된 메모리 엘리먼트로서, 각각의 메모리 셀은 사이리스터를 포함한다.
추가 실시예 13
추가 실시예 12에서 정의된 메모리 엘리먼트로서, 상기 사이리스터들은 애노드들 및 캐소드들을 포함하고, 상기 애노드들은 양의 전원 전압을 수신하고, 상기 캐소드들은 상기 데이터의 비트들을 상기 보팅 회로에 제공하도록 동작 가능하다.
추가 실시예 14
추가 실시예 13에서 정의된 메모리 엘리먼트로서, 상기 3개의 메모리 셀들 중 제1 메모리 셀은 정확한 비트를 포함하고, 상기 3개의 메모리 셀들 중 제2 및 제3 메모리 셀들은 잘못되어 플립된 비트들을 포함하고, 상기 보팅 회로는 상기 메모리 셀들로부터의 상기 정확한 비트 및 상기 잘못되어 플립된 비트들에 응답하여 상기 출력의 정확한 버전을 생성하도록 동작 가능하다.
추가 실시예 15
추가 실시예 14에서 정의된 메모리 엘리먼트로서, 상기 보팅 회로는 적어도 3개의 병렬 트랜지스터들을 포함하고 각각의 트랜지스터는 상기 메모리 셀들 중 각각의 메모리 셀에 연결된 게이트를 갖는다.
추가 실시예 16
추가 실시예 15에서 정의된 메모리 엘리먼트로서, 상기 보팅 회로는 직렬로 연결된 적어도 3개의 트랜지스터들을 포함하고 각각의 트랜지스터는 상기 3개의 메모리 셀들 중 각각의 메모리 셀에 연결된 게이트를 갖는다.
추가 실시예 17
집적 회로로서, 3개의 사이리스터 기반 메모리 셀들 및 상기 사이리스터 기반 메모리 셀들에 연결되고 상기 사이리스터 기반 메모리 셀들로부터의 3개의 각각의 저장된 데이터 비트들에 기초하여 출력을 생성하도록 동작 가능한 보팅 회로를 갖는 적어도 하나의 메모리 엘리먼트; 및 상기 메모리 엘리먼트로부터 상기 출력을 수신하는 게이트를 갖는 적어도 하나의 프로그램 가능 트랜지스터를 포함한다.
추가 실시예 18
추가 실시예 17에서 정의된 집적 회로로서, 상기 적어도 하나의 메모리 엘리먼트는 복수의 메모리 엘리먼트들 중 하나를 포함하고, 각각의 메모리 엘리먼트는 3개의 각각의 데이터 비트들을 저장하도록 동작 가능한 3개의 사이리스터 기반 메모리 셀들을 갖고 각각의 메모리 엘리먼트는 그 메모리 엘리먼트의 상기 3개의 사이리스터 기반 메모리 셀들에 연결된 보팅 회로를 갖고, 각각의 메모리 엘리먼트의 상기 보팅 회로는 그 메모리 엘리먼트의 상기 3개의 사이리스터 기반 메모리 셀들에 저장된 상기 데이터 비트들에 기초하여 대응하는 출력을 생성하도록 동작 가능하고, 상기 프로그램 가능 트랜지스터는 복수의 프로그램 가능 트랜지스터들 중 하나를 포함하고 각각의 프로그램 가능 트랜지스터는 상기 복수의 메모리 엘리먼트들 중 각각의 메모리 엘리먼트의 출력에 연결된 각각의 게이트를 갖는다.
추가 실시예 19
추가 실시예 18에서 정의된 집적 회로로서, 각각의 사이리스터 기반 메모리 셀은 양의 전원 전압을 수신하도록 동작 가능한 애노드 및 그 사이리스터 기반 메모리 셀에 대한 데이터 비트가 저장되는 캐소드를 갖는다.
추가 실시예 20
추가 실시예 19에서 정의된 집적 회로로서, 상기 보팅 회로들은 각각 병렬로 연결된 3개의 트랜지스터들을 갖는다.
앞서 말한 것은 단지 이 발명의 원리들의 예증이 되는 것에 불과하고 본 발명의 범위 및 정신에서 벗어나지 않고 이 기술의 숙련자들에 의해 다양한 변경들이 이루어질 수 있다. 앞의 실시예들은 개별적으로 또는 임의의 조합으로 구현될 수 있다.

Claims (20)

  1. 메모리 엘리먼트로서,
    중복된 데이터(redundant data)를 저장하도록 동작 가능한 복수의 메모리 셀들; 및
    상기 메모리 셀들로부터 신호들을 수신하고 상기 메모리 엘리먼트를 위한 대응하는 출력을 생성하는 보팅 회로(voting circuit)
    를 포함하는, 메모리 엘리먼트.
  2. 제1항에 있어서, 상기 메모리 셀들은 사이리스터들(thyristors)을 포함하는, 메모리 엘리먼트.
  3. 제2항에 있어서, 상기 보팅 회로는,
    제1 단자와 출력 노드 사이에 병렬로 연결된 3개의 트랜지스터들로 이루어진 제1 세트; 및
    상기 출력 노드와 제2 단자 사이에 직렬로 연결된 3개의 트랜지스터들로 이루어진 제2 세트
    를 포함하고, 상기 출력 노드는 상기 메모리 엘리먼트를 위한 상기 출력을 생성하도록 동작 가능한, 메모리 엘리먼트.
  4. 제3항에 있어서, 상기 메모리 셀들 중 적어도 하나는 양(positive)의 전원 전압을 수신하도록 동작 가능한 애노드를 갖고 또한 캐소드를 갖는 사이리스터를 포함하고, 상기 보팅 회로는 상기 캐소드에 연결되는, 메모리 엘리먼트.
  5. 제3항에 있어서, 상기 메모리 셀들 각각은, 양의 전원 전압을 수신하도록 동작 가능한 애노드를 갖고 또한 캐소드를 갖는 제각기의 사이리스터를 포함하고, 상기 캐소드들은 상기 신호들을 상기 보팅 회로에 공급하는, 메모리 엘리먼트.
  6. 제1항에 있어서, 상기 메모리 셀들은 사이리스터들을 포함하고, 상기 보팅 회로는 상기 메모리 셀들이 로직 0을 포함할 때 상기 출력에서 로직 1을 생성하도록 동작 가능한, 메모리 엘리먼트.
  7. 제1항에 있어서, 상기 보팅 회로는, 상기 복수의 메모리 셀들 모두가 동일한 로직 값을 포함할 때, 그리고 상기 복수의 메모리 셀들이 상기 복수의 메모리 셀들에 저장된 나머지 값들과 다른 하나의 값을 포함할 때 동일한 출력을 생성하도록 동작 가능한, 메모리 엘리먼트.
  8. 제1항에 있어서, 상기 메모리 셀들은 정확한 하나의 비트 및 오류로 플립된 2개의 비트(two erroneously flipped bits)를 포함하고, 상기 보팅 회로는 상기 메모리 셀들로부터의 상기 신호들에 기초하여 상기 출력의 정확한 버전을 생성하도록 동작 가능한, 메모리 엘리먼트.
  9. 제1항에 있어서, 상기 메모리 셀들은 정적 랜덤 액세스 메모리(static random-access memory) 셀들을 포함하는, 메모리 엘리먼트.
  10. 제9항에 있어서, 상기 보팅 회로는 적어도 3개의 로직 게이트들을 포함하고, 상기 로직 게이트들 각각은, 상기 정적 랜덤 액세스 메모리 셀들의 각 쌍으로부터 신호들을 수신하는, 메모리 엘리먼트.
  11. 메모리 엘리먼트로서,
    3개의 메모리 셀들 - 상기 3개의 메모리 셀들 각각은 데이터의 각 비트를 저장함 -; 및
    상기 3개의 메모리 셀들에 연결되고, 상기 3개의 메모리 셀들 내의 데이터의 비트들에 응답하여 출력을 생성하도록 동작 가능한 보팅 회로
    를 포함하는, 메모리 엘리먼트.
  12. 제11항에 있어서, 상기 메모리 셀들 각각은 사이리스터를 포함하는, 메모리 엘리먼트.
  13. 제12항에 있어서, 상기 사이리스터들은 애노드들 및 캐소드들을 포함하고, 상기 애노드들은 양의 전원 전압을 수신하고, 상기 캐소드들은 상기 데이터의 비트들을 상기 보팅 회로에 제공하도록 동작 가능한, 메모리 엘리먼트.
  14. 제13항에 있어서, 상기 3개의 메모리 셀들 중 제1 메모리 셀은 정확한 비트를 포함하고, 상기 3개의 메모리 셀들 중 제2 및 제3 메모리 셀들은 오류로 플립된 비트들을 포함하고, 상기 보팅 회로는 상기 메모리 셀들로부터의 상기 정확한 비트 및 상기 오류로 플립된 비트들에 응답하여 상기 출력의 정확한 버전을 생성하도록 동작 가능한, 메모리 엘리먼트.
  15. 제14항에 있어서, 상기 보팅 회로는 적어도 3개의 병렬 트랜지스터들을 포함하고, 상기 트랜지스터들 각각은 상기 메모리 셀들 중 각자의 메모리 셀에 연결된 게이트를 갖는, 메모리 엘리먼트.
  16. 제15항에 있어서, 상기 보팅 회로는 직렬로 연결된 적어도 3개의 트랜지스터들을 포함하고, 상기 트랜지스터들 각각은 상기 3개의 메모리 셀들 중 각자의 메모리 셀에 연결된 게이트를 갖는, 메모리 엘리먼트.
  17. 집적 회로로서,
    3개의 사이리스터 기반 메모리 셀들, 및 상기 사이리스터 기반 메모리 셀들에 연결되고 상기 사이리스터 기반 메모리 셀들로부터의 3개의 각자의 저장된 데이터 비트들에 기초하여 출력을 생성하도록 동작 가능한 보팅 회로를 갖는 적어도 하나의 메모리 엘리먼트; 및
    상기 메모리 엘리먼트로부터 상기 출력을 수신하는 게이트를 갖는 적어도 하나의 프로그램 가능 트랜지스터
    를 포함하는, 집적 회로.
  18. 제17항에 있어서, 상기 적어도 하나의 메모리 엘리먼트는 복수의 메모리 엘리먼트들 중 하나를 포함하고, 상기 메모리 엘리먼트들 각각은 3개의 각자의 데이터 비트들을 저장하도록 동작 가능한 3개의 사이리스터 기반 메모리 셀들을 갖고, 상기 메모리 엘리먼트들 각각은 그 메모리 엘리먼트의 상기 3개의 사이리스터 기반 메모리 셀들에 연결된 보팅 회로를 갖고, 상기 메모리 엘리먼트들 각각의 보팅 회로는 그 메모리 엘리먼트의 상기 3개의 사이리스터 기반 메모리 셀들에 저장된 상기 데이터 비트들에 기초하여 대응하는 출력을 생성하도록 동작 가능하고, 상기 프로그램 가능 트랜지스터는 복수의 프로그램 가능 트랜지스터들 중 하나를 포함하고, 상기 프로그램 가능 트랜지스터들 각각은 상기 복수의 메모리 엘리먼트들 중 각자의 메모리 엘리먼트의 출력에 연결된 각자의 게이트를 갖는, 집적 회로.
  19. 제18항에 있어서, 상기 사이리스터 기반 메모리 셀들 각각은 양의 전원 전압을 수신하도록 동작 가능한 애노드, 및 그 사이리스터 기반 메모리 셀에 대한 데이터 비트가 저장되는 캐소드를 갖는, 집적 회로.
  20. 제19항에 있어서, 상기 보팅 회로들 각각은 병렬로 연결된 3개의 트랜지스터들을 갖는, 집적 회로.
KR1020110117443A 2010-11-19 2011-11-11 중복된 비트 및 메모리 엘리먼트 보팅 회로를 갖는 메모리 어레이 KR101875606B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/950,944 2010-11-19
US12/950,944 US8739010B2 (en) 2010-11-19 2010-11-19 Memory array with redundant bits and memory element voting circuits

Publications (2)

Publication Number Publication Date
KR20120054524A true KR20120054524A (ko) 2012-05-30
KR101875606B1 KR101875606B1 (ko) 2018-07-09

Family

ID=46065554

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110117443A KR101875606B1 (ko) 2010-11-19 2011-11-11 중복된 비트 및 메모리 엘리먼트 보팅 회로를 갖는 메모리 어레이

Country Status (4)

Country Link
US (2) US8739010B2 (ko)
KR (1) KR101875606B1 (ko)
CN (1) CN102479557B (ko)
TW (1) TWI545579B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8739010B2 (en) * 2010-11-19 2014-05-27 Altera Corporation Memory array with redundant bits and memory element voting circuits
CN103516351B (zh) * 2012-06-18 2016-08-10 中国航空工业集团公司西安飞机设计研究所 一种四余度模拟信号硬件表决电路
US10453515B2 (en) * 2017-05-10 2019-10-22 Tc Lab, Inc. Methods of operation for cross-point thyristor memory cells with assist gates
KR20210092986A (ko) 2020-01-17 2021-07-27 삼성전자주식회사 스토리지 컨트롤러, 이를 포함하는 스토리지 시스템 및 스토리지 컨트롤러의 동작 방법

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3018468A1 (de) * 1980-05-14 1981-11-19 Siemens AG, 1000 Berlin und 8000 München Thyristor mit steuerbaren emitterkurzschluessen und verfahren zu seinem betrieb
JPS61267846A (ja) * 1984-11-12 1986-11-27 Nec Corp メモリを有する集積回路装置
SE465056B (sv) * 1989-05-12 1991-07-15 Ellemtel Utvecklings Ab Foerfarande foer att undvika latenta fel i ett logiknaet foer majoritetsval av binaera signaler
US5128944A (en) * 1989-05-26 1992-07-07 Texas Instruments Incorporated Apparatus and method for providing notification of bit-cell failure in a redundant-bit-cell memory
US5764533A (en) * 1995-08-01 1998-06-09 Sun Microsystems, Inc. Apparatus and methods for generating cell layouts
FR2764096B1 (fr) * 1997-05-30 1999-08-13 Sgs Thomson Microelectronics Test d'une memoire en circuit integre pourvue d'au moins un element de redondance
US5982199A (en) * 1998-01-13 1999-11-09 Advanced Micro Devices, Inc. Faster NAND for microprocessors utilizing unevenly sub-nominal P-channel and N-channel CMOS transistors with reduced overlap capacitance
US6259637B1 (en) * 2000-12-01 2001-07-10 Advanced Micro Devices, Inc. Method and apparatus for built-in self-repair of memory storage arrays
US7036059B1 (en) * 2001-02-14 2006-04-25 Xilinx, Inc. Techniques for mitigating, detecting and correcting single event upset effects in systems using SRAM-based field programmable gate arrays
US6804162B1 (en) * 2001-04-05 2004-10-12 T-Ram, Inc. Read-modify-write memory using read-or-write banks
US6785169B1 (en) * 2002-04-05 2004-08-31 T-Ram, Inc. Memory cell error recovery
US6879530B2 (en) * 2002-07-18 2005-04-12 Micron Technology, Inc. Apparatus for dynamically repairing a semiconductor memory
US7467326B2 (en) * 2003-02-28 2008-12-16 Maxwell Technologies, Inc. Self-correcting computer
US6937531B2 (en) * 2003-07-21 2005-08-30 Infineon Technologies Ag Memory device and method of storing fail addresses of a memory cell
US7268373B1 (en) * 2003-11-12 2007-09-11 T-Ram Semiconductor, Inc. Thyristor-based memory and its method of operation
US7304327B1 (en) * 2003-11-12 2007-12-04 T-Ram Semiconductor, Inc. Thyristor circuit and approach for temperature stability
US7328377B1 (en) * 2004-01-27 2008-02-05 Altera Corporation Error correction for programmable logic integrated circuits
US6937527B1 (en) * 2004-05-27 2005-08-30 Hewlett-Packard Development Company, L.P. High reliability triple redundant latch with voting logic on each storage node
US7336102B2 (en) * 2004-07-27 2008-02-26 International Business Machines Corporation Error correcting logic system
EP1825626B1 (en) * 2004-12-17 2018-07-04 The European Union, represented by the European Commission Spreading codes for a satellite navigation system
US7301362B2 (en) * 2005-03-14 2007-11-27 California Institute Of Technology Duplicated double checking production rule set for fault-tolerant electronics
JP5066855B2 (ja) * 2005-07-26 2012-11-07 富士通株式会社 Sram,半導体記憶装置,sramにおけるデータ維持方法,及び電子装置
US7236000B1 (en) * 2005-10-18 2007-06-26 Xilinx, Inc. Method and apparatus for error mitigation of programmable logic device configuration memory
JP2007257791A (ja) * 2006-03-24 2007-10-04 Fujitsu Ltd 半導体記憶装置
US8069377B2 (en) * 2006-06-26 2011-11-29 Micron Technology, Inc. Integrated circuit having memory array including ECC and column redundancy and method of operating the same
US7542340B2 (en) * 2006-07-11 2009-06-02 Innovative Silicon Isi Sa Integrated circuit including memory array having a segmented bit line architecture and method of controlling and/or operating same
JP4228395B2 (ja) * 2006-07-25 2009-02-25 セイコーエプソン株式会社 強誘電体メモリ装置、強誘電体メモリ装置の駆動方法、電子機器および電子機器の駆動方法
US20080059869A1 (en) * 2006-09-01 2008-03-06 The Regents Of The University Of California Low cost, high performance error detection and correction
US7870472B2 (en) * 2007-01-31 2011-01-11 Sandisk 3D Llc Methods and apparatus for employing redundant arrays to configure non-volatile memory
US7710781B2 (en) * 2007-09-25 2010-05-04 Intel Corporation Data storage and processing algorithm for placement of multi-level flash cell (MLC) VT
EP2685633A3 (en) * 2008-01-17 2014-05-07 Robust Chip, Inc. Layout method for soft-error hard electronics, and radiation hardened logic cell
US7772874B2 (en) * 2008-01-28 2010-08-10 Actel Corporation Single event transient mitigation and measurement in integrated circuits
US7768317B1 (en) * 2008-05-21 2010-08-03 Actel Corporation Radiation-tolerant flash-based FPGA memory cells
US8630113B1 (en) 2008-11-25 2014-01-14 Altera Corporation Apparatus for memory with improved performance and associated methods
US8464130B2 (en) * 2008-12-08 2013-06-11 Globalfoundries Inc. Memory device and method thereof
US7877627B1 (en) * 2008-12-18 2011-01-25 Supercon, L.L.C. Multiple redundant computer system combining fault diagnostics and majority voting with dissimilar redundancy technology
JP2010237739A (ja) * 2009-03-30 2010-10-21 Fujitsu Ltd キャッシュ制御装置,情報処理装置およびキャッシュ制御プログラム
US8754533B2 (en) * 2009-04-14 2014-06-17 Monolithic 3D Inc. Monolithic three-dimensional semiconductor device and structure
US7859292B1 (en) * 2009-07-14 2010-12-28 United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Methods and circuitry for reconfigurable SEU/SET tolerance
US8455919B2 (en) * 2010-07-19 2013-06-04 Micron Technology, Inc. High density thyristor random access memory device and method
US8427199B2 (en) * 2010-10-29 2013-04-23 Honeywell International Inc. Magnetic logic gate
US8739010B2 (en) * 2010-11-19 2014-05-27 Altera Corporation Memory array with redundant bits and memory element voting circuits

Also Published As

Publication number Publication date
US9582374B2 (en) 2017-02-28
KR101875606B1 (ko) 2018-07-09
US20120131424A1 (en) 2012-05-24
US8739010B2 (en) 2014-05-27
CN102479557A (zh) 2012-05-30
US20140245113A1 (en) 2014-08-28
TW201225096A (en) 2012-06-16
TWI545579B (zh) 2016-08-11
CN102479557B (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
US7920410B1 (en) Memory elements with increased write margin and soft error upset immunity
EP2409301B1 (en) Volatile memory elements with soft error upset immunity
JP6006838B2 (ja) ソフトエラーアップセット不感性を有するメモリ要素
US8873278B1 (en) Volatile memory elements with soft error upset immunity
US9344067B1 (en) Dual interlocked cell (DICE) storage element with reduced charge sharing
US9276083B2 (en) Memory elements with stacked pull-up devices
JP2006519511A (ja) 放射線に耐性のある、スタティックramのフィールドプログラマブルゲートアレイにおける誤りの検出と訂正の方法及び装置
US9768757B1 (en) Register circuitry with asynchronous system reset
US10812076B2 (en) Logic integrated circuit and semiconductor device
US10573375B1 (en) Methods and circuitry for programming non-volatile resistive switches using varistors
US9576617B1 (en) Multiport memory element circuitry
US8476951B2 (en) Latch circuit with single node single-event-upset immunity
US9582374B2 (en) Memory array with redundant bits and memory element voting circuits
US8670265B2 (en) Reducing power in SRAM using supply voltage control
US8797790B1 (en) Memory elements with soft error upset immunity
US7965541B2 (en) Non-volatile single-event upset tolerant latch circuit
US20150138866A1 (en) Semiconductor memory
US9564208B2 (en) Low power radiation hardened memory cell
US10269426B2 (en) Integrated circuits with complementary non-volatile resistive memory elements

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant