KR20210106226A - 펑션-인-메모리 동작을 수행하는 적층형 메모리 장치 및 그 동작 방법 - Google Patents

펑션-인-메모리 동작을 수행하는 적층형 메모리 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20210106226A
KR20210106226A KR1020200021140A KR20200021140A KR20210106226A KR 20210106226 A KR20210106226 A KR 20210106226A KR 1020200021140 A KR1020200021140 A KR 1020200021140A KR 20200021140 A KR20200021140 A KR 20200021140A KR 20210106226 A KR20210106226 A KR 20210106226A
Authority
KR
South Korea
Prior art keywords
fim
memory
bank
address
data
Prior art date
Application number
KR1020200021140A
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 KR1020200021140A priority Critical patent/KR20210106226A/ko
Priority to US17/009,992 priority patent/US11281397B2/en
Priority to CN202011268234.6A priority patent/CN113284531A/zh
Publication of KR20210106226A publication Critical patent/KR20210106226A/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • G11C5/063Voltage and signal distribution in integrated semi-conductor memory access lines, e.g. word-line, bit-line, cross-over resistance, propagation delay
    • 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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • 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
    • 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/03Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
    • H01L25/04Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
    • H01L25/065Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
    • H01L25/0652Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00 the devices being arranged next and on each other, i.e. mixed assemblies
    • 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/03Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
    • H01L25/04Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
    • H01L25/065Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
    • H01L25/0657Stacked arrangements of devices
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/12Structure, shape, material or disposition of the bump connectors prior to the connecting process
    • H01L2224/13Structure, shape, material or disposition of the bump connectors prior to the connecting process of an individual bump connector
    • H01L2224/13001Core members of the bump connector
    • H01L2224/13099Material
    • H01L2224/131Material with a principal constituent of the material being a metal or a metalloid, e.g. boron [B], silicon [Si], germanium [Ge], arsenic [As], antimony [Sb], tellurium [Te] and polonium [Po], and alloys thereof
    • H01L2224/13101Material with a principal constituent of the material being a metal or a metalloid, e.g. boron [B], silicon [Si], germanium [Ge], arsenic [As], antimony [Sb], tellurium [Te] and polonium [Po], and alloys thereof the principal constituent melting at a temperature of less than 400°C
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L2224/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • H01L2224/161Disposition
    • H01L2224/16151Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/16221Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/16225Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2225/00Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
    • H01L2225/03All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
    • H01L2225/04All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
    • H01L2225/065All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
    • H01L2225/06503Stacked arrangements of devices
    • H01L2225/06517Bump or bump-like direct electrical connections from device to substrate
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2225/00Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
    • H01L2225/03All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
    • H01L2225/04All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
    • H01L2225/065All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
    • H01L2225/06503Stacked arrangements of devices
    • H01L2225/06541Conductive via connections through the device, e.g. vertical interconnects, through silicon via [TSV]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L24/00Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
    • H01L24/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L24/10Bump connectors ; Manufacturing methods related thereto
    • H01L24/12Structure, shape, material or disposition of the bump connectors prior to the connecting process
    • H01L24/13Structure, shape, material or disposition of the bump connectors prior to the connecting process of an individual bump connector
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L24/00Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
    • H01L24/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L24/10Bump connectors ; Manufacturing methods related thereto
    • H01L24/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L24/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/153Connection portion
    • H01L2924/1531Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface
    • H01L2924/15311Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface being a ball array, e.g. BGA
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/181Encapsulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Dram (AREA)

Abstract

적층형 메모리 장치는, 버퍼 반도체 다이, 복수의 메모리 반도체 다이들, 실리콘 관통 전극들, FIM 프론트-엔드 회로 및 복수의 FIM 백-엔드 회로들을 포함한다. 상기 버퍼 반도체 다이는 호스트 장치와의 통신을 수행한다. 상기 복수의 메모리 반도체 다이들은 상기 버퍼 반도체 다이 위에 적층되고 데이터를 저장하는 복수의 메모리 뱅크들을 포함한다. 상기 실리콘 관통 전극들은 상기 버퍼 반도체 다이 및 상기 복수의 메모리 반도체 다이들을 전기적으로 연결한다. 상기 FIM 프론트-엔드 회로는 상기 복수의 메모리 뱅크들로부터 독출되는 내부 데이터에 기초한 연산 동작을 포함하는 펑션-인-메모리(FIM, function-in-memory) 동작을 위해 상기 호스트 장치로부터 수신되는 복수의 FIM 인스트럭션들을 저장한다. 상기 복수의 FIM 백-엔드 회로들은 상기 복수의 메모리 반도체 다이들에 각각 형성되고, 상기 FIM 프론트-엔드 회로의 제어에 기초하여 상기 FIM 인스트럭션들에 상응하는 상기 FIM 동작을 수행한다.

Description

