KR20220070997A - 컨트롤러 및 이를 포함하는 메모리 시스템 - Google Patents

컨트롤러 및 이를 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR20220070997A
KR20220070997A KR1020200158149A KR20200158149A KR20220070997A KR 20220070997 A KR20220070997 A KR 20220070997A KR 1020200158149 A KR1020200158149 A KR 1020200158149A KR 20200158149 A KR20200158149 A KR 20200158149A KR 20220070997 A KR20220070997 A KR 20220070997A
Authority
KR
South Korea
Prior art keywords
refresh
output
controller
temperature
period
Prior art date
Application number
KR1020200158149A
Other languages
English (en)
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 KR1020200158149A priority Critical patent/KR20220070997A/ko
Priority to US17/340,922 priority patent/US11742015B2/en
Priority to CN202110765730.0A priority patent/CN114530175A/zh
Publication of KR20220070997A publication Critical patent/KR20220070997A/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/40626Temperature related aspects of refresh operations
    • 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
    • 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/0658Controller construction arrangements
    • 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/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
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • 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
    • 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/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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/4062Parity or ECC in refresh operations

Abstract

본 기술은 데이터를 저장하는 저장 장치; 및 상기 저장 장치를 제어하도록 구성된 컨트롤러를 포함하고, 상기 컨트롤러는, 셀프-리프레쉬 모드에서 상기 저장 장치에 포함된 메모리 셀들을 리드(read)하고, 리드된 데이터에 포함된 페일 비트의 개수와 상기 저장 장치의 온도에 따라 리프레쉬 주기(period)를 설정하고, 상기 리프레쉬 주기마다 상기 저장 장치의 리프레쉬 동작을 수행하도록 구성되는 컨트롤러 및 이를 포함하는 메모리 시스템을 포함한다.

Description

컨트롤러 및 이를 포함하는 메모리 시스템{Controller and memory system having the controller}
본 발명은 컨트롤러 및 이를 포함하는 메모리 시스템에 관한 것으로, 보다 구체적으로는 리프레쉬(refresh) 동작을 수행하는 컨트롤러 및 이를 포함하는 메모리 시스템에 관한 것이다.
전자 시스템은 호스트들과 메모리 시스템을 포함할 수 있다.
호스트들은 휴대폰 또는 컴퓨터 등과 같은 장치일 수 있고, 메모리 시스템은 호스트들의 컨트롤에 따라 데이터를 저장하거나 리드된 데이터를 출력하는 시스템일 수 있다. 메모리 시스템은 데이터가 저장되는 메모리 장치와 메모리 장치를 컨트롤하는 컨트롤러를 포함할 수 있다. 메모리 장치는 휘발성 메모리 장치(Volatile Memory)와 비휘발성 메모리 장치(Non-volatile Memory)로 구분된다.
휘발성 메모리 장치 중에서 대표적인 메모리 장치인 DRAM은 캐패시터로 구성된 메모리 셀들을 구비하여 빠른 속도로 데이터 입출력 동작을 수행할 수 있다. 하지만, DRAM은 캐패시터로 구성된 메모리 셀의 특성으로 인해 저장된 데이터를 유지하지 못하는 특성을 가진다. 따라서, DRAM은 메모리 셀에 저장된 데이터를 유지하기 위하여 주기적으로 리프레쉬(refresh) 동작을 수행한다.
본 발명의 실시 예는 메모리 장치에 저장된 데이터의 페일 비트의 개수와 메모리 시스템의 온도에 따라 리프레쉬 주기(period)를 결정하고, 결정된 주기에 따라 셀프-리프레쉬 동작을 수행할 수 있는 컨트롤러 및 이를 포함하는 메모리 시스템을 제공한다.
본 발명의 실시 예에 따른 메모리 시스템은, 데이터를 저장하는 저장 장치; 및 상기 저장 장치를 제어하도록 구성된 컨트롤러를 포함하고, 상기 컨트롤러는, 셀프-리프레쉬 모드에서 상기 저장 장치에 포함된 메모리 셀들을 리드(read)하고, 리드된 데이터에 포함된 페일 비트의 개수와 상기 저장 장치의 온도에 따라 리프레쉬 주기(period)를 설정하고, 상기 리프레쉬 주기마다 상기 저장 장치의 리프레쉬 동작을 수행하도록 구성된다.
본 발명의 실시 예에 따른 컨트롤러는, 리프레쉬 모드에서는 리프레쉬 커맨드를 출력하고, 셀프-리프레쉬 모드에서는 리드 커맨드를 출력한 후 인에이블 신호가 수신될 때마다 상기 리프레쉬 커맨드를 출력하도록 구성되는 커맨드 생성부; 상기 리드 커맨드에 의해 저장 장치로부터 리드된 데이터가 출력되면, 상기 리드된 데이터의 에러 정정 동작을 수행하고, 상기 리드된 데이터에 포함된 페일 비트의 개수를 출력하도록 구성되는 에러 정정 엔진; 온도를 측정하여 온도 정보를 출력하도록 구성되는 온도 센서; 및 상기 페일 비트의 개수와 상기 온도 정보에 따라 리프레쉬 주기를 산출하고, 상기 리프레쉬 주기에 따라 상기 인에이블 신호를 주기적으로 출력하도록 구성되는 주기 컨트롤러를 포함한다.
본 기술에 따르면, 메모리 장치에 저장된 데이터의 페일 비트의 개수와 메모리 시스템의 온도에 따라 리프레쉬 주기(period)를 결정하고, 결정된 주기에 따라 셀프-리프레쉬 동작을 수행함으로써, 리프레쉬 동작을 더욱 효율적으로 수행할 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 2는 도 1에 도시된 컨트롤러를 설명하기 위한 도면이다.
도 3은 도 2에 도시된 주기 컨트롤러를 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 셀프-리프레쉬 동작을 설명하기 위한 순서도이다.
도 5는 도 4를 참조하여 설명된 리프레쉬 주기를 연산하는 단계를 구체적으로 설명하기 위한 순서도이다.
도 6a는 리프레쉬 주기(period)를 결정하는 제1 실시 예를 설명하기 위한 도면이다.
도 6b는 리프레쉬 주기(period)를 결정하는 제2 실시 예를 설명하기 위한 도면이다.
도 7a 내지 도 7c는 본 발명의 셀프-리프레쉬 모드에서 컨트롤러의 동작 방법을 순차적으로 설명하기 위한 도면들이다.
도 8은 본 발명의 리프레쉬 모드에서 컨트롤러의 동작 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 실시 예에 따른 컨트롤러가 적용된 데이터 처리 장치를 설명하기 위한 도면이다.
도 10은 본 발명의 실시 예에 따른 컨트롤러가 적용된 모바일 장치를 설명하기 위한 도면이다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 메모리 시스템(memory system; 1000)은 데이터를 저장할 수 있는 저장 장치(storage device; 1100)와 저장 장치(1100)를 컨트롤하도록 구성된 컨트롤러(controller; 1200)를 포함할 수 있다.
저장 장치(1100)는 휘발성 메모리를 포함할 수 있다. 저장 장치(1100)는 데이터가 저장될 수 있는 제1 내지 제n 뱅크들(BA1~BAn; n은 양의 정수)과, 리프레쉬 동작 시 제1 내지 제n 뱅크들(BA1~BAn)에게 프리차지 전압을 공급하도록 구성되는 제1 내지 제n 액티브 회로들(AC1~ACn)을 포함할 수 있다. 제1 내지 제n 뱅크들(BA1~BAn)은 복수의 메모리 셀들을 포함할 수 있다. 제1 내지 제n 액티브 회로들(AC1~ACn)은 제1 내지 제n 뱅크들(BA1~BAn)에 각각 대응되어 연결될 수 있다. 제1 내지 제n 뱅크들(BA1~BAn)에 포함된 메모리 셀들은 워드 라인들에 연결될 수 있다.
휘발성 메모리는 DRAM (Dynamic RAM) 또는 SDRAM (Synchronous DRAM)을 포함할 수 있으며, 이 외에도 다양한 종류의 메모리를 포함할 수 있다. 예를 들면, 저장 장치(1100)는 시간이 경과함에 따라 데이터를 유지시키기 위한 리프레쉬 동작이 필요한 다양한 종류의 메모리를 포함할 수 있다.
리프레쉬 동작은 선택된 워드 라인과 선택된 액티브 회로에 의해 선택된 워드 라인들은 로우 어드레스(row address)에 따라 선택될 수 있다.
컨트롤러(1200)는 저장 장치(1100)를 컨트롤하도록 구성될 수 있다. 예를 들면, 컨트롤러(1200)는 외부 장치(예컨대, 호스트)가 출력한 다양한 요청들(requests)에 응답하여 다양한 동작들을 수행하기 위한 컨트롤 신호들을 저장 장치(1100)에게 출력할 수 있다. 예를 들면, 컨트롤러(1200)는 리프레쉬 동작을 수행하기 위한 리프레쉬 커맨드, 리드 동작을 수행하기 위한 리드 커맨드 등을 저장 장치(1100)에게 출력할 수 있고, 워드 라인을 선택하기 위한 로우 어드레스(row address) 및 액티브 회로를 컨트롤하기 위한 액티브 컨트롤 신호들을 저장 장치(1100)에게 출력할 수 있다. 이 외에도 컨트롤러(1200)는 리드 동작 또는 리프레쉬 동작에 필요한 다양한 컨트롤 신호들을 출력할 수 있다.
본 실시 예에 따른 컨트롤러(1200)는 외부 장치의 요청에 따라 리프레쉬 모드(refresh mode) 또는 셀프-리프레쉬 모드(self-refresh mode)로 동작할 수 있다. 리프레쉬 모드는 외부 장치에서 리프레쉬 요청이 수신될 때에만 리프레쉬 동작을 수행하는 모드이고, 셀프-리프레쉬 모드는 외부 장치에서 셀프-리프레쉬 요청이 수신될 때부터 리프레쉬 종료 요청이 수신될 때까지 특정 주기마다 리프레쉬 동작을 수행하는 모드이다. 본 실시 예에 따른 컨트롤러(1200)는 셀프-리프레쉬 모드가 시작되면 리드 동작을 수행하고, 리드된 데이터에 포함된 페일 비트(fail bit)의 개수를 카운트할 수 있다. 컨트롤러(1200)는 카운트된 페일 비트의 개수와 온도에 따라 리프레쉬 동작을 수행하기 위한 주기(period)를 결정할 수 있고, 결정된 주기에 따라 리프레쉬 동작을 수행할 수 있다. 컨트롤러(1200)는 리프레쉬 종료 요청이 수신될 때까지 결정된 주기에 따라 리프레쉬 동작을 주기적으로 수행할 수 있다. 컨트롤러(1200)는 리프레쉬 종료 요청이 수신되면 셀프-리프레쉬 모드를 종료할 수 있다.
도 2는 도 1에 도시된 컨트롤러를 설명하기 위한 도면이다.
도 2를 참조하면, 컨트롤러(1200)는 모드 선택부(mode selector; 210), 커맨드 생성부(command generator; 220), 카운터(counter; 230), 어드레스 컨트롤러(address controller; 240), 에러 정정 엔진(error correction engine; 250), 온도 센서(temperature sensor; 260) 및 주기 컨트롤러(period controller; 270)를 포함할 수 있다.
모드 선택부(210)는 외부 장치로부터 다양한 요청들을 수신받고, 수신된 요청에 따라 신호들을 출력하도록 구성될 수 있다. 모드 선택부(210)는 셀프-리프레쉬 요청(RQsrf), 리프레쉬 종료 요청(RQfn) 또는 리프레쉬 요청(RQrf)이 수신되면, 각 요청에 따라 셀프-리프레쉬 모드 신호(MDsrf), 종료 신호(FNS) 또는 리프레쉬 모드 신호(MDrf)를 선택적으로 출력할 수 있다. 예를 들면, 모드 선택부(210)는 셀프-리프레쉬 요청(RQsrf)에 응답하여 셀프-리프레쉬 모드 신호(MDsrf)를 출력할 수 있고, 리프레쉬 종료 요청(RQfn)에 응답하여 종료 신호(FNS)를 출력할 수 있으며, 리프레쉬 요청(RQrf)에 응답하여 리프레쉬 모드 신호(MDrf)를 출력할 수 있다.
커맨드 생성부(220)는 셀프-리프레쉬 모드 신호(MDsrf), 종료 신호(FNS) 또는 리프레쉬 모드 신호(MDrf)에 응답하여 서로 다른 모드에 대응되는 커맨드 및 신호들을 출력하도록 구성될 수 있다. 예를 들면, 커맨드 생성부(220)는 셀프-리프레쉬 모드 신호(MDsrf)가 수신되면 셀프-리프레쉬 신호(SRFS) 및 리드 커맨드(CMDrd)를 순차적으로 출력할 수 있고, 리프레쉬 인에이블 신호(ENrf)가 수신되면 셀프-리프레쉬 신호(SRFS) 및 리프레쉬 커맨드(CMDrf)를 출력할 수 있다. 셀프-리프레쉬 신호(SRFS)는 카운터(230)로 전송될 수 있고, 리드 커맨드(CMDrd)는 저장 장치(1100)로 전송될 수 있다. 커맨드 생성부(220)는 셀프-리프레쉬 모드를 종료하기 위한 종료 신호(FNS)가 수신되면 디스에이블 신호(DISA)를 출력할 수 있다. 디스에이블 신호(DISA)는 주기 컨트롤러(270)로 전송될 수 있다. 커맨드 생성부(220)는 종료 신호(FNS)가 수신되기 이전까지는 리프레쉬 인에이블 신호(ENrf)가 수신될 때마다 셀프-리프레쉬 신호(SRFS) 및 리프레쉬 커맨드(CMDrf)를 출력할 수 있다. 커맨드 생성부(220)는 리프레쉬 모드 신호(MD)가 수신되면 리프레쉬 신호(RFS) 및 리프레쉬 커맨드(CMDrf)를 순차적으로 출력할 수 있다. 리프레쉬 신호(RFS)는 카운터(230)로 전송될 수 있고, 리프레쉬 커맨드(CMDrf)는 저장 장치(1100)로 전송될 수 있다.
카운터(230)는 셀프-리프레쉬 신호(SRFS) 또는 리프레쉬 신호(RFS)에 응답하여 어드레스를 하나씩 선택하기 위한 어드레스 카운트 값(ADC)을 출력할 수 있다. 예를 들면, 카운터(230)는 셀프-리프레쉬 신호(SRFS)가 수신되면 디폴트로 설정된 어드레스 카운트 값(ADC)을 출력할 수 있고, 리프레쉬 신호(RFS)가 수신되면 어드레스 카운트 값(ADC)을 증가시킬 수 있다. 예를 들면, 카운터(230)는 리프레쉬 신호(RFS)가 수신될 때마다 어드레스 카운트 값(ADC)을 단계적으로 증가시키고, 값이 증가된 어드레스 카운트 값(ADC)을 출력할 수 있다.
어드레스 컨트롤러(240)는 어드레스 카운트 값(ADC)에 따라 리드 동작 또는 리프레쉬 동작의 대상에 해당되는 메모리 셀들의 로우 어드레스(RADD) 및 액티브 컨트롤 신호(ACON)를 출력할 수 있다. 예를 들면, 어드레스 컨트롤러(240)는 어드레스 생성부(address generator; 241) 및 액티브 드라이버(active driver; 242)를 포함할 수 있다. 어드레스 생성부(241)는 어드레스 카운트 값(ADC)에 응답하여 로우 어드레스(RADD)를 출력할 수 있다. 액티브 드라이버(242)는 어드레스 카운트 값(ADC)에 응답하여 액티브 컨트롤 신호(ACON)를 출력할 수 있다. 액티브 컨트롤 신호(ACON)에 따라 저장 장치(1100)에 포함된 제1 내지 제n 액티브들(도 1의 AC1~ACn) 중 선택된 액티브가 동작할 수 있으며, 로우 어드레스(RADD)에 따라 뱅크에 포함된 워드 라인이 선택될 수 있다. 예를 들면, 어드레스 카운트 값(ADC)이 디폴트인 경우, 첫 번째 워드 라인이 선택될 수 있고, 어드레스 카운트 값(ADC)이 증가할 때마다 다음 워드 라인이 선택될 수 있다.
에러 정정 엔진(250)은 저장 장치(1100)의 선택된 메모리 셀들로부터 리드된 데이터(DATA)의 에러를 체크하고, 리드된 데이터(DATA)에 포함된 페일 비트(fail bit)의 개수(FBC)를 출력할 수 있다. 에러 정정 엔진(250)은 페일 비트의 개수(FBC)를 출력할 때 체크 신호(CHK)를 동시에 출력할 수 있다. 페일 비트의 개수(FBC)는 주기 컨트롤러(270)로 전송될 수 있고, 체크 신호(CHK)는 온도 센서(260)로 전송될 수 있다.
온도 센서(260)는 컨트롤러(1200) 또는 저장 장치(1100)의 온도를 체크하거나, 컨트롤러(1200) 및 저장 장치(1100) 각각의 온도를 체크하도록 구성될 수 있다. 온도 센서(260)는 체크 신호(CHK)에 응답하여 체크된 온도에 대한 정보인 온도 정보(TPIF)를 출력할 수 있다. 온도 정보(TPIF)는 주기 컨트롤러(270)로 전송될 수 있다.
주기 컨트롤러(270)는 페일 비트의 개수(FBC) 및 온도 정보(TPIF)에 따라 리프레쉬 주기(period)를 산출하고, 산출된 리프레쉬 주기에 따라 리프레쉬 인에이블 신호(ENrf)를 주기적으로 출력할 수 있다. 주기 컨트롤러(270)는 디스에이블 신호(DISA)가 수신되면 주기를 초기화하고 리프레쉬 인에이블 신호(ENrf)의 출력을 중단할 수 있다.
상술한 주기 컨트롤러(270)의 구성을 구체적으로 설명하면 다음과 같다.
도 3은 도 2에 도시된 주기 컨트롤러를 설명하기 위한 도면이다.
도 3을 참조하면, 주기 컨트롤러(270)는 연산부(operator; 271), 주기 관리부(period manager; 272) 및 버퍼(buffer; 273)를 포함할 수 있다.
연산부(271)는 페일 비트의 개수(FBC)와 온도 정보(TPIF)에 따라 연산 동작을 수행하여 리프레쉬 주기(RFP)를 산출할 수 있다. 즉, 연산부(271)는 페일 비트의 개수와 온도에 따라 리프레쉬 주기(RFP)를 산출할 수 있다. 예를 들면, 연산부(271)는 페일 비트의 개수가 증가할수록 리프레쉬 주기(REP)를 짧게 조절할 수 있고, 페일 비트의 개수가 감소할수록 리프레쉬 주기(REP)를 길게 조절할 수 있다. 연산부(271)는 온도가 높아질수록 리프레쉬 주기(RFP)를 짧게 조절할 수 있고, 온도가 낮아질수록 리프레쉬 주기(RFP)를 길게 조절할 수 있다.
주기 관리부(272)는 연산부(271)에서 출력된 리프레쉬 주기(RFP)가 수신되면, 수신된 리프레쉬 주기(RFP)를 버퍼(273)에 저장하고 리프레쉬 인에이블 신호(ENrf)를 출력할 수 있다. 주기 관리부(272)는 리프레쉬 인에이블 신호(ENrf)를 출력한 후 시간을 카운트할 수 있으며, 버퍼(273)에 저장된 주기에 대응되는 시간이 될 때마다 리프레쉬 인에이블 신호(ENrf)를 주기적으로 출력할 수 있다. 주기 관리부(272)는 디스에이블 신호(DISA)가 수신되면 리프레쉬 주기(RFP)가 저장된 버퍼(273)를 초기화하고, 리프레쉬 인에이블 신호(ENrf)의 출력을 중단할 수 있다.
도 4는 본 발명의 실시 예에 따른 셀프-리프레쉬 동작을 설명하기 위한 순서도이다.
도 4 및 도 2를 참조하면, 컨트롤러(1200)는 외부 장치(예컨대, 호스트)로부터 출력된 요청에 따라 리프레쉬 모드 또는 셀프-리프레쉬 모드로 동작할 수 있다(S41). 컨트롤러(1200)에 수신된 요청이 리프레쉬 요청인 경우(S41의 RM), 컨트롤러(1200)는 선택된 뱅크의 리프레쉬 동작을 설정된 횟수만큼 수행할 수 있다(S60). 예를 들면 설정된 횟수는 1회 일 수 있다. 리프레쉬 모드에서는 일반적으로 수행되는 방식에 따라 리프레쉬 동작이 수행될 수 있으므로, 도 4에서는 셀프-리프레쉬 모드에서 수행되는 셀프-리프레쉬 동작이 구체적으로 도시된다.
컨트롤러(1200)에 수신된 요청이 셀프-리프레쉬 요청인 경우(S41의 SRF), 커맨드 생성부(220)는 리드 동작을 위한 셀프-리프레쉬 신호(SRFS)를 출력할 수 있고, 셀프-리프레쉬 신호(SRFS)에 응답하여 카운터(230)는 어드레스 카운트 값(ADC)을 출력할 수 있다(S42). 셀프-리프레쉬 신호(SRFS)에 응답하여 출력되는 어드레스 카운트 값(ADC)은 디폴트 값을 가질 수 있다.
어드레스 컨트롤러(240)는 어드레스 카운트 값(ADC)에 따라 로우 어드레스(RADD)와 액티브 컨트롤 신호(ACON)를 출력할 수 있다(S43). S42 단계에서 출력된 어드레스 카운트 값(ADC)이 디폴트 값을 가지므로, 로우 어드레스(RADD)는 첫 번째 로우 어드레스일 수 있다. 본 실시 예에서는 리드 동작 시 첫 번째 로우 어드레스가 선택되지만, 뱅크에 포함된 복수의 워드 라인들 중 적어도 하나 이상의 워드 라인들이 순차적으로 선택되도록 복수의 로우 어드레스들이 순차적으로 출력될 수도 있다.
S43 단계에서 어드레스가 선택되면, 커맨드 생성부(220)는 리드 동작을 위한 리드 커맨드(CMDrd)를 출력할 수 있다. 예를 들면, S43 단계에서 리드 커맨드(CMDrd), 로우 어드레스(RADD) 및 액티브 컨트롤 신호(ACON)가 저장 장치로 전송될 수 있다.
저장 장치에 포함된 복수의 뱅크들 중에서 액티브 컨트롤 신호(ACON)에 따라 선택된 액티브에 연결된 뱅크가 선택될 수 있고, 선택된 뱅크에 포함된 복수의 워드 라인들 중에서 로우 어드레스(RADD)에 따라 하나의 워드 라인이 선택될 수 있다. 이어서, 선택된 워드 라인에 연결된 메모리 셀들에 대한 리드 동작이 수행될 수 있다(S45). 저장 장치는 선택된 워드 라인에 연결된 메모리 셀들로부터 리드된 데이터를 컨트롤러(1200)에게 출력할 수 있다.
컨트롤러(1200)에 포함된 에러 정정 엔진(250)은 리드된 데이터를 디코딩하고, 디코딩 결과에 따라 페일 비트의 개수를 카운트하여 페일 비트의 개수(FBC)를 출력할 수 있다(S47).
컨트롤러(1200)에 포함된 온도 센서(260)는 컨트롤러(1200) 또는 저장 장치(1100)의 온도를 센싱하고, 센싱된 온도에 대한 온도 정보(TPIF)를 출력할 수 있다(S48).
주기 컨트롤러(270)는 페일 비트의 개수(FBC) 및 온도 정보(TPIF)에 따라 리프레쉬 주기를 산출할 수 있다(S49). 예를 들면, 주기 컨트롤러(270)는 온도에 따라 리프레쉬 주기를 결정한 후, 페일 비트의 개수(FBC)에 따라 리프레쉬 주기를 다시 조절할 수 있다.
주기 컨트롤러(270)는 리프레쉬 종료 요청이 수신되었는지를 판단하고(S50), 리프레쉬 종료 요청이 수신되지 않았으면(No) 리프레쉬 주기를 체크할 수 있다(S51). S50 단계에서 주기 컨트롤러(270)는 디스인에이블 신호(DISA)가 수신되지 않았으면 리프레쉬 종료 요청이 수신되지 않은 것으로 판단할 수 있다.
S51 단계에서, 주기 컨트롤러(270)는 리프레쉬 주기가 처음 생성되었으면 리프레쉬 인에이블 신호(ENrf)를 출력할 수 있고, 이후부터는 리프레쉬 주기에 맞추어 리프레쉬 인에이블 신호(ENrf)를 주기적으로 출력할 수 있다.
리프레쉬 인에이블 신호(ENrf)는 커맨드 생성부(220)에 입력될 수 있으며, 커맨드 생성부(220)는 리프레쉬 인에이블 신호(ENrf)에 응답하여 리프레쉬 동작을 위한 리프레쉬 신호(RFS)를 출력할 수 있고, 리프레쉬 신호(RFS)에 응답하여 카운터(230)는 어드레스 카운트 값(ADC)을 출력할 수 있다(S52). 첫 번째 리프레쉬 신호(RFS)에 응답하여 출력되는 어드레스 카운트 값(ADC)은 디폴트 값을 가질 수 있으며, 두 번째 리프레쉬 신호(RFS)부터 어드레스 카운트 값(ADC)은 단계적으로 증가할 수 있다.
어드레스 컨트롤러(240)는 어드레스 카운트 값(ADC)에 따라 로우 어드레스(RADD)와 액티브 컨트롤 신호(ACON)를 출력할 수 있다(S53).
S53 단계에서 어드레스가 선택되면, 커맨드 생성부(220)는 리프레쉬 동작을 위한 리프레쉬 커맨드(CMDrf)를 출력할 수 있다. 예를 들면, S53 단계에서 리프레쉬 커맨드(CMDrf), 로우 어드레스(RADD) 및 액티브 컨트롤 신호(ACON)가 저장 장치로 전송될 수 있다.
저장 장치에 포함된 복수의 뱅크들 중에서 액티브 컨트롤 신호(ACON)에 따라 선택된 액티브에 연결된 뱅크가 선택될 수 있고, 선택된 뱅크에 포함된 복수의 워드 라인들 중에서 로우 어드레스(RADD)에 따라 하나의 워드 라인이 선택될 수 있다. 이어서, 선택된 워드 라인에 연결된 메모리 셀들에 대한 리프레쉬 동작이 수행될 수 있다(S55).
S55 단계에서 선택된 뱅크에 포함된 모든 메모리 셀들에 대한 리프레쉬 동작이 완료되면, 주기 컨트롤러(270)는 리프레쉬 종료 요청이 수신되었는지를 판단하고(S50), 리프레쉬 종료 요청이 수신되지 않았으면(No) 리프레쉬 주기를 체크할 수 있다(S51).
S51 단계에서 저장된 주기에 대응되는 시간이 되면, 선택된 뱅크에 대하여 S52 내지 S55 단계들이 재 수행될 수 있다. 즉, S52 내지 S55 단계들에 의해 선택된 뱅크의 리프레쉬 동작이 재 수행될 수 있다.
S50 단계에서, 리프레쉬 종료 요청에 의해 주기 컨트롤러(270)에 디스인에이블 신호(DISA)가 수신되면, 컨트롤러(1200)는 셀프-리프레쉬 모드를 종료할 수 있다.
도 5는 도 4를 참조하여 설명된 리프레쉬 주기를 연산하는 단계를 구체적으로 설명하기 위한 순서도이다.
도 5를 참조하면, 도 4를 참조하여 설명된 리프레쉬 주기를 연산하는 단계(S49)에서는 온도에 따라 리프레쉬 주기(RP)가 결정된 후, 페일 비트의 개수(FBC)에 따라 리프레쉬 주기(RP)가 조절될 수 있다. 예를 들면, 리프레쉬 주기를 연산하는 단계(S49)가 시작되면, 주기 컨트롤러(도 2의 270)는 S48 단계에서 센싱된 온도에 따라 리프레쉬 주기(RP)를 결정할 수 있다(S61). 예를 들면, 리프레쉬 주기(RP)는 온도가 낮을수록 길게 설정될 수 있고, 온도가 높을수록 짧게 설정될 수 있다. 예를 들면, 복수의 온도 범위들이 정의될 수 있고, 주기 컨트롤러(270)는 센싱된 온도가 포함되는 온도 범위에 따라 리드레쉬 주기(RP)를 결정할 수 있다.
온도에 따라 리프레쉬 주기(RP)가 결정되면, 주기 컨트롤러(270)는 페일 비트의 개수(FBC)에 따라 리프레쉬 주기(RP)를 유지하거나 조절할 수 있다. 예를 들면, 주기 컨트롤러(270)는 도 4의 S47 단계에서 카운트된 페일 비트의 개수(FBC_new)를 기준 페일 비트의 개수(FBC_ref)와 비교할 수 있다(S62). 여기서, 기준 페일 비트의 개수(FBC_ref)는 미리 설정된 고정된 값이거나, 이전 동작에서 카운트된 페일 비트의 개수일 수 있다.
S62 단계에서, 페일 비트의 개수(FBC_new)가 기준 페일 비트의 개수(FBC_ref)와 동일한 것으로 판단되면(FBC_new = FBC_ref), 주기 컨트롤러(270)는 S61 단계에서 결정된 리프레쉬 주기(RP)를 유지할 수 있다(S63).
S62 단계에서, 페일 비트의 개수(FBC_new)가 기준 페일 비트의 개수(FBC_ref)보다 작은 것으로 판단되면(FBC_new < FBC_ref), 주기 컨트롤러(270)는 S61 단계에서 결정된 리프레쉬 주기(RP)를 증가시킬 수 있다(S64).
S62 단계에서, 페일 비트의 개수(FBC_new)가 기준 페일 비트의 개수(FBC_ref)보다 많은 것으로 판단되면(FBC_new > FBC_ref), 주기 컨트롤러(270)는 S61 단계에서 결정된 리프레쉬 주기(RP)를 감소시킬 수 있다(S65).
S63 내지 S65 단계들 중에서 어느 하나의 단계에서 결정된 리프레쉬 주기(RP)가 최종 리프레쉬 주기(RP)가 될 수 있다. 최종 리프레쉬 주기(RP)가 결정되면, S50 단계가 수행될 수 있다.
도 6a는 리프레쉬 주기(period)를 결정하는 제1 실시 예를 설명하기 위한 도면이다.
도 6a를 참조하면, 리프레쉬 주기(RP)는 센싱된 온도(T)에 따라 1차적으로 결정된 후, 새로 카운트된 페일 비트의 개수(FBC_new)에 따라 2차적으로 조절될 수 있다. 예를 들면, 온도(T)가 세 개의 범위들(1T, 2T, 3T)로 구분된다고 가정한다. 1T는 가장 낮은 온도 범위이고, 2T는 1T보다 높은 온도 범위이고, 3T는 2T보다 높은 온도 범위이다. 센싱된 온도(T)가 1T에 포함되면, 리프레쉬 주기(RP)는 3P로 결정될 수 있다. 도 6a에서, 3P는 2P보다 긴 리프레쉬 주기(RP)이고, 2P는 1P보다 긴 리프레쉬 주기(RP)이다. 이어서, 새로 카운트된 페일 비트의 개수(FBC_new)가 적을수록(-) 리프레쉬 주기(RP)는 3P보다 길게 조절될 수 있고, 새로 카운트된 페일 비트의 개수(FBC_new)가 많을수록(+) 리프레쉬 주기(RP)는 3P보다 짧게 조절될 수 있다. 새로 카운트된 페일 비트의 개수(FBC_new)는 기준 페일 비트의 개수(FBC_ref)와의 비교 결과에 따라 결정될 수 있다. 예를 들면, 새로 카운트된 페일 비트의 개수(FBC_new)가 기준 페일 비트의 개수(FBC_ref)보다 적고, 개수의 차이가 증가할수록 리프레쉬 주기(RP)는 '-'방향으로 길게 조절될 수 있다. 반대로, 새로 카운트된 페일 비트의 개수(FBC_new)가 기준 페일 비트의 개수(FBC_ref)보다 많고, 개수의 차이가 증가할수록 방향으로 리프레쉬 주기(RP)는 '+' 방향으로 짧게 조절될 수 있다.
센싱된 온도(T)가 2T 범위에 포함되면 리프레쉬 주기(RP)는 2P로 1차적으로 결정될 수 있고, 새로 카운트된 페일 비트의 개수(FBC_new)에 따라 리프레쉬 주기(RP)는 길거나 짧게 조절될 수 있다. 센싱된 온도(T)가 3T 범위에 포함되면 리프레쉬 주기(RP)는 3P로 1차적으로 결정될 수 있고, 새로 카운트된 페일 비트의 개수(FBC_new)에 따라 리프레쉬 주기(RP)는 길거나 짧게 조절될 수 있다.
도 6a에 도시된 제1 실시 예에서는, 리프레쉬 주기(RP)는 센싱된 온도(T)에 관계 없이, 새로 카운트된 페일 비트의 개수(FBC_new)와 기준 페일 비트의 개수(FBC_ref)의 차이에 따라 서로 동일한 제1 스텝 주기(DF1)를 기준으로 조절될 수 있다. 예를 들면, 센싱된 온도(T)가 1T에 포함되고, 새로 카운트된 페일 비트의 개수(FBC_new)와 기준 페일 비트의 개수(FBC_ref)의 차이가 '-' 방향으로 1인 경우, 리프레쉬 주기(RP)는 3P보다 제1 스텝 주기(DF1)만큼 길게 조절될 수 있다. 센싱된 온도(T)가 2T에 포함되고, 새로 카운트된 페일 비트의 개수(FBC_new)와 기준 페일 비트의 개수(FBC_ref)의 차이가 '-' 방향으로 1인 경우, 리프레쉬 주기(RP)는 3P보다 제1 스텝 주기(DF1)만큼 길게 조절될 수 있다. 센싱된 온도(T)가 3T에 포함되고, 새로 카운트된 페일 비트의 개수(FBC_new)와 기준 페일 비트의 개수(FBC_ref)의 차이가 '-' 방향으로 1인 경우, 리프레쉬 주기(RP)는 3P보다 제1 스텝 주기(DF1)만큼 길게 조절될 수 있다.
다른 예로, 센싱된 온도(T)가 1T에 포함되고, 새로 카운트된 페일 비트의 개수(FBC_new)와 기준 페일 비트의 개수(FBC_ref)의 차이가 '+' 방향으로 2인 경우, 리프레쉬 주기(RP)는 3P보다 제1 스텝 주기(DF1)의 두 배만큼 짧게 조절될 수 있다. 센싱된 온도(T)가 2T에 포함되고, 새로 카운트된 페일 비트의 개수(FBC_new)와 기준 페일 비트의 개수(FBC_ref)의 차이가 '+' 방향으로 2인 경우, 리프레쉬 주기(RP)는 3P보다 제1 스텝 주기(DF1)의 두 배만큼 짧게 조절될 수 있다. 센싱된 온도(T)가 3T에 포함되고, 새로 카운트된 페일 비트의 개수(FBC_new)와 기준 페일 비트의 개수(FBC_ref)의 차이가 '+' 방향으로 2인 경우, 리프레쉬 주기(RP)는 3P보다 제1 스텝 주기(DF1)의 두 배만큼 짧게 조절될 수 있다.
즉, 제1 실시 예에서는 새로 카운트된 페일 비트의 개수(FBC_new)에 따라 리프레쉬 주기(RP)를 조절하는 단위가 온도(T)에 관계 없이 모두 동일하지만, 다음의 제2 실시 예와 같이 리프레쉬 주기(RP)의 스텝 주기는 온도(T)에 따라 다르게 설정될 수도 있다.
도 6b는 리프레쉬 주기(period)를 결정하는 제2 실시 예를 설명하기 위한 도면이다.
도 6b를 참조하면, 센싱된 온도(T)가 높을수록 리프레쉬 동작은 더욱 자주 수행되어야 하므로, 제2 실시 예에서는 온도(T)가 높을수록 리프레쉬 주기(RP)를 조절하는 스텝 주기는 상대적으로 크게 설정될 수 있고, 온도(T)가 낮을수록 리프레쉬 주기(RP)를 조절하는 스텝 주기는 상대적으로 작게 설정될 수 있다.
예를 들면, 센싱된 온도가 1T인 경우, 리프레쉬 주기(RP)는 새로 카운트된 페일 비트의 개수(FBC_new)와 기준 페일 비트의 개수(FBC_ref)의 차이에 따라 제2 스텝 주기(DF2)를 기준으로 조절될 수 있다. 센싱된 온도가 1T보다 높은 2T인 경우, 리프레쉬 주기(RP)는 새로 카운트된 페일 비트의 개수(FBC_new)와 기준 페일 비트의 개수(FBC_ref)의 차이에 따라 제2 스텝 주기(DF2)보다 짧은 제3 스텝 주기(DF3)를 기준으로 조절될 수 있다. 센싱된 온도가 2T보다 높은 3T인 경우, 리프레쉬 주기(RP)는 새로 카운트된 페일 비트의 개수(FBC_new)와 기준 페일 비트의 개수(FBC_ref)의 차이에 따라 제3 스텝 주기(DF3)보다 짧은 제4 스텝 주기(DF4)를 기준으로 조절될 수 있다.
즉, 센싱된 온도(T)가 높을수록 리프레쉬 주기(RP)를 더욱 정교하게 조절함으로써, 메모리 시스템(1000)의 신뢰도는 개선될 수 있다.
도 7a 내지 도 7c는 본 발명의 셀프-리프레쉬 모드에서 컨트롤러의 동작 방법을 순차적으로 설명하기 위한 도면들이다.
도 7a를 참조하면, 모드 선택부(210)는 셀프-리프레쉬 요청(RQsrf)이 수신되면 셀프-리프레쉬 모드 신호(MDsrf)를 출력할 수 있다. 커맨드 생성부(220)는 셀프-리프레쉬 모드 신호(MDsrf)에 응답하여 셀프-리프레쉬 신호(SRFS) 및 리드 커맨드(CMDrd)를 순차적으로 출력할 수 있다. 카운터(230)는 셀프-리프레쉬 신호(SRFS)에 응답하여 디폴트로 설정된 어드레스 카운트 값(ADC)을 출력할 수 있다. 어드레스 컨트롤러(240)는 어드레스 카운트 값(ADC)에 따라 선택된 워드 라인의 로우 어드레스(RADD) 및 액티브 컨트롤 신호(ACON)를 출력할 수 있다. 예를 들면, 어드레스 생성부(241)는 로우 어드레스(RADD)를 출력할 수 있고, 액티브 드라이버(242)는 액티브 컨트롤 신호(ACON)를 출력할 수 있다.
저장 장치(1100)는 리드 커맨드(CMDrd), 로우 어드레스(RADD) 및 액티브 컨트롤 신호(ACON)에 응답하여 선택된 뱅크의 선택된 워드 라인에 연결된 메모리 셀들의 리드 동작을 수행할 수 있다.
도 7b를 참조하면, 저장 장치(1100)는 리드 동작이 완료되면 리드된 데이터(DATA)를 컨트롤러(1200)에게 출력할 수 있다. 컨트롤러(1200)의 에러 정정 엔진(250)은 저장 장치(1100)로부터 출력된 데이터(DATA)의 에러를 체크하고, 체크된 페일 비트의 개수(FBC)를 출력할 수 있다. 에러 정정 엔진(250)은 페일 비트의 개수(FBC)를 출력할 때, 체크 신호(CHK)를 온도 센서(260)에게 출력할 수 있다. 온도 센서(260)는 체크 신호(CHK)에 응답하여 센싱된 온도에 대한 온도 정보(TPIF)를 출력할 수 있다.
주기 컨트롤러(270)는 온도 정보(TPIF) 및 페일 비트의 개수(FBC)에 따라 리프레쉬 주기를 설정하고, 설정된 주기마다 리프레쉬 인에이블 신호(ENrf)를 커맨드 생성부(220)에게 출력할 수 있다.
커맨드 생성부(220)는 리프레쉬 인에이블 신호(ENrf)에 응답하여 리프레쉬 신호(RFS) 및 리프레쉬 커맨드(CMDrf)를 순차적으로 출력할 수 있다. 카운터(230)는 리프레쉬 신호(RFS)에 응답하여 어드레스 카운트 값(ADC)을 출력할 수 있다. 어드레스 컨트롤러(240)는 어드레스 카운트 값(ADC)에 따라 선택된 워드 라인의 로우 어드레스(RADD) 및 액티브 컨트롤 신호(ACON)를 출력할 수 있다. 예를 들면, 어드레스 생성부(241)는 로우 어드레스(RADD)를 출력할 수 있고, 액티브 드라이버(242)는 액티브 컨트롤 신호(ACON)를 출력할 수 있다.
저장 장치(1100)는 리프레쉬 커맨드(CMDrf)에 응답하여 선택된 뱅크의 리프레쉬 동작을 수행할 수 있다.
주기 컨트롤러(270)는 설정된 주기마다 리프레쉬 인에이블 신호(ENrf)를 커맨드 생성부(220)에게 출력하여 저장 장치(1100)에 포함된 뱅크들의 리프레쉬 동작을 주기적으로 수행할 수 있다.
도 7c를 참조하면, 모드 선택부(210)에 리프레쉬 종료 요청(RQfn)이 수신되면 모드 선택부(210)는 종료 신호(FNS)를 출력할 수 있다. 커맨드 생성부(220)는 종료 신호(FNS)에 응답하여 디스인에이블 신호(DISA)를 주기 컨트롤러(270)에게 출력할 수 있다. 주기 컨트롤러(270)는 디스인에이블 신호(DISA)가 수신되면, 셀프-리프레쉬 모드를 종료하고 리프레쉬 인에이블 신호(ENrf)를 출력하지 않는다.
도 8은 본 발명의 리프레쉬 모드에서 컨트롤러의 동작 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 모드 선택부(210)는 리프레쉬 요청(RQrf)이 수신되면 리프레쉬 모드 신호(MDrf)를 출력할 수 있다. 커맨드 생성부(220)는 리프레쉬 모드 신호(MDrf)에 응답하여 리프레쉬 신호(RFS) 및 리프레쉬 커맨드(CMDrf)를 순차적으로 출력할 수 있다. 카운터(230)는 리프레쉬 신호(RFS)에 응답하여 어드레스 카운트 값(ADC)을 출력할 수 있다. 어드레스 컨트롤러(240)는 어드레스 카운트 값(ADC)에 따라 선택된 워드 라인의 로우 어드레스(RADD) 및 액티브 컨트롤 신호(ACON)를 출력할 수 있다. 예를 들면, 어드레스 생성부(241)는 로우 어드레스(RADD)를 출력할 수 있고, 액티브 드라이버(242)는 액티브 컨트롤 신호(ACON)를 출력할 수 있다.
저장 장치(1100)는 리프레쉬 커맨드(CMDrf)에 응답하여 선택된 뱅크의 리프레쉬 동작을 수행할 수 있다.
도 9는 본 발명의 실시 예에 따른 컨트롤러가 적용된 데이터 처리 장치를 설명하기 위한 도면이다.
도 9를 참조하면, 데이터 처리 장치(data processing device; 2000)는 컨트롤러(controller; 802), 입력 장치(input device; 804), 출력 장치(output device; 806) 및 데이터 저장 장치(data storage device; 808)를 포함할 수 있다. 또한, 사용자 편의를 위해 도 9의 데이터 처리 장치(2000)는 사용자 입력 장치(812)를 더 포함할 수 있다. 사용자 입력 장치(812)는 숫자키 및 기능키 등을 포함하는 장치일 수 있으며, 메모리 시스템(2000)과 사용자 사이에서 데이터를 인터페이싱하는 역할을 할 수 있다.
컨트롤러(802)는 도 2에 도시된 컨트롤러(1200)의 구성을 포함할 수 있으며, 데이터 저장 장치(808)는 도 1에 도시된 저장 장치(1100)의 구성을 포함할 수 있다.
도 10은 본 발명의 실시 예에 따른 컨트롤러가 적용된 모바일 장치를 설명하기 위한 도면이다.
도 10을 참조하면, 모바일 장치(3000)는 모뎀(modem; 1010), 컨트롤러(controller; 1001), DRAM(1050), 플래시 메모리(flash memory; 1040), 디스플레이 장치(display device; 1020), 및 입력 장치(input device; 1030)를 포함할 수 있다.
컨트롤러(1001), DRAM(1050) 및 플래시 메모리(1040)는 하나의 칩으로 제조 또는 패키징될 수 있다. 컨트롤러(1001)는 미리 설정된 프로그램에 따라 모바일 장치(3000)의 전반적인 동작을 컨트롤할 수 있다. 컨트롤러(1001)는 도 2에 도시된 컨트롤러(1200)의 구성을 포함할 수 있다.
모뎀(1010)은 통신 데이터의 변복조 기능을 수행할 수 있다. 디스플레이 장치(1020)는 백라이트를 가지는 액정, LED 광원을 가지는 액정, 또는 OLED 등의 소자로서 터치 스크린을 포함할 수 있다. 디스플레이 장치(1020)는 문자, 숫자, 그림 등의 이미지를 컬러로 표시하는 출력 장치로써 사용될 수 있다. 입력 장치(1030)는 숫자키 및 기능키 등을 포함하는 장치일 수 있으며, 모바일 장치(3000)와 사용자 사이에서 데이터를 인터페이싱할 수 있다. 플래시 메모리(1040)는 노어 타입 또는 낸드 타입 플래시 메모리일 수 있다. DRAM(1050)은 컨트롤러(1001)의 메인 메모리로서 사용될 수 있으며, 도 1에 도시된 저장 장치(1100)로 구성될 수 있다.
모바일 장치(3000)는 모바일 통신 장치로 사용될 수 있으나, 경우에 따라 일부 구성 요소를 가감하여 스마트 카드나 SSD로 사용될 수도 있다. 모바일 장치(3000)는 별도의 인터페이스를 통해 외부의 통신 장치와 연결될 수 있다. 통신 장치는 DVD(digital versatile disc) 플레이어, 컴퓨터, 셋 탑 박스(set top box; STB), 게임기 또는 디지털 캠코더 등일 수 있다.
도면에는 도시되지 않았지만, 모바일 장치(3000)에는 어플리케이션 칩셋(application chipset), 카메라 이미지 프로세서(camera Image Processor; CIS), 모바일 디램 등이 더 제공될 수 있다.
모바일 장치(3000)를 형성하는 칩은 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 칩은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flat pack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flat pack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등으로 패키지될 수 있다.
1000: 메모리 시스템 1100: 저장 장치
1200: 컨트롤러 210: 모드 선택부
220: 커맨드 생성부 230: 카운터
240: 어드레스 컨트롤러 250: 에러 정정 엔진
260: 온도 센서 270: 주기 컨트롤러
271: 연산부 272: 주기 관리부
273: 버퍼

