KR102387977B1 - 적어도 두 개의 채널들을 통해 시스템 온 칩과 통신하는 메모리 장치, 이를 포함하는 전자 장치, 그리고 전자 장치의 동작 방법 - Google Patents
적어도 두 개의 채널들을 통해 시스템 온 칩과 통신하는 메모리 장치, 이를 포함하는 전자 장치, 그리고 전자 장치의 동작 방법 Download PDFInfo
- Publication number
- KR102387977B1 KR102387977B1 KR1020170161959A KR20170161959A KR102387977B1 KR 102387977 B1 KR102387977 B1 KR 102387977B1 KR 1020170161959 A KR1020170161959 A KR 1020170161959A KR 20170161959 A KR20170161959 A KR 20170161959A KR 102387977 B1 KR102387977 B1 KR 102387977B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory cell
- cell region
- channel
- memory
- soc
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1075—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All 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/065—All 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/06503—Stacked arrangements of devices
- H01L2225/06541—Conductive via connections through the device, e.g. vertical interconnects, through silicon via [TSV]
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/03—Assemblies 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/04—Assemblies 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/065—Assemblies 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/0657—Stacked arrangements of devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Dram (AREA)
Abstract
본 발명의 실시 예에 따른 전자 장치는, 제 1 채널로 할당된 제 1 메모리 셀 영역 및 제 2 채널로 할당된 제 2 메모리 셀 영역을 포함하는 메모리 장치, 및 제 1 채널을 통해 제 1 메모리 셀 영역을 접근하기 위한 제 1 명령을 메모리 장치로 전송하는 제 1 프로세싱 유닛 및 제 2 채널을 통해 제 2 메모리 셀 영역을 접근하기 위한 제 2 명령을 메모리 장치로 전송하는 제 2 프로세싱 유닛을 포함하는 SoC(system on chip)를 포함할 수 있다. 제 1 채널의 대역폭 및 제 2 채널의 대역폭은 서로 다를 수 있다.
Description
본 발명은 메모리 장치, 이를 포함하는 전자 장치, 그리고 전자 장치의 동작 방법에 관한 것으로, 좀 더 자세하게는 적어도 두 개의 채널들을 통해 시스템 온 칩과 통신하는 메모리 장치, 이를 포함하는 전자 장치, 그리고 전자 장치의 동작 방법에 관한 것이다.
어플리케이션 프로세서(application processor; AP)는 시스템 온 칩(System on Chip; 이하 SoC라고 칭함)의 형태로 구현될 수 있다. SoC는 다양한 시스템들이 집적되는 하나의 칩을 나타낼 수 있다. SoC는 다양한 시스템들을 집적하므로, 탑재될 수 있는 칩들의 수가 제한적인 어플리케이션에서 사용될 수 있다. SoC는 내부 메모리(예를 들면, SRAM(static random access memory))를 포함하거나 내부 메모리보다 용량이 더 높은 외부 메모리 장치(예를 들면, DRAM(dynamic random access memory))와 통신할 수도 있다. SoC 내부의 메모리와 달리, SoC와 통신하는 외부 메모리 장치의 종류는 다양할 수 있다.
SoC가 지원하는 기능들이 다양해질수록 SoC에 포함되는 프로세싱 유닛들의 수도 증가할 수 있다. 이러한 다수의 프로세싱 유닛들을 위해, SoC와 다양한 종류의 메모리 장치들이 연결되는 경우, 전자 장치의 면적 및 비용이 증가할 수 있다. 따라서, 저면적 및 저비용으로 SoC와 메모리 장치를 연결하는 것이 필요하다.
본 발명은 상술한 기술적 과제를 해결하기 위한 것으로, 적어도 두 개의 채널들을 통해 시스템 온 칩과 통신하는 메모리 장치, 이를 포함하는 전자 장치, 그리고 전자 장치의 동작 방법을 제공할 수 있다.
본 발명의 실시 예에 따른 전자 장치는, 제 1 채널로 할당된 제 1 메모리 셀 영역 및 제 2 채널로 할당된 제 2 메모리 셀 영역을 포함하는 메모리 장치, 및 제 1 채널을 통해 제 1 메모리 셀 영역을 접근하기 위한 제 1 명령을 메모리 장치로 전송하는 제 1 프로세싱 유닛 및 제 2 채널을 통해 제 2 메모리 셀 영역을 접근하기 위한 제 2 명령을 메모리 장치로 전송하는 제 2 프로세싱 유닛을 포함하는 SoC를 포함할 수 있다. 제 1 채널의 대역폭 및 제 2 채널의 대역폭은 서로 다를 수 있다.
본 발명의 실시 예에 따른 메모리 장치는, 제 1 메모리 셀 영역 및 제 2 메모리 셀 영역을 포함하는 메모리 셀 어레이, SoC로부터 제 1 채널을 통해 전송된 제 1 명령에 응답하여, 제 1 메모리 셀 영역을 접근하는 제 1 주변 회로, 및 SoC로부터 제 2 채널을 통해 전송된 제 2 명령에 응답하여, 제 2 메모리 셀 영역을 접근하는 제 2 주변 회로를 포함할 수 있다. 제 1 주변 회로는 SoC와 교환되는 제 1 데이터가 입력되거나 출력되는 제 1 데이터 입출력 핀들을 포함할 수 있고, 제 2 주변 회로는 SoC와 교환되는 제 2 데이터가 입력되거나 출력되는 제 2 데이터 입출력 핀들을 포함할 수 있고, 제 1 데이터 입출력 핀들의 수 및 제 2 데이터 입출력 핀들의 수는 서로 다를 수 있다.
본 발명의 실시 예에 따른, 메모리 장치 및 메모리 장치와 통신하는 SoC를 포함하는 전자 장치의 동작 방법은, 메모리 장치의 제 1 메모리 셀 영역을 SoC 및 메모리 장치간의 제 1 채널로 할당하고 메모리 장치의 제 2 메모리 셀 영역을 SoC 및 메모리 장치간의 제 2 채널로 할당하는 단계, 제 1 채널을 통해 SoC로부터 메모리 장치로 전송된 제 1 명령에 기초하여, SoC와 메모리 장치간의 제 1 데이터 입출력을 수행하는 단계, 및 제 2 채널을 통해 SoC로부터 메모리 장치로 전송된 제 2 명령에 기초하여, SoC와 메모리 장치간의 제 2 데이터 입출력을 수행하는 단계를 포함할 수 있다. 제 1 채널 대역폭 및 제 2 채널의 대역폭은 서로 다를 수 있다.
본 발명의 실시 예에 따르면, SoC는 데이터 입출력의 대역폭들이 서로 다른 여러 메모리 장치들과 통신하는 대신에, 적어도 두 개의 채널들을 통해 하나의 메모리 장치와 통신할 수 있다. 하나의 메모리 장치는 대역폭들이 서로 다른 적어도 두 개의 채널들을 지원할 수 있으므로, 전자 장치의 면적 및 비용이 감소할 수 있다.
도 1은 본 발명의 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다.
도 2는 도 1의 전자 장치를 좀 더 구체적으로 보여주는 블록도이다.
도 3은 도 2의 메모리 장치를 좀 더 상세하게 보여주는 블록도이다.
도 4는 본 발명의 실시 예에 따른 전자 장치의 동작 방법을 예시적으로 보여주는 순서도이다.
도 5는 본 발명의 다른 실시 예에 따른 전자 장치의 동작 방법을 예시적으로 보여주는 순서도이다.
도 6은 본 발명의 또 다른 실시 예에 따른 전자 장치의 동작 방법을 예시적으로 보여주는 순서도이다.
도 7은 본 발명의 다른 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다.
도 8은 본 발명의 또 다른 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다.
도 9는 본 발명의 또 다른 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다.
도 2는 도 1의 전자 장치를 좀 더 구체적으로 보여주는 블록도이다.
도 3은 도 2의 메모리 장치를 좀 더 상세하게 보여주는 블록도이다.
도 4는 본 발명의 실시 예에 따른 전자 장치의 동작 방법을 예시적으로 보여주는 순서도이다.
도 5는 본 발명의 다른 실시 예에 따른 전자 장치의 동작 방법을 예시적으로 보여주는 순서도이다.
도 6은 본 발명의 또 다른 실시 예에 따른 전자 장치의 동작 방법을 예시적으로 보여주는 순서도이다.
도 7은 본 발명의 다른 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다.
도 8은 본 발명의 또 다른 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다.
도 9는 본 발명의 또 다른 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다.
아래에서는, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다. 도 1을 참조하면, 전자 장치(100)는 시스템 온 칩(System on Chip; 이하 SoC라 칭함, 110) 및 메모리 장치(150)를 포함할 수 있다.
SoC(110)는 어플리케이션 프로세서(application processor; AP)로서 전자 장치(100)가 지원하는 가상 현실(VR), 증강 현실(AR), 혼합 현실(MR) 등과 같은 다양한 어플리케이션들을 위해, 다양한 연산들을 수행하는 IP(intellectual property) 블록들을 포함할 수 있다. IP 블록들은 SoC(110) 내에서 하드웨어의 형태로 구현될 수 있다. 예를 들어, SoC(110)는 제 1 프로세싱 유닛 그룹(120) 및 제 2 프로세싱 유닛 그룹(130)을 포함할 수 있다. 여기서, 프로세싱 유닛 그룹들의 수는 예시적인 것에 불과하다.
제 1 프로세싱 유닛 그룹(120)은 DDR SDRAM(double data rate synchronous dynamic random access memory), DDR2 SDRAM, DDR3 SDRAM, DDR4 SDRAM, DDR5 SDRAM, LPDDR(low power double data rate) SDRAM, LPDDR2 SDRAM, LPDDR3 SDRAM, LPDDR4 SDRAM, LPDDR4X SDRAM, LPDDR5 SDRAM 등과 같은 범용 DRAM과 통신하는 프로세싱 유닛들을 포함할 수 있다. 예를 들어, 제 1 프로세싱 유닛 그룹(120)은 CPU(central processing unit), ISP(image signal processing unit), 및 DSP(digital signal processing unit) 중 적어도 하나를 포함할 수 있다.
제 2 프로세싱 유닛 그룹(130)은 제 1 프로세싱 유닛 그룹(120)이 지원하는 어플리케이션들과 다른 어플리케이션들을 지원할 수 있다. 예를 들어, 제 2 프로세싱 유닛 그룹(130)이 지원하는 어플리케이션에 필요한 연산량은 제 1 프로세싱 유닛 그룹(120)이 지원하는 어플리케이션에 필요한 연산량보다 클 수 있다. 즉, 제 2 프로세싱 유닛 그룹(130)은 GDDR(graphics double data rate) SGRAM(synchronous graphics random access memory), GDDR2 SGRAM, GDDR3 SGRAM, GDDR4 SGRAM, GDDR5 SGRAM, GDDR6 SGRAM, HBM(high bandwidth memory), HBM2, HBM3 등과 같이 범용 DRAM보다 대역폭이 더 높은 고성능 DRAM과 통신하는 프로세싱 유닛들을 포함할 수 있다. 예를 들어, 제 2 프로세싱 유닛 그룹(130)은 GPU(graphics processing unit), VPU(vision processing unit), 및 NPU(neural processing unit) 중 적어도 하나를 포함할 수 있다.
본 발명의 실시 예에 따르면, 전자 장치(100)는 연산량들이 서로 다른 제 1 프로세싱 유닛 그룹(120) 및 제 2 프로세싱 유닛 그룹(130) 각각을 위해 여러 종류의 메모리 장치들을 포함하는 대신에, 제 1 채널(CH1) 및 제 2 채널(CH2)을 통해 제 1 프로세싱 유닛 그룹(120) 및 제 2 프로세싱 유닛 그룹(130)을 모두 지원할 수 있는 하나의 메모리 장치(150)를 포함할 수 있다. 또한, 도 1에서 도시된 것과 달리, SoC(110)가 세 개 이상의 프로세싱 유닛 그룹들을 포함하는 경우에도, 하나의 메모리 장치(150)는 세 개 이상의 채널들을 통해 세 개 이상의 프로세싱 유닛 그룹들을 모두 지원할 수 있다.
제 1 프로세싱 유닛 그룹(120)은 제 1 채널(CH1)을 통해 메모리 장치(150)와 통신할 수 있고, 제 2 프로세싱 유닛 그룹(130)은 제 2 채널(CH2)을 통해 메모리 장치(150)와 통신할 수 있다. 제 1 채널(CH1)을 통한 제 1 프로세싱 유닛 그룹(120)과 메모리 장치(150)간의 제 1 데이터 입출력의 특성들과 과 제 2 채널(CH2)을 통한 제 2 프로세싱 유닛 그룹(130)과 메모리 장치(150)간의 제 2 데이터 입출력의 특성들은 서로 다를 수 있다. 제 1 채널(CH1)을 통한 데이터 전송 속도와 제 2 채널(CH2)을 통한 전송 속도는 서로 다를 수 있고, 제 1 채널(CH1)의 대역폭과 제 2 채널(CH2)의 대역폭은 서로 다를 수 있다. 예를 들어, 제 2 데이터 입출력의 대역폭은 제 1 데이터 입출력의 대역폭보다 높을 수 있다. 대역폭은 채널로 할당된 입출력 핀들(예를 들어, DQ 핀들)의 수가 많을수록 또는 입출력 핀당 전송 속도가 높을수록 증가할 수 있다.
메모리 장치(150)는 제 1 채널(CH1)로 할당되는 제 1 메모리 셀 영역(160) 및 제 2 채널(CH2)로 할당되는 제 2 메모리 셀 영역(170)을 포함할 수 있다. 만약 도시된 것과 달리 SoC(110)와 메모리 장치(150)가 세 개 이상의 채널들을 통해 서로 통신하는 경우, 메모리 장치(150)는 세 개 이상의 채널들에 대해 메모리 셀 영역들을 각각 할당할 수 있다.
실시 예에 있어서, 제 1 메모리 셀 영역(160) 및 제 2 메모리 셀 영역(170)의 용량들은 SoC(110)의 요청에 따라 변경될 수 있고 서로 다를 수 있다. 다만, SoC(110)의 요청에 따라 메모리 장치(150)의 메모리 셀 어레이의 일부 영역들이 제 1 메모리 셀 영역(160) 및 제 2 메모리 셀 영역(170)으로 각각 할당되므로, 메모리 셀 어레이의 용량은 고정된 값일 수 있다. 즉, 메모리 장치(150)의 총 용량은 고정된 값일 수 있다.
메모리 셀 어레이는 메모리 셀들이 반복적으로 배치된 영역이다. 예를 들어 메모리 셀은 DRAM 셀, SRAM(static random access memory) 셀, 낸드 플래시 메모리(nand flash memory) 셀, 노어 플래시 메모리(nor flash memory) 셀, RRAM(resistive random access memory) 셀, FRAM(ferroelectric random access memory) 셀, PRAM(phase change random access memory) 셀, TRAM(thyristor random access memory) 셀, MRAM(magnetic random access memory) 셀 중 적어도 하나를 포함할 수 있다. 예를 들어, 제 1 메모리 셀 영역(160)의 메모리 셀들의 종류와 제 2 메모리 셀 영역(170)의 메모리 셀들의 종류는 서로 동일하거나 다를 수 있다.
도 2는 도 1의 전자 장치를 좀 더 구체적으로 보여주는 블록도이다. 도 2를 참조하면, SoC(110)는 제 1 프로세싱 유닛 그룹(120), 제 2 프로세싱 유닛 그룹(130), 제 1 메모리 인터페이스(141), 제 2 메모리 인터페이스(142), 및 버스(145)를 포함할 수 있다.
제 1 프로세싱 유닛 그룹(120)은 CPU(121), ISP(122), 및 DSP(123)를 포함할 수 있다. CPU(121)는 하나 이상의 코어들(예를 들어, 멀티코어)을 포함할 수 있고, 코어들은 동종(homogeneous) 프로세서 코어들이거나 이종(heterogeneous) 프로세서 코어들일 수 있다. 이러한 코어들은 서로 독립적으로 동작할 수 있다. ISP(122)는 이미지를 인식하고 분석하기 위해 사용되는 프로세서일 수 있다. DSP(123)는 디지털 신호를 고속으로 처리하여 CPU(121)의 부하를 줄여주기 위한 프로세서일 수 있다. 도 2에서 도시된 것과 달리, 제 1 프로세싱 유닛 그룹(120)은 CPU(121), ISP(122), 및 DSP(123) 중 일부만을 포함하거나 또는 다른 프로세서를 더 포함할 수도 있다.
제 2 프로세싱 유닛 그룹(130)은 GPU(131), VPU(132), 및 NPU(133)를 포함할 수 있다. GPU(131)는 그래픽 성능 향상을 위한 그래픽 연산 전용의 프로세서일 수 있다. VPU(132)는 CNN(convolution neural networks), SIFT(scale-invariant feature transform) 등과 같은 머신 비전 알고리즘들(machine vision algorithms)을 실행하기 위한 프로세서일 수 있다. NPU(133)는 인공 신경망(artificial neural network)을 구현하기 위한 프로세서일 수 있다. 도 2에서 도시된 것과 달리, 제 2 프로세싱 유닛 그룹(130)은 GPU(131), VPU(132), 및 NPU(133) 중 일부만을 포함하거나 또는 특정 용도만을 위한 전용 프로세서를 더 포함할 수도 있다.
제 1 메모리 인터페이스(141)는 제 1 채널(CH1)을 통해 통신을 수행하기 위한 인터페이스를 제공할 수 있다. 제 1 메모리 인터페이스(141)는 제 1 프로세싱 유닛 그룹(120)에 의해 제공된 데이터를 제 1 주변 회로(180)로 전송하거나 제 1 주변 회로(180)로부터 제공된 데이터를 제 1 프로세싱 유닛 그룹(120)으로 전송할 수 있다. 제 1 메모리 인터페이스(141)는 제 1 프로세싱 유닛 그룹(120)의 요청에 응답하여 메모리 장치(150)의 제 1 메모리 셀 영역(160)을 제어하기 위한 메모리 컨트롤러의 기능을 수행할 수 있다.
제 2 메모리 인터페이스(142)는 제 2 채널(CH2)을 통해 통신을 수행하기 위한 인터페이스를 제공할 수 있다. 제 2 메모리 인터페이스(142)는 제 2 프로세싱 유닛 그룹(130)에 의해 제공된 데이터를 제 2 주변 회로(190)로 전송하거나 제 2 주변 회로(190)로부터 제공된 데이터를 제 2 프로세싱 유닛 그룹(130)으로 전송할 수 있다. 제 2 메모리 인터페이스(142)는 제 2 프로세싱 유닛 그룹(130)의 요청에 응답하여 메모리 장치(150)의 제 2 메모리 셀 영역(170)을 제어하기 위한 메모리 컨트롤러의 기능을 수행할 수 있다.
실시 예에 있어서, 제 1 메모리 인터페이스(141) 및 제 2 메모리 인터페이스(142) 각각은 USB(universal serial bus), SCSI(small computer system interface), PCIe(peripheral component interconnect express), M-PCIe(mobile PCIe), ATA(advanced technology attachment), PATA(parallel ATA), SATA(serial ATA), SAS(serial attached SCSI), IDE(integrated drive electronics), UFS(universal flash storage) 등 메모리 장치(150)와 관련된 다양한 인터페이스 규약들 중 적어도 하나 이상에 따라 동작할 수 있다.
버스(145)는 제 1 프로세싱 유닛 그룹(120), 제 2 프로세싱 유닛 그룹(130), 제 1 메모리 인터페이스(141), 및 제 2 메모리 인터페이스(142)간의 데이터 입출력 경로를 제공할 수 있다. 예를 들어, 버스(145)는 AMBA(advanced microcontroller bus architecture), AHB(advanced high-performance bus), APB(advanced peripheral bus), AXI(advanced eXtensible interface), ASB(advanced system bus), ACE(AXI coherency extensions), 또는 이들의 결합으로 구현될 수 있으나 이에 한정되는 것은 아니다.
메모리 장치(150)는 제 1 메모리 셀 영역(160), 제 2 메모리 셀 영역(170), 제 1 메모리 셀 영역(160)을 접근하기 위한 제 1 주변 회로(180), 및 제 2 메모리 셀 영역(170)을 접근하기 위한 제 2 주변 회로(190)를 포함할 수 있다. 제 1 주변 회로(180)는 SoC(110)로부터 제 1 채널(CH1)을 통해 전송된 명령에 응답하여, 제 1 메모리 셀 영역(160)을 접근할 수 있다. 유사하게, 제 2 주변 회로(190)도 SoC(110)로부터 제 2 채널(CH2)을 통해 전송된 명령에 응답하여, 제 2 메모리 셀 영역(170)을 접근할 수 있다.
실시 예에 있어서, 메모리 장치(150)는 제 1 메모리 셀 영역(160) 및 제 2 메모리 셀 영역(170)을 포함하는 하나의 메모리 셀 어레이에 대해 하나의 주변 회로가 아니라 두 개의 주변 회로들(즉, 제 1 주변 회로(180) 및 제 2 주변 회로(190))을 포함할 수 있다. 또한, 제 1 주변 회로(180)가 제 1 메모리 셀 영역(160)을 접근하는 속도 및 제 2 주변 회로(190)가 제 2 메모리 셀 영역(170)을 접근하는 속도는 서로 다를 수 있다. 이하, 메모리 장치(150)에 대해 좀 더 구체적으로 설명한다.
도 3은 도 2의 메모리 장치를 좀 더 상세하게 보여주는 블록도이다. 도 3은 도 1 및 도 2를 참조하여 설명될 것이다. 도 3을 참조하면, 메모리 장치(150)는 제 1 메모리 셀 영역(160), 제 2 메모리 셀 영역(170), 제 1 주변 회로(180), 및 제 2 주변 회로(190)를 포함할 수 있다. 제 1 주변 회로(180)는 제 1 커맨드/어드레스 버퍼(181), 제 1 커맨드 디코더(182), 제 1 DQ 버퍼(183), 제 1 로우 디코더(184), 제 1 컬럼 디코더(185), 제 1 데이터 버퍼(186), 및 제 1 모드 레지스터(187)를 포함할 수 있다. 제 2 주변 회로(190)는 제 2 커맨드/어드레스 버퍼(191), 제 2 커맨드 디코더(192), 제 2 DQ 버퍼(193), 제 2 로우 디코더(194), 제 2 컬럼 디코더(195), 제 2 데이터 버퍼(196), 및 제 2 모드 레지스터(197)를 포함할 수 있다.
제 1 메모리 셀 영역(160) 및 제 2 메모리 셀 영역(170) 각각은 메모리 셀 어레이의 일부분일 수 있다. 예를 들어, 제 1 메모리 셀 영역(160) 및 제 2 메모리 셀 영역(170)을 포함하는 하나의 메모리 셀 어레이는 하나의 뱅크를 구성할 수 있다. 도 3에서 뱅크는 하나만 도시되었으나, 메모리 장치(150)의 뱅크들의 수는 이에 한정되지 않는다. 예를 들어, 뱅크들의 수 및 용량은 JEDEC(joint electron device engineering council) 표준에 따라 결정될 수 있다.
제 1 커맨드/어드레스 버퍼(181)는 메모리 장치(150)의 외부(예를 들면, 도 1 및 도 2의 SoC(110))로부터 제 1 명령/어드레스(CMD1/ADD1)를 수신하고 저장할 수 있다. 제 1 명령/어드레스(CMD1/ADD1)는 도 1 및 도 2에서 전술한 제 1 채널(CH1)을 통해 전송될 수 있다. 좀 더 구체적으로, 제 1 커맨드/어드레스 버퍼(181)는 활성화 명령, 쓰기 명령, 읽기 명령, 프리차지(precharge) 명령, 리프레쉬(refresh) 명령, MRS(mode register set) 명령 등을 수신하고 저장할 수 있고, 전술한 명령들과 함께 뱅크 어드레스, 로우 어드레스, 컬럼 어드레스, 연산 코드 등을 수신하고 저장할 수 있다.
제 1 커맨드/어드레스 버퍼(181)는 제 1 로우 어드레스(RA1)를 제 1 로우 디코더(184)에 제공할 수 있고, 제 1 컬럼 어드레스(CA1)를 제 1 컬럼 디코더(185)에 제공할 수 있고, 그리고 제 1 연산 코드(OPCODE1)를 제 1 모드 레지스터(187)에 제공할 수 있다. 여기서, 제 1 연산 코드(OPCODE1)는 제 1 모드 레지스터(187)의 설정값으로 지칭될 수 있다.
예를 들어, 제 1 주변 회로(180)는 적어도 하나 이상의 제 1 커맨드/어드레스 핀들(미도시)을 통해 제 1 명령/어드레스(CMD1/ADD1)를 수신할 수 있다. 이 경우, 제 1 커맨드/어드레스 버퍼들의 수는 제 1 커맨드/어드레스 핀들의 수와 동일할 수 있다.
제 1 커맨드 디코더(182)는 제 1 커맨드/어드레스 버퍼(181)로부터 제 1 명령(CMD1)을 수신하고 디코드(decode)할 수 있다. 예를 들어, 메모리 장치(150)가 DRAM인 경우, 제 1 커맨드 디코더(182)는 활성화 명령, 쓰기 명령, 읽기 명령, 프리차지 명령, 리프레쉬 명령, MRS 명령 등을 디코드할 수 있다.
제 1 커맨드 디코더(182)는 활성화 명령, 프리차지 명령, 또는 리프레쉬 명령에 따라 제 1 로우 디코더(184)를 제어할 수 있다. 제 1 커맨드 디코더(182)는 쓰기 명령 또는 읽기 명령에 따라 제 1 컬럼 디코더(185)를 제어할 수 있다. 제 1 커맨드 디코더(182)는 제 1 로우 제어 신호(R_CTRL1)를 제 1 로우 디코더(184)에 제공할 수 있고, 제 1 컬럼 제어 신호(C_CTRL1)를 제 1 컬럼 디코더(185)에 제공할 수 있다. 도 3에서 도시되지 않았지만, 제 1 커맨드 디코더(182)는 제 1 메모리 셀 영역(160)을 접근하기 위한 다른 구성 요소들도 제어할 수 있다.
제 1 DQ 버퍼(183)는 제 1 데이터 입출력 핀(DQ 핀, 미도시)을 구동할 수 있다. 제 1 DQ 버퍼(183)는 제 1 데이터 입출력 핀으로부터 쓰기 데이터를 수신하고 쓰기 데이터를 제 1 데이터 버퍼(186)로 제공할 수 있다. 제 1 DQ 버퍼(183)는 제 1 데이터 버퍼(186)에서 출력되는 읽기 데이터를 수신하고 읽기 데이터에 따라 제 1 데이터 입출력 핀을 구동할 수 있다. 제 1 데이터 입출력 핀은 제 1 채널(CH1)을 통하여 SoC(110)와 제 1 메모리 셀 영역(160) 사이에 교환되는 데이터가 입력되거나 출력되는 핀일 수 있다.
예를 들어, 제 1 주변 회로(180) 및 도 1 및 도 2의 SoC(110)는 제 1 데이터 입출력 신호들(DQ1<1:m>)을 서로 교환할 수 있다. 여기서, m은 자연수이고 m이 클수록 제 1 채널을 통한 제 1 데이터 입출력의 대역폭이 높아질 수 있다. 제 1 주변 회로(180)는 제 1 데이터 입출력 신호들(DQ1<1:m>)을 위해 m개의 제 1 데이터 입출력 핀들 및 m개의 제 1 데이터 입출력 버퍼들을 포함할 수 있다. 여기서, m은 자연수이다.
제 1 로우 디코더(184)는 제 1 커맨드 디코더(182)로부터 제 1 로우 제어 신호(R_CTRL1) 및 제 1 커맨드/어드레스 버퍼(181)로부터 제 1 로우 어드레스(RA1)를 수신하고, 제 1 로우 제어 신호(R_CTRL1) 및 제 1 로우 어드레스(RA1)에 기초하여 제 1 워드 라인(WL1)을 선택할 수 있다. 제 1 컬럼 디코더(185)는 제 1 커맨드 디코더(182)로부터 제 1 컬럼 제어 신호(C_CTRL1) 및 제 1 커맨드/어드레스 버퍼(181)로부터 제 1 컬럼 어드레스(CA1)를 수신하고, 제 1 컬럼 제어 신호(C_CTRL1) 및 제 1 컬럼 어드레스(CA1)에 기초하여 제 1 컬럼 선택 라인(CSL1)을 선택할 수 있다.
제 1 데이터 버퍼(186)는 제 1 DQ 버퍼(183)로부터 쓰기 데이터를 수신할 수 있다. 제 1 데이터 버퍼(186)는 제 1 로우 디코더(184) 및 제 1 컬럼 디코더(185)에 의해 선택된 메모리 셀들에 쓰기 데이터를 전달할 수 있다. 이를 위해, 제 1 데이터 버퍼(186)는 쓰기 데이터에 따라 제 1 글로벌 입출력 라인(GIO1) 및 선택된 메모리 셀들을 구동할 수 있다.
제 1 데이터 버퍼(186)는 제 1 로우 디코더(184) 및 제 1 컬럼 디코더(185)에 의해 선택된 메모리 셀들로부터 출력된 읽기 데이터를 수신할 수 있다. 이를 위해, 제 1 데이터 버퍼(186)는 읽기 데이터에 따른 제 1 글로벌 입출력 라인(GIO1)의 전압을 감지하고 증폭할 수 있다. 제 1 데이터 버퍼(186)는 읽기 데이터를 제 1 DQ 버퍼(183)에 제공할 수 있다.
제 1 모드 레지스터(187)는 메모리 장치(150)가 지원하는 다양한 동작 모드를 위한 설정값들을 저장할 수 있다. 제 1 모드 레지스터(187)의 수는 적어도 하나 이상일 수 있다. SoC(110)는 제 1 모드 레지스터(187)에 저장된 설정값들을 이용하여 메모리 장치(150)의 다양한 동작 모드들을 설정할 수 있다. SoC(110)는 제 1 채널(CH1)을 통해 제 1 MRS(mode register set) 명령 및 제 1 연산 코드(OPCODE1)를 제 1 주변 회로(180)로 전송할 수 있다. 제 1 모드 레지스터(187)에 설정값들이 저장되거나 업데이트되면, 제 1 메모리 셀 영역(160)에 대한 다양한 동작 모드들이 설정될 수 있다.
예를 들어, 다양한 동작 모드들을 설정하는 것은 버스트 랭스(burst length) 설정, 리드 버스트 타입(read burst type) 설정, CAS(column address strobe) 레이턴시(latency) 설정, DLL(delay locked loop) 인에이블 또는 리셋 설정, WR(write recovery) 및 RTP(read to precharge) 설정, AL(additive latency) 설정, RTT_NOM, RTT_WR, RTT_PARK 설정, 출력 드라이버 임피던스 제어 설정, 쓰기 레벨링(write leveling) 설정, TDQS 인에이블 설정, 쓰기 CRC(cyclical redundancy checks) 설정, 리프레쉬 설정, CWL(CAS write latency) 설정, MPR(multi-purpose register) 설정, 온도 센서 설정, 기어다운(geardown) 모드 설정, 쓰기 및 읽기 프리엠블(preamble) 설정, 기준 전압(Vref) 설정, 파워 다운(power down) 설정, DBI(data bus inversion) 설정, 데이터 마스크 설정, ODT(on die termination) 설정, 패리티 설정, ZQ 캘리브레이션(calibration) 설정 등을 포함할 수 있다.
제 2 주변 회로(190)의 세부 회로들(제 2 커맨드/어드레스 버퍼(191), 제 2 커맨드 디코더(192), 제 2 DQ 버퍼(193), 제 2 로우 디코더(194), 제 2 컬럼 디코더(195), 제 2 데이터 버퍼(196), 및 제 2 모드 레지스터(197))은 제 1 주변 회로(180)의 세부 회로들(제 1 커맨드/어드레스 버퍼(181), 제 1 커맨드 디코더(182), 제 1 DQ 버퍼(183), 제 1 로우 디코더(184), 제 1 컬럼 디코더(185), 제 1 데이터 버퍼(186), 및 제 1 모드 레지스터(187))과 유사하게 동작할 수 있다.
다만, 제 2 주변 회로(190)는 제 2 메모리 셀 영역(170)을 접근하기 위한 회로이고 제 1 주변 회로(180)는 제 1 메모리 셀 영역(160)을 접근하기 위한 회로이다. 또한, 제 2 주변 회로(190)가 제 2 메모리 셀 영역(170)을 접근하는 속도 및 제 1 주변 회로(180)가 제 1 메모리 셀 영역(160)을 접근하는 속도는 서로 다를 수 있다. 제 2 주변 회로(190) 및 SoC(110)가 서로 교환하는 제 2 데이터 입출력 신호들(DQ2<1:n>)의 수는 제 1 주변 회로(180) 및 SoC(110)가 서로 교환하는 제 1 데이터 입출력 신호들(DQ1<1:m>)의 수와 서로 다를 수 있다. 즉, 제 2 데이터 입출력 핀들의 수 및 제 1 데이터 입출력 핀들의 수는 서로 다를 수 있다.
실시 예에 있어서, 제 1 메모리 셀 영역(160)의 메모리 셀들과 제 2 메모리 셀 영역(170)의 메모리 셀들은 서로 동일하게 구현될 수 있다. 다만, 제 2 주변 회로(190)의 접근 속도는 제 1 주변 회로(180)의 접근 속도보다 높을 수 있다. 즉, 제 2 메모리 셀 영역(170)의 레이턴시는 제 1 메모리 셀 영역(160)의 레이턴시보다 낮을 수 있다. 여기서, 메모리 셀 어레이가 DRAM 셀들을 포함하는 경우, 레이턴시는 tRCD(RAS to CAS delay), tRP(row precharge time), tRAS(row active time), tRC(row cycle time), tRRD(RAS to RAS delay), tRFC(refresh cycle time), tWR(write recovery time), tWTR(write to read delay), CL(CAS latency), tCCD(CAS to CAS delay) 등을 의미할 수 있다. 예를 들어, 제 2 주변 회로(190)의 접근 속도가 제 1 주변 회로(180)의 접근 속도보다 높은 대신에, 제 2 메모리 셀 영역(170)의 용량은 제 1 메모리 셀 영역(160)의 용량보다 낮을 수 있다.
실시 예에 있어서, 제 2 주변 회로(190)의 제 2 데이터 입출력 핀들의 수는 제 1 주변 회로(180)의 제 1 데이터 입출력 핀들의 수보다 많을 수 있다. 따라서, 제 2 채널(CH2)을 통해 수행되는 SoC(110)와 메모리 장치(150)간의 데이터 입출력의 대역폭은 제 1 채널(CH1)을 통해 수행되는 SoC(110)와 메모리 장치(150)간의 데이터 입출력의 대역폭보다 높을 수 있다.
실시 예에 있어서, 제 2 데이터 입출력 핀들을 통한 데이터 전송 속도는 제 1 데이터 입출력 핀들을 통한 데이터 전송 속도보다 높을 수 있다. 즉, 제 2 DQ 버퍼(193)의 동작 속도는 제 1 DQ 버퍼(183)의 동작 속도보다 높을 수 있다. 정리하면, 제 2 주변 회로(190)는 제 1 주변 회로(180)에 비해 SoC(110)에 좀 더 빠른 접근 속도(또는 낮은 레이턴시) 또는 높은 대역폭을 제공할 수 있다.
실시 예에 있어서, 메모리 장치(150)가 세 개 이상의 채널들을 통해 SoC(110)와 통신하는 경우, 메모리 셀 어레이는 세 개 이상의 채널들의 수에 따라 세 개 이상의 메모리 셀 영역들로 나뉠 수 있고, 메모리 셀 영역들 각각에 대한 주변 회로들이 메모리 장치(150)에 포함될 수 있다. 예를 들어, 주변 회로들의 수는 채널들의 수와 동일할 수 있다.
실시 예에 있어서, 제 1 주변 회로(180)는 제 1 모드 레지스터(187)를 포함할 수 있고, 제 2 주변 회로(190)도 제 2 모드 레지스터(197)를 포함할 수 있다. 따라서, SoC(110)는 제 1 메모리 셀 영역(160)에 대한 동작 모드들 및 제 2 메모리 셀 영역(170)에 대한 동작 모드들을 독립적으로 설정할 수 있다.
예를 들어, SoC(110)는 제 1 채널(CH1) 및 제 2 채널(CH2) 각각에 대한 버스트 랭스를 독립적으로 설정할 수 있다. 일반적인 메모리 장치의 경우 캐시 라인 사이즈(cache line size)는 고정된 64 바이트일 수 있다. 그러나 도 1 및 도 2의 제 1 프로세싱 유닛 그룹(120) 및 제 2 프로세싱 유닛 그룹(130) 각각은 어플리케이션에 따라 64 바이트보다 작은 청크(chunk) 사이즈 또는 큰 청크 사이즈를 요구할 수 있다. 따라서, 메모리 장치(150)는 SoC(110)의 요청에 따라 제 1 채널(CH1) 및 제 2 채널(CH2)에 대한 버스트 랭스들을 서로 다르게 설정할 수 있다. 이를 위해, 제 1 및 제 2 모드 레지스터들(187, 197)은 제 1 채널(CH1)에 대한 제 1 버스트 랭스 및 제 2 채널(CH2)에 대한 제 2 버스트 랭스를 설정하는 설정값들을 각각 저장할 수 있다.
실시 예에 있어서, SoC(110)는 제 1 채널(CH1)로 할당되는 제 1 메모리 셀 영역(160)의 용량 및 제 2 채널(CH2)로 할당되는 제 2 메모리 셀 영역(170)의 용량을 설정할 수 있다. 예를 들어, SoC(110)는 제 1 채널(CH1)을 통해 MRS 명령(즉, 제 1 메모리 셀 영역(160)의 용량을 설정하는 명령)을 메모리 장치(150)로 전송할 수 있고, 제 2 채널(CH2)을 통해 MRS 명령(즉, 제 2 메모리 셀 영역(170)의 용량을 설정하는 명령)을 메모리 장치(150)로 전송할 수 있다.
메모리 장치(150)는 제 1 및 제 2 모드 레지스터들(187, 197)의 설정값들에 기초하여 제 1 메모리 셀 영역(160)의 용량 및 제 2 메모리 셀 영역(170)의 용량을 설정하거나 이전에 설정된 용량들을 변경할 수 있다. 예를 들어, 표 1에는 설정값들(OP[k], k는 정수)에 따라 제 1 채널(CH1)로 할당된 용량(즉, 제 1 메모리 셀 영역(160)의 용량) 및 제 2 채널(CH2)로 할당된 용량(즉, 제 2 메모리 셀 영역(170)의 용량)이 제공된다.
OP[k] | 제 1 채널(CH1)로 할당된 용량 | 제 2 채널(CH2)로 할당된 용량 |
0 | 960MB | 64MB |
1 | 896MB | 128MB |
2 | 768MB | 256MB |
3 | 512MB | 512MB |
설정값들과 관계없이, 제 1 메모리 셀 영역(160) 및 제 2 메모리 셀 영역(170)을 포함하는 메모리 셀 어레이의 총 용량은, 예를 들어, 1GB일 수 있다. 다만 제 1 메모리 셀 영역(160)의 용량, 제 2 메모리 셀 영역(170)의 용량, 및 제 1 메모리 셀 영역(160) 및 제 2 메모리 셀 영역(170)을 포함하는 메모리 셀 어레이의 용량은 표 1에서 제공된 것에 한정되지 않는다. 제 1 및 제 2 모드 레지스터들(187, 197)은 제 1 메모리 셀 영역(160)의 용량 및 제 2 메모리 셀 영역(170)의 용량을 결정하는 설정값들을 각각 저장할 수 있다.
실시 예에 있어서, 제 1 모드 레지스터(187)의 설정값들에 기초하여, 제 1 로우 디코더(184), 제 1 컬럼 디코더(185), 및 제 1 데이터 버퍼(186)는 제 1 메모리 셀 영역(160)을 접근하기 위한 워드 라인들, 컬럼 선택 라인들, 및 입출력 라인들을 각각 접근할 수 있다. 즉, 제 1 모드 레지스터(187)의 설정값들에 따라, 제 1 로우 디코더(184)에 의해 디코드될 수 있는 로우 어드레스 값의 범위가 결정될 수 있고, 제 1 컬럼 디코더(185)에 의해 디코드될 수 있는 컬럼 어드레스 값의 범위가 결정될 수 있다. 유사하게, 제 2 모드 레지스터(197)의 설정값들에 기초하여, 제 2 로우 디코더(194), 제 2 컬럼 디코더(195), 및 제 2 데이터 버퍼(196)는 제 2 메모리 셀 영역(170)을 접근하기 위한 워드 라인들, 컬럼 선택 라인들, 및 입출력 라인들을 각각 접근할 수 있다.
실시 예에 있어서, 제 1 주변 회로(180) 및 제 2 주변 회로(190)는 SoC(110)의 명령에 응답하여, 제 1 메모리 셀 영역(160)의 데이터를 제 2 메모리 셀 영역(170)으로 복사(copy)하거나 제 2 메모리 셀 영역(170)의 데이터를 제 1 메모리 셀 영역(160)으로 복사할 수 있다. 좀 더 구체적으로, 제 1 위치(165)에 저장된 데이터는 제 1 데이터 버퍼(186) 및 제 2 데이터 버퍼(196)를 거쳐 제 2 위치(175)로 복사될 수 있다. 반대로, 제 2 위치(175)에 저장된 데이터는 제 2 데이터 버퍼(196) 및 제 1 데이터 버퍼(186)를 거쳐 제 1 위치(165)로 복사될 수 있다. 즉, 메모리 장치(150)는 제 1 채널(CH1) 및 제 2 채널(CH2)을 지원할 수 있고, 제 1 채널(CH1)로 할당된 제 1 메모리 셀 영역(160)의 데이터와 제 2 채널(CH2)로 할당된 제 2 메모리 셀 영역(170)의 데이터를 내부적으로 교환할 수 있다.
도 4는 본 발명의 실시 예에 따른 전자 장치의 동작 방법을 예시적으로 보여주는 순서도이다. 도 4는 도 1 내지 도 3을 참조하여 설명될 것이다.
S110 단계에서, SoC(110)는 제 1 채널(CH1)로 제 1 메모리 셀 영역(160)을 할당할 수 있다. SoC(110)는 제 2 채널(CH2)로 제 2 메모리 셀 영역(170)을 할당할 수 있다. SoC(110)는 영역 할당을 위해 연산 코드와 함께 MRS 명령을 메모리 장치(150)로 전송할 수 있다. 좀 더 구체적으로, SoC(110)의 제 1 프로세싱 유닛 그룹(120)은 제 1 채널(CH1)을 통해 연산 코드와 함께 MRS 명령을 제 1 모드 레지스터(187)로 전송할 수 있다. SoC(110)의 제 2 프로세싱 유닛 그룹(130)은 제 2 채널(CH2)을 통해 연산 코드와 함께 MRS 명령을 제 2 모드 레지스터(197)로 전송할 수 있다.
S120 단계에서, 메모리 장치(150)는 S110 단계에서 제 1 및 제 2 모드 레지스터들(187, 197)로 전송된 설정값들에 기초하여 제 1 메모리 셀 영역(160)을 제 1 채널(CH1)로 할당할 수 있고, 제 2 메모리 셀 영역(170)을 제 2 채널(CH2)로 할당할 수 있다. 이 때, 제 1 로우 디코더(184), 제 1 컬럼 디코더(185), 및 제 1 데이터 버퍼(186)는 제 1 메모리 셀 영역(160)을 접근하도록 설정될 수 있다. 유사하게, 제 2 로우 디코더(194), 제 2 컬럼 디코더(195), 및 제 2 데이터 버퍼(196)는 제 2 메모리 셀 영역(170)을 접근하도록 설정될 수 있다. 예를 들어, S110 단계 및 S120 단계는 SoC(110)의 요청에 따라 반복될 수 있다. 즉, 제 1 채널(CH1)로 할당된 제 1 메모리 셀 영역(160)의 일부가 제 2 채널(CH2)로 더 할당될 수 있거나 또는 제 2 채널(CH2)로 할당된 제 2 메모리 셀 영역(170)의 일부가 제 1 채널(CH1)로 더 할당될 수 있다.
S130 단계에서, SoC(110)는 제 1 채널(CH1)에 대한 제 1 버스트 랭스 및 제 2 채널(CH2)에 대한 제 2 버스트 랭스를 설정하기 위해 연산 코드와 함께 MRS 명령을 메모리 장치(150)로 전송할 수 있다. SoC(110)는 S110 단계와 유사한 방식으로 제 1 및 제 2 모드 레지스터들(187, 197)로 제 1 및 제 2 연산 코드들을 전송할 수 있다.
S140 단계에서, 메모리 장치(150)는 S130 단계에서 제 1 및 제 2 모드 레지스터들(187, 197)로 전송된 설정값들에 기초하여 제 1 채널(CH1)에 대한 제 1 버스트 랭스를 설정할 수 있고, 제 2 채널(CH2)에 대한 제 2 버스트 랭스를 설정할 수 있다.
좀 더 구체적으로, 제 1 로우 디코더(184), 제 1 컬럼 디코더(185), 및 제 1 데이터 버퍼(186)는 제 1 모드 레지스터(187)에 설정된 제 1 버스트 랭스에 기초하여 제 1 메모리 셀 영역(160)으로부터 데이터를 프리패치(prefetch)할 수 있다. 유사하게, 제 2 로우 디코더(194), 제 2 컬럼 디코더(195), 및 제 2 데이터 버퍼(196)는 제 2 모드 레지스터(197)에 설정된 제 2 버스트 랭스에 기초하여 제 2 메모리 셀 영역(170)으로부터 데이터를 프리패치(prefetch)할 수 있다.
예를 들어, S130 단계 및 S140 단계는 SoC(110)의 요청에 따라 반복될 수 있다. 그리고, SoC(110)는 S110 단계 및 S130 단계와 유사하게 MRS 명령을 이용하여 제 1 채널(CH1) 및 제 2 채널(CH2)에 대한 메모리 장치(150)의 다양한 동작 모드들을 설정할 수 있다.
S150 단계에서, SoC(110)의 제 1 프로세싱 유닛 그룹(120)은 제 1 채널(CH1)을 통해 제 1 메모리 셀 영역(160)을 접근하기 위한 명령을 메모리 장치(150)로 전송할 수 있다. S160 단계에서, 메모리 장치(150)는 제 1 주변 회로(180)를 이용하여 S150 단계에서 전송된 명령을 처리할 수 있다. 예를 들어, 제 1 주변 회로(180)는 쓰기 데이터를 제 1 메모리 셀 영역(160)에 저장하거나 제 1 메모리 셀 영역(160)으로부터 읽혀진 읽기 데이터를 제 1 채널(CH1)을 통해 제 1 프로세싱 유닛 그룹(120)으로 전송할 수 있다.
S170 단계에서, SoC(110)의 제 2 프로세싱 유닛 그룹(130)은 제 2 채널(CH2)을 통해 제 2 메모리 셀 영역(170)을 접근하기 위한 명령을 메모리 장치(150)로 전송할 수 있다. S180 단계에서, 메모리 장치(150)는 제 2 주변 회로(190)를 이용하여 S170 단계에서 전송된 명령을 처리할 수 있다. 예를 들어, 제 2 주변 회로는 쓰기 데이터를 제 2 메모리 셀 영역(170)에 저장하거나 제 1 메모리 셀 영역(160)으로부터 읽혀진 읽기 데이터를 제 2 채널(CH2)을 통해 제 2 프로세싱 유닛 그룹(130)으로 전송할 수 있다.
실시 예에 있어서, 제 1 프로세싱 유닛 그룹(120)이 제 1 채널(CH1)을 통해 명령을 전송하는 것(S150 단계)과 제 2 프로세싱 유닛 그룹(130)이 제 2 채널(CH2)을 통해 명령을 전송하는 것(S160 단계)은 독립적으로 수행될 수 있다. 또한, 제 1 주변 회로(180)가 제 1 채널(CH1)을 통해 전송된 명령을 처리하는 것(S160 단계)과 제 2 주변 회로(190)가 제 2 채널(CH2)을 통해 전송된 명령을 처리하는 것(S180 단계)도 독립적으로 수행될 수 있다. 예를 들어, 제 1 채널(CH1)을 통해 메모리 장치(150)로 전송된 명령에 기초하는 제 1 데이터 입출력과 제 2 채널(CH2)을 통해 메모리 장치(150)로 전송된 명령에 기초하는 제 2 데이터 입출력은 독립적으로 수행될 수 있다.
도 5는 본 발명의 다른 실시 예에 따른 전자 장치의 동작 방법을 예시적으로 보여주는 순서도이다. 도 5는 도 1 내지 도 3을 참조하여 설명될 것이다.
S210 단계에서, SoC(110)는 제 1 채널(CH1)을 통해 제 1 메모리 셀 영역(160)에서 제 2 메모리 셀 영역(170)으로 데이터를 복사하는 복사 명령을 메모리 장치(150)로 전송할 수 있다. 예를 들어, 복사 명령은 SoC(110)와 메모리 장치(150)간에 사전에 정의된 명령 또는 공급자 특화(vendor-specific) 명령일 수 있다. 실시 예에 있어서, 제 1 프로세싱 유닛 그룹(120)은 제 1 채널(CH1)을 통해 복사 명령 및 타깃 데이터의 어드레스를 전송할 수 있고, 제 1 프로세싱 유닛 그룹(120)은 제 2 채널(CH2)을 통해 제 1 메모리 셀 영역(160)의 타깃 데이터가 제 2 메모리 셀 영역(170)으로 복사되는 위치를 나타내는 어드레스를 메모리 장치(150)로 전송할 수 있다.
S220 단계에서, 메모리 장치(150)는 제 1 채널(CH1)을 통해 전송된 복사 명령 및 어드레스에 기초하여, 제 1 메모리 셀 영역(160)에 저장된 데이터를 제 2 메모리 셀 영역(170)으로 복사할 수 있다. 예를 들어, 제 1 로우 디코더(184) 및 제 1 컬럼 디코더(185)는 제 1 채널(CH1)을 통해 전송된 어드레스에 대응하는 메모리 셀들을 선택할 수 있고, 제 1 데이터 버퍼(186)는 선택된 메모리 셀들로부터 읽혀진 데이터를 제 2 데이터 버퍼(196)로 전송할 수 있다. 그리고, 제 2 로우 디코더(194) 및 제 2 컬럼 디코더(195)는 제 2 채널(CH2)을 통해 전송된 어드레스에 대응하는 메모리 셀들을 선택할 수 있고, 제 2 데이터 버퍼(196)는 제 1 데이터 버퍼(186)로부터 전송된 데이터를 선택된 메모리 셀들로 복사할 수 있다.
S230 단계에서, SoC(110)는 제 2 채널(CH2)을 통해 제 2 메모리 셀 영역(170)에서 제 1 메모리 셀 영역(160)으로 데이터를 복사하는 복사 명령을 메모리 장치(150)로 전송할 수 있다. 실시 예에 있어서, 제 2 프로세싱 유닛 그룹(130)은 제 2 채널(CH2)을 통해 복사 명령 및 타깃 데이터의 어드레스를 전송할 수 있고, 제 2 프로세싱 유닛 그룹(130)은 제 1 채널(CH1)을 통해 제 2 메모리 셀 영역(170)의 타깃 데이터가 제 1 메모리 셀 영역(160)으로 복사되는 위치를 나타내는 어드레스를 메모리 장치(150)로 전송할 수 있다
S240 단계에서, 메모리 장치(150)는 제 2 채널(CH2)을 통해 전송된 복사 명령 및 어드레스에 기초하여, 제 2 메모리 셀 영역(170)에 저장된 데이터를 제 1 메모리 셀 영역(160)으로 복사할 수 있다. 예를 들어, 제 2 로우 디코더(194) 및 제 2 컬럼 디코더(195)는 제 2 채널(CH2)을 통해 전송된 어드레스에 대응하는 메모리 셀들을 선택할 수 있고, 제 2 데이터 버퍼(196)는 선택된 메모리 셀들로부터 읽혀진 데이터를 제 1 데이터 버퍼(186)로 전송할 수 있다. 그리고, 제 1 로우 디코더(184) 및 제 1 컬럼 디코더(185)는 제 1 채널(CH1)을 통해 전송된 어드레스에 대응하는 메모리 셀들을 선택할 수 있고, 제 1 데이터 버퍼(186)는 제 2 데이터 버퍼(196)로부터 전송된 데이터를 선택된 메모리 셀들로 복사할 수 있다.
도 6은 본 발명의 또 다른 실시 예에 따른 전자 장치의 동작 방법을 예시적으로 보여주는 순서도이다. 도 6은 도 1 내지 도 3 및 도 5를 참조하여 설명될 것이다.
S310 단계에서, S210 단계와 유사하게, SoC(110)는 제 1 채널(CH1)을 통해 제 1 메모리 셀 영역(160)에서 제 2 메모리 셀 영역(170)으로 데이터를 복사하는 복사 명령을 메모리 장치(150)로 전송할 수 있다. S210 단계와 달리, 제 1 프로세싱 유닛 그룹(120)은 제 1 메모리 셀 영역(160)의 데이터가 제 2 메모리 셀 영역(170)으로 복사되는 위치를 나타내는 어드레스를 메모리 장치(150)로 전송하지 않을 수 있다.
S320 단계에서, S220 단계와 유사하게, 메모리 장치(150)는 제 1 채널(CH1)을 통해 전송된 복사 명령 및 어드레스에 기초하여, 제 1 메모리 셀 영역(160)에 저장된 데이터를 제 2 메모리 셀 영역(170)으로 복사할 수 있다. S220 단계와 달리, 제 1 메모리 셀 영역(160)에 저장된 데이터는 제 2 메모리 셀 영역(170) 중 데이터가 저장되지 않은 임의의 메모리 셀들에 저장될 수 있다.
S330 단계에서, 메모리 장치(150)는 제 1 채널(CH1) 및 제 2 채널(CH2) 중 하나를 통해 제 2 메모리 셀 영역(170)으로 복사된 데이터의 위치를 나타내는 어드레스를 SoC(110)의 제 1 프로세싱 유닛 그룹(120)으로 전송할 수 있다. 즉, 메모리 장치(150)는 S310 단계에서 수신된 복사 명령에 기초하여 제 1 메모리 셀 영역(160)의 데이터가 제 2 메모리 셀 영역(170)으로 복사되는 위치를 결정할 수 있다.
S340 단계에서, S230 단계와 유사하게, SoC(110)는 제 2 채널(CH2)을 통해 제 2 메모리 셀 영역(170)에서 제 1 메모리 셀 영역(160)으로 데이터를 복사하는 복사 명령을 메모리 장치(150)로 전송할 수 있다. S230 단계와 달리, 제 2 프로세싱 유닛 그룹(130)은 제 2 메모리 셀 영역(170)의 데이터가 제 1 메모리 셀 영역(160)으로 복사되는 위치를 나타내는 어드레스를 메모리 장치(150)로 전송하지 않을 수 있다.
S350 단계에서, S240 단계와 유사하게, 메모리 장치(150)는 제 2 채널(CH2)을 통해 전송된 복사 명령 및 어드레스에 기초하여, 제 2 메모리 셀 영역(170)에 저장된 데이터를 제 1 메모리 셀 영역(160)으로 복사할 수 있다. S240 단계와 달리, 제 2 메모리 셀 영역(170)에 저장된 데이터는 제 1 메모리 셀 영역(160) 중 데이터가 저장되지 않은 임의의 메모리 셀들에 저장될 수 있다.
S360 단계에서, 메모리 장치(150)는 제 1 채널(CH1) 및 제 2 채널(CH2) 중 하나를 통해 제 1 메모리 셀 영역(160)으로 복사된 데이터의 위치를 나타내는 어드레스를 SoC(110)의 제 2 프로세싱 유닛 그룹(130)으로 전송할 수 있다. 즉, 메모리 장치(150)는 S340 단계에서 수신된 복사 명령에 기초하여 제 2 메모리 셀 영역(170)의 데이터가 제 1 메모리 셀 영역(160)으로 복사되는 위치를 결정할 수 있다.
도 7은 본 발명의 다른 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다. 도 7은 도 1 내지 도 3을 참조하여 설명될 것이다. 도 7을 참조하면, 전자 장치(200)는 SoC(210) 및 메모리 장치(250)를 포함할 수 있다. SoC(210)는 도 1 내지 도 6에서 설명된 SoC(110)와 실질적으로 동일하게 구현될 수 있다.
메모리 장치(250)는 제 1 메모리 다이(memory die, 251) 및 제 2 메모리 다이(252)를 포함할 수 있다. 제 1 메모리 다이(251) 및 제 2 메모리 다이(252) 각각은 도 3의 메모리 장치(150)와 실질적으로 동일하게 구현될 수 있고, 제 1 메모리 다이(251) 및 제 2 메모리 다이(252)는 서로 동일하게 구현될 수 있다. 즉, 도 3의 메모리 장치(150)는 메모리 다이가 하나인 경우에 관한 것이고 도 7의 메모리 장치(250)는 메모리 다이들이 둘 이상인 경우에 관한 것이다. 본 발명의 실시 예에 따른 메모리 장치(250)의 메모리 다이들의 수는 도시된 것에 한정되지 않고, SoC(210)가 요구하는 데이터 사이즈 및 저장 용량에 따라 더 증가할 수 있다.
제 1 메모리 다이(251)는 제 1 메모리 셀 영역(261), 제 2 메모리 셀 영역(271), 제 1 주변 회로(281), 및 제 2 주변 회로(291)를 포함할 수 있다. 제 2 메모리 다이(252)는 제 1 메모리 셀 영역(262), 제 2 메모리 셀 영역(272), 제 1 주변 회로(282), 및 제 2 주변 회로(292)를 포함할 수 있다. 주변 회로들(281, 291, 282, 292)은 제 1 내지 제 4 채널들(CH1~CH4)을 통해 SoC(210)로부터 명령들을 각각 수신할 수 있고, 명령들의 처리 결과들을 SoC(210)로 각각 전송할 수 있다.
좀 더 구체적으로, 제 1 주변 회로(281)는 제 1 채널(CH1)을 통해 SoC(210)의 제 1 프로세싱 유닛 그룹으로부터 제 1 명령/어드레스(CMD1/ADD1)를 수신하고, 제 1 데이터 입출력 신호들(DQ1<1:m>)을 교환할 수 있다. 유사하게, 제 1 주변 회로(282)는 제 3 채널(CH3)을 통해 SoC(210)의 제 1 프로세싱 유닛 그룹으로부터 제 3 명령/어드레스(CMD3/ADD3)를 수신하고, 제 3 데이터 입출력 신호들(DQ3<1:m>)을 교환할 수 있다.
제 2 주변 회로(291)는 제 2 채널(CH2)을 통해 SoC(210)의 제 2 프로세싱 유닛 그룹으로부터 제 2 명령/어드레스(CMD2/ADD2)를 수신하고, 제 2 데이터 입출력 신호들(DQ2<1:n>)을 교환할 수 있다. 유사하게, 제 2 주변 회로(292)는 제 4 채널(CH4)을 통해 SoC(210)의 제 2 프로세싱 유닛 그룹으로부터 제 4 명령/어드레스(CMD4/ADD4)를 수신하고, 제 4 데이터 입출력 신호들(DQ4<1:m>)을 교환할 수 있다.
제 1 메모리 다이(251) 및 제 2 메모리 다이(252)를 포함하는 메모리 장치(250)는 다양한 반도체 패키지를 이용하여 구현될 수 있다. 예를 들어, 반도체 패키지는 PoP(package on package), BGAs(ball grid arrays), CSPs(chip scale packages), PLCC(plastic leaded chip carrier), PDIP(plastic dual in-line package), Die in Waffle Pack, Die in Wafer Form, COB(chip on board), CERDIP(ceramic dual in-line package), MQFP(metric quad flat pack), TQFP(thin quad flat pack), SOIC(small outline integrated circuit), SSOP(shrink small outline package), TSOP(thin small outline package), SIP(system in package), MCP(multi chip package), WFP(wafer-level fabricated package), WSP(wafer-level processed stack package) 등을 포함할 수 있다. 또한, SoC(210)도 위와 같은 다양한 반도체 패키지를 이용하여 구현될 수도 있다.
도 8은 본 발명의 또 다른 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다. 도 8은 도 1 내지 도 3을 참조하여 설명될 것이다. 도 8을 참조하면, 전자 장치(300)는 SoC(310), 기판(348), 및 메모리 장치(350)를 포함할 수 있다.
SoC(310)는 기판(348)의 일면에 배치될 수 있고, SoC(310)의 일면에는 솔더 볼(solder ball) 또는 범프(bump)가 배치될 수 있다. 솔더 볼 또는 범프를 통해 SoC(310)와 기판(348)이 서로 전기적으로 연결될 수 있다. SoC(310)는 도 1 내지 도 6에서 설명된 SoC(110)와 실질적으로 동일하게 구현될 수 있다..
기판(348)은 SoC(310)와 메모리 장치(350)간의 입출력 경로를 제공할 수 있다. 예를 들어, 기판(348)은 인쇄 회로 기판, 연성 회로 기판, 세라믹 기판, 또는 인터포저(interposer)일 수 있다. 기판(348)이 인터포저인 경우, 기판(348)은 실리콘 웨이퍼를 이용하여 구현될 수 있다. 기판(348)의 내부에는 다수의 배선들이 구현될 수 있다.
기판(348)은 도 1 내지 도 3에서 전술한 제 1 채널(CH1) 및 제 2 채널(CH2)을 위한 배선들을 제공할 수 있다. 도 8을 참조하면, 제 1 채널(CH1)을 형성하는 배선들과 제 2 채널(CH2)을 형성하는 배선들이 도시되어 있다. 전술한대로, 제 2 채널(CH2)의 대역폭과 제 1 채널(CH1)의 대역폭은 서로 상이할 수 있다. 예를 들어, 도 8을 참조하면, 제 2 채널(CH2)의 대역폭은 제 1 채널(CH1)의 대역폭보다 높을 수 있고, 제 2 채널(CH2)을 형성하는 배선들의 수는 제 1 채널(CH1)을 형성하는 배선들의 수와 같거나 보다 많을 수 있다.
다만, 도 8에서 도시된 배선들의 수, 제 1 채널(CH1)의 배선들의 수, 제 2 채널(CH2)의 배선들의 수는 예시적인 것에 불과하다. 그리고, 기판(348)의 배선들은 세 개 이상의 채널들을 형성할 수도 있다.
메모리 장치(350)는 수직 방향으로 적층된 다수의 메모리 다이들을 포함할 수 있다. 예를 들어, 메모리 장치(350)는 고대역폭을 제공하는 HBM 장치일 수 있다. 메모리 장치(350)는 SoC(310)가 배치된 기판(348)의 일면에 배치될 수 있다. 메모리 장치(350)의 일면에는 솔더볼 또는 범프가 배치될 수 있다. 솔더볼 또는 범프를 통해 메모리 장치(350)와 기판(348)이 서로 전기적으로 연결될 수 있다. 도 8을 참조하면, 메모리 장치(350)는 제 1 및 제 2 메모리 다이들(351, 352), 버퍼 다이(353), 및 관통 전극(through silicon via; TSV)들을 포함할 수 있다.
관통 전극들은 제 1 및 제 2 메모리 다이들(351, 352) 그리고 버퍼 다이(353)간의 전기적 경로들을 제공할 수 있다. 제 1 및 제 2 메모리 다이들(351, 352) 그리고 버퍼 다이(353)는 관통 전극들에 의하여 서로 전기적으로 연결될 수 있다. 예를 들어, 관통 전극들의 수는 수백 내지 수천 개일 수 있고, 관통 전극들은 매트리스 배열로 배치될 수 있다.
제 1 메모리 다이(351)는 제 1 메모리 셀 영역(361), 제 2 메모리 셀 영역(371), 제 1 주변 회로(381), 및 제 2 주변 회로(391)를 포함할 수 있다. 그리고, 제 1 메모리 다이(351)는 관통 전극들이 배치되는 영역을 포함할 수 있다. 제 1 메모리 셀 영역(361), 제 2 메모리 셀 영역(371), 제 1 주변 회로(381), 및 제 2 주변 회로(391)는 관통 전극들이 배치되는 영역을 중심으로 나뉘어져 배치될 수 있다.
제 1 주변 회로(381)는 SoC(310)로부터 기판(348)의 제 1 채널(CH1), 버퍼 다이(353), 및 관통 전극들을 통해 전송된 명령에 응답하여, 제 1 메모리 셀 영역(361)을 접근할 수 있다. 제 1 주변 회로(381)는 SoC(310)로부터 기판(348)의 제 1 채널(CH1), 버퍼 다이(353), 및 관통 전극들을 통해 전송된 데이터를 제 1 메모리 셀 영역(361)에 저장하거나 제 1 메모리 셀 영역(361)에 저장된 데이터를 관통 전극들, 버퍼 다이(353), 및 기판(348)의 제 1 채널(CH1)을 통해 SoC(310)로 전송할 수 있다. 제 2 주변 회로(391)도 제 1 주변 회로(381)와 유사한 방식으로 SoC(310)와 통신할 수 있으나, 제 2 주변 회로(391)는 제 1 채널(CH1)이 아닌 제 2 채널(CH2)을 통해 SoC(310)와 통신할 수 있다.
도 3에서 전술한대로, 제 1 메모리 셀 영역(361)의 용량 및 제 2 메모리 셀 영역(371)의 용량은 서로 상이할 수 있고, 제 1 주변 회로(381)의 접근 속도 및 제 2 주변 회로(391)의 접근 속도는 서로 상이할 수 있다. 예를 들어, 도 8을 참조하면, 제 2 메모리 셀 영역(371)의 용량이 제 1 메모리 셀 영역(361)의 용량보다 낮은 대신에 제 2 주변 회로(391)의 접근 속도가 제 1 주변 회로(381)의 접근 속도보다 높을 수 있다. 제 1 주변 회로(381)의 구성 요소들 및 제 2 주변 회로(391)의 구성 요소들은 도 3의 제 1 주변 회로(180)의 구성 요소들 및 제 2 주변 회로(190)의 구성 요소들과 각각 유사할 수 있다.
제 2 메모리 다이(352)는 제 1 메모리 다이(351)와 동일하게 구현될 수 있다. 도 8에서, 메모리 장치(350)는 두 개의 메모리 다이들(351, 352)을 포함하는 것으로 도시되었으나, 메모리 장치(350)에는 더 많은 메모리 다이들이 적층될 수 있다.
실시 예에 있어서, SoC(310)는 제 1 및 제 2 메모리 다이들(351, 352)의 동작 모드들 그리고 제 1 및 제 2 메모리 셀 영역들의 용량들을 동일하게 혹은 독립적으로 설정할 수 있다. 예를 들어, SoC(310)의 설정에 따라, 제 1 메모리 다이(351)의 제 1 메모리 셀 영역(361)의 용량 및 제 2 메모리 다이(352)의 제 1 메모리 셀 영역의 용량은 서로 동일하거나 상이할 수 있다. 유사하게, 제 1 메모리 다이(351)의 제 2 메모리 셀 영역(371)의 용량 및 제 2 메모리 다이(352)의 제 2 메모리 셀 영역의 용량도 서로 동일하거나 상이할 수 있다.
버퍼 다이(353)는 관통 전극들을 통해 제 1 및 제 2 메모리 다이들(351, 352)을 구동하기 위한 회로들을 포함할 수 있다. 버퍼 다이(353)는 관통 전극들을 통해 명령, 어드레스, 데이터 등을 제 1 및 제 2 메모리 다이들(351, 352)로 전송할 수 있고 그리고 제 1 및 제 2 메모리 다이들(351, 352)로부터 관통 전극들을 통해 데이터를 수신할 수 있다. 예를 들어, 버퍼 다이(353)는 로직 다이(logic die) 또는 컨트롤러 다이(controller die)로 지칭될 수 있다.
실시 예에 있어서, 도시되진 않았지만, 버퍼 다이(353)는 제 1 메모리 다이(351)와 유사하게, 제 1 메모리 셀 영역, 제 2 메모리 셀 영역, 제 1 주변 회로, 및 제 2 주변 회로를 더 포함할 수 있다. 즉, 버퍼 다이(353)도 제 1 채널로 할당되는 제 1 메모리 셀 영역 및 제 2 채널로 할당되는 제 2 메모리 셀 영역을 SoC(310)의 제 1 프로세싱 유닛 그룹 및 제 2 프로세싱 유닛 그룹에 각각 제공할 수 있다.
도 9는 본 발명의 또 다른 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다. 전자 장치(1000)는 MIPI(mobile industry processor interface) 연합(alliance)에 의해 제안된 인터페이스들을 이용하거나 지원할 수 있는 전자 장치로 구현될 수 있다. 예를 들어, 전자 장치(1000)는 서버, 컴퓨터, 스마트폰, 태블릿(tablet), PDA(personal digital assistant), 디지털 카메라(digital camera), PMP(portable multimedia player), 웨어러블(wearable) 장치, 사물 인터넷(internet of things; IoT) 장치 등 중 하나일 수 있으나, 이에 한정되지 않는다.
전자 장치(1000)는 SoC(1100) 및 메모리 장치(1500)를 포함할 수 있다. SoC(1100)는 제 1 프로세싱 유닛 그룹(1120) 및 제 2 프로세싱 유닛 그룹(1130)을 포함할 수 있고, 도 1 내지 도 7에서 전술한 SoC들(110, 210, 310)과 실질적으로 동일하게 구현될 수 있다. 메모리 장치(1500)는 제 1 메모리 셀 영역(1560) 및 제 2 메모리 셀 영역(1570)을 포함할 수 있고, 도 1 내지 도 7에서 전술한 메모리 장치들(150, 250, 350)과 실질적으로 동일하게 구현될 수 있다.
전자 장치(1000)는 SoC(1100)와 통신하는 디스플레이(1710)를 포함할 수 있다. SoC(1100)는 DSI(display serial interface)에 따라 DSI 장치(1715)와 통신할 수 있다. 예를 들어, DSI 장치(1715)에는 광 디시리얼라이저(DES)가 구현될 수 있다.
전자 장치(1000)는 SoC(1100)와 통신하는 이미지 센서(1720)를 포함할 수 있다. SoC(1100)는 CSI(camera serial interface)에 따라 CSI 장치(1725)와 통신할 수 있다. 예를 들어, CSI 장치(1725)에는 광 시리얼라이저(SER)가 구현될 수 있다.
전자 장치(1000)는 SoC(1100)와 통신하는 RF(radio frequency) 칩(1730)을 더 포함할 수 있다. RF 칩(1730)은 물리 계층(1731), DigRF 슬레이브(1732), 및 안테나(1733)를 포함할 수 있다. 예를 들어, RF 칩(1730)의 물리 계층(1731)과 SoC(1100)는 MIPI 연합에 의해 제안된 DigRF 인터페이스에 의해 서로 데이터를 교환할 수 있다.
전자 장치(1000)는 임베디드/카드 스토리지(1740)를 더 포함할 수 있다. 임베디드/카드 스토리지(1740)는 SoC(1100)로부터 제공된 데이터를 저장할 수 있고, 메모리 장치(1500)로부터 제공된 데이터를 영구적으로 저장할 수 있다. 전자 장치(1000)는 WiMax(worldwide interoperability for microwave access, 1750), WLAN(wireless local area network, 1760), UWB(ultra wide band, 1770) 등을 통해 외부 시스템과 통신할 수 있다.
전자 장치(1000)에는 도 9에서 도시된 구성 요소들 이외에 다른 구성 요소들(예를 들면, 스피커, 마이크, GPS, 등)을 더 포함할 수 있다. 전자 장치(1000)이 지원해야 하는 기능들이 증가할수록, 전자 장치(1000)의 제한된 면적에 많은 구성 요소들을 배치해야 한다. 본 발명의 실시 예에 따르면, SoC(1100)는 전송 속도들 및 대역폭들이 서로 다른 여러 메모리 장치들과 통신하는 대신에, 적어도 두 개의 채널들을 통해 하나의 메모리 장치(1500)와 통신할 수 있다. 메모리 장치(1500)는 전송 속도들 및 대역폭들이 서로 다른 여러 메모리 영역들을 제공할 수 있다. 따라서, 전자 장치(1000)의 면적 및 비용이 감소할 수 있다.
위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 상술한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.
100: 전자 장치;
110: SoC;
120, 130: 제 1 및 제 2 프로세싱 유닛 그룹들;
150: 메모리 장치;
160, 170: 제 1 및 제 2 메모리 셀 영역들;
110: SoC;
120, 130: 제 1 및 제 2 프로세싱 유닛 그룹들;
150: 메모리 장치;
160, 170: 제 1 및 제 2 메모리 셀 영역들;
Claims (10)
- 메모리 장치; 및
SoC(system on chip)를 포함하되,
상기 메모리 장치는:
제 1 채널로 할당된 제 1 메모리 셀 영역;
제 2 채널로 할당된 제 2 메모리 셀 영역;
상기 제 1 메모리 셀 영역의 제 1 워드 라인을 선택하도록 구성된 제 1 로우 디코더;
상기 제 1 메모리 셀 영역의 제 1 컬럼 선택 라인을 선택하도록 구성된 제 1 컬럼 디코더;
상기 제 2 메모리 셀 영역의 제 2 워드 라인을 선택하도록 구성된 제 2 로우 디코더; 및
상기 제 2 메모리 셀 영역의 제 2 컬럼 선택 라인을 선택하도록 구성된 제 2 컬럼 디코더를 포함하고,
상기 SoC는 제 1 프로세싱 유닛 및 제 2 프로세싱 유닛을 포함하고, 상기 제 1 프로세싱 유닛은 상기 제 1 채널을 통해 상기 메모리 장치로 상기 제 1 메모리 셀 영역에 접근하기 위한 제 1 명령을 전송하도록 구성되고, 그리고 상기 제 2 프로세싱 유닛은 상기 제 2 채널을 통해 상기 메모리 장치로 상기 제 2 메모리 셀 영역에 접근하기 위한 제 2 명령을 전송하도록 구성되고,
상기 메모리 장치는 상기 제 1 채널이 제 1 대역폭을 가지고, 상기 제 2 채널은 제 2 대역폭을 가지고, 그리고 상기 제 1 및 제 2 대역폭들은 서로 상이하도록 구성된 전자 장치. - 제 1 항에 있어서,
상기 메모리 장치는:
상기 SoC 및 상기 제 1 메모리 셀 영역 사이에 교환되는 제 1 데이터가 상기 제 1 채널을 통하여 입력되거나 출력되도록 구성되는 제 1 데이터 입출력 핀들; 및
상기 SoC와 상기 제 2 메모리 셀 영역 사이에 교환되는 제 2 데이터가 상기 제 2 채널을 통하여 입력되거나 출력되도록 구성되는 제 2 데이터 입출력 핀들을 더 포함하는 전자 장치. - 제 2 항에 있어서,
상기 제 2 채널의 상기 제 2 대역폭은 상기 제 1 채널의 상기 제 1 대역폭보다 높고, 그리고
상기 제 2 데이터 입출력 핀들의 수는 상기 제 1 데이터 입출력 핀들의 수보다 많은 전자 장치. - 제 2 항에 있어서,
상기 제 2 채널의 상기 제 2 대역폭은 상기 제 1 채널의 상기 제 1 대역폭보다 높고, 그리고
상기 메모리 장치는 상기 제 2 데이터 입출력 핀들을 통해 상기 제 2 데이터가 전송되는 전송 속도는 상기 제 1 데이터 입출력 핀들을 통해 상기 제 1 데이터가 전송되는 전송 속도보다 높도록 구성되는 전자 장치. - 제 1 항에 있어서,
상기 제 1 프로세싱 유닛은 CPU(Central Processing Unit), ISP(Image Signal Processing unit), 및 DSP(Digital Signal Processing unit) 중 하나인 전자 장치. - 제 1 항에 있어서,
상기 제 2 프로세싱 유닛은 GPU(Graphics Processing Unit), VPU(Vision Processing Unit), 및 NPU(Neural Processing Unit) 중 하나인 전자 장치. - 제 1 항에 있어서,
상기 SoC는 상기 제 1 메모리 셀 영역의 용량 및 상기 제 2 메모리 셀 영역의 용량을 설정하는 설정 명령들을 상기 메모리 장치로 전송하도록 구성된 전자 장치. - 제 1 항에 있어서,
상기 SoC는 상기 제 1 메모리 셀 영역에서 상기 제 2 메모리 셀 영역으로 데이터가 복사되거나 상기 제 2 메모리 셀 영역에서 상기 제 1 메모리 셀 영역으로 데이터가 복사되도록, 상기 제 1 채널 또는 상기 제 2 채널을 통해 상기 메모리 장치로 복사 명령을 전송하도록 더 구성되는 전자 장치. - 제 1 메모리 셀 영역 및 제 2 메모리 셀 영역을 포함하는 메모리 셀 어레이;
SoC(System on Chip)로부터 제 1 채널을 통해 전송된 제 1 명령에 응답하여, 상기 제 1 메모리 셀 영역을 접근하도록 구성된 제 1 주변 회로; 및
상기 SoC로부터 제 2 채널을 통해 전송된 제 2 명령에 응답하여, 상기 제 2 메모리 셀 영역을 접근하도록 구성된 제 2 주변 회로를 포함하되,
상기 제 1 주변 회로는 제 1 데이터 입출력 핀들을 포함하고, 상기 제 1 주변 회로는 상기 제 1 데이터 입출력 핀들을 통해 상기 제 1 데이터를 입력 또는 출력함으로써 상기 SoC와 제1 데이터를 교환하도록 구성되고,
상기 제 2 주변 회로는 제 2 데이터 입출력 핀들을 포함하고, 상기 제 2 주변 회로는 상기 제 2 데이터 입출력 핀들을 통해 상기 제 2 데이터를 입력 또는 출력함으로써 상기 SoC와 제 2 데이터를 교환하도록 구성되고,
상기 제 1 주변 회로 및 상기 제 2 주변 회로는 상기 제 1 채널이 제 1 대역폭을 가지고, 상기 제 2 채널이 제 2 대역폭을 가지고, 그리고 상기 제 1 및 제 2 대역폭들은 서로 상이하도록 구성되고,
상기 제 1 주변 회로는 상기 제 1 메모리 셀 영역의 제 1 워드 라인을 선택하도록 구성된 제 1 로우 디코더 및 상기 제 1 메모리 셀 영역의 제 1 컬럼 선택 라인을 선택하도록 구성된 제 1 컬럼 디코더를 더 포함하고, 그리고
상기 제 2 주변 회로는 상기 제 2 메모리 셀 영역의 제 2 워드 라인을 선택하도록 구성된 제 2 로우 디코더 및 상기 제 1 메모리 셀 영역의 제 2 컬럼 선택 라인을 선택하도록 구성된 제 2 컬럼 디코더를 더 포함하는 메모리 장치. - 제 9 항에 있어서,
상기 제 1 주변 회로 및 상기 제 2 주변 회로는 상기 제 2 대역폭이 상기 제 1 대역폭보다 높도록 구성되고, 그리고
상기 제 2 메모리 셀 영역의 용량은 상기 제 1 메모리 셀 영역의 용량보다 작은 메모리 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170161959A KR102387977B1 (ko) | 2017-11-29 | 2017-11-29 | 적어도 두 개의 채널들을 통해 시스템 온 칩과 통신하는 메모리 장치, 이를 포함하는 전자 장치, 그리고 전자 장치의 동작 방법 |
US16/006,082 US10474593B2 (en) | 2017-11-29 | 2018-06-12 | Memory device communicating with system on chip through at least two channels, electronic device including the same, and operating method of electronic device |
CN201811293828.5A CN109840223B (zh) | 2017-11-29 | 2018-11-01 | 存储器装置、包括其的电子装置和电子装置的操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170161959A KR102387977B1 (ko) | 2017-11-29 | 2017-11-29 | 적어도 두 개의 채널들을 통해 시스템 온 칩과 통신하는 메모리 장치, 이를 포함하는 전자 장치, 그리고 전자 장치의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190063112A KR20190063112A (ko) | 2019-06-07 |
KR102387977B1 true KR102387977B1 (ko) | 2022-04-19 |
Family
ID=66633225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170161959A KR102387977B1 (ko) | 2017-11-29 | 2017-11-29 | 적어도 두 개의 채널들을 통해 시스템 온 칩과 통신하는 메모리 장치, 이를 포함하는 전자 장치, 그리고 전자 장치의 동작 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10474593B2 (ko) |
KR (1) | KR102387977B1 (ko) |
CN (1) | CN109840223B (ko) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10761773B2 (en) * | 2018-04-02 | 2020-09-01 | Micron Technology, Inc. | Resource allocation in memory systems based on operation modes |
CN110945652A (zh) | 2019-04-15 | 2020-03-31 | 长江存储科技有限责任公司 | 堆叠三维异质存储器件及其形成方法 |
CN112069085B (zh) * | 2019-06-10 | 2023-06-02 | 苏州库瀚信息科技有限公司 | 双模式闪存控制器和双模式存储器通信的系统、方法 |
US11016766B2 (en) | 2019-06-29 | 2021-05-25 | Intel Corporation | Apparatus and method for compiler hints for inter-core offload |
US11030000B2 (en) | 2019-06-29 | 2021-06-08 | Intel Corporation | Core advertisement of availability |
US11372711B2 (en) | 2019-06-29 | 2022-06-28 | Intel Corporation | Apparatus and method for fault handling of an offload transaction |
US11321144B2 (en) * | 2019-06-29 | 2022-05-03 | Intel Corporation | Method and apparatus for efficiently managing offload work between processing units |
US11182208B2 (en) | 2019-06-29 | 2021-11-23 | Intel Corporation | Core-to-core start “offload” instruction(s) |
US10929129B2 (en) | 2019-06-29 | 2021-02-23 | Intel Corporation | Apparatus and method for modifying addresses, data, or program code associated with offloaded instructions |
US10983796B2 (en) | 2019-06-29 | 2021-04-20 | Intel Corporation | Core-to-core end “offload” instruction(s) |
EP4081889A4 (en) * | 2019-12-26 | 2023-05-31 | Micron Technology, Inc. | HOST TECHNIQUES FOR STACKED STORAGE SYSTEMS |
KR20210095009A (ko) * | 2020-01-21 | 2021-07-30 | 삼성전자주식회사 | 고속 및 저전력으로 데이터를 송수신하는 메모리 장치 |
WO2021159412A1 (zh) * | 2020-02-13 | 2021-08-19 | 华为技术有限公司 | 一种存储器、网络设备及数据访问方法 |
CN111427836B (zh) * | 2020-06-11 | 2020-11-13 | 杭州万高科技股份有限公司 | 一种总线资源配置调整的异构多核处理器 |
KR20220032366A (ko) | 2020-09-07 | 2022-03-15 | 삼성전자주식회사 | 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법 |
JP2022049405A (ja) * | 2020-09-16 | 2022-03-29 | キオクシア株式会社 | 記憶装置および制御方法 |
US11567868B2 (en) * | 2020-11-13 | 2023-01-31 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for copying data within memory device, memory device, and electronic device thereof |
CN112614525B (zh) * | 2020-12-16 | 2023-12-29 | 中国科学院上海微系统与信息技术研究所 | 一种提高电阻一致性的低功耗相变存储器写驱动电路 |
KR102484914B1 (ko) * | 2021-11-23 | 2023-01-06 | (주)글루시스 | 가상화 환경에서 데이터를 저장하는 방법 |
CN117389459A (zh) * | 2022-06-29 | 2024-01-12 | 华为技术有限公司 | 存储器、芯片堆叠结构、芯片封装结构及电子设备 |
CN115712594B (zh) * | 2023-01-09 | 2023-04-11 | 苏州浪潮智能科技有限公司 | 一种通道分配方法、装置、一种存储系统及设备和介质 |
US20240282361A1 (en) * | 2023-02-20 | 2024-08-22 | Nanya Technology Corporation | Semiconductor device and method for manufacturing the same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150081989A1 (en) | 2013-09-13 | 2015-03-19 | Sung Hyun Lee | Semiconductor devices including application processor connected to high-bandwidth memory and low-bandwidth memory, and channel interleaving method thereof |
US20170285941A1 (en) | 2016-04-01 | 2017-10-05 | Intel Corporation | Read delivery for memory subsystem with narrow bandwidth repeater channel |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961269B2 (en) | 2003-06-24 | 2005-11-01 | Micron Technology, Inc. | Memory device having data paths with multiple speeds |
US7613883B2 (en) * | 2006-03-10 | 2009-11-03 | Rambus Inc. | Memory device with mode-selectable prefetch and clock-to-core timing |
KR20100100395A (ko) | 2009-03-06 | 2010-09-15 | 삼성전자주식회사 | 복수의 프로세서를 포함하는 메모리 시스템 |
US8918594B2 (en) | 2010-11-16 | 2014-12-23 | Micron Technology, Inc. | Multi-interface memory with access control |
US8713234B2 (en) | 2011-09-29 | 2014-04-29 | Intel Corporation | Supporting multiple channels of a single interface |
US9092327B2 (en) | 2012-12-10 | 2015-07-28 | Qualcomm Incorporated | System and method for allocating memory to dissimilar memory devices using quality of service |
KR102161448B1 (ko) | 2014-02-03 | 2020-10-05 | 삼성전자 주식회사 | 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법 |
US20150286529A1 (en) | 2014-04-08 | 2015-10-08 | Micron Technology, Inc. | Memory device having controller with local memory |
US9891842B2 (en) | 2015-09-08 | 2018-02-13 | Micron Technology, Inc. | Searching data in parallel using processor-in-memory devices |
US10268416B2 (en) | 2015-10-28 | 2019-04-23 | Advanced Micro Devices, Inc. | Method and systems of controlling memory-to-memory copy operations |
-
2017
- 2017-11-29 KR KR1020170161959A patent/KR102387977B1/ko active IP Right Grant
-
2018
- 2018-06-12 US US16/006,082 patent/US10474593B2/en active Active
- 2018-11-01 CN CN201811293828.5A patent/CN109840223B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150081989A1 (en) | 2013-09-13 | 2015-03-19 | Sung Hyun Lee | Semiconductor devices including application processor connected to high-bandwidth memory and low-bandwidth memory, and channel interleaving method thereof |
US20170285941A1 (en) | 2016-04-01 | 2017-10-05 | Intel Corporation | Read delivery for memory subsystem with narrow bandwidth repeater channel |
Also Published As
Publication number | Publication date |
---|---|
CN109840223A (zh) | 2019-06-04 |
US20190163650A1 (en) | 2019-05-30 |
CN109840223B (zh) | 2023-12-12 |
KR20190063112A (ko) | 2019-06-07 |
US10474593B2 (en) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102387977B1 (ko) | 적어도 두 개의 채널들을 통해 시스템 온 칩과 통신하는 메모리 장치, 이를 포함하는 전자 장치, 그리고 전자 장치의 동작 방법 | |
US10410685B2 (en) | Memory device for performing internal process and operating method thereof | |
US10002668B2 (en) | Memory device, memory module, and memory system | |
CN109074851B (zh) | 利用额外系统位的内部错误校验和校正(ecc) | |
US10482947B2 (en) | Integrated error checking and correction (ECC) in byte mode memory devices | |
KR102453542B1 (ko) | 스킵 연산 모드를 지원하는 메모리 장치 및 그 동작 방법 | |
US8817549B2 (en) | Integrated circuit memory device | |
KR102482896B1 (ko) | 이종 휘발성 메모리 칩들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치 | |
US20160181214A1 (en) | Stacked memory chip having reduced input-output load, memory module and memory system including the same | |
KR102501147B1 (ko) | 메모리에서 에러 체킹 및 정정 코드의 확장된 적용 | |
US10109344B2 (en) | Semiconductor memory devices with banks with different numbers of memory cells coupled to their bit-lines and memory systems including the same | |
US11276459B2 (en) | Memory die including local processor and global processor, memory device, and electronic device | |
US11301399B2 (en) | Memory device including processing circuit, and electronic device including system on chip and memory device | |
US11599458B2 (en) | Stacked memory device and operating method thereof | |
JP2021111333A (ja) | 不揮発性メモリの自動インクリメント書き込みカウント | |
US20240304234A1 (en) | Memory device and method of controlling row hammer | |
US20220012126A1 (en) | Translation cache and configurable ecc memory for reducing ecc memory overhead | |
TWI757300B (zh) | 用於執行內部程序之記憶體裝置及其操作方法 | |
US10304814B2 (en) | I/O layout footprint for multiple 1LM/2LM configurations | |
US20230333928A1 (en) | Storage and access of metadata within selective dynamic random access memory (dram) devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |