KR20140088725A - 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법 - Google Patents

읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법 Download PDF

Info

Publication number
KR20140088725A
KR20140088725A KR1020130000616A KR20130000616A KR20140088725A KR 20140088725 A KR20140088725 A KR 20140088725A KR 1020130000616 A KR1020130000616 A KR 1020130000616A KR 20130000616 A KR20130000616 A KR 20130000616A KR 20140088725 A KR20140088725 A KR 20140088725A
Authority
KR
South Korea
Prior art keywords
refresh
cell
dynamic memory
bit
access
Prior art date
Application number
KR1020130000616A
Other languages
English (en)
Other versions
KR101436442B1 (ko
Inventor
김선욱
이호균
최규현
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020130000616A priority Critical patent/KR101436442B1/ko
Priority to PCT/KR2013/000558 priority patent/WO2014106966A1/ko
Publication of KR20140088725A publication Critical patent/KR20140088725A/ko
Application granted granted Critical
Publication of KR101436442B1 publication Critical patent/KR101436442B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • GPHYSICS
    • 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
    • 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
    • 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/40622Partial refresh of memory arrays
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

본 발명은 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법에 관한 것으로서, 더욱 상세하게는 동적 메모리와 직접적인 데이터 교환을 수행하는 LLC와 물리적 저장 매체의 읽기 접근 및 쓰기 접근을 기초로 데이터 셀을 선택적으로 리프레쉬함으로써 동적메모리, LLC 및 물리적 저장 매체간의 중복 데이터의 연관성을 고려하여 리프레쉬를 최소화하도록 하여 전력 소모를 감소시키며 실질적인 리프레쉬 효율 및 로우 버퍼 히트 비율을 높이고, 데이터 셀의 행 또는 액세스 블록과 대응하는 리프레쉬 비트 벡터 셀 및 복수의 리프레쉬 비트 벡터 셀을 대표하는 리프레쉬 비트 셀을 구성함으로써 리프레쉬 비트 셀의 갱신된 비트 값에 근거하여 리프레쉬할 행 또는 액세스 블록을 선택적으로 지정하여 리프레쉬하도록 하여 메모리 접근 시간을 감소시키고 읽기 및 쓰기 성능을 향상시키는 효과가 있다.

Description

읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법{DYNAMIC RANDOM ACCESS MEMORY DEVICE HAVING SELECTIVE REFRESH FUNCTION ACCORDING TO READ AND WRITE ACCESS AND THE SELECTIVE REFRESH METHOD THE SAME}
본 발명은 동적 메모리 장치 및 그 리프레쉬 방법에 관한 것으로, 특히 동적 메모리 반도체 장치에서 선택적인 리프레쉬 방식을 통해 리프레쉬를 최소화하도록 한 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법에 관한 것이다.
DRAM(DYNAMIC RANDOM ACCESS MEMORY)과 같은 동적인 반도체 메모리 장치는 1-트랜지스터와 1-커패시터로 구성되는 메모리 셀 구조 특성상 리프레쉬 동작이 필수적이다.
DRAM 셀 커패시터에 저장된 데이터는 주기적인 리프레쉬 동작을 통하여 유지 및 보존된다.
동적 메모리 장치에서의 이러한 리프레쉬 동작은 전력 소모를 증가시키며, 리프레쉬 동작이 많을수록 레이턴시(Latency)가 커져 데이터 입출력 속도의 효율성을 떨어트리는 요인으로 작용하게 된다.
이러한 점을 개선하기 위해, 종래에도 선택적 리프레쉬 방식을 통해 동적 메모리 사용의 효율성을 향상시키는 구성 및 방법이 있었다.
그러나, 종래의 동적 메모리에서의 선택적 리프레쉬 구성 및 방법은 동적 메모리와 연계된 메모리나 디스크 장치와 같은 다른 저장 장치와의 실제적 데이터 입출력 동작 방식을 고려하지 않고 단순히 입출력 시간이나 데이터의 상태 또는 동적 메모리 어레이(Array)의 내부 정보만을 이용하여 선택적인 리프레쉬를 수행하여 근본적인 리프레쉬 효율의 향상을 기대하기 어려웠다.
한국 등록 특허 제10-0642759호
전술한 문제점을 개선하기 위한 본 발명 실시 예의 목적은 동적 메모리와 직접적인 데이터 교환을 수행하는 LLC와 물리적 저장 매체의 읽기 접근 및 쓰기 접근을 기초로 데이터 셀을 선택적으로 리프레쉬함으로써 동적메모리, LLC 및 물리적 저장 매체간의 중복 데이터의 연관성을 고려하여 리프레쉬를 최소화하도록 한 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법을 제공하는 것이다.
전술한 문제점을 개선하기 위한 본 발명 실시 예의 다른 목적은 데이터 셀의 행 또는 액세스 블록과 대응하는 리프레쉬 비트 벡터 셀 및 복수의 리프레쉬 비트 벡터 셀을 대표하는 리프레쉬 비트 셀을 구성함으로써 리프레쉬 비트 셀의 갱신된 비트 값에 근거하여 리프레쉬할 행 또는 액세스 블록을 선택적으로 지정하여 리프레쉬하도록 한 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 동적 메모리 장치는 동적 메모리 데이터 셀을 통해, 프로세서(Processor)의 LLC(Last Level Cache) 및 HDD(Hard Disk Drive) 또는 SSD(Solid State Drive)인 물리적 저장 매체 사이에서 데이터를 전달하는 동적 메모리 장치로서, 상기 LLC 또는 상기 물리적 저장 매체 중 하나 이상의 읽기 접근 및 쓰기 접근에 따른 기록이 저장되며, 상기 동적 메모리 데이터 셀의 행마다 액세스 블록의 수를 기준으로 구성된 동적 메모리 히스토리 셀, 상기 동적 메모리 히스토리 셀에 저장된 읽기 접근 및 쓰기 접근의 기록에 근거하여 상기 동적 메모리 데이터 셀에서 하나 이상의 리프레쉬할 셀을 지정하는 리프레쉬 후보 지정부 및 상기 LLC 또는 상기 물리적 저장 매체 중 하나 이상의 읽기 접근 및 쓰기 접근에 따른 데이터 교환 시에 상기 동적 메모리 히스토리 셀의 기록 저장을 제어하며, 상기 리프레쉬 후보 지정부에서 지정된 셀을 선택적으로 리프레쉬하는 제어부를 포함한다.
상기 제어부는 상기 동적 메모리 히스토리 셀에 상기 LLC의 캐쉬 라인(Cache line) 갱신에 의한 읽기 접근 및 쓰기 접근 또는 상기 물리적 저장 매체와의 페이징(Paging)에 의한 읽기 접근 및 쓰기 접근에 따른 기록을 저장한다.
상기 제어부는 상기 동적 메모리 히스토리 셀에 비트(Bit) 값으로 상기 읽기 접근과 상기 쓰기 접근을 서로 상이하게 구분하여 상기 기록으로 저장한다.
이때, 상기 동적 메모리 히스토리 셀은 상기 동적 메모리 데이터 셀의 행(Row) 또는 하나 이상의 액세스 블록(Access Block)의 읽기 접근 및 쓰기 접근의 기록이 비트(Bit) 값으로 서로 상이하게 구분되어 저장되도록 상기 행 또는 하나 이상의 액세스 블록에 대응하여 비트 값이 저장되는 리프레쉬 비트 벡터 셀(Refresh Bit Vector Cells)을 구비하는 것이 바람직하다.
또한, 상기 동적 메모리 히스토리 셀은 기 설정된 기준에 따라, 복수의 상기 리프레쉬 비트 벡터 셀에 저장된 각각의 비트 값을 대표하는 비트(Bit) 값이 저장되는 리프레쉬 비트 셀(Refresh Bit Cells)을 더 구비하는 것이 바람직하다.
이때, 상기 리프레쉬 후보 지정부는 상기 리프레쉬 비트 셀의 저장된 비트 값에 근거하여, 상기 동적 메모리 데이터 셀에서 상기 저장된 비트 값에 대응하는 하나 이상의 리프레쉬할 셀을 지정하고, 상기 제어부는 상기 리프레쉬 비트 벡터 셀 및 상기 리프레쉬 비트 셀의 비트 값의 저장을 제어하며, 상기 리프레쉬 후보 지정부에서 상기 저장된 비트 값에 의해 리프레쉬하도록 지정된 셀을 선택적으로 리프레쉬한다..
상기 제어부는 상기 LLC 또는 상기 물리적 저장 매체로부터 상기 동적 메모리 데이터 셀의 행 또는 하나 이상의 액세스 블록으로 데이터가 입력될 때, 그에 대응하는 리프레쉬 비트 벡터 셀에 해당 입력 접근에 대응하는 비트 값으로 1을 저장할 수 있다.
또한, 상기 제어부는 상기 동적 메모리 데이터 셀의 행 또는 하나 이상의 액세스 블록으로부터 상기 LLC 또는 상기 물리적 저장 매체로 데이터가 출력될 때, 그에 대응하는 리프레쉬 비트 벡터 셀에 해당 출력 접근에 대응하는 비트 값으로 0을 저장할 수 있다.
더불어, 상기 제어부는 상기 리프레쉬 비트 셀이 대표하는 상기 리프레쉬 비트 벡터 셀의 비트 값 중 하나 이상이 1이면 상기 리프레쉬 비트 셀의 비트 값을 1로 저장하며, 상기 리프레쉬 비트 벡터 셀의 비트 값이 모두 0이면 상기 리프레쉬 비트 셀의 비트 값을 0으로 저장할 수 있다.
한편, 상기 리프레쉬 후보 지정부는 상기 리프레쉬 비트 셀의 비트 값이 0이면 상기 리프레쉬 비트 셀에 대응하는 상기 동적 메모리 데이터 셀의 해당 행 또는 해당 액세스 블록의 셀은 리프레쉬할 셀에서 제외하는 것이 바람직하다.
상기 제어부는 비트 값이 1인 리프레쉬 비트 셀이 대표하는 리프레쉬 비트 벡터 셀의 비트 값이 0인 개수가 기 설정된 기준 이상이면 상기 동적 메모리 데이터 셀에서 상기 리프레쉬 비트 벡터 셀에 대응하는 행 또는 하나 이상의 액세스 블록에 대응하는 셀의 비트 값을 모두 상기 LLC로 전송할 수 있다.
상기 제어부는 비트 값이 1인 리프레쉬 비트 셀이 대표하는 리프레쉬 비트 벡터 셀의 비트 값이 1인 개수가 기 설정된 기준 이상이면 상기 동적 메모리 데이터 셀에서 상기 리프레쉬 비트 벡터 셀에 대응하는 행 또는 하나 이상의 액세스 블록에 대응하는 셀의 비트 값을 모두 상기 물리적 저장 매체로 전송할 수도 있다.
또한, 상기 제어부는 상기 LLC 또는 상기 물리적 저장 매체로 전송한 상기 동적 메모리 데이터 셀의 해당 셀에 대응하는 리프레쉬 비트 벡터 셀 및 이를 대표하는 리프레쉬 비트 셀의 비트 값을 모두 0으로 설정할 수도 있다.
한편, 상기 리프레쉬 비트 벡터 셀의 개수는 행 버퍼 크기(Row buffer size) / 동적 메모리 데이터 셀의 액세스 블록 크기(DRAM access block size)인 것이 바람직하다.
이때, 상기 동적 메모리 데이터 셀의 액세스 블록 크기는 상기 LLC의 캐쉬 라인 크기(Cache line size)인 것이 더욱 바람직하다.
상기한 목적을 달성하기 위한 본 발명의 다른 실시 예에 따른 동적 메모리 장치는 동적 메모리 데이터 셀을 통해, 프로세서(Processor)의 LLC(Last Level Cache) 및 HDD(Hard Disk Drive) 또는 SSD(Solid State Drive)인 물리적 저장 매체 사이에서 데이터를 전달하는 동적 메모리 장치로서, 상기 LLC 또는 상기 물리적 저장 매체 중 하나 이상의 읽기 접근 및 쓰기 접근에 대해, 접근되는 상기 동적 메모리 데이터 셀의 행 또는 액세스 블록(Access Block)과 대응하며, 상기 읽기 접근과 쓰기 접근에 따라 서로 상이하게 구분되도록 비트 값이 갱신되는 리프레쉬 비트 벡터 셀 및 기 설정된 기준에 따라 자신의 비트(Bit) 값을 복수의 상기 리프레쉬 비트 벡터 셀에 갱신된 각각의 비트 값을 대표하는 값으로 갱신되는 리프레쉬 비트 셀(Refresh Bit Cells)을 구비하는 동적 메모리 히스토리 셀, 상기 리프레쉬 비트 셀의 갱신된 비트 값에 근거하여, 상기 동적 메모리 데이터 셀에서 상기 갱신된 비트 값에 대응하는 하나 이상의 리프레쉬할 셀을 지정하는 리프레쉬 후보 지정부 및 상기 리프레쉬 비트 벡터 셀 및 상기 리프레쉬 비트 셀의 비트 값의 갱신을 제어하며, 상기 리프레쉬 후보 지정부에서 상기 갱신된 비트 값에 의해 리프레쉬하도록 지정된 셀을 선택적으로 리프레쉬하는 제어부를 포함한다.
상기 제어부는 상기 리프레쉬 비트 셀의 비트 값이 대표하는 상기 리프레쉬 비트 벡터 셀들의 비트 값을 OR 비트 연산(OR Bitwise operation)한 비트 값을 상기 리프레쉬 비트 셀의 비트 값으로 갱신할 수 있다.
또한, 상기 제어부는 비트 값이 0 또는 1인 리프레쉬 비트 셀이 대표하는 리프레쉬 비트 벡터 셀의 비트 값이 상기 리프레쉬 비트 셀의 비트 값과 상이한 개수가 기 설정된 기준 이상이면 상기 동적 메모리 데이터 셀에서 상기 리프레쉬 비트 벡터 셀에 대응하는 행 또는 하나 이상의 액세스 블록에 대응하는 셀의 비트 값을 모두 상기 LLC 또는 상기 물리적 저장 매체로 전송할 수 있다.
더불어, 상기 제어부는 상기 LLC 또는 상기 물리적 저장 매체로 전송한 상기 동적 메모리 데이터 셀의 셀에 대응하는 리프레쉬 비트 벡터 셀 및 이를 대표하는 리프레쉬 비트 셀의 비트 값을 상기 리프레쉬 비트 셀이 저장했던 비트 값과 다른 값으로 모두 갱신하는 것이 바람직하다.
한편, 상기 리프레쉬 비트 벡터 셀의 개수는 행 버퍼 크기(Row buffer size) / 동적 메모리 데이터 셀의 액세스 블록 크기(DRAM access block size)일 수 있다.
상기 동적 메모리 데이터 셀의 액세스 블록의 크기는 상기 LLC의 캐쉬 라인 크기(Cache line size)일 수 있다.
상기한 목적을 달성하기 위한 본 발명의 또 다른 실시 예에 따른 선택적 리프레쉬 방법은 동적 메모리 데이터 셀을 통해, 프로세서(Processor)의 LLC(Last Level Cache) 및 HDD(Hard Disk Drive) 또는 SSD(Solid State Drive)인 물리적 저장 매체 사이에서 데이터를 전달하는 동적 메모리 장치의 선택적 리프레쉬 방법으로서, 제어부가 상기 동적 메모리 데이터 셀의 행마다 액세스 블록의 수를 기준으로 구성된 동적 메모리 히스토리 셀에 상기 LLC 또는 상기 물리적 저장 매체 중 하나 이상의 읽기 접근 및 쓰기 접근에 따른 기록을 저장하는 단계, 리프레쉬 후보 지정부가 상기 동적 메모리 히스토리 셀에 저장된 읽기 접근 및 쓰기 접근의 기록에 근거하여 상기 동적 메모리 데이터 셀에서 하나 이상의 리프레쉬할 셀을 지정하는 단계 및 상기 제어부가 상기 리프레쉬 후보 지정부에서 지정된 셀을 선택적으로 리프레쉬하는 단계를 포함한다.
상기한 목적을 달성하기 위한 본 발명의 또 다른 실시 예에 따른 선택적 리프레쉬 방법은 동적 메모리 데이터 셀을 통해, 프로세서(Processor)의 LLC(Last Level Cache) 및 HDD(Hard Disk Drive) 또는 SSD(Solid State Drive)인 물리적 저장 매체 사이에서 데이터를 전달하는 동적 메모리 장치의 선택적 리프레쉬 방법으로서, 제어부가 상기 LLC 또는 상기 물리적 저장 매체 중 하나 이상의 읽기 접근 및 쓰기 접근에 대해, 접근되는 상기 동적 메모리 데이터 셀의 행 또는 액세스 블록에 대응하는 리프레쉬 비트 벡터 셀에 상기 읽기 접근과 쓰기 접근에 따라 서로 상이하게 구분되도록 비트 값을 갱신하는 단계, 상기 제어부가 기 설정된 기준에 따라 복수의 리프레쉬 비트 벡터 셀에 대응하는 리프레쉬 비트 셀의 비트 값을 상기 복수의 리프레쉬 비트 벡터 셀에 갱신된 각각의 비트 값을 대표하는 값으로 갱신하는 단계, 리프레쉬 후보 지정부가 상기 리프레쉬 비트 셀의 갱신된 비트 값에 근거하여, 상기 동적 메모리 데이터 셀에서 상기 갱신된 비트 값에 대응하는 하나 이상의 리프레쉬할 셀을 지정하는 단계 및 상기 제어부가 상기 리프레쉬 후보 지정부에서 상기 갱신된 비트 값에 의해 리프레쉬하도록 지정된 셀을 선택적으로 리프레쉬하는 단계를 포함한다.
또한, 상기 본 발명의 또 다른 실시 예에 따른 선택적 리프레쉬 방법은 상기 제어부가 상기 LLC 또는 상기 물리적 저장 매체가 요청한 상기 동적 메모리 데이터 셀의 읽기 접근에 대해 요청한 LLC 또는 물리적 저장 매체로 해당 행 또는 액세스 블록의 데이터를 전송하는 단계 및 상기 제어부가 상기 LLC 또는 상기 물리적 저장 매체와의 상기 동적 메모리 데이터 셀의 쓰기 접근에 대해 상기 LLC 또는 물리적 저장 매체로부터 해당 행 또는 액세스 블록의 데이터를 전송받아 저장하는 단계를 더 포함할 수도 있다.
본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법은 동적 메모리와 직접적인 데이터 교환을 수행하는 LLC와 물리적 저장 매체의 읽기 접근 및 쓰기 접근을 기초로 데이터 셀을 선택적으로 리프레쉬함으로써 동적메모리, LLC 및 물리적 저장 매체간의 중복 데이터의 연관성을 고려하여 리프레쉬를 최소화하도록 하여 전력 소모를 감소시키며 실질적인 리프레쉬 효율 및 로우 버퍼 히트 비율을 높이는 효과가 있다.
본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법은 데이터 셀의 행 또는 액세스 블록과 대응하는 리프레쉬 비트 벡터 셀 및 복수의 리프레쉬 비트 벡터 셀을 대표하는 리프레쉬 비트 셀을 구성함으로써 리프레쉬 비트 셀의 갱신된 비트 값에 근거하여 리프레쉬할 행 또는 액세스 블록을 선택적으로 지정하여 리프레쉬하도록 하여 메모리 접근 시간을 감소시키고 읽기 및 쓰기 성능을 향상시키는 효과가 있다.
도 1은 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치의 개략도.
도 2는 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치의 구성도.
도 3은 본 발명의 일 실시 예에 따른 제어부의 리프레쉬 동작의 순서도.
도 4는 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치의 동작 예시도.
도 5 내지 도 8은 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 방법의 순서도.
상기한 바와 같은 본 발명을 첨부된 도면들과 실시 예들을 통해 상세히 설명하도록 한다.
도 1은 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치(100)의 개략도다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치(100)는 동적 메모리 데이터 셀(130)을 통해, 프로세서(Processor)의 LLC(Last Level Cache) 및 HDD(Hard Disk Drive) 또는 SSD(Solid State Drive)인 물리적 저장 매체 사이에서 데이터를 전달하는 동적 메모리 장치로서, 상기 LLC 또는 상기 물리적 저장 매체 중 하나 이상의 읽기 접근 및 쓰기 접근(1)에 따른 기록이 저장(2,3)되며, 상기 동적 메모리 데이터 셀(130)의 행마다 액세스 블록의 수를 기준으로 구성된 동적 메모리 히스토리 셀(140), 상기 동적 메모리 히스토리 셀(140)에 저장된 읽기 접근 및 쓰기 접근의 기록에 근거하여 상기 동적 메모리 데이터 셀(130)에서 하나 이상의 리프레쉬할 셀을 지정하는 동적 메모리 콘트롤러(110)를 포함한다.
상기 동적 메모리 콘트롤러(110)는 상기 LLC 또는 상기 물리적 저장 매체 중 하나 이상의 읽기 접근 및 쓰기 접근에 따른 데이터 교환 시에 상기 동적 메모리 히스토리 셀(140)의 기록 저장을 제어하며, 상기 지정된 셀을 선택적으로 리프레쉬(4)한다.
상기 동적 메모리 장치(100)에 대한 기본적 구성의 바람직한 실시 예로서, DRAM과 같은 동적 메모리 반도체 장치를 들 수 있다.
상술한 바와 같이, 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치(100)는 기존의 DRAM 셀(130: cell) 구조에 동적 메모리 히스토리 셀(140: DRAM history cell)을 추가하여 구성하는 것이 바람직하다.
상기 동적 메모리 히스토리 셀(140)은 상기 동적 메모리 콘트롤러(110)의 DRAM에 대한 읽기 및 쓰기 요청(read/write request)의 기록(read/write history)을 관리하며, 상기 동적 메모리 콘트롤러(110)는 상기 기록을 이용하여 기존의 동적 메모리 데이터 셀(130)을 선택적으로 리프레쉬 한다.
이때, 상기 동적 메모리 히스토리 셀(140)은 기존의 일반적인 순차적 리프레쉬 정책을 그대로 이용하여 리프레쉬(0)할 수 있다.
또한, 바람직한 실시 예로서, 상기 동적 메모리 콘트롤러(110)는 상기 동적 메모리 히스토리 셀(140)에 상기 LLC의 캐쉬 라인(Cache line) 갱신에 의한 읽기 접근 및 쓰기 접근 또는 상기 물리적 저장 매체와의 페이징(Paging)에 의한 읽기 접근 및 쓰기 접근에 따른 기록을 저장(2,3)한다.
이때, 더욱 바람직하게는, 상기 동적 메모리 콘트롤러(110)는 상기 동적 메모리 히스토리 셀(140)에 비트(Bit) 값으로 상기 읽기 접근과 상기 쓰기 접근(1)을 서로 상이하게 구분하여 상기 기록으로 저장(2,3)하는 것이 바람직하다.
본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치(100)는 상술한 바와 같이, 동적 메모리 데이터 셀(130)에 대한 읽기 접근 및 쓰기 접근에 대한 기록을 기반으로 개선된 선택적 리프레쉬 정책을 통해 리프레쉬를 최소화하여 전력소모를 줄이며 동시에 읽기 및 쓰기 성능을 향상시키는 방법을 적용한 것이다.
즉, 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치(100)는 상기 동적 메모리 장치(100)와 직접적으로 연결되어 데이터 입출력이 가장 빈번한 LLC 또는 물리적 저장 매체와의 상호 작용을 반영하여 선택적인 데이터 리프레쉬를 수행(4)하여 파워 및 에너지 측면에서 좋은 효율을 보인다. 동시에 메모리 접근시간을 감소시키고, 로우 버퍼 히트 비율을 높일 수 있다.
도 2는 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치(100)의 구성도다.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 동적 메모리 히스토리 셀(140)은 상기 동적 메모리 데이터 셀(130)과 같은 구조 또는 유사한 구조의 리프레쉬 비트 벡터 셀(143: Refresh Bit Vector Cells)과 리프레쉬 비트 셀(146: Refresh Bit Cells)로 구성할 수 있다.
이때, 상기 동적 메모리 콘트롤러(110)는 리프레쉬를 수행할 행 또는 액세스 블록을 구별하기 위한 비트 값을 설정하여 리프레쉬할 후보 셀을 지정하는 리프레쉬 후보 지정부(112)를 포함하는 것이 바람직하다.
바람직한 실시 예로서, 상기 동적 메모리 히스토리 셀(140)은 상기 동적 메모리 데이터 셀(130)의 행(Row) 또는 하나 이상의 액세스 블록(Access Block)의 읽기 접근 및 쓰기 접근(1)의 기록이 비트(Bit) 값으로 서로 상이하게 구분되어 저장되도록 상기 행 또는 하나 이상의 액세스 블록에 대응하여 비트 값이 저장되는 리프레쉬 비트 벡터 셀(143)을 구비할 수 있다.
더욱 바람직한 실시 예로서, 상기 동적 메모리 히스토리 셀(140)은 기 설정된 기준에 따라, 복수의 상기 리프레쉬 비트 벡터 셀(143)에 저장된 각각의 비트 값을 대표하는 비트(Bit) 값이 저장되는 리프레쉬 비트 셀(146)을 더 구비할 수 있다.
다른 바람직한 실시 예로서, 상기 리프레쉬 비트 벡터 셀(143)의 개수는 행 버퍼 크기(Row buffer size) / 동적 메모리 데이터 셀의 액세스 블록 크기(DRAM access block size)일 수 있다.
또한, 또 다른 바람직한 실시 예로서, 상기 동적 메모리 데이터 셀(130)의 액세스 블록 크기는 상기 LLC(230)의 캐쉬 라인 크기(Cache line size)일 수 있다.
한편, 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치(100)에서 상기 리프레쉬 비트 셀(145)의 비트 값은 이와 대응되는 복수의 리프레쉬 비트 벡터 셀(141...142)의 대표값으로 표시할 수 있으며, 상기 리프레쉬 비트 셀(145)의 비트 값을 이용하여 이와 대응되는 복수의 상기 리프레쉬 비트 벡터 셀(141...142)이 대응하는 동적 메모리 데이터 셀(131...132)의 리프레쉬 여부를 표시할 수 있다.
이때, 복수의 상기 리프레쉬 비트 벡터 셀(141...142)이 대응하는 동적 메모리 데이터 셀(131...132)은 동적 메모리 데이터 셀에서 한 행(Row, 131...132)인 것이 바람직하나, 복수의 행이거나 하나 이상의 액세스 블록일 수도 있는 등 다양한 변경이 가능하다.
또한, 상기 리프레쉬 비트 벡터 셀(143)과 리프레쉬 비트 셀(146)의 설계 및 동작은 효용성을 위하여 동적 메모리 장치(100)의 어디에나 위치할 수 있으며 동적 메모리 이외의 메모리로 구현할 수도 있다.
상기 동적 메모리 콘트롤러(110)는 리프레쉬 명령을 수행할 때, 상기 리프레쉬 비트 셀(141...142)의 비트 값에 따라 대응하는 해당 행 또는 해당 액세스 블록의 셀(131...132)들을 선택적으로 리프레쉬할 수 있다.
바람직한 실시 예로서, 상기 리프레쉬 후보 지정부(112)는 상기 리프레쉬 비트 셀(145)의 저장된 비트 값에 근거하여 상기 동적 메모리 데이터 셀(130)에서 상기 저장된 비트 값에 대응하는 하나 이상의 리프레쉬할 셀(131...132)을 지정하고, 상기 제어부(111)는 상기 리프레쉬 비트 벡터 셀(141...142) 및 상기 리프레쉬 비트 셀(145)의 비트 값의 저장을 제어하며, 상기 리프레쉬 후보 지정부(112)에서 상기 저장된 비트 값에 의해 리프레쉬하도록 지정된 셀(131...132)을 선택적으로 리프레쉬할 수 있다.
상세한 실시 예로서, 상기 동적 메모리 콘트롤러(110)의 어드레스 지정부(113)가 상기 리프레쉬 후보 지정부(112)에서 지정된 셀의 어드레스를 읽어(3) 판별한 워드 라인 어드레스(4:Word-line address) 및 비트 라인 어드레스(5: Bit-line address)를 지정하고 인에이블된 워드 라인에 연결된 동적 메모리 데이터 셀(130)이 센스 증폭기(135)에 의해 증폭된 후 다시 셀(131)에 저장되며, 이러한 동작은 워드 디코더부(114) 및 비트 디코더부(115)를 통해 이루어질 수 있다.
더욱 바람직하게는, 상술한 셀의 리프레쉬의 수행이나 어드레스의 지정과 같이 본 발명의 실시 예에 따른 선택적 리프레쉬의 실질적 수행(2)의 제어는 상기 제어부(111)에서 수행하도록 구성하는 것이 바람직하다.
도 3은 본 발명의 일 실시 예에 따른 제어부의 리프레쉬 동작의 순서도다.
도 2 및 도 3을 참조하면, 본 발명의 일 실시 예에 따른 리프레쉬 후보 지정부(112)는 동적 메모리 데이터 셀(130)에서 리프레쉬할 셀(131...132)을 지정하기 위해 기 설정된 리프레쉬 후보 설정 로직에 따라 이와 대응하는 리프레쉬 비트 벡터 셀(141..142) 및 리프레쉬 비트 셀(145)의 어드레스를 지정하여 해당 리프레쉬 비트 벡터 셀(141..142) 및 리프레쉬 비트 셀(145)의 비트 값을 갱신할 수 있다.
또한, 본 발명의 일 실시 예에 따른 제어부(111)는 상기 갱신된 리프레쉬 비트 벡터 셀(141...142) 및 리프레쉬 비트 셀(145)의 비트 값에 따라 동적 메모리 데이터 셀(130)의 해당 셀(131...132)의 어드레스를 지정하여 리프레쉬를 수행(2)한다.
더불어, 본 발명의 일 실시 예에 따른 제어부(111)는 리프레쉬 비트 벡터 셀 (143)및 리프레쉬 비트 셀(146)의 비트 값을 갱신하는데, 바람직한 실시 예로서, 상기 리프레쉬 비트 셀(145)과 같은 행의 리프레쉬 비트 벡터(141...142)의 비트 값이 하나라도 1인 경우 1로 갱신할 수 있으며, 이는 OR 연산으로 용이하게 구현할 수 있다.
또한, 본 발명의 일 실시 예에 따른 제어부(111)는 한 행의 리프레쉬 비트 벡터 셀(141...142)의 비트 값이 모두 0인 경우 해당 행의 리프레쉬 비트 셀(145)의 비트 값을 0으로 설정할 수 있다.
이때, 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치(100)는 상기 리프레쉬 후보 설정 로직을 상기 리프레쉬 비트 셀(145)의 비트 값이 0인 경우 리프레쉬 하지 않아도 되도록 즉, 동적 메모리 데이터 셀(130)의 해당 셀(131...132)의 데이터가 유실되어도 관계없도록 설정할 수 있다.
또한, 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치(100)는 상기 리프레쉬 후보 설정 로직을 상기 리프레쉬 비트 셀(145)의 비트 값이 1인 경우 리프레쉬 하도록 즉, 동적 메모리 데이터 셀(130)의 해당 셀(131...132)의 데이터를 유지하도록 설정할 수 있으며, 상기 리프레쉬 비트 셀(145) 및 상기 리프레쉬 비트 벡터 셀(141...142)의 비트 값은 초기값으로 모두 0의 값을 갖도록 설정할 수 있다.
더욱 바람직한 실시 예로서, 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치(100)는 상기 LLC(230) 또는 상기 물리적 저장 매체(300) 중 하나 이상의 읽기 접근 및 쓰기 접근(도 2의 0)에 대해, 접근되는 상기 동적 메모리 데이터 셀(130)의 행 또는 액세스 블록(131: Access Block)과 대응하며, 상기 읽기 접근과 쓰기 접근(1)에 따라 서로 상이하게 구분되도록 비트 값이 갱신되는 리프레쉬 비트 벡터 셀(141) 및 기 설정된 기준에 따라 자신의 비트(Bit) 값을 복수의 상기 리프레쉬 비트 벡터 셀(141...142)에 갱신된 각각의 비트 값을 대표하는 값으로 갱신되는 리프레쉬 비트 셀(145: Refresh Bit Cells)을 구비하는 동적 메모리 히스토리 셀(140), 상기 리프레쉬 비트 셀(145)의 갱신된 비트 값에 근거하여, 상기 동적 메모리 데이터 셀(130)에서 상기 갱신된 비트 값에 대응하는 하나 이상의 리프레쉬할 셀(131...132)을 지정하는 리프레쉬 후보 지정부(112) 및 상기 리프레쉬 비트 벡터 셀(143) 및 상기 리프레쉬 비트 셀(146)의 비트 값의 갱신을 제어하며, 상기 리프레쉬 후보 지정부(112)에서 상기 갱신된 비트 값에 의해 리프레쉬하도록 지정된 셀(131...132)을 선택적으로 리프레쉬(2)하는 제어부(111)를 포함할 수 있다.
이때, 상술한 바와 같이, 예를 들어, 하나 이상의 지정된 셀은 상기 리프레쉬 비트 벡터 셀(141...142)에 대응되는 행(131...132)을 기준으로 선택될 수 있거나 하나 이상의 상기 리프레쉬 비트 벡터 셀에 대응되는 복수의 액세스 블록을 기준으로 지정될 수 있다.
상기 제어부(111)는 상기 리프레쉬 비트 셀(145)의 비트 값이 대표하는 상기 리프레쉬 비트 벡터 셀들(141...142)의 비트 값을 OR 비트 연산(OR Bitwise operation)한 비트 값을 상기 리프레쉬 비트 셀(145)의 비트 값으로 갱신하는 것이 바람직하다.
또한, 상기 제어부(111)는 비트 값이 0 또는 1인 리프레쉬 비트 셀(145)이 대표하는 리프레쉬 비트 벡터 셀(141...142)의 비트 값이 상기 리프레쉬 비트 셀(145)의 비트 값과 상이한 개수가 기 설정된 기준 이상이면 상기 동적 메모리 데이터 셀(130)에서 상기 리프레쉬 비트 벡터 셀(141...142)에 대응하는 행 또는 하나 이상의 액세스 블록에 대응하는 셀(131...132)의 비트 값을 모두 상기 LLC(230) 또는 상기 물리적 저장 매체(300)로 전송할 수 있다.
아울러, 상기 제어부(111)는 상기 LLC(230) 또는 상기 물리적 저장 매체(300)로 전송한 상기 동적 메모리 데이터 셀(130)의 셀(131...132)에 대응하는 리프레쉬 비트 벡터 셀(141...142) 및 이를 대표하는 리프레쉬 비트 셀(145)의 비트 값을 상기 리프레쉬 비트 셀(145)이 저장했던 비트 값과 다른 값으로 모두 갱신하는 것이 바람직하다.
도 2 및 도 3에서 설명한 바와 같이, 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치(100)는 동적 메모리와 직접적인 데이터 교환을 수행하는 LLC(230)와 물리적 저장 매체(300)의 읽기 접근 및 쓰기 접근(1)을 기초로 데이터 셀(130)을 선택적으로 리프레쉬(2)하여 동적메모리(100), LLC(230) 및 물리적 저장 매체(300) 간의 중복 데이터의 연관성을 고려하여 중복 데이터를 최소화하며 이와 관계되어 동적 메모리(100) 내에서 리프레쉬를 최소화하도록 하므로 전력 소모를 감소시키며 실질적인 리프레쉬 효율 및 로우 버퍼 히트 비율을 높일 수 있다.
아울러, 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치(100)는 데이터 셀의 행 또는 액세스 블록과 대응하는 리프레쉬 비트 벡터 셀(141) 및 복수의 리프레쉬 비트 벡터 셀(141...142)을 대표하는 리프레쉬 비트 셀(145)을 구성하여 리프레쉬 비트 셀(145)의 갱신된 비트 값에 근거하여 리프레쉬할 행(131...132) 또는 액세스 블록을 선택적으로 지정하여 리프레쉬하도록 하므로 메모리 접근 시간을 감소시키고 읽기 및 쓰기 성능을 향상시킨다.
도 4는 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치(100)의 동작 예시도이며, 도 5 내지 도 8은 본 발명의 일 실시 예에 따른 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 방법의 순서도다.
도 4를 참조하면, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)는 레지스터(210) 및 캐쉬(220)를 포함할 수 있는 프로세서(200)에서 LLC(230)의 캐쉬 라인(cache line)이 에빅션(eviction)되면 LLC(230)가 동적 메모리 장치(100)로 쓰기 요청(DRAM write request)을 전송(1)한다.
또한, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)는 상기 LLC(230)가 데이터를 동적 메모리 장치(100)로부터 읽으면 LLC(230)는 동적 메모리 장치(100)로 읽기 요청(DRAM read request)을 전송(2)한다.
더불어, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)는 페이지 스왑이 일어나면 동적 메모리 데이터 셀(130)의 데이터를 읽어 물리적 저장 매체(300: 예를 들어, HDD)에 데이터를 쓴다(3).
아울러, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)는 페이지 할당시 상기 물리적 저장 매체(300)로부터 데이터를 읽어 동적 메모리 데이터 셀(130)에 데이터를 쓴다(4).
상술한 바에 따라, 도 4 및 도 8을 참조하면, 물리적 저장 매체(300)로부터 읽어들인 페이지는 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)의 데이터 셀(131...132 중 일부 이상)에 할당(S13, S30)되고, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)는 해당 리프레쉬 비트 벡터 셀(141)의 비트를 1로 갱신(S50)한다. 이때, 상기 리프레쉬 비트 벡터 셀(141)을 대표하는 리프레쉬 비트 셀(145)은 1로 갱신(S90)된다.
또한, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)는 프로세서(200)의 LLC(230)에서 상기 리프레쉬 비트 셀(145)이 대표하는 동적 메모리 장치(100)의 리프레쉬 비트 벡터 셀(141)에 대응되는 동적 메모리 데이터 셀의 데이터(예를 들어, 관계된 행 모두 또는 관계된 액세스 블록 모두)을 모두 읽어갈 때까지(S60, S70), 예를 들어, 상기 리프레쉬 비트 벡터 셀(141...142)의 비트 값이 하나라도 1이라면 상기 리프레쉬 비트 셀(145)의 비트 값을 1로 유지하여 지속적으로 리프레쉬를 수행한다.
이의 바람직한 실시 예로서, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)의 제어부(111)는 상기 LLC(230) 또는 상기 물리적 저장 매체(300)로부터 상기 동적 메모리 데이터 셀(130)의 행 또는 하나 이상의 액세스 블록으로 데이터가 입력(1,4)될 때, 그에 대응하는 리프레쉬 비트 벡터 셀(143)에 해당 입력 접근에 대응하는 비트 값으로 1을 저장(S90)할 수 있다.
또한, 도 4 및 도 5를 참조하면, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)는 LLC(230)가 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)로부터 데이터를 읽을 때(2, S10,S20), 상기 동적 메모리 콘트롤러(110)가 읽기 어드레스(read address)에 해당하는 리프레쉬 비트 벡터 셀(143)의 비트 값을 0으로 갱신(S30)하여 해당하는 동적 메모리 데이터 셀(130)의 데이터가 LLC(230)에 있음을 표시한다.
이때, 상기 리프레쉬 비트 셀(146)의 비트 값은 상기 리프레쉬 비트 셀(145)이 대표하는 리프레쉬 비트 벡터 셀(141...142)의 비트 값이 모두 0이 될 때(S60,S70)까지 1로 유지(S90)한다.
이의 바람직한 실시 예로서, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)의 상기 제어부(111)는 상기 동적 메모리 데이터 셀(130)의 행 또는 하나 이상의 액세스 블록(131...132)으로부터 상기 LLC(230) 또는 상기 물리적 저장 매체(300)로 데이터가 출력(2,3)될 때, 그에 대응하는 리프레쉬 비트 벡터 셀(141...142)에 해당 출력 접근에 대응하는 비트 값으로 0을 저장(S80)한다.
한편, 도 4 및 도 6을 참조하면, 상기 LLC(230)의 캐쉬 라인(cache line)이 에빅션(eviction)되면(1, S11), 상기 동적 메모리 콘트롤러(110)에 쓰기(write) 명령이 전달(S30)되는데, 이때, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)는 해당하는 동적 메모리 데이터 셀(130)의 행 또는 해당 액세스 블록의 셀(131...132)을 리프레쉬 해주며, 리프레쉬되는 상기 동적 메모리 데이터 셀(130)의 행 또는 해당 액세스 블록의 셀(131...132)과 대응하는 리프레쉬 비트 벡터 셀(141...142)의 비트 값을 1로 갱신(S50)하고 동시에 갱신한 리프레쉬 비트 벡터 셀(141..142)을 대표하는 리프레쉬 비트 셀(145)의 비트 값도 1로 갱신(S90)한다.
또한, 도 4 및 도 7을 참조하면, 동적 메모리 장치(100)에서 페이지 스왑(page swap)이 발생(3, S12)하면, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)는 동적 메모리 장치(100)의 페이지(page)를 상기 물리적 저장 매체(300)로 전송(S20)하고, 상기 페이지에 해당하는 데이터를 저장했던 상기 동적 메모리 데이터 셀(130)의 행 또는 해당 액세스 블록의 셀(131...132)과 대응하는 리프레쉬 비트 벡터 셀(141...142)의 비트 값을 0으로 모두 갱신(S40)하고 동시에 갱신한 리프레쉬 비트 벡터 셀(141...142)을 대표하는 리프레쉬 비트 셀(145)의 비트 값도 해당 행의 리프레쉬 비트 벡터 셀(141...142)의 비트 값이 0인 경우 모두 0으로 갱신(S80)한다.
바람직한 실시 예로서, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)는 동적 메모리 데이터 셀의 행(131...132)이 닫힐(close) 때(S60), 이와 대응하는 리프레쉬 비트 벡터 셀(141...142)의 비트 값이 모두 0이면 이를 대표하는 리프레쉬 비트 셀(145)의 비트 값을 0으로 갱신(S70, S80)한다.
더욱 상세한 실시 예로서, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)의 상기 제어부(111)는 상기 리프레쉬 비트 셀(145)이 대표하는 상기 리프레쉬 비트 벡터 셀(141...142)의 비트 값 중 하나 이상이 1이면 상기 리프레쉬 비트 셀(145)의 비트 값을 1로 저장하며, 상기 리프레쉬 비트 벡터 셀(141...142)의 비트 값이 모두 0이면 상기 리프레쉬 비트 셀(145)의 비트 값을 0으로 저장할 수 있다.
이때, 상기 리프레쉬 후보 지정부(112)는 상기 리프레쉬 비트 셀(145)의 비트 값이 0이면 상기 리프레쉬 비트 셀(145)에 대응하는 상기 동적 메모리 데이터 셀(130)의 해당 행 또는 해당 액세스 블록의 셀(131...132)은 리프레쉬할 셀에서 제외한다.
즉, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)는 상기 동적 메모리 데이터 셀(131...132)에 대한 리프레쉬를 수행할 때, 해당 리프레쉬 비트 셀(145)의 비트 값이 1인 경우 상기 리프레쉬 비트 벡터 셀(141...142)을 통해 상기 리프레쉬 비트 셀(145)과 대응하는 동적 메모리 데이터 셀의 해당하는 행 또는 액세스 블록(131...132)을 리프레쉬하며, 0인 경우 리프레쉬를 수행하지 않는다.
이와 같이, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)에서 상기 리프레쉬 비트 셀(145)의 비트 값이 0인 것은 상기 리프레쉬 비트 벡터 셀(141...142)을 통해 대응되는 해당 동적 메모리 데이터 셀의 행 또는 액세스 블록(131...132)의 모든 데이터가 LLC(230) 또는 물리적 저장 매체(300)에 존재한다는 것을 의미하므로 리프레쉬를 수행하지 않을 수 있다.
더욱 바람직하게는, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)는 리프레쉬 효율을 향상시키기 위해 행의 리프레쉬 비트 벡터 셀(141...142)의 비트 값이 0인 개수가 일정 수를 넘으면, 즉, 대부분의 데이터가 LLC(230)에 있으면, 리프레시 비트 벡터 셀(141...142)의 비트 값이 1로 설정된 동적 메모리 데이터 셀(130)의 데이터(131...132)를 모두 LLC(230)로 전송할 수 있다.
또한, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)는 LLC(230)에서 에빅션(eviction)이 발생하여 해당 행(131...132)의 리프레쉬 비트 벡터 셀(141...142)의 비트 값이 1인 개수가 일정 수를 넘으면, 이에 해당하는 동적 메모리 데이터 셀(130)의 데이터(131...132)를 물리적 저장 매체(300)로 전송(3)하고 전송한 행(131...132)과 대응하는 모든 리프레쉬 비트 벡터 셀(141...142)의 비트 값을 0으로 갱신할 수 있다.
그 후, 갱신한 리프레쉬 비트 벡터 셀(141...142)의 비트 값 및 이를 대표하는 리프레쉬 비트 셀(145)의 비트 값을 0으로 갱신하여 해당하는 행은 리프레쉬하지 않도록 한다.
바람직한 실시 예로서, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)의 상기 제어부(111)는 비트 값이 1인 리프레쉬 비트 셀(145)이 대표하는 리프레쉬 비트 벡터 셀(141...142)의 비트 값이 0인 개수가 기 설정된 기준 이상이면 상기 동적 메모리 데이터 셀(130)에서 상기 리프레쉬 비트 벡터 셀(141...142)에 대응하는 행 또는 하나 이상의 액세스 블록에 대응하는 셀(131...132)의 비트 값을 모두 상기 LLC(230)로 전송(2)할 수 있다.
또 다른 바람직한 실시 예로서, 본 발명의 일 실시 예에 따른 동적 메모리 장치(100)의 상기 제어부(111)는 비트 값이 1인 리프레쉬 비트 셀(145)이 대표하는 리프레쉬 비트 벡터 셀(141...142)의 비트 값이 1인 개수가 기 설정된 기준 이상이면 상기 동적 메모리 데이터 셀(130)에서 상기 리프레쉬 비트 벡터 셀(141...142)에 대응하는 행 또는 하나 이상의 액세스 블록에 대응하는 셀(131...132)의 비트 값을 모두 상기 물리적 저장 매체(300)로 전송(3)할 수 있다.
이때, 상술한 바와 같이, 상기 제어부(111)는 상기 LLC(230) 또는 상기 물리적 저장 매체(300)로 전송(2,3)한 상기 동적 메모리 데이터 셀(130)의 해당 셀(131...132)에 대응하는 리프레쉬 비트 벡터 셀(141...142) 및 이를 대표하는 리프레쉬 비트 셀(145)의 비트 값을 모두 0으로 설정할 수 있다.
한편, 바람직한 실시 예로서, 본 발명의 일 실시 예에 따른 선택적 리프레쉬 방법은 동적 메모리 데이터 셀(130)을 통해, 프로세서(200: Processor)의 LLC(230: Last Level Cache) 및 HDD(Hard Disk Drive) 또는 SSD(Solid State Drive)인 물리적 저장 매체 사이(300)에서 데이터를 전달하는 동적 메모리 장치(100)의 선택적 리프레쉬 방법으로서, 제어부(111)가 상기 동적 메모리 데이터 셀(130)의 행마다 액세스 블록의 수를 기준으로 구성된 동적 메모리 히스토리 셀(140)에 상기 LLC(230) 또는 상기 물리적 저장 매체(300) 중 하나 이상의 읽기 접근 및 쓰기 접근에 따른 기록을 저장하는 단계, 리프레쉬 후보 지정부(112)가 상기 동적 메모리 히스토리 셀(140)에 저장된 읽기 접근 및 쓰기 접근의 기록에 근거하여 상기 동적 메모리 데이터 셀(130)에서 하나 이상의 리프레쉬할 셀(131...132)을 지정하는 단계 및 상기 제어부(111)가 상기 리프레쉬 후보 지정부(112)에서 지정된 셀(131...132)을 선택적으로 리프레쉬하는 단계를 포함한다.
다른 바람직한 실시 예에 따른 본 발명의 선택적 리프레쉬 방법은 제어부(111)가 상기 LLC(230) 또는 상기 물리적 저장 매체(300) 중 하나 이상의 읽기 접근 및 쓰기 접근에 대해, 접근되는 상기 동적 메모리 데이터 셀(130)의 행 또는 액세스 블록(131...132)에 대응하는 리프레쉬 비트 벡터 셀(141...142)에 상기 읽기 접근과 쓰기 접근에 따라 서로 상이하게 구분되도록 비트 값을 갱신하는 단계, 상기 제어부(111)가 기 설정된 기준에 따라 복수의 리프레쉬 비트 벡터 셀(141...142)에 대응하는 리프레쉬 비트 셀(145)의 비트 값을 상기 복수의 리프레쉬 비트 벡터 셀(141...142)에 갱신된 각각의 비트 값을 대표하는 값으로 갱신하는 단계, 리프레쉬 후보 지정부(112)가 상기 리프레쉬 비트 셀(145)의 갱신된 비트 값에 근거하여, 상기 동적 메모리 데이터 셀(130)에서 상기 갱신된 비트 값에 대응하는 하나 이상의 리프레쉬할 셀(131...132)을 지정하는 단계 및 상기 제어부(111)가 상기 리프레쉬 후보 지정부(112)에서 상기 갱신된 비트 값에 의해 리프레쉬하도록 지정된 셀(131...132)을 선택적으로 리프레쉬하는 단계를 포함한다.
이때, 본 발명의 일 실시 예에 따른 선택적 리프레쉬 방법은 상기 제어부(111)가 상기 LLC(230) 또는 상기 물리적 저장 매체(300)가 요청한 상기 동적 메모리 데이터 셀(130)의 읽기 접근에 대해 요청한 LLC(230) 또는 물리적 저장 매체(300)로 해당 행 또는 액세스 블록의 데이터(131...132)를 전송하는 단계 및 상기 제어부(111)가 상기 LLC(230) 또는 상기 물리적 저장 매체(300)와의 상기 동적 메모리 데이터 셀(130)의 쓰기 접근에 대해 상기 LLC(230) 또는 물리적 저장 매체(300)로부터 해당 행 또는 액세스 블록의 데이터(131...132)를 전송받아 저장하는 단계를 더 포함할 수 있다.
이상에서는 본 발명에 따른 바람직한 실시 예들에 대하여 도시하고 또한 설명하였다. 그러나 본 발명은 상술한 실시 예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.
100: 동적 메모리 장치(DRAM: Dynamic Random Access Memory)
110: 동적 메모리 콘트롤러(DRAM Controller)
111: 제어부 112: 리프레쉬 후보 지정부
113: 어드레스 지정부 114: 워드 디코드부
115: 비트 디코드부 120: 동적 메모리 셀(DRAM Cells)
130: 동적 메모리 데이터 셀(DRAM Data Cells)
140: 동적 메모리 히스토리 셀(DRAM History Cells)
131,132,141,142,145: 동적 메모리 셀(DRAM Cell)
143: 리프레쉬 비트 벡터(Refresh Bit Vector) 셀
146: 리프레쉬 비트(Refresh Bit) 셀
200: 프로세서(Processor) 210: 레지스터(Register)
220: 캐쉬(Cache) 230: LLC(Last Level Cache)
300: HDD(Hard Disk Drive)

Claims (24)

  1. 동적 메모리 데이터 셀을 통해, 프로세서(Processor)의 LLC(Last Level Cache) 및 HDD(Hard Disk Drive) 또는 SSD(Solid State Drive)인 물리적 저장 매체 사이에서 데이터를 전달하는 동적 메모리 장치에 있어서,
    상기 LLC 또는 상기 물리적 저장 매체 중 하나 이상의 읽기 접근 및 쓰기 접근에 따른 기록이 저장되며, 상기 동적 메모리 데이터 셀의 행마다 액세스 블록의 수를 기준으로 구성된 동적 메모리 히스토리 셀;
    상기 동적 메모리 히스토리 셀에 저장된 읽기 접근 및 쓰기 접근의 기록에 근거하여 상기 동적 메모리 데이터 셀에서 하나 이상의 리프레쉬할 셀을 지정하는 리프레쉬 후보 지정부;및
    상기 LLC 또는 상기 물리적 저장 매체 중 하나 이상의 읽기 접근 및 쓰기 접근에 따른 데이터 교환 시에 상기 동적 메모리 히스토리 셀의 기록 저장을 제어하며, 상기 리프레쉬 후보 지정부에서 지정된 셀을 선택적으로 리프레쉬하는 제어부;를 포함하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  2. 제 1항에 있어서, 상기 제어부는
    상기 동적 메모리 히스토리 셀에 상기 LLC의 캐쉬 라인(Cache line) 갱신에 의한 읽기 접근 및 쓰기 접근 또는 상기 물리적 저장 매체와의 페이징(Paging)에 의한 읽기 접근 및 쓰기 접근에 따른 기록을 저장하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  3. 제 1항에 있어서, 상기 제어부는
    상기 동적 메모리 히스토리 셀에 비트(Bit) 값으로 상기 읽기 접근과 상기 쓰기 접근을 서로 상이하게 구분하여 상기 기록으로 저장하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  4. 제 3항에 있어서, 상기 동적 메모리 히스토리 셀은
    상기 동적 메모리 데이터 셀의 행(Row) 또는 하나 이상의 액세스 블록(Access Block)의 읽기 접근 및 쓰기 접근의 기록이 비트(Bit) 값으로 서로 상이하게 구분되어 저장되도록 상기 행 또는 하나 이상의 액세스 블록에 대응하여 비트 값이 저장되는 리프레쉬 비트 벡터 셀(Refresh Bit Vector Cells)을 구비하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  5. 제 4항에 있어서, 상기 동적 메모리 히스토리 셀은
    기 설정된 기준에 따라, 복수의 상기 리프레쉬 비트 벡터 셀에 저장된 각각의 비트 값을 대표하는 비트(Bit) 값이 저장되는 리프레쉬 비트 셀(Refresh Bit Cells)을 더 구비하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  6. 제 5항에 있어서,
    상기 리프레쉬 후보 지정부는 상기 리프레쉬 비트 셀의 저장된 비트 값에 근거하여, 상기 동적 메모리 데이터 셀에서 상기 저장된 비트 값에 대응하는 하나 이상의 리프레쉬할 셀을 지정하고,
    상기 제어부는 상기 리프레쉬 비트 벡터 셀 및 상기 리프레쉬 비트 셀의 비트 값의 저장을 제어하며, 상기 리프레쉬 후보 지정부에서 상기 저장된 비트 값에 의해 리프레쉬하도록 지정된 셀을 선택적으로 리프레쉬하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  7. 제 6항에 있어서, 상기 제어부는
    상기 LLC 또는 상기 물리적 저장 매체로부터 상기 동적 메모리 데이터 셀의 행 또는 하나 이상의 액세스 블록으로 데이터가 입력될 때, 그에 대응하는 리프레쉬 비트 벡터 셀에 해당 입력 접근에 대응하는 비트 값으로 1을 저장하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  8. 제 7항에 있어서, 상기 제어부는
    상기 동적 메모리 데이터 셀의 행 또는 하나 이상의 액세스 블록으로부터 상기 LLC 또는 상기 물리적 저장 매체로 데이터가 출력될 때, 그에 대응하는 리프레쉬 비트 벡터 셀에 해당 출력 접근에 대응하는 비트 값으로 0을 저장하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  9. 제 8항에 있어서, 상기 제어부는
    상기 리프레쉬 비트 셀이 대표하는 상기 리프레쉬 비트 벡터 셀의 비트 값 중 하나 이상이 1이면 상기 리프레쉬 비트 셀의 비트 값을 1로 저장하며, 상기 리프레쉬 비트 벡터 셀의 비트 값이 모두 0이면 상기 리프레쉬 비트 셀의 비트 값을 0으로 저장하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  10. 제 9항에 있어서, 상기 리프레쉬 후보 지정부는
    상기 리프레쉬 비트 셀의 비트 값이 0이면 상기 리프레쉬 비트 셀에 대응하는 상기 동적 메모리 데이터 셀의 해당 행 또는 해당 액세스 블록의 셀은 리프레쉬할 셀에서 제외하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  11. 제 6항에 있어서, 상기 제어부는
    비트 값이 1인 리프레쉬 비트 셀이 대표하는 리프레쉬 비트 벡터 셀의 비트 값이 0인 개수가 기 설정된 기준 이상이면 상기 동적 메모리 데이터 셀에서 상기 리프레쉬 비트 벡터 셀에 대응하는 행 또는 하나 이상의 액세스 블록에 대응하는 셀의 비트 값을 모두 상기 LLC로 전송하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  12. 제 6항에 있어서, 상기 제어부는
    비트 값이 1인 리프레쉬 비트 셀이 대표하는 리프레쉬 비트 벡터 셀의 비트 값이 1인 개수가 기 설정된 기준 이상이면 상기 동적 메모리 데이터 셀에서 상기 리프레쉬 비트 벡터 셀에 대응하는 행 또는 하나 이상의 액세스 블록에 대응하는 셀의 비트 값을 모두 상기 물리적 저장 매체로 전송하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  13. 제 11항 또는 제 12항에 있어서, 상기 제어부는
    상기 LLC 또는 상기 물리적 저장 매체로 전송한 상기 동적 메모리 데이터 셀의 해당 셀에 대응하는 리프레쉬 비트 벡터 셀 및 이를 대표하는 리프레쉬 비트 셀의 비트 값을 모두 0으로 설정하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  14. 제 6항에 있어서, 상기 리프레쉬 비트 벡터 셀의 개수는
    행 버퍼 크기(Row buffer size) / 동적 메모리 데이터 셀의 액세스 블록 크기(DRAM access block size)인 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  15. 제 14항에 있어서, 상기 동적 메모리 데이터 셀의 액세스 블록 크기는
    상기 LLC의 캐쉬 라인 크기(Cache line size)인 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  16. 동적 메모리 데이터 셀을 통해, 프로세서(Processor)의 LLC(Last Level Cache) 및 HDD(Hard Disk Drive) 또는 SSD(Solid State Drive)인 물리적 저장 매체 사이에서 데이터를 전달하는 동적 메모리 장치에 있어서,
    상기 LLC 또는 상기 물리적 저장 매체 중 하나 이상의 읽기 접근 및 쓰기 접근에 대해, 접근되는 상기 동적 메모리 데이터 셀의 행 또는 액세스 블록(Access Block)과 대응하며, 상기 읽기 접근과 쓰기 접근에 따라 서로 상이하게 구분되도록 비트 값이 갱신되는 리프레쉬 비트 벡터 셀 및 기 설정된 기준에 따라 자신의 비트(Bit) 값을 복수의 상기 리프레쉬 비트 벡터 셀에 갱신된 각각의 비트 값을 대표하는 값으로 갱신되는 리프레쉬 비트 셀(Refresh Bit Cells)을 구비하는 동적 메모리 히스토리 셀;
    상기 리프레쉬 비트 셀의 갱신된 비트 값에 근거하여, 상기 동적 메모리 데이터 셀에서 상기 갱신된 비트 값에 대응하는 하나 이상의 리프레쉬할 셀을 지정하는 리프레쉬 후보 지정부;및
    상기 리프레쉬 비트 벡터 셀 및 상기 리프레쉬 비트 셀의 비트 값의 갱신을 제어하며, 상기 리프레쉬 후보 지정부에서 상기 갱신된 비트 값에 의해 리프레쉬하도록 지정된 셀을 선택적으로 리프레쉬하는 제어부;를 포함하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  17. 제 16항에 있어서, 상기 제어부는
    상기 리프레쉬 비트 셀의 비트 값이 대표하는 상기 리프레쉬 비트 벡터 셀들의 비트 값을 OR 비트 연산(OR Bitwise operation)한 비트 값을 상기 리프레쉬 비트 셀의 비트 값으로 갱신하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  18. 제 16항에 있어서, 상기 제어부는
    비트 값이 0 또는 1인 리프레쉬 비트 셀이 대표하는 리프레쉬 비트 벡터 셀의 비트 값이 상기 리프레쉬 비트 셀의 비트 값과 상이한 개수가 기 설정된 기준 이상이면 상기 동적 메모리 데이터 셀에서 상기 리프레쉬 비트 벡터 셀에 대응하는 행 또는 하나 이상의 액세스 블록에 대응하는 셀의 비트 값을 모두 상기 LLC 또는 상기 물리적 저장 매체로 전송하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  19. 제 18항에 있어서, 상기 제어부는
    상기 LLC 또는 상기 물리적 저장 매체로 전송한 상기 동적 메모리 데이터 셀의 셀에 대응하는 리프레쉬 비트 벡터 셀 및 이를 대표하는 리프레쉬 비트 셀의 비트 값을 상기 리프레쉬 비트 셀이 저장했던 비트 값과 다른 값으로 모두 갱신하는 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  20. 제 16항에 있어서, 상기 리프레쉬 비트 벡터 셀의 개수는
    행 버퍼 크기(Row buffer size) / 동적 메모리 데이터 셀의 액세스 블록 크기(DRAM access block size)인 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  21. 제 16항에 있어서, 상기 동적 메모리 데이터 셀의 액세스 블록의 크기는
    상기 LLC의 캐쉬 라인 크기(Cache line size)인 것을 특징으로 하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치.
  22. 동적 메모리 데이터 셀을 통해, 프로세서(Processor)의 LLC(Last Level Cache) 및 HDD(Hard Disk Drive) 또는 SSD(Solid State Drive)인 물리적 저장 매체 사이에서 데이터를 전달하는 동적 메모리 장치의 선택적 리프레쉬 방법에 있어서,
    a) 제어부가 상기 동적 메모리 데이터 셀의 행마다 액세스 블록의 수를 기준으로 구성된 동적 메모리 히스토리 셀에 상기 LLC 또는 상기 물리적 저장 매체 중 하나 이상의 읽기 접근 및 쓰기 접근에 따른 기록을 저장하는 단계;
    b) 리프레쉬 후보 지정부가 상기 동적 메모리 히스토리 셀에 저장된 읽기 접근 및 쓰기 접근의 기록에 근거하여 상기 동적 메모리 데이터 셀에서 하나 이상의 리프레쉬할 셀을 지정하는 단계;및
    c) 상기 제어부가 상기 리프레쉬 후보 지정부에서 지정된 셀을 선택적으로 리프레쉬하는 단계;를 포함하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치의 선택적 리프레쉬 방법.
  23. 동적 메모리 데이터 셀을 통해, 프로세서(Processor)의 LLC(Last Level Cache) 및 HDD(Hard Disk Drive) 또는 SSD(Solid State Drive)인 물리적 저장 매체 사이에서 데이터를 전달하는 동적 메모리 장치의 선택적 리프레쉬 방법에 있어서,
    a) 제어부가 상기 LLC 또는 상기 물리적 저장 매체 중 하나 이상의 읽기 접근 및 쓰기 접근에 대해, 접근되는 상기 동적 메모리 데이터 셀의 행 또는 액세스 블록에 대응하는 리프레쉬 비트 벡터 셀에 상기 읽기 접근과 쓰기 접근에 따라 서로 상이하게 구분되도록 비트 값을 갱신하는 단계;
    b) 상기 제어부가 기 설정된 기준에 따라 복수의 리프레쉬 비트 벡터 셀에 대응하는 리프레쉬 비트 셀의 비트 값을 상기 복수의 리프레쉬 비트 벡터 셀에 갱신된 각각의 비트 값을 대표하는 값으로 갱신하는 단계;
    c) 리프레쉬 후보 지정부가 상기 리프레쉬 비트 셀의 갱신된 비트 값에 근거하여, 상기 동적 메모리 데이터 셀에서 상기 갱신된 비트 값에 대응하는 하나 이상의 리프레쉬할 셀을 지정하는 단계;및
    d) 상기 제어부가 상기 리프레쉬 후보 지정부에서 상기 갱신된 비트 값에 의해 리프레쉬하도록 지정된 셀을 선택적으로 리프레쉬하는 단계;를 포함하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치의 선택적 리프레쉬 방법.
  24. 제 23항에 있어서,
    e) 상기 제어부가 상기 LLC 또는 상기 물리적 저장 매체가 요청한 상기 동적 메모리 데이터 셀의 읽기 접근에 대해 요청한 LLC 또는 물리적 저장 매체로 해당 행 또는 액세스 블록의 데이터를 전송하는 단계;및
    f) 상기 제어부가 상기 LLC 또는 상기 물리적 저장 매체와의 상기 동적 메모리 데이터 셀의 쓰기 접근에 대해 상기 LLC 또는 물리적 저장 매체로부터 해당 행 또는 액세스 블록의 데이터를 전송받아 저장하는 단계;를 더 포함하는 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 선택적 리프레쉬 방법.
KR1020130000616A 2013-01-03 2013-01-03 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법 KR101436442B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130000616A KR101436442B1 (ko) 2013-01-03 2013-01-03 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법
PCT/KR2013/000558 WO2014106966A1 (ko) 2013-01-03 2013-01-24 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130000616A KR101436442B1 (ko) 2013-01-03 2013-01-03 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법

Publications (2)

Publication Number Publication Date
KR20140088725A true KR20140088725A (ko) 2014-07-11
KR101436442B1 KR101436442B1 (ko) 2014-09-01

Family

ID=51062281

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130000616A KR101436442B1 (ko) 2013-01-03 2013-01-03 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법

Country Status (2)

Country Link
KR (1) KR101436442B1 (ko)
WO (1) WO2014106966A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022092988A1 (en) * 2020-11-02 2022-05-05 Deepx Co., Ltd. A memory device for an artificial neural network
US11693566B2 (en) 2021-02-22 2023-07-04 Samsung Electronics Co., Ltd. Storage device and storage system for storing sensor data in an autonomous vehicle
US11922051B2 (en) 2020-11-02 2024-03-05 Deepx Co., Ltd. Memory controller, processor and system for artificial neural network
US11972137B2 (en) 2020-11-02 2024-04-30 Deepx Co., Ltd. System and memory for artificial neural network (ANN) optimization using ANN data locality

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102017284B1 (ko) 2015-05-26 2019-09-02 삼성전자주식회사 부팅 디바이스 및 그 동작 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0757460A (ja) * 1993-08-12 1995-03-03 Sony Corp リフレッシュ制御回路
JP3125733B2 (ja) * 1997-12-09 2001-01-22 日本電気株式会社 レジスタ付きdram
US6167484A (en) 1998-05-12 2000-12-26 Motorola, Inc. Method and apparatus for leveraging history bits to optimize memory refresh performance
US6094705A (en) * 1999-03-10 2000-07-25 Picoturbo, Inc. Method and system for selective DRAM refresh to reduce power consumption
US6876593B2 (en) 2003-07-01 2005-04-05 Intel Corporation Method and apparatus for partial refreshing of DRAMS
US6954387B2 (en) 2003-07-15 2005-10-11 International Business Machines Corporation Dynamic random access memory with smart refresh scheduler

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022092988A1 (en) * 2020-11-02 2022-05-05 Deepx Co., Ltd. A memory device for an artificial neural network
US11922051B2 (en) 2020-11-02 2024-03-05 Deepx Co., Ltd. Memory controller, processor and system for artificial neural network
US11972137B2 (en) 2020-11-02 2024-04-30 Deepx Co., Ltd. System and memory for artificial neural network (ANN) optimization using ANN data locality
US11693566B2 (en) 2021-02-22 2023-07-04 Samsung Electronics Co., Ltd. Storage device and storage system for storing sensor data in an autonomous vehicle

Also Published As

Publication number Publication date
KR101436442B1 (ko) 2014-09-01
WO2014106966A1 (ko) 2014-07-10

Similar Documents

Publication Publication Date Title
EP3121703B1 (en) Data caching method, cache and computer system
US6754783B2 (en) Memory controller with power management logic
JP4360766B2 (ja) Dramキャッシュ・メモリ中のデータをリフレッシュする方法および装置
KR100881052B1 (ko) 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른검색방법
US6876593B2 (en) Method and apparatus for partial refreshing of DRAMS
KR101436442B1 (ko) 읽기 및 쓰기 접근에 따른 선택적 리프레쉬 기능을 구비한 동적 메모리 장치 및 그 선택적 리프레쉬 방법
KR20160116533A (ko) 리프레쉬 동작을 관리하는 메모리 콘트롤러, 메모리 시스템 및 그 동작방법
WO2018090255A1 (zh) 内存访问技术
US8874849B2 (en) Sectored cache with a tag structure capable of tracking sectors of data stored for a particular cache way
US20170091099A1 (en) Memory controller for multi-level system memory having sectored cache
US20090094435A1 (en) System and method for cache access prediction
JP2011204060A (ja) ディスク装置
US20210056030A1 (en) Multi-level system memory with near memory capable of storing compressed cache lines
US7917692B2 (en) Method and system for using dynamic random access memory as cache memory
JP2023543426A (ja) Dramのリフレッシュ管理リスト
US8370564B2 (en) Access control device, information processing device, access control program and access control method
US7328311B2 (en) Memory controller controlling cashed DRAM
US10606517B2 (en) Management device and information processing device
WO2016043158A1 (ja) メモリ制御回路および記憶装置
US20240118835A1 (en) Solid state drive having mram and methods for operating the same
US10872041B2 (en) Method and apparatus for journal aware cache management
US10592163B2 (en) Controlling write pulse width to non-volatile memory based on free space of a storage
US6433786B1 (en) Memory architecture for video graphics environment
US20240177746A1 (en) Address decoding method, and memory controller and semiconductor memory system using the same
JPH04324187A (ja) ダイナミックram

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20170707

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180723

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190808

Year of fee payment: 6