펑션-인-메모리 동작을 수행하는 적층형 메모리 장치 및 그 동작 방법{Stacked memory device performing function-in-memory(FIM) operation and method of operating the same}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 펑션-인-메모리 동작을 수행하는 적층형 메모리 장치 및 적층형 메모리 장치의 동작 방법에 관한 것이다.
메모리 대역폭과 지연시간(latency or delay time)은 많은 프로세스 시스템들에서 중요한 성능 병목(performance bottleneck)의 원인이 된다. 메모리 용량을 늘리기 위해 메모리 칩의 패키지 내부에 적층된 반도체 다이들(semiconductor dies)은 실리콘 관통 전극 또는 기판 관통 전극(TSV, through-silicon via 또는 through-substrate via)을 통해 전기적으로 연결된다. 이러한 적층 기술을 통해 메모리 장치의 용량을 증가하면서도 대역폭과 지연시간의 패널티를 억제할 수 있다. 외부 장치의 적층형 메모리 장치에 대한 각각의 액세스(access)는 적층된 반도체 다이들 사이에서의 데이터 교신을 요구하며, 외부 장치와 적층형 메모리 장치 사이의 디바이스간(inter-device) 대역폭과 지연시간이 증가한다. 따라서 외부 장치가 수행하는 데이터 프로세스가 적층형 메모리 장치로의 다중 액세스를 요구할 때 이러한 대역폭과 지연시간은 시스템의 프로세스 효율과 전력 소모량에 현저한 영향을 미친다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 효율적으로 펑션-인-메모리(FIM, function-in-memory) 동작 또는 프로세싱-인-메모리(PIM, processing-in-memory) 동작을 수행할 수 있는 적층형 메모리 장치를 제공하는 것이다.
또한 본 발명의 일 목적은, 효율적으로 FIM 동작을 수행할 수 있는 적층형 메모리 장치를 포함하는 시스템을 제공하는 것이다.
또한 본 발명의 일 목적은, 효율적으로 FIM 동작을 수행할 수 있는 적층형 메모리 장치의 동작 방법을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 적층형 메모리 장치는, 버퍼 반도체 다이, 복수의 메모리 반도체 다이들, 실리콘 관통 전극들, FIM 프론트-엔드 회로 및 복수의 FIM 백-엔드 회로들을 포함한다. 상기 버퍼 반도체 다이는 호스트 장치와의 통신을 수행한다. 상기 복수의 메모리 반도체 다이들은 상기 버퍼 반도체 다이 위에 적층되고 데이터를 저장하는 복수의 메모리 뱅크들을 포함한다. 상기 실리콘 관통 전극들은 상기 버퍼 반도체 다이 및 상기 복수의 메모리 반도체 다이들을 전기적으로 연결한다. 상기 FIM 프론트-엔드 회로는 상기 복수의 메모리 뱅크들로부터 독출되는 내부 데이터에 기초한 연산 동작을 포함하는 펑션-인-메모리(FIM, function-in-memory) 동작을 위해 상기 호스트 장치로부터 수신되는 복수의 FIM 인스트럭션들을 저장한다. 상기 복수의 FIM 백-엔드 회로들은 상기 복수의 메모리 반도체 다이들에 각각 형성되고, 상기 FIM 프론트-엔드 회로의 제어에 기초하여 상기 FIM 인스트럭션들에 상응하는 상기 FIM 동작을 수행한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 시스템은, 적층형 메모리 장치 및 상기 적층형 메모리 장치를 제어하는 호스트 장치를 포함한다. 상기 적층형 메모리 장치는, 상기 호스트 장치와의 통신을 수행하는 버퍼 반도체 다이, 상기 버퍼 반도체 다이 위에 적층되고 데이터를 저장하는 복수의 메모리 뱅크들을 포함하는 복수의 메모리 반도체 다이들, 상기 버퍼 반도체 다이 및 상기 복수의 메모리 반도체 다이들을 전기적으로 연결하는 실리콘 관통 전극들, 상기 복수의 메모리 뱅크들로부터 독출되는 내부 데이터에 기초한 연산 동작을 포함하는 펑션-인-메모리(FIM, function-in-memory) 동작을 위한 복수의 FIM 인스트럭션들을 저장하는 FIM 프론트-엔드 회로 및 상기 복수의 메모리 반도체 다이들에 각각 형성되고, 상기 FIM 프론트-엔드 회로의 제어에 기초하여 상기 FIM 인스트럭션들에 상응하는 상기 FIM 동작을 수행하는 복수의 FIM 백-엔드 회로들을 포함한다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 적층형 메모리 장치의 동작 방법은, 호스트 장치와의 통신을 수행하는 버퍼 반도체 다이 및 데이터를 저장하는 복수의 메모리 뱅크들을 포함하는 복수의 메모리 반도체 다이들이 적층되는 적층형 메모리 장치의 동작 방법으로서, 상기 복수의 메모리 뱅크들로부터 독출되는 내부 데이터에 기초한 연산 동작을 포함하는 펑션-인-메모리(FIM, function-in-memory) 동작을 위해 상기 호스트 장치로부터 복수의 FIM 인스트럭션들을 수신하는 단계, 상기 복수의 FIM 인스트럭션들을 상기 버퍼 반도체 다이 또는 상기 복수의 메모리 반도체 다이들에 형성되는 FIM 프론트-엔드 회로에 저장하는 단계, 및 상기 복수의 메모리 반도체 다이들에 각각 형성되는 복수의 FIM 백-엔드 회로들을 이용하여, 상기 FIM 프론트-엔드 회로의 제어에 기초하여 상기 FIM 인스트럭션들에 상응하는 상기 FIM 동작을 수행하는 단계를 포함한다.
본 발명의 실시예들에 따른 적층형 메모리 장치, 시스템 및 적층형 메모리 장치의 동작 방법은, 메모리 집약적(memory-intensive) 또는 데이터 집약적(data-intensive)인 연산 동작을 적층형 메모리 장치 내에 구비된 FIM 백-엔드 회로를 이용하여 수행함으로써 적층형 메모리 장치 및 시스템의 지연시간 및 전력 소모를 감소할 수 있다.
또한, 본 발명의 실시예들에 따른 적층형 메모리 장치, 시스템 및 적층형 메모리 장치의 동작 방법은, 메모리 뱅크마다 할당된 복수의 뱅크 FIM 회로들을 이용하여 병렬적으로 연산 동작을 수행함으로써 데이터 프로세싱 시간을 단축할 수 있다.
또한, 본 발명의 실시예들에 따른 적층형 메모리 장치, 시스템 및 적층형 메모리 장치의 동작 방법은, FIM 인스트럭션들을 FIM 프론트-엔드 회로에 저장하고 저장된 FIM 인스트럭션들에 기초하여 FIM 동작을 수행함으로써 연산 동작을 포함하는 복잡한 데이터 프로세싱을 효율적으로 수행하여 시스템의 성능을 향상시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 적층형 메모리 장치를 포함하는 시스템을 나타내는 분리 사시도이다.
도 2는 본 발명의 실시예들에 따른 적층형 메모리 장치의 동작 방법을 나타내는 순서도이다.
도 3은 본 발명의 실시예들에 따른 적층형 메모리 장치에 포함되는 FIM 프론트-엔드 회로의 일 실시예를 나타내는 블록도이다.
도 4는 본 발명의 실시예들에 따른 적층형 메모리 장치에 포함되는 FIM 백-엔드 회로의 일 실시예를 나타내는 블록도이다.
도 5는 본 발명의 실시예들에 따른 고 대역폭 메모리(HBM) 장치의 구조의 일 예를 나타내는 도면이다.
도 6은 본 발명의 실시예들에 따른 HBM 장치를 포함하는 시스템의 인터페이스의 일 실시예를 나타내는 도면이다.
도 7a 및 7b는 본 발명의 실시예들에 따른 HBM 장치의 코맨드-어드레스 신호의 포맷의 일 실시예를 나타내는 도면들이다.
도 8은 본 발명의 실시예들에 따른 적층형 메모리 장치를 나타내는 블록도이다.
도 9는 도 8의 적층형 메모리 장치에 포함되는 FIM 채널 제어 회로의 일 실시예를 나타내는 블록도이다.
도 10은 도 8의 적층형 메모리 장치에 포함되는 뱅크 FIM 회로의 일 실시예를 나타내는 블록도이다.
도 11은 본 발명의 실시예들에 따른 적층형 메모리 장치에 저장되는 FIM 인스트럭션들의 일 실시예를 나타내는 도면이다.
도 12는 본 발명의 실시예들에 따른 적층형 메모리 장치의 FIM 제어 신호들의 일 실시예를 나타내는 도면이다.
도 13은 본 발명의 실시예들에 따른 적층형 메모리 장치를 포함하는 시스템의 어드레스 매핑의 일 실시예를 나타내는 도면이다.
도 14는 본 발명의 실시예들에 따른 적층형 메모리 장치에 의해 수행되는 연산 동작의 일 실시예를 나타내는 도면이다.
도 15a 내지 15g는 본 발명의 실시예들에 따른 적층형 메모리 장치의 FIM 동작에 따른 데이터 경로들을 나타내는 도면들이다.
도 16a 내지 18b는 본 발명의 실시예들에 따른 적층형 메모리 장치의 동작의 실시예들을 나타내는 도면들이다.
도 19는 본 발명의 실시예들에 따른 적층형 메모리 장치를 나타내는 블록도이다.
도 20은 도 19의 적층형 메모리 장치에 포함되는 FIM 채널 제어 회로의 일 실시예를 나타내는 블록도이다.
도 21은 본 발명의 실시예들에 따른 적층형 메모리 장치에 저장되는 FIM 인스트럭션들의 일 실시예를 나타내는 도면이다.
도 22는 본 발명의 실시예들에 따른 적층형 메모리 장치의 FIM 제어 신호들의 일 실시예를 나타내는 도면이다.
도 23a 내지 24b는 본 발명의 실시예들에 따른 적층형 메모리 장치의 동작의 실시예들을 나타내는 도면들이다.
도 25 내지 27은 본 발명의 실시예들에 따른 적층형 메모리 장치의 패키징 구조를 나타내는 도면들이다.
도 28은 본 발명의 실시예들에 따른 적층형 메모리 장치를 포함하는 반도체 패키지의 예를 나타내는 사시도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 적층형 메모리 장치를 포함하는 시스템을 나타내는 분리 사시도이다.
도 1을 참조하면, 시스템(10)은 적층형 메모리 장치(1000) 및 호스트 장치(2000)를 포함할 수 있다.
적층형 메모리 장치(1000)는 수직으로 적층된 적어도 하나의 버퍼 반도체 다이(buffer semiconductor die) 및 복수의 메모리 반도체 다이(memory semiconductor die)들(1070, 1080)을 포함할 수 있다. 도 1에는 하나의 버퍼 반도체 다이 및 두 개의 메모리 반도체 다이들을 도시하였으나, 두 개 이상의 버퍼 반도체 다이들 및 한 개 또는 세 개 이상의 메모리 반도체 다이들이 적층 구조에 포함될 수 있다. 또한 도 1에는 버퍼 반도체 다이(1010)가 메모리 반도체 다이들(1070, 1080)과 함께 수직으로 적층되는 실시예를 도시하였으나, 도 25를 참조하여 후술하는 바와 같이, 버퍼 반도체 다이(1010)를 제외한 메모리 반도체 다이들(1070, 1080)만이 함께 수직으로 적층되고, 버퍼 반도체 다이(1010)는 인터포저 또는 베이스 기판을 통하여 적층된 메모리 반도체 다이들(1070, 1080)과 전기적으로 연결될 수도 있다.
버퍼 반도체 다이(1010)는 메모리 인터페이스(MIF)(1020) 및 메모리 반도체 다이들(1070, 1080)에 형성된 메모리 집적 회로들(1071, 1081)의 접근을 가능하게 하기 위한 로직을 포함한다. 이러한 로직은 메모리 제어부(CTRL)(1030) 및 글로벌 버퍼(GBF)(1040)를 포함할 수 있다. 또한 버퍼 반도체 다이(1010)는 본 발명의 실시예들에 따른 FIM 프론트-엔드 회로(FFEC, FIM front-end circuit)(100)를 포함할 수 있다. FIM 프론트-엔드 회로(100)는 펑션-인-메모리(FIM, function-in-memory) 동작을 위해 호스트 장치(2000)로부터 수신되는 복수의 FIM 인스트럭션들을 저장할 수 있다. 상기 FIM 동작은 메모리 반도체 다이들(1070, 1080)에 포함되는 복수의 메모리 뱅크들로부터 독출되는 내부 데이터에 기초한 연산 동작을 포함할 수 있다.
메모리 인터페이스(1020)는 인터커넥트 장치(12)를 통하여 호스트 장치(2000)와 같은 외부 장치와의 교신을 수행한다. 메모리 제어부(1030)는 적층형 메모리 장치(1000)의 전반적인 동작을 제어한다. 글로벌 버퍼(1040)는 호스트 장치(2000)와 적층형 메모리 장치(1000) 사이에 교신되는 데이터 및 정보를 임시적으로 저장할 수 있다.
메모리 반도체 다이들(1070, 1080)은 메모리 집적 회로들(MEM)(1071, 1081)을 각각 포함할 수 있다. 후술하는 바와 같이 메모리 집적 회로들(1071, 1081)의 각각은 데이터를 저장하는 복수의 메모리 뱅크들을 포함할 수 있다. 또한, 메모리 집적 회로들(1071, 1081)의 각각은 본 발명의 실시예들에 따른 복수의 FIM 백-엔드 회로들(200)을 포함할 수 있다. 복수의 FIM 백-엔드 회로들(200)은 FIM 프론트-엔드 회로(100)의 제어에 기초하여 FIM 프론트-엔드 회로(100)에 저장된 FIM 인스트럭션들에 상응하는 FIM 동작을 수행할 수 있다.
호스트 장치(2000)는 호스트 인터페이스(HIF)(2110) 및 프로세서 코어(processor core)들(CR1, CR2)(2120, 2130)을 포함할 수 있다. 호스트 인터페이스(2110)는 인터커넥트 장치(12)를 통하여 적층형 메모리 장치(1000)와 같은 외부 장치와의 교신을 수행한다.
도 1은 본 발명의 적어도 하나의 실시예에 따른 프로세스 시스템(10)을 도시하고 있다. 프로세스 시스템(10)은 노트북 또는 태블릿 컴퓨터, 데스크탑 컴퓨터, 서버, 네트워크 라우터, 스위치, 또는 허브, 컴퓨팅 가능한 핸드폰, 개인 휴대 정보 단말기 등을 포함하는 다양한 컴퓨터 시스템들을 포함할 수 있다. 도 1에서 프로세스 시스템(10)은 적층형 메모리 장치(1000)와 인터커넥트 장치(12)를 통해 접속된 호스트 장치(2000)를 포함하는 예가 도시되어 있으나, 프로세스 시스템(10)은 또한 디스플레이 장치, 스토리지 장치, 입력 장치(예를 들면, 마우스 또는 키보드) 등과 같이 도 1에 도시되지 않은 다양한 구성들을 포함할 수 있다. 일 실시예에서, 호스트 장치(2000)는 집적 회로(IC) 패키지로 구현될 수 있고, 적층형 메모리 장치(1000)는 호스트 장치(2000)와 구별되는 집적 회로 패키지로 구현될 수 있다. 다른 일 실시예에서, 호스트 장치(2000)와 적층형 메모리 장치(1000)는 같은 집적 회로 패키지에 인터포저 등을 통해 연결된 반도체 다이들의 별개의 집합들로 구현될 수 있다. 어떤 경우에도, 호스트 장치(2000)는 적층형 메모리 장치(1000)에 대해 "외부(external)"인 것으로 간주된다.
호스트 장치(2000)는 어떤 종류의 장치도 될 수 있지만, 하나 이상의 프로세스 코어들(2120, 2130)을 포함하는 프로세스 장치이다. 예를 들어, 프로세스 코어들(2120, 2130)은 중앙 프로세스 유닛(CPU, central processing unit) 코어, 그래픽 프로세스 유닛(GPU, graphic processing unit), 디지털 신호 프로세스(DSP, digital signal processor), 등과 같은 다양한 종류의 프로세스 코어들과 그들의 조합을 포함할 수 있다.
인터커넥트 장치(12)는 PCI-E(Peripheral Component Interconnect-Express) 아키텍쳐, 하이퍼전송 아키텍쳐, QPI(QuickPath Interconnect), 등과 같이 다양한 종래의 인터커넥트 또는 버스 아키텍쳐들에 따라 구현될 수 있다. 인터커넥트 장치(12)는 적층형 메모리 장치(1000)의 메모리 인터페이스(1020)의 송수신 회로 및 호스트 장치(2000)의 호스트 인터페이스(2110)의 송수신 회로를 연결하는 하나 이상의 전도 라인들을 포함한다. 상기 전도 라인들은 인쇄 회로 기판(printed circuit board: PCB)의 트레이스들 또는 케이블 선들과 같은 전기적 전도 라인들, 광 섬유와 같은 광 전도 라인들, 또는 이들의 조합으로 된 전도 라인들을 포함할 수 있다.
메모리 반도체 다이들(1070, 1080)에 형성된 메모리 집적 회로들(1071, 1081)은 디램(DRAM, dynamic random access memory), 티램(TRAM, thyristor random access memory) 및 에스램(SRAM, static random access memory)과 같은 휘발성 메모리 아키텍쳐들, 또는 롬(ROM, read only memory), 플래시 메모리, 에프램(FRAM, ferroelectric random access memory), 엠램(MRAM, magneto-resistive random access memory), 피램(PRAM, phase-change random access memory) 등과 같은 비-휘발성 메모리 아키텍쳐들을 포함하는 다양한 메모리 아키텍쳐로 구현될 수 있다.
일 실시예에서, 메모리 컨트롤러는 적층형 메모리 장치(1000)에 포함될 수 있고, 메모리 인터페이스(1020)가 메모리 제어기를 포함할 수 있다. 예를 들면, 수신기들과 라인 드라이버들, 메모리 요구 버퍼들, 스케쥴링 논리, 행/열 디코드 논리, 리프레쉬 논리, 데이터-입력 및 데이터-출력 버퍼들, 클럭 생성기들, 등을 포함할 수 있다. 다른 실시예에서, 메모리 컨트롤러는 호스트 장치(2000)에 구현될 수도 있다.
도 1의 적층형 메모리 장치(10000)는 수직 적층 배열로 구현되며 이에 의해 전력과 신호가 버퍼 반도체 다이(1100) 및 메모리 반도체 다이들(1200, 1300) 사이에서 밀집된 실리콘 관통 전극들(TSV) 또는 다른 수직 인터커넥트들을 사용하여 전달될 수 있다. 도 1에는 실리콘 관통 전극들(TSV)을 중앙에 집중된 행들의 집합으로 도시하나, 실리콘 관통 전극들(TSV)은 반도체 다이들의 평면을 가로질러 분산되어 있을 수 있다.
도 2는 본 발명의 실시예들에 따른 적층형 메모리 장치의 동작 방법을 나타내는 순서도이다.
도 1 및 2를 참조하면, 적층형 메모리 장치(1000)는 복수의 메모리 뱅크들로부터 독출되는 내부 데이터에 기초한 연산 동작을 포함하는 펑션-인-메모리(FIM, function-in-memory) 동작을 위해 호스트 장치(2000)로부터 복수의 FIM 인스트럭션들을 수신할 수 있다(S100).
적층형 메모리 장치(1000)는 상기 복수의 FIM 인스트럭션들을 버퍼 반도체 다이(1010) 또는 복수의 메모리 반도체 다이들(1070, 1080)에 형성되는 FIM 프론트-엔드 회로(100)에 저장할 수 있다 (S200).
복수의 메모리 반도체 다이들(1070, 1080)에 각각 형성되는 복수의 FIM 백-엔드 회로들(200)을 이용하여, FIM 프론트-엔드 회로(100)의 제어에 기초하여 상기 FIM 인스트럭션들에 상응하는 FIM 동작을 수행할 수 있다(S300).
이와 같이, 본 발명의 실시예들에 따른 적층형 메모리 장치(1000), 시스템(10) 및 적층형 메모리 장치(1000)의 동작 방법은, 메모리 집약적(memory-intensive) 또는 데이터 집약적(data-intensive)인 연산 동작을 적층형 메모리 장치 내에 구비된 FIM 백-엔드 회로(200)를 이용하여 수행함으로써 적층형 메모리 장치(1000) 및 시스템(10)의 지연시간 및 전력 소모를 감소할 수 있다. 또한, 메모리 뱅크마다 할당된 복수의 뱅크 FIM 회로들(200)을 이용하여 병렬적으로 연산 동작을 수행함으로써 데이터 프로세싱 시간을 단축할 수 있다. 또한, FIM 인스트럭션들을 FIM 프론트-엔드 회로(100)에 저장하고 저장된 FIM 인스트럭션들에 기초하여 FIM 동작을 수행함으로써 연산 동작을 포함하는 복잡한 데이터 프로세싱을 효율적으로 수행하여 시스템의 성능을 향상시킬 수 있다.
도 3은 본 발명의 실시예들에 따른 적층형 메모리 장치에 포함되는 FIM 프론트-엔드 회로의 일 실시예를 나타내는 블록도이다.
도 3을 참조하면, 버퍼 반도체 다이(BSD)에는 테스트 로직(TLOG), 메모리 인터페이스(MIF), 실리콘 관통 전극들(TSV), 다이렉트 액세스(DA) 단자들과 관련된 구성요소들이 형성될 수 있다.
일 실시예에서, 도 2에 도시된 바와 같이, FIM 프론트-엔드 회로(FFEC)는 버퍼 반도체 다이(BSD)에 형성될 수 있다. 다른 실시예에서, 도 27을 참조하여 후술하는 바와 같이, FIM 프론트-엔드 회로(FFEC)는 복수의 메모리 반도체 다이들에 분산하여 형성될 수 있다.
복수의 메모리 뱅크들은 호스트 장치에 의해 각각 독립적으로 액세스되는 복수의 채널들을 형성할 수 있다. 이 경우, FIM 프론트-엔드 회로는 상기 복수의 채널들에 각각 할당되는 복수의 FIM 채널 제어 회로들(FCCC0~FCCC7)을 포함할 수 있다. 복수의 FIM 채널 제어 회로들(FCCC0~FCCC7)의 각각은 복수의 채널들 중 각각의 채널에 상응하는 메모리 뱅크들에 대한 FIM 동작을 각각 제어할 수 있다.
도 3에는 도시 및 설명의 편의상 8개의 FIM 채널 제어 회로들이 도시되어 있으나 FIM 채널 제어 회로들의 개수는 호스트 장치 및 적층형 메모리 장치 사이의 채널 구성에 따라서 다양하게 결정될 수 있다. 한편 도 3에는 복수의 FIM 채널 제어 회로들(FCCC0~FCCC7)이 버퍼 반도체 다이(BSD)의 외곽 부분에 배치되는 레이아웃을 도시하고 있으나 이에 한정되는 것은 아니다.
도 4는 본 발명의 실시예들에 따른 적층형 메모리 장치에 포함되는 FIM 백-엔드 회로의 일 실시예를 나타내는 블록도이다.
도 4에는 메모리 반도체 다이(MSD)에 형성되는 하나의 채널에 상응하는 메모리 뱅크들(BNK0~BNK3) 및 FIM 백-엔드 회로(FBEC)가 도시되어 있다. 도 4에는 도시 및 설명의 편의상 4개의 메모리 뱅크들이 도시되어 있으나 하나의 채널에 상응하는 메모리 뱅크들의 개수는 시스템의 구성에 따라서 다양하게 결정될 수 있다. 한편 도 4에는 하나의 채널에 상응하는 구성이 도시되어 있으나, 실시예에 따라서 하나의 메모리 반도체 다이(MSD)에 포함된 메모리 뱅크들은 2개 이상의 채널들을 형성할 수 있고, 따라서, 하나의 메모리 반도체 다이(MSD)에는 2개 이상의 FIM 백-엔드 회로들이 형성될 수 있다.
도 4를 참조하면, 각각의 채널에 상응하는 FIM 백-엔드 회로(FBEC)는 복수의 뱅크 FIM 회로들(BFC0~BFC3) 및 연산 컨트롤러(ALUCON)를 포함할 수 있다.
복수의 뱅크 FIM 회로들(BFC0~BFC3)은 각각의 채널에 상응하는 메모리 뱅크들(BNK0~BNK3)의 각각에 할당되어 할당된 메모리 뱅크와 연관된 FIM 동작을 수행할 수 있다. 제1 내지 제4 뱅크 FIM 회로들(BFC0~BFC3)은 제1 내지 제4 로컬 입출력 라인들(LIOL0~LIOL3)을 통하여 제1 내지 제4 메모리 뱅크들(BNK0~BNK3)로부터 독출되는 내부 데이터에 기초한 연산 동작을 수행할 수 있다. 예를 들어, 제1 뱅크 FIM 회로(BFC0)는 제1 로컬 입출력 라인(LIO0)을 통하여 제1 메모리 뱅크(BNK0)로부터 독출되는 내부 데이터에 기초한 연산 동작을 수행할 수 있다. 또한, 제1 내지 제4 뱅크 FIM 회로들(BFC0~BFC3)은 글로벌 입출력 라인(GIOL)을 통한 데이터의 수신 및 송신을 제어할 수 있다.
연산 컨트롤러(ALUCON)는 FIM 채널 제어 회로로부터 제공되는 복수의 FIM 인스트럭션들에 상응하는 내부 인스트럭션 신호(instr) 및 FIM 채널 제어 신호들(SFC)에 기초하여 복수의 뱅크 FIM 회로들(BFC0~BFC3)을 제어하기 위한 FIM 다이 제어 신호들(SFD)을 발생한다. 내부 인스트럭션 신호(instr), FIM 채널 제어 신호들(SFC) 및 FIM 다이 제어 신호들(SFD)에 대해서는 도 8 내지 12를 참조하여 후술한다.
도 5는 본 발명의 실시예들에 따른 고 대역폭 메모리(HBM) 장치의 구조의 일 예를 나타내는 도면이다.
도 5를 참조하면, 고 대역폭 메모리(HBM, high bandwidth memory) 장치(1001)는 복수의 DRAM 반도체 다이들, 예를 들어, 제1 내지 제4 메모리 반도체 다이들(1100, 1200, 1300, 1400)이 적층된 구조를 포함할 수 있다. 고 대역폭 메모리는 채널이라 칭하는 복수의 독립된 인터페이스들을 통하여 상기 적층된 구조의 고 대역폭 동작에 최적화될 수 있다. HBM 표준에 따라서 각각의 DRAM 스택은 최대 8개의 채널까지 지원할 수 있다. 도 5에는 4개의 DRAM 반도체 다이들이 적층되고 각각의 DRAM 반도체 다이가 2개의 채널들(CHANNEL0, CHANNEL1)을 지원하는 예가 도시되어 있다. 예를 들어, 도 5에 도시된 바와 같이, 제4 메모리 반도체 다이(1400)는 2개의 채널들(CHANNEL0, CHANNEL1)에 상응하는 2개의 메모리 집적 회로들(1401, 1402)을 포함할 수 있다. 2개의 채널들(CHANNEL0, CHANNEL1)의 각각은 2개의 슈도 채널(pseudo channel)들로 분할될 수 있다. 이 경우, 하나의 메모리 반도체 다이는 2개의 채널들, 즉 4개의 슈도 채널들의 각각의 채널에 상응하는 4개의 FIM 백-엔드 회로들(FBEC0~FBEC3)을 포함할 수 있다.
HBM 장치(1001)의 각각의 채널은 메모리 뱅크들의 독립된 세트에 대한 액세스를 제공한다. 일반적으로, HBM 장치는 하나의 채널로부터의 리퀘스트는 다른 채널에 부착된 데이터를 액세스하지 못한다. 채널들은 독립적으로 클록킹되고 서로 동기화될 필요가 없다.
HBM 장치(1001)는 스택 구조의 하부에 위치하고 신호의 재분배 및 다른 기능들을 제공하는 버퍼 반도체 다이(1010)를 선택적으로 포함할 수 있다. 도 3을 참조하여 전술한 바와 같이, 버퍼 반도체 다이(1010)에는 FIM 프론트-엔드 회로가 형성될 수 있다. FIM 프론트-엔드 회로는 HBM 장치(1001)의 채널들에 각각 할당되는 복수의 FIM 채널 제어 회로들을 포함할 수 있다.
도 6은 본 발명의 실시예들에 따른 HBM 장치를 포함하는 시스템의 인터페이스의 일 실시예를 나타내는 도면이다.
도 6을 참조하면, 시스템(11)은 복수의 채널들(CH0~CHn)을 통하여 연결되는 HBM 장치(1001) 및 호스트 장치(2000)를 포함할 수 있다.
복수의 채널들(CH0~CHn)의 각각은 2개의 슈도 채널들(PC0, PC1)을 포함할 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 하나의 채널(CH0)에 상응하는 신호 라인들은 제1 슈도 채널(PC0)의 데이터 라인들(PC0 DQs), 제2 슈도 채널(PC1)의 데이터 라인들(PC1 DQs) 및 코맨드-어드레스 라인들(CA)을 포함할 수 있다. 코맨드-어드레스 라인들(CA)은 액티브 코맨드, 프리차지 코맨드 등의 전송을 위한 행 코맨드-어드레스 라인들(ROW CA) 및 독출 코맨드, 기입 코맨드 등의 전송을 위한 열 코맨드-어드레스 라인들(COLUMN CA)을 포함할 수 있다.
일반적으로 메모리 채널은 코맨드 어드레스(CA) 인터페이스와 데이터(DQ) 인터페이스로 구성되며, 다른 채널과 독립적인 제어가 가능하다. 슈도 채널은 도 6에 도시된 바와 같이 DQ 인터페이스는 독립적이나 CA 인터페이스를 공유한다. 단 메모리 채널과 마찬가지로 슈도 채널을 시분할 방식으로 선택하여 동일한 메모리 채널에 속하는 슈도 채널들에 서로 다른 코맨드 및 어드레스를 전송할 수 있다. 본 명세서에서 “채널”이라 함은 이와 같은 독립적인 제어가 가능한 “슈도 채널”을 지칭할 수 있다.
예를 들어, 4개의 메모리 반도체 다이들이 적층된 4H-HBM 장치에서, 각각의 메모리 반도체 다이는 2개의 채널, 즉 4개의 슈도 채널들로 구성되고, 하나의 슈도 채널에는 16개의 메모리 뱅크들이 할당될 수 있다. 따라서, 4H-HBM 장치는 하나의 메모리 반도체 다이가 64개의 메모리 뱅크들을 포함하고, 상기 64개의 메모리 다이들은 4개의 슈도 채널들로 분할될 수 있다. 4H-HBM 장치의 경우, FIM 프론트-엔드 회로는 16개의 슈도 채널들에 상응하는 16개의 FIM 채널 제어 회로들을 포함할 수 있고, 하나의 메모리 반도체 다이는 4개의 슈도 채널들에 상응하는 4개의 FIM 백-엔드 회로들을 포함할 수 있다.
도 7a 및 7b는 본 발명의 실시예들에 따른 HBM 장치의 코맨드-어드레스 신호의 포맷의 일 실시예를 나타내는 도면들이다.
도 7a에는 도 6의 행 코맨드-어드레스 라인들(ROW CA)을 통해 전송되는 행 NOP 코맨드, 액티브 코맨드(ACT) 및 프리차지 코맨드(PRE)의 일 예가 도시되어 있고, 도 7b에는 도 6의 열 코맨드-어드레스 라인들(COLUMN CA)을 통해 전송되는 열 NOP 코맨드, 기입 코맨드(WR), 독출 코맨드(RD)의 일 예가 도시되어 있다.
도 7a 및 7b를 참조하면, 호스트 장치로부터 HBM 장치로 전송되는 코맨드 및 어드레스는 복수의 행 CA 신호들(R[0]~R[5]) 및 복수의 열 CA 신호들(C[0]~C[7])의 조합으로 표현될 수 있다. H는 논리 하이 레벨을 나타내고, L은 논리 로우 레벨을 나타내고, RA0~R14는 행 어드레스의 비트들을 나타내고, BA0~BA4는 뱅크 어드레스의 비트들을 나타내고, V는 논리 로우 레벨 또는 논리 하이 레벨일 수 있음을 나타내고, CA1~CA5는 열 어드레스의 비트들을 나타내고, SID는 메모리 반도체 다이의 식별자를 나타내고, PAR는 패리티 비트를 나타낸다.
예를 들어, 액티브 코맨드(ACT)는 클록 신호의 2개의 상승(rising) 에지들 및 2개의 하강(falling) 에지들을 포함하는 2개의 클록 사이클 동안에 전송될 수 있고, 프리차지 코맨드(PRE), 독출 코맨드(RD) 및 기입 코맨드(WR)는 1개의 클록 사이클 동안에 전송될 수 있다. 액티브 코맨드(ACT)는 뱅크 어드레스(BA0~BA4) 및 행 어드레스(RA0~RA14)를 포함할 수 있고, 프리차지 코맨드(PRE)는 뱅크 어드레스(BA0~BA4)를 포함할 수 있고, 독출 코맨드(RD) 및 기입 코맨드(WR)의 각각은 뱅크 어드레스(BA0~BA4) 및 열 어드레스(C1~C5)를 포함할 수 있다.
도 7a 및 7b에 도시된 코맨드-어드레스 신호들의 조합은 예시적인 것이며, 코맨드를 나타내는 신호들의 조합은 다양하게 변경될 수 있다.
실시예에 따라서, 본 발명의 실시예들에 따른 적층형 메모리 장치를 포함하는 시스템은 시퀀셜 실행 모드(sequential execution mode) 및 뱃치 실행 모드(batch execution mode) 중 적어도 하나에서 동작할 수 있다. 시퀀셜 실행 모드에서는, 호스트 장치로부터 수신되는 코맨드-어드레스 신호에 포함되는 하나의 코맨드 및 하나의 어드레스에 기초하여 FIM 프론트-엔드 회로에 저장된 복수의 FIM 인스트럭션들 중 하나의 어드레스에 상응하는 하나의 FIM 인스트럭션을 실행할 수 있다. 뱃치 실행 모드에서는, 호스트 장치로부터 수신되는 코맨드-어드레스 신호에 관계 없이 FIM 프론트-엔드 회로에 저장된 복수의 FIM 인스트럭션들을 순차적으로 실행할 수 있다.
이하, 도 8 내지 18b를 참조하여, 시퀀셜 실행 모드의 수행에 관한 실시예들을 먼저 설명하고, 도 19 내지 24b를 참조하여 시퀀셜 실행 모드 또는 뱃치 실행 모드의 선택적인 수행에 관한 실시예들을 설명한다.
도 8은 본 발명의 실시예들에 따른 적층형 메모리 장치를 나타내는 블록도이다.
도 8에는 하나의 채널 또는 하나의 슈도 채널에 상응하는 버퍼 반도체 다이(BSD)의 구성 및 메모리 반도체 다이(MSD)의 구성이 도시되어 있다. 도 8을 참조하여, 메모리 장치의 일 예로서 디램(DRAM)에 대해 설명하지만, 본 발명의 실시예들에 따른 메모리 장치는, 디램(DRAM), 티램(TRAM) 및 에스램(SRAM)과 같은 휘발성 메모리 아키텍쳐들, 또는 롬(ROM), 플래시 메모리, 에프램(FRAM), 엠램(MRAM), 피램(PRAM) 등과 같은 비-휘발성 메모리 아키텍쳐들을 포함하는 다양한 메모리 아키텍쳐로 구현될 수 있다. 도 8에는 도시가 생략되어 있으나, 버퍼 반도체 다이(BSD)와 메모리 반도체 다이(MSD)는 복수의 실리콘 관통 비아들(TSV)을 통하여 전기적으로 연결될 수 있으며, TSV를 통하여 신호를 전달할 수 있다.
도 8을 참조하면, 버퍼 반도체 다이(BSD)는 물리 계층(PHY)(310), FIM 채널 제어 회로(FCCC)(110), 코맨드-어드레스(CA) TSV 드라이버(321), TSV 컨트롤러(322), 데이터(DQ) TSV 드라이버(323) 및 FIM TSV 드라이버(324)를 포함할 수 있다. 메모리 반도체 다이(MSD)는 CA TSV 버퍼(421), TSV 컨트롤러(422), DQ TSV 드라이버(423) 및 FIM TSV 드라이버(424), 데이터버스(DBUS) 컨트롤러(442), 데이터버스 드라이버(443), CA 디코더(410), 뱅크 제어 회로(430), 행 디코더 회로(460), 열 디코더 회로(470), 메모리 셀 어레이(480), 독출-기입 회로(491, 492), FIM 백-엔드 회로(210, 212)를 포함할 수 있다. FIM 백-엔드 회로(210, 212)는 연산 컨트롤러(ALUCON)(210) 및 복수의 뱅크 FIM 회로들(212a~212h)을 포함할 수 있다.
메모리 셀 어레이(480)는 복수의 뱅크 셀 어레이들(480a~480h)을 포함할 수 있다. 행 디코더 회로(460)는 복수의 뱅크 셀 어레이들(480a~480h)에 각각 연결된 복수의 로우 디코더들(RDEC)(460a~460h)을 포함하고, 열 디코더 회로(470)는 복수의 뱅크 셀 어레이들(480a~480h)에 각각 연결된 복수의 컬럼 디코더들(CDEC)(470a~470h)을 포함할 수 있다. 뱅크 제어 회로(430)는 복수의 뱅크 셀 어레이들(480a~480h)에 각각 연결된 복수의 뱅크 컨트롤러들(430a~430h)을 포함하고, 독출-기입 회로(491, 492)는 복수의 뱅크 셀 어레이들(480a~480h)에 각각 연결된 복수의 입출력 센스 증폭기들(IOSA)(491a~491h) 및 복수의 기입 드라이버들(WRDRV) (492a~492h)을 포함할 수 있다.
물리 계층(310)은 호스트 장치로부터 전송되는 코맨드-어드레스(CA)를 수신하여 CA TSV 드라이버(321) 및 CA TSV 버퍼(421)를 통하여 CA 디코더(410)로 코맨드-어드레스(CA)를 전달할 수 있다. 또한, 물리 계층(310)은 호스트 장치로부터 전송되는 데이터(DQ)를 수신하여 DQ TSV 드라이버들(323, 423) 및 데이터버스 드라이버(443)를 통하여 데이터버스(DBUS)로 데이터(DQ)를 전달할 수 있고, 반대로 데이터버스(DBUS)로부터 전송되는 데이터(DQ)를 수신하여 호스트 장치로 전송할 수 있다.
CA 디코더(410)는 코맨드-어드레스(CA)를 수신하여 내부 코맨드 신호(cmd), 뱅크 어드레스(bnk_addr), 행 어드레스(row_addr) 및 열 어드레스(col_addr)를 발생할 수 있다. 복수의 뱅크 컨트롤러들(430a~430h)은 뱅크 어드레스(bnk_addr)에 기초하여 인에이블되고, 인에이블된 뱅크 컨트롤러는 내부 코맨드 신호(cmd)에 기초하여 액티브 제어 신호(act_ctrl), 프리차지 제어 신호(pre_ctrl), 리프레시 제어 신호(ref_ctrl), 독출 제어 신호(rd_ctrl) 및 기입 제어 신호(wr_ctrl)를 발생할 수 있다. 행 어드레스(row_addr), 액티브 제어 신호(act_ctrl), 프리차지 제어 신호(pre_ctrl), 리프레시 제어 신호(ref_ctrl)는 뱅크 제어 회로(430)에 제공되고, 열 어드레스(col_addr)는 열 디코더 회로(470)로 제공되고 독출 신호(rd_ctrl) 및 기입 제어 신호(wr_ctrl)는 독출-기입 회로(491, 492)로 제공될 수 있다.
로우 디코더들(460a~460h) 중 뱅크 어드레스(bnk_addr)에 상응하는 로우 디코더는 행 어드레스(row_addr)를 디코딩하여 행 어드레스(row_addr)에 상응하는 워드 라인을 활성화할 수 있다. 복수의 컬럼 디코더들(470a~470h) 중 뱅크 어드레스(bnk_addr)에 상응하는 컬럼 디코더는 열 어드레스(col_addr)를 디코딩하여 열 어드레스(col_addr)에 상응하는 복수의 비트 라인들을 활성화할 수 있다.
복수의 입출력 센스 증폭기들(IOSA)(491a~491h) 중 뱅크 어드레스(bnk_addr)에 상응하는 입출력 센스 증폭기는 활성화된 뱅크 셀 어레이로부터 독출되는 데이터를 컬럼 디코더를 통하여 뱅크 데이터(bnk_dt)로서 출력할 수 있다. 복수의 기입 드라이버들(WRDRV) (492a~492h) 중 뱅크 어드레스(bnk_addr)에 상응하는 기입 드라이버는 제공되는 뱅크 데이터(bnk_dt)를 컬럼 디코더를 통하여 활성화된 뱅크 셀 어레이에 기입할 수 있다.
데이터버스 드라이버(443)는 내부 코맨드 신호(cmd) 및 데이터버스 디스에이블 신호(dbus_dis)에 기초하여 데이터버스 제어 신호(dbus_ctrl) 및 TSV 디스에이블 신호(tsv_dis)를 발생할 수 있다. TSV 컨트롤러들(322, 422)은 내부 코맨드 신호(cmd) 및 TSV 디스에이블 신호(tsv_dis)에 기초하여 DQ TSV 드라이버들(323, 423)을 제어하기 위한 TSV 독출 제어 신호(tsv_rd_ctrl) 및 TSV 기입 제어 신호(tsv_rd_ctrl)를 발생할 수 있다.
FIM 채널 제어 회로(110)는 호스트 장치로부터 수신되는 코맨드-어드레스 신호(CA) 및 데이터 신호(DQ)에 기초하여 복수의 FIM 인스트럭션들(instr_in)을 저장할 수 있다. 복수의 FIM 인스트럭션들(instr_in)은 호스트 장치로부터 수신되는 데이터 신호(DQ)를 통하여 제공될 수 있다. 한편, FIM 채널 제어 회로(110)는 호스트 장치로부터 수신되는 데이터 신호(DQ)를 통하여 구성 정보(conf)를 수신하여 저장할 수 있다.
FIM 채널 제어 회로(110)는 저장된 복수의 FIM 인스트럭션들(instr_in)을 디코딩하여 내부 인스트럭션 신호(instr)를 발생하고, 호스트 장치로부터 수신되는 코맨드-어드레스(CA)를 디코딩하여 내부 코맨드 신호(cmd)를 발생할 수 있다. 또한, FIM 채널 제어 회로(110)는 저장된 구성 정보(conf)에 기초하여 FIM 채널 제어 신호들(SFC)을 발생할 수 있다. FIM 채널 제어 신호들(SFC)은 멀티-뱅크 인에이블 신호(mb_en), 뱅크 디스에이블 신호(bnk_dis), 연산 회로 인에이블 신호(alu_en) 및 리셋 신호(rst)를 포함할 수 있다.
FIM 백-엔드 회로(210, 212)의 연산 컨트롤러(210)는 FIM 채널 제어 회로(110)로부터 제공되는 복수의 FIM 인스트럭션들에 상응하는 내부 인스트럭션 신호(instr) 및 FIM 채널 제어 신호들(SFC)에 기초하여 복수의 뱅크 FIM 회로들(212a~212h)을 제어하기 위한 FIM 다이 제어 신호들(SFD)을 발생할 수 있다. FIM 다이 제어 신호들(SFD)은 데이터버스 디스에이블 신호(dbus_dis), 뱅크 독출 디스에이블 신호(bnk_rd_dis), 뱅크 기입 디스에이블 신호(bnk_wr_dis), 데이터버스 멀티플렉서 제어 신호(dbmux_ctrl), 개별 연산 회로 인에이블 신호(per_alu_en), 입력 멀티플렉서 제어 신호(inmux_ctrl), 연산 회로 제어 신호(alu_ctrl) 및 레지스터 제어 신호(reg_ctrl)를 포함할 수 있다.
FIM 백-엔드 회로(210, 212)의 복수의 뱅크 FIM 회로들(212a~212h)은 메모리 뱅크들의 각각에 할당되고, FIM 다이 제어 신호들(SFD)에 기초하여 할당된 메모리 뱅크와 연관된 FIM 동작을 수행할 수 있다.
복수의 뱅크 FIM 회로들(212a~212h)의 각각은 복수의 입출력 센스 증폭기들(IOSA)(491a~491h) 중 상응하는 입출력 센스 증폭기를 통하여 제공되는 내부 데이터에 기초한 연산 동작을 수행할 수 있다. 또한, 복수의 뱅크 FIM 회로들(212a~212h)의 각각은 내부에 저장된 데이터를 데이터 버스(DBUS)로 출력하거나 복수의 기입 드라이버들(WRDRV) (492a~492h) 중 상응하는 기입 드라이버를 통하여 상응하는 메모리 뱅크에 기입할 수 있다. 또한, 복수의 뱅크 FIM 회로들(212a~212h)의 각각은 데이터 버스(DBUS) 또는 상응하는 입출력 센스 증폭기를 통하여 수신되는 데이터를 내부에 저장할 수 있다. 전술한 FIM 동작은 이러한 연산 동작, 데이터의 기입, 독출 및 입출력 동작을 포함할 수 있다.
도 9는 도 8의 적층형 메모리 장치에 포함되는 FIM 채널 제어 회로의 일 실시예를 나타내는 블록도이다.
도 9를 참조하면, 각각의 채널에 상응하는 FIM 채널 제어 회로(FCCC)는 FIM 디코더(FIMDEC), FIM 컨트롤러(FIMCON), FIM 인스트럭션 큐(FIMIQ) 및 FIM 인스트럭션 디코더(INSDEC)를 포함할 수 있다.
FIM 디코더(FIMDEC)는 호스트 장치로부터 수신되는 코맨드-어드레스 신호(CA)를 디코딩하여 내부 코맨드 신호(cmd) 및 내부 어드레스 신호를 발생할 수 있다. 상기 내부 어드레스 신호는 뱅크 어드레스(bnk_addr), 행 어드레스(row_addr) 및 열 어드레스(col_addr)를 포함할 수 있다.
FIM 컨트롤러(FIMCON)는 내부 코맨드 신호(cmd) 및 내부 어드레스 신호(bnk_addr, row_addr, col_addr)에 기초하여 큐 제어 신호를 발생할 수 있다. 상기 큐 제어 신호는 큐 입력 제어 신호(in_ctrl) 및 큐 출력 제어 신호(out_ctrl)를 포함할 수 있다.
한편, FIM 컨트롤러(FIMCON)는 내부 코맨드 신호(cmd) 및 내부 어드레스 신호(bnk_addr, row_addr, col_addr)에 기초하여 호스트 장치로부터 수신되는 데이터 신호에 포함되는 구성 정보(conf)를 저장하는 FIM 컨트롤 레지스터(FCREG)를 포함할 수 있다. FIM 컨트롤러(FIMCON)는 FIM 컨트롤 레지스터(FCREG)에 저장된 구성 정보(conf)에 기초하여 각각의 채널에 상응하는 FIM 백-엔드 회로의 제어를 위한 FIM 채널 제어 신호들(SFC), 즉 멀티-뱅크 인에이블 신호(mb_en), 뱅크 디스에이블 신호(bnk_dis), 연산 회로 인에이블 신호(alu_en) 및 리셋 신호(rst)를 발생할 수 있다. FIM 컨트롤 레지스터(FCREG)는 리셋 신호(rst)에 응답하여 초기화될 수 있다.
FIM 인스트럭션 큐(FIMIQ)는 큐 입력 제어 신호(in_ctrl)에 기초하여 호스트 장치로부터 수신되는 데이터 신호에 포함되는 상기 FIM 인스트럭션들(instr_in)을 저장하고, 큐 출력 제어 신호(out_ctrl)에 기초하여 저장된 FIM 인스트럭션들(instr_out)을 출력할 수 있다.
FIM 인스트럭션 디코더(INSDEC)는 FIM 인스트럭션 큐(FIMIQ)로부터 출력되는 FIM 인스트럭션들(instr_out)을 디코딩하여 내부 인스트럭션 신호(instar)를 발생할 수 있다. FIM 인스트럭션 디코더(INSDEC)는 내부 인스트럭션 신호(instar)를 각각의 채널에 상응하는 FIM 백-엔드 회로에 제공할 수 있다.
도 10은 도 8의 적층형 메모리 장치에 포함되는 뱅크 FIM 회로의 일 실시예를 나타내는 블록도이다.
도 10을 참조하면, 각각의 메모리 뱅크에 상응하는 뱅크 FIM 회로(BFC)는 연산 회로(ALU), 레지스터 파일(REGFL) 및 데이터 경로 제어 회로를 포함할 수 있다. 상기 데이터 경로 제어 회로는 데이터버스 멀티플렉서(DBMUX) 및 입력 멀티플렉서(INMUX)를 포함할 수 있다.
연산 회로(ALU)는 연산 회로 제어 신호(alu_ctrl)에 기초하여 제1 소스 데이터(src1), 제2 소스 데이터(src2) 및 제3 소스 데이터(src3) 중 적어도 하나에 대한 연산 동작을 수행하여 연산 결과 데이터(dst)를 발생할 수 있다.
레지스터 파일(REGFL)은 레지스터 제어 신호(reg_ctrl)에 기초하여 연산 회로(ALU)로부터 제공되는 연산 결과 데이터(dst)를 저장할 수 있다. 또한, 레지스터 파일(REGFL)은 레지스터 제어 신호(reg_ctrl)에 기초하여 제1 레지스터 출력 데이터(reg_out0), 제2 레지스터 출력 데이터(reg_out1) 및 제3 레지스터 출력 데이터(reg_out2) 중 적어도 하나를 출력할 수 있다. 레지스터 파일(REGFL)은 리셋 신호(rst)에 응답하여 초기화될 수 있다.
데이터 경로 제어 회로, 즉 데이터버스 멀티플렉서(DBMUX) 및 입력 멀티플렉서(INMUX)는 버퍼 반도체 다이와의 데이터 교신을 데이터 버스(DBUS), 메모리 뱅크, 연산 회로(ALU)의 입력 및 레지스터 파일(REGFL)의 출력 사이의 연결을 제어할 수 있다.
데이터버스 멀티플렉서(DBMUX)는 데이터버스 멀티플렉서 제어 신호(dbmux_ctrl)에 기초하여 데이터버스(DBUS) 상의 데이터 또는 메모리 뱅크로부터 출력되는 뱅크 데이터(bnk_dt)를 연산 데이터(alu_dt)로서 출력할 수 있다. 또한, 멀티플렉서(DBMUX)는 데이터버스 멀티플렉서 제어 신호(dbmux_ctrl)에 기초하여 데이터버스(DBUS) 상의 데이터를 메모리 뱅크에 기입하기 위한 뱅크 데이터(bnk_dt)로서 출력하거나 메모리 뱅크로부터 독출된 뱅크 데이터(bnk_dt)를 데이터버스(DBUS)로 출력할 수 있다.
입력 멀티플렉서(INMUX)는 연산 데이터(alu_dt), 뱅크 데이터(bnk_dt), 제2 레지스터 출력 데이터(reg_out1) 및 제3 레지스터 출력 데이터(reg_out2) 중 적어도 하나를 수신하고 입력 멀티플렉서 제어 신호(inmux_ctrl)에 기초하여 제1 소스 데이터(src1), 제2 소스 데이터(src2) 및 제3 소스 데이터(src3) 중 적어도 하나를 연산 회로(ALU)에 제공할 수 있다.
개별 연산 회로 인에이블 신호(per_alu_en)는 뱅크 FIM 회로(BFC)마다 독립적으로 제공되는 신호일 수 있다. 개별 연산 회로 인에이블 신호(per_alu_en)에 응답하여 상응하는 뱅크 FIM 회로(BFC)가 인에이블될 수 있다. 멀티-뱅크 FIM 모드에서는 각각의 채널에 상응하는 복수의 뱅크 FIM 회로들에 각각 제공되는 복수의 개별 연산 회로 인에이블 신호들(per_alu_en[0:m])이 동시에 활성화되어 복수의 뱅크 FIM 회로들에 의한 병렬적인 연산 동작이 수행될 수 있다. 싱글-뱅크 FIM 모드에서는 복수의 개별 연산 회로 인에이블 신호들(per_alu_en[0:m]) 중 하나가 선택적으로 활성화되어 하나의 뱅크 FIM 회로에 의한 연산 동작이 수행될 수 있다.
도 11은 본 발명의 실시예들에 따른 적층형 메모리 장치에 저장되는 FIM 인스트럭션들의 일 실시예를 나타내는 도면이다. 도 11의 실시예는 시퀀셜 실행 모드에 해당한다.
도 11을 참조하면, FIM 인스트럭션 큐는 인스트럭션 필드(INSTR), 데스티네이션(destination) 필드(DST), 제1 내지 제3 소스(source) 필드들(SRC1, SRC2, SRC3) 및 마스크 필드(MASK)를 포함할 수 있다. 도 11에는 시퀀셜 실행 모드에서 각각의 FIM 인스트럭션의 실행을 위해 호스트 장치로부터 적층형 메모리 장치로 전송되는 독출 코맨드(RD) 및 기입 코맨드(WR), FIM 동작 설명, 메모리 반도체 다이 내에서의 독출 데이터 경로(RDP) 및 기입 데이터 경로(WDP)가 함께 도시되어 있다.
시퀀셜 실행 모드에서는, 호스트 장치로부터 적층형 메모리 장치로 전송되는 독출 코맨드(RD) 또는 기입 코맨드(WR)에 따라서 FIM 인스트럭션 큐에 저장된 인스트럭션이 하나씩 실행되거나, 메모리 뱅크로부터 독출된 뱅크 데이터를 뱅크 FIM 회로의 연산 회로에 전달되거나, 레지스터 파일(REGFL)의 데이터를 뱅크 메모리에 저장할 수 있다.
도 11에서, REGx, REGy, REGz는 전술한 레지스터 파일(REGFL)에 포함되는 레지스터들의 각 어드레스 또는 데이터를 나타내며, IOSA 및 WRDRV는 메모리 뱅크의 독출 데이터 및 기입 데이터 또는 상응하는 어드레스를 나타내며, DBUS는 데이터버스의 데이터 또는 데이터버스에 대한 장치 식별자를 나타낸다. 독출 데이터 경로(RDP) 및 기입 데이터 경로(WDP)에서, DISABLE은 해당 데이터 경로가 디스에이블됨을 나타내고, BANK는 메모리 뱅크를 나타내고, ALU는 뱅크 FIM 회로에 포함되는 연산 회로를 나타내고, DBUS는 데이터 버스를 나타낸다.
인스트럭션 필드(INSTR)에는 FIM 인스트럭션의 식별자가 저장되고, 데스티네이션 필드(DST) 및 제1 내지 제3 소스 필드들(SRC1, SRC2, SRC3)에는 상응하는 데이터의 장치에 관한 정보(예를 들어, 장치 식별자 또는 어드레스)가 저장된다.
MAC 인스트럭션은 소스 필드들(SRC1, SRC2, SRC2)의 어드레스에 상응하는 데이터에 대한 곱셈 및 덧셈을 수행하여 연산 결과 데이터(dst)를 데스티네이션 필드의 어드레스에 저장하는 FIM 동작을 나타낸다. MUL 인스트럭션은 소스 필드들(SRC1, SRC2)의 어드레스에 상응하는 데이터에 대한 곱셈을 수행하여 연산 결과 데이터(dst)를 데스티네이션 필드의 어드레스에 저장하는 FIM 동작을 나타낸다. ADD/SUB 인스트럭션은 소스 필드들(SRC1, SRC2)의 어드레스에 상응하는 데이터에 대한 덧셈/뺄셈을 수행하여 연산 결과 데이터(dst)를 데스티네이션 필드의 어드레스에 저장하는 FIM 동작을 나타낸다. LOAD 인스트럭션은 소스 필드(SRC1)의 어드레스에 상응하는 데이터를 데스티네이션 필드의 어드레스로 로딩하는 FIM 동작을 나타낸다. STORE 인스트럭션은 소스 필드(SRC1)의 어드레스에 상응하는 데이터를 데스티네이션 필드의 어드레스로 저장하는 FIM 동작을 나타낸다. MOV 인스트럭션은 소스 필드(SRC1)의 어드레스에 상응하는 데이터를 데스티네이션 필드의 어드레스로 이동하는 FIM 동작을 나타낸다. JUMP 인스트럭션은 FIM 인스트럭션 큐에 저장된 FIM 인스트럭션들 중에서 현재 실행되는 프로그램 카운터(PCNT)를 JUMP TARGET으로 설정하는 FIM 동작을 나타낸다.
마스크 필드(MASK)에는 복수의 뱅크 FIM 회로들을 선택적으로 인에이블하기 위한 마스크 값이 저장된다. 예를 들어, 마스크 값이 “000000”인 경우에는 각각의 채널에 상응하는 복수의 뱅크 FIM 회로들이 동시에 인에이블되어 인에이블된 복수의 뱅크 FIM 회로들의 모든 연산 동작들(all alu operation)이 동시에 수행될 수 있고, 마스크 값이 “110000” 내지 “111111” 중 하나인 경우에는 각각의 채널에 상응하는 복수의 뱅크 FIM 회로들 중 마스크 값에 상응하는 하나의 뱅크 FIM 회로만이 인에이블되어 인에이블된 하나의 뱅크 FIM 회로의 하나의 연산 동작(single alu operation)이 수행될 수 있다. 전술한 복수의 개별 연산 회로 인에이블 신호들(per_alu_en[0:m])은 이러한 마스크 값에 기초하여 발생될 수 있다.
도 12는 본 발명의 실시예들에 따른 적층형 메모리 장치의 FIM 제어 신호들의 일 실시예를 나타내는 도면이다.
도 12를 참조하면, FIM 컨트롤러는 FIM 채널 제어 신호들(SFC)을 발생할 수 있고, FIM 인스트럭션 디코더는 내부 인스트럭션 신호(instr)를 발생할 수 있고, 연산 컨트롤러(ALU 컨트롤러)는 FIM 다이 제어 신호들(SFD)을 포함할 수 있다.
FIM 채널 제어 신호들(SFC)은 멀티-뱅크 인에이블 신호(mb_en), 뱅크 디스에이블 신호(bnk_dis), 연산 회로 인에이블 신호(alu_en), 리셋 신호(rst), 큐 입력 제어 신호(in_ctrl) 및 큐 출력 제어 신호(out_ctrl)를 포함할 수 있다. FIM 다이 제어 신호들(SFD)은 데이터버스 디스에이블 신호(dbus_dis), 뱅크 독출 디스에이블 신호(bnk_rd_dis), 뱅크 기입 디스에이블 신호(bnk_wr_dis), 데이터버스 멀티플렉서 제어 신호(dbmux_ctrl), 개별 연산 회로 인에이블 신호(per_alu_en), 입력 멀티플렉서 제어 신호(inmux_ctrl), 연산 회로 제어 신호(alu_ctrl) 및 레지스터 제어 신호(reg_ctrl)를 포함할 수 있다.
다시 도 8 내지 10을 참조하면, 멀티-뱅크 인에이블 신호(mb_en)가 활성화되면 뱅크 어드레스(bnk_addr)가 무시되고 모든 메모리 뱅크들이 선택되어 멀티-뱅크 동작이 수행될 수 있다. 연산 제어 회로(210)는 멀티-뱅크 인에이블 신호(mb_en)가 활성화된 경우 각각의 채널에 상응하는 메모리 뱅크들의 전부에 대하여 FIM 동작을 동시에 수행할 수 있다. 한편, 멀티-뱅크 인에이블 신호(mb_en)가 비활성화된 경우 각각의 채널에 상응하는 메모리 뱅크들 중 하나에 대하서만 FIM 동작을 수행할 수 있다.
뱅크 디스에이블 신호(bnk_dis)가 활성화되면 뱅크 컨트롤러들(430a~430h)이 디스에이블되고 내부 코맨드 신호(cmd)가 무시될 수 있다. 연산 회로 인에이블 신호(alu_en)가 활성화되면 연산 컨트롤러(210)가 인에이블될 수 있다. 리셋 신호(rst)가 활성화되면 FIM 컨트롤 레지스터(FCREG) 및 레지스터 파일(REGFL)에 저장된 값들이 초기화되고 FIM 프론트-엔드 회로의 FIM 채널 제어 회로(110)는 적층형 메모리 장치를 FIM 동작을 수행하는 FIM 모드에서 통상의 동작을 수행하는 노말 모드로 전환할 수 있다.
FIM 인스트럭션 큐(FIMIQ)는 큐 입력 제어 신호(in_ctrl)에 기초하여 호스트 장치로부터 수신되는 데이터 신호에 포함되는 상기 FIM 인스트럭션들(instr_in)을 저장하고, 큐 출력 제어 신호(out_ctrl)에 기초하여 저장된 FIM 인스트럭션들(instr_out)을 출력할 수 있다. FIM 인스트럭션 디코더(INSDEC)는 FIM 인스트럭션 큐(FIMIQ)로부터 출력되는 FIM 인스트럭션들(instr_out)을 디코딩하여 내부 인스트럭션 신호(instr)를 발생할 수 있다.
데이터버스 디스에이블 신호(dbus_dis)가 활성화되면 데이터버스 컨트롤러(442)는 데이터버스 제어 신호(dbus_ctrl)를 통하여 데이터버스(DBUS)를 DQ와 전기적으로 분리시킬 수 있다. 뱅크 독출 디스에이블 신호(bnk_rd_dis)가 활성화되면 독출 코맨드(RD)에 의한 독출 제어 신호(rd_ctrl)가 디스에이블될 수 있고, 뱅크 기입 디스에이블 신호(bnk_wr_dis)가 활성화되면 기입 코맨드(RD)에 의한 기입 제어 신호(wr_ctrl)가 디스에이블될 수 있다. 데이터버스 멀티플렉서 제어 신호(dbmux_ctrl)에 기초하여 데이터버스(DBUS)의 데이터가 연산 데이터(alu_dt)로서 연산 회로(ALU)로 전달될 수 있다. 개별 연산 회로 인에이블 신호들(per_alu_en[0:15])의 각각에 기초하여 뱅크 FIM 회로들(BFC0~BFC15)의 각각에 대해 독립적으로 입력 멀티플렉서(INMUX), 연산 회로(ALU) 및 레지스터 파일(REGFL)이 인에이블될 수 있다. 입력 멀티플렉서 제어 신호(inmux_ctrl)에 기초하여 입력 멀티플렉서(INMUX)로부터 연산 회로(ALU)로 전달되는 데이터가 선택될 수 있다. 연산 회로(ALU)는 연산 회로 제어 신호(alu_ctrl)에 기초하여 제1 소스 데이터(src1), 제2 소스 데이터(src2) 및 제3 소스 데이터(src3) 중 적어도 하나에 대한 연산 동작을 수행하여 연산 결과 데이터(dst)를 발생할 수 있다. 레지스터 파일(REGFL)은 레지스터 제어 신호(reg_ctrl)에 기초하여 연산 회로(ALU)로부터 제공되는 연산 결과 데이터(dst)를 저장할 수 있다.
도 12에 도시된 개별 연산 회로 인에이블 신호들(per_alu_en[0:15])은 각각의 채널에 상응하는 메모리 뱅크들의 개수가 16개인 경우를 나타내며, 개별 연산 회로 인에이블 신호들의 개수는 채널의 구성에 따라서 다양하게 결정될 수 있다.
도 13은 본 발명의 실시예들에 따른 적층형 메모리 장치를 포함하는 시스템의 어드레스 매핑의 일 실시예를 나타내는 도면이고, 도 14는 본 발명의 실시예들에 따른 적층형 메모리 장치에 의해 수행되는 연산 동작의 일 실시예를 나타내는 도면이다.
도 13을 참조하면, 호스트 장치는 시스템 어드레스 공간의 일부를 할당하여 FIM 인스트럭션 큐 및 FIM 컨트롤 레지스터를 나타내는 FIM 제어 어드레스를 설정할 수 있다. 호스트 장치는 적층형 메모리 장치의 통상의 동작을 위한 코맨드 및 FIM 제어 어드레스를 사용하여 FIM 인스트럭션들 및 구성 정보에 대한 기입 및 독출을 제어할 수 있다.
예를 들어, 모든 메모리 뱅크의 특정한 행 어드레스(row0)를 상기 FIM 제어 어드레스로 할당할 수 있다. 뱅크 어드레스와 관계 없이 FIM 제어 어드레스(row0)는 FIM 인스트럭션 큐 및 FIM 컨트롤 레지스터를 지시할 수 있다. FIM 제어 어드레스(row0)와 결합된 일부의 열 어드레스들(col0~col31)은 FIM 인스트럭션 큐의 저장 위치들을 지시할 수 있고, 일부의 열 어드레스(col32)는 FIM 컨트롤 레지스터를 지시할 수 있다.
도 13의 우하 부분에는 FIM 컨트롤 레지스터에 저장되는 구성 정보의 일 실시예가 도시되어 있다. FIM 컨트롤 레지스터에 저장되는 구성 정보는 멀티-뱅크 인에이블 신호(mb_en), 연산 회로 인에이블 신호(alu_en), 리셋 신호(rst), 프로그램 카운터(pcnt[0:15]), 점프 카운트(jump_count), 점프 타겟(jump_target), 뱃치 인에이블 신호(batch_en)에 관한 정보를 포함할 수 있다.
멀티-뱅크 인에이블 신호(mb_en)가 활성화되면 액티브 코맨드(ACT), 프리차지 코맨드(PRE)에 의해 모든 메모리 뱅크들이 동시에 활성화되고 프리차지될 수 있다. 연산 회로 인에이블 신호(alu_en)가 활성화되면, 연산 제어 회로(ALUCON)가 인에이블되어 FIM 동작을 수행할 수 있다. 리셋 신호(rst)가 활성화되면 FIM 컨트롤 레지스터(FCREG) 및 레지스터 파일(REGFL)에 저장된 값들이 초기화될 수 있다. 프로그램 카운터(pcnt[0:15])은 현재 실행 중인 FIM 인스트럭션 큐의 인덱스(INDEX)를 지시하고 메모리 뱅크별로 구비된다. 점프 카운트(jump_count)는 JUMP 인스트럭션의 실행 횟수를 나타내고, 점프 타겟(jump_target)은 JUMP 인스트럭션의 실행시 변경될 프로그램 카운터의 값을 나타낸다. 뱃치 인에이블 신호(batch_en)가 활성화되면 뱃치 실행 모드를 나타내고, 뱃치 인에이블 신호(batch_en)가 비활성화되면 시퀀셜 실행 모드를 나타낼 수 있다.
도 13의 좌하 부분에는 FIM 인스트럭션 큐에 저장되는 FIM 인스트럭션 시퀀스의 일 예가 도시되어 있다. FIM 인스트럭션 시퀀스에 대한 설명은 도 11을 참조하여 설명한 바와 같으므로 중복되는 설명을 생략한다.
도 13에 도시된 FIM 인스트럭션 시퀀스는 도 14에 도시된 매트릭스-행렬 곱셈을 나타낸다.
인덱스 0~31의 MOV 인스트럭션들에 의해 모든 뱅크 FIM 회로들의 레지스터 파일(REGFL)에 데이터버스(DBUS)의 데이터가 저장될 수 있다. 레지스터 파일(REGFL)은 복수의 데이터 레지스터들(REG0~REG32)을 포함할 수 있고, 인덱스 0~31의 MOV 인스트럭션들에 의해 데이터 레지스터들(REG0~REG31)에 데이터버스(DBUS)의 데이터가 순차적으로 저장될 수 있다. 인덱스 32~63의 MAC 인스트럭션들에 의해 곱셈 및 덧셈을 수행한 연산 결과 데이터가 데이터 레지스터(REG32)에 순차적으로 누적될 수 있다.
이와 같은 방식으로, 도 14에 도시된 바와 같이, 복수의 메모리 뱅크들(bank0~bank15)의 하나의 행(row1)의 데이터로 이루어진 MxN 행렬 및 복수의 메모리 뱅크들(bank0~bank15)에 각각 상응하는 데이터 레지스터들(REG0~REG31)의 데이터로 이루어진 Nx1 벡터에 대한 행렬-벡터 곱셈을 수행하여 Mx1 벡터, 즉 최종적인 연산 결과 데이터를 데이터 레지스터(REG32)에 저장할 수 있다. 전술한 바와 같이 마스크 값이 “000000”인 경우에는 각각의 채널에 상응하는 모든 메모리 뱅크들에 대한 FIM 동작이 수행될 수 있다.
이후, 인덱스 64~80의 MOV 인스트럭션들에 의해 복수의 메모리 뱅크들(bank0~bank15)에 각각 상응하는 데이터 레지스터들(REG32)에 누적된 데이터가 데이터버스(DBUS)로 하나씩 순차적으로 독출될 수 있다. 전술한 바와 같이 마스크 값이 “110000” 내지 “111111” 중 하나인 경우에는 하나의 메모리 뱅크에 대한 FIM 동작이 수행될 수 있다.
도 15a 내지 15g는 본 발명의 실시예들에 따른 적층형 메모리 장치의 FIM 동작에 따른 데이터 경로들을 나타내는 도면들이다.
도 15a 내지 15g에는 다양한 FIM 인스트럭션들에 상응하는 데이터 경로들이 도시되어 있다. 도 15a 내지 15g에 도시된 구성요소들에 인가되는 제어 신호들은 전술한 바와 같으므로 상기 제어 신호들에 대한 설명은 생략한다. 다만, CSL은 도 8의 열 어드레스(col_addr)에 기초하여 컬럼 디코더들(470a~470h)에 의해 발생되어 뱅크 셀 어레이들(480a~480h)에 인가되는 컬럼 선택 신호를 나타낸다.
도 15a를 참조하면, 메모리 뱅크(BNK)로부터 독출된 데이터가 입출력 센스 증폭기(IOSA)로부터 출력되어 입력 멀티플렉서(INMUX)에 의해 제1 소스 데이터(src1)로서 연산 회로(ALU)로 제공된다. 한편, 레지스터 파일(REGFL)로부터 출력되는 제2 및 제3 레지스터 출력 데이터(reg_out1, reg_out2)가 입력 멀티플렉서(INMUX)에 의해 제2 및 제3 소스 데이터(src2, src3)로서 연산 회로(ALU)로 제공된다. 연산 회로(ALU)는 제1 내지 제3 소스 데이터(src1~src3)에 기초한 MAC 연산을 수행하여 연산 결과 데이터(dst)를 발생하고 연산 결과 데이터(dst)는 레지스터 파일(REGFL)에 저장된다.
도 15b를 참조하면, 레지스터 파일(REGFL)로부터 출력되는 제1 레지스터 출력 데이터(reg_out0)가 데이터버스 멀티플렉서(DBMUX)를 통해 연산 데이터(alu_dt)로서 제공되고, 연산 데이터(alu_dt)는 입력 멀티플렉서(INMUX)에 의해 제1 소스 데이터(src1)로서 연산 회로(ALU)로 제공된다. 한편, 레지스터 파일(REGFL)로부터 출력되는 제2 및 제3 레지스터 출력 데이터(reg_out1, reg_out2)가 입력 멀티플렉서(INMUX)에 의해 제2 및 제3 소스 데이터(src2, src3)로서 연산 회로(ALU)로 제공된다. 연산 회로(ALU)는 제1 내지 제3 소스 데이터(src1~src3)에 기초한 MAC 연산을 수행하여 연산 결과 데이터(dst)를 발생하고 연산 결과 데이터(dst)는 레지스터 파일(REGFL)에 저장된다.
도 15c를 참조하면, 호스트 장치로부터 제공되는 데이터가 물리 계층(PHY), 버퍼 반도체 다이(BSD)의 DQ TSV 드라이버(DTDRV), 메모리 반도체 다이(MSD)의 DQ TSV 드라이버(DTDRV), 데이터버스 드라이버(DBDRV), 데이터버스 멀티플렉서(DBMUX)를 경유하여 연산 데이터(alu_dt)로서 제공되고, 연산 데이터(alu_dt)는 입력 멀티플렉서(INMUX)에 의해 제1 소스 데이터(src1)로서 연산 회로(ALU)로 제공된다. 한편, 레지스터 파일(REGFL)로부터 출력되는 제2 및 제3 레지스터 출력 데이터(reg_out1, reg_out2)가 입력 멀티플렉서(INMUX)에 의해 제2 및 제3 소스 데이터(src2, src3)로서 연산 회로(ALU)로 제공된다. 연산 회로(ALU)는 제1 내지 제3 소스 데이터(src1~src3)에 기초한 MAC 연산을 수행하여 연산 결과 데이터(dst)를 발생하고 연산 결과 데이터(dst)는 레지스터 파일(REGFL)에 저장된다.
도 15d를 참조하면, 메모리 뱅크(BNK)로부터 독출된 데이터가 입출력 센스 증폭기(IOSA) 및 입력 멀티플렉서(INMUX)를 경유하여 연산 회로(ALU)에 로딩되고 최종적으로 레지스터 파일(REGFL)에 저장되는 방식으로 LOAD 인스트럭션이 수행될 수 있다.
도 15e를 참조하면, 레지스터 파일(REGFL)로부터 출력된 데이터가 데이터버스 멀티플렉서(DBMUX) 및 기입 드라이버(WRDRV)를 경유하여 메모리 뱅크(BNK)에 기입되는 방식으로 STORE 인스트럭션이 수행될 수 있다.
도 15f를 참조하면, 레지스터 파일(REGFL)로부터 출력된 데이터가 데이터버스 드라이버(DBDRV), 메모리 반도체 다이(MSD)의 DQ TSV 드라이버(DTDRV), 버퍼 반도체 다이(BSD)의 DQ TSV 드라이버(DTDRV) 및 물리 계층(PHY)을 경유하여 호스트 장치로 전송되는 방식으로 MOV 인스트럭션이 수행될 수 있다.
도 15g를 참조하면, 호스트 장치로부터 제공되는 데이터가 물리 계층(PHY), 버퍼 반도체 다이(BSD)의 DQ TSV 드라이버(DTDRV), 메모리 반도체 다이(MSD)의 DQ TSV 드라이버(DTDRV), 데이터버스 드라이버(DBDRV), 데이터버스 멀티플렉서(DBMUX) 및 입력 멀티플렉서(INMUX)를 경유하여 연산 회로(ALU)에 로딩되고 최종적으로 레지스터 파일(REGFL)에 저장되는 방식으로 MOV 인스트럭션이 수행될 수 있다.
도 16a 내지 18b는 본 발명의 실시예들에 따른 적층형 메모리 장치의 동작의 실시예들을 나타내는 도면들이다.
도 16a는 FIM 인스트럭션 큐의 INDEX 0~3에 MOV, MAC, MOV, MOV 인스트럭션들이 저장되는 FIM 인스트럭션 시퀀스의 일 예를 나타내는 도면이고, 도 16b는 도 16a의 FIM 인스트럭션 시퀀스를 수행하는 경우의 동작을 나타내는 타이밍도이다.
도 16a를 참조하면, INDEX 0의 MOV 인스트럭션은 호스트 장치로부터 수신되는 동일한 데이터를 모든 메모리 뱅크들에 상응하는 레지스터 파일에 저장하는 FIM 동작을 나타내고, INDEX 1의 MAC 인스트럭션은 모든 메모리 뱅크들의 독출 데이터 및 모든 메모리 뱅크들에 상응하는 레지스터 파일들에 저장된 레지스터 출력 데이터에 기초하여 모든 메모리 뱅크들에 상응하는 연산 회로들이 동시에 MAC 연산을 수행하는 FIM 동작을 나타낸다. INDEX 2의 MOV 인스트럭션은 마스크 값 “110000”에 해당하는 레지스터 파일의 데이터가 데이터버스(DBUS)로 출력되는 FIM 동작을 나타내고, INDEX 3의 MOV 인스트럭션은 마스크 값 “110001”에 해당하는 레지스터 파일의 데이터가 데이터버스(DBUS)로 출력되는 FIM 동작을 나타낸다. 이와 같이, 멀티-뱅크 FIM 모드에서도 마스크 값에 따라서 모든 메모리 뱅크들에 대한 FIM 동작이 제한될 수 있다.
도 16b를 참조하면, 적층형 메모리 장치는 호스트 장치로부터 전송되는 코맨드 신호(CMD) 및 어드레스 신호(ADDR)에 기초하여, 시점 T1~T4에서 통상의 동작을 수행하는 노말 모드에서 FIM 동작을 수행하는 FIM 모드로 전환하기 위한 FIM 진입 동작(FIM ENTER OPERATION)을 수행하고, 시점 T11~T13에서 FIM 모드에서 노말 모드로 전환하기 위한 FIM 종료 동작(FIM EXIT OPERATION)을 수행할 수 있다. 도 16b에는 코맨드 신호(CMD) 및 어드레스 신호(ADDR)를 구별하여 도시하였으나, 도 7a 및 7b를 참조하여 전술한 바와 같이, 코맨드 및 어드레스가 통합된 코맨드-어드레스 신호(CA)의 형태로 호스트 장치에서 적층형 메모리 장치로 제공될 수 있다.
적층형 메모리 장치는 T5~T10 시점들에서 멀티-뱅크 FIM 모드 및 시퀀셜 실행 모드로 FIM 동작을 수행한다. 적층형 메모리 장치는 멀티-뱅크 FIM 모드에서 복수의 뱅크 FIM 회로들에 의한 병렬적인 연산 동작을 수행한다. 또한, 적층형 메모리 장치는 시퀀셜 실행 모드에서 호스트 장치로부터 수신되는 상기 코맨드-어드레스 신호에 포함되는 하나의 코맨드 및 하나의 어드레스에 기초하여 FIM 프론트-엔드 회로에 저장된 복수의 FIM 인스트럭션들 중 상기 하나의 어드레스에 상응하는 하나의 FIM 인스트럭션을 실행한다.
도 8, 9, 10, 16a 및 16b를 참조하면, T1 시점에서, 액티브 코맨드(ACT), 뱅크 어드레스(bank0) 및 행 어드레스(row0)에 기초하여, FIM 채널 제어 회로(110)는 뱅크 디스에이블 신호(bnk_dis)를 활성화한다. 뱅크 디스에이블 신호(bnk_dis)가 활성화되는 동안에 행 디코더 회로(460)는 수신되는 코맨드를 무시할 수 있다. 행 어드레스(row0)는 도 13을 참조하여 설명한 FIM 제어 어드레스에 해당한다.
T2 시점에서, 기입 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col0)에 기초하여, FIM 채널 제어 회로(110)는 호스트 장치로부터 수신되는 데이터 신호(DQ)를 통하여 복수의 FIM 인스트럭션들(INSTR)을 수신하여 저장한다. 열 어드레스(col0)는 FIM 인스트럭션 큐(FIMIQ)의 어드레스에 해당한다.
T3 시점에서, 기입 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col0)에 기초하여, FIM 채널 제어 회로(110)는 호스트 장치로부터 수신되는 데이터 신호(DQ)를 통하여 구성 정보(CONF)를 수신하여 저장한다. 열 어드레스(col32)는 FIM 컨트롤 레지스터(FCREG)의 어드레스에 해당한다. FIM 채널 제어 회로(110)는 저장된 구성 정보(CONF)에 기초하여 멀티-뱅크 인에이블 신호(mb_en) 및 연산 회로 인에이블 신호(alu_en)를 활성화한다.
T4 시점에서, 프리차지 코맨드(PRE) 및 뱅크 어드레스(bank0)에 기초하여, FIM 채널 제어 회로(110)는 뱅크 디스에이블 신호(bnk_dis)를 비활성화하고, 뱅크 제어 회로(430)는 모든 메모리 뱅크들에 대한 프리차지 동작을 수행한다.
이와 같이, T1~T4 시점들의 FIM 진입 동작이 완료되면 이후 FIM 동작이 수행될 수 있다.
T5 시점에서, 액티브 코맨드(ACT), 뱅크 어드레스(bank0), 행 어드레스(row1) 및 활성화된 멀티-뱅크 인에이블 신호(mb_en)에 기초하여, 뱅크 제어 회로(430)는 모든 메모리 뱅크들의 행 어드레스(row1)에 해당하는 워드라인을 활성화한다.
T6 시점에서, 기입 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col0)에 기초하여, FIM 인스트럭션 큐의 INDEX 0에 저장된 MOV 인스트럭션이 수행된다. 열 어드레스(col0)는 FIM 인스트럭션 큐(FIMIQ)의 INDEX 0에 해당한다. 이 때, 연산 제어 회로(210)는 뱅크 기입 디스에이블 신호(bnk_wr_dis)를 활성화하여 메모리 뱅크들에 데이터가 기입되는 것을 방지하고, 데이터버스 멀티플렉서 제어 신호(dbmux_ctrl)를 활성화하여 데이터버스(DBUS)와 입력 멀티플렉서(INMUX)를 전기적으로 연결한다. 마스크 값 “O00000”에 의해 모든 개별 연산 회로 인에이블 신호들(per_alu_en[0:15])이 활성화(OxFFFF)된다. 따라서, 모든 뱅크 FIM 회로들(212)에 상응하는 레지스터 파일(REGFL)의 레지스터(REG0)에는 호스트 장치로부터 수신되는 데이터 신호(DQ)를 통하여 제공되는 레지스터 입력 데이터(reg_in)가 저장된다.
T7 시점에서, 독출 코맨드(RD), 뱅크 어드레스(bank0) 및 열 어드레스(col1)에 기초하여, FIM 인스트럭션 큐의 INDEX 1에 저장된 MAC 인스트럭션이 수행된다. 열 어드레스(col1)는 FIM 인스트럭션 큐(FIMIQ)의 INDEX 1에 해당한다. 이 때, 연산 제어 회로(210)는 데이터버스 디스에이블 신호(dbus_dis)를 활성화하여 메모리 뱅크들로부터 독출된 데이터가 데이터버스(DBUS)로 출력되는 것을 방지한다. 마스크 값 “O00000”에 의해 모든 개별 연산 회로 인에이블 신호들(per_alu_en[0:15])이 활성화된다. 따라서, 모든 뱅크 FIM 회로들(212)의 연산 회로(ALU)는 메모리 뱅크들의 행 어드레스(row1)로부터 독출된 데이터, 레지스터 파일(REGFL)의 레지스터들(REG0, REG32)에 저장된 데이터에 기초한 MAC 연산을 수행하고 연산 결과 데이터는 레지스터(REG32)에 저장된다.
T8 시점에서, 독출 코맨드(RD), 뱅크 어드레스(bank0) 및 열 어드레스(col2)에 기초하여, FIM 인스트럭션 큐의 INDEX 2에 저장된 MOV 인스트럭션이 수행된다. 열 어드레스(col2)는 FIM 인스트럭션 큐(FIMIQ)의 INDEX 2에 해당한다. 이 때, 연산 제어 회로(210)는 뱅크 독출 디스에이블 신호(bnk_rd_dis)를 활성화하여 메모리 뱅크들로부터 데이터가 독출되는 것을 방지한다. 멀티-뱅크 인에이블 신호(mb_en)가 활성화된 상태이지만, 마스크 값 “110000”에 상응하는 하나의 개별 연산 회로 인에이블 신호만이 활성화(Ox0000)된다. 따라서, 복수의 뱅크 FIM 회로들(212a~212h) 중에서 하나만 활성화되어 활성화된 하나의 뱅크 FIM 회로의 레지스터(REG32)로부터의 레지스터 출력 데이터(reg_out)가 데이터버스(DBUS)로 출력된다.
T9 시점에서, 독출 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col3)에 기초하여, FIM 인스트럭션 큐의 INDEX 3에 저장된 MOV 인스트럭션이 수행된다. 열 어드레스(col3)는 FIM 인스트럭션 큐(FIMIQ)의 INDEX 3에 해당한다. 이 때, 연산 제어 회로(210)는 뱅크 독출 디스에이블 신호(bnk_rd_dis)를 활성화하여 메모리 뱅크들로부터 데이터가 독출되는 것을 방지한다. 멀티-뱅크 인에이블 신호(mb_en)가 활성화된 상태이지만, 마스크 값 “110001”에 상응하는 다른 하나의 개별 연산 회로 인에이블 신호만이 활성화(Ox0001)된다. 따라서, 복수의 뱅크 FIM 회로들(212a~212h) 중에서 다른 하나만 활성화되어 활성화된 다른 하나의 뱅크 FIM 회로의 레지스터(REG32)로부터의 레지스터 출력 데이터(reg_out)가 데이터버스(DBUS)로 출력된다.
T10 시점에서, 프리차지 코맨드(PRE) 및 뱅크 어드레스(bank0)에 기초하여, 뱅크 제어 회로(430)는 모든 메모리 뱅크들에 대한 프리차지 동작을 수행한다.
이와 같이, T5~T10 시점들에서 FIM 인스트럭션 큐에 저장된 FIM 인스트럭션들이 모두 실행되면 FIM 종료 동작이 수행될 수 있다.
T11 시점에서, 액티브 코맨드(ACT), 뱅크 어드레스(bank0) 및 행 어드레스(row0)에 기초하여, FIM 채널 제어 회로(110)는 뱅크 디스에이블 신호(bnk_dis)를 활성화한다. 전술한 바와 같이, 뱅크 디스에이블 신호(bnk_dis)가 활성화되는 동안에 행 디코더 회로(460)는 수신되는 코맨드를 무시할 수 있다.
T12 시점에서, 기입 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col32)에 기초하여, FIM 채널 제어 회로(110)는 호스트 장치로부터 수신되는 구성 정보(CONF)를 수신하여 저장한다. 이 때, 구성 정보(CONF)는 리셋 신호(rst)를 활성화하기 위한 정보를 포함할 수 있다. FIM 채널 제어 회로(110)는 리셋 신호(rst)를 활성화하고, 활성화된 리셋 신호(rst)에 기초하여 FIM 컨트롤 레지스터(FCREG) 및 레지스터 파일(REGFL)에 저장된 값들이 초기화될 수 있다.
T13 시점에서, 프리차지 코맨드(PRE) 및 뱅크 어드레스(bank0)에 기초하여, FIM 채널 제어 회로(110)는 뱅크 디스에이블 신호(bnk_dis)를 비활성화하고, 뱅크 제어 회로(430)는 모든 메모리 뱅크들에 대한 프리차지 동작을 수행한다.
이와 같이, T1~T4 시점들의 FIM 종료 동작이 완료되면 이후 적층형 메모리 장치는 노말 모드로 동작할 수 있다.
도 17a는 FIM 인스트럭션 큐의 INDEX 0~3에 MOV, MAC, STORE 인스트럭션들이 저장되는 FIM 인스트럭션 시퀀스의 일 예를 나타내는 도면이고, 도 17b는 도 17a의 FIM 인스트럭션 시퀀스를 수행하는 경우의 동작을 나타내는 타이밍도이다.
도 17a 및 17b를 참조하면, 적층형 메모리 장치는 시점 T1~T4에서 FIM 진입 동작(FIM ENTER OPERATION)을 수행하고, 시점 T11~T13에서 FIM 종료 동작(FIM EXIT OPERATION)을 수행할 수 있다. 적층형 메모리 장치는 T5~T10 시점들에서 멀티-뱅크 FIM 모드 및 시퀀셜 실행 모드로 FIM 동작을 수행한다.
도 17a를 참조하면, INDEX 0의 MOV 인스트럭션은 호스트 장치로부터 수신되는 동일한 데이터를 모든 메모리 뱅크들에 상응하는 레지스터 파일에 저장하는 FIM 동작을 나타내고, INDEX 1의 MAC 인스트럭션은 모든 메모리 뱅크들의 독출 데이터 및 모든 메모리 뱅크들에 상응하는 레지스터 파일들에 저장된 레지스터 출력 데이터를 모든 메모리 뱅크들에 기입하는 FIM 동작을 나타낸다.
도 17b의 T1~T7 및 T11~T14 시점들에서 동작은 도 16b의 T1~T7 및 T10~T13 시점들에서 동작과 동일하므로 중복되는 설명을 생략한다.
도 8, 9, 10, 17a 및 17b를 참조하면, T8 시점에서, 프리차지 코맨드(PRE) 및 뱅크 어드레스(bank0)에 기초하여, 뱅크 제어 회로(430)는 모든 메모리 뱅크들에 대한 프리차지 동작을 수행한다.
T9 시점에서, 액티브 코맨드(ACT), 뱅크 어드레스(bank0), 행 어드레스(row2) 및 활성화된 멀티-뱅크 인에이블 신호(mb_en)에 기초하여, 뱅크 제어 회로(430)는 모든 메모리 뱅크들의 행 어드레스(row2)에 해당하는 워드라인을 활성화한다. T9 시점에서의 행 어드레스(row2)는 T5 시점에서의 행 어드레스(row1)와 다를 수 있다. 다시 말해, MAC 연산을 위한 소스 데이터가 독출되는 행 어드레스(row1)는 연산 결과 데이터가 저장되는 행 어드레스(row2)와 다를 수 있다.
T10 시점에서, 기입 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col2)에 기초하여, FIM 인스트럭션 큐의 INDEX 2에 저장된 STORE 인스트럭션이 수행된다. 열 어드레스(col2)는 FIM 인스트럭션 큐(FIMIQ)의 INDEX 2에 해당한다. 연산 결과 데이터에 상응하는 레지스터 출력 데이터(reg_out)가 뱅크 데이터(bnk_dt)로서 모든 기입 드라이버들 (492a~492b)에 제공되어 모든 메모리 뱅크들의 행 어드레스(row2)에 기입될 수 있다.
도 18a는 FIM 인스트럭션 큐의 INDEX 0~2에 MOV, MAC, MOV 인스트럭션들이 저장되는 FIM 인스트럭션 시퀀스의 일 예를 나타내는 도면이고, 도 18b는 도 18a의 FIM 인스트럭션 시퀀스를 수행하는 경우의 동작을 나타내는 타이밍도이다.
도 18a 및 18b를 참조하면, 적층형 메모리 장치는 시점 T1~T4에서 FIM 진입 동작(FIM ENTER OPERATION)을 수행하고, T5~T14 시점들에서 싱글-뱅크 FIM 모드 및 시퀀셜 실행 모드로 FIM 동작을 수행한다. FIM 종료 동작(FIM EXIT OPERATION)은 도 16b를 참조하여 설명한 바와 같고, 도 18b에는 그 도시가 생략되어 있다.
도 18a를 참조하면, INDEX 0의 MOV 인스트럭션은 호스트 장치로부터 수신되는 동일한 데이터를 하나의 메모리 뱅크에 상응하는 레지스터 파일에 저장하는 FIM 동작을 나타내고, INDEX 1의 MAC 인스트럭션은 하나의 메모리 뱅크의 독출 데이터 및 하나의 메모리 뱅크에 상응하는 레지스터 파일에 저장된 레지스터 출력 데이터에 기초하여 하나의 메모리 뱅크에 상응하는 연산 회로가 MAC 연산을 수행하는 FIM 동작을 나타낸다. INDEX 2의 MOV 인스트럭션은 하나의 메모리 뱅크에 상응하는 레지스터 파일의 데이터가 데이터버스(DBUS)로 출력되는 FIM 동작을 나타낸다. 싱글-뱅크 FIM 모드에서는 마스크 값은 무시될 수 있다.
도 8, 9, 10, 18a 및 18b를 참조하면, T1 시점에서, 액티브 코맨드(ACT), 뱅크 어드레스(bank0) 및 행 어드레스(row0)에 기초하여, FIM 채널 제어 회로(110)는 뱅크 디스에이블 신호(bnk_dis)를 활성화한다. 뱅크 디스에이블 신호(bnk_dis)가 활성화되는 동안에 행 디코더 회로(460)는 수신되는 코맨드를 무시할 수 있다. 행 어드레스(row0)는 도 13을 참조하여 설명한 FIM 제어 어드레스에 해당한다.
T2 시점에서, 기입 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col0)에 기초하여, FIM 채널 제어 회로(110)는 호스트 장치로부터 수신되는 데이터 신호(DQ)를 통하여 복수의 FIM 인스트럭션들(INSTR)을 수신하여 저장한다. 열 어드레스(col0)는 FIM 인스트럭션 큐(FIMIQ)의 어드레스에 해당한다.
T3 시점에서, 기입 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col0)에 기초하여, FIM 채널 제어 회로(110)는 호스트 장치로부터 수신되는 데이터 신호(DQ)를 통하여 구성 정보(CONF)를 수신하여 저장한다. 열 어드레스(col32)는 FIM 컨트롤 레지스터(FCREG)의 어드레스에 해당한다. FIM 채널 제어 회로(110)는 저장된 구성 정보(CONF)에 기초하여 연산 회로 인에이블 신호(alu_en)를 활성화한다. 이 때, 구성 정보(CONF)가 싱글-뱅크 FIM 모드를 나타내므로 FIM 채널 제어 회로(110)는 멀티-뱅크 인에이블 신호(mb_en)를 비활성화한다.
T4 시점에서, 프리차지 코맨드(PRE) 및 뱅크 어드레스(bank0)에 기초하여, FIM 채널 제어 회로(110)는 뱅크 디스에이블 신호(bnk_dis)를 비활성화하고, 뱅크 제어 회로(430)는 모든 메모리 뱅크들에 대한 프리차지 동작을 수행한다.
이와 같이, T1~T4 시점들의 FIM 진입 동작이 완료되면 이후 FIM 동작이 수행될 수 있다.
T5 시점에서, 액티브 코맨드(ACT), 뱅크 어드레스(bank0) 및 행 어드레스(row1)에 기초하여, 뱅크 제어 회로(430)는 뱅크 어드레스(bank0)에 상응하는 메모리 뱅크의 행 어드레스(row1)에 해당하는 워드라인을 활성화한다.
T6 시점에서, 기입 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col0)에 기초하여, FIM 인스트럭션 큐의 INDEX 0에 저장된 MOV 인스트럭션이 수행된다. 열 어드레스(col0)는 FIM 인스트럭션 큐(FIMIQ)의 INDEX 0에 해당한다. 이 때, 연산 제어 회로(210)는 뱅크 기입 디스에이블 신호(bnk_wr_dis)를 활성화하여 메모리 뱅크들에 데이터가 기입되는 것을 방지하고, 데이터버스 멀티플렉서 제어 신호(dbmux_ctrl)를 활성화하여 데이터버스(DBUS)와 입력 멀티플렉서(INMUX)를 전기적으로 연결한다. 뱅크 어드레스(bank0)에 상응하는 하나의 개별 연산 회로 인에이블 신호만이 활성화(OxFFFE). 따라서, 뱅크 어드레스(bank0)에 상응하는 하나의 레지스터 파일(REGFL)의 레지스터(REG0)에는 호스트 장치로부터 수신되는 데이터 신호(DQ)를 통하여 제공되는 레지스터 입력 데이터(reg_in)가 저장된다.
T7 시점에서, 독출 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col1)에 기초하여, FIM 인스트럭션 큐의 INDEX 1에 저장된 MAC 인스트럭션이 수행된다. 열 어드레스(col1)는 FIM 인스트럭션 큐(FIMIQ)의 INDEX 1에 해당한다. 이 때, 연산 제어 회로(210)는 데이터버스 디스에이블 신호(dbus_dis)를 활성화하여 메모리 뱅크들로부터 독출된 데이터가 데이터버스(DBUS)로 출력되는 것을 방지한다. 따라서, 뱅크 어드레스(bank0)에 상응하는 연산 회로(ALU)는 메모리 뱅크의 행 어드레스(row1)로부터 독출된 데이터, 레지스터 파일(REGFL)의 레지스터들(REG0, REG32)에 저장된 데이터에 기초한 MAC 연산을 수행하고 연산 결과 데이터는 레지스터(REG32)에 저장된다.
T8 시점에서, 독출 코맨드(RD), 뱅크 어드레스(bank0) 및 열 어드레스(col2)에 기초하여, FIM 인스트럭션 큐의 INDEX 2에 저장된 MOV 인스트럭션이 수행된다. 열 어드레스(col2)는 FIM 인스트럭션 큐(FIMIQ)의 INDEX 2에 해당한다. 이 때, 연산 제어 회로(210)는 뱅크 독출 디스에이블 신호(bnk_rd_dis)를 활성화하여 메모리 뱅크들로부터 데이터가 독출되는 것을 방지한다. 뱅크 어드레스(bank0)에 상응하는 하나의 개별 연산 회로 인에이블 신호만이 활성화된다. 따라서, 복수의 뱅크 FIM 회로들(212a~212h) 중에서 뱅크 어드레스(bank0)에 상응하는 뱅크 FIM 회로의 레지스터(REG32)로부터의 레지스터 출력 데이터(reg_out)가 데이터버스(DBUS)로 출력된다.
T9 시점에서, 프리차지 코맨드(PRE) 및 뱅크 어드레스(bank0)에 기초하여, 뱅크 제어 회로(430)는 뱅크 어드레스(bank0)에 상응하는 메모리 뱅크에 대한 프리차지 동작을 수행한다.
이와 같이, T5~T9 시점들에서 뱅크 어드레스(bank0)에 대하여 FIM 인스트럭션 큐에 저장된 FIM 인스트럭션들이 모두 실행될 수 있다. 시점 T6, 7 8에서 뱅크 어드레스(bank0)에 상응하는 프로그램 카운터(PCNT[bank0])의 값이 Ox0, Ox1, Ox2와 같이 1씩 증가한다.
T10~T14 시점들에서는 뱅크 어드레스(bank1)에 대하여 T5~T9 시점들의 동작과 실질적으로 동일한 동작이 수행된다. 다만, 뱅크 어드레스(bank1)에 상응하는 하나의 개별 연산 회로 인에이블 신호만이 활성화(OxFFFD)되고, 뱅크 어드레스(bank1)에 상응하는 프로그램 카운터(PCNT[bank1])의 값이 Ox0, Ox1, Ox2와 같이 1씩 증가한다.
도 19는 본 발명의 실시예들에 따른 적층형 메모리 장치를 나타내는 블록도이다. 도 19의 구성은 도 8의 구성과 실질적으로 동일하므로 중복되는 설명은 생략하고 차이점만을 설명한다.
도 19에는 시퀀셜 실행 모드 또는 뱃치 실행 모드를 선택적으로 수행할 수 있는 적층형 메모리 장치의 구성이 도시되어 있다. 시퀀셜 실행 모드는 도 8 내지 18b를 설명한 바와 같고, 이하, 도 19 내지 24b를 참조하여 뱃치 실행 모드를 중심으로 설명한다.
도 19의 FIM 채널 제어 회로(110a)는 호스트 장치로부터 시퀀셜 모드 또는 뱃치 실행 모드를 나타내는 정보를 전술한 구성 정보로서 수신할 수 있다. FIM 채널 제어 회로(110a)는 상기 구성 정보가 시퀀셜 실행 모드를 나타내는 경우, 호스트 장치로부터 수신되는 상기 코맨드-어드레스 신호에 포함되는 하나의 코맨드 및 하나의 어드레스에 기초하여 FIM 채널 제어 회로(110a)에 저장된 복수의 FIM 인스트럭션들 중 상기 하나의 어드레스에 상응하는 하나의 FIM 인스트럭션을 실행할 수 있다. 한편, FIM 채널 제어 회로(110a)는 상기 구성 정보가 뱃치 실행 모드를 나타내는 경우, 호스트 장치로부터 수신되는 상기 코맨드-어드레스 신호에 관계 없이 FIM 채널 제어 회로(110a)에 저장된 상기 복수의 FIM 인스트럭션들을 순차적으로 실행할 수 있다.
FIM 채널 제어 회로(110a)는 뱃치 실행 모드에서 FIM 채널 제어 회로(110a)에 저장된 복수의 FIM 인스트럭션들의 실행이 완료된 경우 FIM 종료 신호(DONE)를 활성화하여 물리 계층(PHY)(310a)을 통하여 호스트 장치로 전송할 수 있다. 호스트 장치는 활성화된 FIM 종료 신호(DONE)에 응답하여 전술한 바와 같은 FIM 종료 동작을 수행할 수 있다.
또한, FIM 채널 제어 회로(110a)는 뱃치 실행 모드에서 FIM 채널 제어 회로(110a)에 저장된 복수의 FIM 인스트럭션들에 기초하여 복수의 메모리 뱅크들의 제어를 위한 내부 코맨드-어드레스(CA_IN)를 발생할 수 있다.
도 20은 도 19의 적층형 메모리 장치에 포함되는 FIM 채널 제어 회로의 일 실시예를 나타내는 블록도이다.
도 20을 참조하면, 각각의 채널에 상응하는 FIM 채널 제어 회로(FCCC)는 FIM 디코더(FIMDEC), FIM 컨트롤러(FIMCON), FIM 인스트럭션 큐(FIMIQ), FIM 인스트럭션 디코더(INSDEC) 및 코맨드-어드레스 발생기(CAGEN)를 포함할 수 있다. 코맨드-어드레스 발생기(CAGEN)를 제외한 구성요소들은 도 9를 참조하여 설명한 바와 실질적으로 동일하므로 중복되는 설명을 생략한다.
FIM 컨트롤러(FIMCON)는 FIM 컨트롤 레지스터(FCREG)에 저장된 구성 정보(conf)에 기초하여 뱃치 인에이블 신호(batch_en)를 발생할 수 있다. 뱃치 인에이블 신호(batch_en)가 활성화된 경우 뱃치 실행 모드를 나타내고, 뱃치 인에이블 신호(batch_en)가 비활성화된 경우 시퀀셜 실행 모드를 나타낼 수 있다.
코맨드-어드레스 발생기(CAGEN)는 뱃치 인에이블 신호(batch_en)가 활성화된 경우, 내부 인스트럭션 신호(instr)에 기초하여 내부 코맨드-어드레스 신호(CA_IN)를 발생할 수 있다. 도 30에 도시된 바와 같이 내부 코맨드-어드레스 신호(CA_IN)는 호스트 장치로부터 제공되는 코맨드-어드레스 신호(CA) 대신에 CA 디코더(410)로 제공될 수 있다.
도 10을 참조하여 설명한 뱅크 FIM 회로(BFC)는 도 19의 구성에도 동일하게 적용될 수 있다.
도 21은 본 발명의 실시예들에 따른 적층형 메모리 장치에 저장되는 FIM 인스트럭션들의 일 실시예를 나타내는 도면이다.
도 21에는 시퀀셜 실행 모드 또는 뱃치 실행 모드를 선택적으로 수행할 수 있는 적층형 메모리 장치에 대한 FIM 인스트럭션들의 일 실시예가 도시되어 있다. 이하, 도 11의 설명과 중복되는 설명은 생략한다.
도 21을 참조하면, 뱃치 실행 모드에서는 호스트 장치(HOST)로부터 적층형 메모리 장치(MEM)로 전송되는 코맨드(CMD)가 생략될 수 있다. 시퀀셜 실행 모드의 경우에는 도 11을 참조하여 설명한 바와 같다.
뱃치 실행 모드에서는 MOV 인스트럭션이 사용되지 않고, 메모리 뱅크들의 활성화를 위한 ACT 인스트럭션 및 프리차지를 위한 PRE 인스트럭션이 추가될 수 있다. ACT 인스트럭션의 데스티네이션 필드(DST) 및 제1 내지 제3 소스 필드들(SRC1, SRC2, SRC3)에는 액세스를 위해 활성화되는 뱅크 어드레스 및 행 어드레스가 저장된다. PRE 인스트럭션의 데스티네이션 필드(DST)에는 프리차지되는 뱅크 어드레스가 저장된다.
또한, 뱃치 실행 모드에서는 일부 인스트럭션들의 마스크 필드(MASK)의 값이 열 어드레스로 대체될 수 있다.
도 22는 본 발명의 실시예들에 따른 적층형 메모리 장치의 FIM 제어 신호들의 일 실시예를 나타내는 도면이다. 도 22의 대부분의 FIM 제어 신호들은 도 12를 참조하여 설명한 바와 같으므로 중복되는 설명을 생략한다.
도 22를 참조하면, 뱃치 실행 모드의 구현을 위해서, FIM 채널 제어 회로(FCCC)는 뱃치 인에이블 신호(batch_en) 및 FIM 종료 신호(DONE)를 추가적으로 발생할 수 있다. 뱃치 인에이블 신호(batch_en)가 활성화된 경우 뱃치 실행 모드를 나타내고, 뱃치 인에이블 신호(batch_en)가 비활성화된 경우 시퀀셜 실행 모드를 나타낼 수 있다. FIM 채널 제어 회로(FCCC)는 뱃치 실행 모드에서 FIM 채널 제어 회로(110a)에 저장된 복수의 FIM 인스트럭션들의 실행이 완료된 경우 FIM 종료 신호(DONE)를 활성화하여 물리 계층(PHY)(310a)을 통하여 호스트 장치로 전송할 수 있다.
또한, 뱃치 실행 모드의 구현을 위해, 도 20을 참조하여 전술한 바와 같이, FIM 채널 제어 회로(FCCC)는 코맨드-어드레스 발생기(CAGEN)를 더 포함할 수 있다. 코맨드-어드레스 발생기(CAGEN)는 뱃치 인에이블 신호(batch_en)에 기초하여 시퀀셜 실행 모드에서 디스에이블되고 뱃치 실행 모드에서 인에이블될 수 있다. 코맨드-어드레스 발생기(CAGEN)는 뱃치 실행 모드에서 내부 인스트럭션 신호(instr)에 기초하여 내부 코맨드-어드레스 신호(CA_IN)를 발생할 수 있다.
도 23a 내지 24b는 본 발명의 실시예들에 따른 적층형 메모리 장치의 동작의 실시예들을 나타내는 도면들이다.
도 23a는 FIM 인스트럭션 큐의 INDEX 0~8에 ACT, LOAD, PRE, ACT, MAC, PRE, ACT, STORE, PRE 인스트럭션들이 저장되는 FIM 인스트럭션 시퀀스의 일 예를 나타내는 도면이고, 도 23b는 도 23a의 FIM 인스트럭션 시퀀스를 수행하는 경우의 동작을 나타내는 타이밍도이다.
도 23a 및 23b를 참조하면, 적층형 메모리 장치는 호스트 장치로부터 전송되는 코맨드 신호(CMD) 및 어드레스 신호(ADDR)에 기초하여, 시점 T1~T4에서 통상의 동작을 수행하는 노말 모드에서 FIM 동작을 수행하는 FIM 모드로 전환하기 위한 FIM 진입 동작(FIM ENTER OPERATION)을 수행하고, T5~T13 시점들에서 멀티-뱅크 FIM 모드 및 뱃치 실행 모드로 FIM 동작을 수행한다. FIM 종료 동작(FIM EXIT OPERATION)은 도 16b를 참조하여 설명한 바와 같고, 도 23b에는 그 도시가 생략되어 있다.
적층형 메모리 장치는 T5~T13 시점들에서 뱃치 실행 모드로 FIM 동작을 수행하고, 따라서, 호스트 장치로부터 수신되는 코맨드-어드레스 신호에 관계 없이 FIM 채널 제어 회로(FCCC)의 FIM 인스트럭션 큐에 저장된 복수의 FIM 인스트럭션들을 순차적으로 실행한다. 이를 위해, 전술한 바와 같이, 코맨드-어드레스 발생기(CAGEN)는 내부 코맨드-어드레스 신호(CA_IN)를 통해 복수의 FIM 인스트럭션들에 상응하는 코맨드들 및 어드레스들을 발생하여 CA 디코더(410)로 제공한다. 도 16b에는 코맨드 신호(CMD) 및 어드레스 신호(ADDR)를 구별하여 도시하였으나, 도 7a 및 7b를 참조하여 전술한 바와 같이, 코맨드 및 어드레스가 통합된 코맨드-어드레스 신호(CA)의 형태로 호스트 장치에서 적층형 메모리 장치의 CA 디코더(410)로 제공될 수 있고, 코맨드 및 어드레스가 통합된 내부 코맨드-어드레스 신호(CA_IN)의 형태로 코맨드-어드레스 발생기(CAGEN)에서 CA 디코더(410)로 제공될 수 있다.
도 19, 28, 10, 23a 및 23b를 참조하면, T1 시점에서, 액티브 코맨드(ACT), 뱅크 어드레스(bank0) 및 행 어드레스(row0)에 기초하여, FIM 채널 제어 회로(110)는 뱅크 디스에이블 신호(bnk_dis)를 활성화한다. 뱅크 디스에이블 신호(bnk_dis)가 활성화되는 동안에 행 디코더 회로(460)는 수신되는 코맨드를 무시할 수 있다. 행 어드레스(row0)는 도 13을 참조하여 설명한 FIM 제어 어드레스에 해당한다.
T2 시점에서, 기입 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col0)에 기초하여, FIM 채널 제어 회로(110)는 호스트 장치로부터 수신되는 데이터 신호(DQ)를 통하여 복수의 FIM 인스트럭션들(INSTR)을 수신하여 저장한다. 열 어드레스(col0)는 FIM 인스트럭션 큐(FIMIQ)의 어드레스에 해당한다.
T3 시점에서, 기입 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col0)에 기초하여, FIM 채널 제어 회로(110)는 호스트 장치로부터 수신되는 데이터 신호(DQ)를 통하여 구성 정보(CONF)를 수신하여 저장한다. 열 어드레스(col32)는 FIM 컨트롤 레지스터(FCREG)의 어드레스에 해당한다. FIM 채널 제어 회로(110)는 저장된 구성 정보(CONF)에 기초하여 멀티-뱅크 인에이블 신호(mb_en) 및 연산 회로 인에이블 신호(alu_en)를 활성화한다.
T4 시점에서, 프리차지 코맨드(PRE) 및 뱅크 어드레스(bank0)에 기초하여, FIM 채널 제어 회로(110)는 뱅크 디스에이블 신호(bnk_dis)를 비활성화하고, 뱅크 제어 회로(430)는 모든 메모리 뱅크들에 대한 프리차지 동작을 수행한다.
이와 같이, T1~T4 시점들의 FIM 진입 동작이 완료되면 이후 FIM 동작이 수행될 수 있다. 구성 정보(CONF)가 뱃치 실행 모드를 나타내므로 코맨드-어드레스 발생기(CAGEN)가 인에이블된다. 시점 T5~T14에서 코맨드-어드레스 발생기(CAGEN)는 도 23a의 INDEX 0~9의 FIM 인스트럭션들에 각각 상응하는 코맨드(CMD) 및 어드레스(ADDR)를 순차적으로 발생한다.
T5 시점에서, INDEX 0의 ACT 인스트럭션을 디코딩하여 발생되는 액티브 코맨드(ACT), 뱅크 어드레스(bank0), 행 어드레스(row1) 및 활성화된 멀티-뱅크 인에이블 신호(mb_en)에 기초하여, 뱅크 제어 회로(430)는 모든 메모리 뱅크들의 행 어드레스(row1)에 해당하는 워드라인을 활성화한다.
T6 시점에서, INDEX 1의 LOAD 인스트럭션을 디코딩하여 발생되는 독출 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col0)에 기초하여, 메모리 뱅크들로부터 데이터가 독출된다. 뱃치 실행 모드에서는 뱅크 기입 디스에이블 신호(bnk_wr_dis) 및 뱅크 독출 디스에이블 신호(bnk_rd_dis)가 항상 비활성화된다. 마스크 값 “O00000”에 의해 모든 개별 연산 회로 인에이블 신호들(per_alu_en[0:15])이 활성화(OxFFFF)된다. 따라서, 모든 뱅크 FIM 회로들(212)에 상응하는 레지스터 파일(REGFL)의 레지스터(REG0)에는 모든 메모리 뱅크들의 행 어드레스(row2) 및 열 어드레스(col0)로부터 독출된 데이터가 저장된다.
한편, T6, T9 및 T12 시점들에서, 내부적으로 독출 코맨드(RD) 또는 기입 코맨드(WR)가 발생되는 경우, 연산 제어 회로(210)는 데이터버스 디스에이블 신호(dbus_dis)를 활성화하여 데이터버스(DBUS)와 입출력 센스앰프(IOSA)를 전기적으로 차단한다.
T7 시점에서, INDEX 2의 PRE 인스트럭션을 디코딩하여 발생되는 프리차지 코맨드(PRE) 및 뱅크 어드레스(bank0)에 기초하여, 뱅크 제어 회로(430)는 모든 메모리 뱅크들에 대한 프리차지 동작을 수행한다.
T8 시점에서, INDEX 3의 ACT 인스트럭션을 디코딩하여 발생되는 액티브 코맨드(ACT), 뱅크 어드레스(bank0) 및 행 어드레스(row2)에 기초하여, 뱅크 제어 회로(430)는 모든 메모리 뱅크들의 행 어드레스(row2)에 해당하는 워드라인을 활성화한다.
T9 시점에서, INDEX 4의 MAC 인스트럭션을 디코딩하여 발생되는 독출 코맨드(RD), 뱅크 어드레스(bank0) 및 열 어드레스(col1)에 기초하여, 모든 메모리 뱅크들로부터 데이터가 독출된다. 마스크 값 “O00000”에 의해 모든 개별 연산 회로 인에이블 신호들(per_alu_en[0:15])이 활성화된다. 따라서, 모든 뱅크 FIM 회로들(212)의 연산 회로(ALU)는 메모리 뱅크들의 행 어드레스(row2) 및 열 어드레스(col0)로부터 독출된 데이터, 레지스터 파일(REGFL)의 레지스터들(REG0, REG32)에 저장된 데이터에 기초한 MAC 연산을 수행하고 연산 결과 데이터는 레지스터(REG32)에 저장된다.
T10 시점에서, INDEX 5의 PRE 인스트럭션을 디코딩하여 발생되는 프리차지 코맨드(PRE) 및 뱅크 어드레스(bank0)에 기초하여, 뱅크 제어 회로(430)는 모든 메모리 뱅크들에 대한 프리차지 동작을 수행한다.
T11 시점에서, INDEX 6의 ACT 인스트럭션을 디코딩하여 발생되는 액티브 코맨드(ACT), 뱅크 어드레스(bank0) 및 행 어드레스(row3)에 기초하여, 뱅크 제어 회로(430)는 모든 메모리 뱅크들의 행 어드레스(row3)에 해당하는 워드라인을 활성화한다.
T12 시점에서, INDEX 7의 STORE 인스트럭션을 디코딩하여 발생되는 기입 코맨드(WR), 뱅크 어드레스(bank0) 및 열 어드레스(col0)에 기초하여, 연산 결과 데이터에 상응하는 레지스터 출력 데이터가 뱅크 데이터(bnk_dt)로서 모든 기입 드라이버들 (492a~492b)에 제공되어 모든 메모리 뱅크들의 행 어드레스(row3)에 기입될 수 있다.
T13 시점에서, INDEX 8의 PRE 인스트럭션을 디코딩하여 발생되는 프리차지 코맨드(PRE) 및 뱅크 어드레스(bank0)에 기초하여, 뱅크 제어 회로(430)는 모든 메모리 뱅크들에 대한 프리차지 동작을 수행한다.
이와 같이, 뱃치 실행 모드의 T5~T13 시점들에서 FIM 인스트럭션 큐에 저장된 FIM 인스트럭션들이 모두 실행되면 FIM 채널 제어 회로(110a)는 FIM 종료 신호(DONE)를 활성화하여 물리 계층(PHY)(310a)을 통하여 호스트 장치로 전송할 수 있다. 호스트 장치는 활성화된 FIM 종료 신호(DONE)에 응답하여 전술한 바와 같은 FIM 종료 동작(FIM EXIT OPERATION)을 수행할 수 있다.
도 24a는 FIM 인스트럭션 큐의 INDEX 0~8에 ACT, LOAD, PRE, ACT, MAC, PRE, ACT, STORE, PRE 인스트럭션들이 저장되는 FIM 인스트럭션 시퀀스의 일 예를 나타내는 도면이고, 도 24b는 도 24a의 FIM 인스트럭션 시퀀스를 수행하는 경우의 동작을 나타내는 타이밍도이다. 이하 도 23a 및 23b와 중복되는 설명은 생략한다.
도 24a의 FIM 인스트럭션 시퀀스는 도 23a의 FIM 인스트럭션 시퀀스와 동일하다. 한편, 도 23b는 멀티-뱅크 FIM 모드의 동작을 나타내는 반면에 도 23b는 싱글-뱅크 FIM 모드의 동작을 나타낸다.
도 24b를 참조하면, 싱글-뱅크 FIM 모드에서는 멀티-뱅크 인에이블 신호(mb_en)가 항상 비활성화된다. 또한, 싱글-뱅크 FIM 모드에서는 마스크 값이 무시되고, FIM 인스트럭션에 의해 활성화되는 하나의 메모리 뱅크에 상응하는 하나의 개별 연산 회로 인에이블 신호만이 활성화(OxFFFE)된다. 따라서, 활성화된 하나의 메모리 뱅크에 대해서만 FIM 동작이 수행된다.
도 25 내지 27은 본 발명의 실시예들에 따른 적층형 메모리 장치의 패키징 구조를 나타내는 도면들이다.
도 25를 참조하면, 메모리 칩(2001)은 인터포저(interposer)(ITP) 및 인터포저(ITP) 위에 실장되는 적층형 메모리 장치를 포함한다. 적층형 메모리 장치는 버퍼 반도체 다이(BSD) 및 복수의 메모리 반도체 다이들(MSD1~MSD4)을 포함한다.
도 26 및 27을 참조하면, 메모리 칩들(2002, 2003)은 베이스 기판(base substrate)(BSUB) 및 베이스 기판(BSUB) 위에 실장되는 적층형 메모리 장치를 포함한다. 적층형 메모리 장치는 버퍼 반도체 다이(BSD) 및 복수의 메모리 반도체 다이들(MSD1~MSD4)을 포함한다.
도 25에는 버퍼 반도체 다이(BSD)를 제외한 메모리 반도체 다이들(MSD1~MSD4)만이 함께 수직으로 적층되고, 버퍼 반도체 다이(BSD)는 인터포저(ITP) 또는 베이스 기판(BSUB)을 통하여 적층된 메모리 반도체 다이들(MSD1~MSD4)과 전기적으로 연결되는 구조가 도시되어 있다. 반면에 도 26 및 27에는 버퍼 반도체 다이(BSD)는 메모리 반도체 다이들(MSD1~MSD4)과 함께 수직으로 적층되는 구조가 도시되어 있다.
도 25 내지 27에 도시된 바와 같이, 메모리 반도체 다이들(MSD1~MSD4)에는 전술한 바와 같은 복수의 FIM 백-엔드 회로들(FBEC1~FBEC4)이 형성될 수 있다.
일 실시예에서, 도 25 및 26에 도시된 바와 같이, FIM 백-엔드 회로(FFEC)의 복수의 FIM 채널 제어 회로들(FCC1~FCC4)은 모두 버퍼 반도체 다이(BSD)에 형성될 수 있다. 다른 실시예에서, 도 27에 도시된 바와 같이, 복수의 FIM 채널 제어 회로들(FCC1~FCC4)의 각각은 복수의 메모리 반도체 다이들(MSD1~MSD4) 각각의 채널에 상응하는 메모리 뱅크들을 포함하는 메모리 반도 다이에 형성될 수 있다.
도 25 내지 27에는 하나의 메모리 반도체 다이가 하나의 채널에 상응하는 경우에 대한 실시예가 도시되어 있으나, 본 발명의 이에 한정되는 것은 아니다, 전술한 바와 같이, 하나의 메모리 반도체 다이는 복수의 채널들에 상응할 수 있고, 채널 구성에 따라서 하나의 메모리 반도체 다이에 형성되는 FIM 백-엔드 회로들의 개수 및 FIM 백-엔드 회로(FFEC)를 구성하는 FIM 채널 제어 회로들의 개수는 다양하게 결정될 수 있다.
베이스 기판(BSUB)은 인터포저(ITP)를 포함하는 것으로 간주한다. 베이스 기판(BSUB)은 인쇄 회로 기판(PCB: printed circuit board)일 수 있다. 베이스 기판(BSUB)의 하면에는 외부 연결 부재, 예컨대 도전성 범프(BMP)가 형성될 수 있고, 베이스 기판(BSUB)의 상면에도 내부 연결 부재, 예컨대 도전성 범프(BMP)가 형성될 수 있다. 도 25의 실시예에서는 로직 반도체 다이(LDS)와 메모리 반도체 다이들(MSD1~MSD4)은 인터포저(ITP)에 형성된 도전 라인 패턴을 통하여 서로 전기적으로 연결될 수도 있다. 이와 같이 적층된 반도체 다이들(LSD, MSD1~MSD4)은 밀봉 부재(RSN)를 이용하여 패키징될 수 있다.
도 28은 본 발명의 실시예들에 따른 적층형 메모리 장치를 포함하는 반도체 패키지의 예를 나타내는 사시도이다.
도 24를 참조하면, 반도체 패키지(3000)는 하나 이상의 적층형 메모리 장치(3100), 중앙 처리 장치(3200) 및 그래픽 프로세서(3250)를 포함할 수 있다. 적층형 메모리 장치(3100), 중앙 처리 장치(3200) 및 그래픽 프로세서(3250)는 인터포저(Interposer, 3300) 상에 장착되고, 적층형 메모리 장치(3100), 중앙 처리 장치(3200) 및 그래픽 프로세서(3250)가 장착된 인터포저(3300)는 패키지 기판(3400) 상에 장착될 수 있다. 중앙 처리 장치(3200) 및 그래픽 프로세서(3250)는 전술한 호스트 장치의 기능을 수행하도록 구현될 수 있다.
적층형 메모리 장치(3100)는 다양한 형태로 구현이 가능하며, 일 실시예에서 적층형 메모리 장치(3100)는 전술한 바와 같이 다수 개의 레이어들이 적층된 고 대역폭 메모리(HBM, high bandwidth memory) 형태의 적층형 메모리 장치일 수 있다. 적층형 메모리 장치(3100)는 전술한 바와 같은 본 발명의 실시예들에 따른 프론트-엔드 회로 및 복수의 FIM 백-엔드 회로들을 포함하여 FIM 동작을 효율적으로 수행할 수 있다.
일 실시예에서, 적층형 메모리 장치(3100)들 각각과 중앙 처리 장치(3200) 및 그래픽 프로세서(3250)는 물리 계층(PHY)을 포함할 수 있으며, 물리 계층(PHY)을 통해 적층형 메모리 장치(3100)들과 중앙 처리 장치(3200)에 포함되는 메모리 컨트롤러 사이에서 통신이 수행될 수 있다. 한편, 적층형 메모리 장치(3100)가 직접 액세스 영역을 포함하는 경우, 패키지 기판(3400)의 하부에 장착되는 도전 수단(예컨대, 솔더볼(3500)) 및 직접 액세스 영역을 통해 테스트 신호가 적층형 메모리 장치(3100) 내부로 제공될 수 있다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따른 적층형 메모리 장치, 시스템 및 적층형 메모리 장치의 동작 방법은, 메모리 집약적(memory-intensive) 또는 데이터 집약적(data-intensive)인 연산 동작을 적층형 메모리 장치 내에 구비된 FIM 백-엔드 회로를 이용하여 수행함으로써 적층형 메모리 장치 및 시스템의 지연시간 및 전력 소모를 감소할 수 있다. 또한, 본 발명의 실시예들에 따른 적층형 메모리 장치, 시스템 및 적층형 메모리 장치의 동작 방법은, 메모리 뱅크마다 할당된 복수의 뱅크 FIM 회로들을 이용하여 병렬적으로 연산 동작을 수행함으로써 데이터 프로세싱 시간을 단축할 수 있다. 또한, 본 발명의 실시예들에 따른 적층형 메모리 장치, 시스템 및 적층형 메모리 장치의 동작 방법은, FIM 인스트럭션들을 FIM 프론트-엔드 회로에 저장하고 저장된 FIM 인스트럭션들에 기초하여 FIM 동작을 수행함으로써 연산 동작을 포함하는 복잡한 데이터 프로세싱을 효율적으로 수행하여 시스템의 성능을 향상시킬 수 있다.
본 발명의 실시예들은 메모리 장치 및 이를 포함하는 시스템에 유용하게 이용될 수 있다. 특히 본 발명의 실시예들은 메모리 카드, 솔리드 스테이트 드라이브(Solid State Drive; SSD), 임베디드 멀티미디어 카드(eMMC, embedded multimedia card), 유니버셜 플래시 스토리지(UFS, universal flash storage), 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular phone), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, IoT(internet of things;) 기기, IoE(internet of everything:) 기기, e-북(e-book), VR(virtual reality) 기기, AR(augmented reality) 기기 등과 같은 전자 기기에 더욱 유용하게 적용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (20)

  1. 호스트 장치와의 통신을 수행하는 버퍼 반도체 다이;
    상기 버퍼 반도체 다이 위에 적층되고 데이터를 저장하는 복수의 메모리 뱅크들을 포함하는 복수의 메모리 반도체 다이들;
    상기 버퍼 반도체 다이 및 상기 복수의 메모리 반도체 다이들을 전기적으로 연결하는 실리콘 관통 전극들;
    상기 복수의 메모리 뱅크들로부터 독출되는 내부 데이터에 기초한 연산 동작을 포함하는 펑션-인-메모리(FIM, function-in-memory) 동작을 위해 상기 호스트 장치로부터 수신되는 복수의 FIM 인스트럭션들을 저장하는 FIM 프론트-엔드 회로; 및
    상기 복수의 메모리 반도체 다이들에 각각 형성되고, 상기 FIM 프론트-엔드 회로의 제어에 기초하여 상기 FIM 인스트럭션들에 상응하는 상기 FIM 동작을 수행하는 복수의 FIM 백-엔드 회로들을 포함하는 적층형 메모리 장치.
  2. 제1 항에 있어서,
    상기 FIM 프론트-엔드 회로는,
    상기 호스트 장치로부터 수신되는 코맨드-어드레스 신호에 기초하여 상기 적층형 메모리 장치를 통상의 동작을 수행하는 노말 모드에서 상기 FIM 동작을 수행하는 FIM 모드로 전환하고 상기 FIM 모드에서 상기 노말 모드로 전환하는 것을 특징으로 하는 적층형 메모리 장치.
  3. 제2 항에 있어서,
    상기 FIM 프론트-엔드 회로는,
    상기 노말 모드에서 상기 FIM 모드로 전환할 때 상기 호스트 장치로부터 수신되는 데이터 신호를 통하여 상기 복수의 FIM 인스트럭션들을 수신하는 것을 특징으로 하는 적층형 메모리 장치.
  4. 제2 항에 있어서,
    상기 FIM 프론트-엔드 회로는,
    상기 노말 모드에서 상기 FIM 모드로 전환할 때 상기 호스트 장치로부터 수신되는 데이터 신호를 통하여 상기 FIM 백-엔드 회로들의 제어를 위한 구성 정보를 수신하는 것을 특징으로 하는 적층형 메모리 장치.
  5. 제4 항에 있어서,
    상기 FIM 프론트-엔드 회로는,
    상기 구성 정보가 시퀀셜 실행 모드를 나타내는 경우, 상기 호스트 장치로부터 수신되는 상기 코맨드-어드레스 신호에 포함되는 하나의 코맨드 및 하나의 어드레스에 기초하여 상기 FIM 프론트-엔드 회로에 저장된 상기 복수의 FIM 인스트럭션들 중 상기 하나의 어드레스에 상응하는 하나의 FIM 인스트럭션을 실행하는 것을 특징으로 하는 적층형 메모리 장치.
  6. 제4 항에 있어서,
    상기 FIM 프론트-엔드 회로는,
    상기 구성 정보가 뱃치 실행 모드를 나타내는 경우, 상기 호스트 장치로부터 수신되는 상기 코맨드-어드레스 신호에 관계 없이 상기 FIM 프론트-엔드 회로에 저장된 상기 복수의 FIM 인스트럭션들을 순차적으로 실행하는 것을 특징으로 하는 적층형 메모리 장치.
  7. 제6 항에 있어서,
    상기 FIM 프론트-엔드 회로는, 상기 뱃치 실행 모드에서 상기 FIM 프론트-엔드 회로에 저장된 상기 복수의 FIM 인스트럭션들의 실행이 완료된 경우 FIM 종료 신호를 발생하여 상기 호스트 장치로 전송하는 것을 특징으로 하는 적층형 메모리 장치.
  8. 제6 항에 있어서,
    상기 FIM 프론트-엔드 회로는, 상기 뱃치 실행 모드에서 상기 FIM 프론트-엔드 회로에 저장된 상기 복수의 FIM 인스트럭션들에 기초하여 상기 복수의 메모리 뱅크들의 제어를 위한 내부 코맨드-어드레스를 발생하는 것을 특징으로 하는 적층형 메모리 장치.
  9. 제1 항에 있어서,
    상기 복수의 메모리 뱅크들은 상기 호스트 장치에 의해 각각 독립적으로 액세스되는 복수의 채널들을 형성하고,
    상기 FIM 프론트-엔드 회로는,
    상기 복수의 채널들 중 각각의 채널에 상응하는 상기 메모리 뱅크들에 대한 상기 FIM 동작을 각각 제어하는 복수의 FIM 채널 제어 회로들을 포함하는 것을 특징으로 하는 적층형 메모리 장치.
  10. 제9 항에 있어서,
    상기 복수의 FIM 채널 제어 회로들은 모두 상기 버퍼 반도체 다이에 형성되는 것을 특징으로 하는 적층형 메모리 장치.
  11. 제9 항에 있어서,
    상기 복수의 FIM 채널 제어 회로들의 각각은 상기 복수의 메모리 반도체 다이들 중 상기 각각의 채널에 상응하는 상기 메모리 뱅크들을 포함하는 메모리 반도 다이에 형성되는 것을 특징으로 하는 적층형 메모리 장치.
  12. 제9 항에 있어서,
    상기 복수의 FIM 채널 제어 회로들의 각각은,
    상기 호스트 장치로부터 수신되는 코맨드-어드레스 신호를 디코딩하여 내부 코맨드 신호 및 내부 어드레스 신호를 발생하는 FIM 디코더;
    상기 내부 코맨드 신호 및 상기 내부 어드레스 신호에 기초하여 큐 제어 신호를 발생하는 FIM 컨트롤러;
    상기 큐 제어 신호에 기초하여 상기 호스트 장치로부터 수신되는 데이터 신호에 포함되는 상기 FIM 인스트럭션들을 저장하고 저장된 상기 FIM 인스트럭션들을 출력하는 FIM 인스트럭션 큐; 및
    상기 FIM 인스트럭션 큐로부터 출력되는 상기 FIM 인스트럭션들을 디코딩하여 내부 인스트럭션 신호를 발생하고 상기 내부 인스트럭션 신호를 상기 각각의 채널에 상응하는 상기 FIM 백-엔드 회로에 제공하는 FIM 인스트럭션 디코더를 포함하는 것을 특징으로 하는 적층형 메모리 장치.
  13. 제12 항에 있어서,
    상기 FIM 컨트롤러는,
    상기 내부 코맨드 신호 및 상기 내부 어드레스 신호에 기초하여 상기 호스트 장치로부터 수신되는 데이터 신호에 포함되는 구성 정보를 저장하는 FIM 컨트롤 레지스터를 포함하고,
    상기 FIM 컨트롤 레지스터에 저장된 상기 구성 정보에 기초하여 상기 각각의 채널에 상응하는 상기 FIM 백-엔드 회로의 제어를 위한 FIM 채널 제어 신호들을 발생하는 것을 특징으로 하는 적층형 메모리 장치.
  14. 제13 항에 있어서,
    상기 FIM 채널 제어 신호들은 멀티-뱅크 인에이블 신호를 포함하고,
    각각의 채널에 상응하는 상기 FIM 백-엔드 회로는,
    상기 멀티-뱅크 인에이블 신호가 활성화된 경우 상기 각각의 채널에 상응하는 상기 메모리 뱅크들의 전부에 대하여 상기 FIM 동작을 동시에 수행하고,
    상기 멀티-뱅크 인에이블 신호가 비활성화된 경우 상기 각각의 채널에 상응하는 상기 메모리 뱅크들 중 하나에 대하여 상기 FIM 동작을 수행하는 것을 특징으로 하는 적층형 메모리 장치.
  15. 제13 항에 있어서,
    상기 호스트 장치는,
    시스템 어드레스 공간의 일부를 할당하여 상기 FIM 인스트럭션 큐 및 상기 FIM 컨트롤 레지스터를 나타내는 FIM 제어 어드레스를 설정하고,
    상기 적층형 메모리 장치의 통상의 동작을 위한 코맨드 및 상기 FIM 제어 어드레스를 사용하여 상기 FIM 인스트럭션들 및 상기 구성 정보에 대한 기입 및 독출을 제어하는 것을 특징으로 하는 적층형 메모리 장치.
  16. 제9 항에 있어서,
    상기 각각의 채널에 상응하는 상기 FIM 백-엔드 회로는,
    상기 각각의 채널에 상응하는 메모리 뱅크들의 각각에 할당되어 할당된 메모리 뱅크와 연관된 상기 FIM 동작을 수행하는 복수의 뱅크 FIM 회로들; 및
    상기 FIM 채널 제어 회로로부터 제공되는 상기 복수의 FIM 인스트럭션들에 상응하는 내부 인스트럭션 신호 및 FIM 채널 제어 신호들에 기초하여 상기 복수의 뱅크 FIM 회로들을 제어하기 위한 FIM 다이 제어 신호들을 발생하는 연산 컨트롤러를 포함하는 것을 특징으로 하는 적층형 메모리 장치.
  17. 제16 항에 있어서,
    상기 복수의 뱅크 FIM 회로들의 각각은,
    상기 연산 동작을 수행하는 연산 회로;
    상기 연산 회로로부터 제공되는 연산 결과 데이터를 저장하는 레지스터 파일; 및
    상기 버퍼 반도체 다이와의 데이터 교신을 데이터 버스, 상기 메모리 뱅크, 상기 연산 회로의 입력 및 상기 레지스터 파일의 출력 사이의 연결을 제어하는 데이터 경로 제어 회로를 포함하는 것을 특징으로 하는 적층형 메모리 장치.
  18. 제1 항에 있어서,
    상기 적층형 메모리 장치는 고 대역폭 메모리(HBM, high bandwidth memory) 장치인 것을 특징으로 하는 적층형 메모리 장치.
  19. 적층형 메모리 장치; 및
    상기 적층형 메모리 장치를 제어하는 호스트 장치를 포함하고,
    상기 적층형 메모리 장치는,
    상기 호스트 장치와의 통신을 수행하는 버퍼 반도체 다이;
    상기 버퍼 반도체 다이 위에 적층되고 데이터를 저장하는 복수의 메모리 뱅크들을 포함하는 복수의 메모리 반도체 다이들;
    상기 버퍼 반도체 다이 및 상기 복수의 메모리 반도체 다이들을 전기적으로 연결하는 실리콘 관통 전극들;
    상기 복수의 메모리 뱅크들로부터 독출되는 내부 데이터에 기초한 연산 동작을 포함하는 펑션-인-메모리(FIM, function-in-memory) 동작을 위한 복수의 FIM 인스트럭션들을 저장하는 FIM 프론트-엔드 회로; 및
    상기 복수의 메모리 반도체 다이들에 각각 형성되고, 상기 FIM 프론트-엔드 회로의 제어에 기초하여 상기 FIM 인스트럭션들에 상응하는 상기 FIM 동작을 수행하는 복수의 FIM 백-엔드 회로들을 포함하는 시스템.
  20. 호스트 장치와의 통신을 수행하는 버퍼 반도체 다이 및 데이터를 저장하는 복수의 메모리 뱅크들을 포함하는 복수의 메모리 반도체 다이들이 적층되는 적층형 메모리 장치의 동작 방법으로서,
    상기 복수의 메모리 뱅크들로부터 독출되는 내부 데이터에 기초한 연산 동작을 포함하는 펑션-인-메모리(FIM, function-in-memory) 동작을 위해 상기 호스트 장치로부터 복수의 FIM 인스트럭션들을 수신하는 단계;
    상기 복수의 FIM 인스트럭션들을 상기 버퍼 반도체 다이 또는 상기 복수의 메모리 반도체 다이들에 형성되는 FIM 프론트-엔드 회로에 저장하는 단계; 및
    상기 복수의 메모리 반도체 다이들에 각각 형성되는 복수의 FIM 백-엔드 회로들을 이용하여, 상기 FIM 프론트-엔드 회로의 제어에 기초하여 상기 FIM 인스트럭션들에 상응하는 상기 FIM 동작을 수행하는 단계를 포함하는 적층형 메모리 장치의 동작 방법.
KR1020200021140A 2020-02-20 2020-02-20 펑션-인-메모리 동작을 수행하는 적층형 메모리 장치 및 그 동작 방법 KR20210106226A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200021140A KR20210106226A (ko) 2020-02-20 2020-02-20 펑션-인-메모리 동작을 수행하는 적층형 메모리 장치 및 그 동작 방법
US17/009,992 US11281397B2 (en) 2020-02-20 2020-09-02 Stacked memory device performing function-in-memory (FIM) operation and method of operating the same
CN202011268234.6A CN113284531A (zh) 2020-02-20 2020-11-13 电子系统、堆叠式存储器装置及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200021140A KR20210106226A (ko) 2020-02-20 2020-02-20 펑션-인-메모리 동작을 수행하는 적층형 메모리 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20210106226A true KR20210106226A (ko) 2021-08-30

Family

ID=77275311

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200021140A KR20210106226A (ko) 2020-02-20 2020-02-20 펑션-인-메모리 동작을 수행하는 적층형 메모리 장치 및 그 동작 방법

Country Status (3)

Country Link
US (1) US11281397B2 (ko)
KR (1) KR20210106226A (ko)
CN (1) CN113284531A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220083224A1 (en) * 2020-09-11 2022-03-17 Rambus Inc. Block copy
US11226767B1 (en) * 2020-09-30 2022-01-18 Micron Technology, Inc. Apparatus with access control mechanism and methods for operating the same

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9606807B2 (en) * 2009-06-04 2017-03-28 Micron Technology, Inc. Direct communication with a processor internal to a memory device
US9477636B2 (en) 2009-10-21 2016-10-25 Micron Technology, Inc. Memory having internal processors and data communication methods in memory
US8583896B2 (en) 2009-11-13 2013-11-12 Nec Laboratories America, Inc. Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain
US20140040532A1 (en) 2012-08-06 2014-02-06 Advanced Micro Devices, Inc. Stacked memory device with helper processor
US9836277B2 (en) 2014-10-01 2017-12-05 Samsung Electronics Co., Ltd. In-memory popcount support for real time analytics
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US10692555B2 (en) 2016-06-29 2020-06-23 Samsung Electronics Co., Ltd. Semiconductor memory devices enabling read strobe mode and related methods of operating semiconductor memory devices
KR102479212B1 (ko) 2016-08-17 2022-12-20 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US10042762B2 (en) * 2016-09-14 2018-08-07 Advanced Micro Devices, Inc. Light-weight cache coherence for data processors with limited data sharing
KR102385569B1 (ko) 2018-01-03 2022-04-12 삼성전자주식회사 메모리 장치
US10748603B2 (en) 2018-09-28 2020-08-18 Intel Corporation In-memory multiply and accumulate with global charge-sharing

Also Published As

Publication number Publication date
CN113284531A (zh) 2021-08-20
US11281397B2 (en) 2022-03-22
US20210263671A1 (en) 2021-08-26

Similar Documents

Publication Publication Date Title
US11114139B2 (en) Stacked memory device, a system including the same and an associated method
KR102453542B1 (ko) 스킵 연산 모드를 지원하는 메모리 장치 및 그 동작 방법
US10482947B2 (en) Integrated error checking and correction (ECC) in byte mode memory devices
KR102467698B1 (ko) 적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법
US10727200B2 (en) Memory device including bump arrays spaced apart from each other and electronic device including the same
US11474950B2 (en) Memory controller including plurality of address mapping tables, system on chip, and electronic device
US9891856B2 (en) Memory address remapping system, device and method of performing address remapping operation
US9792978B2 (en) Semiconductor memory device and memory system including the same
US10109344B2 (en) Semiconductor memory devices with banks with different numbers of memory cells coupled to their bit-lines and memory systems including the same
KR20120132287A (ko) 반도체 메모리 장치, 반도체 메모리 패키지 및 반도체 메모리 장치의 집적도 증대 방법
CN113126898A (zh) 存储器设备及其操作方法和存储器控制器的操作方法
US11276459B2 (en) Memory die including local processor and global processor, memory device, and electronic device
US20240086345A1 (en) Memory device including processing circuit, and electronic device including system on chip and memory device
US11281397B2 (en) Stacked memory device performing function-in-memory (FIM) operation and method of operating the same
KR20210094446A (ko) 신규 커맨드 입력 방식을 지원하는 메모리 장치 및 그것의 동작 방법
CN116490925A (zh) 存储器电路架构
KR20220016934A (ko) 메모리 시스템