KR101578789B1 - 동적 메모리 장치의 리프레쉬 주기 결정 방법 및 그 동작 메모리 장치 - Google Patents

동적 메모리 장치의 리프레쉬 주기 결정 방법 및 그 동작 메모리 장치 Download PDF

Info

Publication number
KR101578789B1
KR101578789B1 KR1020080123776A KR20080123776A KR101578789B1 KR 101578789 B1 KR101578789 B1 KR 101578789B1 KR 1020080123776 A KR1020080123776 A KR 1020080123776A KR 20080123776 A KR20080123776 A KR 20080123776A KR 101578789 B1 KR101578789 B1 KR 101578789B1
Authority
KR
South Korea
Prior art keywords
bit
monitoring
refresh
self
error
Prior art date
Application number
KR1020080123776A
Other languages
English (en)
Other versions
KR20100065446A (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 KR1020080123776A priority Critical patent/KR101578789B1/ko
Publication of KR20100065446A publication Critical patent/KR20100065446A/ko
Application granted granted Critical
Publication of KR101578789B1 publication Critical patent/KR101578789B1/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/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • 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/4076Timing 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/401Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C2211/406Refreshing of dynamic cells
    • G11C2211/4065Low level details of refresh operations

Abstract

전력 소모가 줄어든 동적 메모리 장치의 리프레쉬 주기 결정 방법 및 그 동작 메모리 장치가 제공된다. 상기 동적 메모리 장치의 리프레쉬 주기 결정 방법은 셀프 리프레쉬의 제1 내지 제n(단, n은 1보다 같거나 큰 자연수) 주기 동안, 적어도 하나의 모니터링 비트를 선정하고, 셀프 리프레쉬의 제n+1 내지 제m(단, m은 n+1보다 같거나 큰 자연수) 주기 동안, 적어도 하나의 모니터링 비트의 에러 여부를 검출하고, 적어도 하나의 모니터링 비트의 에러 여부에 따라 셀프 리프레쉬의 제m+1 주기를 조절하는 것을 포함한다.
셀프 리프레쉬, 전력 소모 방지, ECC

Description

동적 메모리 장치의 리프레쉬 주기 결정 방법 및 그 동작 메모리 장치{Refresh cycle settlement method of dynamic random access memory and the dynamic random access memory}
본 발명은 동적 메모리 장치의 리프레쉬 주기 결정 방법 및 그 동작 메모리 장치에 관한 것이다.
동적 메모리 장치의 메모리 셀은 스위치 역할을 하는 트랜지스터와 데이터를 저장하는 커패시터로 구성된다. 그런데, MOS 트랜지스터의 PN접합 등에서 누설 전류가 발생하여, 커패시터에 저장된 초기의 데이터가 소멸될 수 있다. 따라서, 동적 메모리 장치는 데이터가 소멸되기 전에 메모리 셀 내에 데이터를 재충전하는 리프레쉬(refresh) 동작이 요구된다.
이러한 리프레쉬 동작에는 오토 리프레쉬(auto refresh)와 셀프 리프레쉬(self refresh) 등이 있다. 특히, 셀프 리프레쉬(self refresh)는 리프레쉬 지시 신호에 응답하여 자체적으로 내부 어드레스를 순차적으로 변화시키면서 리프레쉬를 수행하는 것을 의미한다.
그런데, 셀프 리프레쉬는 내부에서 정한 주기에 따라 반복하게 되는데, 이와 같은 재충전 주기를 리프레쉬 주기(tREF)라 한다. 리프레쉬 주기는 데이터의 소멸 시간에 의해 결정되는데, 데이터 소멸 시간은 PVT(Process, Voltage, Temperature) 변화에 따라 일정하지 않다.
뿐만 아니라, 동적 메모리 장치는 리프레쉬 동작을 수행하기 때문에, SRAM(Static RAM)이나 플래시 메모리에 비해 대기전력 소모가 크다. 따라서, 대기전력 소모를 최소화하기 위한 방법이 강구되어 왔는데, 가장 효과적인 방법은 리프레쉬 주기를 가능한 길게 하는 것이다.
본 발명이 이루고자 하는 기술적 과제는, 전력 소모가 줄어든 동적 메모리 장치의 주기 결정 방법을 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는, 전력 소모가 줄어든 동적 메모리 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 동적 메모리 장치의 리프레쉬 주기 결정 방법의 일 태양은 셀프 리프레쉬의 제1 내지 제n(단, n은 1보다 같거나 큰 자연수) 주기 동안, 적어도 하나의 모니터링 비트를 선정하고, 셀프 리프레쉬의 제n+1 내지 제m(단, m은 n+1보다 같거나 큰 자연수) 주기 동안, 적어도 하나의 모니터링 비트의 에러 여부를 검출하고, 적어도 하나의 모니터링 비트의 에러 여부에 따라 셀프 리프레쉬의 제m+1 주기를 조절하는 것을 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 동적 메모리 장치의 다른 태양은 셀프 리프레쉬 기간동안, 적어도 하나의 모니터링 비트를 선정하고 선정된 적어도 하나의 모니터링 비트의 에러 여부를 검출하는 ECC 엔진, 선정된 적어도 하나의 모니터링 비트의 모니터링 어드레스를 저장하는 모니터링 어드레스 저장부, 및 모 니터링 비트의 에러 여부에 따라 셀프 리프레쉬 주기를 조절한다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
하나의 소자(elements)가 다른 소자와 "접속된(connected to)" 또는 "커플링된(coupled to)" 이라고 지칭되는 것은, 다른 소자와 직접 연결 또는 커플링된 경우 또는 중간에 다른 소자를 개재한 경우를 모두 포함한다. 반면, 하나의 소자가 다른 소자와 "직접 접속된(directly connected to)" 또는 "직접 커플링된(directly coupled to)"으로 지칭되는 것은 중간에 다른 소자를 개재하지 않은 것을 나타낸다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 동적 메모리 장치를 설명하기 위한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 동적 메모리 장치(1)는 메모리 어레이(10), ECC 엔진(Error Correction Code engine)(20), 모니터링 어드레스 저장부(30), 리프레쉬 주기 결정 회로(40)를 포함한다.
메모리 어레이(10)는 2차원적(예를 들어, 매트릭스 형태)으로 배열된 다수의 메모리 셀을 포함한다. 도 1의 메모리 어레이(10)는 하나의 메모리 뱅크만을 예를 들어 도시하였으나, 다수의 메모리 뱅크를 포함할 수 있다. 메모리 어레이(10)의 로우 방향의 메모리 셀은 워드 라인과 전기적으로 연결되고, 컬럼 방향의 메모리 셀은 비트 라인(또는 상보 비트 라인)과 전기적으로 연결된다.
또한, 로우 디코더(12)는 메모리 어레이(10)에 대응하여 배치되고, 로우 어드레스 신호의 디코딩 결과에 따라 메모리 어레이(10)의 워드 라인을 선택한다. 센스 앰프/기입 드라이버(sense amplifier and write driver)(14)는 독출 동작시에는 비트 라인쌍과 각각 연결된 데이터 라인쌍의 전위차를 증폭하여 메모리 셀에 저장된 데이터를 읽어내고, 기입 동작시에는 소정 데이터를 데이터 라인쌍 및 비트 라인쌍을 통해서 전달하여 메모리 셀에 저장시킨다. 컬럼 디코더(16)는 메모리 어레이(10)에 대응하여 배치되고, 컬럼 어드레스 신호의 디코딩 결과에 따라 독출되거나 기입될 메모리 셀을 선택한다.
그런데, 본 발명의 동적 메모리 장치(1)는 메모리 어레이(10) 내에 저장된 데이터에 발생된 에러를 검출(detection)하고, 이를 수정(correction)할 수 있다.
전술하였듯이, 동적 메모리 장치(1)는 리프레쉬 동작을 소정 시간 이상 하지 않을 경우, 메모리 셀의 커패시터에 저장된 데이터가 소멸될 수도 있다. 그럼에도 불구하고, 대기전력 소모를 감소시키기 위해서는 셀프 리프레쉬 주기(tREF)를 증가시켜야 한다. 따라서, 본 발명에서는 셀프 리프레쉬 주기(tREF) 동안 에러 검출 및 수정 스킴(error detection and correction scheme)을 이용하여, 대기전력 소모를 감소시키면서도 메모리 셀의 커패시터에 저장된 데이터를 손상시키지 않을 수 있다. 즉, 셀프 리프레쉬 주기(tREF)를 증가시켜 대기전력 소모를 감소시키고, 셀프 리프레쉬 주기(tREF)가 증가됨에 따라 발생될 수 있는 데이터의 손상은 에러 검출 및 수정 스킴을 이용하여 원상 복구시킨다.
한편, 에러를 검출하고 수정하기 위해서는 저장된 데이터에 대한 여분의 정보(extra information)이 필요하다. 즉, 메모리 어레이(10)에는 다수의 데이터 비트(bit)와, 데이터 비트에 대한 여분의 정보에 해당하는 ECC(Error Correction Code) 비트가 저장된다. 예를 들어, 메모리 어레이(10)에는 8비트의 데이터 비트마다, 1비트의 ECC 비트가 추가되어 저장될 수 있다.
이러한 ECC 비트는 특정한 형태의 코드로 한정되는 것은 아니다. 예를 들어, ECC 비트는 해밍 코드(hamming code), 허프만 코드(Huffman code), 패러티 코드(parity bit), 터보 코드(turbo code), 순회 코드(cyclic code), 저밀도 패러티 체크 코드(low-density parity-check code), 리드-뮐러 코드(Reed-Muller code), 리드-솔로몬 에러 수정 코드(Reed-Solomon error correction code) 등 어떤 형태의 코딩 방식을 이용하여 생성된 것이라도 무관하다.
따라서, 본 발명의 일 실시예에서 ECC 엔진(20)은 메모리 어레이(10)가 셀프 리프레쉬 동작을 하기 전에, 메모리 어레이(10)에 저장된 데이터 비트를 이용하여 데이터 비트에 대응되는 ECC 비트를 생성하고, 메모리 어레이(10) 내의 소정 영역에 ECC 비트를 저장시킨다. 또한, ECC 엔진(20)은 셀프 리프레쉬 동작 동안에, 데이터 비트와, 데이터 비트에 대응하는 ECC 비트를 이용하여 데이터 비트에 에러가 발생되었는지 여부를 검출한다. 또한, ECC 엔진(20)은 셀프 리프레쉬 동작 동안 및/또는 셀프 리프레쉬 동작 종료시, 데이터 비트에 발생된 에러를 수정한다.
한편, 본 발명의 동적 메모리 장치(1)는 셀프 리프레쉬 모드 중에 메모리 어레이(10) 내에 저장된 데이터 비트와 ECC 비트를 이용하여, 셀프 리프레쉬 주기를 조절시킬 수 있다. 특히, 메모리 어레이(10) 내에 저장된 모든 데이터 비트에 에러가 발생되었는지 여부를 검출하지 않고, 일부의 데이터 비트에만 에러가 발생되었는지 여부를 검출하여 그 결과에 따라 셀프 리프레쉬 주기를 조절한다. 모든 데이터 비트에 에러가 발생되었는지 여부를 검출할 경우, 소모 전력이 크기 때문이다. 이하에서, 메모리 어레이(10) 내에서 선택된 데이터 비트 및 ECC 비트를 모니터링 비트(monitoring bit)라 명한다.
이러한 모니터링 비트는 미리 테스트(test)를 통해서 선정하여, 선정된 모니터링 비트의 어드레스를 모니터링 어드레스 저장부(30)에 저장해 놓는다. 모니터링 비트는 포즈 리프레쉬(pause refresh) 특성도(도 6 참조)에서의 테일 비트(tail-bits) 영역에서 선정될 수 있다. 도 6에서, x축은 포즈 시간(pause-time), y축은 정규화된 누적에러비트수를 의미한다. 테일 비트 영역은 예측되는 포즈 시간(도면 부호 a(점선) 참조)에 비해 먼저 에러가 발생하는 영역이다. 즉, 테일 비트 영역의 비트는 정상 비트(normal bits) 영역의 비트에 비해서, PVT(Process Voltage Temperature) 변화에 따라 누설 전류가 쉽게 발생된다. 따라서, 테일 비트 영역의 비트만을 모니터링함으로써, 전체 비트의 특성을 판단할 수 있다.
또한, 선별된 모니터링 비트는 테일 비트 영역 내에서 다수개 선정할 수 있으며, 예를 들어, 제1 모니터링 비트는 에러가 발생하고, 제2 모니터링 비트는 에러가 발생하지 않도록 셀프 리프레쉬 주기(tREF)를 조절할 수 있다. 본 발명에서와 같이 테일 비트 영역 내에서 별도의 모니터링을 하지 않을 경우에는, 테일 비트 영역 내의 비트는 에러가 나기 쉽기 때문에, 테일 비트 영역 내의 모든 비트들이 에러가 나지 않도록 셀프 리프레쉬 주기(tREF)를 충분히 크게 해야 한다. 하지만, 본 발명에서는 많은 전력을 소비하지 않는 범위 내에서 소정 개수의 데이터 비트는 ECC 비트를 이용하여 수정함으로써, 셀프 리프레쉬 주기(tREF)를 키울 수 있다.
특히 테일 비트 영역 내에서 가장 누설되기 쉬운 비트(most leaky bit)(bit(0))와, 가장 누설되지 않는 비트(least leaky bit)(bit(n))를 포함할 수 있다. 예를 들어, 가장 누설되기 쉬운 비트(bit(0))는 에러가 발생하도록 하고, 가장 누설되지 않는 비트(bit(n))는 에러가 발생되지 않도록 셀프 리프레쉬 주기(tREF)를 조절할 수 있다. 자세한 셀프 리프레쉬 주기(tREF) 조절 방법은 도 4, 도 5를 참조하여 후술한다.
본 발명의 일 실시예에 따른 동적 메모리 장치(1)는 이러한 모니터링 비트의 어드레스(MA)를 저장하기 위해 모니터링 어드레스 저장부(30)를 포함한다. 모니터링 어드레스 저장부(30)는 비휘발성 형태(nonvolatile type)로 저장될 수 있고, 예를 들어 퓨즈(fuse)를 이용하여 어드레스를 저장할 수 있다.
또한, 동적 메모리 장치(1)는 리프레쉬 주기 결정 회로(40)를 구비하여, ECC 엔진(20)이 검출한 모니터링 비트의 에러 여부를 이용하여 셀프 리프레쉬 주기(tREF)를 조절한다.
구체적으로 리프레쉬 주기 결정 회로(40)의 동작을 설명하면, 리프레쉬 주기 결정 회로(40)는 리프레쉬 진입 감지 회로(50)로부터 리프레쉬 지시 신호(PRFH)를 제공받아 인에이블될 수 있다. 즉, 리프레쉬 진입 감지 회로(50)는 셀프 리프레쉬 모드로의 진입을 감지하여, 리프레쉬 지시 신호(PRFH)를 발생한다. 다수의 제어 신호(/CS, /CAS, /RAS, /WE, CKE, CLK)의 조합에 의해 지정된 명령을 통해서 셀프 리프레쉬 진입을 감지하고, 하이 레벨의 리프레쉬 진입 지시 신호(PRFH)를 제공한다. 구체적으로 예를 들면, 칩 선택 신호(/CS), 칼럼 어드레스 스트로브 신호(/CAS), 및 로우 어드레스 스트로브 신호(/RAS), 클럭 인에이블 신호(CKE)가 로우 레벨이고 기입 인에이블 신호(/WE)가 하이 레벨이 되면, 리프레쉬 지시 신호(PRFH)가 하이 레벨이 된다. 한편, 클락 인에이블 신호(CKE)가 하이 레벨이 되면, 리프레쉬 지시 신호(PRFH)는 로우 레벨이 되어 셀프 리프레쉬가 종료됨을 나타낸다.
리프레쉬 주기 결정 회로(40)는 ECC 엔진(20)이 메모리 어레이(10) 내의 데이터 비트를 이용하여, 데이터 비트에 대응되는 ECC 비트를 생성하도록 한다.
리프레쉬 주기 결정 회로(40)는 초기 셀프 리프레쉬 주기(tREF)를 설정하고, 이에 대응하는 리프레쉬 주기 결정 신호(CRFH)를 내부 어드레스 발생기(60)에 제공한다. 내부 어드레스 발생기(60)는 셀프 리프레쉬 동작에서 일정 동작 주기마다 펄스를 발생하고, 그 펄스에 응답하여 순차적으로 증가하는 카운팅 어드레스를 발생한다. 그리고, 카운팅 어드레스의 조합은 지정되는 로우 어드레스(RA1~RAn)를 순차적으로 변화시킨다. 여기서, 상기 동작 주기는 리프레쉬 주기 결정 신호(CRFH)에 대응하여 변경될 수 있다.
또한, 리프레쉬 주기 결정 회로(40)는 소정 시간(△t)마다 타이밍 신호(TS)를 모니터링 어드레스 저장부(30)에 제공한다. 모니터링 어드레스 저장부(30)는 타 이밍 신호(TS)에 응답하여 모니터링 어드레스(MA)를 로우 디코더(12) 및 컬럼 디코더(16)에 제공한다. 센스 앰프/기입 드라이버(14)는 모니터링 어드레스(MA)에 해당하는 모니터링 비트를 ECC 엔진(20)에 제공하고, ECC 엔진(20)은 모니터링 비트의 에러 발생 여부를 검출한다.
여기서, 리프레쉬 주기 결정 회로(40)는 ECC 엔진(20)의 검출 결과에 따라 조절된 리프레쉬 주기 결정 신호(CRFH)를 내부 어드레스 발생기(60)에 제공하여, 셀프 리프레쉬 주기(tREF)를 조절하게 된다. 상기 소정 시간(△t)마다 타이밍 신호(TS)가 모니터링 어드레스 저장부(30)에 제공되므로, 소정 시간(△t)마다 셀프 리프레쉬 주기(tREF)가 조절되게 된다.
도 2는 도 1의 리프레쉬 주기 결정 회로와 ECC 엔진을 설명하기 위한 블록도이다.
도 2를 참조하면, 리프레쉬 주기 결정 회로(40)는 ECC_연산부(42)와 타이머(44)를 포함하고, ECC 엔진(20)은 ECC_인코딩/디코딩부(22)와 ECC_수정부(24)를 포함한다.
ECC_연산부(42)는 리프레쉬 지시 신호(PRFH)를 제공받아, ECC_인코딩/디코딩부(22)이 메모리 어레이(10) 내의 데이터 비트를 이용하여, 데이터 비트에 대응되는 ECC 비트를 생성하도록 한다. 센스 앰프/기입 드라이버(14)는 생성된 ECC 비트를 메모리 어레이(10) 내에 기입한다.
이어서, ECC_연산부(42)는 초기 셀프 리프레쉬 주기(tREF)를 설정하고, 이에 대응하는 리프레쉬 주기 결정 신호(CRFH)를 내부 어드레스 발생기(60)에 제공한다.
또한, ECC_연산부(42)는 타이머(44)에 전타이밍 신호(PTS)를 타이머(44)에 제공한다. 타이머(44)는 전타이밍 신호(TS)에 응답하여 소정 시간(△t)마다 타이밍 신호(TS)를 모니터링 어드레스 저장부(30)에 제공한다. 여기서, 소정 시간(△t)은 일정하게 정해진 값은 아니며, 온도나 어플리케이션(application)에 따라 다를 수 있다.
따라서, 소정 시간(△t)마다 메모리 어레이(10) 내의 모니터링 비트가 센스 앰프/기입 드라이버(14)를 통해서 읽혀진다. ECC_인코딩/디코딩부(22)는 읽혀진 모니터링 비트에 에러가 발생되었는지 여부를 검출한다. ECC_연산부(42)는 ECC_인코딩/디코딩부(22)에서의 검출 결과를 분석하여 셀프 리프레쉬 주기(tREF)를 조절하는 리프레쉬 주기 결정 신호(CRFH)를 다시 내부 어드레스 발생기(60)에 제공한다.
한편, 셀프 리프레쉬 퇴장을 감지하면, ECC_연산부(42)는 ECC 엔진(20)으로 하여금 메모리 어레이(10)내에서 발생된 에러를 수정하게 한다. 따라서, ECC_인코딩/디코딩부(22)는 메모리 어레이(10) 내의 데이터 비트 및 ECC 비트를 읽어내어 에러 여부를 검출한다. ECC_수정부(24)는 ECC 비트를 이용하여 데이터 비트를 수정한다. 그 후, 센스 앰프/기입 드라이버(14)는 수정된 데이터 비트를 재기입한다.
도 3은 본 발명의 다른 실시예에 따른 동적 메모리 장치를 설명하기 위한 회로도이다. 도 1와 실질적으로 동일한 구성 요소에 대해서는 동일한 도면 부호를 사용하며, 해당 구성 요소에 대한 상세한 설명은 생략하기로 한다.
도 3를 참조하면, 본 발명의 다른 실시예에 따른 동적 메모리 장치(2)가 일 실시예와 다른 점은 모니터링 어드레스 저장부(32)로 ROM(Read Only Memory)을 이 용했다는 점이다. 따라서, 리프레쉬 주기 결정 회로(40)는 소정 컨트롤 핀(71)을 통해서 타이밍 신호(TS)를 모니터링 어드레스 저장부(30)에 제공하고, 모니터링 어드레스 저장부(30)는 소정 어드레스 핀(72)을 통해서 모니터링 어드레스(MA)를 로우 디코더(12)와 컬럼 디코더(16)에 제공한다.
도 4는 본 발명의 일 실시예에 따른 동적 메모리 장치의 리프레쉬 주기 결정 방법을 설명하기 위한 순서도이다. 도 4는 선정된 모니터링 비트가 2개인 경우를 예를 들어 설명한다.
도 1 및 도 4를 참조하면, 우선, 모니터링 비트를 선정하여, 모니터링 어드레스(MA)를 모니터링 어드레스 저장부(30)에 저장한다(S105). 구체적으로, 모니터링 비트는 포즈 리프레쉬(pause refresh) 특성도에서의 테일 비트(tail-bits) 영역에서 선정될 수 있다. 본 발명의 일 실시예에서 선정된 모니터링 비트는 테일 비트 영역 내에서 가장 누설되기 쉬운 비트(most leaky bit)(bit(0))와, 가장 누설되지 않는 비트(least leaky bit)(bit(1))를 선정하였으나, 이에 제한되는 것은 아니다.
이어서, 셀프 리프레쉬 모드 진입 여부를 감지한다(S110). 구체적으로, 리프레쉬 진입 감지 회로(50)는 다수의 제어 신호(/CS, /CAS, /RAS, /WE, CKE, CLK)의 조합에 의해 지정된 명령을 통해서 셀프 리프레쉬 모드로의 진입을 감지하여, 리프레쉬 지시 신호(PRFH)를 리프레쉬 주기 결정 회로(40)에 제공한다.
이어서, 셀프 리프레쉬 모드에 진입하면, ECC(Error correction code) 비트를 생성한다(S120). 구체적으로, 리프레쉬 주기 결정 회로(40)는 ECC 엔진(20)이 메모리 어레이(10) 내의 데이터 비트를 이용하여, 데이터 비트에 대응되는 ECC 비 트를 생성하도록 한다.
이어서, 초기 셀프 리프레쉬 주기(tREF)를 설정한다(S130). 구체적으로, 리프레쉬 주기 결정 회로(40)는 초기 셀프 리프레쉬 주기(tREF)를 설정하고, 이에 대응하는 리프레쉬 주기 결정 신호(CRFH)를 내부 어드레스 발생기(60)에 제공한다. 내부 어드레스 발생기(60)는 일정 동작 주기마다 로우 어드레스(RA1~RAn)를 순차적으로 변화시킴으로써, 셀프 리프레쉬가 진행된다.
이어서, 모니터링 비트 bit(1)이 정상인지 여부를 검토한다(S140). 구체적으로, bit(1)에 에러가 발생될 경우 셀프 리프레쉬 주기(tREF)를 감소시킨다(S142). bit(1)은 bit(0)에 비해 상대적으로 누설되지 않는 비트임에도 불구하고 에러가 발생하였으므로, 셀프 리프레쉬 주기(tREF)를 감소시킴으로써 에러 발생을 줄이도록 한다.
셀프 리프레쉬 주기(tREF)를 감소시킨 후 다시 모니터링 비트 bit(1)이 정상인지 여부를 검토하여 정상일 경우, 모니터링 비트 bit(0)이 정상인지 여부를 검토한다(S150). 구체적으로, bit(0)이 정상일 경우 셀프 리프레쉬 주기(tREF)를 증가시킨다(S154). bit(0)은 bit(1)에 비해 상대적으로 누설되기 쉬운 비트임에도 불구하고 정상이므로(즉, bit(0), bit(1)이 모두 정상이기 때문에), 셀프 리프레쉬 주기(tREF)가 너무 짧다고 판단되기 때문에 셀프 리프레쉬 주기(tREF)를 증가시킨다.
만약, 모니터링 비트 bit(0)에서 에러가 발생된 경우에는 셀프 리프레쉬 주기(tREF)를 고정시킨다(S156). 즉, 셀프 리프레쉬 주기(tREF)를 tREF(0)<tREF<tREF(1)로 결정한다. 여기서, tREF(1), tREF(0)은 각각 bit(1), bit(0)에서 에러가 발생될 정도의 셀프 리프레쉬 주기를 의미한다. 셀프 리프레쉬 주기(tREF)가 결정되면, 리프레쉬 주기 결정 회로(40)는 리프레쉬 결정 신호(CRFH)를 내부 어드레스 발생기(60)에 제공하여 결정된 셀프 리프레쉬 주기(tREF)에 맞추어 셀프 리프레쉬 동작을 진행한다.
이어서, 소정 시간(△t)을 대기한다(S160). 여기서, 소정 시간(△t)은 일정하게 정해진 값은 아니며, 온도나 어플리케이션(application)에 따라 다를 수 있다.
이어서, 셀프 리프레쉬 모드가 퇴장되는지 여부를 검토한다(S170). 구체적으로 예를 들면, 클락 인에이블 신호(CKE)가 하이 레벨이 되면, 리프레쉬 지시 신호(PRFH)는 로우 레벨이 되어 셀프 리프레쉬가 종료됨을 나타낸다.
이어서, 셀프 리프레쉬 모드 퇴장 전에 데이터를 수정한다(S180). 구체적으로, ECC 엔진(20)은 메모리 어레이(10) 내의 ECC 비트를 이용하여 데이터 비트를 수정한다.
이와 같이, 소정 시간(△t)마다 미리 정해진 다수의 모니터링 비트의 에러 여부를 검토하여 셀프 리프레쉬 주기(tREF)를 조절함으로써, 셀프 리프레쉬 주기(tREF)가 PVT 변화에 능동적으로 변화될 수 있다. 또한, 셀프 리프레쉬 주기(tREF)를 최대한 길게 가져갈 수 있으므로, 동적 메모리 장치(1)의 대기전력 소모가 최소화된다.
도 5는 본 발명의 다른 실시예에 따른 동적 메모리 장치의 리프레쉬 주기 결정 방법을 설명하기 위한 순서도이다. 도 4와 실질적으로 동일한 구성 요소에 대해 서는 동일한 도면 부호를 사용하며, 해당 구성 요소에 대한 상세한 설명은 생략하기로 한다.
도 1 및 도 5를 참조하면, 본 발명의 다른 실시예에 따른 동적 메모리 장치의 리프레쉬 주기 결정 방법은, 선정된 모니터링 비트가 다수 개인 경우를 설명한다.
우선 모니터링 비트를 선정하여, 모니터링 어드레스(MA)를 모니터링 어드레스 저장부(30)에 저장한다(S105). 여기서, 테일 비트 영역에서 다수의 모니터링 비트를 선정하고, 선정된 다수의 모니터링 비트를 누설되기 쉬운 순으로 bit(0), bit(1), …, bit(n)으로 명한다.
이어서, 셀프 리프레쉬 모드 진입 여부를 감지한다(S110), ECC 비트를 생성한다(S120). 초기 셀프 리프레쉬 주기(tREF)를 설정한다(S130).
이어서, 모니터링 비트 bit(n)이 정상인지 여부를 검토한다(S240). bit(n)에 에러가 발생될 경우, 셀프 리프레쉬 주기(tREF)를 감소시킨다(S242).
bit(n)이 정상일 경우, i=n-1을 대입한다(S244).
이어서, bit(i)가 정상인지(즉, bit(n-1)이 정상인지) 여부를 검토한다(S250). bit(n-1)이 정상일 경우, i=0인지 확인한다(S251). 즉, 더 이상 모니터링할 비트가 있는지 여부를 판단한다. 모니터링할 비트가 남아있는 경우에는 i=i-1을 수행하여(S252), bit(i)가 정상인지(즉, bit(n-2)가 정상인지) 여부를 검토한다(S250).
이와 같이 방식으로 검토할 때, 모든 모니터링 비트 bit(0), bit(1), …, bit(n) 가 정상일 경우에 셀프 리프레쉬 주기(tREF)를 증가시킨다(S254).
한편, 이와 같은 방식으로 검토하던 중, bit(i)에 에러가 발생할 경우 셀프 리프레쉬 주기(tREF)를 고정시킨다(S256). 즉, 셀프 리프레쉬 주기(tREF)를 tREF(i)<tREF<tREF(i+1)로 결정한다. 여기서, tREF(i+1), tREF(i)은 각각 bit(i+1), bit(i)에서 에러가 발생될 정도의 셀프 리프레쉬 주기를 의미한다.
이어서, 소정 시간(△t)을 대기한다(S160). 셀프 리프레쉬 모드가 퇴장되는지 여부를 검토한다(S170). 셀프 리프레쉬 모드 퇴장 전에 데이터를 수정한다(S180).
본 발명의 다른 실시예에서는 테일 비트 영역에서 선정된 다수의 모니터링 비트의 에러 발생 여부를 판단하되, 누설되지 않는 순으로 에러 발생 여부를 판단하였으나, 이에 제한되는 것은 아니다. 즉, 누설되기 쉬운 순으로 에러 발생 여부를 판단할 수 있고, 랜덤하게 선택하여 에러 발생 여부를 판단할 수 있다. 또한, 누설되지 않는 순서와 누설되기 쉬운 순서를 이용하여 에러 발생 여부를 판단할 수도 있다.
도 7은 본 발명의 또 다른 실시예에 따른 동적 메모리 장치의 리프레쉬 주기 조절 방법을 설명하기 위한 도면이다.
도 7을 참조하면, 본 발명의 또 다른 실시예에서, 적어도 하나의 모니터링 비트를 선정하는 것은 셀프 리프레쉬 기간동안 이루어진다.
반면, 본 발명의 일 실시예(도 1 참조)에서, 모니터링 비트의 선정은 미리 테스트(test)를 통해서 선정되고, 선정된 모니터링 비트의 어드레스는 비휘발성 형 태(nonvolatile type)의 모니터링 어드레스 저장부(30)에 저장된다.
본 발명의 또 다른 실시예에서, 셀프 리프레쉬 기간에 진입하면, 먼저, 셀프 리프레쉬의 처음 몇 주기동안(예를 들어, SR1~SR4), 적어도 하나의 모니터링 비트를 선정한다(I 단계). I 단계는 ASM(Auto Sampling Mode) 단계라고 부른다. 1개의 주기 동안에는, 메모리 어레이의 모든 워드 라인이 셀프 리프레쉬를 순차적으로 수행한다.
구체적으로 설명하면, 셀프 리프레쉬의 제1 주기(SR1) 동안, 메모리 어레이에 저장된 데이터 비트와 이에 대응되는 ECC 비트를 이용하여 상기 데이터 비트의 에러 여부를 검토한다. 예를 들어, 메모리 어레이로부터 리드한 데이터 비트를 ECC 비트를 이용하여 보정한다. 보정된 데이터 비트가 보정전의(즉, 원래 리드된) 데이터 비트와 동일하다면, 리드한 데이터 비트는 정상일 수 있다. 반면, 보정된 데이터 비트가 보정전의 데이터 비트와 다르다면, 리드한 데이터 비트는 에러로 판단될 수 있다. 후술하겠으나, 이러한 에러 데이터 비트는 라이트백 동작을 통해서 수정될 수 있다. 제1 주기(SR1)의 길이는 가장 짧을 수 있다(즉, 도 7에서 T0임).
데이터 비트의 에러가 발생되지 않은 경우라면, 제2 주기(SR2)를 T1으로 증가시킨다. 다시, 제2 주기(SR2)동안, 메모리 어레이에 저장된 데이터 비트와 이에 대응되는 ECC 비트를 이용하여 상기 데이터 비트의 에러 여부를 검토한다. 셀프 리프레쉬의 제2 주기(SR2)는 제1 주기(SR1)보다 증가되었기 때문에, 데이터 비트의 에러가 발생될 가능성이 높아진다.
소정 데이터 비트의 에러가 발생될 때까지, 셀프 리프레쉬의 주기의 길이를 증가시킨다. 예를 들어, 제3 주기(SR3)에서는 T1에서 T2로 증가되고, 제4 주기(SR4)에서는 T2에서 T3으로 증가된다. 도 7에서는 제4 주기(SR4)에서, 에러가 발생된 것을 도시하였다.
소정 데이터 비트의 에러가 발생된 경우, 에러가 발생된 데이터 비트와 이에 대응되는 ECC 비트를 모니터링 비트로 정의하고, 모니터링 비트의 어드레스를 모니터링 어드레스 저장부(도 8의 330)에 저장한다.
여기서, 제4 주기(SR4)에서 메모리 어레이 내의 에러가 발생된 모든 데이터 비트와 이에 대응되는 ECC 비트를 모니터링 비트로 정의하지 않아도 무방하다. 즉, 일부만 모니터링 비트로 정의할 수 있다. 예를 들어, 먼저 에러가 발생된 데이터 비트 몇 개만을 모니터링 비트로 정의할 수 있다. 왜냐하면, 먼저 에러가 발생된 데이터 비트는 동적 메모리 장치 내에서 데이터 유지(data retention) 특성이 나쁜 부분에 해당할 가능성이 높기 때문이다.
한편, 도 7에서는 제1 주기(SR1) 내지 제3 주기(SR3)동안 모니터링 비트를 선정하지 못하고, 주기의 길이를 계속 증가시키는 것을 예로 들었으나, 이에 한정되는 것은 아니다. 예를 들어, 제1 주기(SR1)에서 바로 에러가 발생된 데이터 비트를 검출될 경우에는, 제1 주기(SR1)만 수행함으로써 모니터링 비트를 선정할 수 있다.
이어서, I 단계(ASM 단계) 후 진행되는 셀프 리프레쉬의 제5 내지 제10 주기(SR5~SR10)에서는, 셀프 리프레쉬 동안에 선정된 모니터링 비트의 에러 여부만을 검출한다(II 단계).
구체적으로, 메모리 어레이 내에 저장된 모든 데이터 비트에 에러가 발생되었는지 여부를 검출하지 않고, 일부의 데이터 비트에만 에러가 발생되었는지 여부를 검출하여 그 결과에 따라 셀프 리프레쉬 주기를 조절한다. 모든 데이터 비트에 에러가 발생되었는지 여부를 검출할 경우, 소모 전력이 크기 때문이다.
이어서, 선정된 모니터링 비트의 에러 여부에 따라, 셀프 리프레쉬의 제11 주기(SR11)의 길이를 조절할 수 있다(III 단계).
예를 들어, 제5 내지 제10 주기(SR5~SR10) 동안 계속적으로 모니터링 비트에 에러가 발생하면, 셀프 리프레쉬 주기가 올바르지 않다고 판단한다. 따라서, 제11 주기(SR11)의 길이는 줄어들게 된다. 도 7에서는 제11 주기(SR11)가 T2로 줄어든 것을 도시하였다.
도시하지는 않았으나 반대로, 제5 내지 제10 주기(SR5~SR10) 동안 계속적으로 모니터링 비트에 에러가 발생하지 않는다면, 셀프 리프레쉬 주기를 더 늘릴 수 있다고 판단한다. 따라서, 제11 주기(SR11)의 길이는 더 늘어나게 된다.
한편, 도 7에서는 6개의 주기(SR5~SR10)동안 모니터링 비트에 에러가 계속 발생하였는지를 검토하였으나, 이에 한정되지 않는다. 예를 들어, 1개의 주기동안만 검토할 수도 있고, 7개 이상의 주기동안 모니터링 비트에 에러가 계속 발생하는지를 검토할 수도 있다.
전술하였던, 제1 내지 제n(단, n은 1보다 같거나 큰 자연수) 주기 동안, 적어도 하나의 모니터링 비트를 선정하는 것을 정리하면 다음과 같다.
먼저, n이 2보다 큰 자연수일 때, 셀프 리프레쉬의 제a(단, a는 1보다 같거 나 크고 n보다 작은 자연수) 주기동안, 메모리 어레이에 저장된 데이터 비트와 이에 대응되는 ECC 비트를 이용하여 상기 데이터 비트의 에러 여부를 검토한다.
이 때, 데이터 비트의 에러가 발생되지 않은 경우, 셀프 리프레쉬의 제a 주기동안, 메모리 어레이에 저장된 데이터 비트와 이에 대응되는 ECC 비트를 이용하여 상기 데이터 비트의 에러 여부를 검토하되, 셀프 리프레쉬의 제a+1 주기는 상기 셀프 리프레쉬의 제a 주기보다 증가된다. 한편, 데이터 비트의 에러가 발생된 경우, 상기 에러가 발생된 데이터 비트와 이에 대응되는 ECC 비트를 모니터링 비트로 정의하고, 모니터링 비트의 어드레스를 모니터링 어드레스 저장부에 저장한다.
도 8은 본 발명의 또 다른 실시예에 따른 동적 메모리 장치를 설명하기 위한 블록도이다. 도 8은 도 7을 이용하여 설명한 리프레쉬 주기 결정 방법을 구체적으로 구현한 예이다. 도 9는 도 8의 모니터링 어드레스 저장부를 설명하기 위한 도면이고, 도 10은 도 8의 리프레쉬 주기 결정부를 설명하기 위한 도면이다. 도 1와 실질적으로 동일한 구성 요소에 대해서는 동일한 도면 부호를 사용하며, 해당 구성 요소에 대한 상세한 설명은 생략하기로 한다.
도 8을 참조하면, 본 발명의 또 다른 실시예에 따른 동적 메모리 장치(3)는 메모리 어레이(10), ECC 엔진(Error Correction Code engine)(320), 모니터링 어드레스 저장부(330), 리프레쉬 주기 결정 회로(340)를 포함한다.
ECC 엔진(320)은 셀프 리프레쉬 기간동안, (도 7을 이용하여 설명하였듯이) 적어도 하나의 모니터링 비트를 선정하고, 선정된 적어도 하나의 모니터링 비트의 에러 여부를 검출한다.
구체적으로, ECC 엔진(320)은 셀프 리프레쉬의 제1 내지 제n(단, n은 1보다 같거나 큰 자연수) 주기 동안 적어도 하나의 모니터링 비트를 선정하고, 셀프 리프레쉬의 제n+1 내지 제m(단, m은 n+1보다 같거나 큰 자연수) 주기 동안 적어도 하나의 모니터링 비트의 에러 여부를 검출할 수 있다.
적어도 하나의 모니터링 비트를 선정할 때, 데이터 비트의 에러가 발생되지 않은 경우, 셀프 리프레쉬의 제a+1 주기동안, 메모리 어레이(10)에 저장된 데이터 비트와 이에 대응되는 ECC 비트를 이용하여 데이터 비트의 에러 여부를 검토하되, 셀프 리프레쉬의 제a+1 주기는 셀프 리프레쉬의 제a 주기보다 증가된다. 한편, 데이터 비트의 에러가 발생된 경우, 상기 에러가 발생된 데이터 비트와 이에 대응되는 ECC 비트를 모니터링 비트로 정의하고, 모니터링 비트의 어드레스를 모니터링 어드레스 저장부(330)(즉, 모니터링 어드레스 레지스터(332))에 저장한다.
모니터링 어드레스 저장부(330)는 선정된 적어도 하나의 모니터링 비트의 어드레스를 저장한다.
예를 들어, 모니터링 어드레스 저장부(330)는 모니터링 어드레스 레지스터(332)와, 샘플링 플래그 레지스터(334)와, 에러 플래그 레지스터(336)를 포함할 수 있다.
다수의 모니터링 어드레스 레지스터(332)는 다수의 모니터링 비트 각각에 대응되는 다수의 모니터링 어드레스를 저장한다.
다수의 샘플링 플래그 레지스터(334)는 각 모니터링 어드레스 레지스터(332)에 대응되고, 각 모니터링 어드레스 레지스터(332)에 모니터링 어드레스가 저장되 어 있는지를 나타내는 샘플링 플래그(sampling flag)를 저장한다. 예를 들어, 모니터링 어드레스 레지스터(332)에 모니터링 어드레스가 저장되어 있는 경우, 샘플링 플래그는 1이고, 그렇지 않은 경우 0일 수 있다.
다수의 에러 플래그 레지스터(336)는 각 모니터링 어드레스 레지스터(332)에 대응되고, 각 모니터링 어드레스 레지스터(332)에 저장된 모니터링 어드레스에 대응되는 모니터링 비트가 에러인지 여부를 나타내는 에러 플래그(error flag)를 저장한다. 예를 들어, 리프레쉬 주기(예를 들어, SR5) 동안, 저장된 모니터링 어드레스에 대응되는 모니터링 비트가 에러인 경우, 에러 플래그는 1이고, 그렇지 않은 경우 0일 수 있다.
여기서, 도 9에서는 모니터링 어드레스 레지스터(332), 샘플링 플래그 레지스터(334), 에러 플래그 레지스터(336) 각각을 10개씩으로 도시하였으나, 이에 한정되는 것은 아니다. 필요에 따라 10개 이상이 될 수도 있고, 10개 이하일 수도 있다. 또한, 모니터링 어드레스 레지스터(332), 샘플링 플래그 레지스터(334), 에러 플래그 레지스터(336) 각각은 8비트, 1비트, 1비트로 도시하였으나, 이에 한정되는 것은 아니다.
도 1에서, 미리 테스트를 거쳐서 선정된 모니터링 어드레스를 모니터링 어드레스 저장부(30)에 저장하기 때문에, 모니터링 어드레스 저장부(30)는 비휘발성 형태(nonvolatile type)일 수 있다. 반면, 도 8에서는, 셀프 리프레쉬에 들어갈 때(즉, ASM 단계)마다 모니터링 어드레스가 선정되고 선정된 모니터링 어드레스가 저장되기 때문에, 모니터링 어드레스 저장부(330)는 비휘발성 형태로 한정될 필요가 없다. 즉, 휘발성 형태(volatile type)도 가능하다.
리프레쉬 주기 결정 회로(340)는 모니터링 비트의 에러 여부에 따라 셀프 리프레쉬 주기를 조절한다.
구체적으로, 리프레쉬 주기 결정 회로(340)는 상기 제n+1 내지 제m(단, m은 n+1보다 같거나 큰 자연수) 주기 동안에 검출된 상기 적어도 하나의 모니터링 비트의 에러에 따라, 셀프 리프레쉬의 제m+1 주기를 조절하는 것을 포함한다.
여기서, 도 10을 참조하면, 리프레쉬 주기 결정 회로(340)는 SR 래치(341), 앤드 게이트(342, 344, 345, 347, 348, 349), 에러 카운터(343), 지연부(346)로 구성될 수 있다.
신호를 설명하면 다음과 같다.
SR_END 신호는 셀프 리프레쉬 종료를 나타내는 신호이고, SRP_END 신호는 셀프 리프레쉬의 주기 종료를 나타내는 신호이다. SRP_END 신호는 예를 들어, 내부 어드레스 발생부(360)에서 제공하는 신호일 수 있다.
ER_SUM 신호는 에러 플래그 레지스터(336)에 저장된 에러 플래그들의 OR 조합 신호이다. 즉, 에러 플래그 중 어느 하나만이라고 1인 경우, ER_SUM 신호는 1이 된다. ER 신호는 ECC 엔진(320)이 에러를 발견할 때마다 발생시키는 신호로, 에러가 발생되면 ER 신호는 1이 된다.
ADDR_MATCH 신호는 현재 셀프 리프레쉬를 수행하고 있는 어드레스와, 모니터링 어드레스 레지스터(332)에 저장되어 있는 어드레스가 서로 매치되는지를 나타내는 신호이다. 즉, 서로 매치되는 경우, ADDR_MATCH가 1이 된다.
ASM 신호는 ASM 동작이 완료되었음(즉, 모니터링 어드레스를 모니터링 어드레스 레지스터(332)에 저장시킴)을 나타내는 신호이다. ASM 동작이 완료되면 1이 된다.
SRP_DCM 신호는 셀프 리프레쉬 주기 감소를 지시하는 신호이고, SRP_ICM 신호는 셀프 리프레쉬 주기 증가를 지시하는 신호이다. SRP_DCM 신호, SRP_ICM 신호는 내부 어드레스 생성부(60)로 전달되어, 셀프 리프레쉬 주기를 조절하게 된다.
WRITE 신호는 라이트백(write back)을 지시하는 신호이다. 즉, 에러가 발생된 데이터 비트를, ECC 비트를 이용하여 수정하고, 수정된 데이터를 재기입하는 것을 지시하는 신호이다. REFRESH 신호는 (라이트백 동작없이) 단순히 셀프 리프레시만을 지시하는 신호이고, READ 신호는 ECC 엔진(320)이 모니터링 데이터의 에러 여부를 판단하기 위해서 데이터 리드를 지시하는 신호이다.
셀프 리프레쉬의 주기를 증가시키거나, 감소시키는 동작을 설명하면 다음과 같다.
셀프 리프레쉬의 주기가 종료되어 SRP_END 신호가 1이 되고, 셀프 리프레쉬의 주기동안 에러가 적어도 하나 발생되어 ER_SUM 신호가 1이 되면, 앤드 게이트(342)의 출력이 1이 된다. 에러 카운터(343)는 앤드 게이트(342)의 출력이 1이 되는 횟수를 카운트한다. 에러 카운터(343)는 카운트한 횟수가 특정값 이상이 되면, SRP_DCM 신호를 인에이블시킨다. 예를 들어, (도 7에서 예시한 것처럼) 6개의 주기동안 에러가 발생하면 SRP_DCM 신호를 인에이블시킬 수 있다. SRP_DCM 신호가 인에이블되었기 때문에, 셀프 리프레쉬 주기는 줄어든다.
한편, 셀프 리프레쉬의 주기가 종료되어 SRP_END 신호가 1이 되고, 셀프 리프레쉬의 주기동안 에러가 하나도 발생하지 않아서 ER_SUM 신호가 0이 되면, SRP_ICM 신호가 인에이블된다. 즉, SRP_ICM 신호가 인에이블되었기 때문에, 셀프 리프레쉬 주기는 늘어난다.
셀프 리프레쉬의 동작을 조절하는 것을 설명하면 다음과 같다.
현재 셀프 리프레쉬를 수행하고 있는 어드레스와, 모니터링 어드레스 레지스터(332)에 저장되어 있는 어드레스가 서로 매치되면, ADDR_MATCH 신호가 1이 된다. 이 경우, READ 신호가 인에이블된다. 따라서, 현재 셀프 리프레쉬를 수행하고 있는 어드레스의 데이터를 리드하고, ECC 엔진(320)은 에러 여부를 판단하게 된다.
현재 셀프 리프레쉬를 수행하고 있는 어드레스와, 모니터링 어드레스 레지스터(332)에 저장되어 있는 어드레스가 서로 매치되지 않으면, ADDR_MATCH 신호가 0이 된다. 이 경우, REFRESH 신호가 인에이블된다. 따라서, ECC 엔진(320)이 에러 여부를 판단하는 동작은 하지 않는다. 단순히, 셀프 리프레쉬를 수행하고 있는 어드레스에 있는 데이터를 리프레쉬할 뿐이다.
ER 신호가 1이 되면 현재 셀프 리프레쉬가 수행되고 있는 어드레스에 대응되는 데이터 비트에 에러가 발생되었다는 의미이다. 따라서, 지연부(346)에 의해서 소정 시간 지연된 후 WRITE 신호는 인에이블된다. 따라서, 에러가 발생된 데이터 비트에, 수정된 데이터를 라이트백한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수 적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
도 1은 본 발명의 일 실시예에 따른 동적 메모리 장치를 설명하기 위한 블록도이다.
도 2는 도 1의 리프레쉬 주기 결정 회로와 ECC 엔진을 설명하기 위한 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 동적 메모리 장치를 설명하기 위한 회로도이다.
도 4는 본 발명의 일 실시예에 따른 동적 메모리 장치의 리프레쉬 주기 결정 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 다른 실시예에 따른 동적 메모리 장치의 리프레쉬 주기 결정 방법을 설명하기 위한 순서도이다.
도 6은 포즈 시간에 대한 정규화된 누적에러비트수를 나타낸 포즈 리프레쉬 특성도이다.
도 7은 본 발명의 또 다른 실시예에 따른 동적 메모리 장치의 리프레쉬 주기 조절 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 또 다른 실시예에 따른 동적 메모리 장치를 설명하기 위한 블록도이다.
도 9는 도 8의 모니터링 어드레스 저장부를 설명하기 위한 도면이다.
도 10은 도 8의 리프레쉬 주기 결정부를 설명하기 위한 도면이다.
(도면의 주요부분에 대한 부호의 설명)
1-3 : 동적 메모리 장치 10 : 메모리 어레이
12 : 로우 디코더 14 : 센스 앰프/기입 드라이버
16 : 컬럼 디코더 20, 320 : ECC 엔진
30, 330 : 모니터링 어드레스 저장부
40, 340 : 리프레쉬 주기 결정 회로
50 : 리프레쉬 진입 감지 회로
60, 360 : 내부 어드레스 발생기

Claims (11)

  1. 셀프 리프레쉬의 제1 내지 제n(단, n은 2보다 큰 자연수) 주기 동안, 적어도 하나의 모니터링 비트를 선정하고,
    셀프 리프레쉬의 제n+1 내지 제m(단, m은 n+1보다 같거나 큰 자연수) 주기 동안, 상기 적어도 하나의 모니터링 비트의 에러 여부를 검출하고,
    상기 적어도 하나의 모니터링 비트의 에러 여부에 따라 셀프 리프레쉬의 제m+1 주기를 조절하는 것을 포함하되,
    상기 모니터링 비트를 선정하는 것은,
    셀프 리프레쉬의 제a(단, a는 1보다 같거나 크고 n보다 작은 자연수) 주기동안, 메모리 어레이에 저장된 데이터 비트와 상기 데이터 비트에 대응되는 ECC 비트를 이용하여 상기 데이터 비트의 에러 여부를 검토하고,
    상기 데이터 비트의 에러가 발생되지 않은 경우, 셀프 리프레쉬의 제a+1 주기동안, 메모리 어레이에 저장된 데이터 비트와 상기 데이터 비트에 대응되는 ECC 비트를 이용하여 상기 데이터 비트의 에러 여부를 검토하되, 셀프 리프레쉬의 제a+1 주기는 상기 셀프 리프레쉬의 제a 주기보다 증가된 동적 메모리 장치의 리프레쉬 주기 결정 방법.
  2. 삭제
  3. 제 1항에 있어서, 상기 모니터링 비트를 선정하는 것은,
    상기 데이터 비트의 에러가 발생된 경우, 상기 에러가 발생된 데이터 비트와 이에 대응되는 ECC 비트를 모니터링 비트로 정의하고, 상기 모니터링 비트의 어드레스를 모니터링 어드레스 저장부에 저장하는 것을 더 포함하는 동적 메모리 장치의 리프레쉬 주기 결정 방법.
  4. 제 1항에 있어서,
    상기 셀프 리프레쉬 주기를 조절하는 것은, 상기 적어도 하나의 모니터링 비트 중 적어도 일부가 에러일 경우에는 셀프 리프레쉬 주기를 감소시키는 동적 메모리 장치의 리프레쉬 주기 결정 방법.
  5. 제 1항에 있어서,
    상기 셀프 리프레쉬 주기를 조절하는 것은, 상기 적어도 하나의 모니터링 비트가 정상일 경우에는 셀프 리프레쉬 주기를 증가시키는 동적 메모리 장치의 리프레쉬 주기 결정 방법.
  6. 셀프 리프레쉬 기간동안, 적어도 하나의 모니터링 비트를 선정하고 상기 선정된 적어도 하나의 모니터링 비트의 에러 여부를 검출하는 ECC 엔진;
    상기 선정된 적어도 하나의 모니터링 비트의 모니터링 어드레스를 저장하는 모니터링 어드레스 저장부; 및
    상기 모니터링 비트의 에러 여부에 따라 셀프 리프레쉬 주기를 조절하는 리프레쉬 주기 결정 회로를 포함하되,
    상기 ECC 엔진은 셀프 리프레쉬의 제1 내지 제n(단, n은 2보다 큰 자연수) 주기 동안 적어도 하나의 모니터링 비트를 선정하고, 셀프 리프레쉬의 제n+1 내지 제m(단, m은 n+1보다 같거나 큰 자연수) 주기 동안 상기 적어도 하나의 모니터링 비트의 에러 여부를 검출하고,
    상기 리프레쉬 주기 결정 회로는 상기 제n+1 내지 제m(단, m은 n+1보다 같거나 큰 자연수) 주기 동안에 검출된 상기 적어도 하나의 모니터링 비트의 에러에 따라, 셀프 리프레쉬의 제m+1 주기를 조절하는 것을 포함하고,
    상기 ECC 엔진이 모니터링 비트를 선정하는 것은,
    셀프 리프레쉬의 제a(단, a는 1보다 같거나 크고 n보다 작은 자연수) 주기동안, 메모리 어레이에 저장된 데이터 비트와 상기 데이터 비트에 대응되는 ECC 비트를 이용하여 상기 데이터 비트의 에러 여부를 검토하고,
    상기 데이터 비트의 에러가 발생되지 않은 경우, 셀프 리프레쉬의 제a+1 주기동안, 메모리 어레이에 저장된 데이터 비트와 상기 데이터 비트에 대응되는 ECC 비트를 이용하여 상기 데이터 비트의 에러 여부를 검토하되, 셀프 리프레쉬의 제a+1 주기는 상기 셀프 리프레쉬의 제a 주기보다 증가된 동적 메모리 장치.
  7. 삭제
  8. 삭제
  9. 제 6항에 있어서,
    상기 리프레쉬 주기 결정 회로는 상기 적어도 하나의 모니터링 비트 중 적어도 일부가 에러일 경우에는 셀프 리프레쉬 주기를 감소시키고, 상기 적어도 하나의 모니터링 비트가 정상일 경우에는 셀프 리프레쉬 주기를 증가시키는 동적 메모리 장치.
  10. 제 6항에 있어서, 상기 모니터링 어드레스 저장부는
    상기 모니터링 어드레스를 저장하는 다수의 모니터링 어드레스 레지스터와,
    상기 각 모니터링 어드레스 레지스터에 대응되고, 상기 각 모니터링 어드레스 레지스터에 상기 모니터링 어드레스가 저장되어 있는지를 나타내는 샘플링 플래그(sampling flag)를 저장하는 샘플링 플래그 레지스터와,
    상기 각 모니터링 어드레스 레지스터에 대응되고, 각 모니터링 어드레스 레지스터에 저장된 상기 모니터링 어드레스에 대응되는 모니터링 비트가 에러인지 여부를 나타내는 에러 플래그(error flag)를 저장하는 에러 플래그 레지스터를 포함하는 동적 메모리 장치.
  11. 삭제
KR1020080123776A 2008-12-08 2008-12-08 동적 메모리 장치의 리프레쉬 주기 결정 방법 및 그 동작 메모리 장치 KR101578789B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080123776A KR101578789B1 (ko) 2008-12-08 2008-12-08 동적 메모리 장치의 리프레쉬 주기 결정 방법 및 그 동작 메모리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080123776A KR101578789B1 (ko) 2008-12-08 2008-12-08 동적 메모리 장치의 리프레쉬 주기 결정 방법 및 그 동작 메모리 장치

Publications (2)

Publication Number Publication Date
KR20100065446A KR20100065446A (ko) 2010-06-17
KR101578789B1 true KR101578789B1 (ko) 2015-12-18

Family

ID=42364703

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080123776A KR101578789B1 (ko) 2008-12-08 2008-12-08 동적 메모리 장치의 리프레쉬 주기 결정 방법 및 그 동작 메모리 장치

Country Status (1)

Country Link
KR (1) KR101578789B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101882681B1 (ko) 2011-10-27 2018-07-31 삼성전자 주식회사 메모리 장치 및 그 구동 방법
KR102078562B1 (ko) 2013-02-25 2020-02-18 삼성전자 주식회사 리프레쉬 어드레스 생성기 및 이를 포함하는 휘발성 메모리 장치
KR102468870B1 (ko) * 2016-10-20 2022-11-21 에스케이하이닉스 주식회사 리프레쉬 타임 검출회로 및 이를 포함하는 반도체 장치
KR20190087180A (ko) 2018-01-16 2019-07-24 에스케이하이닉스 주식회사 데이터 에러를 검출 및 보정하는 메모리 장치, 및 그의 동작방법
US11112982B2 (en) 2019-08-27 2021-09-07 Micron Technology, Inc. Power optimization for memory subsystems

Also Published As

Publication number Publication date
KR20100065446A (ko) 2010-06-17

Similar Documents

Publication Publication Date Title
KR100714487B1 (ko) 동적 메모리 장치 및 그 리프레쉬 주기 결정 방법
US7894282B2 (en) Dynamic random access memory device and method of determining refresh cycle thereof
KR102658230B1 (ko) 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
US10817371B2 (en) Error correction in row hammer mitigation and target row refresh
US6965537B1 (en) Memory system and method using ECC to achieve low power refresh
JP5334138B2 (ja) 動的に調整可能な読み出しマージンを有する集積回路メモリ及びその方法
US10049006B2 (en) Controller-based memory scrub for DRAMs with internal error-correcting code (ECC) bits contemporaneously during auto refresh or by using masked write commands
US9823964B2 (en) Method for memory scrub of DRAM with internal error correcting code (ECC) bits during either memory activate and/or precharge operation
US7900120B2 (en) Memory system and method using ECC with flag bit to identify modified data
US6792567B2 (en) System and method for correcting soft errors in random access memory devices
US8793558B2 (en) Adaptive error correction for non-volatile memories
KR102398209B1 (ko) 반도체 메모리 장치, 메모리 시스템 그리고 그것의 리프레쉬 방법
US7818651B2 (en) Semiconductor memory device having data holding mode using ECC function
US20070162826A1 (en) Method for detecting error correction defects
US9589676B2 (en) Semiconductor device and operating method thereof
US9880900B2 (en) Method for scrubbing and correcting DRAM memory data with internal error-correcting code (ECC) bits contemporaneously during self-refresh state
US20160026533A1 (en) Apparatus including refresh controller controlling refresh operation responsive to data error
KR101578789B1 (ko) 동적 메모리 장치의 리프레쉬 주기 결정 방법 및 그 동작 메모리 장치
KR20210088917A (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
JP4322694B2 (ja) 半導体記憶装置および半導体記憶装置のリフレッシュ方法
KR20220094489A (ko) 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
US20080016434A1 (en) Semiconductor integrated circuit device
US10229752B2 (en) Memory device correcting data error of weak cell
KR20220039432A (ko) 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
US9672894B2 (en) Device and method of controlling refresh operation for dynamic random access memory (DRAM)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
FPAY Annual fee payment

Payment date: 20191129

Year of fee payment: 5