KR20200122118A - 데이터 처리 시스템 및 이의 동작 방법 - Google Patents

데이터 처리 시스템 및 이의 동작 방법 Download PDF

Info

Publication number
KR20200122118A
KR20200122118A KR1020190044981A KR20190044981A KR20200122118A KR 20200122118 A KR20200122118 A KR 20200122118A KR 1020190044981 A KR1020190044981 A KR 1020190044981A KR 20190044981 A KR20190044981 A KR 20190044981A KR 20200122118 A KR20200122118 A KR 20200122118A
Authority
KR
South Korea
Prior art keywords
refresh
memory
memory module
controller
command
Prior art date
Application number
KR1020190044981A
Other languages
English (en)
Inventor
임민수
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020190044981A priority Critical patent/KR20200122118A/ko
Priority to US16/693,076 priority patent/US20200333980A1/en
Priority to CN201911215620.6A priority patent/CN111833935A/zh
Priority to JP2020003000A priority patent/JP2020177646A/ja
Publication of KR20200122118A publication Critical patent/KR20200122118A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Landscapes

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

Abstract

본 기술의 일 실시예에 의한 데이터 처리 시스템은 복수의 페이지를 포함하는 복수의 메모리 뱅크로 구성되는 메모리 모듈; 및 메모리 모듈을 제어하는 컨트롤러;를 포함하고, 컨트롤러는 호스트로부터 오프로드하여 처리할 연산의 어플리케이션 종류, 어플리케이션의 프로그램 코드 저장 주소를 수신하여 프로그램 코드를 실행하고, 실행 결과로 생성된 데이터를 메모리 모듈에 저장하며, 어플리케이션의 종류에 기초하여 메모리 모듈의 리프레쉬 여부 또는 주기를 제어하도록 구성될 수 있다.

Description

데이터 처리 시스템 및 이의 동작 방법{Data Processing System and Operating Method Thereof}
본 발명은 컴퓨팅 장치에 관한 것으로, 보다 구체적으로는 데이터 처리 시스템 및 이의 동작 방법에 관한 것이다.
인공지능 어플리케이션 및 빅데이터 분석에 대한 관심과 중요성이 높아지면서, 대용량의 데이터를 효율적으로 처리할 수 있는 컴퓨팅 시스템에 대한 요구가 증가하고 있다.
전통적인 컴퓨팅 시스템이 프로세서 중심 컴퓨팅에 집중하였다면, 최근의 컴퓨팅 시스템은 방대한 데이터를 고속으로 병렬 처리할 수 있는 데이터 중심 컴퓨팅, 또는 메모리 중심 컴퓨팅으로 진화하였다. 이에 따라 프로세서와 메모리 간의 데이터 병목 현상을 줄일 수 있어 연산 성능이 극대화되고 있다.
하지만 컴퓨팅 장치의 성능 및 속도 향상은 에너지 소비량의 증가와 발열을 유발할 수 있다.
본 기술의 실시예는 전력 효율이 우수한 데이터 처리 시스템 및 이의 동작 방법을 제공할 수 있다.
본 기술의 일 실시예에 의한 데이터 처리 시스템은 복수의 페이지를 포함하는 복수의 메모리 뱅크로 구성되는 메모리 모듈; 및 상기 메모리 모듈을 제어하는 컨트롤러;를 포함하고, 상기 컨트롤러는 호스트로부터 오프로드하여 처리할 연산의 어플리케이션 종류, 상기 어플리케이션의 프로그램 코드 저장 주소를 수신하여 상기 프로그램 코드를 실행하고, 상기 실행 결과로 생성된 데이터를 상기 메모리 모듈에 저장하며, 상기 어플리케이션의 종류에 기초하여 상기 메모리 모듈의 리프레쉬 여부 또는 주기를 제어하도록 구성될 수 있다.
본 기술의 일 실시예에 의한 데이터 처리 시스템의 동작 방법은 복수의 페이지를 포함하는 복수의 메모리 뱅크로 구성되는 메모리 모듈 및 상기 메모리 모듈을 제어하는 컨트롤러를 포함하는 데이터 처리 시스템의 동작 방법으로서, 호스트가 어플리케이션에 대한 연산 처리를 요청함에 따라, 상기 컨트롤러가 상기 호스트로부터 상기 어플리케이션의 종류, 상기 어플리케이션의 프로그램 코드 저장 주소를 수신하는 단계; 상기 프로그램 코드를 로딩할 상기 메모리의 주소 및 상기 프로그램 코드가 처리됨에 따라 생성되는 데이터를 저장할 상기 메모리 모듈의 주소를 판단하는 단계; 및 상기 어플리케이션의 종류에 기초하여 상기 메모리 모듈의 리프레쉬 여부 또는 주기를 제어하는 리프레쉬 제어 단계;를 포함하도록 구성될 수 있다.
본 기술에 의하면 메모리에 저장된 데이터의 특성에 따라 데이터를 유지하기 위한 부가 동작을 제어함에 의해 데이터 처리 시스템의 전력 효율을 향상시킬 수 있다.
도 1은 일 실시예에 의한 데이터 처리 시스템을 포함하는 전자 장치의 구성도이다.
도 2는 일 실시예에 의한 메모리 모듈의 구성도이다.
도 3은 일 실시예에 의한 컨트롤러의 구성도이다.
도 4는 일 실시예에 의한 전력 관리부의 구성도이다.
도 5 내지 도 7은 실시예들에 따른 리프레쉬 주기 설정 방법을 설명하기 위한 도면이다.
도 8은 일 실시예에 의한 데이터 처리 시스템의 동작 방법을 설명하기 위한 흐름도이다.
도 9 내지 도 11은 실시예들에 의한 적층형 반도체 장치의 구성도이다.
도 12는 일 실시예에 의한 네트워크 시스템의 구성도이다.
이하, 첨부된 도면을 참조하여 본 기술의 실시예를 보다 구체적으로 설명한다.
도 1은 일 실시예에 의한 데이터 처리 시스템을 포함하는 전자 장치의 구성도이다.
도 1을 참조하면, 전자 장치(1)는 호스트(10) 및 데이터 처리 시스템(100)을 포함할 수 있다.
전자 장치(10)는 개인용 컴퓨터, 서버 컴퓨터, 모바일 컴퓨팅 장치, 자동차의 전자 제어 장치 등 다양한 전자 장치일 수 있다.
전자 장치(10)는 슈퍼컴퓨터 또는 컴퓨터 클러스터를 사용하여 협력적인 방식으로 고급 연산을 수행하는 고성능 컴퓨팅(High Performance Computing: HPC) 장치, 또는 개별적으로 데이터를 처리하는 네트워킹된 정보 처리 장치들 또는 서버들의 어레이를 포함할 수 있다.
호스트(10)는 사용자 인터페이스를 통해 사용자에게 다양한 서비스를 제공할 수 있다. 이를 위해 호스트(10)는 데이터 처리 시스템(100)으로 데이터 처리와 관련된 요청, 어드레스, 그리고 필요한 경우 데이터를 전송하고, 그에 대한 처리 결과를 수신할 수 있다.
데이터 처리 시스템(100)은 호스트(10)의 요청 및 어드레스에 응답하여 대응하는 동작을 수행하고, 필요한 경우 데이터를 호스트(10)로 전송할 수 있다.
호스트(10)는 데이터 처리 시스템(100)에 오프로드하여 처리할 연산의 어플리케이션 관련 정보를 데이터 처리 시스템(100)으로 전송할 수 있다. 어플리케이션 관련 정보는 어플리케이션 종류, 어플리케이션의 프로그램 코드 저장 주소 및 초기 데이터를 포함할 수 있다. 데이터 처리 시스템(100)은 이에 응답하여 오프로드한 연산을 처리할 수 있다. 여기에서, 오프로드란 호스트(10)의 연산을 다른 장치, 예를 들어 데이터 처리 시스템(100)으로 위임하는 것을 의미한다.
일 실시예에서, 어플리케이션 종류는 처리 과정에서 발생하는 데이터가 유실되어도 무방한지를 나타내는 특성에 따라 구분될 수 있다.
데이터 처리 시스템(100)는 메모리 모듈(200) 및 컨트롤러(300)를 포함할 수 있다.
메모리 모듈(200)은 컨트롤러(300)의 제어에 따라 데이터를 저장하거나 저장된 데이터를 출력할 수 있다. 메모리 모듈(200)은 휘발성 메모리 장치(VM)를 포함할 수 있다. 휘발성 메모리 장치(VM)의 예로 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory) 등을 들 수 있다.
메모리 모듈(200)은 휘발성 메모리 장치에 더하여, EEPROM(Electrically Erasable and Programmable ROM), 낸드(NAND) 플래시 메모리, 노어(NOR) 플래시 메모리, PRAM(Phase-Change RAM), ReRAM(Resistive RAM) FRAM(Ferroelectric RAM), STT-MRAM(Spin Torque Transfer Magnetic RAM) 등과 같은 다양한 비휘발성 메모리 장치(NVM)를 더 포함할 수 있다.
데이터 처리 시스템(100)의 컨트롤러(300)는 호스트(10)로부터 제공되는 어플리케이션 프로그램 코드 저장 주소에 대응하는 메모리 영역으로부터 프로그램 코드를 읽어와 메모리 모듈(200)의 제 1 영역에 로딩하고 실행, 즉 연산할 수 있다. 이에 따라 생성된 데이터들은 메모리 모듈(200)의 제 2 영역에 저장할 수 있다. 일 실시예에서, 프로그램 코드는 비휘발성 메모리 장치(NVM)에 저장될 수 있다. 컨트롤러(300)는 호스트(10)의 어플리케이션 처리 요청에 응답하여 비휘발성 메모리 장치(NVM)의 프로그램 코드를 휘발성 메모리 장치(VM)의 제 1 영역에 로딩될 수 있다. 프로그램 코드를 실행함에 따라 생성된 데이터들은 휘발성 메모리 영역(VM)의 제 2 영역에 임시 저장된 후, 필요에 따라 비휘발성 메모리 장치(NVM)에 저장될 수 있다.
일 실시예에서, 제 1 영역에 저장된 프로그램 코드는 어플리케이션이 실행되는 동안 제 1 영역에 유지될 필요가 있다. 이를 위해 컨트롤러(300)는 제 1 영역의 메모리 셀을 기 설정된 주기로 리프레쉬할 수 있다.
일 실시예에서, 기계학습 또는 인공지능 어플리케이션을 실행하여 제2 영역에 저장된 데이터는 일회성이거나, 또는 무의미하거나 중요도가 낮은 데이터일 수 있다. 이러한 데이터들은 표준에서 요구하는 데이터 보유 시간 내에 리프레쉬되지 않아도 어플리케이션을 처리하는 데 영향을 주지 않을 수 있다. 일 실시예에서, 컨트롤러(300)는 메모리 모듈(200)의 제 2 영역에 포함된 메모리 셀을 리프레쉬하지 않거나, 기 설정된 리프레쉬 주기보다 긴 주기로 리프레쉬할 수 있다.
유실되어도 무방한 데이터가 저장된 메모리 영역에 대해 리프레쉬가 덜 수행되거나 수행되지 않도록 제어함에 의해 데이터 처리 시스템(100)이 소모하는 전력량을 감소시킬 수 있다.
도 2는 일 실시예에 의한 메모리 모듈의 구성도이다.
도 2에 도시한 것과 같이, 메모리 모듈(200)은 로직 회로부(210) 및 메모리 코어(220)를 포함할 수 있다.
로직 회로부(210)는 커맨드 처리 로직(211), 어드레스 처리 로직(213) 및 데이터 송수신 로직(215)을 포함할 수 있다.
커맨드 처리 로직(211)은 컨트롤러(300)로부터 제공되는 커맨드를 버퍼링하고 디코딩하여 메모리 코어(220)로 제공할 수 있다.
어드레스 처리 로직(213)은 컨트롤러(300)로부터 제공되는 어드레스를 버퍼링하고 디코딩하여 메모리 코어(220)로 제공할 수 있다.
데이터 송수신 로직(215)은 컨트롤러(300)로부터 제공되는 데이터를 메모리 코어(220)로 전달하는 한편, 메모리 코어(220)로부터 제공되는 데이터를 컨트롤러(300)로 전달하도록 구성될 수 있다.
메모리 코어(220)는 복수의 뱅크를 포함할 수 있다. 각각의 뱅크는 복수의 로우(Row)(페이지) 및 컬럼(Column)에 각각 접속되는 메모리 셀들을 포함할 수 있다. 일 실시예에서, 메모리 셀은 DRAM 셀일 수 있다.
DRAM 메모리 셀은 저장된 데이터가 소실되지 않도록 주기적으로 리프레쉬되며, 리프레쉬 동작은 컨트롤러(300)의 제어 하에 커맨드 처리 로직(211)에서 생성되는 오토 리프레쉬 명령에 기초하여, 또는 로직 회로부(210)에서 자체적으로 생성되는 셀프 리프레쉬 명령에 기초하여 뱅크 단위 또는 뱅크별 로우(페이지) 단위로 수행될 수 있다.
리프레쉬 주기는 DRAM 메모리 셀의 공정, 크기, 동작 온도 등에 기초하여 결정될 수 있다.
단위 로우에 접속된 메모리 셀들에 대한 리프레쉬 간격(Tref)은 메모리 셀의 데이터 유지 시간보다 짧게 설정될 수 있다. 각각의 로우를 로우 어드레스에 따라 순차적으로 선택하면서 리프레쉬하는 경우, 메모리 모듈(200)의 각 뱅크를 구성하는 N개의 로우에 접속된 메모리 셀들을 완전히 리프레쉬하기 위한 리프레쉬 주기(Cycle)는 Tref/N으로 설정될 수 있다.
따라서, 메모리 모듈(200)을 구성하는 셀의 특성, 메모리 모듈(200)의 용량에 따라 리프레쉬 사이클은 다르게 설정될 수 있다.
주기적인 리프레쉬 동작은 데이터 처리 시스템(100), 나아가 전자 장치(1)의 전력 소모량을 증가시킨다. 인공지능이나 머신러닝에 채용되는 데이터 처리 시스템(100)은 방대한 양의 데이터를 처리하기 위해 대용량 메모리 모듈(200)을 채택하고 있으며, 주기적인 리프레쉬 동작으로 인한 전력 소모 문제를 해결하기 위한 방안이 필요하다.
본 기술의 일 실시예에 의하면, 유실되어도 무방한 데이터가 저장된 메모리 영역에 대해 리프레쉬가 덜 수행되거나 수행되지 않도록 제어함에 의해 데이터 처리 시스템(100)이 소모하는 전력량을 감소시킬 수 있다.
도 3은 일 실시예에 의한 컨트롤러의 구성도이다.
도 3을 참조하면, 일 실시예에 의한 컨트롤러(300)는 프로세서(301), 호스트 인터페이스(303) 및 메모리 인터페이스(305)를 포함할 수 있다.
프로세서(301)는 메모리 모듈(200)에 대한 데이터의 읽기 및 쓰기 동작에 필요한 다양한 제어 정보를 호스트 인터페이스(301) 및 메모리 인터페이스(303)에 전달하도록 구성될 수 있다. 일 실시예에서, 프로세서(301)는 호스트(10)가 전송하는 명령에 응답하여 호스트(10)가 요청한 연산을 처리할 수 있다. 호스트(10)가 요청한 연산을 처리하기 위하여 프로세서(301)는 호스트(10) 또는 메모리 모듈(200)로부터 제공되는 데이터를 이용할 수 있다.
일 실시예에서, 프로세서(301)는 전자 장치(1)에서 실행되는 특화된 어플리케이션을 위한 논리 함수를 실행할 수 있다. 일 실시예에서, 전자 장치(1)는 높은 대역폭을 요구하는 기계학습 어플리케이션, 또는 기계학습 처리를 수반하는 인공지능 어플리케이션을 실행할 수 있고 프로세서(301)는 기계학습 이나 인공지능 어플리케이션에 특화된 논리 함수를 실행할 수 있다.
호스트 인터페이스(303)는 호스트(10)와 데이터 처리 시스템(100) 간의 인터페이스를 제공할 수 있다. 호스트 인터페이스(301)는 호스트(10)로부터 제공되는 커맨드를 저장 및 스케쥴링하여 프로세서(301)로 제공할 수 있다. 호스트 인터페이스(303)는 프로세서(301)의 제어에 따라 호스트(10)로부터 제공되는 데이터를 프로세서(301) 또는 메모리 인터페이스(305)로 제공하거나, 메모리 모듈(200)로부터 메모리 인터페이스(305)를 통해 제공된 데이터를 호스트(10)로 제공할 수 있다.
메모리 인터페이스(305)는 호스트 인터페이스(303) 또는 프로세서(301)로부터 제공된 데이터를 메모리 모듈(200)로 전송하거나, 메모리 모듈(200)에서 리드한 데이터를 전달받아 프로세서(301) 또는 호스트 인터페이스(303)로 제공할 수 있다. 이를 위해, 메모리 인터페이스(305)는 컨트롤러(300)와 메모리 모듈(200) 간의 신호 송수신을 위한 통신 채널을 제공할 수 있다.
일 실시예에서, 프로세서(301)는 명령 처리부(310), 연산 처리부(320) 및 전력 관리부(330)를 포함할 수 있다.
명령 처리부(310)는 호스트 인터페이스(303)를 통해 제공되는 호스트(10)의 명령을 복호화하여 출력할 수 있다. 호스트(10)는 데이터 처리 시스템(100)으로 특정 어플리케이션에 대한 연산 처리를 컨트롤러(300)의 연산 처리부(320)에서 오프로드하여 처리하도록 명령할 수 있고, 명령 처리부(310)는 오프로드 명령을 추출하고 복호화하여 출력할 수 있다.
연산 처리부(320)는 명령 처리부(310)로부터 출력된 명령에 응답하여 메모리 모듈(200)의 제 1 영역에 로딩된 프로그램 코드에 따라 호스트(10)로부터 오프로드한 연산을 처리할 수 있다. 연산 처리부(320)의 연산 처리 결과로 생성된 데이터는 기 설정된 레지스터 설정값에 따라 메모리 모듈(200)의 특정 영역, 예를 들어 제 2 영역에 저장될 수 있다.
일 실시예에서, 연산 처리부(320)는 산술논리장치(Arithmetic Logic Unit; ALU), 부동소수점장치(Floating-Point Unit; FPU)를 포함할 수 있다.
일 실시예에서, 호스트(10)는 특정 어플리케이션에 대한 연산 처리를 데이터 처리 시스템(100)으로 오프로드하기 위해 오프로드하여 처리할 연산의 어플리케이션 종류, 어플리케이션의 프로그램 코드 저장 주소 및 초기 데이터를 포함하는 어플리케이션 관련 정보를 전송할 수 있다. 데이터 처리 시스템(100)은 프로그램 코드 저장 주소에 접근하여 메모리 모듈(200)의 제 1 영역에 프로그램 코드를 로딩하고 실행하여 연산을 처리하며, 연산 처리 결과를 메모리 모듈(200)의 제 2 영역에 저장할 수 있다.
전력 관리부(330)는 메모리 모듈(200)에서 소모하는 전력량을 관리하도록 구성될 수 있다.
호스트(10)가 데이터 처리 시스템(100)으로 오프로드 처리 요청한 연산의 어플리케이션은 높은 대역폭을 요구하는 기계학습 어플리케이션, 빅데이터 처리에 특화된 논리 함수일 수 있다. 기계학습 어플리케이션은 예를 들어 자율주행 차량 등에 적용되는 이미지 처리 어플리케이션일 수 있다. 자율주행 차량의 경우 주변의 사물이나 동물 이미지를 입력 데이터로 하여 주변 상황을 식별한 후에는 입력 데이터를 더 이상 사용하지 않을 수 있다. 빅 데이터를 처리하는 경우 입력되는 수많은 데이터들을 가공한 결과값만 사용될 뿐 입력값은 더 이상 재사용하지 않는 상황이 있을 수 있다. CNN (Convolutional Neural Network) 어플리케이션의 경우에는 입력으로 사용되는 이미지는 해상도가 다소 낮더라도 이미 검출의 정확도에 영향을 주지 않는다.
이와 같이, 특화된 어플리케이션을 위한 논리 함수를 연산하는 경우에는 일회성 데이터 또는 무의미하거나 중요도가 맞은 데이터가 차지하는 비중이 높다.
이러한 데이터들은 메모리 모듈(200)에 계속해서 유지될 필요가 없으므로, 전력 관리부(330)는 이러한 데이터들이 저장된 메모리 셀에 대한 리프레쉬 동작을 제어하여 불필요한 전력 소모를 억제할 수 있다.
일 실시예에서, 전력 관리부(330)는 메모리 모듈(200)로 전송하는 커맨드 인터페이스를 이용하여 리프레쉬 동작을 제어할 수 있다.
도 4는 일 실시예에 의한 전력 관리부의 구성도이다.
도 4를 참조하면, 전력 관리부(330)는 어플리케이션 인식부(3301), 저장위치 판단부(3303) 및 리프레쉬 주기 설정부(3305)를 포함할 수 있다.
호스트(10)가 데이터 처리 시스템(100)으로 오프로드하여 처리할 연산의 어플리케이션 관련 정보를 전송함에 따라, 어플리케이션 인식부(3301)는 해당 연산의 어플리케이션의 종류를 파악할 수 있다. 어플리케이션 인식부(3301)는 어플리케이션 종류에 따라, 해당 연산 처리 과정에서 발생하는 데이터가 유실되어도 무방한지의 여부를 판단할 수 있다.
저장위치 판단부(3303)는 연산 처리부(320)로부터 프로그램 코드가 로딩되는 제 1 영역의 위치 및 어플리케이션에 대한 연산의 처리 과정에서 발생하는 데이터가 저장되는 제 2 영역의 위치를 제공받을 수 있다.
리프레쉬 주기 설정부(3305)는 어플리케이션 인식부(3301)에서 파악한 어플리케이션의 종류 및 저장위치 판단부(3303)에서 제공받은 데이터 저장 위치에 기초하여, 제 1 영역 및 제 2 영역 각각에 대한 리프레쉬 여부 또는 주기를 설정할 수 있다.
일 실시예에서, 리프레쉬 주기 설정부(3305)는 제 1 영역에 포함되는 메모리 셀은 기 설정된 주기마다 리프레쉬되도록 하고, 제 2 영역에 포함되는 메모리 셀은 리프레쉬하지 않거나 기 설정된 주기보다 긴 주기로 리프레쉬되도록 제어할 수 있다.
리프레쉬 주기 설정부(3305)는 제 1 영역 및 제 2 영역에 대한 리프레쉬 제어 정보를 메모리 인터페이스(305)를 통해 메모리 모듈(200)로 제공하여 제 1 영역 및 제 2 영역에 포함된 메모리 셀의 리프레쉬 주기가 제어되도록 할 수 있다.
일 실시예에서, 리프레쉬 주기 설정부(3305)는 커맨드 인터페이스를 통해 전송되는 커맨드를 이용하여 리프레쉬 제어 정보를 전송할 수 있다. 일 실시예에서, 리프레쉬 제어 정보를 전송하기 위한 커맨드는 메모리 모듈(200)을 구성하는 메모리 뱅크 단위로 동작을 제어하는 커맨드, 또는 메모리 뱅크별 로우 단위로 동작을 제어하는 커맨드일 수 있다. 메모리 뱅크 단위로 동작을 제어하는 커맨드는 액티브 커맨드일 수 있으나 이에 한정되지 않는다. 메모리 뱅크별 로우 단위로 동작을 제어하는 커맨드는 뱅크별 리프레쉬 커맨드일 수 있으나 이에 한정되지 않는다.
도 5 내지 도 7은 실시예들에 따른 리프레쉬 주기 설정 방법을 설명하기 위한 도면이다.
도 5 및 도 6은 커맨드 인터페이스를 이용한 리프레쉬 주기 설정 방법을 나타낸다. 일 실시예에서, 도 5는 액티브 커맨드를 이용한 리프레쉬 제어 정보 전송 방법을 설명하기 위한 도면이다.
액티브 커맨드(ACT)는 DRAM으로 구성되는 메모리 모듈(200)에 포함된 복수의 메모리 뱅크 중 특정 메모리 뱅크를 활성화(Activation)하기 위해 컨트롤러(300)가 메모리 모듈(200)로 전송하는 커맨드이다. 액티브 커맨드(ACT)는 클럭의 라이징 에지 및 폴링 에지를 통해 2-사이클로 전송될 수 있는데, 이 중 미사용 인터페이스, 예를 들어 R[6], R[7]이 존재한다. 리프레쉬 주기 설정부(3305)는 미사용 인터페이스를 통해 페이지별 리프레쉬 제어 신호(PPRE)를 전송할 수 있다.
구체적으로, 저장위치 판단부(3303)에서 제 2 영역의 뱅크 어드레스(BA) 및 로우 어드레스(RA)가 추출될 수 있고, 추출된 뱅크의 로우 별로 리프레쉬 여부 또는 주기를 제어하기 위한 페이지별 리프레쉬 제어 신호(PPRE)를 전송할 수 있다.
메모리 모듈(200)은 컨트롤러(300)로부터 전송되는 액티브 커맨드에 포함된 뱅크 어드레스(BA), 로우 어드레스(RA) 및 페이지별 리프레쉬 제어 신호(PPRE)를 추출하고, 해당 뱅크의 해당 로우에 대한 리프레쉬 동작을 온 또는 오프시킬 수 있다. 예를 들어 페이지별 리프레쉬 제어 신호(PPRE)의 논리 레벨이 논리 로우 레벨인 경우 해당 뱅크의 해당 로우에 대해서는 리프레쉬를 수행하지 않을 수 있다.
도 6은 뱅크별 리프레쉬 커맨드를 이용한 리프레쉬 제어 정보 전송 방법을 설명하기 위한 도면이다.
뱅크별 리프레쉬 커맨드(REFSB)는 DRAM으로 구성되는 메모리 모듈(200)에 포함된 복수의 메모리 뱅크 중 특정 뱅크를 리프레쉬하기 위해, 즉 메모리 뱅크 별로 리프레쉬를 수행하기 위해 컨트롤러(300)가 메모리 모듈(200)로 전송하는 커맨드이다. 뱅크별 리프레쉬 커맨드(REFSB)는 클럭의 라이징 에지 및 폴링 에지를 통해 1-사이클로 전송될 수 있는데, 이 중 미사용 인터페이스, 예를 들어 R[0]이 존재한다. 리프레쉬 주기 설정부(3305)는 미사용 인터페이스 R[0]를 통해 뱅크별 리프레쉬 제어 신호(PBRE)를 전송할 수 있다.
구체적으로, 저장위치 판단부(3303)에서 제 2 영역의 뱅크 어드레스(BA)가 추출될 수 있고, 추출된 뱅크 별로 리프레쉬 여부 또는 주기를 제어하기 위한 페이지별 리프레쉬 제어 신호(PPRE)를 전송할 수 있다.
메모리 모듈(200)은 컨트롤러(300)로부터 전송되는 뱅크별 리프레쉬 커맨드에 포함된 뱅크 어드레스(BA) 및 뱅크별 리프레쉬 제어 신호(PBRE)를 추출하고, 해당 뱅크에 대한 리프레쉬 동작을 온 또는 오프시킬 수 있다. 예를 들어 뱅크별 리프레쉬 제어 신호(PBRE)의 논리 레벨이 논리 로우 레벨인 경우 해당 뱅크에 대해서는 리프레쉬를 수행하지 않을 수 있다.
도 5 및 도 6에서 설명한 것과 같이, 메모리 모듈(200)을 구성하는 특정 뱅크 또는 특정 뱅크의 특정 로우 단위로 리프레쉬 온/오프를 제어할 수 있다.
도 7은 특정 뱅크 또는 특정 뱅크의 로우 별로 리프레쉬 주기를 설정하는 방법을 설명하기 위한 도면이다.
메모리 모듈(200)을 구성하는 특정 뱅크 또는 특정 뱅크의 로우 단위로 리프레쉬 단위를 설정하기 위하여, 리프레쉬 주기 설정부(3305)는 어플리케이션 인식부(3301)에서 파악한 어플리케이션의 종류 및 저장위치 판단부(3303)에서 제공받은 데이터 저장 위치에 기초하여, 제 1 영역 및 제 2 영역 각각에 대한 리프레쉬 주기를 설정할 수 있다. 일 실시예에서, 프로그램 코드가 저장되는 제 1 영역에 포함되는 메모리 뱅크는 규격에서 정의한 리프레쉬 주기에 따라 리프레쉬할 수 있다. 일 실시예에서, 유실되어도 무방한 데이터가 저장되는 제 2 영역에 포함되는 메모리 뱅크는 규격에서 정의한 리프레쉬 주기보다 긴 주기, 예를 들어 N배(N은 1보다 큰 유리수) 긴 주기마다 리프레쉬할 수 있다.
리프레쉬 주기 설정부는 데이터의 저장 위치별로, 즉 뱅크 어드레스 및/또는 로우 어드레스 별로 리프레쉬 주기(Cycle)를 설정한 데이터를 룩업 테이블(3307)로 저장할 수 있다. 그리고, 룩업 테이블(3307)에 저장된 사이클에 따라 특정 뱅크, 또는 특정 뱅크의 특정 로우로 리프레쉬 커맨드를 전송할 수 있다.
메모리 모듈(200)은 룩업 테이블에서 정의한 주기마다 컨트롤러(300)로부터 전송되는 리프레쉬 커맨드에 응답하여 리프레쉬를 수행할 수 있다.
인공지능은 인간의 지적능력을 모방하기 위한 방법을 연구하는 분야로 컴퓨터 공학 및 반도체를 포함한 여러 분야에 직간접적으로 많은 영향을 주고 있다.
최근 인공신경망 알고리즘과 기계학습에 대한 활발한 연구 결과로 인해, 이미지 인식, 자연어 처리 등의 정확도는 인간 수준까지 향상되었으며, 향후 자율주행 자동차, 자동화 시스템 등의 분야에서도 높은 정확도의 인공지능 기술이 실현될 것으로 예측된다.
인공지능 알고리즘을 처리하는 데 있어서, 본 기술에서와 같이 연산 과정에서 생성된 데이터의 메모리 내 유지 시간을 제어함으로써 데이터 처리 장치(100)의 전력 효율을 증대시킬 수 있다.
도 8은 일 실시예에 의한 데이터 처리 시스템의 동작 방법을 설명하기 위한 흐름도이다.
데이터 처리 시스템(100)의 동작 또는 대기 중에(S101), 호스트(10)는 데이터 처리 시스템(100)으로 특정 어플리케이션의 연산을 오프로드하여 처리할 것을 요청할 수 있다(S103).
호스트(10)느 이를 위해 데이터 처리 시스템(100)으로 어플리케이션의 종류, 어플리케이션의 프로그램 코드 저장 주소를 전송할 수 있다(S105). 이에 따라 비휘발성 메모리 장치(NVM)의 해당 영역에 저장되어 있는 프로그램 코드는 휘발성 메모리 장치(VM)의 제 1 영역에 로딩될 수 있고, 컨트롤러(300)가 프로그램 코드를 실행함에 따라 생성되는 데이터는 휘발성 메모리 장치(VM)의 제 2 영역에 저장될 수 있다.
컨트롤러(300)는 프로그램 코드가 로딩된 제 1 영역의 주소 및 데이터가 저장될 제 2 영역의 주소를 판단할 수 있다(S107).
그리고, 컨트롤러(300)는 어플리케이션의 종류에 기초하여 제 1 및 제 2 영역에 포함된 메모리 뱅크의 리프레쉬 여부 또는 주기를 할 수 있다(S107).
일 실시예에서, 프로그램 코드가 저장되는 제 1 영역에 포함되는 메모리 뱅크는 규격에서 정의한 리프레쉬 주기에 따라 리프레쉬할 수 있다. 일 실시예에서, 유실되어도 무방한 데이터가 저장되는 제 2 영역에 포함되는 메모리 뱅크는 규격에서 정의한 리프레쉬 주기보다 긴 주기, 예를 들어 N배(N은 1보다 큰 유리수) 긴 주기마다 리프레쉬하거나 리프레쉬 하지 않을 수 있다.
리프레쉬 여부 미 주기를 제어하기 위한 제어 신호는 메모리 뱅크별 동작 제어 커맨드, 또는 메모리 뱅크의 페이지(로우)별 동작 제어 커맨드를 통해 전송할 수 있으나 이에 한정되는 것은 아니다.
도 9 내지 도 11은 실시예들에 의한 적층형 반도체 장치의 구성도이다.
도 9는 일 실시예에 의한 적층형 반도체 장치의 구성도이다.
일 실시예에 의한 적층형 반도체 장치(40)는 복수의 다이가 적층된 적층 구조체(410)를 포함할 수 있다. 적층 구조체(410)는 복수의 다이를 적층하고, 관통 전극(TSV, Through Silicon Via)을 통해 전기적으로 연결시킴으로써 입/출력 유닛의 수를 늘려 대역폭(Bandwidth)을 증가시킨 HBM(High Bandwidth Memory) 형태로 구성될 수 있다.
적층 구조체(410)는 베이스 다이(Base Die)(414) 및 복수의 코어 다이(Core Die)(412)를 포함할 수 있다.
복수의 코어 다이(412)는 베이스 다이(414) 상에 적층될 수 있으며, 관통 전극(TSV)을 통해 서로 연결될 수 있다. 코어 다이(412) 각각에는 데이터를 저장하기 위한 메모리 셀들 및 메모리 셀의 코어 동작을 위한 회로들이 배치될 수 있다.
코어 다이(412)는 관통전극(TSV)을 통해 베이스 다이(414)와 전기적으로 접속되어, 관통전극(TSV)을 통해 베이스 다이(414)로부터 신호 및 전원 등을 제공받을 수 있다.
베이스 다이(414)는 예를 들어 도 2 내지 도 4에 도시한 것과 같은 컨트롤러(300)를 포함할 수 있다. 베이스 다이(414)는 적층형 반도체 장치(40) 내의 다양한 기능, 예를 들어, 메모리 셀들의 전력 관리 및 리프레쉬와 같은 메모리 관리 기능 혹은 코어 다이(412)와 베이스 다이(414) 간의 타이밍조절 기능들을 수행할 수 있다.
베이스 다이(414)에 구비되는 물리 영역(PHY)은 어드레스, 명령어, 데이터, 제어신호 등의 입출력 영역일 수 있다. 물리 영역(PHY)에는 적층형 반도체 장치(40)에 요구되는 데이터 처리 속도를 만족시킬 수 있는 수만큼의 입출력 회로부가 구비될 수 있다. 그리고 베이스 다이(414)의 배면 중 물리 영역(PHY) 부분에는 입출력 동작시 필요한 신호 및 전원을 공급받을 수 있도록 복수의 입출력 단자와 전원공급 단자가 구비될 수 있다.
도 10은 일 실시예에 의한 적층형 반도체 장치의 구성도이다.
도 10을 참조하면, 적층형 반도체 장치(400)는 복수의 코어 다이(412)와 베이스 다이(414)의 적층 구조체(410), 메모리 호스트(420) 및 인터페이스 기판(430)을 포함할 수 있다. 호스트(420)는 CPU, 또는 GPU, 또는 ASIC(Application Specific Integrated Circuit), 또는 FPGA(Field Programmable Gate Arrays) 등이 될 수 있다.
베이스 다이(414)는 코어 다이(412)와 호스트(420) 간의 인터페이스를 위한 회로가 실장될 수 있다. 적층 구조체(410)는 도 9를 참조하여 설명한 것과 유사한 구조를 가질 수 있다.
적층 구조체(410)와 호스트(420)는 인터페이스 기판(430)을 통해 각각의 물리 영역(PHY)이 연결될 수 있다. 인터페이스 기판(430)은 인터포저(Interposer)가 지칭될 수 있다.
도 11은 일 실시예에 의한 적층형 반도체 장치의 구성도이다.
도 11에 도시한 적층형 반도체 장치(4000)는 도 10에 도시한 적층형 반도체 장치(40)를 패키지 기판(440) 상에 배치한 것으로 이해할 수 있다.
패키지 기판(440)과 인터페이스 기판(430)은 접속단자를 통해 전기적으로 접속될 수 있다.
인터페이스 기판(430) 상에 도 9에 도시한 것과 같은 적층 구조체(410) 및 호스트(420)를 적층하고, 이를 패키지 기판(440)에 장착한 후 패키징하므로써 시스템 인 패키지(System In Package; SiP) 타입의 반도체 장치를 구현할 수 있다.
도 12는 일 실시예에 의한 네트워크 시스템의 구성도이다.
도 12를 참조하면, 네트워크 시스템(5000)은 네트워크(5500)를 통해서 연결된 서버 시스템(5300) 및 복수의 클라이언트 시스템들(5410~5430)을 포함할 수 있다.
서버 시스템(5300)은 복수의 클라이언트 시스템들(5410~5430)의 요청에 응답하여 데이터를 서비스할 수 있다. 예를 들면, 서버 시스템(5300)은 복수의 클라이언트 시스템들(5410~5430)로부터 제공된 데이터를 저장할 수 있다. 다른 예로서, 서버 시스템(5300)은 복수의 클라이언트 시스템들(5410~5430)로 데이터를 제공할 수 있다.
서버 시스템(5300)은 호스트 장치(5100) 및 메모리 시스템(5200)을 포함할 수 있다. 메모리 시스템(5200)은 도 2 내지 도 4에 도시한 데이터 처리 시스템으로 구성될 수 있다.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10 : 호스트
100 : 데이터 처리 시스템
200 : 메모리 모듈
300 : 컨트롤러

Claims (20)

  1. 복수의 페이지를 포함하는 복수의 메모리 뱅크로 구성되는 메모리 모듈; 및
    상기 메모리 모듈을 제어하는 컨트롤러;를 포함하고,
    상기 컨트롤러는 호스트로부터 오프로드하여 처리할 연산의 어플리케이션 종류, 상기 어플리케이션의 프로그램 코드 저장 주소를 수신하여 상기 프로그램 코드를 실행하고, 상기 실행 결과로 생성된 데이터를 상기 메모리 모듈에 저장하며, 상기 어플리케이션의 종류에 기초하여 상기 메모리 모듈의 리프레쉬 여부 또는 주기를 제어하도록 구성되는 데이터 처리 시스템.
  2. 제 1 항에 있어서,
    상기 컨트롤러는 상기 프로그램 코드를 상기 메모리 모듈의 제 1 영역에 로딩하며, 상기 제 1 영역에 포함된 메모리 뱅크를 기 설정된 주기마다 리프레쉬하도록 구성되는 데이터 처리 시스템.
  3. 제 1 항에 있어서,
    상기 컨트롤러는 상기 데이터를 상기 메모리 모듈의 제 2 영역에 저장하며, 상기 제 2 영역에 포함된 메모리 뱅크 별로 리프레쉬 여부 또는 주기를 제어하도록 구성되는 데이터 처리 시스템.
  4. 제 1 항에 있어서,
    상기 컨트롤러는 상기 메모리 뱅크별 동작 제어 커맨드를 이용하여 상기 메모리 뱅크의 리프레쉬 여부를 제어하도록 구성되는 데이터 처리 시스템.
  5. 제 4 항에 있어서,
    상기 커맨드는 액티브 커맨드를 포함하는 데이터 처리 시스템.
  6. 제 1 항에 있어서,
    상기 컨트롤러는 상기 데이터를 상기 메모리 모듈의 제 2 영역에 저장하며, 상기 제 2 영역에 포함된 메모리 뱅크의 페이지 별로 리프레쉬 여부 또는 주기를 제어하도록 구성되는 데이터 처리 시스템.
  7. 제 6 항에 있어서,
    상기 컨트롤러는 상기 메모리 뱅크의 페이지별 동작 제어 커맨드를 이용하여 상기 메모리 뱅크의 리프레쉬 여부를 제어하도록 구성되는 데이터 처리 시스템.
  8. 제 7 항에 있어서,
    상기 커맨드는 뱅크별 리프레쉬 커맨드를 포함하는 데이터 처리 시스템.
  9. 제 1 항에 있어서,
    상기 컨트롤러는 상기 메모리 뱅크별, 또는 상기 메모리 뱅크의 상기 페이지 별로 리프레쉬 사이클을 저장하는 룩업 테이블을 포함하며, 상기 룩업 테이블에 저장된 사이클에 기초하여 상기 메모리 모듈로 리프레쉬 커맨드를 전송하도록 구성되는 데이터 처리 시스템.
  10. 제 1 항에 있어서,
    상기 어플리케이션의 종류는 상기 컨트롤러가 상기 오프로드한 연산을 처리함에 따라 생성된 상기 데이터가 유실되어도 무방한지를 나타내는 특성에 따라 구분되는 데이터 처리 시스템.
  11. 복수의 페이지를 포함하는 복수의 메모리 뱅크로 구성되는 메모리 모듈 및 상기 메모리 모듈을 제어하는 컨트롤러를 포함하는 데이터 처리 시스템의 동작 방법으로서,
    호스트가 어플리케이션에 대한 연산 처리를 요청함에 따라, 상기 컨트롤러가 상기 호스트로부터 상기 어플리케이션의 종류, 상기 어플리케이션의 프로그램 코드 저장 주소를 수신하는 단계;
    상기 프로그램 코드를 로딩할 상기 메모리의 주소 및 상기 프로그램 코드가 처리됨에 따라 생성되는 데이터를 저장할 상기 메모리 모듈의 주소를 판단하는 단계; 및
    상기 어플리케이션의 종류에 기초하여 상기 메모리 모듈의 리프레쉬 여부 또는 주기를 제어하는 리프레쉬 제어 단계;
    를 포함하도록 구성되는 데이터 처리 시스템의 동작 방법.
  12. 제 11 항에 있어서,
    상기 컨트롤러는 상기 프로그램 코드를 상기 메모리 모듈의 제 1 영역에 로딩하며, 상기 레프레쉬 제어 단계는 상기 제 1 영역에 포함된 메모리 뱅크를 기 설정된 주기마다 리프레쉬하도록 제어하는 단계를 포함하는 데이터 처리 시스템의 동작 방법.
  13. 제 11 항에 있어서,
    상기 컨트롤러는 상기 데이터를 상기 메모리 모듈의 제 2 영역에 저장하며, 상기 리프레쉬 제어 단계는 상기 제 2 영역에 포함된 메모리 뱅크 별로 리프레쉬 여부 또는 주기를 제어하는 단계를 포함하도록 구성되는 데이터 처리 시스템의 동작 방법.
  14. 제 11 항에 있어서,
    상기 리프레쉬 제어 단계는, 상기 컨트롤러가 상기 메모리 모듈로 전송하는 상기 메모리 뱅크별 동작 제어 커맨드에 리프레쉬 제어 정보를 포함시켜 전송하는 단계를 포함하는 데이터 처리 시스템의 동작 방법.
  15. 제 14 항에 있어서,
    상기 커맨드는 액티브 커맨드를 포함하는 데이터 처리 시스템의 동작 방법.
  16. 제 11 항에 있어서,
    상기 컨트롤러는 상기 데이터를 상기 메모리 모듈의 제 2 영역에 저장하며, 상기 제 2 영역에 포함된 메모리 뱅크의 페이지 별로 리프레쉬 여부 또는 주기를 제어하도록 구성되는 데이터 처리 시스템의 동작 방법.
  17. 제 16 항에 있어서,
    상기 리프레쉬 제어 단계는, 상기 컨트롤러가 상기 메모리 모듈로 전송하는
    상기 메모리 뱅크의 페이지별 동작 제어 커맨드에 리프레쉬 제어 정보를 포함시켜 전송하는 단계를 포함하는 데이터 처리 시스템의 동작 방법.
  18. 제 17 항에 있어서,
    상기 커맨드는 뱅크별 리프레쉬 커맨드를 포함하는 데이터 처리 시스템의 동작 방법.
  19. 제 11 항에 있어서,
    상기 컨트롤러는 상기 메모리 뱅크별, 또는 상기 메모리 뱅크의 상기 페이지 별로 리프레쉬 사이클을 저장하는 룩업 테이블을 포함하며,
    상기 리프레쉬 제어 단계는, 상기 룩업 테이블에 저장된 사이클에 기초하여 상기 메모리 모듈로 리프레쉬 커맨드를 전송하는 단계를 포함하도록 구성되는 데이터 처리 시스템의 동작 방법.
  20. 제 11 항에 있어서,
    상기 어플리케이션의 종류는 상기 컨트롤러가 상기 데이터가 유실되어도 무방한지를 나타내는 특성에 따라 구분되는 데이터 처리 시스템의 동작 방법.
KR1020190044981A 2019-04-17 2019-04-17 데이터 처리 시스템 및 이의 동작 방법 KR20200122118A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190044981A KR20200122118A (ko) 2019-04-17 2019-04-17 데이터 처리 시스템 및 이의 동작 방법
US16/693,076 US20200333980A1 (en) 2019-04-17 2019-11-22 Data processing system and operating method thereof
CN201911215620.6A CN111833935A (zh) 2019-04-17 2019-12-02 数据处理系统及其操作方法
JP2020003000A JP2020177646A (ja) 2019-04-17 2020-01-10 データ処理システム及びその動作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190044981A KR20200122118A (ko) 2019-04-17 2019-04-17 데이터 처리 시스템 및 이의 동작 방법

Publications (1)

Publication Number Publication Date
KR20200122118A true KR20200122118A (ko) 2020-10-27

Family

ID=72832377

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190044981A KR20200122118A (ko) 2019-04-17 2019-04-17 데이터 처리 시스템 및 이의 동작 방법

Country Status (4)

Country Link
US (1) US20200333980A1 (ko)
JP (1) JP2020177646A (ko)
KR (1) KR20200122118A (ko)
CN (1) CN111833935A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7143463B2 (ja) * 2021-02-26 2022-09-28 華邦電子股▲ふん▼有限公司 半導体記憶装置
US11789649B2 (en) * 2021-04-22 2023-10-17 Nvidia Corporation Combined on-package and off-package memory system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101962874B1 (ko) * 2012-04-24 2019-03-27 삼성전자주식회사 메모리 장치, 메모리 컨트롤러, 메모리 시스템 및 이의 동작 방법

Also Published As

Publication number Publication date
US20200333980A1 (en) 2020-10-22
CN111833935A (zh) 2020-10-27
JP2020177646A (ja) 2020-10-29

Similar Documents

Publication Publication Date Title
US20210026774A1 (en) Data processing system and operating method thereof
US9437255B2 (en) Semiconductor device controlling refresh operation for preventing wordline disturbance
US10579462B2 (en) Method and apparatus for using an error signal to indicate a write request error and write request acceptance
US20160041596A1 (en) Power efficient method and system for executing host data processing tasks during data retention operations in a storage device
JP7244999B2 (ja) ディスターブ・ロウをケアするメモリ装置及びその動作方法
US20200333980A1 (en) Data processing system and operating method thereof
KR20200115114A (ko) 메모리에서 계산 동작들을 수행하기 위한 스케일링가능 아키텍처를 제공하는 기술들
US11966342B2 (en) Data processing system and operating method thereof
KR20230017802A (ko) 근거리-메모리 어드레스 생성을 갖는 메모리 액세스 명령
US20200334119A1 (en) Data processing system and operating method thereof
US20220043502A1 (en) Intelligent low power modes for deep learning accelerator and random access memory
EP3716076B1 (en) Technologies for providing high efficiency compute architecture on cross point memory for artificial intelligence operations
CN112988047A (zh) 数据处理系统及其操作方法
CN106875971B (zh) 动态随机存取存储器控制器及其控制方法
US10978131B2 (en) Mobile device and operation method thereof
CN110502459B (zh) 包括能处理数据的存储器设备的半导体系统及其操作方法
US11593202B2 (en) Data processing system, memory controller therefor, and operating method thereof
US11631448B1 (en) Memory device performing refresh operation and method of operating the same
US11804254B2 (en) Memory device and method of refreshing memory device based on temperature
CN118366502A (zh) 管理刷新操作的存储控制器及其操作方法
KR20160067238A (ko) 메모리 컨트롤러