Claims (20)

  1. 데이터를 저장하는 저장 장치; 및
    상기 저장 장치를 제어하도록 구성된 컨트롤러를 포함하고,
    상기 컨트롤러는,
    셀프-리프레쉬 모드에서 상기 저장 장치에 포함된 메모리 셀들을 리드(read)하고,
    리드된 데이터에 포함된 페일 비트의 개수와 상기 저장 장치의 온도에 따라 리프레쉬 주기(period)를 설정하고,
    상기 리프레쉬 주기마다 상기 저장 장치의 리프레쉬 동작을 수행하도록 구성되는 메모리 시스템.
  2. 제1항에 있어서, 상기 저장 장치는,
    상기 메모리 셀들을 포함하는 뱅크(bank); 및
    상기 리프레쉬 동작 시 상기 뱅크에게 프리차지 전압을 공급하도록 구성되는 액티브(active)를 포함하는 메모리 시스템.
  3. 제2항에 있어서, 상기 컨트롤러는,
    외부 장치로부터 셀프-리프레쉬 요청이 수신되면 셀프-리프레쉬 모드 신호를 출력하도록 구성되는 모드 선택부;
    상기 셀프-리프레쉬 모드 신호에 응답하여 셀프-리프레쉬 신호 및 리드 커맨드를 출력하도록 구성된 커맨드 생성부;
    상기 셀프-리프레쉬 신호에 응답하여 어드레스를 하나씩 선택하기 위한 어드레스 카운트 값을 출력하도록 구성된 카운터;
    상기 어드레스 카운트 값에 응답하여 상기 뱅크의 워드 라인을 선택하기 위한 로우 어드레스와, 상기 액티브를 선택하기 위한 액티브 컨트롤 신호를 출력하도록 구성된 어드레스 컨트롤러;
    상기 리드된 데이터의 에러 정정 동작을 수행하고, 상기 에러 정정 동작 시 검출된 페일 비트를 카운트하여 상기 페일 비트의 개수를 출력하도록 구성된 에러 정정 엔진;
    상기 저장 장치 또는 상기 컨트롤러의 온도를 센싱하고, 센싱된 온도에 대한 온도 정보를 출력하도록 구성된 온도 센서; 및
    상기 페일 비트의 개수와 상기 온도 정보에 따라 상기 리프레쉬 주기를 산출하고, 상기 리프레쉬 주기에 따라 리프레쉬 인에이블 신호를 출력하도록 구성된 주기 컨트롤러를 포함하는 메모리 시스템.
  4. 제3항에 있어서, 상기 주기 컨트롤러는,
    상기 페일 비트의 개수 및 상기 온도 정보를 수신받고, 상기 페일 비트의 개수와 온도를 연산하여 상기 리프레쉬 주기를 산출하도록 구성된 연산부;
    상기 리프레쉬 주기를 저장하도록 구성된 버퍼; 및
    상기 리프레쉬 주기에 따라 상기 리프레쉬 인에이블 신호를 출력하도록 구성된 주기 관리부를 포함하는 메모리 시스템.
  5. 제4항에 있어서, 상기 연산부는,
    상기 온도에 따라 상기 리프레쉬 주기를 설정하고,
    상기 페일 비트의 개수에 따라 상기 리프레쉬 주기를 재설정하도록 구성되는 메모리 시스템.
  6. 제4항에 있어서, 상기 연산부는,
    상기 온도가 높아질수록 상기 리프레쉬 주기를 짧게 조절하고, 상기 온도가 낮아질수록 상기 리프레쉬 주기를 길게 조절하고,
    상기 페일 비트의 개수가 증가할수록 상기 리프레쉬 주기를 짧게 조절하고, 상기 페일 비트의 개수가 감소할수록 상기 리프레쉬 주기를 길게 조절하는 메모리 시스템.
  7. 제3항에 있어서, 상기 연산부는,
    상기 온도에 따라 상기 리프레쉬 주기를 설정하고,
    설정된 상기 리프레쉬 주기를 상기 페일 비트의 개수에 따라 재 조절하는 메모리 시스템.
  8. 제3항에 있어서,
    상기 모드 선택부는 상기 외부 장치로부터 종료 요청이 수신되면 상기 커맨드 생성부에게 종료 신호를 출력하도록 구성되고,
    상기 커맨드 생성부는 상기 종료 신호에 응답하여 상기 주기 컨트롤러에게 디스에이블 신호를 출력하도록 구성되는 메모리 시스템.
  9. 제8항에 있어서,
    상기 주기 컨트롤러는 상기 디스에이블 신호가 수신되면 상기 리프레쉬 인에이블 신호의 출력을 중단하도록 구성되는 메모리 시스템.
  10. 제3항에 있어서,
    상기 모드 선택부는 상기 외부 장치로부터 리프레쉬 요청이 수신되면 상기 커맨드 생성부에게 리프레쉬 모드 신호를 출력하도록 구성되고,
    상기 커맨드 생성부는 상기 리프레쉬 모드 신호에 응답하여 상기 저장 장치에게 리프레쉬 커맨드를 출력하도록 구성되는 메모리 시스템.
  11. 리프레쉬 모드에서는 리프레쉬 커맨드를 출력하고, 셀프-리프레쉬 모드에서는 리드 커맨드를 출력한 후 인에이블 신호가 수신될 때마다 상기 리프레쉬 커맨드를 출력하도록 구성되는 커맨드 생성부;
    상기 리드 커맨드에 의해 저장 장치로부터 리드된 데이터가 출력되면, 상기 리드된 데이터의 에러 정정 동작을 수행하고, 상기 리드된 데이터에 포함된 페일 비트의 개수를 출력하도록 구성되는 에러 정정 엔진;
    온도를 측정하여 온도 정보를 출력하도록 구성되는 온도 센서; 및
    상기 페일 비트의 개수와 상기 온도 정보에 따라 리프레쉬 주기를 산출하고, 상기 리프레쉬 주기에 따라 상기 인에이블 신호를 주기적으로 출력하도록 구성되는 주기 컨트롤러를 포함하는 컨트롤러.
  12. 제11항에 있어서,
    상기 에러 정정 엔진은 상기 페일 비트의 개수를 출력할 때, 상기 온도 센서에게 체크 신호를 출력하도록 구성되는 컨트롤러.
  13. 제12항에 있어서,
    상기 온도 센서는 상기 체크 신호에 응답하여 상기 온도 정보를 상기 주기 컨트롤러에게 출력하도록 구성되는 컨트롤러.
  14. 제11항에 있어서,
    상기 온도 센서는 상기 컨트롤러 또는 상기 저장 장치의 온도를 측정하거나, 상기 컨트롤러 및 상기 저장 장치의 온도를 측정하고, 측정된 상기 온도를 상기 온도 정보로써 출력하도록 구성되는 컨트롤러.
  15. 제11항에 있어서, 상기 주기 컨트롤러는,
    상기 페일 비트의 개수 및 상기 온도 정보를 수신받고, 상기 페일 비트의 개수와 온도를 연산하여 상기 리프레쉬 주기를 산출하도록 구성된 연산부;
    상기 리프레쉬 주기를 저장하도록 구성된 버퍼; 및
    상기 리프레쉬 주기에 따라 상기 리프레쉬 인에이블 신호를 주기적으로 출력하도록 구성된 주기 관리부를 포함하는 컨트롤러.
  16. 제15항에 있어서, 상기 연산부는,
    상기 온도에 따라 상기 리프레쉬 주기를 설정하고,
    상기 페일 비트의 개수에 따라 상기 리프레쉬 주기를 재설정하도록 구성되는 컨트롤러.
  17. 제15항에 있어서, 상기 연산부는,
    상기 온도가 높아질수록 상기 리프레쉬 주기를 짧게 설정하고, 상기 온도가 낮아질수록 상기 리프레쉬 주기를 길게 설정하는 컨트롤러.
  18. 제17항에 있어서, 상기 연산부는,
    상기 페일 비트의 개수가 증가할수록 상기 온도에 의해 설정된 상기 리프레쉬 주기를 짧게 재설정하고, 상기 페일 비트의 개수가 감소할수록 상기 온도에 의해 설정된 상기 리프레쉬 주기를 길게 재설정하는 컨트롤러.
  19. 제11항에 있어서,
    상기 커맨드 생성부는 상기 셀프-리프레쉬 모드에서 종료 신호가 수신되면, 상기 주기 컨트롤러에게 디스인에이블 신호를 출력하도록 구성되는 컨트롤러.
  20. 제19항에 있어서,
    상기 주기 컨트롤러는 상기 디스인에이블 신호에 응답하여, 상기 리프레쉬 주기를 초기화시키고, 상기 인에이블 신호의 출력을 중단하도록 구성되는 컨트롤러.
KR1020200158149A 2020-11-23 2020-11-23 컨트롤러 및 이를 포함하는 메모리 시스템 KR20220070997A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200158149A KR20220070997A (ko) 2020-11-23 2020-11-23 컨트롤러 및 이를 포함하는 메모리 시스템
US17/340,922 US11742015B2 (en) 2020-11-23 2021-06-07 Controller and memory system for refreshing memory based on fail bits and temperature
CN202110765730.0A CN114530175A (zh) 2020-11-23 2021-07-07 控制器和具有该控制器的存储器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200158149A KR20220070997A (ko) 2020-11-23 2020-11-23 컨트롤러 및 이를 포함하는 메모리 시스템

Publications (1)

Publication Number Publication Date
KR20220070997A true KR20220070997A (ko) 2022-05-31

Family

ID=81619644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200158149A KR20220070997A (ko) 2020-11-23 2020-11-23 컨트롤러 및 이를 포함하는 메모리 시스템

Country Status (3)

Country Link
US (1) US11742015B2 (ko)
KR (1) KR20220070997A (ko)
CN (1) CN114530175A (ko)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4237109B2 (ja) 2004-06-18 2009-03-11 エルピーダメモリ株式会社 半導体記憶装置及びリフレッシュ周期制御方法
KR100634440B1 (ko) * 2004-11-05 2006-10-16 삼성전자주식회사 오토-리프레쉬 명령에 선별적으로 동작하는 디램, 그것의오토-리프레쉬 동작을 제어하는 메모리, 디램 및 메모리를포함한 메모리 시스템, 그리고 그것의 동작 방법들
US7710777B1 (en) * 2006-12-20 2010-05-04 Marvell International Ltd. Semi-volatile NAND flash memory
US9679664B2 (en) 2012-02-11 2017-06-13 Samsung Electronics Co., Ltd. Method and system for providing a smart memory architecture
KR102050474B1 (ko) * 2012-09-26 2019-11-29 삼성전자주식회사 휘발성 메모리 장치 및 메모리 컨트롤러
KR102398209B1 (ko) * 2017-11-06 2022-05-17 삼성전자주식회사 반도체 메모리 장치, 메모리 시스템 그리고 그것의 리프레쉬 방법

Also Published As

Publication number Publication date
US11742015B2 (en) 2023-08-29
US20220165329A1 (en) 2022-05-26
CN114530175A (zh) 2022-05-24

Similar Documents

Publication Publication Date Title
US10185622B2 (en) Memory device having address and command selectable capabilities
JP5916155B2 (ja) メモリシステムの動作方法並びにそれを含むメモリシステム及びメモリカード
US9417958B2 (en) Flash memory control method, controller and electronic apparatus
US9230670B2 (en) Semiconductor device, memory system and operating method thereof
KR20100106142A (ko) 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
US9405615B2 (en) Method of operating nonvolatile memory device comprising resistance material
KR101923157B1 (ko) 메모리 시스템 및 그것의 프로그램 방법
KR102261816B1 (ko) 데이터 신뢰성을 향상한 불휘발성 메모리 장치 및 그 동작방법
US10866734B2 (en) Resistance variable memory apparatus, and circuit and method for operating therefor
KR101618313B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
KR20200117374A (ko) 비휘발성 메모리 장치, 이의 동작 방법 및 이를 이용하는 시스템
US20150113213A1 (en) Resistive memory device, operating method thereof, and system having the same
KR20220070997A (ko) 컨트롤러 및 이를 포함하는 메모리 시스템
CN110310682B (zh) 用于防止干扰的半导体存储装置
KR20100050789A (ko) 메모리 장치 및 그것을 포함하는 메모리 시스템
US11520526B2 (en) Write method for resistive memory
WO2023047149A1 (en) Improved ecc configuration in memories
CN111009273A (zh) 半导体存储装置及其驱动方法
US11289160B2 (en) Memory device and data writing method
US20240103741A1 (en) Providing multiple error correction code protection levels in memory
US20240118810A1 (en) Memory system and operating method thereof
US20220310168A1 (en) Operating method of storage controller using count value of direct memory access, storage device including storage controller, and operating method of storage device
US20240094927A1 (en) Memory, controller, memory system and operation method of memory system
KR20240049864A (ko) 메모리 시스템 및 그 동작 방법
KR20220030435A (ko) 불휘발성 메모리 장치의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination