KR20220032366A - 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법 - Google Patents

가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법 Download PDF

Info

Publication number
KR20220032366A
KR20220032366A KR1020200114045A KR20200114045A KR20220032366A KR 20220032366 A KR20220032366 A KR 20220032366A KR 1020200114045 A KR1020200114045 A KR 1020200114045A KR 20200114045 A KR20200114045 A KR 20200114045A KR 20220032366 A KR20220032366 A KR 20220032366A
Authority
KR
South Korea
Prior art keywords
bank
mode
mode signal
memory device
pes
Prior art date
Application number
KR1020200114045A
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 KR1020200114045A priority Critical patent/KR20220032366A/ko
Priority to US17/335,307 priority patent/US11561711B2/en
Priority to CN202110833742.2A priority patent/CN114155891A/zh
Priority to EP21188918.3A priority patent/EP3964971A1/en
Priority to TW110129636A priority patent/TWI781722B/zh
Publication of KR20220032366A publication Critical patent/KR20220032366A/ko
Priority to US18/145,186 priority patent/US12001699B2/en

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7821Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
    • 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/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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1069I/O lines read out arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/18Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different subgroups of the same main group of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Software Systems (AREA)
  • Dram (AREA)
  • Valve Device For Special Equipments (AREA)
  • Iron Core Of Rotating Electric Machines (AREA)
  • Vehicle Body Suspensions (AREA)

Abstract

본 개시의 기술적 사상의 일측면에 따른 메모리 장치는, 각각 다수의 뱅크들을 포함하는 제1 뱅크 영역과 제2 뱅크 영역을 포함하는 메모리 셀 어레이와, 상기 제1 뱅크 영역에 대응하는 하나 이상의 PE들과 상기 제2 뱅크 영역에 대응하는 하나 이상의 제2 PE들을 포함하는 연산 로직과, 외부로부터의 설정 정보에 기초하여 상기 제1 및 제2 뱅크 영역의 모드를 제어하는 제어 로직과, 상기 제1 및 제2 PE들의 인에이블을 제어하는 제1 및 제2 모드 신호 생성기를 구비하고, 상기 제1 뱅크 영역이 연산 모드로 설정되고 상기 제2 뱅크 영역 노멀 모드로 설정됨에 따라, 상기 제1 모드 신호 생성기는 제1 모드 신호를 출력하여 상기 제1 PE들을 인에이블시키고, 상기 제2 모드 신호 생성기는 제2 모드 신호를 출력하여 상기 제2 PE들을 디스에이블시키는 것을 특징으로 한다.

Description

가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법{Memory device performing configurable mode set and Operating method thereof}
본 개시의 기술적 사상은 메모리 장치에 관한 것으로서, 상세하게는 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법에 관한 것이다.
고성능 전자 시스템에 널리 사용되고 있는 반도체 메모리 장치(semiconductor memory device)는 그 용량 및 속도가 증가하고 있다. 또한, 데이터 저장 이외에도 메모리 장치 내에서 뉴럴 네트워크(neural network) 연산 등 다양한 종류의 연산 처리를 수행하는 방안이 제안되고 있으며, 일 예로서 메모리 장치는 다수의 뱅크들과 함께 이에 대응하여 연산 처리를 수행하는 다수의 프로세싱 엘레멘트(processing element, PE)들을 포함할 수 있다.
상기와 같은 구성에 따라, 메모리 장치는 데이터 기록 및 독출 등의 노멀한 메모리 동작과 함께 방대한 양의 연산 처리를 수행할 필요가 있다. 그러나, 방대한 양의 연산 처리를 위한 자원의 효율적인 배분이 필요로 되며, 노멀한 메모리 동작에서 그 속도가 저하될 수 있는 문제가 있다.
본 발명의 기술적 사상이 해결하려는 과제는, 방대한 양의 연산을 효율적으로 수행할 수 있는 자원 배분이 가능한 메모리 장치 및 그 동작방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 메모리 장치는, 각각 다수의 뱅크들을 포함하는 제1 뱅크 영역과 제2 뱅크 영역을 포함하는 메모리 셀 어레이와, 상기 제1 뱅크 영역에 대응하는 하나 이상의 제1 프로세싱 엘레멘트(PE)들과 상기 제2 뱅크 영역에 대응하는 하나 이상의 제2 PE들을 포함하는 연산 로직과, 외부로부터의 설정 정보에 기초하여 상기 제1 뱅크 영역 및 상기 제2 뱅크 영역의 모드를 제어하는 제어 로직과, 상기 제어 로직의 제어에 기초하여, 상기 제1 PE들의 인에이블을 제어하는 제1 모드 신호를 생성하는 제1 모드 신호 생성기 및 상기 제어 로직의 제어에 기초하여, 상기 제2 PE들의 인에이블을 제어하는 제2 모드 신호를 생성하는 제2 모드 신호 생성기를 구비하고, 상기 제1 뱅크 영역이 연산 모드로 설정되고 상기 제2 뱅크 영역 노멀 모드로 설정됨에 따라, 상기 제1 모드 신호 생성기는 상기 제1 모드 신호를 출력하여 상기 제1 PE들을 인에이블시키고, 상기 제2 모드 신호 생성기는 상기 제2 모드 신호를 출력하여 상기 제2 PE들을 디스에이블시키는 것을 특징으로 한다.
본 발명의 기술적 사상의 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법에 따르면, 다수의 뱅크들을 뱅크 영역들로 분류하고, 뱅크 영역 별로 연산 모드와 노멀 모드를 변경 가능하게 설정할 수 있으므로, 연산 처리를 위한 자원 배분을 효율적으로 수행함과 함께, 연산 처리와 메모리 동작이 함께 수행될 수 있으므로 메모리 동작의 속도 저하를 방지할 수 있는 효과가 있다.
한편, 본 발명의 기술적 사상의 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법에 따르면, 온-더-플라이(on-the-fly) 방식에 기반하여 실시간으로 모드 설정을 변경할 수 있으므로, 어플리케이션에 최적화하여 연산 모드를 빠르게 변경할 수 있을 뿐 아니라, 모드 변경을 위한 구성의 복잡도를 감소시킬 수 있는 효과가 있다.
도 1은 본 발명의 예시적인 실시예에 따른 메모리 장치를 포함하는 데이터 처리 시스템을 나타내는 블록도이다.
도 2는 도 1의 메모리 장치의 일 구현 예를 나타내는 블록도이다.
도 3은 본 개시의 예시적인 실시예의 메모리 장치를 포함하는 데이터 처리 시스템을 나타내는 블록도이다.
도 4 및 도 5는 본 개시의 예시적인 실시예들에 따른 메모리 장치의 동작방법을 나타내는 플로우차트이다.
도 6은 다수의 채널들을 갖는 메모리 장치에서의 뱅크 영역의 설정 예를 나타내는 도면이다.
도 7은 본 개시의 예시적인 실시예의 메모리 장치가 HBM(high bandwidth memory)을 포함하는 예를 나타내는 블록도이다.
도 8은 본 개시의 예시적인 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 9는 본 개시의 실시예에 따른 메모리 장치의 구체적인 일 구현 예를 나타내는 블록도이다.
도 10은 다수 개의 코어 다이들이 아이디 정보로 분류되는 일 예를 나타내는 도면이다.
도 11은 메모리 컨트롤러로부터 제공되는 설정 정보의 일 구현 예를 나타내는 표이다.
도 12 내지 도 14는 본 개시의 예시적인 실시예에 따른 메모리 장치의 다양한 동작 예들을 나타내는 도면이다.
도 15 및 도 16은 본 개시의 다른 예에 따른 메모리 장치의 구현 예 및 동작의 일 예를 나타내는 도면이다.
도 17은 본 발명의 실시예에 따른 데이터 처리 시스템을 포함하는 서버 시스템을 나타내는 블록도이다.
도 18은 본 개시의 일 실시예에 따른 메모리 장치가 적용된 모바일 시스템을 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다.
도 1은 본 발명의 예시적인 실시예에 따른 메모리 장치를 포함하는 데이터 처리 시스템을 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(10)은 메모리 컨트롤러(100) 및 메모리 장치(200)를 포함할 수 있다. 메모리 컨트롤러(100)와 메모리 장치(200) 각각은 인터페이스 회로(미도시)를 포함함에 따라 각종 신호를 통신할 수 있다. 예컨대, 메모리 컨트롤러(100)는 클록 신호(CLK), 커맨드/어드레스(CMD/ADD)를 메모리 장치(200)로 제공하여 메모리 장치(200)의 데이터(DATA)를 억세스할 수 있다.
메모리 컨트롤러(100)는 호스트(HOST)로부터의 요청에 따라 메모리 장치(200)를 억세스할 수 있으며, 메모리 컨트롤러(100)는 다양한 프로토콜을 사용하여 호스트(HOST)와 통신할 수 있다. 예시적인 실시예들에 따라, 메모리 컨트롤러(100)는 호스트(HOST)에 상응하거나, 또는 메모리 컨트롤러(100)는 호스트(HOST) 내부에 구비되는 구성에 해당할 수도 있을 것이다. 호스트(HOST)와 메모리 장치(200)는 데이터 처리 시스템을 구성할 수 있으며, 이에 따라 메모리 시스템(10)은 데이터 처리 시스템에 상응하거나, 또는 데이터 처리 시스템에 포함되는 구성으로 정의될 수 있을 것이다.
메모리 장치(200)는 메모리 셀 어레이(210), 연산 로직(220) 및 제어 로직(230)을 포함할 수 있고, 메모리 셀 어레이(210)는 다수 개의 뱅크 영역들을 포함할 수 있다. 도 1에서는 제1 및 제2 뱅크 영역들(211, 212)이 예시되며, 제1 및 제2 뱅크 영역들(211, 212) 각각은 하나 이상의 뱅크들을 포함할 수 있고, 일 예로서 제1 뱅크 영역(211)은 A 개의 뱅크들(BANK 1 ~ BANK A)을 포함할 수 있으며, 또한 제2 뱅크 영역(212)은 B 개의 뱅크들(BANK 1 ~ BANK B)을 포함할 수 있다. 또한, 각각의 뱅크는 다수의 메모리 셀들을 포함할 수 있다.
연산 로직(220)은 다수의 뱅크들에 대응하여 다수 개의 프로세싱 엘레멘트(PE)들을 포함할 수 있다. 프로세싱 엘레멘트(PE)는 메모리 장치(200) 내에서 연산을 수행하는 장치로서, PIM (Processor in Memory)으로 지칭될 수 있다. 그러나, 본 발명의 실시예들에 따르면 상기한 용어들은 다양하게 정의될 수 있고, 일 예로서 PIM 각각은 상기한 프로세싱 엘레멘트(PE)와 함께 이를 제어하는 다른 구성들을 포함하는 개념으로 정의될 수도 있을 것이다.
일 구현 예에 따라, 하나의 뱅크에 대응하여 하나의 프로세싱 엘레멘트(PE)가 배치될 수 있다. 또는, 다양한 실시예들에 따라, 하나의 뱅크에 대응하여 다수의 프로세싱 엘레멘트(PE)들이 배치될 수 있고, 또는 하나의 프로세싱 엘레멘트(PE)가 두 개 이상의 뱅크들에 공유될 수 있다. 또한, 각각의 프로세싱 엘레멘트(PE)는 호스트(HOST)로부터의 데이터와, 메모리 셀 어레이(210)에서 독출된 데이터 중 적어도 하나를 이용하여 연산 처리를 수행할 수 있다.
예시적인 실시예에 따라, 연산 로직(220)에 구비되는 프로세싱 엘레멘트(PE)은 프로세싱 엘레멘트 그룹(PE 그룹)으로 분류될 수 있다. 일 예로서, 제1 및 제2 뱅크 영역들(211, 212)에 대응하여 제1 및 제2 PE 그룹들(221, 222)이 구비되고, 제1 및 제2 PE 그룹들(221, 222) 각각은 하나 이상의 프로세싱 엘레멘트(PE)를 포함할 수 있다.
제어 로직(230)은 커맨드/어드레스 디코더(미도시)를 포함할 수 있고, 커맨드/어드레스(CMD/ADD)에 대한 디코딩 동작을 수행하며, 디코딩 결과를 기초로 연산 처리 및 메모리 동작을 제어할 수 있다. 한편, 본 발명의 예시적인 실시예에 따라 제어 로직(230)은 모드 제어기(231)를 포함할 수 있으며, 모드 제어기(231)의 제어를 기초로 제1 및 제2 뱅크 영역들(211, 212)에 대한 모드 설정 동작을 제어할 수 있다. 모드 제어기(231)는 다양한 형태로 구현될 수 있으며, 일 예로서 모드 제어기(231)는 커맨드/어드레스 디코더와 별개로 구현되거나, 또는 모드 제어기(231)의 적어도 일부의 구성은 커맨드/어드레스 디코더에 포함되는 구성일 수도 있을 것이다.
한편, 메모리 장치(200)는 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), LPDDR(Low Power Double Data Rate) SDRAM, GDDR(Graphics Double Data Rate) SDRAM, RDRAM(Rambus Dynamic Random Access Memory) 등과 같은 동적 랜덤 억세스 메모리(Dynamic Random Access Memory, DRAM)일 수 있다. 그러나, 본 발명의 실시예들은 이에 국한될 필요가 없으며, 일 예로서 메모리 장치(200A)는 플래시 메모리, MRAM(Magnetic RAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM) 및 ReRAM(Resistive RAM) 등의 불휘발성 메모리로 구현되어도 무방하다.
또한, 메모리 장치(200)는 하나의 반도체 칩에 해당하거나, 또는 독립적인 인터페이스를 갖는 다수의 채널들을 포함하는 메모리 장치에서 하나의 채널에 상응하는 구성일 수도 있다. 또는, 메모리 장치(200)는 메모리 모듈에 상응하는 구성일 수 있으며, 또는 메모리 모듈이 다수의 메모리 칩들을 포함하고 도 1의 메모리 장치(200)는 모듈 보드 상에 장착되는 하나의 메모리 칩에 해당할 수도 있다.
다양한 종류의 연산 처리 동작이 메모리 장치(200) 내에서 수행될 수 있으며, 일 예로서 인공 지능과 관련하여 뉴럴 네트워크 기능을 위한 다수의 연산들 중 적어도 일부가 메모리 장치(200) 내에서 수행될 수 있다. 예컨대, 호스트(HOST)는 다수의 연산들 중 적어도 일부가 메모리 장치(200)에 의해 수행될 수 있도록, 메모리 컨트롤러(100)를 통해 메모리 장치(200)를 제어할 수 있을 것이다. 이하에서는, 본 발명의 예시적인 실시예들에 따라, 다수의 뱅크들에 대한 변경 가능한(configurable) 모드 설정 동작의 일 예가 설명된다.
메모리 컨트롤러(100)는 모드 설정기(110)를 포함할 수 있으며, 모드 설정기(110)는 제1 및 제2 뱅크 영역들(211, 212)의 모드를 설정하기 위한 설정 정보(Info_M)를 제공할 수 있다. 일 예로서, 메모리 장치(200)는 설정 정보(Info_M)에 기초하여 제1 및 제2 뱅크 영역들(211, 212) 중 어느 하나가 연산 모드로 설정되도록 제어하고, 다른 하나가 메모리 모드로 설정되도록 제어할 수 있다. 예컨대, 제1 뱅크 영역(211)이 연산 모드로 설정되고, 제2 뱅크 영역(212)이 메모리 모드로 설정된 경우, 제1 뱅크 영역(211)에 대응하는 제1 PE 그룹(221)의 프로세싱 엘레멘트(PE)들은 연산 처리를 수행할 수 있으며, 반면에 제2 뱅크 영역(212)에 대응하는 제2 PE 그룹(222)의 프로세싱 엘레멘트(PE)들은 디스에이블될 수 있다. 일 동작 예에 따라, 제1 PE 그룹(221)의 프로세싱 엘레멘트(PE)들이 연산을 처리하는 동작과 제2 뱅크 영역(212)의 뱅크들(BANK 1 ~ BANK B)에 대한 데이터 억세스는 병렬하게 수행될 수 있다.
한편, 모드 제어기(231)는 설정 정보(Info_M)에 응답하여 제1 뱅크 영역(211) 및 제2 뱅크 영역(212)의 모드 설정을 제어할 수 있다. 일 구현 예에 따라, 제어 로직(230)은 모드 레지스터 세트(Mode Register Set, MRS)를 포함하고, 설정 정보(Info_M)는 MRS에 저장되는 코드로서 수신되고, 연산 로직(220)으로 제공될 수 있다. 연산 로직(220)은 제1 및 제2 PE 그룹들(221, 222)에 대응하여 배치되는 모드 신호 생성기들(미도시)을 더 포함할 수 있고, 모드 신호 생성기들이 설정 정보(Info_M)의 값에 대응하여 모드 신호를 제공함에 따라 제1 및 제2 PE 그룹들(221, 222)의 프로세싱 엘레멘트(PE)들이 인에이블되거나 또는 디스에이블될 수 있다.
일 실시예에서, 메모리 컨트롤러(100)는 실행되는 어플리케이션의 종류 등 다양한 원인에 기반하여 연산 량 및/또는 데이터 억세스 빈도 등을 판단할 수 있고, 이를 기초로 제1 및 제2 뱅크 영역들(211, 212)의 모드를 가변할 수 있다. 예컨대, 메모리 컨트롤러(100)는 그 값이 변경된 설정 정보(Info_M)를 제공하고, 변경된 설정 정보(Info_M)가 제어 로직(230)에 업데이트되며, 이에 따라 제1 및 제2 뱅크 영역들(211, 212)의 모드가 변경될 수 있다. 상기 설정 정보(Info_M)는 온-더-플라이(on-the-fly) 방식에 따라 제어 로직(230)으로 제공될 수 있다.
상기와 같은 본 발명의 실시예에 따르면, 메모리 장치(200)에서 뱅크 영역 단위로 모드를 설정 및 변경할 수 있으며, 이에 따라 연산 자원 및 메모리 동작 자원을 적응적으로 변경할 수 있다. 일 예로서, 방대한 양의 연산 처리를 수행하기 위해 상대적으로 많은 수의 뱅크 영역들을 연산 모드로 설정함으로써 연산 속도를 향상할 수 있으며, 반면에 연산 처리의 양이 상대적으로 적은 경우에는 연산 모드로 설정되는 뱅크 영역들의 개수를 감소시킬 수 있다. 즉, 연산 처리를 위한 자원과 메모리 동작을 위한 자원을 적응적으로 조절함으로써, 연산 속도와 함께 메모리 동작의 속도를 향상시킬 수 있다.
한편, 프로세싱 엘레멘트(PE)는 다양한 종류의 연산기를 포함할 수 있으며, 일 예로서 SIMD(single instruction multi data), ALU(arithmetical and logical unit), MAC(Multiply-Accumulate) 등의 연산기를 포함할 수 있다. 예를 들어, 프로세싱 엘레멘트(PE)는 데이터 반전(invert), 데이터 시프트(shift), 데이터 스왑(swap), 데이터 비교(compare), AND 및 XOR 등의 논리 연산들(logical operations), 덧셈 및 뺄셈 등의 수치 연산들(mathematical operations) 등과 데이터 연산을 수행할 수 있다.
한편, 메모리 시스템(10) 또는 이를 포함하는 데이터 처리 시스템은 PC(personal computer), 데이터 서버, 클라우드 시스템, 인공 지능 서버, 네트워크-결합 스토리지(network-attached storage, NAS), IoT(Internet of Things) 장치, 또는 휴대용 전자 기기로 구현될 수 있다. 또한, 데이터 처리 시스템이 휴대용 전자 기기인 경우, 데이터 처리 시스템은 랩탑 컴퓨터, 이동 전화기, 스마트폰, 태블릿 PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라, 디지털 비디오 카메라, 오디오 장치, PMP(portable multimedia player), PND(personal navigation device), MP3 플레이어, 휴대용 게임 콘솔(handheld game console), e-북(e-book), 웨어러블 기기 등일 수 있다.
도 2는 도 1의 메모리 장치의 일 구현 예를 나타내는 블록도이다.
도 1 및 도 2를 참조하면, 메모리 장치(200)는 제1 뱅크 영역(BR0, 211)에 대응하고 다수 개의 제1 프로세싱 엘레멘트들(PE 1 ~ PE A)을 포함하는 제1 PE 그룹(221)과, 제2 뱅크 영역(BR1, 212)에 대응하고 다수 개의 제2 프로세싱 엘레멘트들(PE 1 ~ PE B)을 포함하는 제2 PE 그룹(222)을 포함할 수 있으며, 또한 제1 PE 그룹(221)에 대응하여 배치되는 제1 모드 신호 생성기(223)와 제2 PE 그룹(222)에 대응하여 배치되는 제2 모드 신호 생성기(224)를 더 포함할 수 있다. 또한, 모드 제어기(231)는 설정 정보(Info_M)를 기초로 모드 제어신호(Ctrl_M)를 제1 모드 신호 생성기(223)와 제2 모드 신호 생성기(224)로 각각 제공할 수 있다.
예시적인 실시예에 따라, 모드 제어기(231)는 설정 정보(Info_M)를 상기한 모드 제어신호(Ctrl_M)로서 제1 및 제2 모드 신호 생성기들(223, 224)로 제공할 수 있고, 제1 및 제2 모드 신호 생성기들(223, 224)은 모드 제어신호(Ctrl_M)를 처리하여 서로 다른 제1 및 제2 모드 신호들(MS_1, MS_2)을 생성할 수 있다. 또는, 예시적인 실시예에 따라, 모드 제어기(231)는 설정 정보(Info_M)를 디코딩하여 제1 및 제2 모드 신호 생성기들(223, 224)로 서로 다른 모드 제어신호(Ctrl_M)를 제공할 수 있고, 제1 및 제2 모드 신호 생성기들(223, 224)은 수신된 모드 제어신호(Ctrl_M)를 기초로 제1 및 제2 모드 신호들(MS_1, MS_2)을 생성할 수도 있을 것이다.
일 동작 예에서, 제1 뱅크 영역(211)이 연산 모드로 설정됨에 따라, 제1 모드 신호 생성기(223)는 제1 모드 신호(MS_1)를 출력하여 제1 프로세싱 엘레멘트들(PE 1 ~ PE A)을 인에이블시키는 반면에, 제2 뱅크 영역(212)이 노멀 모드로 설정됨에 따라, 제2 모드 신호 생성기(224)는 제2 모드 신호(MS_2)를 출력하여 제2 프로세싱 엘레멘트들(PE 1 ~ PE B)을 디스에이블 시킬 수 있다. 또한, 제1 뱅크 영역(211)의 다수의 뱅크들의 로우들은 함께 액티브될 수 있고, 제1 PE 그룹(221)의 적어도 두 개의 제1 프로세싱 엘레멘트들에 의해 연산이 수행되거나 또는 제1 PE 그룹(221)의 모든 제1 프로세싱 엘레멘트들에 의해 연산이 수행될 수 있다. 또한, 제2 뱅크 영역(212)에 대한 액티브 커맨드가 수신될 때, 제2 뱅크 영역(212)의 다수의 뱅크들 중 선택된 하나의 뱅크의 로우가 액티브되고, 액티브된 로우에서 데이터가 억세스될 수 있다.
한편, 도 2에 도시된 실시예에서는 하나의 뱅크에 대응하여 하나의 프로세싱 엘레멘트(PE)가 배치되는 예가 도시되었으나, 본 발명의 실시예들은 이에 국한될 필요가 없다. 일 예로서, 전술한 바와 같이, 하나의 뱅크에 대응하여 두 개 이상의 프로세싱 엘레멘트(PE)들이 배치되거나, 또는 두 개 이상의 뱅크들에 대응하여 하나의 프로세싱 엘레멘트(PE)가 배치될 수도 있을 것이다.
도 3은 본 개시의 예시적인 실시예의 메모리 장치를 포함하는 데이터 처리 시스템을 나타내는 블록도이다. 도 3에 도시된 바와 같이, 데이터 처리 시스템(300)은 어플리케이션 프로세서(Application Processor, 310)와 메모리 장치(320)를 포함할 수 있으며, 어플리케이션 프로세서(310)는 어플리케이션(311) 및 메모리 컨트롤 모듈(312)을 포함할 수 있다. 일 예로서, 메모리 컨트롤 모듈(312)과 메모리 장치(320)가 메모리 시스템을 구성할 수 있다. 어플리케이션 프로세서(310)는 도 1에서의 호스트의 기능을 수행할 수 있다. 또한, 어플리케이션 프로세서(310)는 AMBA(Advanced Microcontroller Bus Architecture) 프로토콜 등의 다양한 종류의 표준 규격을 갖는 시스템 버스(미도시)를 포함하는 시스템 온 칩(System on Chip, SoC)으로 구현될 수 있다.
메모리 컨트롤 모듈(312)은 전술한 실시예에서의 메모리 컨트롤러의 기능을 수행할 수 있으며, 커맨드/어드레스(CMD/ADD)를 메모리 장치(320)로 전송함으로써 메모리 동작을 제어하거나 또는 연산 처리 동작을 제어할 수 있다. 또한, 전술한 실시예들에 따라 메모리 컨트롤 모듈(312)은 설정 정보(Info_M)를 제공하는 모드 설정기(미도시)를 포함할 수 있다.
또한, 전술한 실시예들에 따라, 메모리 장치(300)는 메모리 셀 어레이(321), 연산 로직(322) 및 제어 로직(323)을 포함할 수 있으며, 제어 로직(323)은 모드 제어기(323_1)를 포함할 수 있다. 또한, 메모리 셀 어레이(321)는 다수의 뱅크 영역들로서 제1 내지 제N 뱅크 영역들을 포함할 수 있고, 연산 로직(322)은 뱅크 영역들에 대응하여 다수의 PE 그룹들(322_1)과 다수의 모드 신호 생성기들(322_2)을 포함할 수 있다. 또한, 전술한 실시예들에 따라, 모드 제어기(323_1) 및 모드 신호 생성기들(322_2)의 제어에 기초하여 제1 내지 제N 뱅크 영역들의 모드가 설정될 수 있다.
어플리케이션(311)은 소프트웨어 및/또는 하드웨어의 조합으로 구현될 수 있고, 어플리케이션 프로세서(310) 내의 적어도 하나의 프로세서(미도시)에 의해 실행되는 프로그램들을 포함할 수 있다. 어플리케이션(311)이 실행됨에 따라 메모리 장치(320) 내에서 다수의 연산들이 처리될 수 있으며, 설정 정보(Info_M)에 기초하여 메모리 셀 어레이(321) 내의 일부의 뱅크 영역들은 연산 모드로 설정되고 다른 뱅크 영역들은 노멀 모드로 설정될 수 있다. 일 예로서, 실행되는 어플리케이션(311)의 종류에 따라 메모리 장치(320) 내에서 수행되는 연산 량 및 메모리 동작의 빈도 등 메모리 장치(320)의 사용 특성이 달라질 수 있고, 어플리케이션(311)에 최적화되도록 메모리 셀 어레이(321)의 뱅크 영역들에 대한 모드 설정이 수행될 수 있을 것이다.
도 4 및 도 5는 본 개시의 예시적인 실시예들에 따른 메모리 장치의 동작방법을 나타내는 플로우차트이다.
도 4를 참조하면, 메모리 장치는 다수 개의 뱅크 영역들을 포함할 수 있고, 각각의 뱅크 영역에 대응하여 다수 개의 프로세싱 엘레멘트들을 포함하는 PE 그룹이 배치될 수 있다. 일 예로서, 제1 뱅크 영역에 대응하여 배치되는 제1 PE 그룹은 다수 개의 제1 프로세싱 엘레멘트들을 포함하고, 제2 뱅크 영역에 대응하여 배치되는 제2 PE 그룹은 다수 개의 제2 프로세싱 엘레멘트들을 포함하는 것으로 가정된다.
메모리 장치는 메모리 컨트롤러(또는, 호스트)로부터 각종 커맨드들을 수신하고, 커맨드들에 응답하여 연산 처리를 수행하거나 또는 메모리 동작을 수행할 수 있다. 또한, 메모리 장치는 메모리 컨트롤러로부터 설정 정보(또는, 모드 설정 정보)를 수신하고(S11), 수신된 설정 정보를 기초로 상기 다수 개의 뱅크 영역들의 모드를 설정하기 위한 제어 동작을 수행할 수 있다. 일 예로서, 설정 정보의 값에 따라 제1 및 제2 뱅크 영역들이 모두 연산 모드로 설정되거나, 또는 모두 노멀 모드로 설정될 수 있다. 예시적인 실시예에서, 상기 설정 정보는 메모리 장치 내에 저장되고, 상기 저장된 설정 정보를 기초로 제1 뱅크 영역은 연산 모드로 설정되고(S12), 제2 뱅크 영역은 노멀 모드로 설정될 수 있다(S13).
메모리 장치는 상기 설정 정보를 기초로 제1 뱅크 영역에 대한 제1 모드 신호를 생성할 수 있고, 또한 제2 뱅크 영역에 대한 제2 모드 신호를 생성할 수 있다. 제2 모드 신호는 제2 PE 그룹의 제2 프로세싱 엘레멘트들을 디스에이블하기 위한 정보를 포함할 수 있고(S14), 이에 따라 제2 PE 그룹에서는 연산 처리가 수행되지 않을 수 있다. 또한, 제1 모드 신호는 제1 PE 그룹의 제1 프로세싱 엘레멘트들을 인에이블하기 위한 정보를 포함할 수 있다.
이후, 메모리 컨트롤러로부터 각종 커맨드/어드레스에 따라 연산 처리 및 메모리 동작이 수행될 수 있고, 일 예로서 제어 로직의 제어에 기반하여 제1 뱅크 영역에 대해서는 제1 프로세싱 엘레멘트들을 이용한 연산 처리가 수행될 수 있으며, 이와 함께 제2 뱅크 영역의 뱅크들에 대한 데이터 억세스 동작이 수행될 수 있다(S15). 또한, 상기한 연산 처리와 데이터 억세스는 함께 또는 동시에 수행될 수 있다.
한편, 도 5에서는 제1 뱅크 영역이 연산 모드로 설정되고, 제2 뱅크 영역이 노멀 모드로 설정된 경우의 일 동작 예가 설명된다.
도 5를 참조하면, 메모리 컨트롤러는 메모리 장치의 연산 처리 및 메모리 동작을 위해 각종 커맨드 및 어드레스를 제공할 수 있고, 연산 모드로 설정된 제1 뱅크 영역에서의 연산 처리를 위해 액티브 커맨드를 제공할 수 있다. 메모리 장치는 제1 뱅크 영역에 대한 액티브 커맨드를 수신하고(S21), 제1 뱅크 영역 내의 다수의 뱅크들의 로우들을 액티브할 수 있다(S22).
제1 PE 그룹의 제1 프로세싱 엘레멘트들은 대응하는 뱅크들로부터 독출된 데이터를 이용하여 연산 처리를 수행하거나, 또는 연산 처리 결과를 대응하는 뱅크들에 저장할 수 있다. 일 예로서, 상기 제1 뱅크 영역 내의 액티브된 로우들로부터 독출된 데이터를 이용하여 다수의 제1 프로세싱 엘레멘트들에 의해 병렬 연산 처리가 수행되거나, 또는 다수의 제1 프로세싱 엘레멘트들에 의해 수행된 연산 처리 결과가 제1 뱅크 영역의 액티브된 로우들에 저장될 수 있다(S23).
한편, 메모리 컨트롤러는 노멀 모드로 설정된 제2 뱅크 영역에서의 메모리 동작을 위해 액티브 커맨드를 제공할 수 있으며, 메모리 장치는 제2 뱅크 영역에 대한 액티브 커맨드를 수신할 수 있다(S24). 메모리 장치는, 메모리 컨트롤러로부터 수신된 어드레스에 기초하여 제2 뱅크 영역의 다수의 뱅크들 중 선택된 하나의 뱅크의 로우를 액티브할 수 있으며(S25), 선택된 뱅크의 데이터를 억세스할 수 있다(S26).
도 6은 다수의 채널들을 갖는 메모리 장치에서의 뱅크 영역의 설정 예를 나타내는 도면이다.
도 6에 도시된 바와 같이, 메모리 장치는 다수 개의 채널들(예컨대, 제1 및 제2 채널들(CH1, CH2))을 포함할 수 있고, 제1 및 제2 채널들(CH1, CH2)은 서로 독립된 인터페이스에 따라 외부의 메모리 컨트롤러(또는, 호스트)와 통신할 수 있다. 일 예로서, 제1 및 제2 채널들(CH1, CH2)은 서로 독립적으로 배치되는 버스를 통해 커맨드/어드레스와 데이터를 수신할 수 있고, 또한 제1 및 제2 채널들(CH1, CH2)은 메모리 컨트롤러로부터 서로 독립적으로 전술한 실시예에서의 설정 정보를 수신할 수 있다.
제1 채널(CH1)을 참조하면, 제1 채널(CH1)는 다수 개의 뱅크들(예컨대, 제1 내지 제8 뱅크들(BANK 0 ~ BANK 7))들을 포함할 수 있고, 제1 내지 제8 뱅크들(BANK 0 ~ BANK 7)은 적어도 두 개의 뱅크 그룹들로 분류될 수 있다. 일 예로서, 도 6에서는 제1 뱅크 그룹(BG0)이 제1 내지 제4 뱅크들(BANK 0 ~ BANK 3)을 포함하고, 제2 뱅크 그룹(BG1)이 제5 내지 제8 뱅크들(BANK 4 ~ BANK 7)을 포함하는 예가 도시된다. 또한, 도 6에서는 두 개의 뱅크들에 대응하여 하나의 프로세싱 엘레멘트(PE)가 배치되는 예가 도시되며, 이에 따라 제1 내지 제8 뱅크들(BANK 0 ~ BANK 7)에 대응하여 제1 내지 제4 프로세싱 엘레멘트들(PE0 ~ PE3)이 구비될 수 있다.
또한, 제1 및 제2 채널들(CH1, CH2) 각각은 메모리 컨트롤러와 통신하는 입출력 라인(IO), 억세스되는 데이터를 전달하기 위한 경로로서 데이터 버스, 뱅크들의 데이터를 억세스하기 위한 뱅크 제어기, 메모리 컨트롤러로부터의 커맨드/어드레스를 디코딩하는 커맨드 디코더를 포함할 수 있다. 일 구현 예에 따라, 뱅크 제어기가 다수의 뱅크들에 공통하게 배치되는 것으로 도시되었으나, 뱅크 제어기는 각각의 뱅크에 대응하여 배치될 수도 있고, 뱅크에 포함되는 로우들에 대한 액티브(active) 동작, 프리차지 동작, 데이터 억세스를 위한 칼럼 선택 동작 등 연산 처리 및/또는 메모리 동작과 관련된 각종 제어를 수행할 수 있다.
본 발명의 예시적인 실시예에 따라, 전술한 뱅크 영역은 뱅크 그룹에 상응하거나 또는 두 개 이상의 뱅크 그룹들을 포함할 수 있다. 예컨대, 상기한 제1 뱅크 그룹(BG0)은 제1 뱅크 영역(BR0)에 상응하고, 제2 뱅크 그룹(BG1)은 제2 뱅크 영역(BR1)에 상응할 수 있다. 뱅크 그룹은 다양하게 분류될 수 있고, 일 예로서 뱅크 그룹에 기초하여 각종 신호의 전달에 관련된 라인들이 배치될 수 있고, 또한 메모리 동작에 관련된 각종 파라미터들이 설정될 수 있다. 예컨대, 데이터는 뱅크 별로 배치되는 로컬 IO와 뱅크 그룹 별로 배치되는 뱅크 그룹 IO를 통해 전달될 수 있고, 동일한 뱅크 그룹에 포함되는 뱅크들의 데이터는 동일한 뱅크 그룹 IO를 통해 전달될 수 있다. 또한, 뱅크 그룹에 기반하는 설계를 통해 각종 파라미터 값이 설정될 수 있으며, 일 예로서 다수의 뱅크들 사이의 독출 간격과 관련하여, 동일한 뱅크 그룹 내의 뱅크들 사이의 독출 간격은 서로 상이한 그룹들 사이의 뱅크들 사이의 독출 간격에 비해 상대적으로 길게 설정될 수 있다.
또한, 본 발명의 예시적인 실시예에 따라, 제1 및 제2 채널들(CH1, CH2) 각각은 메모리 컨트롤러로부터의 설정 정보(미도시)를 수신하는 모드 제어기(Mode Ctrl)를 더 구비할 수 있다. 또한, 각각의 뱅크 그룹이 뱅크 영역으로 설정됨에 따라 각각의 뱅크 그룹에 대응하여 모드 신호 생성기가 배치될 수 있고, 도 6에서는 제1 뱅크 그룹(BG0)에 대응하여 제1 모드 신호 생성기(Mode Gen 1)가 배치되고, 제2 뱅크 그룹(BG1)에 대응하여 제2 모드 신호 생성기(Mode Gen 2)가 배치된 예가 도시된다.
상기와 같은 구성들에 따라, 모드 제어기(Mode Ctrl)의 제어에 기반하여 제1 뱅크 그룹(BG0) 및 제2 뱅크 그룹(BG1)의 모드가 설정될 수 있고, 제1 뱅크 그룹(BG0) 및 제2 뱅크 그룹(BG1) 중 어느 하나가 선택적으로 연산 모드로 설정될 수 있다. 또는, 모드 제어기(Mode Ctrl)의 제어에 기반하여 제1 뱅크 그룹(BG0) 및 제2 뱅크 그룹(BG1) 모두 연산 모드로 설정되거나, 또는 노멀 모드로 설정될 수 있을 것이다. 또한, 메모리 장치의 전체 뱅크들에 대해 일괄적으로 연산 처리가 수행되는 경우에는 메모리 동작을 위한 버스 사용이 불가능하나, 상기한 본 발명의 실시예에 따르면 뱅크 그룹 단위의 모드 설정 및 모드 전환을 통해 메모리 동작에 이용될 버스가 확보될 수 있고, 메모리 장치의 성능을 효율적으로 활용할 수 있다.
도 7은 본 개시의 예시적인 실시예의 메모리 장치가 HBM(high bandwidth memory)을 포함하는 예를 나타내는 블록도이다.
HBM(400)는 서로 독립된 인터페이스를 갖는 다수의 채널들을 포함함으로써 증가된 대역폭(Bandwidth)을 가질 수 있다. 도 7을 참조하면, HBM(400)는 다수 개의 다이들을 포함할 수 있으며, 일 예로서 버퍼 다이(또는, 로직 다이(410))와 이에 적층된 하나 이상의 코어 다이들을 포함할 수 있다. 도 7의 예에서는, 4 개의 코어 다이들이 HBM(400)에 구비되는 예가 도시되었으나, 코어 다이들의 개수는 다양하게 변경될 수 있다. 코어 다이들 중 제1 코어 다이(420)를 참조하여 도 7의 구성을 설명하면 다음과 같다.
하나 이상의 채널들로서, 도 7의 예에서는 제1 코어 다이(420)가 제1 및 제2 채널들(CH1, CH2)을 포함하는 경우가 예시된다. 버퍼 다이(410)는 메모리 컨트롤러(또는, 호스트)와 통신하는 인터페이스 회로(미도시)를 포함할 수 있으며, 버퍼 다이(410)를 통해 메모리 컨트롤러로부터 커맨드/어드레스 및 데이터를 수신할 수 있다. 또한, 본 발명의 예시적인 실시예에 따라, 제1 및 제2 채널들(CH1, CH2) 각각은 커맨드 디코더(421)를 포함할 수 있으며, 도 7에 도시되지는 않았으나 전술한 실시예들에 따른 모드 제어 동작을 위한 모드 제어기가 제1 및 제2 채널들(CH1, CH2) 각각에 구비될 수 있다.
한편, 도 7에서는 HBM(400)의 각각의 채널이 적어도 두 개의 의사 채널들(pseudo channel)을 포함하는 구현 예가 개시된다. 일 예로서, 제1 채널(CH1)는 제1 및 제2 의사 채널들(PC0, PC1)을 포함할 수 있으며, 제1 및 제2 의사 채널들(PC0, PC1)에 대응하여 데이터 버스가 서로 별개로 구현되는 반면에, 상기 제1 및 제2 의사 채널들(PC0, PC1)은 커맨드 디코더(421)를 공유할 수 있다. 또한, 다양한 실시예들에 따라, 모드 설정에 관련된 다른 다양한 구성 요소들 중 일부는 제1 및 제2 의사 채널들(PC0, PC1)에 공유되도록 구현되고, 다른 일부는 의사 채널 별로 별개로 구현될 수도 있을 것이다. 즉, 제1 및 제2 의사 채널들(PC0, PC1)은 서로 별개의 데이터 버스를 통해 메모리 컨트롤러와 인터페이스할 수 있는 반면에, 공통한 커맨드/어드레스 버스를 통해 메모리 컨트롤러와 인터페이스할 수 있을 것이다.
본 발명의 예시적인 실시예에 따라, 제1 및 제2 의사 채널들(PC0, PC1) 각각은 다수의 뱅크 영역들을 포함할 수 있으며, 일 예로서 제1 의사 채널(PC0)은 제1 뱅크 영역(BR0) 및 제2 뱅크 영역(BR1)을 포함하고, 제2 의사 채널(PC1)은 제3 뱅크 영역(BR2) 및 제4 뱅크 영역(BR3)을 포함할 수 있다. 또한, 제1 내지 제4 뱅크 영역들(BR0 ~ BR3)에 대응하여 제1 내지 제4 모드 신호 생성기들(Mode Gen0 ~ Mode Gen3)이 배치될 수 있고, 제1 내지 제4 모드 신호 생성기들(Mode Gen0 ~ Mode Gen3)은 각각 대응하는 뱅크 영역에 대해 배치된 프로세싱 엘레멘트들(또는 PE 그룹, 미도시)의 인에이블을 제어할 수 있다.
일 동작 예에 따라, 하나의 채널, 또는 하나의 의사 채널 내에서 다수의 뱅크 영역들의 모드가 가변적으로 설정될 수 있다. 예컨대, 제1 채널(CH1)을 예로 들면, 제1 내지 제4 뱅크 영역들(BR0 ~ BR3) 중 일부는 연산 모드로 설정되고, 다른 일부는 노멀 모드로 설정될 수 있을 것이다. 또는, 제1 의사 채널(PC0)을 예로 들면, 제1 및 제2 뱅크 영역들(BR0, BR1) 중 어느 하나는 연산 모드로 설정되고, 다른 하나는 노멀 모드로 설정될 수 있을 것이다. 또한, 다양한 실시예들에 따라, 의사 채널 단위로 뱅크 영역들의 모드가 설정될 수도 있을 것이며, 일 예로서 제1 의사 채널(PC0) 및 제2 의사 채널(PC1) 중 어느 하나의 뱅크 영역들은 연산 모드로 설정되는 반면에, 다른 의사 채널의 뱅크 영역들은 노멀 모드로 설정되도록 메모리 장치가 구현될 수도 있을 것이다.
상기한 본 발명의 예시적인 실시예에 따르면, 연산 처리를 위한 다수의 프로세싱 엘레멘트들이 코어 다이들의 뱅크들에 대응하여 배치될 수 있고, 뱅크들을 다수의 뱅크 영역들로 분류하여 뱅크 영역 단위의 가변 가능한 모드 설정을 제공할 수 있으므로, 메모리 장치 내에서의 대량의 연산을 빠르게 처리할 수 있을 뿐 아니라, 실행되는 다양한 종류의 어플리케이션에 따라 연산 동작을 최적화할 수 있다.
도 8은 본 개시의 예시적인 실시예에 따른 메모리 시스템을 나타내는 블록도이다. 도 8에서는 메모리 장치 내의 모드 레지스터 세트(Mode Register Set, MRS)에 전술한 실시예들의 설정 정보가 저장되는 예가 도시된다.
도 8을 참조하면, 메모리 시스템(500)은 메모리 컨트롤러(510) 및 메모리 장치(520)를 포함하고, 메모리 컨트롤러(510)는 제1 인터페이스 회로(511)와 모드 설정기(512)를 포함할 수 있다. 또한, 메모리 장치(520)는 제2 인터페이스 회로(521), 메모리 셀 어레이(522), 연산 로직(523) 및 제어 로직(524)을 구비할 수 있다. 설명의 편의상 구체적인 도시는 생략되나 메모리 셀 어레이(522)는 다수 개의 뱅크 영역들을 포함할 수 있으며, 연산 로직(523)은 상기 뱅크 영역들에 대응하는 다수의 PE 그룹들과, 다수의 PE 그룹들의 인에이블을 제어하는 모드 신호 생성기들을 포함할 수 있다.
제1 인터페이스 회로(511)와 제2 인터페이스 회로(521)는 다양한 버스들을 통해 각종 신호들을 송수신할 수 있으며, 일 예로서 제2 인터페이스 회로(521)는 클록 핀을 통해 클록 신호(CLK)를 수신하고, 데이터 핀을 통해 데이터(DATA)를 송수신할 수 있으며, 또한 커맨드/어드레스 핀들을 통해 커맨드/어드레스를 수신할 수 있다. 일 예로서, 전술한 실시예들에서의 설정 정보는 커맨드/어드레스 버스(CA BUS)를 통해 제2 인터페이스 회로(521)로 제공될 수 있다.
한편, 제어 로직(524)은 모드 레지스터 세트(524_1)와 커맨드 디코더(524_2)를 포함할 수 있고, 모드 레지스터 세트(524_1)와 커맨드 디코더(524_2) 중 적어도 일부는 전술한 실시예들에서의 모드 제어기를 구성할 수 있다. 모드 레지스터 세트(524_1)는 모드 레지스터(MR) 어드레스(MA[0:K])에 의해 지시되는 다수의 모드 레지스터들을 포함할 수 있다. 또한, 다수의 모드 레지스터들 중에서 선택된 하나 이상의 모드 레지스터에 전술한 실시예들에서의 설정 정보가 저장될 수 있고, 일 예로서 설정 정보는 OP 코드(OP[0:7])로서 메모리 컨트롤러(510)로부터 제공될 수 있다. 도 8에서는 다수의 모드 레지스터들로서 제1 내지 제9 모드 레지스터들(MR 0 ~ MR 8)가 예시되며, 또한 8 비트의 OP 코드(OP[0:7])가 예시되었으나, 본 발명의 실시예들은 이에 국한될 필요가 없이 다양하게 구현이 가능할 것이다.
HBM MRS 스펙을 예로 들면, 다수의 모드 레지스터들 중 일부는 HBM 의 동작 환경 설정에 관련된 각종 정보를 저장할 수 있으며, 또한 RFU(Reserved Future Usage) 필드를 제공할 수 있다. 상기한 설정 정보(또는, OP 코드(OP[0:7]))는 하나 이상의 모드 레지스터의 RFU 필드에 저장될 수 있다. 메모리 컨트롤러(510)는 설정 정보의 저장을 요청하는 MRS 커맨드와 함께 MR 어드레스(MA[0:K])를 제공하고, 커맨드 디코더(524_2)의 제어에 기반하여 설정 정보는 MR 어드레스(MA[0:K])에 의해 지시되는 영역에 저장될 수 있다.
도 9는 본 개시의 실시예에 따른 메모리 장치의 구체적인 일 구현 예를 나타내는 블록도이다. 일 예로서, 도 9의 메모리 장치(900)는 다수 개의 채널들(CH A ~ CH D)을 포함하고, 각각의 채널에 대해 본 발명의 실시예가 적용됨에 따라 각각의 채널에 다수 개의 뱅크 영역들이 구비되고, 뱅크 영역 별로 그 동작 모드가 설정될 수 있다. 예시적인 실시예에 따라, 도 9의 메모리 장치(900)는 HBM의 어느 하나의 코어 다이에 해당할 수 있고, 메모리 장치(900)의 외곽 영역에는 파워를 전달하는 다수 개의 파워 TSV(Through Silicon Via)가 배치될 수 있다.
도 9의 메모리 장치(600)의 하나의 채널(예컨대, A 채널(CH A))를 참조하면, A 채널(CH A)은 다수의 뱅크 영역들로서 제1 내지 제4 뱅크 영역들(BR0 ~ BR3)을 포함하고, 각각의 뱅크 영역에 대응하여 하나 이상의 프로세싱 엘레멘트들(예컨대, ALU)이 배치될 수 있다. 도 9에서는 제1 뱅크 영역(BR0)이 8 개의 뱅크들(A0 ~ H0)을 포함하고, 두 개의 뱅크들에 대응하여 하나의 프로세싱 엘레멘트가 배치되는 예가 도시된다. 또한, 예시적인 실시예에서, 하나의 뱅크 영역은 하나의 뱅크 그룹에 상응할 수도 있다.
A 채널(CH A)은 MRS 및 커맨드 디코더(610)를 포함할 수 있으며, 또한 제1 내지 제4 뱅크 영역들(BR0 ~ BR3)에 대응하여 제1 내지 제4 모드 신호 생성기들(621 ~ 624)이 배치될 수 있다. MRS 및 커맨드 디코더(610)는 외부의 메모리 컨트롤러로부터 칼럼 신호(C[0:7])를 설정 정보(OP[0:7])로서 수신하고 이를 MRS 내의 모드 레지스터(예컨대, MR 8)에 저장할 수 있다. 또한, MR 8에 저장된 정보를 기초로 제1 내지 제4 뱅크 영역들(BR0 ~ BR3)에 대한 모드 설정을 위해, 모드 레지스터(MR 8)를 나타내는 정보와 함께, 이에 저장된 설정 정보(OP[0:7])가 제1 내지 제4 모드 신호 생성기들(621 ~ 624)로 제공될 수 있고, 제1 내지 제4 모드 신호 생성기들(621 ~ 624) 각각은 수신된 설정 정보(OP[0:7])를 기초로 모드 신호를 생성할 수 있다. 일 구현 예에 따라, 제1 내지 제4 모드 신호 생성기들(621 ~ 624)은 서로 다른 값의 설정 정보(OP[0:7])가 수신될 때 대응하는 PE 그룹을 인에이블하기 위한 모드 신호를 출력할 수 있고, 도 9의 예에서는 제3 모드 신호 생성기(623)가 로직 하이(High)의 모드 신호를 출력함에 따라 제3 뱅크 영역(BR2)이 연산 모드로 설정되는 예가 도시된다.
한편, 도 9에 도시된 메모리 장치(600)는 HBM 일 수 있고, 각각의 채널은 적어도 두 개의 의사 채널들을 포함할 수 있다. 일 구현 예에 따라, 제1 및 제2 뱅크 영역들(BR0, BR1)은 제1 의사 채널(PC0)에 포함될 수 있고, 제3 및 제4 뱅크 영역들(BR2, BR3)은 제2 의사 채널(PC1)에 포함될 수 있다. 또한, 각각의 채널은 뱅크가 배치되는 위치에 따라 소정의 어드레스(예컨대, BA3 정보)에 의해 지시되는 적어도 두 개의 영역으로 분류될 수 있고, 일 예로서 제1 및 제3 뱅크 영역들(BR0, BR2)은 top 영역에 포함될 수 있고 제2 및 제4 뱅크 영역들(BR1, BR3)은 bottom 영역에 포함될 수 있다.
도 10은 다수 개의 코어 다이들이 스택 아이디(SID)로 분류되는 일 예를 나타내는 도면이다. 도 10에 도시된 바와 같이, HBM 은 다수 개(예컨대, 8 개)의 코어 다이들을 포함하고, 상기 코어 다이들은 제1 아이디(SID0)를 갖는 제1 다이 영역과 제2 아이디(SID1)를 갖는 제2 다이 영역을 포함할 수 있다.
일 구현 예에 따라, 하나의 채널은 서로 다른 아이디를 갖는 적어도 두 개의 코어 다이들의 뱅크들을 포함할 수 있다. 일 예로서, 제1 코어 다이(CD1)의 하나 이상의 뱅크와 제5 코어 다이(CD5)의 하나 이상의 뱅크는 A 채널(CH A)을 구성할 수 있으며, 이에 따라 적어도 두 개의 코어 다이들이 공통한 인터페이스를 통해 메모리 컨트롤러와 통신할 수 있다. 또한, 본 발명의 예시적인 실시예에 따라, 동일한 A 채널(CH A)을 구성하는 제1 및 제5 코어 다이들(CD1, CD5)에 대해, 뱅크 영역의 모드를 설정함에 있어서 스택 아이디(SID)를 기초로 제1 및 제5 코어 다이들(CD1, CD5)의 뱅크 영역들이 선택될 수 있다. 도 10에 도시된 구성 예에 따라, 메모리 장치가 다수 개의 랭크(RANK)들을 포함하도록 구현될 수 있다.
도 11은 메모리 컨트롤러로부터 제공되는 설정 정보의 일 구현 예를 나타내는 표이다. 도 11에는 설정 정보(OP[0:7])의 값에 따라 다양하게 모드 설정이 수행되는 예가 도시되며, 또한 A 채널(CH A)에서의 동작 예(또는, 모드 설정 예)가 설명된다.
도 9 내지 도 11을 참조하면, MR 어드레스(MA[0:4])에 따라 설정 정보(OP[0:7])가 저장될 모드 레지스터의 위치가 결정될 수 있고, 설정 정보(OP[0:7])의 값에 따라 제1 내지 제4 뱅크 영역들(BR0 ~ BR3)의 모드가 가변적으로 설정될 수 있다. 일 예로서, OP 코드(OP1, OP2)의 정보를 기초로 연산 모드의 진입(entry) 또는 연산 모드로부터의 탈출(exit)이 판단될 수 있고, 또한 OP 코드(OP2, OP3)의 정보를 기초로 스택 아이디(SID)에 따라 코어 다이가 선택될 수 있다. 또한, 각각의 채널이 다수 개의 의사 채널들을 포함할 때 OP 코드(OP4, OP5)의 정보를 기초로 연산 모드로 진입할 의사 채널이 선택될 수 있으며, 또한 동일한 채널(또는, 동일한 의사 채널)이 논리적 또는 물리적으로 다수의 영역들로 분류되는 경우(예컨대, top 영역 및 bottom 영역), OP 코드(OP6, OP7)의 정보를 기초로 연산 모드로 진입할 영역이 선택될 수 있다.
도 11에 도시된 일 구현 예에 따라, 설정 정보(OP[0:7])가 (1)의 케이스와 같이 모두 "0"의 값을 갖는 경우는 메모리 장치(900)가 디폴트 모드에 해당하는 노멀 모드로 설정될 수 있고, 이에 따라 메모리 장치(900) 내의 모든 뱅크 영역들이 노멀 모드로 설정될 수 있다.
한편, 설정 정보(OP[0:7])가 (2)의 케이스와 같은 값을 갖는 경우, OP 코드(OP2 ~ OP5)에 따라 제1 아이디(SID0)를 갖는 코어 다이의 제1 의사 채널(PC0)이 선택되고, OP 코드(OP6, OP7)에 따라 제1 의사 채널(PC0)의 모든 뱅크들이 선택될 수 있다. 또한, OP 코드(OP0, OP1)에 따라 SID0의 제1 의사 채널(PC0)의 모든 뱅크들이 연산 모드로 진입될 수 있다.
한편, 설정 정보(OP[0:7])가 (3)의 케이스와 같은 값을 갖는 경우, OP 코드(OP2 ~ OP5)에 따라 SID0 및 SID1의 제1 의사 채널(PC0)이 선택되고, OP 코드(OP6, OP7)에 따라 제1 의사 채널(PC0)의 모든 뱅크들이 선택될 수 있다. 또한, OP 코드(OP0, OP1)에 따라 SID0 및 SID1의 제1 의사 채널(PC0)의 모든 뱅크들이 연산 모드로 진입될 수 있다.
한편, 설정 정보(OP[0:7])가 (4)의 케이스와 같은 값을 갖는 경우, OP 코드(OP2 ~ OP5)에 따라 SID0의 제1 의사 채널(PC0)이 선택되고, OP 코드(OP6, OP7)에 따라 SID0의 제1 의사 채널(PC0)의 bottom 영역의 뱅크들(예컨대, L0 ~ M0)이 선택될 수 있다. 또한, OP 코드(OP0, OP1)에 따라 SID0의 제1 의사 채널(PC0)의 bottom 영역의 뱅크들이 연산 모드로 진입될 수 있다.
한편, 설정 정보(OP[0:7])가 (5)의 케이스와 같은 값을 갖는 경우, 상기한 동작을 기초로 SID0의 제1 및 제2 의사 채널들(PC0, PC1)의 bottom 영역의 뱅크들(예컨대, L0 ~ M0, L1 ~ M1)이 연산 모드로 진입될 수 있으며, 설정 정보(OP[0:7])가 (6)의 케이스와 같은 값을 갖는 경우, SID0의 제1 의사 채널(PC0)의 모든 뱅크들이 연산 모드로부터 탈출(exit)할 수 있다.
상기와 같은 도 11에 도시된 설정 정보(OP[0:7])에 따른 모드 제어는 하나의 예에 불과한 것으로서, 설정 정보(OP[0:7])의 코드 값들을 다양하게 가변함으로써 뱅크 영역들의 모드를 다양한 방식에 따라 설정할 수 있을 것이다.
도 12 내지 도 14는 본 개시의 예시적인 실시예에 따른 메모리 장치의 다양한 동작 예들을 나타내는 도면이다.
도 12를 참조하면, 메모리 장치(700)는 인터페이스 회로(710), 커맨드 디코더(720) 및 메모리 셀 어레이(760)를 포함할 수 있다. 메모리 셀 어레이(760)는 다수 개의 뱅크 영역(일 예로서 제1 내지 제4 뱅크 영역들(761 ~ 764))을 포함할 수 있다. 일 구현 예에 따라, 제1 뱅크 영역(761)은 제1 의사 채널(PC0)의 제1 및 제2 뱅크 그룹들(BG0, BG1)을 포함하고, 제2 뱅크 영역(762)은 제1 의사 채널(PC0)의 제3 및 제4 뱅크 그룹들(BG2, BG3)을 포함하는 예가 도시된다.
전술한 실시예들에 따라, 각각의 뱅크 영역에 대응하여 하나 이상의 프로세싱 엘레멘트들을 포함하는 PE 그룹이 배치될 수 있고, 또한 각각의 PE 그룹에 대응하여 PE 그룹 내의 프로세싱 엘레멘트들로 구동 클록을 제공하는 클록 생성기가 배치될 수 있다. 또한, 각각의 뱅크 영역에 대응하여 모드 신호 생성기가 배치될 수 있다. 도 12에 도시된 바와 같이, 제1 내지 제4 뱅크 영역들(761 ~ 764)에 대응하여, 제1 내지 제4 모드 신호 생성기들(731~ 734), 제1 내지 제4 클록 생성기들(741~ 744), 제1 내지 제4 PE 그룹들(751 ~ 754)이 구비되는 예가 도시된다.
한편, 도 12에서는 설정 정보를 저장하는 MRS가 커맨드 디코더(720) 내에 구비되는 것으로 도시되었으나, 커맨드 디코더(720)의 외부에 배치되는 것으로 도시되어도 무방하며, 제1 내지 제4 클록 생성기들(741 ~ 744)로서 프로세싱 엘레멘트들의 구동 클록들(PE_CLK1 ~ PE_CLK4)을 생성하는 클록 분주기가 예시된다.
인터페이스 회로(710)는 다양한 종류의 핀들을 통해 외부의 메모리 컨트롤러(미도시)와 통신하고, 클록 핀(CK_P), 데이터 핀(DQ_P)을 통해 클록 신호 및 데이터를 송수신할 수 있다. 또한, 커맨드/어드레스와 관련하여 로우 신호를 수신하는 로우 핀(R_P)과 칼럼 신호를 수신하는 칼럼 핀(C_P)이 구비될 수 있고, 예시적인 실시예에서 설정 정보는 칼럼 핀(C_P)을 통해 수신될 수 있다. 또한, 클록 핀(CK_P)을 통해 수신된 클록 신호는 제1 내지 제4 클록 생성기들(741 ~ 744)로 제공되어 상기한 구동 클록들(PE_CLK1 ~ PE_CLK4)의 생성에 이용될 수 있다.
예시적인 실시예에 따라, 연산 모드로 설정된 뱅크 영역에 대응하는 PE 그룹으로 구동 클록을 제공하고, 노멀 모드로 설정된 뱅크 영역에 대응하는 PE 그룹으로는 구동 클록의 제공을 차단함으로써 프로세싱 엘레멘트들을 인에이블하거나 디스에이블할 수 있다. 일 동작 예로서, 설정에 이용되는 모드 레지스터를 나타내는 정보(MR_EN)와 설정 정보(OP[0:7])가 제1 내지 제4 모드 신호 생성기들(731 ~ 734)로 제공될 수 있고, 제1 내지 제4 모드 신호 생성기들(731~ 734)은 수신된 정보를 처리하여 제1 내지 제4 모드 신호들(PE_MODE1 ~ PE_ MODE4)을 생성하고 이를 제1 내지 제4 클록 생성기들(741~ 744) 및 제1 내지 제4 PE 그룹들(751 ~ 754)로 제공할 수 있다. 제1 뱅크 영역(761)이 연산 모드로 설정된 경우를 가정하면, 제1 클록 생성기(741)는 제1 모드 신호(PE_MODE1)에 응답하여 제1 구동 클록(PE_CLK1)을 활성화하는 반면에, 나머지 구동 클록들(PE_CLK2 ~ PE_CLK4)은 비활성화될 수 있다.
도 13은 메모리 장치가 전술한 도 11의 (4)의 케이스에 따라 동작하는 예를 나타내는 파형도이다. 도 12의 메모리 장치(700)는 SID0에 해당하고, 제1 뱅크 영역(761)의 제1 및 제2 뱅크 그룹들(BG0, BG1)은 제1 의사 채널(PC0)의 top 영역에 포함될 수 있고, 제2 뱅크 영역(762)의 제3 및 제4 뱅크 그룹(BG2, BG3)은 제1 의사 채널(PC0)의 bottom 영역에 포함될 수 있다. 일 예로서, 제1 뱅크 그룹(BG0)은 도 11의 뱅크들(A0, C0, E0, F0)을 포함할 수 있고, 제2 뱅크 그룹(BG1)은 도 11의 뱅크들(C0, D0, G0, H0)을 포함할 수 있다.
메모리 장치(700)는 노멀 모드에서 동작할 수 있고, 메모리 컨트롤러로부터 MRS 설정을 위한 MRS 커맨드가 수신됨과 함께, 모드 레지스터의 위치를 나타내는 MR 어드레스(MA[0:4])와 설정 정보(OP[0:7])가 수신될 수 있다. 설정 정보(OP[0:7])는 도 11의 (4)의 케이스에 따른 정보를 포함할 수 있고, 제1 의사 채널(PC0)의 bottom 영역에 상응하는 제2 뱅크 영역(762)이 연산 모드로 설정됨에 따라 제2 모드 신호(PE_MODE2)가 활성화되고, 제2 구동 클록(PE_CLK2)이 활성화되어 제2 PE 그룹(752)으로 제공될 수 있다. 또한, 연산 모드 동안 연산 처리를 위해 적어도 하나의 액티브 커맨드(B0 CMD, B1 CMD)가 제공되고, 다수의 뱅크들이 함께 액티브될 수 있다.
이후, 모드 변경을 위해 설정 정보(OP[0:7])가 수신될 수 있고, 상기 설정 정보(OP[0:7])에 따라 제2 뱅크 영역(762)이 노멀 모드로 변경될 수 있으며, 이에 따라 제2 모드 신호(PE_MODE2)가 비활성화됨과 함께 제2 구동 클록(PE_CLK2)이 비활성화될 수 있다.
한편, 도 14는 메모리 장치가 전술한 도 11의 (5)의 케이스에 따라 동작하는 예를 나타내는 파형도이다. 도 14를 참조하면, 상기한 도 11의 (5)의 케이스에 따라 모드가 설정됨에 따라 제1 및 제2 의사 채널들(PC0, PC1)의 bottom 영역에 상응하는 제2 및 제4 뱅크 영역들(762, 764)이 연산 모드로 설정될 수 있다. 일 예로서 제2 모드 신호(PE_MODE2) 및 제4 모드 신호(PE_MODE4)가 활성화될 수 있고, 제2 구동 클록(PE_CLK2) 및 제4 구동 클록(PE_CLK4)이 활성화되어 제2 PE 그룹(752) 및 제4 PE 그룹(754)으로 각각 제공될 수 있다. 또한, 연산 모드 동안 연산 처리를 위해 적어도 하나의 액티브 커맨드(B0 CMD, B1 CMD)가 제공될 수 있고, 이후 설정 정보(OP[0:7])가 변경됨에 따라 제2 및 제4 모드 신호(PE_MODE2, PE_MODE4)와 제2 및 제4 구동 클록(PE_CLK2, PE_CLK4)들이 비활성화될 수 있다.
도 15 및 도 16은 본 개시의 다른 예에 따른 메모리 장치의 구현 예 및 동작의 일 예를 나타내는 도면이다. 도 15 및 도 16에서는 모드 설정에 이용될 수 있는 다양한 커맨드/어드레스가 예시된다.
도 15를 참조하면, 메모리 장치(800)는 인터페이스 회로(810), 커맨드 디코더(820) 및 메모리 셀 어레이(860)를 포함하고, 메모리 셀 어레이(860)는 제1 내지 제4 뱅크 영역들(861 ~ 864)을 포함할 수 있다. 또한, 제1 내지 제4 뱅크 영역들(861 ~ 864)에 대응하여, 제1 내지 제4 모드 신호 생성기들(831~ 834), 제1 내지 제4 클록 생성기들(841~ 844), 제1 내지 제4 PE 그룹들(851 ~ 854)이 구비될 수 있다.
인터페이스 회로(810)는 클록 핀(CK_P), 데이터 핀(DQ_P), 로우 핀(R_P) 및 칼럼 핀(C_P)을 통해 메모리 컨트롤러와 통신할 수 있고, 적어도 하나의 커맨드가 모드 설정을 위해 이용될 수 있다. 도 15에는 그 일 예로서 액티브 커맨드(ACT), 프리차지 커맨드(PRE) 및 적어도 하나의 어드레스 정보가 모드 설정을 위해 이용되는 예가 도시되나, 본 발명의 실시예는 이에 국한될 필요가 없이 다른 다양한 종류의 커맨드를 기초로 모드 설정이 수행될 수도 있다. 또한 일 예로서, 어드레스 정보는 각각 하나 이상의 비트들을 포함하는 로우 어드레스(RA[0:14])와 뱅크 어드레스(BA[0:3])를 포함할 수 있으며, 일 구현 예에 따라 상기한 로우 어드레스(RA[0:14])와 뱅크 어드레스(BA[0:3])는 로우 핀(R_P)을 통해 수신될 수 있다.
커맨드 디코더(820)는 커맨드/어드레스 디코딩 결과를 제1 내지 제4 모드 신호 생성기들(831~ 834)로 제공할 수 있고, 제1 내지 제4 모드 신호 생성기들(831~ 834) 각각은 수신된 디코딩 결과를 기초로 모드 신호를 생성할 수 있다. 도 16은 도 15에 도시된 커맨드/어드레스를 기초로 설정된 모드에 따라 연산 처리를 수행하는 예가 도시되며, 일 예로서 앞선 도 13의 케이스와 동일하게 제2 뱅크 영역(762)이 연산 모드로 설정되는 경우가 예시된다.
일 동작 예로서, 뱅크 영역의 연산 모드 진입은 액티브 커맨드(ACT)와 어드레스 정보를 기초로 수행될 수 있다. 일 예로서, 뱅크 어드레스(BA[0:3])는 연산 모드로 진입할 뱅크 영역을 지시하는 정보를 포함할 수 있고, 액티브 커맨드(ACT)와 로우 어드레스(RA[0:14])는 연산 모드의 진입을 명령하는 커맨드로서 기능할 수 있다. 예컨대, 로우 어드레스(RA[0:14])의 적어도 일부의 비트가 특정 코드(specific code)를 가짐에 따라 연산 모드의 진입을 명령할 수 있다.
상기 수신된 커맨드/어드레스를 기초로 제2 모드 신호(PE_MODE2)와 제2 구동 클록(PE_CLK2)이 활성화될 수 있으며, 적어도 하나의 액티브 커맨드(B0 CMD)가 수신될 수 있다. 또한, 연산 모드의 탈출을 위한 커맨드가 정의될 수 있고, 일 예로서 액티브 커맨드(ACT)와 프리차지 커맨드(PRE)가 순차적으로 수신됨에 따라 뱅크 영역이 노멀 모드로 변경될 수 있다. 예컨대, 액티브 커맨드(ACT)와 로우 어드레스(RA[0:14])의 적어도 일부의 비트의 특정 코드에 의해 연산 모드의 탈출이 명령될 수 있고, 이후 프리차지 커맨드(PRE)의 수신에 응답하여 모드가 변경될 수 있다. 또한, 뱅크 어드레스(BA[0:3])는 연산 모드를 탈출할 뱅크 영역을 지시할 수 있다.
상기한 도 15 및 도 16에 도시된 실시예들에 따르면, 모드 레지스터에 대한 설정과는 별개로, 액티브 커맨드(ACT), 프리차지 커맨드(PRE) 등의 각종 커맨드와 함께, 뱅크 어드레스 및 로우 어드레스의 특정 비트들을 활용하여 뱅크 영역들에 대한 모드를 설정할 수 있으며, 또한 연산 모드로부터의 탈출을 설정할 수 있다.
도 17은 본 발명의 실시예에 따른 데이터 처리 시스템을 포함하는 서버 시스템을 나타내는 블록도이다.
도 17을 참조하면, 서버 시스템(800)은 관리자(810) 및 복수의 서버들(820_1 ~ 820_K)을 포함할 수 있다. 복수의 서버들(820_1 ~ 820_K) 각각은 전술한 실시예들에서 설명된 데이터 처리 시스템에 해당할 수 있다. 복수의 서버들(820_1 ~ 820_K)은 소정의 프로토콜(예컨대, PCI, PCIe 등)을 지원하는 버스를 통해 서로 연결되고, 일 예로서 복수의 서버들(820_1 ~ 820_K)은 관리자(810)의 제어에 기반하여 P2P 연결 구조를 통해 서로 통신할 수 있다.
어느 하나의 서버(예컨대, 제1 서버(820_1))를 참조하면, 제1 서버(820_1)는 전술한 실시예들에 따른 호스트 및 하나 이상의 메모리 장치(MEM)들을 포함하고, 서버의 기능에 따른 다양한 종류의 연산 처리를 수행하고 그 처리 결과를 저장할 수 있다. 일 실시예에 따라, 메모리 장치(MEM)들 각각은 다수의 뱅크들 및 이에 대응하여 배치되는 프로세싱 엘레멘트들을 포함할 수 있으며, 호스트의 제어 및/또는 자체적인 제어를 통해 연산 처리를 수행할 수 있다. 전술한 실시예들에 따라, 메모리 장치(MEM)의 다수의 뱅크들은 적어도 두 개의 뱅크 영역들로 분류될 수 있고, 뱅크 영역 단위로 연산 모드가 설정될 수 있다. 즉, 일부의 뱅크 영역들은 연산 모드로 설정됨에 따라 연산 처리를 수행할 수 있으며, 다른 일부의 뱅크 영역들은 노멀 모드로 설정됨에 따라 메모리 동작을 수행할 수 있다. 또한, 메모리 장치(MEM)은 MRS 설정을 기초로 전술한 바에 따라 모드를 가변하거나 또는 커맨드/어드레스의 디코딩을 기초로 모드를 가변할 수 있다. 다양한 실시예들에서, 서버 시스템(800)은 뉴럴 네트워크 서버 시스템에 해당하고, 제1 서버(820_1)는 방대한 양의 뉴럴 네트워크 연산들을 수행함에 있어서 적어도 일부의 연산들이 메모리 장치(MEM)에 의해 수행될 수 있도록 메모리 장치(MEM)에 대한 제어 동작을 수행할 수 있을 것이다.
도 18은 본 개시의 일 실시예에 따른 메모리 장치가 적용된 모바일 시스템(1000)을 나타내는 블록도이다.
도 18을 참조하면, 모바일 시스템(1000)은 카메라(1100), 디스플레이(1200), 오디오 처리부(1300), 네트워크 프로세서(1400), DRAM(1500a, 1500b), 플래시 메모리 장치(1600a, 1600b), I/O 디바이스(1700a, 1700b), 및 어플리케이션 프로세서(Application Processor, 이하 "AP")(1800)를 포함할 수 있다. 모바일 시스템(1000)은 랩탑(laptop) 컴퓨터, 휴대용 단말기(mobile phone), 스마트폰(smart phone), 태블릿 PC (tablet personal computer), 또는 웨어러블 컴퓨터로 구현될 수 있다. 또한, 모바일 시스템(1000)은 서버(Server), 또는 개인용 컴퓨터(Personal Computer)로 구현될 수도 있다.
카메라(1100)는 사용자의 제어에 따라 정지 영상 또는 동영상을 촬영할 수 있다. 카메라(1100)는 전면 카메라, 후면 카메라 등과 같이 복수 개로 구현될 수 있다. 디스플레이(1200)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, AM-OLED(Active-Matrix Organic Light-Emitting Diode), PDP(Plasma Display Panel) 등과 같은 다양한 형태로 구현될 수 있다. 오디오 처리부(1300)는 플래시 메모리 장치(1600a, 1600b)에 저장된 컨텐츠에 포함된 오디오 데이터를 처리할 수 있다. 예를 들어, 오디오 처리부(1300)는 오디오 데이터에 대한 디코딩, 증폭, 노이즈 필터링 등과 같은 다양한 처리를 수행할 수 있다.
네트워크 프로세서(1400)는 네트워크 데이터를 처리하도록 구성된 프로세서일 수 있다. 네트워크 프로세서(1400)는 헤더 파싱(header parsing), 패턴 매칭(pattern matching), 비트 단위 조작(bit field manipulation), 테이블 룩업(table lookup), 패킷 순서 관리(packet ordering management), 패킷 수정(packet modification), 및 데이터 이동(data movement) 등의 기능을 수행할 수 있다. I/O 디바이스(1700a, 1700b)는 USB나 스토리지, 디지털 카메라, SD 카드, 터치 스크린, DVD, 모뎀(Modem), 네트워크 어댑터(Network adapter) 등과 같은 디지털 입력 및 출력 기능을 제공하는 기기들을 포함할 수 있다.
AP(1800)는 모바일 시스템(1000)의 전반적인 동작을 제어한다. 구체적으로, AP(1800)는 플래시 메모리 장치(1600a, 1600b)에 저장된 컨텐츠의 일부가 디스플레이(1200)에 표시되도록 디스플레이(1200)를 제어할 수 있다. 또한, AP(1800)는 I/O 디바이스(1700a, 1700b)를 통해 사용자 입력이 수신되면, 사용자 입력에 대응하는 제어 동작을 수행할 수 있다.
AP(1800)는 응용 프로그램, 운영 체제(Operating System, OS) 등을 구동하는 시스템 온 칩(System-on-Chip, 이하 "SoC")으로 제공될 수 있다. SoC에서 구동되는 운영 체제의 커널(Kernel)에는 입출력 스케줄러(I/O Scheduler) 및 플래시 메모리 장치(1600a, 1600b)를 제어하기 위한 장치 드라이버(Device Driver)가 포함될 수 있다. 장치 드라이버는 입출력 스케줄러에서 관리되는 동기 큐의 수를 참조하여 플래시 메모리 장치(1600a, 1600b)의 액세스 성능을 제어하거나, SoC 내부의 CPU 모드, DVFS(Dynamic Voltage and Frequency Scaling) 레벨 등을 제어할 수 있다.
실시예에 따라, 모바일 시스템(1000)은 복수의 DRAM(1500a, 1500b)을 포함할 수 있다. 일 실시예에서, AP(1800)는 컨트롤러(1810)를 내장할 수 있고, 이에 따라, DRAM(1500a)은 AP(1800)와 직접 연결될 수 있다. 일 실시예에서, AP(1800)는 AI 데이터 연산을 위한 전용 회로인 NPU(Neural Processing Unit)를 포함하는 NPU 블록 또는 NPU 칩(1820)을 포함할 수 있고, 이에 따라, NPU 블록 또는 NPU 칩(1820)에 추가적으로 DRAM(1500b)이 장착될 수 있다.
DRAM(1500a, 1500b)은 I/O 디바이스(1700a, 1700b)나 플래시 메모리 장치(1600a, 1600b)보다 상대적으로 작은 레이턴시(latency)와 대역폭(bandwidth)를 가지고 있다. DRAM(1500a, 1500b)은 모바일 시스템(1000)의 파워 온 시점에 초기화되고, 운영 체제와 어플리케이션 데이터가 로딩되어 운영 체제와 어플리케이션 데이터의 임시 저장 장소로 사용되거나 각종 소프트웨어 코드의 실행 공간으로 사용될 수 있다. 모바일 시스템(1000)은 복수의 어플리케이션들을 동시에 로딩하는 멀티태스킹(Multitasking) 동작이 빈번하며, 어플리케이션들 사이의 전환과 실행 속도가 모바일 시스템(1000)의 성능 지수(performance index)로 사용된다.
DRAM(1500a, 1500b) 내에서는 더하기/빼기/곱하기/나누기 사칙연산과 벡터 연산, 어드레스 연산, 또는 FFT 연산이 수행될 수 있다. 또한, DRAM(1500a, 1500b) 내에서는 인퍼런스(inference)에 사용되는 함수(function)가 수행될 수 있다. 여기서, 인퍼런스는 인공 신경망(artificial neural network)을 이용한 딥러닝 알고리즘에서 수행될 수 있다. 딥러닝 알고리즘은 다양한 데이터를 통해 모델을 학습하는 트레이닝(training) 단계와 학습된 모델로 데이터를 인식하는 인퍼런스 단계를 포함할 수 있다. 예를 들어, 인퍼런스에 사용되는 함수는 쌍곡선 탄젠트(hyperbolic tangent) 함수, 시그모이드(sigmoid) 함수, ReLU(Rectified Linear Unit) 함수 등이 있다. 예를 들어, DRAM(1500b) 내에서 인퍼런스에 사용되는 함수가 수행할 수 있고, NPU 블록 또는 NPU 칩(1820)은 DRAM(1500b)에 저장된 데이터를 기초로 AI 데이터 연산을 수행할 수 있다.
실시예에 따라, 모바일 시스템(1000)은 복수의 스토리지 또는 복수의 플래시 메모리 장치(1600a, 1600b)를 포함할 수 있다. 일 실시예에서, AP(1800)는 인터페이스(1830)를 포함할 수 있고, 이에 따라, 플래시 메모리 장치(1600a, 1600b)는 AP(1800)와 직접 연결될 수 있다. 예를 들어, AP(1800)는 SoC로 구현될 수 있고, 플래시 메모리 장치(1600a)는 별도의 칩으로 구현될 수 있으며, AP(1800)와 플래시 메모리 장치(1600a)는 하나의 패키지(package)로 조립될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 복수의 플래시 메모리 장치(1600a, 1600b)는 커넥션(connection)을 통하여 모바일 시스템(1000)에 전기적으로 연결될 수 있다.
플래시 메모리 장치(1600a, 1600b)는 카메라(1100)를 통하여 찍은 사진을 저장하거나, 데이터 네트워크로 전송 받은 데이터, 예를 들어, 증강 현실(Augmented Reality)/가상 현실(Virtual Reality), HD(High Definition) 또는 4K UHD(Ultra High Definition) 컨텐츠를 저장할 수 있다.
플래시 메모리(1620) 및/또는 메모리 컨트롤러(1610)는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 플래시 메모리(1620) 및/또는 메모리 컨트롤러(1610)는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장될 수 있다.
DRAM(1500a)는 도 1 내지 도 16을 참조하여 상술된 메모리 장치에 대응할 수 있고, 프로세싱 엘레멘트(PE)를 포함할 수 있다. 또한, 컨트롤러(1810)는 도 1 내지 도 16을 참조하여 상술된 메모리 컨트롤러에 대응할 수 있다. 예를 들어, 사용자는 카메라(1100)를 통해 사물을 촬영할 수 있고, 이에 따라, 모바일 시스템(1000)은 카메라(1100)를 통해 입력된 사물 이미지에 대한 이미지 신호 처리를 수행할 수 있다. 이하에서는, 이미지 신호 처리와 관련된 모바일 시스템(1000)의 동작을 설명하기로 한다.
AP(1800) 내의 컨트롤러(1810)는 전술한 실시예들에 따라 뱅크 영역 별로 동작 모드를 결정하고, 결정된 모드를 지시하는 설정 정보를 DRAM(1500a)에 제공할 수 있다. DRAM(1500a)은 설정 정보를 기초로 뱅크 영역들의 모드 설정을 제어할 수 있고, DRAM(1500a)에 구비되는 적어도 일부의 뱅크 영역들이 연산 모드로 진입할 수 있다.
예를 들어, DRAM(1500a)에 포함된 PE들은 카메라(1100)를 통해 입력된 사물 이미지와 관련된 데이터 연산을 수행할 수 있고, 연산 결과를 컨트롤러(1810)에 제공할 수 있다. AP(1800)는 컨트롤러(1810)에서 수신한 연산 결과를 기초로 사물 이미지와 관련된 사물 인식 결과를 생성할 수 있고, 생성된 사물 인식 결과를 I/O 디바이스(1700a)에 제공할 수 있다. 다른 예를 들어, DRAM(1500a)에 포함된 PE들은 카메라(1100)를 통해 입력된 사물 이미지와 관련된 데이터 연산을 수행함으로써 사물 인식 결과를 생성할 수 있고, 생성된 사물 인식 결과를 컨트롤러(1810)에 제공할 수 있다. AP(1800)는 컨트롤러(1810)에서 수신한 사물 인식 결과를 I/O 디바이스(1700a)에 제공할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 각각 다수의 뱅크들을 포함하는 제1 뱅크 영역과 제2 뱅크 영역을 포함하는 메모리 셀 어레이;
    상기 제1 뱅크 영역에 대응하는 하나 이상의 제1 프로세싱 엘레멘트(PE)들과 상기 제2 뱅크 영역에 대응하는 하나 이상의 제2 PE들을 포함하는 연산 로직;
    외부로부터의 설정 정보에 기초하여 상기 제1 뱅크 영역 및 상기 제2 뱅크 영역의 모드를 제어하는 제어 로직;
    상기 제어 로직의 제어에 기초하여, 상기 제1 PE들의 인에이블을 제어하는 제1 모드 신호를 생성하는 제1 모드 신호 생성기; 및
    상기 제어 로직의 제어에 기초하여, 상기 제2 PE들의 인에이블을 제어하는 제2 모드 신호를 생성하는 제2 모드 신호 생성기를 구비하고,
    상기 제1 뱅크 영역이 연산 모드로 설정되고 상기 제2 뱅크 영역 노멀 모드로 설정됨에 따라, 상기 제1 모드 신호 생성기는 상기 제1 모드 신호를 출력하여 상기 제1 PE들을 인에이블시키고, 상기 제2 모드 신호 생성기는 상기 제2 모드 신호를 출력하여 상기 제2 PE들을 디스에이블시키는 것을 특징으로 하는 메모리 장치.
  2. 제1항에 있어서,
    상기 제1 뱅크 영역은 다수 개의 제1 뱅크들을 포함하고, 상기 제2 뱅크 영역은 다수 개의 제2 뱅크들을 포함하며,
    외부로부터의 액티브 커맨드에 응답하여, 상기 제1 뱅크 영역의 적어도 두 개의 제1 뱅크들이 함께 액티브되고,
    상기 외부로부터의 액티브 커맨드에 응답하여, 상기 제2 뱅크 영역의 어느 하나의 뱅크가 선택적으로 액티브되는 것을 특징으로 하는 메모리 장치.
  3. 제1항에 있어서,
    상기 제1 PE들은, 상기 제1 뱅크 영역의 상기 적어도 두 개의 제1 뱅크들의 액티브된 로우들로부터 독출된 데이터를 이용한 연산을 병렬하게 수행하는 것을 특징으로 하는 메모리 장치.
  4. 제1항에 있어서,
    상기 제1 PE들에 의한 연산 처리와, 상기 제2 뱅크 영역에 대한 데이터 억세스는 병렬하게 수행되는 것을 특징으로 하는 메모리 장치.
  5. 제1항에 있어서,
    상기 제어 로직은 그 값이 변경된 설정 정보를 수신하고, 상기 변경된 설정 정보에 기초하여 상기 제1 및 제2 뱅크 영역들을 모두 연산 모드로 설정하거나 또는 노멀 모드로 설정하는 것을 특징으로 하는 메모리 장치.
  6. 제1항에 있어서,
    상기 제1 뱅크 영역은 다수 개의 제1 뱅크들을 포함하는 제1 뱅크 그룹을 포함하고, 상기 제2 뱅크 영역은 다수 개의 제2 뱅크들을 포함하는 제2 뱅크 그룹을 포함하며,
    상기 제1 뱅크 그룹과 상기 제2 뱅크 그룹은 서로 별개로 배치되는 뱅크 그룹 입출력 라인을 통해 데이터를 전송하는 것을 특징으로 하는 메모리 장치.
  7. 제1항에 있어서,
    상기 제어 로직은, 다수의 모드 레지스터들을 포함하는 모드 레지스터 세트(MRS)와 상기 외부로부터 수신된 커맨드/어드레스를 디코딩하는 커맨드 디코더를 포함하며,
    상기 MRS 에 저장되는 명령(OP) 코드가 상기 설정 정보로서 수신되는 것을 특징으로 하는 메모리 장치.
  8. 제7항에 있어서,
    상기 외부로부터 상기 커맨드/어드레스를 수신하는 인터페이스 회로를 더 구비하고,
    상기 인터페이스 회로는 로우 신호를 수신하는 로우 핀과 칼럼 신호를 수신하는 칼럼 핀을 포함하고, 상기 설정 정보는 상기 칼럼 핀을 통해 수신되는 것을 특징으로 하는 메모리 장치.
  9. 제7항에 있어서,
    상기 제어 로직은 상기 OP 코드를 상기 제1 모드 신호 생성기 및 상기 제2 모드 신호 생성기로 공통하게 제공하고,
    상기 OP 코드에 응답하여 상기 제1 모드 신호 생성기는 상기 제1 모드 신호를 생성하고 상기 제2 모드 신호 생성기는 상기 제2 모드 신호를 생성하는 것을 특징으로 하는 메모리 장치.
  10. 제1항에 있어서,
    로우 신호를 수신하는 로우 핀과 칼럼 신호를 수신하는 칼럼 핀을 포함하고, 상기 로우 핀을 통해 상기 외부로부터 상기 커맨드/어드레스를 수신하는 인터페이스 회로를 더 구비하며,
    상기 제어 로직은, 하나 이상의 커맨드와 하나 이상의 어드레스의 조합을 상기 설정 정보로서 수신하는 것을 특징으로 하는 메모리 장치.
  11. 제10항에 있어서,
    상기 제어 로직은, 액티브 커맨드 및 프리차지 커맨드 중 적어도 하나와 로우 어드레스의 조합을 기초로 상기 제1 뱅크 영역 및 상기 제2 뱅크 영역의 모드를 제어하는 것을 특징으로 하는 메모리 장치.
  12. 제11항에 있어서,
    상기 제어 로직은 뱅크 어드레스를 더 수신하고, 상기 뱅크 어드레스의 정보를 기초로 상기 연산 모드로 진입할 뱅크 영역이 선택되는 것을 특징으로 하는 메모리 장치.
  13. 제1항에 있어서,
    상기 제1 PE들로 구동 클록을 제공하는 제1 클록 생성기와, 상기 제2 PE들로 구동 클록을 제공하는 제2 클록 생성기를 더 구비하고,
    상기 제1 모드 신호에 응답하여 상기 제1 클록 생성기는 상기 구동 클록을 상기 제1 PE들로 제공하고, 상기 제2 모드 신호에 응답하여 상기 제2 클록 생성기는 상기 구동 클록이 상기 제2 PE들로 제공되는 것을 차단하는 것을 특징으로 하는 메모리 장치.
  14. 메모리 컨트롤러와 통신하는 메모리 장치에 있어서,
    각각 다수의 뱅크들을 포함하는 제1 뱅크 영역과 제2 뱅크 영역을 포함하는 메모리 셀 어레이;
    상기 제1 뱅크 영역에 대응하는 하나 이상의 제1 프로세싱 엘레멘트(PE)들과 상기 제2 뱅크 영역에 대응하는 하나 이상의 제2 PE들을 포함하는 연산 로직;
    상기 메모리 컨트롤러와 인터페이스하고, 상기 메모리 컨트롤러로부터 상기 제1 뱅크 영역 및 상기 제2 뱅크 영역의 모드를 설정하기 위한 설정 정보를 수신하는 인터페이스 회로; 및
    제1 값을 갖는 상기 설정 정보의 수신에 응답하여 상기 제1 뱅크 영역을 연산 모드로 설정하고 상기 제2 뱅크 영역을 노멀 모드로 설정하는 제어 로직을 구비하고,
    상기 제어 로직의 제어에 기초하여, 제1 PE들을 이용한 연산 처리와 상기 제2 뱅크 영역에 대한 데이터 억세스가 병렬하게 수행되는 것을 특징으로 하는 메모리 장치.
  15. 제14항에 있어서,
    상기 메모리 장치의 동작 환경을 설정하는 다수의 모드 레지스터들을 포함하는 모드 레지스터 세트(MRS)를 더 구비하고,
    상기 제어 로직은, 상기 수신된 상기 설정 정보를 상기 MRS에 저장하는 것을 특징으로 하는 메모리 장치.
  16. 제15항에 있어서,
    제2 값을 갖는 설정 정보가 수신됨에 따라, 상기 제2 값을 갖는 설정 정보가 상기 MRS에 업데이트되고,
    상기 제어 로직은, 상기 제2 값을 갖는 설정 정보의 수신에 응답하여 상기 제1 및 제2 뱅크 영역들을 모두 연산 모드로 설정하거나 또는 노멀 모드로 설정하는 것을 특징으로 하는 메모리 장치.
  17. 제14항에 있어서,
    상기 제어 로직의 제어에 기초하여, 상기 제1 PE들의 인에이블을 제어하는 제1 모드 신호를 생성하는 제1 모드 신호 생성기;
    상기 제어 로직의 제어에 기초하여, 상기 제2 PE들의 인에이블을 제어하는 제2 모드 신호를 생성하는 제2 모드 신호 생성기;
    상기 제1 모드 신호에 응답하여 상기 제1 PE들로 구동 클록을 제공하는 제1 클록 생성기; 및
    상기 제2 모드 신호에 응답하여 상기 제2 PE들로 구동 클록을 제공하는 제2 클록 생성기를 더 구비하고,
    상기 제1 모드 신호에 응답하여 상기 제1 클록 생성기는 상기 구동 클록을 상기 제1 PE들로 제공하고, 상기 제2 모드 신호에 응답하여 상기 제2 클록 생성기는 상기 구동 클록이 상기 제2 PE들로 제공되는 것을 차단하는 것을 특징으로 하는 메모리 장치.
  18. 메모리 컨트롤러와 통신하는 메모리 장치에 있어서, 상기 메모리 장치는 메모리 컨트롤러와 통신하는 버퍼 다이 및 이에 적층되는 하나 이상의 코어 다이들을 포함하고, 상기 코어 다이들 각각은 다수의 채널들을 포함하며,
    각각의 채널은,
    다수의 뱅크 영역들을 포함하고, 각각의 뱅크 영역은 다수의 뱅크들을 포함하는 메모리 셀 어레이;
    상기 다수의 뱅크 영역들에 대응하여 배치되는 다수의 프로세싱 엘레멘트(PE) 그룹들을 포함하고, 각각의 PE 그룹은 하나 이상의 PE들을 포함하는 연산 로직;
    상기 다수의 PE 그룹들에 대응하여 배치되고, 각각 대응하는 PE 그룹의 PE들의 인에이블을 제어하는 모드 신호를 생성하는 다수의 모드 생성기들; 및
    상기 메모리 컨트롤러로부터 제공된 설정 정보에 기초하여 상기 다수의 뱅크 영역들의 모드를 제어하는 제어 로직을 구비하고,
    상기 다수의 뱅크 영역들 중 일부는 연산 모드로 설정되고 다른 일부는 노멀 모드로 설정되며, 상기 연산 모드로 설정된 뱅크 영역들에 대응하는 PE 그룹들에서 연산이 수행되는 동안, 상기 노멀 모드로 설정된 뱅크 영역들에 대해 데이터 억세스가 수행되는 것을 특징으로 하는 메모리 장치.
  19. 제18항에 있어서,
    상기 다수의 PE 그룹들에 대응하여 배치되는 다수의 클록 생성기들을 더 구비하고,
    상기 다수의 클록 생성기들 각각은, 대응하는 모드 생성기로부터의 모드 신호에 응답하여, 대응하는 PE 그룹으로 구동 클록을 제공하거나 구동 클록의 제공을 차단하는 것을 특징으로 하는 메모리 장치.
  20. 제19항에 있어서,
    상기 제어 로직은, 다수의 모드 레지스터들을 포함하는 모드 레지스터 세트(MRS)와 상기 외부로부터 수신된 커맨드/어드레스를 디코딩하는 커맨드 디코더를 포함하며,
    상기 MRS 에 저장되는 명령(OP) 코드가 상기 설정 정보로서 수신되는 것을 특징으로 하는 메모리 장치.
KR1020200114045A 2020-09-07 2020-09-07 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법 KR20220032366A (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020200114045A KR20220032366A (ko) 2020-09-07 2020-09-07 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법
US17/335,307 US11561711B2 (en) 2020-09-07 2021-06-01 Memory device performing configurable mode setting and method of operating the same
CN202110833742.2A CN114155891A (zh) 2020-09-07 2021-07-22 执行可配置模式设置的存储设备及其操作方法
EP21188918.3A EP3964971A1 (en) 2020-09-07 2021-07-30 Memory device performing configurable mode setting and method of operating the same
TW110129636A TWI781722B (zh) 2020-09-07 2021-08-11 記憶體裝置
US18/145,186 US12001699B2 (en) 2020-09-07 2022-12-22 Memory device performing configurable mode setting and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200114045A KR20220032366A (ko) 2020-09-07 2020-09-07 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법

Publications (1)

Publication Number Publication Date
KR20220032366A true KR20220032366A (ko) 2022-03-15

Family

ID=77431121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200114045A KR20220032366A (ko) 2020-09-07 2020-09-07 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법

Country Status (5)

Country Link
US (2) US11561711B2 (ko)
EP (1) EP3964971A1 (ko)
KR (1) KR20220032366A (ko)
CN (1) CN114155891A (ko)
TW (1) TWI781722B (ko)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754837A (en) 1994-12-22 1998-05-19 Texas Instruments Incorporated Clock control circuits, systems and methods
JP4799157B2 (ja) 2005-12-06 2011-10-26 エルピーダメモリ株式会社 積層型半導体装置
KR102011796B1 (ko) 2012-08-30 2019-08-20 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
JP6030987B2 (ja) * 2013-04-02 2016-11-24 ルネサスエレクトロニクス株式会社 メモリ制御回路
US11079936B2 (en) * 2016-03-01 2021-08-03 Samsung Electronics Co., Ltd. 3-D stacked memory with reconfigurable compute logic
US10503641B2 (en) 2016-05-31 2019-12-10 Advanced Micro Devices, Inc. Cache coherence for processing in memory
KR102479212B1 (ko) 2016-08-17 2022-12-20 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US10545860B2 (en) 2017-08-10 2020-01-28 Samsung Electronics Co., Ltd. Intelligent high bandwidth memory appliance
US10474600B2 (en) 2017-09-14 2019-11-12 Samsung Electronics Co., Ltd. Heterogeneous accelerator for highly efficient learning systems
KR102395463B1 (ko) 2017-09-27 2022-05-09 삼성전자주식회사 적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법
KR102387977B1 (ko) 2017-11-29 2022-04-19 삼성전자주식회사 적어도 두 개의 채널들을 통해 시스템 온 칩과 통신하는 메모리 장치, 이를 포함하는 전자 장치, 그리고 전자 장치의 동작 방법
US11561603B2 (en) 2018-12-20 2023-01-24 Micron Technology, Inc. Memory device low power mode
US10824573B1 (en) * 2019-04-19 2020-11-03 Micron Technology, Inc. Refresh and access modes for memory
KR102645786B1 (ko) * 2019-07-08 2024-03-12 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
US11449250B2 (en) * 2019-10-14 2022-09-20 Micron Technology, Inc. Managing a mode to access a memory component or a logic component for machine learning computation in a memory sub-system

Also Published As

Publication number Publication date
US20220075541A1 (en) 2022-03-10
US12001699B2 (en) 2024-06-04
CN114155891A (zh) 2022-03-08
EP3964971A1 (en) 2022-03-09
US11561711B2 (en) 2023-01-24
TWI781722B (zh) 2022-10-21
US20230138048A1 (en) 2023-05-04
TW202211033A (zh) 2022-03-16

Similar Documents

Publication Publication Date Title
US11704031B2 (en) Memory system and SOC including linear address remapping logic
KR102424962B1 (ko) 병렬 연산 처리를 수행하는 메모리 장치 및 이를 포함하는 메모리 모듈
US10002668B2 (en) Memory device, memory module, and memory system
JP6373559B2 (ja) メモリ装置及びメモリ装置の動作方法
US10991446B2 (en) Electronic device performing training on memory device by rank unit and training method thereof
US11194579B2 (en) Memory device supporting skip calculation mode and method of operating the same
US11416178B2 (en) Memory device performing parallel calculation processing, operating method thereof, and operating method of memory controller controlling the memory device
US10943183B2 (en) Electronics device performing software training on memory channel and memory channel training method thereof
KR102190125B1 (ko) 어드레스 리매핑을 위한 적층형 메모리 장치, 이를 포함하는 메모리 시스템 및 어드레스 리매핑 방법
KR20200108774A (ko) 순환 큐 기반의 명령어 메모리를 포함하는 메모리 장치 및 그 동작방법
KR20210053017A (ko) 프로세싱 소자를 포함하는 메모리 장치 및 상기 메모리 장치를 포함하는 메모리 시스템
KR20220127601A (ko) 인터페이스를 이용하여 내부 프로세싱을 수행하는 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법
JP2018152112A (ja) メモリ装置及びメモリ装置の動作方法
US20200293452A1 (en) Memory device and method including circular instruction memory queue
US11281397B2 (en) Stacked memory device performing function-in-memory (FIM) operation and method of operating the same
US11790963B2 (en) Electronic device including near-memory supporting mode setting, and method of operating the same
US12001699B2 (en) Memory device performing configurable mode setting and method of operating the same
KR20240030923A (ko) 실행 시점 가변 커맨드를 메모리로 제공하는 장치 및 방법
CN117631988A (zh) 用于向存储器提供具有空中时延的命令的装置和方法