KR20220144256A - 반도체 기억장치 - Google Patents

반도체 기억장치 Download PDF

Info

Publication number
KR20220144256A
KR20220144256A KR1020210050718A KR20210050718A KR20220144256A KR 20220144256 A KR20220144256 A KR 20220144256A KR 1020210050718 A KR1020210050718 A KR 1020210050718A KR 20210050718 A KR20210050718 A KR 20210050718A KR 20220144256 A KR20220144256 A KR 20220144256A
Authority
KR
South Korea
Prior art keywords
block
memory cell
control unit
cell array
data
Prior art date
Application number
KR1020210050718A
Other languages
English (en)
Other versions
KR102504489B1 (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 윈본드 일렉트로닉스 코포레이션
Priority to KR1020210050718A priority Critical patent/KR102504489B1/ko
Publication of KR20220144256A publication Critical patent/KR20220144256A/ko
Application granted granted Critical
Publication of KR102504489B1 publication Critical patent/KR102504489B1/ko

Links

Images

Classifications

    • 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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • 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
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Dram (AREA)

Abstract

[과제] 소비 전력의 증대를 억제하는 동시에, 행 해머 문제에 의한 데이터 파괴를 회피하는 것이 가능한 반도체 기억장치를 제공한다.
[해결 수단] 반도체 기억장치(10)는, 외부에서부터 입력된 소정의 커맨드에 포함되는 메모리 셀의 리프레시 간격에 관한 정보에 의거해서 메모리 셀의 리프레시 간격을 설정하는 리프레시 제어부(제1 제어부)(16)를 포함한다.

Description

반도체 기억장치{SEMICONDUCTOR MEMORY DEVICE}
본 발명은 반도체 기억장치에 관한 것이다.
반도체 기억장치의 일종인 DRAM(Dynamic Random Access Memory)은, 메모리 셀을 구성하는 커패시터(컨덴서)에 전하를 축적함으로써 정보를 기억하고, 전원이 공급되지 않게 되면, 기억된 정보가 소실되는 휘발성 메모리이다. 컨덴서에 축적된 전하는, 일정 시간이 경과하면 방전되므로, DRAM은 정기적으로 전하를 충전하는 리프레시라고 하는 기억 보존 동작이 필요하게 된다(예를 들어, 특허문헌 1 내지 3).
그런데, 다음의 리프레시가 행해질 때까지의 사이에 동일한 행(Row) 어드레스에 대해서 많은 판독 및/또는 기입 요구가 집중되면, 행 해머(Row Hammer) 문제가 발생할 가능성이 있다. 행 해머 문제란, 일정 시간 내에 동일한 행 어드레스에 대해서 많은 액세스가 집중된 경우에, 해당 행 어드레스에 대해서 물리적으로 인접하는 행 어드레스에 대응하는 데이터 비트의 전하가 방전됨으로써, 데이터 파괴를 일으키는 문제이다.
반도체 기억장치에 대한 판독기입 액세스 요구의 양상과 리프레시 간격의 관계의 일례를 도 1에 나타낸다. 도 1에 나타낸 예에서는, 일정 시간(간격I1)이 경과할 때마다 리프레시가 행해지는 것을 상정하고 있다. 도 1(a)에 나타낸 바와 같이, 판독기입 액세스가 빈번하게 요구되지 않을 경우에는, 메모리의 데이터 보유 특성이 손상되는 일이 없다. 그러나, 도 1(b)에 나타낸 바와 같이, 판독기입 액세스가 빈번하게 요구되면, 메모리의 데이터 보유 특성이 손상되어(즉, 데이터 비트의 전하가 방전되어), 데이터 보유 시간이 짧아진다. 이것에 의해, 데이터 파괴가 발생할 가능성이 있다.
CN 107924697 A US 9741421 B TW 201535366 A
이러한 행 해머 문제를 해결하기 위하여, 예를 들어, 메모리 셀의 리프레시 간격(I1)을 항상 짧게 설정하는 것이 고려된다. 그러나, 이 경우에는, 리프레시가 짧은 간격으로 빈번하게 행해지게 되므로, 반도체 기억장치의 소비 전력이 증대될 우려가 있었다.
본 발명은 상기 과제를 감안해서 이루어진 것으로, 소비 전력의 증대를 억제하는 동시에, 행 해머 문제에 의한 데이터 파괴를 회피하는 것이 가능한 반도체 기억장치를 제공하는 것을 목적으로 한다.
상기 과제를 해결하기 위하여, 본 발명은, 외부에서부터 입력된 소정의 커맨드에 포함되는 메모리 셀의 리프레시 간격에 관한 정보에 의거해서 상기 메모리 셀의 리프레시 간격을 설정하는 제1 제어부를 포함하는 반도체 기억장치를 제공한다(발명 1).
이러한 발명(발명 1)에 따르면, 소정의 커맨드가 외부에서부터 입력되면, 해당 커맨드에 포함되는 리프레시 간격에 관한 정보에 의거해서 메모리 셀의 리프레시 간격이 설정되므로, 해당 커맨드를 외부장치(예를 들어, 메모리 제어기 등)로부터 반도체 기억장치에 송신함으로써, 메모리 셀의 리프레시 간격을 외부에서부터 설정하는 것이 가능하게 된다. 이것에 의해, 메모리 셀의 리프레시 간격을 임의로 설정할 수 있으므로, 메모리 셀의 리프레시 간격이 항상 짧게 설정되어 있을 경우와 비교해서, 소비 전력의 증대를 억제할 수 있는 동시에, 행 해머 문제에 의한 데이터 파괴를 회피할 수 있다.
상기 발명(발명 1)에 있어서는, 상기 소정의 커맨드는, 상기 반도체 기억장치의 기능을 설정하기 위한 커맨드이어도 된다(발명 2).
이러한 발명(발명 2)에 따르면, 반도체 기억장치의 기능을 설정하는 타이밍(예를 들어, 전원투입 시 등)에 있어서, 메모리 셀의 리프레시 간격을 설정하는 것이 가능하게 된다.
상기 발명(발명 1 내지 2)에 있어서는, 상기 제1 제어부는, 상기 소정의 커맨드가 외부에서부터 입력될 때마다, 상기 소정의 커맨드에 포함되는 메모리 셀의 리프레시 간격에 관한 정보에 의거해서 상기 메모리 셀의 리프레시 간격을 설정해도 된다(발명 3).
이러한 발명(발명 3)에 따르면, 소정의 커맨드가 외부에서부터 입력될 때마다 메모리 셀의 리프레시 간격이 설정되므로, 메모리 셀의 리프레시 간격을 적당히 변경하는 것이 가능하게 된다.
상기 발명(발명 1 내지 3)에 있어서는, 어레이 형태로 배치된 복수의 메모리 셀을 포함하는 메모리 셀 어레이가 복수의 블록으로 분할되어 있을 경우에, 상기 복수의 블록 중 어느 것인가의 블록을 선택하는 제2 제어부로서, 선택된 블록 내의 복수의 메모리 셀에 기억되는 데이터에 대해서 생성된 오류 정정 부호 내의 검사 데이터를 소정의 기억 영역에 기억하는 제2 제어부를 구비해도 된다(발명 4).
예를 들면, Wi-Fi(등록상표) 등의 통신 분야의 어플리케이션에서는, 글로벌 변수 등이 메모리 셀 어레이에 기억된 경우에, 해당 글로벌 변수 등이 연속적으로 판독 또는 개서되는 등과 같이, 동일한 어드레스에 대해서 집중적으로 액세스가 행해질 경우가 있다. 이 경우, 동일한 어드레스에 대해서 집중적으로 액세스가 행해짐으로써, 행 해머 문제가 발생할 우려가 있었다.
또한, 오류 정정 부호(부호화 데이터)를 이용해서 데이터를 반도체 기억장치에 기억함으로써, 반도체 기억장치에 기억된 데이터에 에러(예를 들어, 행 해머 문제에 기인하는 반전이나 소실 등)가 발생한 경우이어도 해당 에러를 검출 및 정정하는 것이 가능하게 되므로, 데이터의 보유 특성을 높일 수 있다. 그러나, 메모리 셀 어레이에 기억되는 모든 데이터에 대해서 오류 정정 부호를 생성할 경우에는, 오류 정정에 이용되는 검사 데이터 등을 기억하는 회로의 규모가 증대되므로, 에어리어 페널티가 커질 우려가 있었다.
이러한 발명(발명 4)에 따르면, 메모리 셀 어레이 내의 복수의 블록 중 선택된 블록에 기억된 데이터에 대해서만 오류 정정 부호를 생성하는 것이 가능하게 되므로, 선택된 블록에 기억되는 데이터의 보유 특성을 높일 수 있다. 또, 이러한 발명(발명 4)에 따르면, 메모리 셀 어레이에 기억되는 모든 데이터에 대해서 오류 정정 부호를 생성할 경우와 비교해서, 검사 데이터 등을 기억하는 회로의 규모가 증대되는 것을 억제하는 것이 가능하게 되므로, 에어리어 페널티를 저감시킬 수 있다.
상기 발명(발명 4)에 있어서는, 상기 소정의 기억 영역은 상기 메모리 셀 어레이와는 상이한 다른 메모리 셀 어레이에 설치되어도 된다(발명 5).
이러한 발명(발명 5)에 따르면, 오류 정정 부호 내의 검사 데이터를, 데이터가 기억되는 메모리 셀 어레이와는 상이한 다른 메모리 셀 어레이에 기억하는 것이 가능하게 되므로, 동일한 메모리 셀 어레이에 검사 데이터가 기억됨으로써 데이터의 기억 용량이 저감되는 것을 억제할 수 있다.
상기 발명(발명 4)에 있어서는, 상기 소정의 기억 영역은, 상기 복수의 블록 중 선택된 블록과는 상이한 다른 블록에 설치되어도 된다(발명 6).
이러한 발명(발명 6)에 따르면, 오류 정정 부호 내의 검사 데이터를, 데이터가 기억되는 메모리 셀 어레이와 같은 메모리 셀 어레이에 기억하는 것이 가능하게 되므로, 검사 데이터를 기억하기 위하여 다른 메모리 셀 어레이가 형성되는 것에 의해서 회로 규모가 증대되는 것을 억제할 수 있다.
상기 발명(발명 1 내지 6)에 있어서는, 어레이 형태로 배치된 1T1C형의 복수의 메모리 셀을 포함하는 메모리 셀 어레이가 복수의 블록으로 분할되어 있을 경우에, 상기 복수의 블록 중 어느 것인가의 블록을 선택하는 제2 제어부로서, 선택된 블록 내의 복수의 메모리 셀에 기억되는 데이터를, 2T2C형의 메모리 셀로 구성된 소정의 기억 영역에 기억하는 제2 제어부를 구비해도 된다(발명 7).
이러한 발명(발명 7)에 따르면, 메모리 셀 어레이 내의 복수의 블록 중 선택된 블록에 기억된 데이터만을 2T2C형의 메모리 셀에 기억하는 것이 가능하게 되므로, 선택된 블록에 기억되는 데이터의 보유 특성을 높이는 것이 가능하게 된다.
또한, 이러한 발명(발명 7)에 따르면, 메모리 셀 어레이 내의 모든 메모리 셀을 2T2C형으로 구성할 필요가 없으므로, 예를 들면 메모리 셀 어레이 내의 모든 메모리 셀을 2T2C형으로 구성했을 경우와 비교해서, 회로 규모를 축소시킬 수 있다.
상기 발명(발명 4 내지 7)에 있어서는, 상기 제2 제어부는, 외부에서부터 입력된 소정의 커맨드에 포함되는 선택 블록에 관한 정보에 의거해서, 상기 복수의 블록 중 어느 것인가의 블록을 선택해도 된다(발명 8).
이러한 발명(발명 8)에 따르면, 소정의 커맨드가 외부에서부터 입력되면, 해당 커맨드에 포함되는 선택 블록에 관한 정보에 의거해서, 복수의 블록 중 어느 것인가의 블록이 선택되므로, 해당 커맨드를 외부장치(예를 들어, 메모리 제어기 등)로부터 반도체 기억장치에 송신함으로써, 복수의 블록 중 어느 것인가의 블록(즉, 소정의 기억 영역에 기억되는 데이터에 대응하는 블록)을 외부에서부터 설정(선택)하는 것이 가능하게 된다.
본 발명의 반도체 기억장치에 따르면, 소비 전력의 증대를 억제하는 동시에, 행 해머 문제에 의한 데이터 파괴를 회피할 수 있다.
도 1은 종래의 반도체 기억장치에 대한 판독기입 액세스 요구의 양상과 리프레시 간격의 관계의 일례를 나타내는 도면이다.
도 2는 본 발명의 제1 실시형태에 따른 반도체 기억장치의 구성예를 나타내는 블록도이다.
도 3은 제1 구성 레지스터의 구성예를 나타내는 도면이다.
도 4(a)는 리프레시 제어부의 구성예를 나타내는 도면이고, (b)는 분주기의 구성예를 나타내는 도면이고, (c)는 복수의 모드마다의 리프레시 요구 신호를 나타내는 타임 차트이다.
도 5는 제2 구성 레지스터의 구성예를 나타내는 도면이다.
도 6은 본 실시형태의 반도체 기억장치에 있어서의 데이터 제어의 일례를 설명하는 도면이다.
도 7은 리프레시 간격이 설정될 경우의 반도체 기억장치의 처리의 일례를 나타내는 플로우 챠트이다.
도 8은 본 발명의 제2 실시형태에 따른 반도체 기억장치의 구성예를 나타내는 도면이다.
도 9는 본 실시형태의 반도체 기억장치에 있어서의 데이터 제어의 일례를 설명하는 도면이다.
도 10은 본 발명의 제3 실시형태에 따른 반도체 기억장치의 구성예를 나타내는 도면이다.
도 11은 제2 구성 레지스터의 구성예를 나타내는 도면이다.
도 12는 본 실시형태의 반도체 기억장치에 있어서의 데이터 제어의 일례를 설명하는 도면이다.
이하, 본 발명의 실시형태에 따른 반도체 기억장치에 대해서 첨부 도면을 참조해서 상세히 설명한다. 단, 이 실시형태는 예시이며, 본 발명은 이것으로 한정되는 것은 아니다.
또, 본 명세서 등에 있어서의 "제1", "제2", "제3" 등의 표기는, 어떤 구성 요소를 다른 구성 요소와 구별하기 위하여 사용되는 것이며, 해당 구성 요소의 수, 순서 또는 우선도 등을 한정하기 위한 것은 아니다. 예를 들면, "제1 요소" 및 "제2 요소"라는 기재가 존재할 경우, "제1 요소" 및 "제2 요소"라고 하는 2개의 요소만이 채용되는 것을 의미하는 것은 아니고, "제1 요소"가 "제2 요소"에 선행하지 않으면 안되는 것을 의미하는 것도 아니다.
(제1 실시형태)
도 2는, 본 발명의 제1 실시형태에 따른 반도체 기억장치의 구성예를 나타내는 블록도이다. 본 실시형태에 따른 반도체 기억장치(10)는, I/O부(11)와, 커맨드 디코더(12)와, 어드레스 디코더(13)와, 데이터 버스 제어부(14)와, 메모리 코어(15)와, 리프레시 제어부(16)와, ECC 제어부(17)를 구비한다. 반도체 기억장치(10) 내의 각 부(11 내지 17)는, 전용의 하드웨어 디바이스나 논리회로에 의해 구성되어도 된다. 또, 본 실시형태에서는, 설명을 간략화하기 위하여, 예를 들면 전원회로, 클록 생성기 등의 다른 주지의 구성은 표시되어 있지 않다.
본 실시형태에 따른 반도체 기억장치는, DRAM이나, 리프레시 동작을 내부에서 제어하도록 구성된 pSRAM(pseudo-Static Random Access Memory)이어도 된다. 종래의 DRAM에서는, 예를 들어, 디스터브 워드선 어드레스를 등록하고, 추가의 리프레시 동작으로 데이터를 회복하는 등에 의해서 행 해머 문제를 해결하도록 구성된 전용의 회로가 설치되어 있는 것이 존재한다. 한편, pSRAM은, 종래의 DRAM과 비교해서 소형화가 진행되고 있기 때문에, 이러한 전용의 회로를 형성하기 위한 스페이스를 확보하는 것이 곤란하다. 또한, 만일, 이러한 전용의 회로를 pSRAM에 형성한 경우에는, pSRAM의 비용이 높아질 우려가 있다.
그래서, 본 실시형태에 따른 반도체 기억장치가 pSRAM일 경우에는, 이러한 전용의 회로를 형성하는 일 없이, 소비 전력의 증대를 억제하는 동시에, 행 해머 문제에 의한 데이터 파괴를 회피할 수 있으므로, 바람직하다.
I/O부(11)는, 외부장치(예를 들어, 메모리 제어기 등)과의 사이에서 신호의 송수신을 행하도록 구성되어 있다. 구체적으로 설명하면, I/O부(11)는 외부장치로부터 입력된 커맨드 신호를 커맨드 디코더(12)에 출력한다. 또한, I/O부(11)는 외부장치로부터 입력된 어드레스 신호를 어드레스 디코더(13)에 출력한다. 더욱, I/O부(11)는, 외부장치로부터 입력된 데이터 신호(이후, "데이터"라고 칭함)를 데이터 버스 제어부(14)에 출력하고, 데이터 버스 제어부(14)로부터 출력된 데이터를 외부장치에 출력한다.
커맨드 디코더(12)는, I/O부(11)를 개재해서 외부에서부터 입력된 커맨드 신호를 디코딩하고, 내부 커맨드를 생성한다. 여기서, 생성되는 내부 커맨드에는, 예를 들어, 액티브 신호, 리드 신호, 라이트 신호, 프리차지신호 등이 포함된다. 또한, 커맨드 디코더(12)는, 내부 커맨드를 생성했을 경우에, 판독 또는 기입 액세스나 리프레시 등의 대상이 되는 워드선을 활성화시키기 위한 신호를 메모리 코어(15)의 행 디코더(15a)(후술함)에 출력한다. 또, 커맨드 디코더(12)는, 내부 커맨드를 생성했을 경우에, 판독 또는 기입 액세스나 리프레시 등의 대상이 되는 비트선을 활성화하기 위한 신호를 메모리 코어(15)의 열 디코더(15b)(후술함)에 출력한다. 또한, 커맨드 디코더(12)는, 생성한 내부 커맨드를 어드레스 디코더(13) 및 데이터 버스 제어부(14)에 출력하고, 어드레스 디코더(13) 및 데이터 버스 제어부(14)의 각각을 내부 커맨드에 의거해서 제어시켜도 된다.
또, 커맨드 디코더(12)는, 반도체 기억장치(10)의 기능을 설정하기 위한 레지스터 기입 커맨드(소정의 커맨드)가 외부장치로부터 I/O부(11)를 개재해서 입력된 경우로서, 제1 구성 레지스터의 설정 내용을 나타내는 제1 구성 레지스터 정보(도 3에 나타냄)가 레지스터 기입 커맨드에 포함되어 있을 경우에, 제1 구성 레지스터 정보를 제1 구성 레지스터(도시생략)에 기억한다. 또한, 커맨드 디코더(12)는, 제1 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드가 입력된 경우에, 레지스터 기입 커맨드를 리프레시 제어부(16)에 출력한다. 또한, 커맨드 디코더(12)는, 하이 레벨(high level)의 리프레시 신호(srefz)(도 4에 나타냄)가 리프레시 제어부(16)로부터 입력될 때마다, 리프레시의 대상이 되는 메모리 셀의 어드레스를 나타내는 신호를 어드레스 디코더(13)에 출력한다.
도 3을 참조해서, 제1 구성 레지스터의 구성예에 대해서 설명한다. 도 3은 HyperBus™ 인터페이스를 이용한 pSRAM의 제1 구성 레지스터(CR0)를 일례로서 나타내고 있다. 제1 구성 레지스터는, 반도체 기억장치(10)의 전력 모드나 액세스 프로토콜의 동작 조건 등의 정의에 이용되는 것이며, 도 3에 나타낸 바와 같이, 소정 수의 비트(도면의 예에서는, 16비트) 내에서 할당된 몇개의 기능(도면의 예에서는, "딥파워다운 인에이블", "구동 강도", "리프레시 간격", "초기 레이턴시", "고정 레이턴시", "하이브리드 버스트 모드", "버스트 길이")을 외부에서부터 지정할 수 있도록 구성되어 있다. 또, 도 3에 나타낸 "리프레시 간격"이외의 다른 기능에 관해서는 본 발명과 특별히 관계가 없으므로, 상세한 설명을 생략한다.
본 실시형태에서는, 제1 구성 레지스터의 비트 11 내지 9에 있어서, 리프레시 간격을 지정할 수 있도록 구성되어 있다. 도 3에 나타낸 예에서는, 제1 구성 레지스터의 비트 11 내지 9의 값에 의해 복수(도면의 예에서는, 4개)의 모드(도면의 예에서는, "ModeA", "ModeB", "ModeC", "ModeD") 및 통상 동작(디폴트) 모드 중 어느 것인가의 모드가 지정되도록 되어 있다. 여기에서, 각 모드는, 본 발명에 있어서의 "리프레시 간격에 관한 정보"의 일례이다. 도 3에 나타낸 예에서는, 제1 구성 레지스터의 비트 11 내지 9의 값이 000b인 경우에는 ModeA가 지정되고, 제1 구성 레지스터의 비트 11 내지 9의 값이 00lb인 경우에는 ModeB가 지정되고, 제1 구성 레지스터의 비트 11 내지 9의 값이 010b인 경우에는 ModeC가 지정되고, 제1 구성 레지스터의 비트 11 내지 9의 값이 01lb인 경우에는 ModeD가 지정되고, 제1 구성 레지스터의 비트 11 내지 9의 값이 11lb인 경우에는 통상 동작 모드가 지정된다. 각 모드의 리프레시 간격은 서로 상이하고, 본 실시형태에서는, 통상 동작 모드, ModeA, ModeB, ModeC, ModeD의 순서로 리프레시 간격이 짧아지도록 구성되어 있다.
도 3에 나타낸 제1 구성 레지스터의 내용은, 예를 들어, 제1 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드가 반도체 기억장치(10)의 전원투입 시에 외부장치로부터 입력되는 것에 의해서, 반도체 기억장치(10) 내의 제1 구성 레지스터에 기입되어도 된다. 또, 제1 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드는, 반도체 기억장치(10)에 전원이 투입되고 있는 동안, 임의의 타이밍으로 입력되어도 된다.
도 2로 되돌아가면, 어드레스 디코더(13)는, I/O부(11)를 개재해서 외부에서부터 입력된 어드레스 신호나, 커맨드 디코더(12)로부터 입력된 리프레시의 대상이 되는 메모리 셀의 어드레스를 나타내는 신호를 디코딩하고, 메모리 코어(15)의 메모리 셀 어레이(15c) 내의 복수의 워드선 중 활성화되는 워드선을 나타내는 행 어드레스 신호를 생성한다. 그리고, 어드레스 디코더(13)는, 생성한 행 어드레스 신호를 메모리 코어(15)의 행 디코더(15a)에 출력한다.
또, 어드레스 디코더(13)는, I/O부(11)를 개재해서 외부에서부터 입력된 어드레스 신호를 디코딩하고, 메모리 코어(15)의 메모리 셀 어레이(15c) 내의 복수의 비트선 중 활성화되는 비트선을 나타내는 열 어드레스 신호를 생성한다. 그리고, 어드레스 디코더(13)는 생성한 열 어드레스 신호를 메모리 코어(15)의 열 디코더(15b)에 출력한다.
데이터 버스 제어부(14)는, I/O부(11)를 개재해서 외부에서부터 입력된 데이터를 메모리 코어(15)의 감지 증폭기(도시생략) 및 ECC 제어부(17)에 출력한다. 또, 데이터 버스 제어부(14)는 메모리 코어(15)의 감지 증폭기 또는 ECC 제어부(17)로부터 출력된 데이터를 I/O부(11)에 출력한다.
본 실시형태에 있어서, 메모리 코어(15)는 행 디코더(15a)와, 열 디코더(15b)와, 메모리 셀 어레이(15c)와, ECC 셀 어레이(15d)와, 감지 증폭기(도시생략)를 구비한다.
행 디코더(15a)는, 독출 또는 기입 액세스나 리프레시 등의 대상이 되는 워드선을 활성화하기 위한 신호가 커맨드 디코더(12)로부터 입력된 경우에, 메모리 셀 어레이(15c) 내의 복수의 워드선 중, 어드레스 디코더(13)로부터 출력된 행 어드레스 신호에 의해서 표시된 워드선을 활성화(구동)한다.
열 디코더(15b)는, 독출 또는 기입 액세스나 리프레시 등의 대상이 되는 비트선을 활성화하기 위한 신호가 커맨드 디코더(12)로부터 입력된 경우에, 메모리 셀 어레이(15c) 내의 복수의 비트선 중, 어드레스 디코더(13)로부터 출력된 열 어드레스 신호에 의해서 표시된 비트선을 활성화(구동)한다.
메모리 셀 어레이(15c)는, 행렬(어레이) 형태로 배치된 복수의 메모리 셀(도시생략)을 포함한다. 각 메모리 셀에는, I/O부(11)를 개재해서 외부에서부터 입력된 데이터가 기억된다. 각 메모리 셀은, 주지의 1T1C(1트랜지스터1커패시터)형의 메모리 셀이어도 된다. 또한, 각 메모리 셀은, 복수의 워드선 중 어느 1개의 워드선과, 복수의 비트선 중 어느 1개의 비트선에 접속되어 있다. 또한, 복수의 워드선의 각각은 행 디코더(15a)에 접속되어 있고, 복수의 비트선의 각각은 열 디코더(15b) 및 감지 증폭기에 접속되어 있다.
ECC 셀 어레이(15d)는, 메모리 셀 어레이(15c)와 마찬가지로, 행렬 형태로 배치된 복수의 메모리 셀(도시생략)을 포함한다. 각 메모리 셀에는, ECC 제어부(17)로부터 출력된 검사 데이터(패리티 데이터)가 기억된다. 각 메모리 셀은, 1T1C형의 메모리 셀이어도 된다. 또한, 각 메모리 셀은, 복수의 워드선 중 어느 1개의 워드선과, 복수의 비트선 중 어느 1개의 비트선에 접속되어 있다. 또한, 복수의 워드선의 각각은 행 디코더(15a)에 접속되어 있고, 복수의 비트선의 각각은 열 디코더(15b) 및 감지 증폭기에 접속되어 있다.
또, 메모리 셀 어레이(15c) 및 ECC 셀 어레이(15d)의 각각의 메모리 셀에 대한 데이터 제어의 상세에 대해서는 주지의 기술과 마찬가지이므로, 본 실시형태에서는 설명을 생략한다.
리프레시 제어부(16)는, 리프레시 신호(srefz)를 생성해서 커맨드 디코더(12)에 출력한다. 여기서, 리프레시 제어부(16)는, 제1 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드(소정의 커맨드)가 커맨드 디코더(12)로부터 입력된 경우에, 레지스터 기입 커맨드에 포함되는 메모리 셀의 리프레시 간격에 관한 정보에 의거해서 메모리 셀의 리프레시 간격을 설정하도록 구성되어 있다. 한편, 리프레시 제어부(16)는, 본 발명에 있어서의 "제1 제어부"의 일례이다.
또한, 리프레시 제어부(16)는, 제1 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드(소정의 커맨드)가 외부에서부터 입력될 때마다, 레지스터 기입 커맨드에 포함되는 메모리 셀의 리프레시 간격에 관한 정보에 의거해서 메모리 셀의 리프레시 간격을 설정해도 된다.
도 4를 참조해서, 리프레시 제어부(16)의 구성 및 동작의 일례에 대해서 설명한다. 도 4(a)에 나타낸 바와 같이, 리프레시 제어부(16)는 발진회로(16a)와 분주기(16b)를 구비한다.
발진회로(16a)는, 리프레시 동작을 개시하기 위한 리프레시 트리거 신호(bsclk)를 소정의 주파수에서 생성해서, 분주기(16b)에 출력한다.
분주기(16b)는, 발진회로(16a)로부터 출력된 리프레시 트리거 신호(bsclk)를, 레지스터 기입 커맨드에 포함되는 메모리 셀의 리프레시 간격(여기서는, ModeA, ModeB, ModeC, ModeD 중 어느 것인가의 모드)에 따라서 분주한다. 그리고, 분주기(16b)는, 분주한 신호를, 리프레시 신호(srefz)로서 커맨드 디코더(12)에 출력한다. 또, 여기에서는, 통상 동작 모드에 관한 설명을 생략하고 있다.
분주기(16b)의 구성예를 도 4(b)에 나타낸다. 도 4(b)에 나타낸 바와 같이, 분주기(16b)는, 직렬로 접속된 3개의 T플립-플롭과, 4개의 스위치(sw_ModeA, sw_ModeB, sw_ModeC, sw_ModeD)를 구비한다.
발진회로(16a)로부터 출력된 리프레시 트리거 신호(bsclk)는, 3개의 T플립-플롭 중 1단계째의 T플립-플롭과, 4개의 모드 중 ModeD에 대응하는 스위치(sw_ModeD)의 일단측에 입력된다. 스위치(sw_ModeD)는, 온(on)이 되면, 리프레시 트리거 신호(bsclk)를 리프레시 신호(srefz)로서 출력한다.
1단계째의 T플립-플롭으로부터 출력된 신호는, 3개의 T플립-플롭 중 2단계째의 T플립-플롭과, 4개의 모드 중 ModeC에 대응하는 스위치(sw_ModeC)의 일단측에 입력된다. 스위치(sw_ModeC)는, 온 상태가 되면, 1단계째의 T플립-플롭으로부터 출력된 신호를 리프레시 신호(srefz)로서 출력한다.
2단계째의 T플립-플롭으로부터 출력된 신호는, 3개의 T플립-플롭 중 3단계째의 T플립-플롭과, 4개의 모드 중 ModeB에 대응하는 스위치(sw_ModeB)의 일단측에 입력된다. 스위치(sw_ModeB)는, 온 상태가 되면, 2단계째의 T플립-플롭으로부터 출력된 신호를 리프레시 신호(srefz)로서 출력한다.
3단계째의 T플립-플롭으로부터 출력된 신호는, 4개의 모드 중 ModeA에 대응하는 스위치(sw_ModeA)의 일단측에 입력된다. 스위치(sw_ModeA)는, 온 상태가 되면, 3단계째의 T플립-플롭으로부터 출력된 신호를 리프레시 신호(srefz)로서 출력한다.
이러한 구성에 의해, 리프레시 신호(srefz)의 주파수는, 도 4(c)에 나타낸 바와 같이, ModeA, ModeB, ModeC, ModeD의 순서로 높아진다(즉, 리프레시 간격이 ModeA, ModeB, ModeC, ModeD의 순서로 짧아진다).
리프레시 제어부(16)는, 레지스터 기입 커맨드에 포함되는 메모리 셀의 리프레시 간격에 따라서, 분주기(16b)의 각 스위치(sw_ModeA, sw_ModeB, sw_ModeC, sw_ModeD) 중 어느 1개의 스위치만을 온 상태로 제어하고, 다른 스위치를 오프 상태로 제어한다. 예를 들면, 레지스터 기입 커맨드에 포함되는 메모리 셀의 리프레시 간격이 ModeA인 경우에는, 스위치(sw_ModeA)가 온 상태가 되도록 제어되고, 다른 스위치(sw_ModeB, sw_ModeC, sw_ModeD)가 오프 상태가 되도록 제어된다.
ECC 제어부(17)는, 데이터 버스 제어부(14)로부터 메모리 셀 어레이(15c)에 출력(기억)되는 데이터에 대해서 오류 정정 부호(부호화 데이터)를 생성하고, 생성한 오류 정정 부호 내의 검사 데이터(패리티 데이터)를 ECC 셀 어레이(15d)에 기억한다. 또한, ECC 제어부(17)는, 오류 정정 부호가 생성되어 있는 데이터가 메모리 셀 어레이(15c)로부터 출력되는(판독되는) 경우에, ECC 셀 어레이(15d)에 기억된 검사 데이터를 이용해서 해당 데이터의 오류 검출 및 정정 처리를 행한다. 그리고, ECC 제어부(17)는 오류 검출 및 정정 처리후의 데이터를 데이터 버스 제어부(14)에 출력한다.
또한, 본 실시형태에 있어서, ECC 제어부(17)는, 메모리 셀 어레이(15c)에 기억되는 데이터에 대해서 오류 정정 부호(부호화 데이터)를 생성하는 오류 정정 부호생성부(17a)(도 6에 나타냄)와, 오류 정정 부호가 생성되어 있는 데이터가 메모리 셀 어레이(15c)로부터 판독될 경우에, 해당 데이터의 오류 검출 및 정정 처리를 행하는 오류 검출 및 정정부(17b)(도 6에 나타냄)를 구비한다.
여기서, 오류 정정 부호의 생성 및 오류 정정 처리는, 예를 들면 해밍 부호(Hamming code)나 BCH(Bose-Chaudhuri-Hocquenghem) 부호 등을 이용한 주지의 방법으로 행해져도 된다. 또한, 부호화 데이터의 원래가 되는 데이터의 길이 및 검사 데이터의 길이는 임의로 선택되어도 되지만, 여기에서는, 부호화 데이터의 기원이 되는 데이터의 길이가 8비트이며, 검사 데이터의 길이가 4비트일 경우를 일례로서 설명한다. 또, 이 경우에는, 8비트의 데이터 중 1비트의 오류 정정이 행해진다.
본 실시형태에 있어서, ECC 제어부(17)는, 행렬(어레이) 형태로 배치된 복수의 메모리 셀을 포함하는 메모리 셀 어레이(15c)가 복수의 블록으로 분할되어 있을 경우에, 복수의 블록 중 어느 것인가의 블록을 선택하도록 구성되어 있다. 또한, ECC 제어부(17)는, 선택된 블록 내의 복수의 메모리 셀에 기억되는 데이터에 대해서 생성된 오류 정정 부호 내의 검사 데이터를 ECC 셀 어레이(15d)(소정의 기억 영역)에 기억하도록 구성되어 있다. 또, ECC 제어부(17)는, 본 발명에 있어서의 "제2 제어부"의 일례이다.
또한, ECC 제어부(17)는, 제2 구성 레지스터 정보(도 5에 나타냄)를 포함하는 레지스터 기입 커맨드(소정의 커맨드)가 외부에서부터 입력된 경우에, 레지스터 기입 커맨드에 포함되는 선택 블록에 관한 정보에 의거해서, 복수의 블록 중 어느 것인가의 블록을 선택해도 된다. 이것에 의해, 레지스터 기입 커맨드(소정의 커맨드)가 외부에서부터 입력되면, 해당 커맨드에 포함되는 선택 블록에 관한 정보에 의거해서, 복수의 블록 중 어느 것인가의 블록이 선택되므로, 해당 커맨드를 외부장치(예를 들어, 메모리 제어기 등)로부터 반도체 기억장치(10)에 송신함으로써, 복수의 블록 중 어느 것인가의 블록(여기서는, 오류 정정 부호의 생성 대상이 되는 데이터가 기억되는 블록)을 외부에서부터 설정(선택)하는 것이 가능하게 된다.
여기서, 레지스터 기입 커맨드에 포함되는 선택 블록에 관한 정보에 의거해서 어느 것인가의 블록이 선택될 경우에는, 커맨드 디코더(12)는, 제2 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드(소정의 커맨드)가 외부장치로부터 I/O부(11)를 개재해서 입력된 경우에, 제2 구성 레지스터 정보를 제2 구성 레지스터(도시생략)에 기억한다. 또한, 커맨드 디코더(12)는, 제2 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드가 입력된 경우에, 레지스터 기입 커맨드를 ECC 제어부(17)에 출력한다.
도 5를 참조해서, 제2 구성 레지스터의 구성예에 대해서 설명한다. 도 5는 HyperBus™ 인터페이스를 이용한 pSRAM의 제2 구성 레지스터(CR1)을 일례로서 나타내고 있다. 제2 구성 레지스터는, 도 5에 나타낸 바와 같이, 소정수의 비트(도면의 예에서는, 16비트) 내에서 할당된 기능(도면의 예에서는, "ECC 적용 블록 제어")을 외부에서부터 지정할 수 있도록 구성되어 있다.
본 실시형태에서는, 제2 구성 레지스터의 비트 11 내지 9에 있어서, ECC 적용 블록(즉, 오류 정정 부호의 생성 대상이 되는 데이터가 기억되는 블록)을 지정(선택)할 수 있도록 구성되어 있다. 도 5에 나타낸 예에서는, 제2 구성 레지스터의 비트 11 내지 9의 값에 의해 복수(도면의 예에서는, 4개)의 블록 중 어느 것인가의 블록이 선택되도록 되어 있다. 여기에서, 도 5에 나타낸 각 블록은, 본 발명에 있어서의 "선택 블록에 관한 정보"의 일례이다. 도 5에 나타낸 예에서는, 제2 구성 레지스터의 비트 11 내지 9의 값이 000b인 경우에는 블록 n-3(n은, 3 이상의 정수)이 선택되고, 제2 구성 레지스터의 비트 11 내지 9의 값이 001b인 경우에는 블록 n-2가 선택되고, 제2 구성 레지스터의 비트 11 내지 9의 값이 010b인 경우에는 블록 n-1이 선택되고, 제2 구성 레지스터의 비트 11 내지 9의 값이 011b인 경우에는 블록 n이 선택된다. 또한, 제2 구성 레지스터의 비트 11 내지 9의 값이 111b인 경우에는 통상 동작 모드(선택 블록 없음, 즉, 블록을 선택하지 않음)가 지정된다.
도 5에 나타낸 제2 구성 레지스터의 내용은, 예를 들어, 제2 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드가 반도체 기억장치(10)의 전원투입 시에 외부장치로부터 입력되는 것에 의해, 반도체 기억장치(10) 내의 제2 구성 레지스터에 기입되어도 된다. 또, 제2 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드는, 반도체 기억장치(10)에 전원이 투입되고 있는 동안, 임의의 타이밍으로 입력되어도 된다.
또, 도 5에 나타낸 예에서는, 복수의 블록 및 통상 동작 모드의 각각에 있어서, 복수의 스위치(도면의 예에서는, sw0, sw1, sw2, sw3, /sw0, /sw1, /sw2, /sw3)의 온오프 상태가 표시되어 있지만, 이것에 대해서는 도 6을 참조해서 설명한다.
도 6을 참조해서, 본 실시형태의 반도체 기억장치(10)에 있어서의 데이터 제어의 일례에 대해서 설명한다. 본 실시형태에서는, 도 6에 나타낸 바와 같이, 메모리 셀 어레이(15c)가, 연속하는 행 어드레스의 복수의 블록(도면의 예에서는, 블록0, …, 블록 n-3, 블록 n-2, 블록 n-1, 블록 n)으로 분할되어 있다. 각 블록에 있어서의 데이터의 기억 용량은, 동일해도 되고, 상이해도 된다. 예를 들면, 메모리 셀 어레이(15c)의 기억 용량이 64M비트이며, 각 블록의 기억 용량이 2M비트인 경우에는, 메모리 셀 어레이(15c)가 32개의 블록으로 분할된다. 또한, 이 경우에 있어서, 부호화 데이터의 기원이 되는 데이터의 길이가 8비트이며, 검사 데이터의 길이가 4비트일 경우에는, ECC 셀 어레이(15d)의 기억 용량은 1M비트가 된다.
우선, 메모리 셀 어레이(15c)에 데이터가 기억될 경우에 대해서 설명한다. 메모리 셀 어레이(15c)의 각 블록의 입력측에는, 데이터 버스 제어부(14)로부터 출력된 데이터가 입력(기억)된다. 또한, 각 블록 중 선택된 블록(도면의 예에서는, 블록 n-2)에 입력되는 데이터는, 스위치부(SW_A)를 개재해서 ECC 제어부(17)의 오류 정정 부호생성부(17a)에도 입력된다.
여기서, ECC 제어부(17)는, 레지스터 기입 커맨드에 포함되는 선택 블록에 관한 정보에 의거해서, 블록(여기서는, 블록 n-2)을 선택해도 된다. 또한, ECC 제어부(17)는, 각 블록 중 선택한 블록(여기서는, 블록 n-2)에 데이터가 입력될 경우에, 해당 데이터가 오류 정정 부호생성부(17a)에도 입력되도록 스위치부(SW_A)를 제어해도 된다.
예를 들면, 레지스터 기입 커맨드에 있어서 블록 n-2가 선택되어 있을 경우에는, ECC 제어부(17)는, 블록 n-2에 대응하는 각 스위치의 온오프 상태에 따라서, 스위치부(SW_A) 내의 각 스위치를 제어한다. 여기에서, 도 6에 나타낸 예에서는, 스위치부(SW_A) 내에 4개의 스위치(/sw0, /sw1, /sw2, /sw3)가 설치되어 있다. 스위치부(SW_A)의 스위치(/sw0)의 일단측은, 블록 n-3의 입력측에 접속되어 있고, 스위치(/sw0)의 타단측은, 오류 정정 부호생성부(17a)에 접속되어 있다. 스위치부(SW_A)의 스위치(/sw1)의 일단측은, 블록 n-2의 입력측에 접속되어 있고, 스위치(/sw1)의 타단측은, 오류 정정 부호생성부(17a)에 접속되어 있다. 스위치부(SW_A)의 스위치(/sw2)의 일단측은, 블록 n-1의 입력측에 접속되어 있고, 스위치(/sw2)의 타단측은, 오류 정정 부호생성부(17a)에 접속되어 있다. 스위치부(SW_A)의 스위치(/sw3)의 일단측은, 블록 n의 입력측에 접속되어 있고, 스위치(/sw3)의 타단측은, 오류 정정 부호생성부(17a)에 접속되어 있다.
또, 도 5에 나타낸 예에서는, 블록 n-2가 선택된 경우에, 스위치(/sw1)가 온 상태가 되고, 스위치(/sw0, /sw2, /sw3)가 오프 상태가 되도록 설정되어 있다. 이 경우, ECC 제어부(17)는, 스위치부(SW_A)의 스위치(/sw1)를 온 상태로 제어하고, 스위치부(SW_A)의 스위치(/sw0, /sw2, /sw3)를 오프 상태로 제어한다. 이것에 의해, 메모리 셀 어레이(15c)의 블록 n-2에 입력되는 데이터가, 스위치부(SW_A)를 개재해서 ECC 제어부(17)의 오류 정정 부호생성부(17a)에도 입력된다.
또한, ECC 제어부(17)의 오류 정정 부호생성부(17a)는, 선택된 블록(여기서는, 블록 n-2)에 입력되는 데이터가 스위치부(SW_A)의 스위치(/sw1)를 개재해서 입력되면, 해당 데이터에 대해서 오류 정정 부호(부호화 데이터)를 생성하고, 생성한 오류 정정 부호 내의 검사 데이터를 ECC 셀 어레이(15d)에 기억한다.
다음에, 메모리 셀 어레이(15c)로부터 데이터가 출력될 경우에 대해서 설명한다. 메모리 셀 어레이(15c)의 각 블록 중 선택된 블록(여기서는, 블록 n-2) 이외의 다른 블록으로부터 출력되는 데이터는, 스위치부(SW_B)를 개재해서 데이터 버스 제어부(14)에 입력된다. 또한, 각 블록 중 선택된 블록(여기서는, 블록 n-2)으로부터 출력되는 데이터는, 스위치부(SW_B)를 개재해서 데이터 버스 제어부(14)에 입력되는 일 없이, 스위치부(SW_C)를 개재해서 ECC 제어부(17)의 오류 검출 및 정정부(17b)에 입력된다.
여기서, ECC 제어부(17)는, 각 블록 중 선택한 블록(여기서는, 블록 n-2)으로부터 데이터가 출력될 경우에, 해당 데이터가 ECC 제어부(17)의 오류 검출 및 정정부(17b)에 입력되도록 스위치부(SW_B), SW_C을 제어해도 된다. 예를 들면, 레지스터 기입 커맨드에 있어서 블록 n-2가 선택되어 있을 경우에는, ECC 제어부(17)는, 블록 n-2에 대응하는 각 스위치의 온오프 상태에 따라서, 스위치부(SW_B) 및 스위치부(SW_C)의 각 스위치를 제어한다. 여기서, 도 6에 나타낸 예에서는, 스위치부(SW_B) 내에 4개의 스위치(sw0, sw1, sw2, sw3)가 설치되어 있다. 스위치부(SW_B)의 스위치(sw0)의 일단측은 블록 n-3의 출력측에 접속되어 있고, 스위치(sw0)의 타단측은 데이터 버스 제어부(14)에 접속되어 있다. 스위치부(SW_B)의 스위치(sw1)의 일단측은 블록 n-2의 출력측에 접속되어 있고, 스위치(sw1)의 타단측은 데이터 버스 제어부(14)에 접속되어 있다. 스위치부(SW_B)의 스위치(sw2)의 일단측은 블록 n-1의 출력측에 접속되어 있고, 스위치(sw2)의 타단측은 데이터 버스 제어부(14)에 접속되어 있다. 스위치부(SW_B)의 스위치(sw3)의 일단측은 블록 n의 출력측에 접속되어 있고, 스위치(sw3)의 타단측은 데이터 버스 제어부(14)에 접속되어 있다.
또한, 도 6에 나타낸 예에서는, 스위치부(SW_C) 내에 4개의 스위치(/sw0, /sw1, /sw2, /sw3)가 설치되어 있다. 스위치부(SW_C)의 스위치(/sw0)의 일단측은 블록 n-3의 출력측과 스위치부(SW_B)의 스위치(sw0) 사이에 접속되어 있고, 스위치(/sw0)의 타단측은 오류 검출 및 정정부(17b)에 접속되어 있다. 스위치부(SW_C)의 스위치(/sw1)의 일단측은 블록 n-2의 출력측과 스위치부(SW_B)의 스위치(sw1) 사이에 접속되어 있고, 스위치(/sw1)의 타단측은 오류 검출 및 정정부(17b)에 접속되어 있다. 스위치부(SW_C)의 스위치(/sw2)의 일단측은 블록 n-1의 출력측과 스위치부(SW_B)의 스위치(sw2) 사이에 접속되어 있고, 스위치(/sw2)의 타단측은 오류 검출 및 정정부(17b)에 접속되어 있다. 스위치부(SW_C)의 스위치(/sw3)의 일단측은 블록 n의 출력측과 스위치부(SW_B)의 스위치(sw3) 사이에 접속되어 있고, 스위치(/sw3)의 타단측은 오류 검출 및 정정부(17b)에 접속되어 있다.
또한, 도 5에 나타낸 예에서는, 블록 n-2가 선택된 경우에, 스위치(/sw1, sw0, sw2, sw3)가 온 상태가 되고, 스위치(/sw0, /sw2, /sw3, sw1)가 오프 상태가 되도록 설정되어 있다. 이 경우, ECC 제어부(17)는, 스위치부(SW_B)의 스위치(sw0, sw2, sw3)를 온 상태로 제어하고, 스위치부(SW_B)의 스위치(sw1)를 오프 상태로 제어한다. 또한, ECC 제어부(17)는, 스위치부(SW_C)의 스위치(/sw1)를 온 상태로 제어하고, 스위치(/sw0, /sw2, /sw3)를 오프 상태로 제어한다. 이것에 의해, 메모리 셀 어레이(15c)의 블록 n-2로부터 출력된 데이터가, 스위치부(SW_C)를 개재해서 ECC 제어부(17)의 오류 검출 및 정정부(17b)에 입력된다.
ECC 제어부(17)의 오류 검출 및 정정부(17b)는, 선택된 블록(여기서는, 블록 n-2)으로부터 출력된 데이터가 스위치부(SW_C)의 스위치(/sw1)를 개재해서 입력되면, ECC 셀 어레이(15d)에 기억된 검사 데이터를 이용해서, 입력된 데이터에 대해서 오류 검출 및 정정 처리를 행한다.
그리고, ECC 제어부(17)는, 오류 검출 및 정정 처리후의 데이터를, 스위치부(SW_D)를 개재해서 데이터 버스 제어부(14)에 출력한다. 여기에서, ECC 제어부(17)는, 오류 검출 및 정정 처리후의 데이터가, 각 블록 중 선택한 블록(여기서는, 블록 n-2)으로부터 출력된 데이터로서 데이터 버스 제어부(14)에 입력되도록, 스위치부(SW_D)를 제어해도 된다.
예를 들면, 레지스터 기입 커맨드에 있어서 블록 n-2가 선택되어 있을 경우에는, ECC 제어부(17)는, 블록 n-2에 대응하는 각 스위치의 온오프 상태에 따라서, 스위치부(SW_D)의 각 스위치를 제어한다. 여기에서, 도 6에 나타낸 예에서는, 스위치부(SW_D)내에 4개의 스위치(/sw0, /sw1, /sw2, /sw3)가 설치되어 있다. 스위치부(SW_D)의 스위치(/sw0)의 일단측은 스위치부(SW_B)의 스위치(sw0)와 데이터 버스 제어부(14) 사이에 접속되어 있고, 스위치(/sw0)의 타단측은 오류 검출 및 정정부(17b)에 접속되어 있다. 스위치부(SW_D)의 스위치(/sw1)의 일단측은 스위치부(SW_B)의 스위치(sw1)와 데이터 버스 제어부(14) 사이에 접속되어 있고, 스위치(/sw1)의 타단측은 오류 검출 및 정정부(17b)에 접속되어 있다. 스위치부(SW_D)의 스위치(/sw2)의 일단측은 스위치부(SW_B)의 스위치(sw2)와 데이터 버스 제어부(14) 사이에 접속되어 있고, 스위치(/sw2)의 타단측은 오류 검출 및 정정부(17b)에 접속되어 있다. 스위치부(SW_D)의 스위치(/sw3)의 일단측은 스위치부(SW_B)의 스위치(sw3)와 데이터 버스 제어부(14) 사이에 접속되어 있고, 스위치(/sw3)의 타단측은 오류 검출 및 정정부(17b)에 접속되어 있다.
또한, 도 5에 나타낸 예에서는, 블록 n-2가 선택된 경우에, 스위치(/sw1)가 온 상태가 되고, 스위치(/sw0, /sw2, /sw3)가 오프 상태가 되도록 설정되어 있다. 이 경우, ECC 제어부(17)는, 스위치부(SW_D)의 스위치(/sw1)를 온 상태로 제어하고, 스위치부(SW_A)의 스위치(/sw0, /sw2, /sw3)를 오프 상태로 제어한다. 이것에 의해, 오류 검출 및 정정부(17b)로부터 출력된 데이터가 스위치부(SW_D)의 스위치(/sw1)를 개재해서 데이터 버스 제어부(14)에 입력된다.
다음에, 도 7을 참조해서, 본 실시형태에 따른 반도체 기억장치(10)의 동작의 일례에 대해서 설명한다. 또, 여기에서는, 리프레시 간격을 제어할 경우의 반도체 기억장치(10)의 동작에 대해서 설명한다. 반도체 기억장치(10)에 전원이 투입되면, 반도체 기억장치(10)는 제1 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드를 수신했는지의 여부를 판별한다(단계 S100). 구체적으로 설명하면, 커맨드 디코더(12)는 I/O부(11)를 개재해서 레지스터 기입 커맨드가 외부장치로부터 입력되었는지의 여부를 판별한다.
반도체 기억장치(10)가 레지스터 기입 커맨드를 수신했을 경우에(단계 S100: 예), 반도체 기억장치(10)는, 레지스터 기입 커맨드에 있어서 4개의 모드(ModeA, ModeB, ModeC, ModeD) 중 어느 것인가의 모드가 지정되어 있는지의 여부를 판별한다(단계 S101). 구체적으로 설명하면, 커맨드 디코더(12)는, 입력된 레지스터 기입 커맨드를 리프레시 제어부(16)에 출력한다. 한편, 리프레시 제어부(16)는, 입력된 레지스터 기입 커맨드에 포함되는 리프레시 간격에 의거해서, 어느 것인가의 모드가 지정되어 있는지의 여부를 판별한다.
다음에, 반도체 기억장치(10)는, 4개의 모드(ModeA, ModeB, ModeC, ModeD) 중 어느 것인가의 모드가 지정되어 있을 경우에(단계 S101: 예), 지정된 모드에 의거해서 리프레시 간격을 제어한다(단계 S102). 구체적으로 설명하면, 리프레시 제어부(16)는, 지정된 모드에 대응하는 리프레시 신호(srefz)를 생성하고, 커맨드 디코더(12)에 출력한다. 그리고, 반도체 기억장치(10)는, 단계 S100의 처리로 이행한다.
또한, 반도체 기억장치(10)는, 4개의 모드(ModeA, ModeB, ModeC, ModeD) 중 어느 모드도 지정되어 있지 않을 경우에(단계 S101: 아니오), 디폴트의 설정에 의거해서 리프레시 간격을 제어한다(단계 S103). 구체적으로 설명하면, 리프레시 제어부(16)는, 통상 동작 모드에 대응하는 리프레시 신호(srefz)를 생성하고, 커맨드 디코더(12)에 출력한다. 그리고, 반도체 기억장치(10)는 단계 S100의 처리로 이행한다.
또, 반도체 기억장치(10)는, 단계 S100의 처리에 있어서 레지스터 기입 커맨드를 수신하고 있지 않을 경우에(단계 S100: 아니오), 단계 S100의 처리로 이행해도 된다.
이와 같이, 레지스터 기입 커맨드가 외부에서부터 입력되면, 레지스터 기입 커맨드에 포함되는 리프레시 간격에 관한 정보에 의거해서 메모리 셀의 리프레시 간격이 설정된다. 또한, 전원투입 후에 단계 S100의 처리가 반복됨으로써, 레지스터 기입 커맨드가 외부에서부터 입력될 때마다, 레지스터 기입 커맨드에 포함되는 메모리 셀의 리프레시 간격에 관한 정보에 의거해서 메모리 셀의 리프레시 간격을 설정하는 것이 가능하게 된다.
전술한 바와 같이, 본 실시형태의 반도체 기억장치(10)에 따르면, 레지스터 기입 커맨드(소정의 커맨드)가 외부에서부터 입력되면, 레지스터 기입 커맨드에 포함되는 리프레시 간격에 관한 정보에 의거해서 메모리 셀의 리프레시 간격이 설정되므로, 레지스터 기입 커맨드를 외부장치(예를 들어, 메모리 제어기 등)로부터 반도체 기억장치(10)에 송신함으로써, 메모리 셀의 리프레시 간격을 외부에서부터 설정하는 것이 가능하게 된다. 이것에 의해, 메모리 셀의 리프레시 간격을 임의로 설정할 수 있으므로, 메모리 셀의 리프레시 간격이 항상 짧게 설정되어 있을 경우와 비교해서, 소비 전력의 증대를 억제할 수 있는 동시에, 행 해머 문제에 의한 데이터 파괴를 회피할 수 있다.
또한, 본 실시형태에서는, 레지스터 기입 커맨드(소정의 커맨드)는, 반도체 기억장치(10)의 기능을 설정하기 위한 커맨드로서 구성되어 있다. 이것에 의해, 반도체 기억장치의 기능을 설정하는 타이밍(예를 들어, 전원투입시 등)에 있어서, 메모리 셀의 리프레시 간격을 설정하는 것이 가능하게 된다.
또한, 본 실시형태에서는, 리프레시 제어부(16)(제1 제어부)는, 레지스터 기입 커맨드(소정의 커맨드)가 외부에서부터 입력될 때마다, 레지스터 기입 커맨드에 포함되는 메모리 셀의 리프레시 간격에 관한 정보에 의거해서 메모리 셀의 리프레시 간격을 설정하도록 구성되어 있다. 이것에 의해, 레지스터 기입 커맨드가 외부에서부터 입력될 때마다 메모리 셀의 리프레시 간격이 설정되므로, 메모리 셀의 리프레시 간격을 적당히 변경하는 것이 가능하게 된다.
또한, 본 실시형태에 따른 반도체 기억장치(10)는, 어레이 형태로 배치된 복수의 메모리 셀을 포함하는 메모리 셀 어레이(15c)가 복수의 블록으로 분할되어 있을 경우에, 복수의 블록 중 어느 것인가의 블록을 선택하는 ECC 제어부(17)(제2 제어부)로서, 선택된 블록 내의 복수의 메모리 셀에 기억되는 데이터에 대해서 생성된 오류 정정 부호 내의 검사 데이터를 ECC 셀 어레이(15d)(소정의 기억 영역)에 기억하는 ECC 제어부를 구비하고 있다. 이것에 의해, 메모리 셀 어레이(15c) 내의 복수의 블록 중 선택된 블록에 기억된 데이터에 대해서만 오류 정정 부호를 생성하는 것이 가능하게 되므로, 선택된 블록에 기억되는 데이터의 보유 특성을 높일 수 있다. 또한, 메모리 셀 어레이(15c)에 기억되는 모든 데이터에 대해서 오류 정정 부호를 생성할 경우와 비교해서, 검사 데이터 등을 기억하는 회로의 규모가 증대되는 것을 억제하는 것이 가능하게 되므로, 에어리어 페널티를 저감할 수 있다.
또한, 본 실시형태에서는, 검사 데이터가 기억되는 영역(소정의 기억 영역)은, 메모리 셀 어레이(15c)와는 상이한 ECC 셀 어레이(15d)(다른 메모리 셀 어레이)에 설치되어 있다. 이것에 의해, 오류 정정 부호 내의 검사 데이터를, 데이터가 기억되는 메모리 셀 어레이(15c)와는 상이한 ECC 셀 어레이(15d)에 기억하는 것이 가능하게 되므로, 동일한 메모리 셀 어레이에 검사 데이터가 기억되는 것에 의해 데이터의 기억 용량이 저감되는 것을 억제할 수 있다.
(제2 실시형태)
이하, 본 발명의 제2 실시형태에 대해서 설명한다. 본 실시형태의 반도체 기억장치(10)는, ECC 셀 어레이(15d)가 메모리 셀 어레이(15c) 내에 설치되어 있다는 점에 있어서, 제1 실시형태와 상이하다. 이하, 제1 실시형태와 다른 구성에 대해서 설명한다.
도 8에 제2 실시형태에 따른 반도체 기억장치(10)의 구성예를 나타낸다. 도 8에 나타낸 바와 같이, ECC 셀 어레이(15d)는, 메모리 셀 어레이(15c) 내에 설치되어 있다. 상기 제1 실시형태에 있어서 설명한 바와 같이, ECC 셀 어레이(15d)는, 메모리 셀 어레이(15c)와 마찬가지로 구성될 수 있으므로, ECC 셀 어레이(15d)를 메모리 셀 어레이(15c) 내에 포함하는 것이 가능하다.
도 9를 참조해서, 본 실시형태의 반도체 기억장치(10)에 있어서의 데이터 제어의 일례에 대해서 설명한다. 본 실시형태에서는, 도 9에 나타낸 바와 같이, 메모리 셀 어레이(15c) 내의 복수의 블록(도면의 예에서는, 블록 0, …, 블록 n-4, 블록 n-3, 블록 n-2, 블록 n-1, 블록 n) 중 선택된 블록(도면의 예에서는, 블록 n-3)과는 상이한 다른 블록(도면의 예에서는, 블록 n) 내의 서브블록(도면의 예에서는, 서브블록 n_a)이, ECC 셀 어레이(15d)로서 구성되어 있다. 또, 블록 n의 기억 용량이 ECC 셀 어레이(15d)의 기억 용량보다도 클 경우에는, 블록 n 내의 ECC 셀 어레이(15d)용의 서브블록(서브블록 n_a) 이외의 다른 서브블록(도면의 예에서는, 서브블록 n_b)이, 메모리 셀 어레이(15c) 내의 다른 블록과 마찬가지로 데이터용의 기억 영역으로서 구성되어도 된다. 또, 본 실시형태에 있어서의 각 스위치부(SW_A, SW_B, SW_C, SW_D)의 제어 방법은 전술한 제1 실시형태와 마찬가지이다.
본 실시형태에 있어서, ECC 제어부(17)는, 메모리 셀 어레이(15c) 내의 복수의 블록 중 ECC 셀 어레이(15d)가 구성되는 블록을 자동적으로 선택해도 된다. 예를 들면, ECC 제어부(17)는, 메모리 셀 어레이(15c) 내의 복수의 블록 중 데이터가 소정 기간 기억되어 있지 않은 블록을, ECC 셀 어레이(15d)가 구성되는 블록으로서 선택하고, 선택한 블록 내에 ECC 셀 어레이(15d)를 구성(즉, 검사 데이터를 기억)해도 된다.
또한, 메모리 셀 어레이(15c) 내에 ECC 셀 어레이(15d)를 구성하기 위한 소정의 조건(예를 들어, 소정 기간 내에 빈번하게 액세스되는 블록이 존재하지 않는 등)이 충족되지 않을 경우에는, 메모리 셀 어레이(15c) 내의 ECC 셀 어레이(15d)(도 9의 예에서는, 서브블록 n_a)는, 검사 데이터용의 기억 영역이 아니라, 데이터용의 기억 영역으로서 구성되어도 된다. 이 경우, 메모리 셀 어레이(15c) 내의 모든 블록을, 데이터를 기억하기 위한 기억 영역으로서 사용하는 것이 가능하게 된다.
전술한 바와 같이, 본 실시형태에서는, 검사 데이터가 기억되는 영역(소정의 기억 영역)은, 메모리 셀 어레이(15c) 내의 복수의 블록 중 선택된 블록(여기서는, 블록 n-2)과는 상이한 다른 블록(여기서는, 블록 n)에 설치되어 있다. 이것에 의해, 오류 정정 부호 내의 검사 데이터를, 데이터가 기억되는 메모리 셀 어레이(15c)와 같은 메모리 셀 어레이에 기억하는 것이 가능하게 되므로, 검사 데이터를 기억하기 위하여 다른 메모리 셀 어레이가 형성되는 것에 의해서 회로 규모가 증대하는 것을 억제할 수 있다.
(제3 실시형태)
이하, 본 발명의 제3 실시형태에 대해서 설명한다. 본 실시형태의 반도체 기억장치(10)는, 2T2C 셀 어레이(15e)가 설치되어 있는 점에 있어서, 상기 각 실시형태와 상이하다. 이하, 상기 각 실시형태와 다른 구성에 대해서 설명한다.
도 10에, 제3 실시형태에 따른 반도체 기억장치(10)의 구성예를 나타낸다. 도 10에 나타낸 바와 같이, 반도체 기억장치(10)는, 상기 각 실시형태에 있어서의 ECC 셀 어레이(15d) 대신에 2T2C 셀 어레이(15e)가 설치되어 있고, 상기 각 실시형태에 있어서의 ECC 제어부(17)의 대신에 2T2C 제어부(18)가 설치되어 있다. 또, 2T2C 제어부(18)는 전용의 하드웨어 디바이스나 논리회로에 의해서 구성되어도 된다.
2T2C 셀 어레이(15e)는, 행렬(어레이) 형태로 배치된 복수의 메모리 셀(도시생략)을 포함한다. 각 메모리 셀에는, I/O부(11)를 개재해서 외부에서부터 입력된 데이터가 기억된다. 각 메모리 셀은, 주지의 2T2C(2트랜지스터2커패시터)형의 메모리 셀이어도 된다. 또, 각 메모리 셀에 대한 데이터 제어의 상세에 대해서는 주지의 기술과 마찬가지이므로, 본 실시형태에서는 설명을 생략한다.
2T2C 제어부(18)는, 데이터 버스 제어부(14)로부터 메모리 셀 어레이(15c)에 출력(기억)되는 데이터를 2T2C 셀 어레이(15e)에 기억한다. 또한, 2T2C 제어부(18)는, 데이터가 메모리 셀 어레이(15c)로부터 출력되는(판독되는) 경우에, 2T2C 셀 어레이(15e)에 기억된 데이터를 데이터 버스 제어부(14)에 출력한다.
또, 2T2C 제어부(18)는, 행렬(어레이) 형태로 배치된 1T1C형의 복수의 메모리 셀을 포함하는 메모리 셀 어레이가 복수의 블록으로 분할되어 있을 경우에, 복수의 블록 중 어느 것인가의 블록을 선택하도록 구성되어 있다. 또한, 2T2C 제어부(18)는, 선택된 블록 내의 복수의 메모리 셀에 기억되는 데이터를, 2T2C형의 메모리 셀로 구성된 2T2C 셀 어레이(15e)에 기억하도록 구성되어 있다. 또한, 2T2C 제어부(18)는 본 발명에 있어서의 "제2 제어부"의 일례이다.
또한, 2T2C 제어부(18)는, 제2 구성 레지스터 정보(도 11에 나타냄)를 포함하는 레지스터 기입 커맨드(소정의 커맨드)가 외부에서부터 입력된 경우에, 레지스터 기입 커맨드에 포함되는 선택 블록에 관한 정보에 의거해서, 복수의 블록 중 어느 것인가의 블록을 선택해도 된다. 이것에 의해, 레지스터 기입 커맨드(소정의 커맨드)가 외부에서부터 입력되면, 해당 커맨드에 포함되는 선택 블록에 관한 정보에 의거해서, 복수의 블록 중 어느 것인가의 블록이 선택되므로, 해당 커맨드를 외부장치(예를 들어, 메모리 제어기 등)로부터 반도체 기억장치(10)에 송신함으로써, 복수의 블록 중 어느 것인가의 블록(여기서는, 2T2C 셀 어레이(15e)에 기억되는 데이터가 입력되는 블록)을 외부에서부터 설정(선택)하는 것이 가능하게 된다.
여기서, 레지스터 기입 커맨드에 포함되는 선택 블록에 관한 정보에 의거해서 어느 것인가의 블록이 선택될 경우에는, 커맨드 디코더(12)는, 제2 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드(소정의 커맨드)가 외부장치로부터 I/O부(11)를 개재해서 입력된 경우에, 제2 구성 레지스터 정보를 제2 구성 레지스터(도시생략)에 기억한다. 또한, 커맨드 디코더(12)는, 제2 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드가 입력된 경우에, 레지스터 기입 커맨드를 2T2C 제어부(18)에 출력한다.
도 11을 참조해서, 본 실시형태에 있어서의 제2 구성 레지스터의 구성예에 대해서 설명한다. 도 5는 HyperBus™ 인터페이스를 이용한 pSRAM의 제2 구성 레지스터(CR1)를 일례로서 나타내고 있다. 제2 구성 레지스터는, 도 11에 나타낸 바와 같이, 소정수의 비트(도면의 예에서는, 16비트) 내에서 할당된 기능(도면의 예에서는, "2T2C 적용 블록 제어")을 외부로부터 지정할 수 있도록 구성되어 있다.
본 실시형태에서는, 제2 구성 레지스터의 비트 11 내지 9에 있어서, 2T2C 적용 블록(즉, 2T2C 셀 어레이(15e)에 기억되는 데이터가 입력되는 블록)을 지정(선택)할 수 있도록 구성되어 있다. 도 11에 나타낸 예에서는, 제2 구성 레지스터의 비트 11 내지 9의 값에 의해 복수(도면의 예에서는, 4개)의 블록 중 어느 것인가의 블록이 선택되도록 되어 있다. 또, 도 11에 나타낸 제2 구성 레지스터의 구성은, 기능이 "ECC 적용 제어 블록"으로부터 "2T2C 제어 블록"으로 변경되어 있는 것을 제외하고, 도 5에 나타낸 구성과 마찬가지이다.
도 11에 나타낸 제2 구성 레지스터의 내용은, 예를 들어, 제2 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드가 반도체 기억장치(10)의 전원투입 시에 외부장치로부터 입력되는 것에 의해, 반도체 기억장치(10) 내의 제2 구성 레지스터에 기입되어도 된다. 또한, 제2 구성 레지스터 정보를 포함하는 레지스터 기입 커맨드는, 반도체 기억장치(10)에 전원이 투입되어 있는 동안, 임의의 타이밍으로 입력되어도 된다.
도 12를 참조해서, 본 실시형태의 반도체 기억장치(10)에 있어서의 데이터 제어의 일례에 대해서 설명한다. 여기에서, 도 12에 나타낸 구성은, ECC 제어부(17) 및 ECC 셀 어레이(15d) 대신에 2T2C 제어부(18) 및 2T2C 셀 어레이(15e)가 형성되어 있는 것과, 스위치부(SW_C)가 형성되어 있지 않은 것을 제외하고, 제1 실시형태와 마찬가지이다. 본 실시형태에서는, 제1 실시형태와 마찬가지로, 메모리 셀 어레이(15c)가, 복수의 블록(도면의 예에서는, 블록0, …, 블록 n-3, 블록 n-2, 블록 n-1, 블록 n)으로 분할되어 있다. 또, 2T2C 셀 어레이(15e)의 기억 용량은, 각 블록의 기억 용량과 동일해도 된다. 예를 들면, 메모리 셀 어레이(15c) 내의 각 블록의 기억 용량이 2M비트인 경우, 2T2C 셀 어레이(15e)의 기억 용량은 2M비트가 된다.
우선, 메모리 셀 어레이(15c)에 데이터가 기억될 경우에 대해서 설명한다. 메모리 셀 어레이(15c)의 각 블록의 입력측에는, 데이터 버스 제어부(14)로부터 출력된 데이터가 입력(기억)된다. 또한, 각 블록 중 선택된 블록(도면의 예에서는, 블록 n-2)에 입력되는 데이터는, 스위치부(SW_A)를 개재해서 2T2C 제어부(18)에도 입력된다.
여기서, 2T2C 제어부(18)는, 상기 각 실시형태에 있어서의 ECC 제어부(17)와 마찬가지로, 레지스터 기입 커맨드에 포함되는 선택 블록에 관한 정보에 의거해서, 블록(여기서는, 블록 n-2)을 선택해도 된다. 또한, 2T2C 제어부(18)는, 각 블록 중 선택한 블록(여기서는, 블록 n-2)에 데이터가 입력될 경우에, 해당 데이터가 2T2C 셀 어레이(15e)에도 입력(기억)되도록 스위치부(SW_A)를 제어해도 된다.
예를 들면, 2T2C 제어부(18)는, 상기 각 실시형태에 있어서의 ECC 제어부(17)와 마찬가지로, 스위치부(SW_A)의 스위치(/sw1)를 온 상태로 제어하고, 스위치부(SW_A)의 스위치(/sw0, /sw2, /sw3)를 오프 상태로 제어한다. 이것에 의해, 메모리 셀 어레이(15c)의 블록 n-2에 입력되는 데이터가, 스위치부(SW_A)를 개재해서 2T2C 셀 어레이(15e)에도 입력된다.
다음에, 메모리 셀 어레이(15c)로부터 데이터가 출력될 경우에 대해서 설명한다. 메모리 셀 어레이(15c)의 각 블록 중 선택된 블록(여기서는, 블록 n-2) 이외의 다른 블록으로부터 출력되는 데이터는, 스위치부(SW_B)를 개재해서 데이터 버스 제어부(14)에 입력된다. 한편, 각 블록 중 선택된 블록(여기서는, 블록 n-2)으로부터 출력되는 데이터는, 스위치부(SW_B)를 개재해서 데이터 버스 제어부(14)에 입력되지 않는다. 그 대신에, 2T2C 제어부(18)는, 2T2C 셀 어레이(15e)에 기억된 데이터를, 스위치부(SW_D)를 개재해서 데이터 버스 제어부(14)에 출력한다. 여기서, 2T2C 제어부(18)는, 2T2C 셀 어레이(15e)에 기억된 데이터가, 각 블록 중 선택한 블록(여기서는, 블록 n-2)으로부터 출력된 데이터로서 데이터 버스 제어부(14)에 입력되도록, 스위치부(SW_B, SW_D)를 제어해도 된다.
예를 들면, 2T2C 제어부(18)는, 스위치부(SW_B)의 스위치(sw0, sw2, sw3)를 온 상태로 제어하고, 스위치부(SW_B)의 스위치(sw1)를 오프 상태로 제어한다. 또한, 2T2C 제어부(18)는, 스위치부(SW_D)의 스위치(/sw1)를 온 상태로 제어하고, 스위치(/sw0, /sw2, /sw3)를 오프 상태로 제어한다. 이것에 의해, 2T2C 셀 어레이(15e)로부터 출력된 데이터가, 스위치부(SW_D)를 개재해서 데이터 버스 제어부(14)에 입력된다.
이와 같이 해서, 메모리 셀 어레이(15c) 내의 복수의 블록 중 선택된 블록(블록 n-2)에 기억된 데이터만을, 1T1C형의 메모리 셀과 비교해서 데이터의 보유 특성이 높은 것으로 알려져 있는 2T2C형의 메모리 셀에도 기억하는 동시에, 해당 데이터를 2T2C형의 셀 어레이로부터 출력하는 것이 가능하게 된다.
또, 본 실시형태에서는, ECC 셀 어레이(15d) 및 ECC 제어부(17) 대신에 2T2C 셀 어레이(15e) 및 2T2C 제어부(18)가 형성될 경우를 일례로서 설명했지만, 이들의 모두가 반도체 기억장치(10)에 설치되어도 된다.
전술한 바와 같이, 본 실시형태의 반도체 기억장치(10)에 따르면, 메모리 셀 어레이(15c) 내의 복수의 블록 중 선택된 블록에 기억된 데이터만을 2T2C형의 메모리 셀에 기억하는 것이 가능하게 되므로, 선택된 블록에 기억되는 데이터의 보유 특성을 높일 수 있다. 또한, 본 실시형태의 반도체 기억장치(10)에 따르면, 메모리 셀 어레이(15c) 내의 모든 메모리 셀을 2T2C형으로 구성할 필요가 없으므로, 예를 들면 메모리 셀 어레이(15c) 내의 모든 메모리 셀을 2T2C형으로 구성했을 경우와 비교해서, 회로 규모를 축소할 수 있다.
이상 설명한 각 실시형태는, 본 발명의 이해를 쉽게 하기 위해서 기재된 것으로서, 본 발명을 한정하기 위하여 기재된 것은 아니다. 따라서, 상기 각 실시형태에 개시된 각 요소는, 본 발명의 기술적 범위에 속하는 모든 설계 변경이나 균등물도 포함하는 취지이다.
예를 들면, 전술한 각 실시형태에서는, 메모리 셀 어레이(15c) 내의 복수의 블록 중 어느 1개의 블록이 선택될 경우를 일례로서 설명했지만, 본 발명은 이 경우로 한정되지 않는다. 예를 들면, 복수의 블록 중 2개 이상의 블록이 선택되고, 선택된 블록에 기억되는 데이터가 ECC 셀 어레이(15d) 및/또는 2T2C 셀 어레이(15e)에 기억되어도 된다.
또한, 전술한 각 실시형태에서는, 리프레시 간격에 관한 정보 및 선택 블록에 관한 정보가 레지스터 기입 커맨드에 포함될 경우를 일례로서 설명했지만, 본 발명은 이 경우로 한정되지 않는다. 예를 들면, 리프레시 간격에 관한 정보 행/또는 선택 블록에 관한 정보는, 다른 커맨드(예를 들어, 판독 커맨드, 기입 커맨드 등)에 포함되어도 된다.
또, 전술한 각 실시형태에서는, ECC 제어부(17) 및 2T2C 제어부(18)의 각각이, 레지스터 기입 커맨드에 포함되는 선택 블록에 관한 정보에 의거해서, 복수의 블록 중 어느 것인가의 블록을 선택할 경우를 일례로서 설명했지만, 본 발명은 이 경우로 한정되지 않는다. 예를 들면, ECC 제어부(17) 및/또는 2T2C 제어부(18)는, 복수의 블록 중 소정의 조건을 충족시키는 블록을 선택해도 된다. 여기서, 소정의 조건이란, 예를 들어, 소정 기간 내에서 가장 빈번하게 액세스(판독 및/또는 기입)된 블록이어도 된다. 예를 들면, 소정 기간 내에서 가장 빈번하게 액세스된 블록이 선택될 경우에는, ECC 제어부(17) 및/또는 2T2C 제어부(18)는, 소정 기간 내에서 집중적으로 액세스되는 데이터(예를 들어, 글로벌 변수 등)가 기억되어 있는 블록을 선택하는 것이 가능하게 된다. 이 경우, ECC 제어부(17) 및/또는 2T2C 제어부(18)는, 어드레스 디코더(13)로부터 출력된 행 어드레스 신호에 의거해서 복수의 블록마다의 액세스수를 카운트함으로써, 소정 기간 내에 가장 빈번하게 액세스된 블록을 결정(선택)해도 된다. 또, ECC 제어부(17) 및/또는 2T2C 제어부(18)는, 소정의 타이밍마다(예를 들어, 소정기간이 경과할 때마다 등)에 블록의 선택을 행해도 된다. 이것에 의해, 선택되는 블록을 적당히 변경하는 것이 가능하게 된다.
또한, 전술한 각 실시형태에 있어서의 반도체 기억장치(10) 내의 각 부(11 내지 18)의 구성은 일례이며, 적당히 변경되어도 되고, 다른 여러 가지 구성이 채용되어도 된다.
10: 반도체 기억장치
15c: 메모리 셀 어레이
15d: ECC 셀 어레이
15e: 2T2C 셀 어레이
16: 리프레시 제어부
17: ECC 제어부
18: 2T2C 제어부

Claims (8)

  1. 반도체 기억장치로서,
    외부에서부터 입력된 소정의 커맨드에 포함되는 메모리 셀의 리프레시 간격에 관한 정보에 의거해서 상기 메모리 셀의 리프레시 간격을 설정하는 제1 제어부를 포함하는, 반도체 기억장치.
  2. 제1항에 있어서, 상기 소정의 커맨드는 상기 반도체 기억장치의 기능을 설정하기 위한 커맨드인, 반도체 기억장치.
  3. 제1항에 있어서, 상기 제1 제어부는, 상기 소정의 커맨드가 외부에서부터 입력될 때마다, 상기 소정의 커맨드에 포함되는 메모리 셀의 리프레시 간격에 관한 정보에 의거해서 상기 메모리 셀의 리프레시 간격을 설정하는, 반도체 기억장치.
  4. 제1항에 있어서, 어레이 형태로 배치된 복수의 메모리 셀을 포함하는 메모리 셀 어레이가 복수의 블록으로 분할되어 있을 경우에, 상기 복수의 블록 중 어느 것인가의 블록을 선택하는 제2 제어부로서, 선택된 블록 내의 복수의 메모리 셀에 기억되는 데이터에 대해서 생성된 오류 정정 부호 내의 검사 데이터를 소정의 기억 영역에 기억하는 제2 제어부를 포함하는, 반도체 기억장치.
  5. 제4항에 있어서, 상기 소정의 기억 영역은, 상기 메모리 셀 어레이와는 상이한 다른 메모리 셀 어레이에 형성되어 있는, 반도체 기억장치.
  6. 제4항에 있어서, 상기 소정의 기억 영역은, 상기 복수의 블록 중 선택된 블록과는 상이한 다른 블록에 형성되어 있는, 반도체 기억장치.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 어레이 형태로 배치된 1T1C형의 복수의 메모리 셀을 포함하는 메모리 셀 어레이가 복수의 블록으로 분할되어 있을 경우에, 상기 복수의 블록 중 어느 것인가의 블록을 선택하는 제2 제어부로서, 선택된 블록 내의 복수의 메모리 셀에 기억되는 데이터를, 2T2C형의 메모리 셀로 구성된 소정의 기억 영역에 기억하는 제2 제어부를 포함하는, 반도체 기억장치.
  8. 제7항에 있어서, 상기 제2 제어부는, 외부에서부터 입력된 소정의 커맨드에 포함되는 선택 블록에 관한 정보에 의거해서, 상기 복수의 블록 중 어느 것인가의 블록을 선택하는, 반도체 기억장치.
KR1020210050718A 2021-04-19 2021-04-19 반도체 기억장치 KR102504489B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210050718A KR102504489B1 (ko) 2021-04-19 2021-04-19 반도체 기억장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210050718A KR102504489B1 (ko) 2021-04-19 2021-04-19 반도체 기억장치

Publications (2)

Publication Number Publication Date
KR20220144256A true KR20220144256A (ko) 2022-10-26
KR102504489B1 KR102504489B1 (ko) 2023-02-27

Family

ID=83785733

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210050718A KR102504489B1 (ko) 2021-04-19 2021-04-19 반도체 기억장치

Country Status (1)

Country Link
KR (1) KR102504489B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010017413A (ko) * 1999-08-11 2001-03-05 윤종용 파이프 라인상의 고속동작을 구현하는 ecc 회로를 구비하는동기식 반도체 메모리장치 및 이 동기식 반도체 메모리장치의 에러 체크 및 정정방법
KR20070048337A (ko) * 2005-11-04 2007-05-09 삼성전자주식회사 리프레시 정보에 따라 반도체 메모리 장치의 리프레시를제어하는 장치 및 그 방법
TW201535366A (zh) 2014-01-15 2015-09-16 Samsung Electronics Co Ltd 處理第四代雙倍資料率同步動態隨機存取記憶體中的最大啓動計數限制及目標列再新之技術
US9741421B1 (en) 2016-04-05 2017-08-22 Micron Technology, Inc. Refresh circuitry
CN107924697A (zh) 2015-09-17 2018-04-17 英特尔公司 具有隐式刷新和外部刷新的混合刷新
US20210098047A1 (en) * 2019-07-08 2021-04-01 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010017413A (ko) * 1999-08-11 2001-03-05 윤종용 파이프 라인상의 고속동작을 구현하는 ecc 회로를 구비하는동기식 반도체 메모리장치 및 이 동기식 반도체 메모리장치의 에러 체크 및 정정방법
KR20070048337A (ko) * 2005-11-04 2007-05-09 삼성전자주식회사 리프레시 정보에 따라 반도체 메모리 장치의 리프레시를제어하는 장치 및 그 방법
TW201535366A (zh) 2014-01-15 2015-09-16 Samsung Electronics Co Ltd 處理第四代雙倍資料率同步動態隨機存取記憶體中的最大啓動計數限制及目標列再新之技術
CN107924697A (zh) 2015-09-17 2018-04-17 英特尔公司 具有隐式刷新和外部刷新的混合刷新
US9741421B1 (en) 2016-04-05 2017-08-22 Micron Technology, Inc. Refresh circuitry
US20210098047A1 (en) * 2019-07-08 2021-04-01 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory

Also Published As

Publication number Publication date
KR102504489B1 (ko) 2023-02-27

Similar Documents

Publication Publication Date Title
CN113168861B (zh) 执行行锤刷新操作的半导体装置
EP1225589B1 (en) Semiconductor memory device having a plurality of low power consumption modes
US6751143B2 (en) Method and system for low power refresh of dynamic random access memories
US7193919B2 (en) Selective bank refresh
US7486584B2 (en) Semiconductor memory device and refresh control method thereof
US7818651B2 (en) Semiconductor memory device having data holding mode using ECC function
JPH1139861A (ja) ダイナミック型半導体記憶装置
JP4362573B2 (ja) メモリ
US20040179416A1 (en) Memory device, refresh control circuit to be used for the memory device, and refresh method
JP2008505427A (ja) 半密度処理及び全密度処理を伴うdram
US20060039223A1 (en) Semiconductor memory device, control method thereof, and control method semiconductor device
US6570802B2 (en) Semiconductor memory device
KR20220144256A (ko) 반도체 기억장치
JP7143463B2 (ja) 半導体記憶装置
US7145814B2 (en) RAS time control circuit and method for use in DRAM using external clock
TWI755291B (zh) 半導體記憶裝置
KR100653686B1 (ko) 동적 반도체 메모리 장치 및 이 장치의 절전 모드 동작방법
KR102412680B1 (ko) 반도체 기억장치
JPH0863969A (ja) 半導体記憶装置
JP4419071B2 (ja) 半導体メモリのリフレッシュ制御方法及び半導体メモリ装置
JP4561089B2 (ja) 記憶装置
KR102453523B1 (ko) 반도체 기억장치
US7630274B2 (en) Circuit and method for selecting word line of semiconductor memory apparatus
KR20000071387A (ko) 어드레스 신호 공급 방법 및 그것을 이용한 반도체 기억장치
KR20230126432A (ko) 메모리 및 메모리의 동작 방법

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant