KR101043013B1 - 메모리 리프레시 장치 및 메모리 리프레시 방법 - Google Patents

메모리 리프레시 장치 및 메모리 리프레시 방법 Download PDF

Info

Publication number
KR101043013B1
KR101043013B1 KR1020107001001A KR20107001001A KR101043013B1 KR 101043013 B1 KR101043013 B1 KR 101043013B1 KR 1020107001001 A KR1020107001001 A KR 1020107001001A KR 20107001001 A KR20107001001 A KR 20107001001A KR 101043013 B1 KR101043013 B1 KR 101043013B1
Authority
KR
South Korea
Prior art keywords
error
refresh
memory
value
patrol
Prior art date
Application number
KR1020107001001A
Other languages
English (en)
Other versions
KR20100018082A (ko
Inventor
마사노리 히게타
겐지 스즈키
다카츠구 사사키
Original Assignee
후지쯔 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후지쯔 가부시끼가이샤 filed Critical 후지쯔 가부시끼가이샤
Publication of KR20100018082A publication Critical patent/KR20100018082A/ko
Application granted granted Critical
Publication of KR101043013B1 publication Critical patent/KR101043013B1/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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50016Marginal testing, e.g. race, voltage or current testing of retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • 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/4061Calibration or ate or cycle tuning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

메모리(11)의 패트롤을 행하는 통상 패트롤 동작을 제어하는 통상 패트롤 제어부(24)와, 통상 패트롤 동작에서 메모리(11)의 에러를 검출한 경우에, 메모리(11)에서의 에러 발생 지점에 대하여 패트롤을 행하는 추가 패트롤 동작을 제어하는 추가 패트롤 제어부(25)와, 추가 패트롤 동작에서 에러를 검출한 경우에, 에러 발생 지점에서의 에러에 관한 정보를 에러 빈도로서 계측하는 계측부(15)와, 계측부(15)에 의해 계측된 에러 빈도에 따라서, 리프레시 주기를 조정하는 리프레시 주기 조정부(26)를 구비하는 것에 의해, 메모리에서의 에러의 발생 상태에 맞춘 리프레시 주기의 최적화를 효율적으로 행한다.

Description

메모리 리프레시 장치 및 메모리 리프레시 방법{MEMORY REFRESH DEVICE AND MEMORY REFRESH METHOD}
본 발명은, 메모리의 리프레시 주기에 맞춰 메모리 리프레시를 행하는 기술에 관한 것이다.
최근 컴퓨터의 고성능화에 의해, DRAM(Dynamic Random Access Memory) 등의 메모리의 리프레시를 행할 때의 시간 손실이나 소비전력의 손실을 무시할 수 없게 되어 있다. 이러한 것 중에서, 에러(데이터 에러)가 잘 발생하지 않는 상태에서는 긴 주기로 메모리 리프레시를 행하고, 동작 조건이 엄격하고 에러가 발생하기 쉬운 상태에서는 리프레시 주기를 짧게 하도록 리프레시 주기를 제어하는 것이 행해지고 있다.
도 18은 종래의 메모리 리프레시 주기를 제어하는 동작 방식의 예를 모식적으로 도시하는 도면이다.
종래의 메모리 리프레시 주기의 제어 방식에서는, 예컨대 도 18에 도시하는 바와 같이, 메모리 리프레시 회로(90)를 이용하여, 메모리(91)의 에러를 감시하면서 메모리 리프레시 주기를 제어하도록 되어 있다. 예컨대, 이 도 18에 도시하는 메모리 리프레시 회로(90)는 메모리 제어부(92), ECC(Error Correcting Code) 회로(93), 에러 레이트 모니터(94), 리프레시 주기 생성부(95), 리프레시 요구 발생부(96) 및 외부 인터페이스부(97)를 구비하여 구성되어 있다.
메모리 제어부(92)는, 메모리(91)에의 액세스를 제어하는 것으로서, 예컨대 메모리 리프레시를 행하게 하거나, 메모리(91)에의 데이터 액세스시에 메모리(91)의 데이터를 판독시키도록 되어 있다.
ECC 회로(93)는, 메모리 제어부(92)의 제어에 의해 메모리(91)에 대하여 데이터를 기록할 때에, 기록 데이터로부터 오류 검출 정정 부호(검사 비트)를 생성하여 데이터에 부가하고, 메모리(91)에 기록하는 것으로서, 예컨대 메모리 제어부(92)에 의해 메모리(91)로부터 데이터를 판독했을 때에, 판독한 데이터와 그 오류 검출 정정 부호를 사용하여 데이터의 정상성을 검사하여, 정정 가능한 오류를 에러로서 검출한 경우에 데이터의 오류를 정정하도록 되어 있다. 그리고, ECC 회로(93)는 에러의 유무를 에러 레이트 모니터(94)에 통지하도록 되어 있다.
에러 레이트 모니터(94)는, 에러의 발생량을 유지하는 것으로서, 예컨대 ECC 회로(93)로부터 통지된 에러의 유무에 기초하여 에러수(에러 발생량)를 카운트하도록 되어 있다. 예컨대 이 에러 레이트 모니터(94)는, "에러수"를 변수로서 유지하고, 에러가 없는 경우에는 유지하고 있는 "에러수"로부터 미리 정해진 값을 감산하며, 에러가 있는 경우에는 유지하고 있는 "에러수"에 미리 정해진 값을 가산한다.
리프레시 주기 생성부(95)는 리프레시 주기를 생성하는 것으로서, 예컨대 에러 레이트 모니터(94)에 의해 유지되어 있는 "에러수"와 미리 규정된 기준값(에러 레이트)을 비교함으로써, 이 "에러수"가 기준값을 상회한 경우에 리프레시 주기를 짧게 하고, "에러수"가 기준값을 하회한 경우에는 리프레시 주기를 길게 하도록 되어 있다.
리프레시 요구 발생부(96)는, 리프레시 주기 생성부(95)에 의해 생성된 리프레시 주기로 리프레시 동작을 메모리 제어부(92)에 요구하는 것이다.
외부 인터페이스부(97)는, 메모리 리프레시 회로(90)를 내장하고 있는 정보 처리 장치(도시 생략)의 프로세서나 다른 제어 장치를 포함하는 상위 장치와의 인터페이스를 제어하는 것으로서, 예컨대 프로세서로부터의 리드 커맨드 또는 라이트 커맨드의 수신, 프로세서에 대한 리드 데이터의 응답, 프로세서에 대한 메모리 스 테이터스 정보의 송신을 인터페이스 제어로서 행하도록 되어 있다.
따라서, 종래의 메모리 리프레시 주기의 제어 방식에 있어서는, 우선 ECC 회로(93)가 메모리 제어부(92)에 의해 판독된 메모리(91)의 데이터에 기초하여, 메모리(91)의 에러를 검출한다. 여기서, 에러 레이트 모니터(94)가 유지하는 "에러수"는 ECC 회로(93)에 있어서 에러가 검출되지 않은 경우에는 작아지고, ECC 회로(93)에서 에러가 검출된 경우에는 커진다. 그리고, 이 에러수가 기준값을 하회하면 리프레시 주기가 길게 조정되고, "에러수"가 기준값을 상회하면 리프레시 주기가 짧게 조정된다.
또한, 하기 특허문헌 1에는, ECC 회로에 의해 일정한 리프레시 주기로 복수의 데이터와 그것에 대응한 검사 비트를 판독하여 오류 검출과 정정을 행하고, 오류가 없는 것의 제1 검출 신호를 적산하며, 오류가 있는 것의 제2 검출 신호를 상기 제1 검출 신호보다 큰 가중을 가지고, 또한 제1 적산량을 줄이도록 적산시키며, 그 적산량이 일정한 양을 초과했을 때에 리프레시 주기를 미리 정해진 시간만큼 길게 하고, 적산량이 일정량보다 적어졌을 때에 리프레시 주기를 미리 정해진 시간만큼 짧게 하는 기술이 개시되어 있다.
또한, 하기 특허문헌 2에는, ECC 회로가 정정 가능한 에러를 검지할 때까지 리프레시 간격을 연장시켜, 블록마다 최적의 리프레시 주기를 설정하고, 미사용 영역의 리프레시 주기를 무한대(리프레시 동작을 하지 않는 것)로 설정하는 기술이 개시되어 있다.
특허문헌1:일본특허공개제2002-025299호공보 특허문헌2:국제공개제WO96/28825호팜플렛
그러나, 전술한 종래의 메모리 리프레시 주기를 제어하는 동작 방식이나, 상기 특허문헌 1 및 상기 특허문헌 2에서는, 항상 메모리 전체를 대상으로 하여 에러를 검출해야 한다. 이 때문에 메모리에서의 일부 어드레스에서만 에러가 발생한 경우와 같은, 국소적으로 발생한 에러를 검출하는 경우에는 시간이 걸리고, 시스템의 동작 환경이 일시적으로 변화하는 경우의 응답성이 낮다고 하는 문제가 있다.
특히, 상기 특허문헌 1 및 상기 특허문헌 2는, 메모리의 스탠바이 모드에서의 제어를 전제로 하는 기술이기 때문에, 스탠바이 모드의 경우에만 리프레시 주기를 변경할 수 있는 한편, 통상 동작시에서 동적으로 리프레시 주기를 변경할 수 없어, 메모리에서의 에러의 발생 상태에 맞춘 리프레시 주기의 최적화를 행할 수 없다고 하는 과제가 있다.
본 발명은, 이러한 과제를 감안하여 창안된 것으로, 메모리에서의 에러의 발생 상태에 맞춘 리프레시 주기의 최적화를 효율적으로 하는 것을 목적으로 한다.
상기한 목적을 달성하기 위해, 본 발명의 메모리 리프레시 장치는 리프레시 주기에 맞춰 메모리의 리프레시를 행하는 메모리 리프레시 장치로서, 이 메모리의 패트롤을 행하는 통상 패트롤 동작을 제어하는 통상 패트롤 제어부와, 이 통상 패트롤 제어부에 의한 이 통상 패트롤 동작에서 이 메모리의 에러를 검출한 경우에, 이 에러가 발생한 에러 발생 지점의 패트롤을 행하는 추가 패트롤 동작을 제어하는 추가 패트롤 제어부와, 이 추가 패트롤 제어부에 의한 이 추가 패트롤 동작에서 이 에러 발생 지점의 에러를 검출한 경우에, 상기 에러 발생 지점의 에러에 관한 정보를 에러 빈도로서 계측하는 계측부와, 이 계측부에 의해 계측된 이 에러 빈도에 따라서, 이 리프레시 주기를 조정하는 리프레시 주기 조정부를 포함하는 것을 특징으로 하고 있다.
또한, 이 리프레시 주기 조정부는, 이 계측부에 의해 계측된 이 에러 빈도가 커진 경우에, 이 리프레시 주기를 단계적으로 단축하고, 이 계측부에 의해 계측된 이 에러 빈도가 작아진 경우에, 이 리프레시 주기를 단계적으로 연장하는 것이 바람직하다.
또한, 이 계측부는, 이 에러 발생 지점에서의 미리 정해진 시간당 에러수를 이 에러 빈도로서 계측하는 것이 바람직하다.
또한, 이 계측부는, 이 추가 패트롤 제어부에 의한 이 추가 패트롤 동작에서 복수의 에러 발생 지점을 검출한 경우에, 이 에러 발생 지점의 수를 이 에러 빈도로서 계측하여도 좋다.
또한, 이 리프레시 주기 조정부는, 미리 설정된 하한값 이상으로 이 리프레시 주기를 조정하는 것이 바람직하다.
또한, 이 리프레시 주기 조정부는, 이 메모리에의 액세스 빈도에 기초하여, 이 하한값을 변경하여도 좋고, 이 메모리의 온도인 메모리 온도에 기초하여, 이 하한값을 변경하여도 좋다.
또한, 이 리프레시 주기 조정부는, 이 통상 패트롤 제어부에 의한 이 통상 패트롤 동작에서 이 메모리의 에러를 검출한 후의 경과 시간이 미리 정해진 시간을 초과한 경우에, 이 리프레시 주기를 기정값으로 복귀시켜도 좋다.
또한, 이 리프레시 주기 조정부에 의해 조정된 이 리프레시 주기에 기초하여, 이 추가 패트롤 동작의 감시 간격을 변경하는 감시 간격 변경부를 포함하여도 좋다.
또한, 이 감시 간격 변경부는, 이 계측부에 의해 계측된 이 에러 빈도가 일정해진 경우에, 이 감시 간격을 연장하여도 좋다.
또한, 본 발명의 메모리 리프레시 방법은, 리프레시 주기에 맞춰 메모리의 리프레시를 행하는 메모리 리프레시 방법으로서, 이 메모리의 패트롤을 행하는 통상 패트롤 동작을 제어하는 통상 패트롤 제어 단계와, 이 통상 패트롤 제어 단계에 의한 이 통상 패트롤 동작에서 이 메모리의 에러를 검출한 경우에, 이 에러가 발생한 에러 발생 지점의 패트롤을 행하는 추가 패트롤 동작을 제어하는 추가 패트롤 제어 단계와, 이 추가 패트롤 제어 단계에 의한 이 추가 패트롤 동작에서 이 에러 발생 지점의 에러를 검출한 경우에, 상기 에러 발생 지점의 에러에 관한 정보를 에러 빈도로서 계측하는 계측 단계와, 이 계측 단계에서 계측된 이 에러 빈도에 따라서, 이 리프레시 주기를 조정하는 리프레시 주기 조정 단계를 포함하는 것을 특징으로 한다.
또한, 이 리프레시 주기 조정 단계에 있어서, 이 계측 단계에 있어서 계측된 이 에러 빈도가 커진 경우에, 이 리프레시 주기를 단계적으로 단축하고, 이 계측 단계에서 계측된 이 에러 빈도가 작아진 경우에, 이 리프레시 주기를 단계적으로 연장하는 것이 바람직하다.
또한, 이 계측 단계에 있어서, 이 에러 발생 지점에서의 미리 정해진 시간당 에러수를 이 에러 빈도로서 계측하는 것이 바람직하다.
또한, 이 계측 단계에 있어서, 이 추가 패트롤 제어 단계에 의한 이 추가 패트롤 동작에서 복수의 에러 발생 지점을 검출한 경우에, 이 에러 발생 지점의 수를 이 에러 빈도로서 계측하여도 좋다.
또한, 이 리프레시 주기 조정 단계에 있어서, 미리 설정된 하한값 이상으로 이 리프레시 주기를 조정하는 것이 바람직하다.
또한, 이 리프레시 주기 조정 단계에 있어서, 이 메모리에의 액세스 빈도에 기초하여, 이 하한값을 변경하여도 좋고, 이 리프레시 주기 조정 단계에 있어서, 이 메모리의 온도인 메모리 온도에 기초하여, 이 하한값을 변경하여도 좋다.
또한, 이 리프레시 주기 조정 단계에 있어서, 이 통상 패트롤 제어 단계에 의한 이 통상 패트롤 동작에서 이 메모리의 에러를 검출한 후의 경과 시간이 미리 정해진 시간을 초과한 경우에, 이 리프레시 주기를 기정값으로 복귀시켜도 좋다.
또한, 이 리프레시 주기 조정 단계에서 조정된 이 리프레시 주기에 기초하여, 이 추가 패트롤 동작의 감시 간격을 변경하는 감시 간격 변경 단계를 포함하여도 좋다.
또한, 이 감시 간격 변경 단계에 있어서, 이 계측 단계에서 계측된 이 에러 빈도가 일정해진 경우에, 이 감시 간격을 연장하여도 좋다.
본 발명에 의하면, 메모리의 패트롤을 행하는 통상 패트롤 동작을 제어하고, 통상 패트롤 동작에서 메모리의 에러를 검출한 경우에, 에러 발생 지점에 대하여 패트롤을 행하는 추가 패트롤 동작을 제어함으로써, 에러의 검출 기구가 효율화된다. 또한 추가 패트롤 동작에서 에러를 검출한 경우에, 이 에러 발생 지점에서의 에러 빈도에 따라서 리프레시 주기를 조정함으로써, 메모리 전체에 대하여 패트롤을 행하는 경우에 비해 짧은 간격으로, 에러의 발생 상태에 맞춘 리프레시 주기의 최적화를 행할 수 있고, 시스템의 동작 환경이 일시적으로 변화되는 경우의 응답성을 향상시킬 수 있다.
또한, 에러 빈도가 커진 경우에, 리프레시 주기를 단계적으로 단축하고, 에러 빈도가 작아진 경우에, 리프레시 주기를 단계적으로 연장함으로써, 에러 빈도의 변화에 맞춘 리프레시 주기의 조정 처리를 짧은 간격으로 조금씩 행하기 때문에, 에러 빈도의 변화가 작은 경우에 조정의 정도를 작게 억제할 수 있다. 따라서, 메모리에서의 에러의 발생 상태에 맞춘 리프레시 주기의 최적화를 보다 효율적으로 행할 수 있다.
또한, 메모리의 온도에 기초하여 하한값을 변경함으로써, 에러 빈도에만 의한 제어로는 방지할 수 없는 과잉의 리프레시를 방지하여, 과잉의 리프레시에 의해 메모리의 동작에 부여하는 악영향을 억제할 수 있다.
또한, 메모리의 액세스 빈도에 기초하여 하한값을 변경함으로써, 에러 빈도에만 의한 제어로는 방지할 수 없는 과잉의 리프레시를 방지하여, 리드/라이트(read/write) 액세스의 저해에 의해 메모리의 동작에 부여하는 악영향을 억제할 수 있다.
또한, 통상 패트롤 동작에서 메모리의 에러를 검출한 후의 경과 시간이 타이머 임계값을 초과한 경우에, 통상 리프레시 모드의 리프레시 주기에 강제적으로 복귀시키는 것에 의해, 개선 불가능한 에러에 대하여 리프레시 주기의 조정 처리를 하지 않게 되어, 쓸데없는 리프레시를 계속하는 것을 방지할 수 있다.
또한, 에러 빈도가 일정해진 경우에, 추가 감시 간격을 연장함으로써, 불필요한 패트롤을 삭감할 수 있다. 또한 리프레시 주기를 조제할 때에 추가 감시 간격도 맞춰 조정함으로써, 에러 검출 기구의 효율화를 도모할 수 있다.
도 1은 본 발명의 일 실시형태로서의 메모리 리프레시 회로의 구성예를 모식적으로 도시하는 도면이다.
도 2는 본 발명의 일 실시형태로서의 메모리 리프레시 회로에서의 메모리의 구성예를 모식적으로 도시하는 도면이다.
도 3의 (a)∼(c)는 각각 본 발명의 일 실시형태로서의 메모리 리프레시 회로에서의 통상 패트롤부 및 추가 패트롤부에 의해 패트롤 요구를 발행하는 예를 도시하는 타이밍 차트이다.
도 4의 (a)∼(c)는 각각 본 발명의 일 실시형태로서의 메모리 리프레시 회로에서의 통상 패트롤부 및 추가 패트롤부에 의해 패트롤 요구를 발행하는 예를 도시하는 타이밍 차트이다.
도 5의 (a), (b)는 각각 본 발명의 일 실시형태로서의 메모리 리프레시 회로에서의 리프레시 주기 조정부에 의해 리프레시 주기를 조정하는 예를 도시하는 타이밍 차트이다.
도 6의 (a), (b)는 각각 본 발명의 일 실시형태로서의 메모리 리프레시 회로에서의 리프레시 주기 조정부에 의해 리프레시 주기를 조정하는 예를 도시하는 타이밍 차트이다.
도 7의 (a), (b)는 각각 본 발명의 일 실시형태로서의 메모리 리프레시 회로에서의 감시 간격 변경부에 의해 추가 감시 간격을 변경하는 예를 도시하는 타이밍 차트이다.
도 8의 (a), (b)는 각각 본 발명의 일 실시형태로서의 메모리 리프레시 회로에서의 리프레시 주기 조정부에 의해 리프레시 주기의 하한값을 변경하는 예를 도시하는 타이밍 차트이다.
도 9의 (a), (b)는 각각 본 발명의 일 실시형태로서의 메모리 리프레시 회로에서의 리프레시 주기 조정부에 의해 리프레시 주기의 조정 처리를 해제하는 예를 도시하는 타이밍 차트이다.
도 10은 본 발명의 일 실시형태에 따른 메모리 리프레시 회로의 메모리에 있어서 리프레시를 행하는 구체적인 처리 순서의 예를 도시하는 흐름도이다.
도 11은 본 발명의 일 실시형태에 따른 메모리 리프레시 회로의 메모리 제어부에 의해 통상 패트롤 동작을 제어하는 구체적인 처리 순서를 도시하는 흐름도.
도 12는 본 발명의 일 실시형태에 따른 메모리 리프레시 회로에서 초기화 처리를 행하는 순서를 도시하는 흐름도이다.
도 13은 본 발명의 일 실시형태에 따른 메모리 리프레시 회로의 메모리 제어부에 의해 추가 패트롤 동작을 제어하는 구체적인 처리 순서를 도시하는 흐름도이다.
도 14는 본 발명의 일 실시형태에 따른 메모리 리프레시 회로에서의 리프레시 주기 조정부에 의해 리프레시 주기를 조정하는 처리 순서를 도시하는 흐름도이다.
도 15는 본 발명의 일 실시형태로서의 메모리 리프레시 회로의 감시 간격 변경부에서 추가 감시 간격을 변경하는 구체적인 처리 순서를 도시하는 흐름도이다.
도 16은 본 발명의 일 실시형태에 따른 메모리 리프레시 회로에서의 하한값 산출부에 의해 하한값을 산출하는 구체적인 처리 순서를 도시하는 흐름도이다.
도 17은 본 발명의 일 실시형태에 따른 메모리 리프레시 회로의 단축 종료 요구부에서 타이머 임계값을 경과한 경우의 구체적인 처리 순서를 도시하는 흐름도이다.
도 18은 종래의 메모리 리프레시 주기를 제어하는 동작 방식의 예를 모식적으로 도시하는 도면이다.
이하, 도면을 참조하면서 본 발명의 실시형태에 대해서 설명한다.
〔1〕본 발명의 일 실시형태의 설명
도 1은 본 발명의 일 실시형태로서의 메모리 리프레시 회로의 구성예를 모식적으로 도시하는 도면, 도 2는 그 메모리 리프레시 회로에서의 메모리의 구성예를 모식적으로 도시하는 도면이다.
본 실시형태에 따른 메모리 리프레시 회로(메모리 리프레시 장치)(10)는, 리프레시 주기에 맞춰 메모리(11)의 리프레시를 행하는 것으로서, 도 1에 도시하는 바와 같이, 메모리(11), 메모리 제어부(12), 외부 인터페이스부(13), ECC(Error Correcting Code) 회로(14), 계측부(15), 리프레시 요구 발생부(16), 패트롤 제어부(17), 조정 제어부(18), 온도 센서(19), 액세스 카운터(20), 하한값 산출부(21), 타이머(22) 및 단축 종료 요구부(23)를 구비한 회로로서 구성되어 있다. 이 메모리 리프레시 회로(10)는, 예컨대 PC(Personal Computer) 등의 정보 처리 장치에 탑재되는 메모리 보드(도시 생략)에 구비된다.
메모리(11)는 DRAM(Dynamic Random Access Memory) 또는 SDRAM(Static Random Access Memory) 등의 메모리 디바이스이고, 예컨대 MICRON사 제조의 DDR2 SDRAM이 사용된다.
이 메모리(11)는, 예컨대 도 2에 도시하는 바와 같이, 4뱅크 구성의 메모리셀 어레이이고, 메모리셀 어레이(34-1, 34-2, 34-3 및 34-4)를 구비하여 구성되어 있다. 또한 메모리셀 어레이(34-1∼34-4) 각각에 대해서는, 행 디코더(36-1∼36-4), 열 디코더(38-1∼38-4) 및 센스 앰프(40-1∼40-4)가 설치되어 있다.
행 디코더(36-1∼36-4) 및 열 디코더(38-1∼38-4)에 대해서는, 어드레스 버퍼(42)가 설치되고, 메모리 제어부(12)(도 1 참조)로부터 어드레스 버스(50)에 의해 지시된 행 어드레스 및 열 어드레스가 디코드되며, 대응하는 메모리가 있는 데이터를, 예컨대 워드(8비트)를 최소 단위로서 액세스하여, 라이트 동작 또는 리드 동작이 행해진다.
이 때문에, 센스 앰프(40-1∼40-4)에 대해서는, I/O 버퍼(44)가 설치되고, I/O 버퍼(44)에 대해서는, 외부 인터페이스부(13)(도 1 참조)로부터의 데이터 버스(52)가 ECC 회로(14)(도 1 참조)를 통해 접속되어 있다.
또한 메모리(11)에는, RF 카운터(리프레시 카운터)(48)와 컨트롤 로직(46)이 설치되어 있다. RF 카운터(48)는, 리프레시가 행해진 후 다음의 리프레시가 행해질 때까지의 시간을 카운트하는 것이다.
컨트롤 로직(46)은, 메모리 제어부(12)로부터의 어드레스 버스(50)와 제어 커맨드선(54)이 입력되도록 되어 있고, 제어 커맨드선(54)에 기초하는 제어 커맨드 신호에 기초하여, 메모리(11)의 제어 구동을 하도록 되어 있다. 컨트롤 로직(46)에 의한 메모리(11)의 제어 구동으로서는 라이트 동작, 리드 동작, 리프레시 동작 및 패트롤 동작이 주된 제어 동작이다. 또한 제어 커맨드의 예로서 리프레시 커맨드가 컨트롤 로직(46)에 대하여 메모리 제어부(12)로부터 수신되었을 때에, RF 카운터(48)로 정해지는 메모리셀 어레이(34-1∼34-4)의 열 어드레스를 순차 지정하고, 1회의 리프레시 동작을 실행한다.
여기서, 4뱅크의 메모리셀 어레이(34-1∼34-4)에서의 행수는, 예컨대 각각 8192행이고, 리프레시 실행시는 4뱅크 동시에 행한다. 이 때문에 RF 카운터(48)는 1회의 리프레시 커맨드를 받았을 때에 8192행분의 행 어드레스를 순차 발생시켜, 메모리셀 어레이(34-1∼34-4)에서의 모든 기억 소자(셀)의 리프레시 동작을 실행한다.
이 8192행 어드레스의 순차 발생에 의한 리프레시 동작의 주기는, 예컨대 64 ms이고, 따라서 하나의 행 어드레스당 리프레시 주기는 7.8125 ㎲가 된다.
메모리셀 어레이(34-1∼34-4)에 설치되어 있는 기억 소자(도시 생략)에 대한 리프레시 동작은, 리드 동작에서의 데이터 출력을 제외한 동작 순서와 동일하고, 다음과 같이 된다.
(1) 프리차지 스위치(도시 생략)를 온하여 내부 데이터선(도시 생략)을 프리 차지 전원 라인(도시 생략)의 전압(센스 앰프 스레숄드(threshold) 전압)과 동일한 전압으로 한다.
(2) 프리차지 스위치를 오프한다. 이 때 내부 데이터선에는 기생 용량에 의해 프리차지된 전압이 유지된다.
(3) 워드선(도시 생략)을 선택하여 전압을 부여하고, 이것에 의해 기억 소자에서의 FET의 소스, 드레인 사이가 도통하며, 커패시터(도시 생략)의 정보가 내부 데이터선에 나타나고, 이 때 내부 데이터선은 프리차지 전압(스레숄드 전압)으로 되어 있기 때문에, 커패시터에 전하가 있는 데이터 1의 경우는 스레숄드 전압을 초과하는 전압값이 되며, 전하가 없는 데이터 0의 경우에는 스레숄드 전압을 하회하는 전압값이 된다.
(4) 센스 앰프(40-1∼40-4)를 동작하고, 내부 데이터선의 전압을 스레숄드 전압을 기준으로 0과 1에 해당하는 전압으로 변환하여 출력하며, 이 때 기억 소자의 커패시터에는 동일한 데이터가 재차 기억된다.
메모리 제어부(12)는, 도 1에 도시하는 바와 같이, 메모리(11)에의 액세스를 제어하는 것으로서, 예컨대 메모리(11)로서 사용하는 메모리 디바이스에 의해 결정되는 타이밍으로 제어 커맨드 신호를 출력하고, 메모리(11)에 대한 데이터의 기록과 판독, 더 나아가서는 리프레시 동작 및 패트롤 동작을 제어하도록 되어 있다.
이 메모리 제어부(12)는, 메모리(11)의 사양으로 미리 규정되는 리프레시 주기로 메모리(11)의 리프레시 동작을 제어하는 통상 리프레시 모드나, 후술하는 리프레시 주기 조정부(26)에 의해 조정된 리프레시 주기로 메모리(11)의 리프레시 동작을 제어하는 리프레시 주기 단축 모드를 실행하도록 되어 있다.
또한, 메모리 제어부(12)는, 후술하는 통상 패트롤 제어부(24)의 제어에 따라서, 미리 설정된 감시 간격(통상 감시 간격)으로 메모리(11) 전체의 패트롤(에러 패트롤; 메모리 패트롤)을 행하는 통상 패트롤 동작을 시키도록 되어 있다. 구체적으로는 메모리 제어부(12)는, 통상 패트롤 동작으로서, 통상 감시 간격으로 메모리(11)의 어드레스 전체를 정기적으로 주사하고, 이들 어드레스의 데이터를 판독하도록 되어 있다.
또한, 메모리 제어부(12)는, 후술하는 통상 패트롤 제어부(24)의 제어에 기초하는 통상 패트롤 동작에서 메모리(11)의 에러를 검출한 경우에, 후술하는 추가 패트롤 제어부(25)의 제어에 따라서, 에러가 발생한 에러 발생 어드레스(에러 발생 지점)에 대하여 패트롤을 행하는 추가 패트롤 동작을 시키도록 되어 있다. 구체적으로는 메모리 제어부(12)는, 추가 패트롤 동작으로서, 후술하는 ECC 회로(14)에 의해 정정 가능한 데이터의 오류를 에러로서 검출한 경우에, 에러 발생 어드레스를, 통상 감시 간격보다 충분히 짧은 감시 간격(추가 감시 간격)으로 집중적으로 패트롤을 하도록 되어 있다.
또한, 본 실시형태에서는, 메모리 제어부(12)는, 통상 패트롤 동작이 실행된 후 다음의 통상 패트롤 동작이 실행될 때까지의 시간을 카운트하는 전체 PT 카운터(도시 생략)를 이용하여 통상 패트롤 동작을 제어하고, 추가 패트롤 동작이 실행된 후 다음의 추가 패트롤 동작이 실행될 때까지의 시간을 카운트하는 추가 PT 카운터(도시 생략)와, 추가 패트롤 동작을 실행한 횟수를 카운트하는 PT 횟수 카운터(도시 생략)를 이용하여 추가 패트롤 동작을 제어하도록 되어 있다.
또한, 전체 PT 카운터, 추가 PT 카운터 및 PT 횟수 카운터는 기지의 방법에 의해 실현되는 것이고, 그 상세한 설명을 생략하는 것으로 하며, 이들 전체 PT 카운터, 추가 PT 카운터 및 PT 횟수 카운터를 이용한 경우의 구체적인 처리 순서에 대해서는 후술한다.
외부 인터페이스부(13)는, 메모리 리프레시 회로(10)를 내장하고 있는 정보 처리 장치(도시 생략)의 프로세서나 다른 제어 장치를 포함하는 상위 장치와의 인터페이스 제어를 하는 것으로서, 예컨대 프로세서로부터의 리드 커맨드 또는 라이트 커맨드의 수신, 프로세서에 대한 리드 데이터의 응답, 프로세서에 대한 메모리 스테이터스 정보의 송신을 인터페이스 제어로서 하도록 되어 있다.
ECC 회로(14)는, 메모리 제어부(12)의 제어에 의해 메모리(11)에 대하여 데이터를 기록할 때에, 기록 데이터로부터 오류 검출 정정 부호(검사 비트)를 생성하여 데이터에 부가하고, 메모리(11)에 기록하는 것으로서, 예컨대 메모리 제어부(12)에 의한 통상 패트롤 동작 및 추가 패트롤 동작에서 메모리(11)로부터 데이터를 판독했을 때에, 판독한 데이터와 그 오류 검출 정정 부호를 사용하여 데이터의 정상성을 검사하고, 정정 가능한 오류를 에러로서 검출한 경우에 데이터의 오류를 정정하도록 되어 있다.
본 실시형태에서는, ECC 회로(14)는, 예컨대 단일 오류 정정 이중 오류 검출 부호를 오류 검출 정정 부호로서 사용하고 있다. 이 때문에 본 실시형태의 ECC 회로(14)는, 판독한 데이터로부터 일중 오류(단일 오류)를 검출한 경우에는, 정정 가능한 오류(에러)라고 판단하여 이것을 정정하고, 이중 오류 이상의 오류를 검출한 경우에는, 오류를 정정할 수 없는 오류라고 판단하여, 시스템 장해로서 외부 인터페이스부(13)를 통해 상위 장치로서의 프로세서에 통지하도록 되어 있다.
계측부(15)는, 추가 패트롤 제어부(25)에 의한 추가 패트롤 동작에서 에러를 검출한 경우, 즉 ECC 회로(14)에 의해 정정 가능한 데이터의 오류를 에러로서 검출한 경우에, 에러 발생 어드레스의 에러에 관한 정보를 에러 빈도로서 계측하는 것으로서, 예컨대 에러 발생 어드레스에서의 미리 정해진 시간당 에러수를 에러 빈도로서 계측하도록 되어 있다.
그리고, 계측부(15)는 계측한 에러 빈도를 후술하는 조정 제어부(18)에 통지하도록 되어 있다.
리프레시 요구 발생부(16)는 메모리 제어부(12)에 대하여 리프레시 커맨드를 발생시키기 위한 트리거 신호를 출력하는 것이다. 그리고, 이 트리거 신호를 받은 메모리 제어부(12)는 메모리(11)에 대하여 리프레시 커맨드를 발행하여 리프레시 동작을 하도록 되어 있다.
패트롤 제어부(17)는, 메모리(11)의 데이터를 정기적으로 판독하여 데이터를 점검(메모리 패트롤)하기 위한 제어를 하는 것으로서, 도 1에 도시하는 바와 같이, 통상 패트롤 제어부(24) 및 추가 패트롤 제어부(25)를 구비하여 구성되어 있다.
통상 패트롤 제어부(24)는, 전술한 통상 패트롤 동작을 제어하는 것이고, 추가 패트롤 제어부(25)는, 전술한 추가 패트롤 동작을 제어하는 것이다.
도 3 및 도 4는 본 발명의 일 실시형태로서의 메모리 리프레시 회로에서의 메모리 제어부(12)에 의해 패트롤 동작을 제어하는 예를 도시하는 타이밍 차트이고, 도 3(a) 및 도 4(a)는 ECC 회로(14)의 오류 검출 통지, 도 3(b) 및 도 4(b)는 패트롤 제어부(17)의 패트롤 요구의 발행, 도 3(c) 및 도 4(c)는 후술하는 리프레시 주기 조정부(26)의 동작 상태를 각각 도시하고 있다.
도 3(a)∼(c)에 도시하는 예에서는, 통상 패트롤 제어부(24)는 통상 패트롤 동작시에 있어서, 도 3(b)에 도시하는 바와 같이, 통상 감시 간격 "P1"로 메모리 제어부(12)에 대하여 통상 패트롤 트리거 신호(60-1∼60-4)를 출력하고 있고, 메모리 제어부(12)는 이들 통상 패트롤 트리거 신호(60-1∼60-4)를 받아, 메모리(11)에 대하여 통상 패트롤 커맨드를 발행하여 통상 패트롤 동작을 제어하고 있다.
이 상태에서, 예컨대 시각 t1에서 ECC 회로(14)가 메모리(11)의 판독 데이터에 대해 정정 가능한 일중 오류를 검출한 경우에는, 조정 제어부(18)는 도 3(a)의 오류 검출 통지(64)를 수신하고, 일중 오류를 검출한 에러 발생 어드레스를 수신하여 유지한다.
또한, 도 3(c)에 도시하는 바와 같이, 리프레시 주기 조정부(26)는 도 3(a)의 오류 검출 통지(64)를 수신하고, 후술하는 리프레시 주기 단축 모드로 이행하며, 리프레시 주기의 조정 처리를 반복하여 행한다.
그리고, 조정 제어부(18)는, 시각 t1에서 일중 오류의 오류 검출 통지(64)를 수신하면, 추가 패트롤 제어부(25)에 대하여, 에러 발생 어드레스에 대한 추가 패트롤 요구를 발행한다.
이 때문에 시각 t1 이후에 대해서는, 통상 감시 간격 "P1"에서 행하고 있는 통상 패트롤 트리거 신호(60-1∼60-4)에 가하여, 추가 패트롤 요구를 받은 추가 패트롤 제어부(25)가, 도 3(b)에 도시하는 바와 같이, 통상 감시 간격 "P1"보다 짧은 추가 감시 간격 "P2"로 추가 패트롤 요구에 대응한 추가 패트롤 트리거 신호(66-1∼66-6)를 발생시킨다.
이 추가 패트롤 트리거 신호(66-1∼66-6)를 받은 메모리 제어부(12)는 에러 발생 어드레스를 지정하여 추가 패트롤 커맨드를 메모리(11)에 발행하고, 이 결과, 에러 검출 어드레스에 대하여 추가 패트롤 동작이 실행되며, 후술하는 리프레시 주기 조정부(26)에 의해 조정한 리프레시 주기의 리프레시 동작에 따르는 에러 발생 어드레스의 에러 발생 빈도 감소의 효과를 측정한다.
시각 t1로부터의 메모리 제어부(12)에서의 추가 패트롤 동작의 제어는, 도 4(a)∼(c)에 도시하는 바와 같이, 리프레시 주기 조정부(26)의 리프레시 주기 단축 모드가 해제될 때까지 행해진다. 리프레시 주기 단축 모드가 해제되는 조건에 대해서는 후술한다.
조정 제어부(18)는, 계측부(15)에 의해 계측된 에러 빈도에 기초하여, 리프레시 주기를 조정하고, 메모리(11)에 대한 감시 간격을 변경하는 것으로서, 도 1에 도시하는 바와 같이, 리프레시 주기 조정부(26) 및 감시 간격 변경부(27)를 구비하여 구성되어 있다.
리프레시 주기 조정부(26)는, 계측부(15)에 의해 계측된 에러 빈도에 따라서, 리프레시 주기를 조정하는 것으로서, 예컨대 계측부(15)에 의해 계측된 에러 빈도가 커진 경우에, 리프레시 주기를 단계적으로 단축하고, 계측부(15)에 의해 계측된 에러 빈도가 작아진 경우에, 리프레시 주기를 단계적으로 연장하도록 되어 있다. 즉, 리프레시 주기 조정부(26)는 에러 빈도에 따라서 리프레시 주기의 단축 정도를 조정하는 것이다.
도 5 및 도 6은 본 발명의 일 실시형태로서의 메모리 리프레시 회로에서의 리프레시 주기 조정부에 의해 리프레시 주기를 조정하는 예를 도시하는 타이밍 차트이고, 도 5의 (a), (b)는 리프레시 주기를 단축하여도 에러 빈도가 해소되지 않는 경우를 도시하고 있으며, 도 6의 (a), (b)는 리프레시 주기를 단축함으로써 에러 빈도가 해소되는 경우를 도시하고 있다.
또한, 도 5(a) 및 도 6(a)는 에러 빈도의 변화를 시계열로 도시한 도면이고, 종축에 에러 빈도를, 횡축에 시간을 각각 도시하고 있다. 또한 도 5(b) 및 도 6(b)는 리프레시 주기의 변화를 시계열로 도시하는 도면이고, 종축에 단위 시간당 리프레시 횟수를, 횡축에 시간을 각각 도시하고 있다.
또한, 단위 시간당 리프레시 횟수가 많아지는 것은, 리프레시 주기가 단축되는 것을 의미하는 것이다.
구체적으로는, 리프레시 주기 조정부(26)는, 예컨대 메모리(11)의 리프레시를 10회 행할 때마다 1회 정도의 주기[예컨대 도 5(b)의 시간 "t" 참조]로 리프레시 주기의 조정 처리를 반복하여 행한다. 여기서, 리프레시 주기 조정부(26)는, 예컨대 ECC 회로(14)로 정정 가능한 에러가 검출된 경우에는, 리프레시 주기 단축 모드로 이행한다. 리프레시 주기 단축 모드에서는, 조정 처리를 행할 때마다[도 5(b)의 시간 "t" 참조], 단위 시간당 리프레시 횟수를 미리 설정된 단위 횟수[예컨대 도 5(b)의 부호 "n" 참조]씩 가산함으로써, 리프레시 주기를 미리 설정된 단위 주기 "cn"씩 단축하고, 계측부(15)에 의해 계측된 에러 빈도가 미리 설정된 임계값 이하인 경우 또는 에러 빈도가 0인 경우에는, 조정 처리를 할 때마다 리프레시 주기를 단위 주기씩 연장한다.
그리고, 리프레시 주기 조정부(26)는 리프레시 주기의 조정 처리를 시작한 후에, 통상 리프레시 모드의 리프레시 주기와 동등한 리프레시 주기로 조정되면, 에러 다발 상황으로부터 벗어난 것으로 판단하고, 리프레시 주기 단축 모드를 해제하여 통상 리프레시 모드로 복귀시키도록 되어 있다.
예컨대 도 5(a) 및 도 5(b)에 도시하는 바와 같이, 통상 리프레시 모드의 단위 시간당 리프레시 횟수 "N1"[도 5 (b) 참조]로 산출되는 리프레시 주기 "CN1"(도시 생략)로 리프레시가 실행되어 있는 경우에 있어서, ECC 회로(14)로 에러가 검출되면[도 5(a)의 시간 "T1" 참조], 통상 리프레시 모드로부터 리프레시 주기 단축 모드로 이행한다[도 5의 (a), (b)의 시간 "T1" 이후(도면중 우측) 참조].
또한, 이하 단위 시간당 리프레시 횟수를 나타내는 부호 "N1", "N2" 앞에 각각 부호 "C"를 붙이는 것에 의해, 단위 시간당 리프레시 횟수 "N1", "N2"로 산출되는 리프레시 주기 "CN1", "CN2"를 각각 나타내는 것으로 한다.
이 리프레시 주기 단축 모드에서는, 리프레시 주기 조정부(26)가 조정 처리를 시작하고, 조정 처리를 행할 때마다[도 5(b)의 시간 "t" 참조] 리프레시 주기를 단계적으로 단축함으로써[도 5(b)의 시간 "T1"∼"T4" 참조], 에러 발생 빈도에 따른 적절한 리프레시 주기로 조정한다. 즉, 리프레시 주기 조정부(26)는 도 5(b)에 도시하는 바와 같이, 단위 시간당 리프레시 횟수를 미리 정해진 횟수[도 5(b)의 부호 "n" 참조]씩 단계적으로 증가시켜, 이것에 따라 리프레시 주기를 단계적으로 단축시키는 것이다.
그리고, 에러 빈도가 서서히 저하되어[도 5(a)의 시간 "T2"∼"T3" 참조], 에러 빈도가 임계값 "TH"보다 높은 일정한 값 "E1"을 유지하는 상태가 된 경우에는[도 5(a)의 시간 "T3" 이후 참조], 리프레시 주기 조정부(26)는 리프레시 주기의 단축을 정지시켜 일정한 리프레시 주기 "CN2"[도 5(b)의 부호 "N2" 참조]를 유지한다[도 5(b)의 시간 "T4" 이후 참조).
또한, 예컨대 도 6(a) 및 도 6(b)에 도시하는 바와 같이, 통상 리프레시 모드의 리프레시 주기 "CN1"[도 6(b)의 부호 "N1" 참조]로 리프레시가 실행되어 있는 경우에 있어서, ECC 회로(14)로 에러가 검출되면[도 6(a)의 시간 "T5" 참조], 통상 리프레시 모드로부터 리프레시 주기 단축 모드로 이행한다[도 6의 (a) 및 (b)의 시간 "T5" 이후 참조).
이 리프레시 주기 단축 모드에서는, 리프레시 주기 조정부(26)가 조정 처리를 시작하고, 조정 처리를 할 때마다[도 6(b)의 시간 "t" 참조], 단위 시간당 리프레시 횟수를 미리 설정된 단위 횟수(예컨대 도 6(b)의 부호 "n" 참조)씩 가산함으로써, 리프레시 주기를 단계적으로 단축하고, 에러 발생 빈도에 따른 적절한 리프레시 주기 "CN2"[도 6(b)의 부호 "N2" 참조])로 조정한다[도 6(b)의 시간 "T5"∼"T6" 참조].
그리고, 에러 빈도가 서서히 저하되어 임계값 "TH"보다 낮은 상태를 유지하도록 된 경우에는[도 6(a)에 도시하는 예에서는 "0"; 시간 "T6" 이후 참조], 리프레시 주기 조정부(26)는 조정 처리를 할 때마다[도 6(b)의 시간 "t" 참조], 단위 시간당 리프레시 횟수를 미리 설정된 단위 횟수[예컨대 도 6(b)의 부호 "n" 참조]씩 감산함으로써, 리프레시 주기를 단계적으로 연장하고, 통상 리프레시 모드의 리프레시 주기 "CN1"[도 6(b)의 부호 "N1" 참조]까지 복귀시킨다[도 6(b)의 시간 "T7"∼"T8" 참조].
그 후, 에러 빈도가 임계값 "TH"보다 높아지지 않으면[도 6(a)의 시간 "T8" 이후 참조], 리프레시 주기 조정부(26)는, 통상 리프레시 모드의 리프레시 주기 "CN1"[도 6(b)의 부호 "N1" 참조]을 유지한다[도 6(b)의 시간 "T8" 이후 참조].
감시 간격 변경부(27)는, 계측부(15)에 의해 계측된 에러 빈도에 기초하여, 패트롤 제어부(17)에 의한 추가 감시 간격을 변경하는 것으로서, 예컨대 계측부(15)에 의해 계측된 에러 빈도가 일정해진 경우에, 추가 감시 간격을 연장하도록 되어 있다. 즉, 감시 간격 변경부(27)는 메모리(11)의 패트롤을 행하는 타이밍을 패트롤 제어부(17)[통상 패트롤 제어부(24), 추가 패트롤 제어부(25)]에 지시하는 것이다.
또한, 본 실시형태에서는, 감시 간격 변경부(27)는 계측부(15)에 의한 이전회의 측정으로부터 계측부(15)에 의한 이번 측정까지 연속하여 에러 빈도가 변화하지 않은 횟수를 카운트하는 수속 카운터(도시 생략)를 이용하여, 전술한 감시 간격을 변경하는 제어를 하도록 되어 있다.
또한, 수속 카운터는 기지의 방법에 의해 실현되는 것이고, 그 상세한 설명을 생략하는 것으로 하며, 수속 카운터를 이용한 경우의 구체적인 처리 순서에 대해서는 후술한다.
도 7의 (a), (b)는 본 발명의 일 실시형태로서의 메모리 리프레시 회로에서의 감시 간격 변경부에 의해 추가 감시 간격을 변경하는 예를 도시하는 타이밍 차트이고, 도 7(a)는 패트롤 횟수의 변화를 시계열로 도시하는 도면이며, 종축에 단위 시간당 패트롤 횟수를, 횡축에 시간을 각각 도시하고 있고, 도 7(b)는 리프레시 주기의 변화를 시계열로 도시한 도면이며, 종축에 단위 시간당 리프레시 횟수를, 횡축에 시간을 각각 도시하고 있다.
또한, 단위 시간당 패트롤 횟수가 많아지는 것은, 감시 간격이 짧아지는 것을 의미하는 것이다.
예컨대 메모리 제어부(12)가, 단위 시간당 감시 횟수 "P1"로 산출되는 통상 감시 간격 "IP1"로 통상 패트롤 동작을 제어하고 있고, 통상 리프레시 모드의 리프레시 주기 "CN1"[도 7(b)의 부호 "N1" 참조]로 리프레시 동작을 제어하고 있는 경우에 있어서, 계측부(15)에 의해 계측된 에러 빈도가 임계값보다 높아지면(도시 생략), 통상 리프레시 모드로부터 리프레시 주기 단축 모드로 이행한다.
또한, 이하 단위 시간당 감시 횟수를 나타내는 부호 "P1", "P2", "P3" 앞에 각각 부호 "I"를 붙이는 것에 의해, 단위 시간당 감시 횟수 "P1", "P2", "P3"으로 산출되는 감시 간격 "IP1", "IP2", "IP3"을 각각 나타내는 것으로 한다.
이 리프레시 주기 단축 모드에서는, 메모리 제어부(12)가, 추가 감시 간격의 디폴트값(default값; 단간격) "CP2"[도 7(a)의 부호 "P2" 참조)로 추가 패트롤 동작을 제어하고, 이것에 맞춰, 리프레시 주기 조정부(26)가 조정 처리를 시작하며, 조정 처리를 할 때마다[도 7(b)의 시간 "t" 참조], 단위 시간당 리프레시 횟수를 미리 설정된 단위 횟수[예컨대 도 7(b)의 부호 "n" 참조]씩 가산함으로써, 리프레시 주기를 단계적으로 단축하여, 에러 발생 빈도에 따른 적절한 리프레시 주기 "CN2"[도 7(b)의 부호 "N2" 참조]로 조정한다[도 7(b)의 시간 "T9"∼"T10" 참조].
그리고, 리프레시 주기 조정부(26)에 있어서 리프레시 주기 "CN2"를 유지하는 상태가 된 경우[도 7(b)의 시간 "T10" 이후 참조], 즉 계측부(15)에 의해 계측된 에러 빈도가 일정하게 수속된 경우(도시 생략)에는, 감시 간격 변경부(27)는 계측부(15)에 의해 계측된 에러 빈도에 기초하여, 추가 감시 간격을, 단간격 "IP2"[도 7(a)의 부호 "P2" 참조)로부터 이 단간격 "IP2"보다 긴 간격(장간격) "IP3"[도 7(a)의 부호 "P3" 참조]으로 연장하는 제어를 행한다[도 7(a)의 시간 "T11" 참조].
이것에 의해, 불필요한 패트롤을 삭감할 수 있고, 또한 리프레시 주기를 조제할 때에 추가 감시 간격도 맞춰 조정함으로써, 에러 검출 기구의 효율화를 도모하는 것이다.
도 1중, 온도 센서(19)는 메모리(11)의 온도를 검지하는 것이다. 액세스 카운터(20)는 메모리(11)에의 액세스 빈도를 계측하는 것으로서, 예컨대 일정 시간 내에서의 메모리(11)에의 액세스수를 액세스 빈도로서 카운트하도록 되어 있다.
또한, 이들 온도 센서(19) 및 액세스 카운터(20)는 기지의 기술이고, 그 상세한 설명에 대해서는 생략하는 것으로 한다.
하한값 산출부(21)는, 도 1에 도시하는 바와 같이, 온도 센서(19)에 의해 검지된 온도나 액세스 카운터(20)에 의해 계측된 액세스 빈도에 기초하여, 리프레시 주기의 하한값(한계값)을 산출하는 것으로서, 예컨대 미리 설정된 시간 간격으로 온도 센서(19)나 액세스 카운터(20)를 감시하며, 정상적인 액세스 빈도의 상한값으로서 미리 설정된 액세스 빈도 임계값이나 정상적인 온도의 상한값으로서 미리 설정된 온도 임계값을 초과한 경우에는, 액세스 빈도나 온도에 따라서, 리프레시 주기의 하한값을 단계적으로 연장하도록 되어 있다. 이 하한값 산출부(21)는, 메모리(11)에 악영향을 부여하지 않는 하한값이 될 때까지 단계적으로 연장되도록 되어 있다.
또한, 하한값 산출부(21)는, 산출한 하한값을 리프레시 주기 조정부(26)에 통지하고, 리프레시 주기 조정부(26)가, 하한값 산출부(21)로부터 통지된 리프레시 주기의 하한값을 설정하도록 되어 있다. 즉, 리프레시 주기 조정부(26)는 미리 설정된 하한값 이상으로 이 리프레시 주기를 조정하고, 메모리(11)의 온도인 메모리온도나 메모리(11)에의 액세스 빈도에 기초하여, 하한값을 변경하는 것이다.
도 8의 (a), (b)는 본 발명의 일 실시형태로서의 메모리 리프레시 회로에서의 리프레시 주기 조정부에 의해 리프레시 주기의 하한값을 변경하는 예를 도시하는 타이밍 차트이다.
또한, 도 8(a)는 에러 빈도의 변화를 시계열로 도시하는 도면이고, 종축에 에러 빈도를, 횡축에 시간을 각각 도시하고 있다. 또한 도 8(b)는 리프레시 주기의 변화를 시계열로 도시하는 도면이고, 종축에 단위 시간당 리프레시 횟수를, 횡축에 시간을 각각 도시하고 있다.
예컨대, 도 8의 (a) 및 (b)에 도시하는 바와 같이, 계측부(15)에 의해 계측된 에러 빈도가 임계값 "TH"보다 높은 상태를 유지하고 있는 경우에는, 리프레시 주기 단축 모드가 실행되어 있고, 리프레시 주기 조정부(26)가, 조정 처리를 행할 때마다[도 8(b)의 시간 "t" 참조], 단위 시간당 리프레시 횟수를 미리 설정된 단위 횟수[예컨대 도 8(b)의 부호 "n" 참조]씩 가산함으로써, 리프레시 주기를 단계적으로 단축한다[도 8(b)의 시간 "T12"∼"T13" 참조].
그리고, 리프레시 주기 조정부(26)는, 미리 설정되어 있는 단위 시간당 리프레시 횟수 "NL3" [도 8(b) 참조]으로 산출되는 하한값의 디폴트값(default값) "CNL3"까지 리프레시 주기를 단축하면, 이 하한값의 디폴트값 "CNL3"의 리프레시 주기를 유지한다[도 8(b)의 시간 "T13"∼"T14" 참조].
또한, 이하, 단위 시간당 리프레시 횟수를 도시하는 부호 "NL3"∼"NL5" 앞에 각각 부호 "C"를 붙이는 것에 의해, 단위 시간당 리프레시 횟수 "NL3"∼"NL5"로 산출되는 하한값 "CNL3"∼"CNL5"를 각각 나타내는 것으로 한다.
여기서, 하한값 산출부(21)는, 미리 설정된 시간 간격[도 8(b)의 시간 "T14"∼"T15" 참조]으로 액세스 빈도나 온도를 감시하고, 메모리(11)가 고온 또는 빈번히 액세스되는 상태가 된 것을 검지한 경우에는, 이들 액세스 빈도나 온도에 기초하여, 하한값의 디폴트값 "NL3"보다 긴 하한값 "NL4"를 산출한다. 또한 리프레시 주기 조정부(26)는 하한값을 "CNL3"[도 8(b)의 부호 "NL3" 참조]으로부터 "CNL4"[도 8(b)의 부호 "NL4" 참조]로 변경하고, 리프레시 주기를 "CNL3"으로부터 "CNL4"로 조정한다[도 8(b)의 시간 "T14" 참조].
리프레시 주기의 하한값을 "CNL4"로 변경한 후에, 메모리(11)가 고온 또는 빈번히 액세스되는 상태가 해소되지 않는 경우에는, 하한값 산출부(21)는 액세스 빈도나 온도에 기초하여, 하한값 "CNL4"보다 긴 하한값 "CNL5"[도 8(b)의 부호 "NL5" 참조]를 산출한다. 또한 리프레시 주기 조정부(26)는 하한값을 "CNL4"로부터 "CNL5"로 변경하고, 리프레시 주기를 "CNL4"로부터 "CNL5"로 조정한다[도 8(b)의 시간 "T15" 참조].
또한, 메모리(11)가 고온 또는 빈번히 액세스되는 상태가 해소되면, 리프레시 주기 조정부(26)는 하한값을 디폴트값 "CNL3"으로 복귀시킨다.
이것에 의해, 과잉의 리프레시를 방지하여, 과잉의 리프레시에 의해 메모리(11)의 동작에 부여하는 악영향을 억제할 수 있는 것이다.
타이머(22)는 도 1에 도시하는 바와 같이, 통상 패트롤 제어부(24)에 의한 통상 패트롤 동작에서 메모리(11)의 에러를 검출한 후의 경과 시간을 계측(카운트)하는 것으로서, 기지의 여러 가지의 기술로 실현할 수 있다. 이 타이머(22)는 리프레시 주기 조정부(26)에서 리프레시 주기의 조정 처리가 시작되면 시간의 계측을 시작하고, 경과 시간이 미리 설정된 시간(타이머 임계값)을 경과하면, 그 취지를 후술하는 단축 종료 요구부(23)에 통지하도록 되어 있다. 또한 타이머(22)는 경과 시간이 타이머 임계값을 경과하기 전에 리프레시 주기의 조정 처리가 끝나면, 경과 시간의 계측을 종료하도록 되어 있다.
단축 종료 요구부(23)는, 경과 시간이 전술한 타이머 임계값을 경과한 취지의 통지를 타이머(22)로부터 받은 경우에, 리프레시 주기 조정부(26)에 대하여, 리프레시 주기의 조정 처리를 종료하는 명령을 단축 종료 요구로서 통지하는 것이다.
그리고, 리프레시 주기 조정부(26)는, 단축 종료 요구부(23)로부터 단축 종료 요구가 통지되면, 리프레시 주기의 조정 처리를 종료하고, 통상 리프레시 모드의 리프레시 주기(기정값)에 강제적으로 복귀시키며, 조정 처리를 종료한 취지를 메모리 에러로서 시스템(정보 처리 장치; 도시 생략)에 통지하도록 되어 있다.
도 9의 (a), (b)는 본 발명의 일 실시형태로서의 메모리 리프레시 회로에서의 리프레시 주기 조정부에 의해 리프레시 주기의 조정 처리를 해제하는 예를 도시하는 타이밍 차트이다.
또한, 도 9(a)는 에러 빈도의 변화를 시계열로 도시하는 도면이고, 종축에 에러 빈도를, 횡축에 시간을 각각 도시하고 있다. 또한 도 9(b)는, 리프레시 주기의 변화를 시계열로 도시하는 도면이고, 종축에 단위 시간당 리프레시 횟수를, 횡축에 시간을 각각 나타내고 있다.
예컨대 도 9의 (a) 및 (b)에 도시하는 바와 같이, 메모리 제어부(12)가 통상 리프레시 모드의 리프레시 주기 "CN1"[도 9(b)의 부호 "N1" 참조]로 리프레시 동작을 제어하고 있는 경우에 있어서, ECC 회로(14)로 에러가 검출되면[도 9(a)의 시간 "T16" 참조], 통상 리프레시 모드로부터 리프레시 주기 단축 모드로 이행한다[도 9의 (a) 및 (b)의 시간 "T16" 이후 참조).
이 리프레시 주기 단축 모드에 있어서는, 리프레시 주기 조정부(26)가 조정 처리를 시작하고, 조정 처리를 할 때마다[도 9(b)의 시간 "t" 참조], 단위 시간당 리프레시 횟수를 미리 설정된 단위 횟수[예컨대 도 9(b)의 부호 "n" 참조]씩 가산함으로써, 리프레시 주기를 단계적으로 단축한다[도 9(b)의 시간 "T16"∼"T18" 참조].
그리고, 미리 설정되어 있는 하한값의 디폴트값(default값) "CNL3" [도 9(b)의 부호 "NL3" 참조]까지 리프레시 주기를 단축하여도, 에러 빈도가 임계값 "TH"보다 높은 상태인 경우에는[도 9(a)의 시간 "T18" 참조], 리프레시 주기 조정부(26)는 하한값의 디폴트값 "CNL3"의 리프레시 주기를 유지한다[도 9(b)의 시간 "T18"∼"T19" 참조].
이 상태에 있어서, 에러 빈도가 임계값 "TH"보다 높은 상태를 유지한 채 타이머 임계값 "X"를 경과한 경우에는, 단축 종료 요구부(23)는 타이머(22)로부터의 통지를 받아, 단축 종료 요구를 리프레시 주기 조정부(26)에 통지한다. 단축 종료 요구부(23)로부터 통지를 받은 리프레시 주기 조정부(26)는 리프레시 주기의 조정 처리를 종료하고, 통상 리프레시 모드의 리프레시 주기 "CN1"로 복귀시킨다[도 9(b)의 시간 "T19" 참조).
따라서, 리프레시 주기 조정부(26)는, 통상 패트롤 제어부(24)에 의한 통상 패트롤 동작에서 메모리(11)의 에러를 검출한 후의 경과 시간이 미리 정해진 시간을 초과한 경우에, 리프레시 주기를 기정값으로 복귀시키도록 되어 있다.
이것에 의해, 리프레시 주기를 단축하여 장시간이 경과하여도 에러가 해소되지 않는 경우, 즉 리프레시 주기의 조정 처리를 일정 시간 이상 행하여도 효과를 얻을 수 없는 경우에는, 타이머(22)로부터의 지시에 의해 리프레시 주기의 조정 처리를 강제적으로 해제할 수 있는 것이다.
전술과 같이 구성된 본 발명의 일 실시형태에 따른 메모리 리프레시 회로(10)의 메모리(11)에 있어서 리프레시를 행하는 구체적인 처리 순서의 예를, 도 10에 도시하는 흐름도(A11∼A15)에 따라서 설명한다.
또한, 이하의 설명에서는, "RF 카운터"는 RF 카운터(48)의 값을 나타내는 변수이고, "RF 주기"는 리프레시 주기로서 RF 카운터(48)의 상한값을 나타내는 변수이다. 즉 "RF 카운터"의 값이 "RF 주기"의 값에 도달하면 리프레시가 행해진다. 또한 "RF 최대값"은 통상 리프레시 모드의 리프레시 주기 "CN1"로서 RF 카운터(48)의 최대 허용값을 나타내는 상수이고, "RF 주기"="RF 최대값"일 때 통상 리프레시 모드의 리프레시 주기(에러 미발생시의 리프레시 주기)로 리프레시가 행해진다.
정보 처리 장치(10)가 파워 온되면, "RF 주기"에 "RF 최대값"의 값이 설정되고(단계 A11), "RF 카운터"의 값이 리셋된다(단계 A12).
또한, "RF 카운터"에 값 "1(1 Step)"이 미리 정해진 간격으로 순차 가산되고(단계 A13), "RF 카운터"의 값과 "RF 주기"의 값의 비교가 행해지며(단계 A14), 이 가산하는 처리가, "RF 카운터"의 값이 "RF 주기"의 값에 도달할 때까지 반복하여 행해진다(단계 A14의 "NO" 루트 참조).
그리고, "RF 카운터"의 값이 "RF 주기"의 값에 도달하면(단계 A14의 "YES" 루트 참조), 메모리(11)의 리프레시가 행해진 후에(단계 A15), 단계 A12에 복귀하여, 전술한 단계 A12∼단계 A15의 처리가 반복하여 행해진다.
이것에 의해, 메모리(11)의 리프레시가 정기적으로 행해지는 것이다.
다음에, 전술과 같이 구성된 본 발명의 일 실시형태에 따른 메모리 리프레시 회로(10)의 메모리 제어부(12)에 의해 통상 패트롤 동작을 제어하는 구체적인 처리 순서를, 도 11에 도시하는 흐름도(단계 B11∼B17)에 따라서 설명한다.
또한, 이하의 설명에서는, "전체 PT 카운터"는, 전체 PT 카운터의 값을 나타내는 변수이고, "통상 감시 간격"은 통상 감시 간격 "IP1"로서 전체 PT 카운터의 상한값을 나타내는 상수이다.
메모리 제어부(12)는 후술하는 초기화 처리를 실행하고(단계 B11), "전체 PT 카운터"의 값을 리셋한다(단계 B12).
메모리 제어부(12)는 "전체 PT 카운터"에 값 "1(1 Step)"을 순차 가산하고(단계 B13), "전체 PT 카운터"의 값과 "통상 감시 간격"의 값의 비교를 순차 행하는 것에 의해(단계 B14), 이 가산하는 처리를 "전체 PT 카운터"의 값이 "통상 감시 간격"의 값에 도달할 때까지 반복하여 행한다(단계 B14의 "NO" 루트 참조).
"전체 PT 카운터"의 값이 미리 설정된 "통상 감시 간격"의 값에 도달하면(단계 B14의 "YES" 루트 참조), 메모리 제어부(12)는 통상 패트롤 동작을 제어한다(단계 B15; 통상 패트롤 제어 단계).
통상 패트롤 동작에서 에러를 검출한 경우에는(단계 B16의 "YES" 루트 참조), 후술하는 리프레시 주기 단축 모드의 처리가 시작되고(단계 B17), 단계 B11에 복귀된다.
한편, 통상 패트롤 동작에서 에러를 검출하지 않은 경우에는(단계 B16의 "NO" 루트 참조), 단계 B12에 복귀한다.
그리고, 메모리 제어부(12)는, 전술한 단계 B11∼단계 B17의 처리를 반복하여 행한다.
이것에 의해, 미리 설정된 통상 감시 간격으로, 메모리(11) 전체에 대하여 통상 패트롤 동작이 실행되는 것이다.
다음에, 전술과 같이 구성된 본 발명의 일 실시형태에 따른 메모리 리프레시 회로(10)에 있어서 초기화 처리를 행하는 순서를, 도 12에 도시하는 흐름도(단계 C11∼C14)에 따라서 설명한다.
또한, 이하의 설명에서는, 상기와 마찬가지로, "RF 주기" 및 "RF 최대값"을 나타내고, "RF 최소값"은 리프레시 주기 단축 모드의 리프레시 주기로서 RF 카운터(48)의 최소 허용값을 나타내는 변수이며, "RF 주기"="RF 최소값"일 때에 리프레시 주기 단축 모드의 리프레시 주기로 리프레시가 행해진다. 또한 "이전 ER 빈도"는 계측부(15)에 의해 이전회 계측된 에러 빈도(한바퀴 돌기 전의 루프로 계산된 에러 빈도)를 나타내는 변수이다. 또한 "추가 감시 간격"은 추가 감시 간격으로서 추가 PT 카운터의 상한값을 나타내는 변수이다.
우선, "RF 주기"에 "RF 최대값"이 설정되고(단계 C11), "RF 최소값"에 디폴트값이 설정된다(단계 C12).
또한, "추가 감시 간격"에 디폴트값이 설정되고(단계 C13), "이전 ER 빈도"에 "0"이 설정되어(단계 C14), 처리를 종료한다.
다음에, 전술과 같이 구성된 본 발명의 일 실시형태에 따른 메모리 리프레시 회로(10)의 메모리 제어부(12)에 의해 추가 패트롤 동작을 제어하는 구체적인 처리 순서를, 도 13에 도시하는 흐름도(단계 D11∼D19)에 따라서 설명한다.
또한, 이하의 설명에서는, 상기 마찬가지로, "추가 감시 간격"을 나타내고, "추가 PT 카운터"는 추가 PT 카운터의 값을 나타내는 변수이며, "PT 횟수 카운터"는 PT 횟수 카운터의 값을 나타내는 변수이다. 또한 "에러수"는 메모리 제어부(12)에 의해 에러 발생 어드레스의 에러를 검출한 횟수(에러 어드레스에의 패트롤 리드에 의해 에러가 검출된 횟수)를 나타내는 변수이고, "PT 임계값"은 리프레시 주기의 조정 처리를 행하는 시간 간격으로서 PT 횟수 카운터를 나타내는 상수이다.
메모리 제어부(12)는 "에러수"의 값을 리셋하고(단계 D11), "추가 PT 카운터"의 값을 리셋한다(단계 D12).
메모리 제어부(12)는 "추가 PT 카운터"에 값 "1(1 Step)"을 순차 가산(인크리먼트)하고(단계 D13), "추가 PT 카운터"의 값과 "추가 감시 간격"의 값을 순차 비교하는 것에 의해(단계 D14), 이 가산하는 처리를 "추가 PT 카운터"의 값이 "추가 감시 간격"의 값에 도달할 때까지 반복하여 행한다(단계 D14의 "NO" 루트 참조).
"추가 PT 카운터"의 값이 "추가 감시 간격"의 값 이상이 되면(단계 D14의 "YES" 루트 참조), 메모리 제어부(12)는 추가 패트롤 동작을 제어한다(단계 D15; 추가 패트롤 제어 단계).
추가 패트롤 동작에서 에러를 검출하여(단계 D16), 추가 패트롤 동작에서 에러를 검출한 경우에는(단계 D16의 "YES" 루트 참조), 메모리 제어부(12)는 "에러수"에 값 "1"을 가산하며(단계 D17), "PT 횟수 카운터"에 값 "1(1 Step)"을 가산한다(단계 D18).
한편, 추가 패트롤 동작에서 에러를 검출하지 않은 경우에는(단계 D16의 "NO" 루트 참조), 단계 D18로 이행한다.
메모리 제어부(12)는 "PT 횟수 카운터"의 값과 "PT 임계값"의 값을 비교하여(단계 D19), "PT 횟수 카운터"의 값이 "PT 임계값"의 값 이상인 경우에는(단계 D19의 "YES" 루트 참조), 처리를 종료한다.
한편, "PT 횟수 카운터"의 값이 "PT 임계값"의 값 미만인 경우에는(단계 D19의 "NO" 루트 참조), 단계 D12에 복귀한다.
그리고, "PT 횟수 카운터"의 값이 "PT 임계값"의 값 이상이 될 때까지, 전술한 단계 D12∼단계 D19의 처리를 반복하여 행한다.
이것에 의해, 통상 감시 간격보다 충분히 짧은 간격으로, 에러 발생 어드레스에 대하여 추가 패트롤 동작이 실행되는 것이다.
다음에, 전술과 같이 구성된 본 발명의 일 실시형태에 따른 메모리 리프레시 회로(10)의 리프레시 주기 조정부(26)에 의해 리프레시 주기를 조정하는 구체적인 처리 순서를, 도 5 및 도 6을 참조하면서, 도 14에 도시하는 흐름도(단계 E11∼E19)에 따라서 설명한다.
또한, 이하의 설명에서는, 상기 마찬가지로, "에러수", "PT 임계값", "RF 주기", "RF 최대값", "이전 ER 빈도" 및 "RF 최소값"을 나타내고, "ER 빈도"는 계측부(15)에 의해서 계측된 에러 빈도(에러의 발생 비율)를 나타내는 변수이다. 또한 "ER 임계값"은 리프레시 주기를 단축할지의 여부를 판단하는 임계값 "TH"(도 5 및 도 6 참조)를 나타내는 상수이고, "ER 빈도">"ER 임계값"일 때에 리프레시 주기가 단축된다.
계측부(15)는, 추가 패트롤 동작이 실행되어 있는 상태에서(단계 E11), "에러수"의 값을 "PT 임계값"의 값으로 제산하여 "ER 빈도"를 산출한다(단계 E12; 계측 단계).
리프레시 주기 조정부(26)는 "ER 빈도"의 값과 "ER 임계값"의 값[도 5(a) 및 도 6(a)의 부호 "TH" 참조]을 비교한다(단계 E13).
비교 결과, "ER 빈도"의 값이 "ER 임계값"의 값 이상인 경우에는[단계 E13의 "NO" 루트 참조; 도 5(a)의 시간 "T2" 및 도 6(a)의 시간 "T5"∼"T6" 참조], 리프레시 주기 조정부(26)는 "ER 빈도"의 값이 "이전 ER 빈도"의 값과 동일한지의 여부를 판정한다(단계 E14).
"ER 빈도"의 값이 "이전 ER 빈도"의 값과 상이한 경우에는[단계 E14의 "NO" 루트 참조; 도 5(a)의 시간 "T1"∼"T3" 참조], 리프레시 주기 조정부(26)는 "RF 주기"의 값이 "RF 최소값"의 값과 동일한지의 여부를 판정한다(단계 E15).
"RF 주기"의 값이 "RF 최소값"의 값과 상이한 경우에는[단계 E15의 "NO" 루트 참조; 도 5(b)의 시간 "T2"∼"T3" 및 도 6(b)의 시간 "T5"∼"T8" 참조], 리프레시 주기 조정부(26)는 "RF 주기"로부터 값 "1[1 Step; 도 3(b) 및 도 4(b)의 시간 "t" 참조]"을 감산(디크리먼트)하고(단계 E16; 리프레시 주기 조정 단계), "이전 ER 빈도"를 "ER 빈도"로 설정하며(단계 E17), 단계 E11에 복귀한다.
"RF 주기"의 값이 "RF 최소값"의 값과 동일한 경우에는(단계 E15의 "YES" 루트 참조), 단계 E17로 이행한다.
"ER 빈도"의 값이 "이전 ER 빈도"의 값과 동일한 경우에는(단계 E14의 "YES" 루트 참조; 도 5(a)의 시간 "T4" 이후 참조), 단계 E17로 이행한다.
한편, "ER 빈도"의 값이 "ER 임계값"의 값 미만인 경우에는[단계 E13의 "YES" 루트 참조; 도 6(a)의 시간 "T6" 이후 참조], 리프레시 주기 조정부(26)는, "RF 주기"의 값과 "RF 최대값"의 값을 비교한다(단계 E18).
"RF 주기"의 값이 "RF 최대값"의 값 미만인 경우에는[단계 E18의 "NO" 루트 참조; 도 6(b)의 시간 "T7"∼"T8" 참조], 리프레시 주기 조정부(26)는, "RF 주기"에 값 "1(1 Step)"을 가산하고(단계 E19; 리프레시 주기 조정 단계), 단계 E17로 이행한다.
"RF 주기"의 값이 "RF 최대값"의 값 이상인 경우에는[단계 E18의 "YES" 루트 참조; 도 6(b)의 시간 "T8" 이후 참조], 처리를 종료한다.
즉, 리프레시 주기 조정부(26)는 도 14에 도시하는 처리를 실행함으로써, 표1에 나타내는 제어를 행하도록 되어 있다.
[표 1]
Figure 112010002802715-pct00001
이것에 의해, 에러 빈도에 맞춰 리프레시 주기가 조정되는 것이다.
다음에, 전술과 같이 구성된 본 발명의 일 실시형태에 따른 메모리 리프레시 회로(10)의 감시 간격 변경부(27)에서 추가 감시 간격을 변경하는 구체적인 처리 순서를, 도 7을 참조하면서, 도 15에 도시하는 흐름도(단계 F11∼F29)에 따라서 설명한다.
또한, 이하의 설명에서는, 상기와 마찬가지로, "에러수", "PT 임계값", "RF 주기", "RF 최대값", "이전 ER 빈도", "RF 최소값", "통상 감시 간격", "추가 감시 간격" 및 "ER 임계값"을 나타내고, "수속 임계값"은 수속 카운터의 상한값을 나타내는 상수이다. 또한 "단간격"은 추가 감시 간격의 디폴트값 "IP2"를 나타내는 상수이고, "장간격"은 단간격 "IP2"보다 긴 간격 "IP3"을 추가 감시 간격으로서 나타내는 상수이다.
감시 간격 변경부(27)는 "추가 감시 간격"에 "단간격"의 값[도 7(a)의 시간 "P2" 참조)을 설정한다(단계 F11).
그리고, 계측부(15)는 추가 패트롤 동작이 실행되어 있는 상태로(단계 F12; 도 7의 시간 "T8" 이후 참조), "에러수"의 값을 "PT 임계값"의 값으로 제산하여 "에러 빈도"를 산출하고(단계 F13), 리프레시 주기 조정부(26)는 "ER 빈도"의 값과 "ER 임계값"의 값을 비교한다(단계 F14).
비교의 결과, "ER 빈도"의 값이 "ER 임계값"의 값 이상인 경우에는(단계 F14의 "NO" 루트 참조), 리프레시 주기 조정부(26)는 "ER 빈도"의 값이 "이전 ER 빈도"의 값과 동일한지의 여부를 판정한다(단계 F15).
"ER 빈도"의 값이 "이전 ER 빈도"의 값과 상이한 경우에는(단계 F15의 "NO" 루트 참조), 리프레시 주기 조정부(26)는 "RF 주기"의 값이 "RF 최소값"의 값과 동일한지의 여부를 판정한다(단계 F16).
"RF 주기"의 값이 "RF 하한값"의 값과 상이한 경우에는[단계 F16의 "NO" 루트 참조; 도 7(b)의 시간 "T9"∼"T10" 참조], 리프레시 주기 조정부(26)는 "RF 주기"로부터 값 "1(1 Step)"을 감산한다(단계 F17).
그리고, 감시 간격 변경부(27)는 "수속 카운터"의 값을 리셋하고(단계 F18), "추가 감시 간격"에 "단간격"의 값을 설정한 후에(단계 F19), 리프레시 주기 조정부(26)가 "이전 ER 빈도"에 "ER 빈도"의 값을 설정하며(단계 F20), 단계 F12에 복귀한다.
"RF 주기"의 값이 "RF 최소값"의 값[도 7(b)의 부호 "NL3" 참조]과 동일한 경우에는[단계 F16의 "YES" 루트 참조; 도 7(b)의 시간 "T10"∼"T11" 참조], 감시 간격 변경부(27)는 "수속 카운터"의 값을 리셋하고(단계 F21), "추가 감시 간격"에 "단간격"의 값을 설정하며(단계 F22), 단계 F20으로 이행한다.
"ER 빈도"의 값이 "이전 ER 빈도"의 값과 동일한 경우에는(단계 F15의 "YES" 루트 참조), 감시 간격 변경부(27)는 "수속 카운터"에 값 "1(1 Step)"을 가산하고(단계 F23), "수속 카운터"의 값과 "수속 임계값"의 값을 비교한다(단계 F24).
"수속 카운터"의 값이 "수속 임계값"의 값 이상인 경우에는(단계 F24의 "YES" 루트 참조), 감시 간격 변경부(27)는 "추가 감시 간격"의 값을 "장간격"의 값[도 7(a)의 부호 "P3" 참조]으로 설정하고[단계 F25; 도 7(a)의 시간 "T11" 이후 참조; 감시 간격 변경 단계], 단계 F20으로 이행한다.
"수속 카운터"의 값이 "수속 임계값"의 값 미만인 경우에는(단계 F24의 "NO" 루트 참조), 단계 F20으로 이행한다.
한편, "ER 빈도"의 값이 "ER 임계값"의 값 미만인 경우에는(단계 F14의 "YES" 루트 참조), 리프레시 주기 조정부(26)는 "RF 주기"의 값과 "RF 최대값"의 값을 비교한다(단계 F26).
"RF 주기"의 값이 "RF 최대값"의 값 미만인 경우에는(단계 F26의 "NO" 루트 참조), 리프레시 주기 조정부(26)는 "RF 주기"에 값 "1(1 Step)"을 가산한다(단계 F27).
그리고, 감시 간격 변경부(27)는 "수속 카운터"의 값을 리셋하고(단계 F28), "추가 감시 간격"의 값을 "단간격"의 값으로 설정하여(단계 F29), 단계 F20으로 이행한다.
"RF 주기"의 값이 "RF 최대값"의 값 이상인 경우에는(단계 F26의 "YES" 루트 참조), 처리를 종료한다.
이것에 의해, 단축된 리프레시 주기가 일정값에 수속된 경우에 추가 감시 간격을 연장하는 것이다.
다음에, 전술과 같이 구성된 본 발명의 일 실시형태에 따른 메모리 리프레시 회로(10)의 하한값 산출부(21)에 의해 하한값을 산출하는 구체적인 처리 순서를, 메모리(11)의 온도에 기초하여 산출하는 경우를 예로, 도 8을 참조하면서, 도 16에 도시하는 흐름도(단계 G11∼G25)에 따라서 설명한다.
또한, 이하의 설명에서는, 상기와 마찬가지로, "에러수", "PT 임계값", "RF 주기", "RF 최대값", "이전 ER 빈도", "RF 최소값" 및 "ER 임계값"을 나타내고, "온도"는 온도 센서(19)에 의해 계측되는 온도를 나타내는 변수이며, "온도 임계값"은 시스템이 정상이라고 판단하는 온도의 상한값을 나타내는 상수이다.
계측부(15)는, 추가 패트롤 동작이 실행되어 있는 상태로(단계 G11), "에러수"의 값을 "PT 임계값"의 값으로 제산하여 "에러 빈도"를 산출한다(단계 G12).
하한값 산출부(21)는 온도 센서(19)에 기초하여 온도의 계측을 실행하고(단계 G13), "온도"의 값과 "온도 임계값"의 값을 비교한다(단계 G14).
"온도"의 값이 "온도 임계값"의 값보다 큰 경우에는(단계 G14의 "YES" 루트 참조), 하한값 산출부(21)는 "RF 최소값"에 값 "1[1 Step; 도 8(b)의 부호 "n" 참조]"을 가산하고(단계 G15), 단계 G18로 이행한다.
"온도"의 값이 "온도 임계값"의 값 이하인 경우에는(단계 G14의 "NO" 루트 참조), 하한값 산출부(21)는, "RF 최소값"의 값이 디폴트값인지의 여부를 판단한다(단계 G16). "RF 최소값"의 값이 디폴트값인 경우에는(단계 G16의 "YES" 루트 참조), 단계 G18로 이행한다.
"RF 최소값"의 값이 디폴트값이 아닌 경우에는(단계 G16의 "NO" 루트 참조), 하한값 산출부(21)는 "RF 최소값"에서 값 "1(1 Step)"을 감산하고(단계 G17), 단계 G18로 이행한다.
그리고, 리프레시 주기 조정부(26)는 "ER 빈도"의 값과 "ER 임계값"의 값[도 8(a)의 부호 "TH" 참조]을 비교한다(단계 G18).
비교의 결과, "ER 빈도"의 값이 "ER 임계값"의 값 이상인 경우에는(단계 G18의 "NO" 루트 참조; 도 8(a) 참조], 리프레시 주기 조정부(26)는 "ER 빈도"의 값이 "이전 ER 빈도"의 값과 동일한지의 여부를 판정한다(단계 G19).
"ER 빈도"의 값이 "이전 ER 빈도"의 값과 상이한 경우에는(단계 G19의 "NO" 루트 참조), 리프레시 주기 조정부(26)는 "RF 주기"의 값이 "RF 최소값"의 값과 동일한지의 여부를 판정한다(단계 G20).
"RF 주기"의 값이 "RF 최소값"의 값과 상이한 경우에는(단계 G20의 "NO" 루트 참조), "RF 주기"로부터 값 "1(1 Step)"을 감산하고(단계 G21), "이전 ER 빈도"의 값을 "ER 빈도"의 값으로 설정하며(단계 G22), 단계 G11에 복귀한다.
"RF 주기"의 값이 "RF 최소값"의 값과 동일인 경우에는(단계 G20의 "YES" 루트 참조), 리프레시 주기 조정부(26)는 "RF 주기"의 값을 "RF 최소값"의 값으로 설정하고(단계 G23), 단계 G22로 이행한다.
"ER 빈도"의 값이 "이전 ER 빈도"의 값과 동일한 경우에는(단계 G19의 "YES" 루트 참조; 도 8 (a) 참조], 단계 G22로 이행한다.
한편, "ER 빈도"의 값이 "ER 임계값"의 값 미만인 경우에는(단계 G18의 "YES" 루트 참조), 리프레시 주기 조정부(26)는 "RF 주기"의 값과 "RF 최대값"의 값을 비교한다(단계 G24).
"RF 주기"의 값이 "RF 최대값"의 값 미만인 경우에는(단계 G24의 "NO" 루트 참조), 리프레시 주기 조정부(26)는 "RF 주기"에 값 "1(1 Step)"을 가산하고(단계 G25), 단계 G22로 이행한다.
"RF 주기"의 값이 "RF 최대값"의 값 이상인 경우에는(단계 G24의 "YES" 루트 참조), 처리를 종료한다.
이것에 의해, 과잉의 리프레시를 방지하고, 과잉의 리프레시에 의해 메모리(11)의 동작에 부여하는 악영향을 억제할 수 있는 것이다.
다음에, 전술한 바와 같이 구성된 본 발명의 일 실시형태에 따른 메모리 리프레시 회로(10)의 단축 종료 요구부(23)에서 타이머 임계값을 경과한 경우의 구체적인 처리 순서를, 도 9를 참조하면서, 도 17에 도시하는 흐름도(단계 H11∼H22)에 따라서 설명한다.
또한, 이하의 설명에서는, 상기 마찬가지로, "에러수", "PT 임계값", "RF 주기", "RF 최대값", "이전 ER 빈도", "RF 최소값" 및 "ER 임계값"을 나타내고, "경과 시간"은 타이머(22)의 시간을 나타내는 변수이며, "타이머 임계값"은 타임아웃으로서 제어를 종료하기 위한 상한값 "X"[도 9(b) 참조]를 나타내는 상수이다.
타이머(22)는 "경과 시간"의 값과 "타이머 임계값"의 값[도 9(b)의 부호 "X" 참조]을 비교한다(단계 H11).
"경과 시간"의 값이 "타이머 임계값"의 값 이상인 경우에는(단계 H11의 "YES" 루트 참조; 도 9의 시간 "T19" 이후 참조), 단축 종료 요구부(23)는 조정 처리를 종료한 취지를 메모리 에러로서 시스템(정보 처리 장치; 도시 생략)에 통지하고(단계 H12), 리프레시 주기 조정부(26)에 대하여 단축 종료 요구를 통지하여(단계 H13), 처리를 종료한다.
"경과 시간"의 값이 "타이머 임계값"의 값 미만인 경우에는[단계 H11의 "NO" 루트 참조; 도 9(b)의 시간 "T16"∼"T19" 참조], 계측부(15)는 추가 패트롤 동작이 실행되어 있는 상태로(단계 H14), "에러수"의 값을 "PT 임계값"의 값으로 제산하여 "에러 빈도"를 산출한다(단계 H15).
리프레시 주기 조정부(26)는 "ER 빈도"의 값과 "ER 임계값"의 값[도 9(a)의 부호 "TH" 참조]을 비교한다(단계 H16).
비교 결과, "ER 빈도"의 값이 "ER 임계값"의 값 이상인 경우에는[단계 H16의 "NO" 루트 참조; 도 9(a)의 시간 "T17" 이후 참조], 리프레시 주기 조정부(26)는 "ER 빈도"의 값이 "이전 ER 빈도"의 값과 동일한지의 여부를 판정한다(단계 H17).
"ER 빈도"의 값이 "이전 ER 빈도"의 값과 상이한 경우에는[단계 H17의 "NO" 루트 참조; 도 9(b)의 시간 "T16"∼"T19" 참조], 리프레시 주기 조정부(26)는 "RF 주기"의 값이 "RF 최소값"의 값[도 9(b)의 부호 "NL3" 참조]과 동일한지의 여부를 판정한다(단계 H18).
"RF 주기"의 값이 "RF 최소값"의 값과 상이한 경우에는[단계 H18의 "NO" 루트 참조; 도 9(b)의 시간 "T16"∼"T19" 참조], "RF 주기"로부터 값 "1(1 Step)"을 감산하고(단계 H19), "이전 ER 빈도"를 "ER 빈도"로 설정하여(단계 H20), 단계 H11에 복귀한다.
"RF 주기"의 값이 "RF 최소값"의 값과 동일한 경우에는[단계 H18의 "YES" 루트 참조; 도 9(b)의 시간 "T18"∼"T19" 참조], 단계 H20으로 이행한다.
"ER 빈도"의 값이 "이전 ER 빈도"의 값과 동일한 경우에는(단계 H17의 "YES" 루트 참조), 단계 H20으로 이행한다.
한편, "ER 빈도"의 값이 "ER 임계값"의 값 미만인 경우에는(단계 H16의 "YES" 루트 참조), 리프레시 주기 조정부(26)는 "RF 주기"의 값과 "RF 최대값"의 값을 비교한다(단계 H21).
"RF 주기"의 값이 "RF 최대값"의 값 미만인 경우에는(단계 H21의 "NO" 루트 참조), 리프레시 주기 조정부(26)는 "RF 주기"에 값 "1(1 Step)"을 가산하고(단계 H22), 단계 H20으로 이행한다.
"RF 주기"의 값이 "RF 최대값"의 값 이상인 경우에는(단계 H21의 "YES" 루트 참조), 처리를 종료한다.
이것에 의해, 리프레시 주기를 단축하여 장시간이 경과하여도 에러가 해소되지 않는 경우에, 리프레시 주기의 조정 처리를 강제적으로 해제할 수 있는 것이다.
이와 같이, 본 발명의 일 실시형태로서의 메모리 리프레시 회로(10)에 의하면, 메모리(11)의 패트롤을 행하는 통상 패트롤 동작을 제어하고, 통상 패트롤 동작에서 메모리(11)의 에러를 검출한 경우에, 에러 발생 어드레스의 패트롤을 행하는 추가 패트롤 동작을 제어함으로써, 에러의 검출 기구가 효율화된다. 또한 추가 패트롤 동작에서 에러 발생 어드레스의 에러를 검출한 경우에, 이 에러 발생 어드레스에서의 에러 빈도에 따라서 리프레시 주기를 조정함으로써, 메모리(11) 전체에 대하여 패트롤을 행하는 경우에 비해 짧은 간격으로, 에러의 발생 상태에 맞춘 리프레시 주기의 최적화를 행할 수 있어, 시스템의 동작 환경이 일시적으로 변화되는 경우의 응답성을 향상시킬 수 있다.
또한, 계측부(15)에 의해 계측된 에러 빈도가 커진 경우에, 리프레시 주기를 단계적으로 단축하고, 계측부(15)에 의해 계측된 에러 빈도가 작아진 경우에, 리프레시 주기를 단계적으로 연장함으로써, 에러 빈도의 변화에 맞춘 리프레시 주기의 조정 처리를 짧은 간격으로 조금씩 행하기 때문에, 에러 빈도의 변화가 작은 경우에 조정의 정도를 작게 억제할 수 있다. 따라서, 메모리(11)에서의 에러의 발생 상태에 맞춘 리프레시 주기의 최적화를 보다 효율적으로 행할 수 있다.
또한, 하한값 산출부(21)가 메모리(11)의 온도에 기초하여 하한값을 변경함으로써, 에러 빈도에만 의한 제어로는 방지할 수 없는 과잉의 리프레시를 방지하고, 과잉의 리프레시에 의해 메모리(11)의 동작에 부여하는 악영향을 억제할 수 있다.
또한, 하한값 산출부(21)가 메모리(11)의 액세스 빈도에 기초하여 하한값을 변경함으로써, 에러 빈도에만 의한 제어로는 방지할 수 없는 과잉의 리프레시를 방지하고, 리드/라이트(read/write) 액세스의 저해에 의해 메모리(11)의 동작에 부여하는 악영향을 억제할 수 있다.
또한, 통상 패트롤 동작에서 메모리(11)의 에러를 검출한 후의 경과 시간이 타이머 임계값을 초과한 경우에, 통상 리프레시 모드의 리프레시 주기로 강제적으로 복귀시키는 것에 의해, 개선 불가능한 에러에 대하여 리프레시 주기의 조정 처리를 행하지 않게 되어, 쓸데없는 리프레시를 계속하는 것을 방지할 수 있다.
또한, 계측부(15)에 의해 계측된 에러 빈도가 일정해진 경우에, 추가 감시 간격을 연장함으로써, 불필요한 패트롤을 삭감할 수 있다. 또한 리프레시 주기를 조제할 때에 추가 감시 간격도 맞춰 조정함으로써, 에러 검출 기구의 효율화를 도모할 수 있다.
〔2〕그 외
또한, 본 발명은 전술한 실시형태에 한정되는 것이 아니라, 본 발명의 취지를 일탈하지 않는 범위에서 여러 가지 변형하여 실시할 수 있다.
예컨대, 상기 실시형태에서는, 계측부(15)가 에러 발생 지점에서의 미리 정해진 시간당 에러수를 에러 빈도로서 계측하고 있지만, 그것에 한정되는 것이 아니라, 추가 패트롤 제어부(25)에 의한 추가 패트롤 동작에서 복수의 에러 발생 어드레스를 검출한 경우에, 계측부(15)가 에러 발생 지점의 수를 에러 빈도로서 계측하여도 좋다. 이것에 의해, 일정 시간의 에러수를 카운트하는 경우와 같이 일정 시간의 경과를 대기하지 않고 단시간에 계측할 수 있다.
또한, 상기 실시형태에서는, ECC 회로(14)로서 단일 오류 정정 이중 오류 부호를 이용하고 있지만, 그것에 한정되는 것이 아니라, 검출 정정 능력을 갖는 오류 검출 정정 부호를 이용하여도 좋다.
또한, 상기 실시형태에서는, 하한값 산출부(21), 단축 종료 요구부(23) 및 감시 간격 변경부(27)를 구비하여 구성하고 있지만, 그것에 한정되는 것이 아니라, 반드시 이들을 전부 구비하고 있지 않아도 좋다.
또한, 본 발명의 각 실시형태가 개시되어 있으면, 본 발명을 당업자에 의해 실시·제조하는 것이 가능하다.
(산업상 이용가능성)
리프레시 동작을 필요로 하는 각종 메모리 디바이스에 적용할 수 있다.
10: 메모리 리프레시 회로 11: 메모리
12: 메모리 제어부 13: 외부 인터페이스부
14: ECC 회로 15: 계측부
16: 리프레시 요구 발생부 17: 패트롤 제어부,
18: 조정 제어부 19: 온도 센서
20: 액세스 카운터 21: 하한값 산출부
22: 타이머 23: 단축 종료 요구부
24: 통상 패트롤 제어부 25: 추가 패트롤 제어부
26: 리프레시 주기 조정부 27: 감시 간격 변경부
34-1∼34-4: 메모리셀 어레이 36-1∼36-4: 행 디코더
38-1∼38-4: 열 디코더 40-1∼40-4: 센스 앰프
42: 어드레스 버퍼 44: I/O 버퍼
46: 컨트롤 로직 48: RF 카운터
50: 어드레스 버스 52: 데이터 버스
54: 제어 커맨드선 60-1∼60-4: 통상 패트롤 트리거 신호
64: 검출 통지 66-1∼66-N: 추가 패트롤 트리거 신호

Claims (20)

  1. 리프레시 주기에 맞춰 메모리의 리프레시를 행하는 메모리 리프레시 장치로서,
    상기 메모리의 패트롤을 행하는 통상 패트롤 동작을 제어하는 통상 패트롤 제어부와,
    상기 통상 패트롤 제어부에 의한 상기 통상 패트롤 동작에서 상기 메모리의 에러를 검출한 경우에, 상기 에러가 발생한 에러 발생 지점의 패트롤을 행하는 추가 패트롤 동작을 제어하는 추가 패트롤 제어부와,
    상기 추가 패트롤 제어부에 의한 상기 추가 패트롤 동작에서 상기 에러 발생 지점의 에러를 검출한 경우에, 상기 에러 발생 지점의 에러에 관한 정보를 에러 빈도로서 계측하는 계측부와,
    상기 계측부에 의해 계측된 상기 에러 빈도에 따라서, 상기 리프레시 주기를 조정하는 리프레시 주기 조정부
    를 포함하는 것을 특징으로 하는 메모리 리프레시 장치.
  2. 제1항에 있어서,
    상기 리프레시 주기 조정부는, 상기 계측부에 의해 계측된 상기 에러 빈도가 커진 경우에, 상기 리프레시 주기를 단계적으로 단축하고, 상기 계측부에 의해 계측된 상기 에러 빈도가 작아진 경우에, 상기 리프레시 주기를 단계적으로 연장하는 것을 특징으로 하는 메모리 리프레시 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 계측부는, 상기 에러 발생 지점에서의 미리 정해진 시간당 에러수를 상기 에러 빈도로서 계측하는 것을 특징으로 하는 메모리 리프레시 장치.
  4. 제1항 또는 제2항에 있어서,
    상기 계측부는, 상기 추가 패트롤 제어부에 의한 상기 추가 패트롤 동작에서 복수의 에러 발생 지점을 검출한 경우에, 상기 에러 발생 지점의 수를 상기 에러 빈도로서 계측하는 것을 특징으로 하는 메모리 리프레시 장치.
  5. 제1항 또는 제2항에 있어서,
    상기 리프레시 주기 조정부는, 미리 설정된 하한값 이상으로 상기 리프레시 주기를 조정하는 것을 특징으로 하는 메모리 리프레시 장치.
  6. 제5항에 있어서,
    상기 리프레시 주기 조정부는, 상기 메모리에의 액세스 빈도에 기초하여, 상기 하한값을 변경하는 것을 특징으로 하는 메모리 리프레시 장치.
  7. 제5항에 있어서,
    상기 리프레시 주기 조정부는, 상기 메모리의 온도인 메모리 온도에 기초하여, 상기 하한값을 변경하는 것을 특징으로 하는 메모리 리프레시 장치.
  8. 제5항에 있어서,
    상기 리프레시 주기 조정부는, 상기 통상 패트롤 제어부에 의한 상기 통상 패트롤 동작에서 상기 메모리의 에러를 검출한 후의 경과 시간이 미리 정해진 시간을 초과한 경우에, 상기 리프레시 주기를 기정(旣定)값으로 복귀시키는 것을 특징으로 하는 메모리 리프레시 장치.
  9. 제1항 또는 제2항에 있어서,
    상기 리프레시 주기 조정부에 의해 조정된 상기 리프레시 주기에 기초하여, 상기 추가 패트롤 동작의 감시 간격을 변경하는 감시 간격 변경부를 포함하는 것을 특징으로 하는 메모리 리프레시 장치.
  10. 제9항에 있어서,
    상기 감시 간격 변경부는, 상기 계측부에 의해 계측된 상기 에러 빈도가 일정해진 경우에, 상기 감시 간격을 연장하는 것을 특징으로 하는 메모리 리프레시 장치.
  11. 리프레시 주기에 맞춰 메모리의 리프레시를 행하는 메모리 리프레시 방법으로서,
    상기 메모리의 패트롤을 행하는 통상 패트롤 동작을 제어하는 통상 패트롤 제어 단계와,
    상기 통상 패트롤 제어 단계에 의한 상기 통상 패트롤 동작에서 상기 메모리의 에러를 검출한 경우에, 상기 에러가 발생한 에러 발생 지점의 패트롤을 행하는 추가 패트롤 동작을 제어하는 추가 패트롤 제어 단계와,
    상기 추가 패트롤 제어 단계에 의한 상기 추가 패트롤 동작에서 상기 에러 발생 지점의 에러를 검출한 경우에, 상기 에러 발생 지점의 에러에 관한 정보를 에러 빈도로서 계측하는 계측 단계와,
    상기 계측 단계에서 계측된 상기 에러 빈도에 따라서, 상기 리프레시 주기를 조정하는 리프레시 주기 조정 단계
    를 포함하는 것을 특징으로 하는 메모리 리프레시 방법.
  12. 제11항에 있어서,
    상기 리프레시 주기 조정 단계에 있어서, 상기 계측 단계에서 계측된 상기 에러 빈도가 커진 경우에, 상기 리프레시 주기를 단계적으로 단축하고, 상기 계측 단계에서 계측된 상기 에러 빈도가 작아진 경우에, 상기 리프레시 주기를 단계적으로 연장하는 것을 특징으로 하는 메모리 리프레시 방법.
  13. 제11항 또는 제12항에 있어서,
    상기 계측 단계에 있어서, 상기 에러 발생 지점에서의 미리 정해진 시간당 에러수를 상기 에러 빈도로서 계측하는 것을 특징으로 하는 메모리 리프레시 방법.
  14. 제11항 또는 제12항에 있어서,
    상기 계측 단계에서, 상기 추가 패트롤 제어 단계에 의한 상기 추가 패트롤 동작에서 복수의 에러 발생 지점을 검출한 경우에, 상기 에러 발생 지점의 수를 상기 에러 빈도로서 계측하는 것을 특징으로 하는 메모리 리프레시 방법.
  15. 제11항 또는 제12항에 있어서,
    상기 리프레시 주기 조정 단계에서, 미리 설정된 하한값 이상으로 상기 리프레시 주기를 조정하는 것을 특징으로 하는 메모리 리프레시 방법.
  16. 제15항에 있어서,
    상기 리프레시 주기 조정 단계에서, 상기 메모리에의 액세스 빈도에 기초하여, 상기 하한값을 변경하는 것을 특징으로 하는 메모리 리프레시 방법.
  17. 제15항에 있어서,
    상기 리프레시 주기 조정 단계에서, 상기 메모리의 온도인 메모리 온도에 기초하여, 상기 하한값을 변경하는 것을 특징으로 하는 메모리 리프레시 방법.
  18. 제15항에 있어서,
    상기 리프레시 주기 조정 단계에서, 상기 통상 패트롤 제어 단계에 의한 상기 통상 패트롤 동작에서 상기 메모리의 에러를 검출한 후의 경과 시간이 미리 정해진 시간을 초과한 경우에, 상기 리프레시 주기를 기정값으로 복귀시키는 것을 특징으로 하는 메모리 리프레시 방법.
  19. 제11항 또는 제12항에 있어서,
    상기 리프레시 주기 조정 단계에서 조정된 상기 리프레시 주기에 기초하여, 상기 추가 패트롤 동작의 감시 간격을 변경하는 감시 간격 변경 단계를 포함하는 것을 특징으로 하는 메모리 리프레시 방법.
  20. 제19항에 있어서,
    상기 감시 간격 변경 단계에서, 상기 계측 단계에서 계측된 상기 에러 빈도가 일정해진 경우에, 상기 감시 간격을 연장하는 것을 특징으로 하는 메모리 리프레시 방법.
KR1020107001001A 2007-07-18 2007-07-18 메모리 리프레시 장치 및 메모리 리프레시 방법 KR101043013B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/064199 WO2009011052A1 (ja) 2007-07-18 2007-07-18 メモリリフレッシュ装置およびメモリリフレッシュ方法

Publications (2)

Publication Number Publication Date
KR20100018082A KR20100018082A (ko) 2010-02-16
KR101043013B1 true KR101043013B1 (ko) 2011-06-21

Family

ID=40259401

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107001001A KR101043013B1 (ko) 2007-07-18 2007-07-18 메모리 리프레시 장치 및 메모리 리프레시 방법

Country Status (6)

Country Link
US (1) US8549366B2 (ko)
EP (1) EP2169558B1 (ko)
JP (1) JP5012898B2 (ko)
KR (1) KR101043013B1 (ko)
CN (1) CN101796497B (ko)
WO (1) WO2009011052A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10803919B2 (en) 2018-04-30 2020-10-13 SK Hynix Inc. Memory controller for controlling refresh operation and memory system including the same

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602006019010D1 (de) * 2006-10-20 2011-01-27 Fujitsu Ltd Speicheranordnung und auffrisch-justierverfahren
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
WO2010054670A1 (en) 2008-11-11 2010-05-20 Nokia Corporation Method and device for temperature-based data refresh in non-volatile memories
US8032804B2 (en) * 2009-01-12 2011-10-04 Micron Technology, Inc. Systems and methods for monitoring a memory system
US8874824B2 (en) * 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US8261136B2 (en) * 2009-06-29 2012-09-04 Sandisk Technologies Inc. Method and device for selectively refreshing a region of a memory of a data storage device
US8412882B2 (en) * 2010-06-18 2013-04-02 Microsoft Corporation Leveraging chip variability
JP5318076B2 (ja) * 2010-11-30 2013-10-16 株式会社東芝 複数のアクセスコマンドを並行して実行するメモリ装置及び同装置におけるメモリアクセス方法
US8775725B2 (en) * 2010-12-06 2014-07-08 Intel Corporation Memory device refresh commands on the fly
US8621324B2 (en) * 2010-12-10 2013-12-31 Qualcomm Incorporated Embedded DRAM having low power self-correction capability
JP5259755B2 (ja) * 2011-02-25 2013-08-07 株式会社東芝 マルチチャネルを有するメモリ装置及び同装置におけるメモリアクセス方法
US8756474B2 (en) * 2011-03-21 2014-06-17 Denso International America, Inc. Method for initiating a refresh operation in a solid-state nonvolatile memory device
KR101873526B1 (ko) 2011-06-09 2018-07-02 삼성전자주식회사 에러 정정회로를 구비한 온 칩 데이터 스크러빙 장치 및 방법
TWI442232B (zh) * 2011-08-03 2014-06-21 Novatek Microelectronics Corp 動態存取記憶體的更新裝置與方法
CN102929811B (zh) * 2011-08-11 2015-09-16 联咏科技股份有限公司 动态存取内存的更新装置与方法
US9176800B2 (en) * 2011-08-31 2015-11-03 Micron Technology, Inc. Memory refresh methods and apparatuses
KR101882681B1 (ko) 2011-10-27 2018-07-31 삼성전자 주식회사 메모리 장치 및 그 구동 방법
US20130173972A1 (en) * 2011-12-28 2013-07-04 Robert Kubo System and method for solid state disk flash plane failure detection
CN103295622B (zh) * 2012-03-05 2016-08-03 安凯(广州)微电子技术有限公司 一种动态随机存取存储器的变频方法
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US9164804B2 (en) 2012-06-20 2015-10-20 Memory Technologies Llc Virtual memory module
US9236110B2 (en) * 2012-06-30 2016-01-12 Intel Corporation Row hammer refresh command
US8918699B2 (en) 2012-07-31 2014-12-23 Kabushiki Kaisha Toshiba Non-volatile semiconductor storage apparatus
JP2014059831A (ja) * 2012-09-19 2014-04-03 Nec Computertechno Ltd メモリリフレッシュ装置、情報処理システム、メモリリフレッシュ方法、および、コンピュータ・プログラム
JP6051720B2 (ja) * 2012-09-19 2016-12-27 株式会社ソシオネクスト リフレッシュ制御装置およびリフレッシュ制御方法、並びに、半導体装置
KR20140042362A (ko) * 2012-09-28 2014-04-07 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
US9430339B1 (en) * 2012-12-27 2016-08-30 Marvell International Ltd. Method and apparatus for using wear-out blocks in nonvolatile memory
CN104956443B (zh) * 2013-01-31 2017-09-12 慧与发展有限责任合伙企业 Ram刷新率
CN105229742A (zh) * 2013-04-30 2016-01-06 惠普发展公司,有限责任合伙企业 存储器访问速率
JP6335616B2 (ja) * 2013-04-30 2018-05-30 株式会社半導体エネルギー研究所 半導体装置
US10096353B2 (en) 2013-11-07 2018-10-09 International Business Machines Corporation System and memory controller for interruptible memory refresh
US9972376B2 (en) 2013-11-07 2018-05-15 International Business Machines Corporation Memory device for interruptible memory refresh
US9911485B2 (en) 2013-11-11 2018-03-06 Qualcomm Incorporated Method and apparatus for refreshing a memory cell
US9465537B2 (en) 2014-05-16 2016-10-11 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system
US9583219B2 (en) 2014-09-27 2017-02-28 Qualcomm Incorporated Method and apparatus for in-system repair of memory in burst refresh
CN105591779A (zh) * 2014-10-23 2016-05-18 中兴通讯股份有限公司 网元巡检方法及装置
CN104658610B (zh) * 2015-01-14 2017-10-27 广东省电子信息产业集团有限公司 一种动态调整的闪存错误检测方法及装置
CN104572336B (zh) * 2015-01-14 2018-01-26 广东省电子信息产业集团有限公司 一种闪存错误检测方法及装置
CN104615503B (zh) * 2015-01-14 2018-10-30 广东华晟数据固态存储有限公司 降低对存储器接口性能影响的闪存错误检测方法及装置
US9558064B2 (en) 2015-01-28 2017-01-31 Micron Technology, Inc. Estimating an error rate associated with memory
KR20170023249A (ko) * 2015-08-19 2017-03-03 에스케이하이닉스 주식회사 메모리 장치 및 메모리 장치의 동작 방법
US10665305B2 (en) * 2015-09-09 2020-05-26 Toshiba Memory Corporation Host device connectable to memory device performing patrol read and memory device performing patrol read
KR102354987B1 (ko) 2015-10-22 2022-01-24 삼성전자주식회사 온도에 따라 셀프 리프레쉬 사이클을 제어하는 리프레쉬 방법
CN106952662B (zh) * 2016-01-07 2019-10-01 华邦电子股份有限公司 存储器装置刷新方法及可调整刷新操作频率的存储器装置
JP6705604B2 (ja) * 2016-03-09 2020-06-03 ホアウェイ・テクノロジーズ・カンパニー・リミテッド フラッシュメモリデバイスをリフレッシュする方法および装置
KR20180081282A (ko) * 2017-01-06 2018-07-16 에스케이하이닉스 주식회사 반도체장치
CN107402726B (zh) * 2017-08-07 2020-05-26 苏州浪潮智能科技有限公司 一种固态硬盘数据巡检周期的确定方法及系统
EP3454337B1 (en) * 2017-09-06 2019-09-11 Tu Kaiserslautern Using runtime reverse engineering to optimize dram refresh
US11544168B2 (en) 2017-10-30 2023-01-03 SK Hynix Inc. Memory system
KR102499255B1 (ko) * 2018-02-19 2023-02-13 에스케이하이닉스 주식회사 통합 메모리 디바이스 및 그의 동작 방법
KR102414047B1 (ko) 2017-10-30 2022-06-29 에스케이하이닉스 주식회사 통합 메모리 디바이스 및 그의 동작 방법
US11119850B2 (en) * 2018-06-29 2021-09-14 International Business Machines Corporation Determining when to perform error checking of a storage unit by using a machine learning module
US20200258566A1 (en) * 2019-02-12 2020-08-13 Micron Technology, Inc. Refresh rate management for memory
US11100972B2 (en) * 2019-02-12 2021-08-24 Micron Technology, Inc. Refresh rate control for a memory device
US11301317B2 (en) 2019-07-23 2022-04-12 Samsung Electronics Co., Ltd. Method of controlling repair of volatile memory device and storage device performing the same
KR20210026201A (ko) 2019-08-29 2021-03-10 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 리페어 제어 방법
DE102020104680A1 (de) 2020-02-21 2021-08-26 Harman Becker Automotive Systems Gmbh DRAM-Controller
KR20220021097A (ko) 2020-08-13 2022-02-22 삼성전자주식회사 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
CN112652341B (zh) * 2020-12-22 2023-12-29 深圳市国微电子有限公司 基于错误率的动态存储器刷新控制方法及装置
CN113257331B (zh) * 2021-05-31 2023-09-19 西安紫光国芯半导体有限公司 存储器刷新调节方法、装置、调节电路及存储器件
CN116992504A (zh) * 2023-09-26 2023-11-03 合肥联宝信息技术有限公司 一种固态硬盘的数据保护方法、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56165989A (en) 1980-05-23 1981-12-19 Fujitsu Ltd Memory patrol system
JPH0460988A (ja) * 1990-06-27 1992-02-26 Canon Inc リフレツシユ制御装置
JP2007035035A (ja) 2005-07-25 2007-02-08 Honeywell Internatl Inc ダイナミックメモリデバイスのリフレッシュおよびエラースクラビングの方法およびシステム
KR100714487B1 (ko) 2005-11-29 2007-05-07 삼성전자주식회사 동적 메모리 장치 및 그 리프레쉬 주기 결정 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH087995B2 (ja) * 1985-08-16 1996-01-29 富士通株式会社 ダイナミツク半導体記憶装置のリフレツシユ方法および装置
US4964129A (en) * 1988-12-21 1990-10-16 Bull Hn Information Systems Inc. Memory controller with error logging
WO1996028825A1 (fr) 1995-03-15 1996-09-19 Hitachi, Ltd. Memoire a semi-conducteur
US6560725B1 (en) * 1999-06-18 2003-05-06 Madrone Solutions, Inc. Method for apparatus for tracking errors in a memory system
JP4707803B2 (ja) 2000-07-10 2011-06-22 エルピーダメモリ株式会社 エラーレート判定方法と半導体集積回路装置
US7095669B2 (en) * 2003-11-07 2006-08-22 Infineon Technologies Ag Refresh for dynamic cells with weak retention
JP4167632B2 (ja) * 2004-07-16 2008-10-15 エルピーダメモリ株式会社 リフレッシュ周期発生回路及びそれを備えたdram
US7493523B2 (en) * 2006-03-14 2009-02-17 International Business Machines Corporation Method and apparatus for preventing soft error accumulation in register arrays
US20070250283A1 (en) * 2006-04-25 2007-10-25 Barnum Melissa A Maintenance and Calibration Operations for Memories
DE602006019010D1 (de) * 2006-10-20 2011-01-27 Fujitsu Ltd Speicheranordnung und auffrisch-justierverfahren

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56165989A (en) 1980-05-23 1981-12-19 Fujitsu Ltd Memory patrol system
JPH0460988A (ja) * 1990-06-27 1992-02-26 Canon Inc リフレツシユ制御装置
JP2007035035A (ja) 2005-07-25 2007-02-08 Honeywell Internatl Inc ダイナミックメモリデバイスのリフレッシュおよびエラースクラビングの方法およびシステム
KR100714487B1 (ko) 2005-11-29 2007-05-07 삼성전자주식회사 동적 메모리 장치 및 그 리프레쉬 주기 결정 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10803919B2 (en) 2018-04-30 2020-10-13 SK Hynix Inc. Memory controller for controlling refresh operation and memory system including the same

Also Published As

Publication number Publication date
JPWO2009011052A1 (ja) 2010-09-09
CN101796497A (zh) 2010-08-04
KR20100018082A (ko) 2010-02-16
US20100106901A1 (en) 2010-04-29
US8549366B2 (en) 2013-10-01
WO2009011052A1 (ja) 2009-01-22
EP2169558A1 (en) 2010-03-31
CN101796497B (zh) 2012-03-21
EP2169558A4 (en) 2010-09-15
JP5012898B2 (ja) 2012-08-29
EP2169558B1 (en) 2015-01-07

Similar Documents

Publication Publication Date Title
KR101043013B1 (ko) 메모리 리프레시 장치 및 메모리 리프레시 방법
EP2075706B1 (en) Memory device and refresh adjusting method
KR102373544B1 (ko) 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
US6838331B2 (en) Method and system for dynamically operating memory in a power-saving error correction mode
US6560725B1 (en) Method for apparatus for tracking errors in a memory system
US7975170B2 (en) Memory refresh system and method
KR102398209B1 (ko) 반도체 메모리 장치, 메모리 시스템 그리고 그것의 리프레쉬 방법
EP1255197B1 (en) System and method for correcting soft errors in random access memory devices
CN109087681B (zh) 存储器设备、存储器系统和存储器设备的操作方法
KR100714487B1 (ko) 동적 메모리 장치 및 그 리프레쉬 주기 결정 방법
US8228736B2 (en) Mobile system on chip (SoC) and mobile terminal using the mobile SoC, and method for refreshing a memory in the mobile SoC
US7818651B2 (en) Semiconductor memory device having data holding mode using ECC function
KR102415867B1 (ko) 메모리 셀의 결함을 제거하기 위한 메모리 시스템 및 그의 동작 방법
US20150363261A1 (en) Ram refresh rate
KR20140065185A (ko) 리드 동작 시 온도 보상된 워드 라인 전압을 인가하는 반도체 메모리 장치 및 그 방법
NL2029034B1 (en) Adaptive internal memory error scrubbing and error handling
US20200089560A1 (en) Memory device and method for handling interrupts thereof
Mathew et al. Using run-time reverse-engineering to optimize DRAM refresh
US20100180152A1 (en) Information processing device, storage control device, and storage control method
US11682444B2 (en) Dynamic random-access memory array including sensor cells

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140530

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee